/* Shared Gold Standard shell for the preserved state center and tools.
   Load after assets/css/site.css, before gold-states.css or gold-tools.css. */
@media screen {
body.gold-page {
  --bg: #101a16;
  --bg-2: #17241d;
  --bg-3: #0b120e;
  --card: #17241d;
  --card-2: #1d2d23;
  --gold: #c6a768;
  --gold-2: #e6c878;
  --gold-deep: #b69a61;
  --emerald: #aec7b7;
  --emerald-2: #8fb39f;
  --emerald-3: #aac9b5;
  --ink: #ece3d0;
  --text: #dfd6c3;
  --text-2: #c2b79e;
  --muted: #b3a88f;
  --line: #34473b;
  --line-2: #53634e;
  --oxblood: #e4aaa0;
  --oxblood-2: #e4aaa0;
  --oxblood-bg: #30231e;
  --green-ok: #b6cfbd;
  --green-ok-bg: #20362a;
  --hair-gold: #716044;
  --hair-soft: #34473b;
  --focus: #e6c878;
  --paper: var(--bg);
  --paper-raised: var(--card);
  --paper-sunken: var(--bg-3);
  --ink-soft: var(--text);
  --ink-faint: var(--text-2);
  --navy: var(--emerald);
  --navy-deep: var(--bg-3);
  --brass: var(--gold);
  --brass-soft: var(--gold-2);
  --hairline: var(--line);
  --hairline-strong: var(--line-2);
  --focus-ring: var(--focus);
  --shadow: none;
  --f-display: 'Cormorant Garamond', Georgia, serif;
  --font-display: var(--f-display);
  --font-head: 'Cormorant Garamond', Georgia, serif;
  --font-serif: 'EB Garamond', Georgia, serif;
  --font-ui: 'EB Garamond', Georgia, serif;
  --container: 1180px;
  --measure: 72ch;
  --radius: 4px;
  --gold-header-height: 80px;
  color-scheme: dark;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--font-serif);
  font-size: 20px;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}
