/* Firm interview guide hubs (<firm>-interview-guide.html) and round articles
   (<firm>-<stage>-interview.html). Built on seo.css (.seo-article); only the
   pieces seo.css lacks live here: fact table, TOC, card grid, round flow, chips. */
.fg-lede { font-size: 17.5px; line-height: 1.65; color: var(--text-primary); margin: 0 0 20px; }
.fg-lede strong { color: var(--text-bright); }
.fg-meta-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; }
.fg-chip { display: inline-flex; align-items: center; font-size: 12.5px; font-weight: 600; line-height: 1; padding: 6px 10px; border-radius: 999px; border: 1px solid var(--border-color); color: var(--text-secondary); background: var(--bg-card); white-space: nowrap; }
.fg-chip--accent { border-color: color-mix(in srgb, var(--accent-primary) 35%, var(--border-color)); color: var(--accent-primary); background: color-mix(in srgb, var(--accent-primary) 7%, var(--bg-card)); }
.fg-diff { font-size: 11.5px; font-weight: 700; padding: 2px 7px; border-radius: 6px; text-transform: capitalize; white-space: nowrap; }
.fg-diff--easy { color: var(--color-easy, #059669); background: var(--color-easy-bg, rgba(5,150,105,.1)); }
.fg-diff--medium { color: var(--color-medium, #d97706); background: var(--color-medium-bg, rgba(217,119,6,.1)); }
.fg-diff--hard { color: var(--color-hard, #dc2626); background: var(--color-hard-bg, rgba(220,38,38,.1)); }
.fg-pro { font-size: 11px; font-weight: 700; padding: 2px 6px; border-radius: 6px; color: var(--accent-primary); border: 1px solid color-mix(in srgb, var(--accent-primary) 40%, transparent); }

/* table of contents */
.fg-toc { border: 1px solid var(--border-color); border-radius: 14px; background: var(--bg-card); padding: 16px 20px; margin: 0 0 28px; }
.fg-toc__h { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-secondary); margin: 0 0 8px; }
.seo-article__body .fg-toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 28px; }
.seo-article__body .fg-toc li { margin: 0 0 5px; break-inside: avoid; font-size: 15px; }
.seo-article__body .fg-toc a { font-weight: 600; }

/* key facts table: label column */
.seo-article__body table.fg-facts th { width: 34%; }
.seo-article__body table.fg-facts td, .seo-article__body table.fg-facts th { font-size: 15px; }

/* card grid ("Prepare with QuantVault") */
.fg-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin: 6px 0 22px; }
.seo-article__body a.fg-card { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border: 1px solid var(--border-color); border-radius: 12px; background: var(--bg-card); color: var(--text-primary); font-weight: 400; text-decoration: none; transition: border-color .15s, transform .15s, box-shadow .15s; }
.seo-article__body a.fg-card:hover { border-color: color-mix(in srgb, var(--accent-primary) 55%, var(--border-color)); transform: translateY(-1px); box-shadow: var(--shadow-sm, 0 1px 3px rgba(0,0,0,.08)); text-decoration: none; }
.fg-card__k { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--accent-primary); }
.fg-card__t { font-size: 15.5px; font-weight: 700; color: var(--text-bright); line-height: 1.35; }
.fg-card__s { font-size: 13.5px; color: var(--text-secondary); line-height: 1.45; }
.fg-subh { font-size: 13px !important; font-weight: 700 !important; letter-spacing: .05em; text-transform: uppercase; color: var(--text-secondary) !important; margin: 20px 0 8px !important; }

/* round-by-round table + flow */
.seo-article__body table.fg-rounds td:first-child, .seo-article__body table.fg-rounds th:first-child { width: 36px; text-align: center; }
.fg-rounds__links { white-space: nowrap; }
.fg-rounds__links a + a { margin-left: 10px; }

/* practice question types */
.fg-qtype { border: 1px solid var(--border-color); border-radius: 12px; padding: 14px 18px 6px; margin: 0 0 14px; background: var(--bg-card); }
.seo-article__body .fg-qtype h3 { margin: 0 0 8px; font-size: 17px; }
.seo-article__body .fg-qtype h3 .fg-count { font-size: 13px; font-weight: 600; color: var(--text-secondary); margin-left: 6px; }
.seo-article__body ul.fg-plist { list-style: none; padding: 0; margin: 0 0 8px; }
.seo-article__body ul.fg-plist li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 8px; padding: 6px 0; border-top: 1px solid var(--border-light, var(--border-color)); margin: 0; font-size: 15px; }
.seo-article__body ul.fg-plist li:first-child { border-top: none; }
.fg-did { font-family: var(--font-mono, monospace); font-size: 12.5px; color: var(--text-secondary); }
.fg-stmt { margin: 2px 0 12px; padding: 10px 14px; border-left: 3px solid color-mix(in srgb, var(--accent-primary) 45%, var(--border-color)); background: color-mix(in srgb, var(--accent-primary) 4%, var(--bg-card)); border-radius: 0 10px 10px 0; font-size: 15px; line-height: 1.6; }
.fg-stmt p { margin: 0 0 8px !important; }
.fg-stmt p:last-child { margin: 0 !important; }
.fg-stmt__label { font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-secondary); display: block; margin-bottom: 4px; }

