:root {
  --lc-navy: #0b2c68;
  --lc-blue: #1354ad;
  --lc-blue-soft: #eaf1fb;
  --lc-gold: #f4b51d;
  --lc-ink: #182436;
  --lc-muted: #617087;
  --lc-line: #dbe3ef;
  --lc-paper: #ffffff;
  --lc-wash: #f6f9fd;
}

.longchi-blog-page .entry-header,
.longchi-blog-page .entry-content > .wp-block-spacer,
.longchi-blog-page .entry-content > p:empty { display: none; }
.longchi-blog-page .entry-content { margin: 0; }
.longchi-blog-page .site-content > .ast-container { max-width: none; padding-left: 0; padding-right: 0; }
.longchi-blog-page .content-area { width: 100%; margin: 0; }
.longchi-blog-article .site-content > .ast-container { display: block; max-width: none; padding-left: 0; padding-right: 0; }
.longchi-blog-article .site-content .content-area,
.longchi-blog-article .site-content .site-main { float: none; margin: 0; padding: 0; width: 100%; }

.lc-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.lc-blog-hero,
.lc-article-hero { background: radial-gradient(circle at 80% 0%, rgba(38, 117, 223, .64) 0, transparent 34%), linear-gradient(120deg, #061b42 0%, #0b2c68 54%, #124b9a 100%); color: #fff; overflow: hidden; position: relative; }
.lc-blog-hero:after,
.lc-article-hero:after { content: ''; position: absolute; width: 480px; height: 480px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; right: -140px; bottom: -310px; box-shadow: 0 0 0 62px rgba(255,255,255,.035), 0 0 0 124px rgba(255,255,255,.025); pointer-events: none; }
.lc-blog-hero .lc-shell { padding: 64px 0 72px; position: relative; z-index: 1; }
.lc-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.5; margin-bottom: 36px; }
.lc-breadcrumb a { color: rgba(255,255,255,.86); text-decoration: none; }
.lc-breadcrumb a:hover { color: #fff; text-decoration: underline; }
.lc-breadcrumb strong { color: #fff; font-weight: 600; max-width: 420px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lc-eyebrow,
.lc-kicker { color: var(--lc-gold); letter-spacing: .13em; font-size: 12px; line-height: 1.25; font-weight: 800; margin: 0 0 14px; text-transform: uppercase; }
.lc-blog-hero h1 { font-size: clamp(44px, 5.5vw, 70px); line-height: 1.04; letter-spacing: -.04em; margin: 0 0 14px; color: #fff; }
.lc-blog-hero .lc-shell > p:last-child { max-width: 650px; margin: 0; color: rgba(255,255,255,.79); font-size: 18px; line-height: 1.65; }

.lc-blog-library { background: var(--lc-paper); padding: 78px 0 88px; }
.lc-library-heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(240px, .65fr); gap: 48px; align-items: end; margin-bottom: 32px; }
.lc-library-heading h2 { color: var(--lc-ink); font-size: clamp(30px, 3vw, 44px); line-height: 1.14; letter-spacing: -.035em; margin: 0; }
.lc-library-heading > p { color: var(--lc-muted); font-size: 16px; line-height: 1.7; margin: 0 0 4px; }
.lc-category-tabs { display: flex; flex-wrap: wrap; gap: 10px; border-bottom: 1px solid var(--lc-line); padding-bottom: 28px; margin-bottom: 36px; }
.lc-category-tabs a { border: 1px solid #d6dfed; border-radius: 999px; color: #455670; font-size: 13px; font-weight: 700; line-height: 1.3; padding: 10px 15px; text-decoration: none; transition: .2s ease; }
.lc-category-tabs a:hover,
.lc-category-tabs a.is-active { background: var(--lc-navy); border-color: var(--lc-navy); color: #fff; }
.lc-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.lc-blog-card { background: #fff; border: 1px solid var(--lc-line); display: flex; flex-direction: column; min-height: 100%; overflow: hidden; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.lc-blog-card:hover { border-color: #c5d5ed; box-shadow: 0 16px 34px rgba(16, 55, 112, .12); transform: translateY(-5px); }
.lc-card-image { aspect-ratio: 16 / 9; background: #dce5f2; display: block; overflow: hidden; }
.lc-card-image img { display: block; height: 100%; object-fit: cover; width: 100%; transition: transform .45s ease; }
.lc-blog-card:hover .lc-card-image img { transform: scale(1.045); }
.lc-card-body { display: flex; flex: 1; flex-direction: column; padding: 25px 25px 23px; }
.lc-card-category { color: var(--lc-blue); font-size: 11px; font-weight: 800; letter-spacing: .08em; margin: 0 0 12px; text-transform: uppercase; }
.lc-card-body h3 { font-size: 21px; letter-spacing: -.02em; line-height: 1.3; margin: 0 0 12px; }
.lc-card-body h3 a { color: var(--lc-ink); text-decoration: none; }
.lc-card-body h3 a:hover { color: var(--lc-blue); }
.lc-card-excerpt { color: var(--lc-muted); font-size: 14px; line-height: 1.7; margin: 0 0 22px; }
.lc-read-link { color: var(--lc-navy); font-size: 13px; font-weight: 800; margin-top: auto; text-decoration: none; }
.lc-read-link span { color: var(--lc-gold); font-size: 17px; margin-left: 4px; }
.lc-pagination { display: flex; gap: 8px; justify-content: center; margin-top: 52px; }
.lc-pagination a { align-items: center; border: 1px solid var(--lc-line); color: var(--lc-navy); display: inline-flex; font-size: 14px; font-weight: 800; height: 40px; justify-content: center; text-decoration: none; width: 40px; }
.lc-pagination a:hover,
.lc-pagination .is-current { background: var(--lc-navy); border-color: var(--lc-navy); color: #fff; }
.lc-empty { color: var(--lc-muted); padding: 54px 0; text-align: center; }

.lc-article-hero .lc-shell { padding: 38px 0 64px; position: relative; z-index: 1; }
.lc-article-hero .lc-breadcrumb { margin-bottom: 45px; }
.lc-article-hero-grid { align-items: center; display: grid; gap: 44px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.lc-article-hero h1 { color: #fff; font-size: clamp(37px, 4.05vw, 61px); letter-spacing: -.04em; line-height: 1.08; margin: 0 0 21px; }
.lc-article-intro { color: rgba(255,255,255,.8); font-size: 17px; line-height: 1.7; margin: 0; max-width: 650px; }
.lc-article-feature-image { aspect-ratio: 4 / 3; background: rgba(255,255,255,.08); overflow: hidden; }
.lc-article-feature-image img { display: block; height: 100%; object-fit: cover; width: 100%; }
.lc-article-main { background: var(--lc-paper); padding: 68px 0 94px; position: relative; }
.lc-article-main > .lc-shell { margin-left: 330px; margin-right: 36px; max-width: 1180px; width: auto; }
.lc-article-layout { align-items: start; display: grid; gap: 56px; grid-template-columns: minmax(0, 1fr) 330px; }
.lc-prose { max-width: none; }
.lc-toc-panel { bottom: 0; left: 0; position: absolute; top: 68px; width: 290px; }
.lc-toc-shell { height: 100%; width: 100%; }
.lc-toc-sticky { background: #f3f6fa; border-right: 1px solid var(--lc-line); max-height: calc(100vh - 146px); overflow-y: auto; position: sticky; top: 122px; }
.lc-toc { margin: 0; padding: 25px 28px 30px; }
.lc-toc > p { color: var(--lc-navy); font-size: 12px; font-weight: 800; letter-spacing: .1em; margin: 0 0 14px; text-transform: uppercase; }
.lc-toc ol { columns: 1; margin: 0; padding-left: 20px; }
.lc-toc li { break-inside: avoid; font-size: 13px; line-height: 1.45; margin: 0 0 11px; padding-left: 2px; }
.lc-toc a { color: #3b4c66; text-decoration: none; }
.lc-toc a:hover { color: var(--lc-blue); text-decoration: underline; }
.lc-article-content { color: #3e4b5e; font-size: 16px; line-height: 1.82; }
.lc-article-content > *:first-child { margin-top: 0; }
.lc-article-content p { margin: 0 0 23px; }
.lc-article-content h2 { border-top: 1px solid var(--lc-line); color: var(--lc-ink); font-size: clamp(27px, 2.4vw, 35px); letter-spacing: -.03em; line-height: 1.2; margin: 52px 0 19px; padding-top: 45px; scroll-margin-top: 100px; }
.lc-article-content h3 { color: var(--lc-ink); font-size: 20px; letter-spacing: -.02em; line-height: 1.32; margin: 32px 0 10px; }
.lc-article-content ul { margin: 0 0 24px; padding-left: 23px; }
.lc-article-content li { margin: 0 0 8px; padding-left: 4px; }
.lc-article-content table { border-collapse: collapse; font-size: 14px; line-height: 1.55; margin: 32px 0; width: 100%; }
.lc-article-content th { background: var(--lc-navy); color: #fff; font-weight: 700; text-align: left; }
.lc-article-content th,
.lc-article-content td { border: 1px solid var(--lc-line); padding: 14px 16px; vertical-align: top; }
.lc-article-content tr:nth-child(even) td { background: #f9fbfe; }
.lc-inquiry-panel { min-width: 0; }
.lc-inquiry-sticky { background: var(--lc-navy); color: #fff; padding: 30px 27px 28px; position: sticky; top: 28px; }
.lc-inquiry-sticky .lc-kicker { margin-bottom: 12px; }
.lc-inquiry-sticky h2 { color: #fff; font-size: 27px; letter-spacing: -.03em; line-height: 1.18; margin: 0 0 11px; }
.lc-inquiry-sticky > p:not(.lc-kicker) { color: rgba(255,255,255,.75); font-size: 14px; line-height: 1.6; margin: 0 0 21px; }
.lc-inquiry-sticky .wpforms-container { margin: 0 !important; }
.lc-inquiry-sticky .wpforms-field { padding: 0 0 13px !important; }
.lc-inquiry-sticky .wpforms-field-label { color: #fff !important; font-size: 12px !important; font-weight: 700 !important; margin-bottom: 6px !important; }
.lc-inquiry-sticky input,
.lc-inquiry-sticky textarea { background: #fff !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; color: #23334b !important; font-family: inherit !important; font-size: 13px !important; padding: 11px 12px !important; }
.lc-inquiry-sticky textarea { min-height: 95px !important; }
.lc-inquiry-sticky .wpforms-submit-container { padding: 3px 0 0 !important; }
.lc-inquiry-sticky button[type=submit] { background: var(--lc-gold) !important; border: 0 !important; border-radius: 0 !important; color: #172946 !important; font-family: inherit !important; font-size: 13px !important; font-weight: 800 !important; line-height: 1.2 !important; padding: 14px 17px !important; width: 100%; }
.lc-inquiry-sticky button[type=submit]:hover { background: #ffd04a !important; }
.lc-inquiry-sticky .wpforms-error { color: #ffe082 !important; font-size: 11px !important; }
.lc-inquiry-sticky .wpforms-confirmation-container-full { background: rgba(255,255,255,.1) !important; border: 1px solid rgba(255,255,255,.3) !important; color: #fff !important; }
.lc-fallback-form p { margin: 0 0 13px; }
.lc-fallback-form label { color: #fff; display: block; font-size: 12px; font-weight: 700; margin-bottom: 6px; }
.lc-fallback-form label span { color: var(--lc-gold); }
.lc-fallback-form input,
.lc-fallback-form textarea { box-sizing: border-box; width: 100%; }
.lc-fallback-form .lc-fallback-submit { margin-bottom: 0; padding-top: 3px; }
.lc-fallback-form button { background: var(--lc-gold); border: 0; border-radius: 0; color: #172946; cursor: pointer; font-family: inherit; font-size: 13px; font-weight: 800; line-height: 1.2; padding: 14px 17px; width: 100%; }
.lc-fallback-form button:hover { background: #ffd04a; }
.lc-form-message { border: 1px solid rgba(255,255,255,.4); color: #fff; font-size: 13px; line-height: 1.5; margin: 0 0 16px !important; padding: 10px 12px; }
.lc-form-message.is-success { background: rgba(89, 179, 104, .24); }
.lc-form-message.is-error { background: rgba(220, 91, 91, .24); }
.lc-form-note { color: rgba(255,255,255,.78); font-size: 13px; }
.lc-form-note a { color: #fff; }

@media (max-width: 980px) {
  .lc-card-grid { gap: 20px; }
  .lc-card-body { padding: 20px; }
  .lc-card-body h3 { font-size: 19px; }
  .lc-article-hero-grid { gap: 38px; }
  .lc-article-layout { gap: 42px; grid-template-columns: minmax(0, 1fr) 285px; }
}

@media (max-width: 1399px) and (min-width: 1101px) {
  .lc-article-main > .lc-shell { margin-left: 278px; margin-right: 24px; }
  .lc-toc-panel { width: 248px; }
  .lc-toc { padding-left: 23px; padding-right: 22px; }
  .lc-article-layout { gap: 34px; grid-template-columns: minmax(0, 1fr) 300px; }
}

@media (max-width: 1100px) {
  .lc-article-main > .lc-shell { margin-left: auto; margin-right: auto; width: min(1180px, calc(100% - 48px)); }
  .lc-toc-panel { bottom: auto; left: auto; position: static; top: auto; width: auto; }
  .lc-toc-shell { height: auto; margin: 0 auto; width: min(1180px, calc(100% - 48px)); }
  .lc-toc-sticky { background: transparent; border-right: 0; height: auto; max-height: none; overflow: visible; position: static; }
  .lc-toc { background: var(--lc-wash); border-left: 4px solid var(--lc-gold); margin: 0 0 34px; padding: 24px 28px 23px; }
  .lc-toc ol { columns: 2; column-gap: 32px; }
}

@media (max-width: 780px) {
  .lc-shell { width: min(100% - 34px, 620px); }
  .lc-blog-hero .lc-shell { padding: 44px 0 50px; }
  .lc-breadcrumb { margin-bottom: 26px; }
  .lc-blog-hero .lc-shell > p:last-child { font-size: 16px; }
  .lc-blog-library { padding: 52px 0 60px; }
  .lc-library-heading { display: block; margin-bottom: 24px; }
  .lc-library-heading h2 { margin-bottom: 15px; }
  .lc-category-tabs { flex-wrap: nowrap; margin-left: -17px; margin-right: -17px; overflow-x: auto; padding: 0 17px 23px; }
  .lc-category-tabs a { flex: 0 0 auto; }
  .lc-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lc-article-hero .lc-shell { padding: 28px 0 46px; }
  .lc-article-hero .lc-breadcrumb { margin-bottom: 29px; }
  .lc-article-hero-grid { display: block; }
  .lc-article-feature-image { margin-top: 30px; }
  .lc-article-main { padding: 46px 0 58px; }
  .lc-article-layout { display: block; }
  .lc-inquiry-panel { display: none; }
  .lc-article-main > .lc-shell,
  .lc-toc-shell { width: min(100% - 34px, 620px); }
  .lc-toc { margin-bottom: 36px; padding: 21px; }
  .lc-toc ol { columns: 1; }
}

@media (max-width: 520px) {
  .lc-card-grid { grid-template-columns: 1fr; }
  .lc-card-body { padding: 22px; }
  .lc-card-body h3 { font-size: 21px; }
  .lc-article-feature-image { aspect-ratio: 16 / 10; }
  .lc-article-content { font-size: 15.5px; }
  .lc-article-content table { display: block; overflow-x: auto; white-space: normal; }
}