[data-theme='day'] body.gold-page {
  --bg: #f7f2e7;
  --bg-2: #fbf8f0;
  --bg-3: #eee6d5;
  --card: #fbf8f0;
  --card-2: #f0e9d9;
  --gold: #80602e;
  --gold-2: #80602e;
  --gold-deep: #80602e;
  --emerald: #1c4a3a;
  --emerald-2: #1c4a3a;
  --emerald-3: #2f6147;
  --ink: #221c16;
  --text: #4a4234;
  --text-2: #655a46;
  --muted: #655a46;
  --line: #e4d8bf;
  --line-2: #d6c6a5;
  --oxblood: #793b35;
  --oxblood-2: #793b35;
  --oxblood-bg: #f3e8dc;
  --green-ok: #315b42;
  --green-ok-bg: #e9ecdf;
  --hair-gold: #d6c6a5;
  --hair-soft: #e4d8bf;
  --focus: #80602e;
  color-scheme: light;
  background: var(--paper);
}
body.gold-page *, body.gold-page *::before, body.gold-page *::after { box-sizing: border-box; }
body.gold-page .container { width: 100%; max-width: 1180px; padding-inline: 34px; }
body.gold-page main { min-width: 0; }
body.gold-page h1, body.gold-page h2, body.gold-page h3, body.gold-page h4 {
  font-family: var(--font-head); color: var(--ink); font-weight: 500; letter-spacing: 0;
}
body.gold-page h2 { font-size: clamp(34px, 3.7vw, 44px); line-height: 1.1; margin-top: 58px; }
body.gold-page h3 { font-size: 28px; line-height: 1.2; font-weight: 600; color: var(--emerald); }
body.gold-page h4 { font-size: 24px; line-height: 1.25; }
body.gold-page p { text-wrap: pretty; }
body.gold-page em { color: inherit; }
body.gold-page a { color: var(--gold); text-underline-offset: 3px; }
body.gold-page { --link: var(--emerald); --link-rule: #4c6b58; }
[data-theme='day'] body.gold-page { --link-rule: #9aaf9c; }
body.gold-page .gold-page-hero { --link: #e6c878; --link-rule: rgba(230, 200, 120, .45); }
body.gold-page :is(p a:not(.button):not(.btn), .article-body li a, main td a, main li:not([class]) > a:not([class]):not(nav a), caption a, dd a, main a[rel="external"], .callout a, .faq-body a):not(.heading-link):not(.hwh-footer a) {
  color: var(--link); text-decoration-color: var(--link-rule); text-underline-offset: 4px;
}
body.gold-page :is(p a:not(.button):not(.btn), .article-body li a, main td a, main li:not([class]) > a:not([class]):not(nav a), caption a, dd a, main a[rel="external"], .callout a, .faq-body a):not(.heading-link):not(.hwh-footer a):hover {
  color: var(--link); text-decoration-color: currentColor;
}
body.gold-page .card-title > a:not(.heading-link) { color: inherit; text-decoration: none; }
body.gold-page .card-title > a:not(.heading-link):hover { text-decoration: underline; text-decoration-color: var(--link-rule); text-underline-offset: 5px; }
body.gold-page a:hover { color: var(--emerald); }
body.gold-page .article-body { overflow-wrap: break-word; }
body.gold-page :is(h2, h3, h4, section, [id]) { scroll-margin-top: calc(var(--gold-header-height) + 24px); }
body.gold-page :is(.kicker, .section-kicker, .eyebrow, .badge, .fact-label, .callout-title, .toc-title,
  .review-chip, .related-type, .card-meta, .fig-cap, .fig-note, .stat-label) {
  font-family: var(--font-serif); text-transform: none; font-variant-caps: small-caps; letter-spacing: .055em;
}
body.gold-page :is(.kicker, .section-kicker, .eyebrow)::before { display: none; }
body.gold-page :is(.article-body, main > .container) ul:not([class]) { list-style-type: '–  '; }
body.gold-page :is(.article-body, main > .container) ul:not([class]) > li::marker { color: var(--brass); }
body.gold-page .progress-fill { background: #a9803c; box-shadow: none; }

/* The identity stays forest in both reading modes. */
body.gold-page .gold-page-hero {
  --bg: #101a16; --bg-2: #17241d; --bg-3: #0b120e;
  --ink: #ece3d0; --text: #dfd6c3; --text-2: #c2b79e; --muted: #b3a88f;
  --gold: #c6a768; --gold-2: #e6c878; --gold-deep: #b69a61;
  --line: #2a3c32; --line-2: #53634e; --hair-gold: #716044;
  color: #ece3d0; background: #101a16; color-scheme: dark;
}

body.gold-page .gold-page-hero { padding: 30px 0 62px; border-bottom: 1px solid #a9803c; }
body.gold-page .gold-page-hero .breadcrumbs { margin: 0; padding: 0; max-width: none; font-family: var(--font-serif); font-size: 14px; letter-spacing: .055em; font-variant-caps: small-caps; text-transform: none; line-height: 1.4; color: #c9b992; }
body.gold-page .gold-page-hero .breadcrumbs ol { display: flex; justify-content: center; align-items: baseline; flex-wrap: wrap; gap: 0; margin: 0; padding: 0; list-style: none; }
body.gold-page .gold-page-hero .breadcrumbs li { margin: 0; }
body.gold-page .gold-page-hero .breadcrumbs a { color: #c9b992; text-decoration: none; }
body.gold-page .gold-page-hero .breadcrumbs a:hover { color: #e6c878; text-decoration: underline; text-underline-offset: 4px; }
body.gold-page .gold-page-hero .breadcrumbs li + li::before { content: "/"; display: inline; width: auto; height: auto; margin: 0 10px; transform: none; background: none; color: #8d826b; vertical-align: baseline; }
body.gold-page .gold-page-hero .article-header { max-width: 850px !important; padding: 0 !important; margin: 36px auto 0; text-align: center; }
body.gold-page .gold-page-hero .kicker { display: block; font-size: 16px; margin-bottom: 16px; color: #c6a768; }
body.gold-page .gold-page-hero h1 { font-size: clamp(48px, 6.6vw, 76px); font-weight: 500; line-height: 1.06; max-width: 24ch; margin-inline: auto; color: #ece3d0; overflow-wrap: break-word; }
body.gold-page .gold-page-hero .review-stamp { margin-top: 22px; }
body.gold-page .gold-page-hero .review-chip { background: transparent; border: 0; padding: 0; font-size: 15px; letter-spacing: .025em; color: #c2b79e; }
body.gold-page .gold-page-hero .lead { font-family: var(--font-serif); font-weight: 400; color: #dfd6c3; font-size: 22px; line-height: 1.52; max-width: 62ch; margin: 24px auto 0; }

/* Reading column and directory follow the approved brief proportions. */
body.gold-page .article-grid { grid-template-columns: 216px minmax(0, 1fr); gap: 54px; padding-block: 68px; }
body.gold-page .article-main { grid-column: 2; grid-row: 1; min-width: 0; width: 100%; max-width: 72ch; padding: 0; }
body.gold-page .article-grid-single, body.gold-page .article-grid.gold-without-toc { grid-template-columns: minmax(0, 1fr); }
body.gold-page :is(.article-grid-single, .article-grid.gold-without-toc) .article-main { grid-column: 1; margin-inline: auto; }
body.gold-page .article-body > p:first-child, body.gold-page p.lead { font-family: var(--font-serif); font-weight: 400; font-size: 22px; line-height: 1.58; color: var(--ink-soft); }
body.gold-page .article-body h2 { padding-top: 25px; border-top-color: var(--hairline-strong); }
body.gold-page .article-body > :first-child { margin-top: 0; }
body.gold-page main > .container { padding-block: 54px 20px; }
body.gold-page .toc-rail { display: block; grid-column: 1; grid-row: 1; position: sticky; top: calc(var(--gold-header-height) + 24px); padding: 0 8px 0 0; max-height: calc(100dvh - var(--gold-header-height) - 48px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--hairline-strong) transparent; }
body.gold-page .toc { border: 0; padding: 0; }
body.gold-page .gold-contents { min-width: 0; }
body.gold-page .gold-contents > summary { display: none; }
body.gold-page .toc-title { font-size: 16px; line-height: 1.5; letter-spacing: .07em; color: var(--brass); margin: 0 0 4px; padding: 0 0 12px; border: 0; border-bottom: 1px solid var(--hairline-strong); }
body.gold-page .toc ol { font-family: var(--font-serif); }
body.gold-page .toc li { margin: 0; border-bottom: 1px solid var(--hairline); }
body.gold-page .toc li.toc-l3 { padding-left: 14px; }
body.gold-page .toc a { display: block; font-family: var(--font-serif); font-size: 17px; line-height: 1.32; padding: 10px 0; color: var(--ink-soft); }
body.gold-page .toc-l3 a { font-size: 16px; }
body.gold-page .toc a.active, body.gold-page .toc a:hover { color: var(--brass); }
body.gold-page .heading-link { color: var(--ink-faint); opacity: 0; transition: opacity .15s ease; }
/* Permalinks appear on demand, as in the briefs. */
body.gold-page :is(h2, h3, h4):hover > .heading-link, body.gold-page .heading-link:focus-visible { opacity: 1; }

body.gold-page :is(.at-a-glance, .worked-example, .methodology-disclosure, .quick-peek, .tool-panel, .fact, .card) { background: var(--paper-raised); border: 1px solid var(--hairline-strong); border-radius: 4px; box-shadow: none; }
body.gold-page :is(.at-a-glance, .worked-example, .methodology-disclosure, .quick-peek, .tool-panel) { padding: 24px 26px; }
body.gold-page :is(.at-a-glance > h2, .at-a-glance > h3, .worked-example > h3, .worked-example > h4) { margin-top: 0; padding: 0; border: 0; font-family: var(--font-head); font-size: 28px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--emerald); }
body.gold-page .callout { background: var(--paper-raised); border: 1px solid var(--hairline-strong); border-left: 3px solid #a9803c; border-radius: 4px; padding: 21px 25px; }
body.gold-page .callout-title { font-size: 17px; line-height: 1.4; color: var(--brass); }
body.gold-page .callout-warning { background: var(--oxblood-bg); border-left-color: var(--oxblood); }
body.gold-page .callout-warning .callout-title { color: var(--oxblood); }
body.gold-page .callout-ok { background: var(--green-ok-bg); border-left-color: var(--green-ok); }
body.gold-page .callout-ok .callout-title { color: var(--green-ok); }
body.gold-page .methodology-disclosure > summary { font-size: 18px; color: var(--brass); }
body.gold-page .table-scroll { max-width: 100%; min-width: 0; overflow: auto; border-color: var(--hairline-strong); border-radius: 4px; scrollbar-color: var(--hairline-strong) var(--paper); }
body.gold-page table.data { font-family: var(--font-serif); font-size: 17px; line-height: 1.45; }
body.gold-page table.data caption { font-family: var(--font-serif); font-size: 17px; color: var(--ink-soft); background: var(--paper-sunken); padding: 12px 16px; }
body.gold-page table.data :is(th, td) { padding: 12px 15px; border-color: var(--hairline); }
body.gold-page table.data thead th { font-family: var(--font-serif); font-size: 15px; line-height: 1.35; font-weight: 600; text-transform: none; font-variant-caps: small-caps; letter-spacing: .035em; color: var(--brass); background: var(--paper-sunken); }
body.gold-page .badge { font-size: 14px; white-space: normal; line-height: 1.3; border-radius: 3px; }
body.gold-page .card-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 20px; }
body.gold-page .card { padding: 24px; }
body.gold-page .card:hover { transform: none; box-shadow: none; border-color: var(--brass); }
body.gold-page .card::after { display: none; }
body.gold-page .card :is(h3, .card-title) { font-size: 29px; color: var(--emerald); line-height: 1.15; }
body.gold-page .card p { font-size: 19px; line-height: 1.55; }
body.gold-page .card .kicker { font-size: 15px; }
body.gold-page .card .card-meta { font-size: 15px; }
body.gold-page .card-use { font-size: 17px; line-height: 1.5; }
body.gold-page .fact-label { font-size: 16px; line-height: 1.35; }
body.gold-page .fact-note { font-size: 16px; line-height: 1.45; }
body.gold-page :is(.fact-value, .calc-total, .stat-number) { font-family: var(--font-head); font-weight: 600; color: var(--emerald); }

/* All form controls retain their original names, handlers and native states. */
body.gold-page :is(.button, .btn, .toolbar button, .filter-toolbar button, .view-toggle button) { font-family: var(--font-serif); font-size: 17px; line-height: 1.25; font-weight: 500; letter-spacing: .035em; font-variant-caps: small-caps; text-transform: none; min-height: 44px; border-radius: 4px; }
body.gold-page :is(.button-primary, .btn-primary) { background: #1c4a3a; border-color: #1c4a3a; color: #fbf8f0; padding: 12px 22px; }
body.gold-page :is(.button-primary, .btn-primary):hover { background: #101a16; border-color: #a9803c; color: #fbf8f0; box-shadow: none; transform: none; }
body.gold-page :is(.button-ghost, .btn-ghost) { border-color: var(--hairline-strong); color: var(--brass); }
body.gold-page :is(.button-ghost, .btn-ghost):hover { color: var(--ink); box-shadow: none; transform: none; }
body.gold-page .tool-panel form { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 20px; }
body.gold-page .field { min-width: 0; }
body.gold-page .field label { font-family: var(--font-serif); font-size: 18px; line-height: 1.35; font-weight: 600; }
body.gold-page .field .hint { font-size: 16px; line-height: 1.4; color: var(--ink-faint); }
body.gold-page :is(.field input, .field select, .field textarea, .toolbar select, .toolbar input) { min-width: 0; max-width: 100%; min-height: 44px; font-family: var(--font-serif); font-size: 18px; line-height: 1.3; padding: 9px 11px; color: var(--ink); background: var(--paper-raised); border: 1px solid var(--hairline-strong); border-radius: 4px; }
body.gold-page :is(.field input, .field select, .field textarea):focus { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
body.gold-page .toolbar { font-size: 17px; gap: 12px; }
body.gold-page .tool-actions { gap: 14px; }
body.gold-page .copy-link-note { font-size: 16px; color: var(--green-ok); }
body.gold-page .calc-steps { font-size: 18px; }
body.gold-page .calc-steps > li::before { font-family: var(--font-serif); font-size: 16px; }
body.gold-page .calc-steps .formula { font-size: 14px; overflow-wrap: anywhere; }
body.gold-page .calc-steps .cite { font-size: 15px; line-height: 1.45; }
body.gold-page .checklist .why { font-size: 16px; line-height: 1.5; }
body.gold-page .checklist-progress { font-size: 17px; }
body.gold-page .related-list { font-size: 19px; }
body.gold-page .related-type { font-size: 14px; border-radius: 3px; }
body.gold-page .article-disclaimer { font-family: var(--font-serif); font-size: 16px; line-height: 1.55; }
body.gold-page .citations ol { font-size: 17px; }

/* Search continues to use the source modal and keyboard bindings. */
body.gold-page .search-panel { width: calc(100% - 40px); max-width: 660px; max-height: calc(100dvh - 80px); margin: 40px auto; padding: 20px; background: var(--paper-raised); border-color: var(--hairline-strong); border-radius: 4px; box-shadow: 0 12px 70px #0004; }
body.gold-page .search-form { min-width: 0; }
body.gold-page #search-input { min-width: 0; font-family: var(--font-serif); font-size: 20px; min-height: 46px; }
body.gold-page .search-close { font-family: var(--font-serif); font-size: 16px; min-height: 44px; color: var(--ink-soft); }
body.gold-page .search-result-title { font-family: var(--font-head); font-size: 26px; line-height: 1.2; }
body.gold-page .search-result-context { font-family: var(--font-serif); font-size: 15px; font-variant-caps: small-caps; color: var(--brass); }
body.gold-page .search-result-snippet { display: block; font-size: 17px; line-height: 1.45; }
body.gold-page .search-hint { font-size: 15px; }


/* Reading pages centre rail and measure as one block, exactly as the briefs do. Tool pages keep
   the full container for their instruments. */
@media (min-width: 1081px) {
  body.gold-page:not(.gold-tool) .article-grid:has(> .toc-rail) { grid-template-columns: 216px minmax(0, 692px); justify-content: center; }
}
@media (min-width: 961px) and (max-width: 1080px) {
  body.gold-page .article-grid { grid-template-columns: 192px minmax(0, 1fr); gap: 34px; }
}
@media (max-width: 960px) {
  /* Preserve the approved initial mobile state without blocking HTML parsing. */
  html[data-gold-initializing] body.gold-page .gold-contents:not([data-gold-contents-interacted]) > .toc { display: none; }
  html[data-gold-initializing] body.gold-page .gold-contents:not([data-gold-contents-interacted]) > summary { list-style-type: disclosure-closed; }
  body.gold-page .article-grid { grid-template-columns: minmax(0, 1fr); gap: 40px; padding-block: 42px; }
  body.gold-page .article-main { grid-column: 1; grid-row: 2; margin-inline: auto; }
  body.gold-page .toc-rail { position: static; width: 100%; max-width: 72ch; margin-inline: auto; max-height: none; padding: 0; overflow: visible; }
  body.gold-page .gold-contents { border-block: 1px solid var(--hairline-strong); }
  body.gold-page .gold-contents > summary { display: list-item; cursor: pointer; font-family: var(--font-serif); font-size: 17px; font-variant-caps: small-caps; letter-spacing: .055em; color: var(--brass); padding: 14px 0; }
  body.gold-page .gold-contents .toc-title { display: none; }
  body.gold-page .gold-contents .toc { max-height: min(400px, 60dvh); padding: 0 8px 14px 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
  body.gold-page .toc ol { columns: 2; column-gap: 30px; }
  body.gold-page .toc li { break-inside: avoid; }
  body.gold-page .toc a { font-size: 17px; padding-block: 8px; }
  body.gold-page .gold-without-toc .article-main { grid-row: 1; }
}
@media (max-width: 800px) {
  body.gold-page .container { padding-inline: 23px; }
  body.gold-page .gold-page-hero { padding: 27px 0 46px; }
  body.gold-page .gold-page-hero .article-header { margin-top: 28px; }
  body.gold-page .gold-page-hero h1 { font-size: clamp(44px, 7.5vw, 62px); }
  body.gold-page .gold-page-hero .lead { font-size: 21px; }
}
@media (max-width: 600px) {
  body.gold-page .container { padding-inline: 20px; }
  body.gold-page .gold-page-hero h1 { font-size: clamp(42px, 10.7vw, 54px); }
  body.gold-page .gold-page-hero .breadcrumbs { font-size: 14px; }
  body.gold-page .gold-page-hero .kicker { font-size: 15px; }
  body.gold-page .gold-page-hero .review-chip { font-size: 14px; }
  body.gold-page .toc ol { columns: 1; }
  body.gold-page .article-body h2 { font-size: 36px; margin-top: 44px; }
  body.gold-page .article-body h3 { font-size: 28px; }
  body.gold-page :is(.at-a-glance, .worked-example, .methodology-disclosure, .quick-peek, .tool-panel, .callout) { padding: 20px; }
  body.gold-page .tool-panel form { grid-template-columns: minmax(0, 1fr); }
  body.gold-page table.data { font-size: 16px; }
  body.gold-page table.data thead th { font-size: 14px; }
  body.gold-page .related-list a { flex-wrap: wrap; gap: 4px 10px; }
  body.gold-page .search-panel { padding: 14px; width: calc(100% - 24px); max-height: calc(100dvh - 24px); margin-block: 12px; }
  body.gold-page #search-input { font-size: 18px; padding-inline: 10px; }
  body.gold-page .search-close { font-size: 15px; padding-inline: 8px; }
}
}
@media print {
  body.gold-page { color: #221c16; background: #fff; }
  body.gold-page .gold-page-hero { background: #fff; color: #221c16; border-color: #aaa; padding-block: 0 24px; }
  body.gold-page .gold-page-hero :is(h1, .kicker, .review-chip, .lead) { color: #221c16; }
  body.gold-page .article-grid { display: block; padding-block: 20px; }
  body.gold-page .article-main { max-width: none; }
  body.gold-page .toc-rail { display: none; }
  body.gold-page .table-scroll { max-height: none; overflow: visible; }
}