/* prev / next */
.fg-pn { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 28px 0 0; }
.seo-article__body a.fg-pn__a { display: block; padding: 12px 16px; border: 1px solid var(--border-color); border-radius: 12px; font-weight: 400; color: var(--text-primary); }
.seo-article__body a.fg-pn__a:hover { border-color: var(--accent-primary); text-decoration: none; }
.fg-pn__a small { display: block; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-secondary); }
.fg-pn__a b { color: var(--text-bright); }
.fg-pn__a--next { text-align: right; grid-column: 2; }

/* round CTA */
.fg-cta { margin: 30px 0 8px; padding: 22px 22px 20px; border-radius: 16px; border: 1px solid color-mix(in srgb, var(--accent-primary) 30%, var(--border-color)); background: linear-gradient(135deg, color-mix(in srgb, var(--accent-primary) 11%, var(--bg-card)), var(--bg-card)); }
.seo-article__body .fg-cta h2 { margin: 0 0 6px; font-size: 21px; }
.fg-cta p { margin: 0 0 14px !important; color: var(--text-secondary); }
.fg-cta__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.fg-note { font-size: 13.5px; color: var(--text-secondary); }

@media (max-width: 640px) {
  .seo-article__body .fg-toc ol { columns: 1; }
  .fg-pn { grid-template-columns: 1fr; }
  .fg-pn__a--next { grid-column: 1; }
  .fg-cards { grid-template-columns: 1fr; }
  .seo-article__body table.fg-facts th { width: auto; }
}

/* quick answer box (answer-first, Oct 2026) */
.fg-answer { border: 1px solid color-mix(in srgb, var(--accent-primary) 30%, var(--border-color)); border-radius: 14px; background: color-mix(in srgb, var(--accent-primary) 5%, var(--bg-card)); padding: 16px 20px 10px; margin: 0 0 20px; }
.fg-answer__h { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--accent-primary); margin: 0 0 8px !important; }
.seo-article__body .fg-answer ul { list-style: none; padding: 0; margin: 0; }
.seo-article__body .fg-answer li { display: grid; grid-template-columns: 170px 1fr; gap: 4px 14px; padding: 7px 0; border-top: 1px solid var(--border-light, var(--border-color)); margin: 0; font-size: 15px; line-height: 1.5; }
.seo-article__body .fg-answer li:first-child { border-top: none; }
.fg-answer__k { font-weight: 700; color: var(--text-bright); }
.fg-answer__v { color: var(--text-primary); }

/* top + inline CTAs */
.fg-cta--top { margin: 0 0 24px; padding: 16px 18px; }
.fg-cta--top p { margin: 0 0 12px !important; color: var(--text-primary); }
.fg-cta--inline { margin: 26px 0 30px; }

/* per-round sections */
.fg-round { border: 1px solid var(--border-color); border-radius: 14px; padding: 16px 20px 6px; margin: 0 0 16px; background: var(--bg-card); }
.seo-article__body .fg-round h3 { margin: 0 0 6px; font-size: 18.5px; }
.seo-article__body p.fg-round__meta { display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: 14px; color: var(--text-secondary); margin: 0 0 10px; }
.seo-article__body p.fg-round__label { font-weight: 700; color: var(--text-bright); margin: 12px 0 4px; }
.seo-article__body p.fg-round__links { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 14.5px; margin: 10px 0 12px; }
.seo-article__body p.fg-round__links a { font-weight: 700; }
.seo-article__body ul.fg-paths li { margin-bottom: 8px; }
.seo-article__body table.fg-plan td:first-child { white-space: nowrap; }

@media (max-width: 640px) {
  .seo-article__body .fg-answer li { grid-template-columns: 1fr; }
  .fg-round { padding: 14px 14px 4px; }
}

/* round cards v2: number badge, tag chips, prep / watch-out callouts */
.fg-round__n { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; margin-right: 10px; border-radius: 999px; background: var(--accent-primary); color: #fff; font-size: 14px; font-weight: 800; vertical-align: 2px; }
.fg-tag { display: inline-flex; align-items: center; font-size: 12.5px; font-weight: 600; line-height: 1.3; padding: 4px 9px; border-radius: 8px; background: color-mix(in srgb, var(--text-secondary) 9%, var(--bg-card)); color: var(--text-primary); }
.fg-tag--who { background: color-mix(in srgb, var(--accent-primary) 10%, var(--bg-card)); color: var(--accent-primary); }
.seo-article__body p.fg-round__meta { gap: 6px 8px; }
.fg-callout { border-radius: 10px; padding: 10px 14px 4px; margin: 12px 0; }
.fg-callout--prep { background: color-mix(in srgb, var(--accent-primary) 6%, var(--bg-card)); border-left: 3px solid var(--accent-primary); }
.fg-callout--warn { background: color-mix(in srgb, #d97706 8%, var(--bg-card)); border-left: 3px solid #d97706; padding-bottom: 8px; }
.seo-article__body .fg-callout p { margin: 0 0 6px; }
.seo-article__body .fg-callout ul { margin: 0 0 6px; }
.seo-article__body .fg-callout--prep p.fg-round__label { margin-top: 0; }

/* TOC as a collapsible block (collapsed by default on phones) */
.fg-toc__d > summary { cursor: pointer; list-style: none; }
.fg-toc__d > summary::-webkit-details-marker { display: none; }
.fg-toc__d > summary::after { content: ' +'; }
.fg-toc__d[open] > summary::after { content: ' \2212'; }
.fg-toc__d[open] > summary { margin-bottom: 8px; }

/* process table becomes stacked cards on phones */
@media (max-width: 640px) {
  .seo-article__body table.fg-rounds, .seo-article__body table.fg-rounds tbody, .seo-article__body table.fg-rounds tr, .seo-article__body table.fg-rounds td,
  .seo-article__body table.fg-plan, .seo-article__body table.fg-plan tbody, .seo-article__body table.fg-plan tr, .seo-article__body table.fg-plan td { display: block; width: 100%; white-space: normal; min-width: 0; box-sizing: border-box; }
  .seo-article__body table.fg-rounds.is-scrollable, .seo-article__body table.fg-plan.is-scrollable { padding-right: 0; -webkit-mask-image: none; mask-image: none; }
  .seo-article__body table.fg-rounds.is-scrollable::after, .seo-article__body table.fg-plan.is-scrollable::after { display: none; content: none; }
  .seo-article__body table.fg-plan thead { display: none; }
  .seo-article__body table.fg-plan tr { border: 1px solid var(--border-color); border-radius: 12px; padding: 10px 12px; margin: 0 0 10px; background: var(--bg-card); }
  .seo-article__body table.fg-plan td { border: none; padding: 2px 0; font-size: 14.5px; }
  .seo-article__body table.fg-plan td:nth-child(2) { font-weight: 700; color: var(--text-bright); }
  .seo-article__body table.fg-rounds thead { display: none; }
  .seo-article__body table.fg-rounds tr { border: 1px solid var(--border-color); border-radius: 12px; padding: 10px 12px; margin: 0 0 10px; background: var(--bg-card); }
  .seo-article__body table.fg-rounds td { border: none; padding: 2px 0; text-align: left; }
  .seo-article__body table.fg-rounds td:first-child { width: auto; text-align: left; font-size: 12px; font-weight: 700; color: var(--text-secondary); }
  .seo-article__body table.fg-rounds td:first-child::before { content: 'Round '; }
  .seo-article__body table.fg-rounds td[data-label="Round"] { font-weight: 700; font-size: 16px; }
  .seo-article__body table.fg-rounds td[data-label="Format"], .seo-article__body table.fg-rounds td[data-label="Who"] { font-size: 14px; color: var(--text-secondary); }
  .seo-article__body table.fg-rounds td[data-label="Who"]::before { content: 'Who: '; font-weight: 700; }
  .seo-article__body table.fg-rounds td.fg-rounds__links { padding-top: 6px; }
  .fg-round__n { min-width: 24px; height: 24px; font-size: 13px; margin-right: 8px; }
}

/* secondary CTA buttons: outlined, not bare links */
.seo-article__body .fg-cta a.btn--secondary { color: var(--text-bright); border-color: color-mix(in srgb, var(--accent-primary) 35%, var(--border-color)); text-decoration: none; }
.seo-article__body .fg-cta a.btn--secondary:hover { border-color: var(--accent-primary); }
@media (max-width: 640px) { .fg-cta__btns .btn { width: 100%; justify-content: center; } }

/* illustrative worked example (Oct 20 2026): full box on round articles, short form on hub round cards */
.fg-example { border: 1px solid var(--border-color); border-left: 3px solid var(--accent-primary); border-radius: 0 12px 12px 0; background: color-mix(in srgb, var(--accent-primary) 4%, var(--bg-card)); padding: 14px 18px 6px; margin: 10px 0 18px; }
.seo-article__body .fg-example p { margin: 0 0 10px; }
.seo-article__body p.fg-example__label { font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-secondary); margin: 0 0 6px; }
.seo-article__body p.fg-example__t { font-weight: 700; color: var(--text-bright); margin: 0 0 4px; }
.seo-article__body p.fg-example__q { font-size: 16px; line-height: 1.6; color: var(--text-primary); }
.seo-article__body p.fg-example__h { font-weight: 700; color: var(--text-bright); margin: 12px 0 4px; }
.seo-article__body ol.fg-example__steps { margin: 0 0 10px; padding-left: 22px; }
.seo-article__body ol.fg-example__steps li { margin: 0 0 5px; line-height: 1.55; }
.seo-article__body p.fg-example__look { border-top: 1px solid var(--border-light, var(--border-color)); padding-top: 10px; font-size: 15px; }
.seo-article__body p.fg-example__more { font-size: 14.5px; }
.seo-article__body p.fg-example__more a { font-weight: 700; }
.fg-example--short { padding: 12px 16px 2px; margin: 10px 0 12px; }
.seo-article__body .fg-example--short p.fg-example__q { font-size: 15px; }
.fg-example .katex { font-size: 1.04em; }
.seo-article__body table.fg-posted td:last-child { font-size: 13.5px; }
@media (max-width: 640px) { .fg-example { padding: 12px 14px 4px; } .seo-article__body ol.fg-example__steps { padding-left: 20px; } }
.seo-article__body #worked-example, .fg-example { scroll-margin-top: 84px; }
/* posted base table stacks into cards on phones (like the process table) */
@media (max-width: 640px) {
  .seo-article__body table.fg-posted, .seo-article__body table.fg-posted tbody, .seo-article__body table.fg-posted tr, .seo-article__body table.fg-posted td { display: block; width: 100%; white-space: normal; min-width: 0; box-sizing: border-box; }
  .seo-article__body table.fg-posted.is-scrollable { padding-right: 0; -webkit-mask-image: none; mask-image: none; }
  .seo-article__body table.fg-posted.is-scrollable::after { display: none; content: none; }
  .seo-article__body table.fg-posted thead { display: none; }
  .seo-article__body table.fg-posted tr { border: 1px solid var(--border-color); border-radius: 12px; padding: 10px 12px; margin: 0 0 10px; background: var(--bg-card); }
  .seo-article__body table.fg-posted td { border: none; padding: 2px 0; font-size: 14.5px; }
  .seo-article__body table.fg-posted td[data-label="Role"] { font-weight: 700; color: var(--text-bright); }
  .seo-article__body table.fg-posted td[data-label="Level"]::before, .seo-article__body table.fg-posted td[data-label="Posted base"]::before, .seo-article__body table.fg-posted td[data-label="Location"]::before { content: attr(data-label) ': '; color: var(--text-secondary); font-weight: 600; }
}
