
:root {
  /* IMMUTABLE PAGENERVE BRAND TOKENS. DO NOT ALTER OR APPROXIMATE. */
  --navy: #011E60;
  --yellow: #F5B700;
  --periwinkle: #6A7FC0;
  --cloud: #F2F1EF;

  /* Functional semantic colours. These are not brand identity tokens. */
  --success: #087A55;
  --danger: #B42318;

  /* Structural aliases resolve only to the four locked brand tokens. */
  --navy-2: var(--navy);
  --navy-3: var(--navy);
  --yellow-pale: var(--cloud);
  --periwinkle-pale: var(--cloud);
  --periwinkle-soft: var(--periwinkle);
  --white: var(--cloud);
  --ink: var(--navy);
  --ink-2: var(--navy);
  --muted: var(--navy);
  --line: var(--periwinkle);
  --line-dark: var(--navy);
  --success-pale: var(--cloud);
  --danger-pale: var(--cloud);
  --warning-ink: var(--navy);
  --content: 1280px;
  --reading: 720px;
  --radius: 0;
  --shadow: 7px 7px 0 var(--navy);
  --font-display: "Aptos Display", "Segoe UI", Arial, sans-serif;
  --font-body: "Aptos", "Segoe UI", Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cloud); color: var(--ink); font-family: var(--font-body); font-size: 16px; line-height: 1.62; text-rendering: optimizeLegibility; }
img, svg { max-width: 100%; }
a { color: var(--navy); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { text-decoration-thickness: .14em; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--navy); outline-offset: 3px; box-shadow: 0 0 0 2px var(--cloud); }
.section-navy :focus-visible, .site-footer :focus-visible, .graph-panel :focus-visible { outline-color: var(--yellow); box-shadow: 0 0 0 2px var(--navy); }
::selection { background: var(--yellow); color: var(--navy); }
.skip-link { position: fixed; z-index: 999; left: 12px; top: 12px; transform: translateY(-180%); background: var(--yellow); color: var(--navy); padding: 10px 14px; font-weight: 800; }
.skip-link:focus { transform: translateY(0); }
.container { width: min(calc(100% - 40px), var(--content)); margin-inline: auto; }
.reading { width: min(calc(100% - 40px), var(--reading)); margin-inline: auto; }
.section { padding: clamp(72px, 9vw, 126px) 0; }
.section-tight { padding: clamp(52px, 7vw, 84px) 0; }
.section-white { background: var(--white); }
.section-navy { background: var(--navy); color: var(--cloud); }
.section-peri { background: var(--periwinkle-pale); }
.section-yellow-rule { border-top: 10px solid var(--yellow); }
hr { border: 0; border-top: 1px solid var(--line); margin: 38px 0; }
p { margin: 0 0 1em; }
h1,h2,h3,h4 { font-family: var(--font-display); color: inherit; margin: 0 0 .58em; line-height: 1.02; letter-spacing: 0; }
h1 { font-size: 5.25rem; max-width: 13ch; }
h2 { font-size: 3.55rem; max-width: 18ch; }
h3 { font-size: 1.45rem; line-height: 1.15; letter-spacing: 0; }
.lede { font-size: 1.22rem; line-height: 1.55; color: var(--ink-2); max-width: 66ch; }
.section-navy .lede, .page-hero--navy .lede { color: #F2F1EF; }
.eyebrow, .mono-label { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; font: 800 .7rem/1.2 var(--font-mono); letter-spacing: .095em; text-transform: uppercase; color: var(--navy); }
.eyebrow::before { content: ""; width: 24px; height: 3px; background: var(--yellow); }
.section-navy .eyebrow, .page-hero--navy .eyebrow { color: var(--cloud); }
.section-kicker { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 50px; }
.section-kicker p { max-width: 52ch; margin: 0; color: var(--muted); }
.section-navy .section-kicker p { color: #F2F1EF; }
.small { font-size: .88rem; }
.muted { color: var(--muted); }
.mono { font-family: var(--font-mono); }
.no-margin { margin: 0; }
.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 90; background: var(--cloud); border-bottom: 1px solid var(--line); backdrop-filter: blur(10px); }
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--navy); text-decoration: none; min-height: 44px; }
.brand-lockup { display: block; width: 193px; height: auto; flex: 0 0 auto; }
.site-footer .brand-lockup { width: 170px; }
.brand-mark { width: 34px; height: 34px; flex: 0 0 auto; }
.brand-name { display: block; font-weight: 900; letter-spacing: 0; line-height: 1; }
.brand-note { display: block; margin-top: 3px; font: 700 .54rem/1.2 var(--font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.primary-nav { display: flex; align-items: center; gap: 2px; }
.primary-nav a { display: inline-flex; min-height: 44px; align-items: center; padding: 0 11px; color: var(--ink); text-decoration: none; font-size: .86rem; font-weight: 750; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color: var(--navy); text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 3px; text-underline-offset: 8px; }
.primary-nav .nav-cta { margin-left: 8px; background: var(--yellow); color: var(--navy); border: 1px solid var(--navy); padding-inline: 17px; text-decoration: none; box-shadow: 4px 4px 0 var(--navy); }
.primary-nav .nav-cta:hover { transform: translate(2px,2px); box-shadow: 2px 2px 0 var(--navy); }
.nav-toggle { display: none; min-height: 44px; padding: 0 14px; border: 1px solid var(--navy); background: var(--cloud); color: var(--navy); font-weight: 800; }

/* Buttons */
.button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 20px; border: 1px solid var(--navy); background: var(--yellow); color: var(--navy); text-decoration: none; font-weight: 850; box-shadow: 5px 5px 0 var(--navy); transition: transform .16s ease, box-shadow .16s ease; }
.button:hover { transform: translate(2px,2px); box-shadow: 3px 3px 0 var(--navy); text-decoration: none; }
.button-secondary { background: transparent; color: var(--navy); box-shadow: none; }
.button-secondary:hover { background: var(--white); box-shadow: none; }
.button-navy { background: var(--navy); color: var(--cloud); border-color: var(--cloud); box-shadow: 5px 5px 0 var(--yellow); }
.button-navy:hover { box-shadow: 3px 3px 0 var(--yellow); }
.button-quiet { background: var(--white); box-shadow: none; }
.text-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; }
.route-arrow { font-family: var(--font-mono); }

/* Hero */
.hero-v2 { position: relative; overflow: hidden; background: var(--cloud); border-bottom: 1px solid var(--line); }
.hero-v2::before { display:none; }
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(0,.87fr) minmax(560px,1.13fr); gap: clamp(36px,5vw,78px); align-items: center; min-height: calc(100vh - 76px); padding: clamp(48px,7vh,78px) 0; }
.hero-copy { position: relative; z-index: 2; }
.hero-copy h1 { color: var(--navy); }
.hero-copy .lede { max-width: 58ch; }
.hero-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin-top: 34px; background: var(--line); border: 1px solid var(--line); max-width: 610px; }
.hero-meta span { background: var(--cloud); padding: 10px 12px; font: 750 .72rem/1.35 var(--font-mono); color: var(--ink-2); }
.fit-note { display: flex; gap: 10px; align-items: flex-start; margin-top: 20px; font-size: .84rem; color: var(--muted); max-width: 58ch; }
.fit-note::before { content: "FIT"; flex: 0 0 auto; background: var(--periwinkle-pale); color: var(--navy); border: 1px solid var(--periwinkle); padding: 3px 6px; font: 850 .6rem/1 var(--font-mono); letter-spacing: .06em; }
.hero-evidence { position: relative; min-height: 620px; }
.map-canvas { position: absolute; inset: 0 24px 78px 0; overflow: hidden; background: var(--navy); border: 1px solid var(--navy); box-shadow: var(--shadow); }
.map-canvas::before { display:none; }
.map-head { position: absolute; z-index: 3; top: 18px; left: 18px; right: 18px; display: flex; justify-content: space-between; gap: 16px; color: var(--cloud); font: 750 .68rem/1.25 var(--font-mono); text-transform: uppercase; letter-spacing: .07em; }
.map-head .map-mode { background: var(--yellow); color: var(--navy); padding: 6px 8px; }
.route-map { position: absolute; inset: 58px 16px 128px 16px; width: calc(100% - 32px); height: calc(100% - 186px); }
.route-map .base-route { stroke: #6A7FC0; stroke-width: 2.3; fill: none; opacity: .7; }
.route-map .broken-route { stroke: #F2F1EF; stroke-width: 3; fill: none; stroke-dasharray: 8 9; opacity: .82; }
.route-map .approved-route { stroke:var(--yellow); stroke-width:5; fill:none; }
@keyframes route-flow { to { stroke-dashoffset: -80; } }
.map-node rect { fill: #011E60; stroke: #6A7FC0; stroke-width: 1.5; }
.map-node text { fill: var(--cloud); font: 700 13px var(--font-mono); }
.map-node circle { stroke: var(--navy); stroke-width: 3; }
.map-node.target rect { fill: var(--cloud); stroke: var(--yellow); stroke-width: 3; }
.map-node.target text { fill: var(--navy); }
.inspection-marker { position: absolute; z-index: 4; right: 18px; top: 76px; display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: center; max-width: 220px; background: var(--yellow); color: var(--navy); border: 1px solid var(--navy); padding: 10px 12px; box-shadow: 4px 4px 0 var(--cloud); }
.inspection-marker b { font: 900 1.1rem/1 var(--font-mono); }
.inspection-marker span { font-size: .72rem; line-height: 1.35; font-weight: 800; }
.map-legend { position: absolute; z-index: 3; left: 18px; bottom: 20px; display: flex; gap: 18px; color: #F2F1EF; font: 700 .65rem/1.3 var(--font-mono); }
.legend-path { display: inline-block; width: 24px; height: 3px; margin-right: 7px; vertical-align: middle; background: var(--yellow); }
.legend-path.broken { background: transparent; border-top: 2px dashed var(--cloud); }
.record { background: var(--white); color: var(--ink); border: 1px solid var(--navy); box-shadow: var(--shadow); }
.hero-record { position: absolute; z-index: 6; right: 0; bottom: 0; width: min(500px, 88%); }
.record-head { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 13px 16px; background: var(--periwinkle-pale); border-bottom: 1px solid var(--navy); }
.record-head strong { font: 900 .75rem/1 var(--font-mono); color: var(--navy); }
.record-code { font: 750 .64rem/1.2 var(--font-mono); color: var(--muted); }
.status { display: inline-flex; align-items: center; gap: 7px; min-height: 28px; padding: 0 9px; border: 1px solid currentColor; font: 850 .64rem/1 var(--font-mono); text-transform: uppercase; letter-spacing: .05em; }
.status::before { content: "✓"; font-weight: 900; }
.status-approved { color: var(--success); background: var(--success-pale); }
.status-edited { color: var(--navy); background: var(--yellow-pale); }
.status-edited::before { content: "✎"; }
.status-rejected { color: var(--danger); background: var(--danger-pale); }
.status-rejected::before { content: "×"; }
.status-pending { color: var(--navy); background: var(--periwinkle-pale); }
.status-pending::before { content: "…"; }
.record-grid { display: grid; grid-template-columns: 1fr 1fr; }
.record-field { min-width: 0; padding: 12px 14px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: .82rem; line-height: 1.4; }
.record-field:nth-child(2n) { border-right: 0; }
.record-field.wide { grid-column: 1 / -1; border-right: 0; }
.record-label { display: block; margin-bottom: 5px; font: 800 .59rem/1.2 var(--font-mono); text-transform: uppercase; letter-spacing: .07em; color: var(--muted); }
.record-field code, .url { color: var(--navy); font: 700 .72rem/1.35 var(--font-mono); overflow-wrap: anywhere; }
.anchor-mark { display:inline; background:var(--yellow); color:var(--navy); padding:0 .18em; font-weight:850; }

/* Page heroes */
.page-hero { position: relative; overflow: hidden; padding: clamp(64px,8vw,110px) 0 clamp(58px,7vw,90px); border-bottom: 1px solid var(--line); }
.page-hero--navy { background: var(--navy); color: var(--cloud); }
.page-hero--peri { background: var(--periwinkle); color: var(--ink); }
.page-hero--cloud { background: var(--cloud); }
.page-hero::after { content: attr(data-coordinate); position: absolute; right: clamp(20px,5vw,72px); bottom: -1.8rem; color: var(--navy); font: 900 9rem/1 var(--font-mono); letter-spacing: 0; pointer-events: none; }
.page-hero--navy::after { color: var(--cloud); }
.page-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(280px,.55fr); gap: 70px; align-items: end; }
.page-hero h1 { max-width: 16ch; }
.page-route-index { border-left: 4px solid var(--yellow); padding-left: 20px; }
.page-route-index strong { font: 850 .67rem/1.3 var(--font-mono); letter-spacing: .07em; text-transform: uppercase; }
.page-route-index ol { list-style: none; margin: 14px 0 0; padding: 0; counter-reset: route; }
.page-route-index li { counter-increment: route; display: grid; grid-template-columns: 28px 1fr; gap: 8px; padding: 8px 0; border-top: 1px solid var(--navy); font-size: .82rem; }
.page-route-index li::before { content: counter(route, decimal-leading-zero); color: var(--navy); font: 850 .65rem/1.6 var(--font-mono); }
.page-hero--navy .page-route-index li { border-color: var(--cloud); }
.page-hero--navy .page-route-index li::before { color: var(--yellow); }
.breadcrumbs { margin-bottom: 28px; font: 750 .69rem/1.4 var(--font-mono); color: var(--muted); }
.page-hero--navy .breadcrumbs { color: #F2F1EF; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; list-style: none; gap: 8px; padding: 0; margin: 0; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 8px; opacity: .6; }
.breadcrumbs a { color: inherit; }

/* Structural components */
.two-col { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: clamp(44px,7vw,100px); align-items: start; }
.three-col { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.four-col { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.rule-list { border-top: 1px solid var(--navy); }
.rule-item { display: grid; grid-template-columns: 85px minmax(0,1fr) minmax(260px,.7fr); gap: 22px; padding: 24px 0; border-bottom: 1px solid var(--line); align-items: start; }
.rule-code { font: 850 .67rem/1.4 var(--font-mono); color: var(--navy); }
.rule-item h3 { margin: 0; }
.rule-item p { margin: 0; color: var(--muted); }
.inspection-strip { background: var(--yellow); color: var(--navy); border-block: 1px solid var(--navy); padding: 14px 0; }
.inspection-strip .container { display: flex; gap: 28px; align-items: center; justify-content: space-between; }
.inspection-strip strong { font: 900 .7rem/1.2 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; }
.inspection-strip span { font-size: .9rem; font-weight: 750; }
.annotation { border-left: 5px solid var(--yellow); background: var(--white); padding: 18px 20px; }
.annotation strong { color: var(--navy); }
.boundary { border: 1px solid var(--navy); background: var(--yellow-pale); padding: 22px; }
.boundary::before { content: "COMMERCIAL BOUNDARY"; display: block; margin-bottom: 9px; color: var(--navy); font: 900 .62rem/1.2 var(--font-mono); letter-spacing: .07em; }
.evidence-card { background: var(--white); border: 1px solid var(--line); border-top: 6px solid var(--periwinkle); padding: 25px; min-height: 230px; }
.evidence-card strong.step { display: block; margin-bottom: 30px; color: var(--navy); font: 900 1.5rem/1 var(--font-mono); }
.evidence-card p { color: var(--muted); }
.evidence-card.yellow { border-top-color: var(--yellow); }
.evidence-card.navy { border-top-color: var(--navy); }
.route-steps { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 0; border: 1px solid var(--navy); background: var(--white); }
.route-step { position: relative; padding: 28px 24px 30px; border-right: 1px solid var(--navy); }
.route-step:last-child { border-right: 0; }
.route-step::after { content: "→"; position: absolute; z-index: 2; right: -15px; top: 25px; display: grid; place-items: center; width: 29px; height: 29px; background: var(--yellow); border: 1px solid var(--navy); color: var(--navy); font: 900 1rem/1 var(--font-mono); }
.route-step:last-child::after { display: none; }
.route-step .step-no { font: 900 2rem/1 var(--font-mono); color: var(--periwinkle); }
.route-step h3 { margin-top: 28px; }
.route-step p { color: var(--muted); font-size: .9rem; }
.route-step ul { padding-left: 18px; color: var(--muted); font-size: .87rem; }

/* Tables */
.table-wrap { overflow-x: auto; border: 1px solid var(--navy); background: var(--white); }
table { width: 100%; border-collapse: collapse; font-size: .86rem; }
th { background: var(--navy); color: var(--cloud); text-align: left; font: 800 .65rem/1.3 var(--font-mono); letter-spacing: .055em; text-transform: uppercase; padding: 13px 14px; }
td { padding: 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
tr:last-child td { border-bottom: 0; }
tbody tr:nth-child(even) { background: #F2F1EF; }
td code { color: var(--navy); font: 700 .7rem/1.4 var(--font-mono); overflow-wrap: anywhere; }

/* Sample pack */
.anatomy-stage { position: relative; min-height: 610px; }
.sheet { position: absolute; background: var(--white); border: 1px solid var(--navy); box-shadow: var(--shadow); }
.sheet-back { inset: 42px 80px 30px 0; transform: rotate(-2deg); background: var(--periwinkle-pale); }
.sheet-mid { inset: 20px 34px 52px 40px; transform: rotate(1.6deg); }
.sheet-front { inset: 0 0 74px 72px; display: flex; flex-direction: column; }
.sheet-title { display: flex; justify-content: space-between; gap: 15px; align-items: center; padding: 16px 18px; background: var(--navy); color: var(--cloud); }
.sheet-title span { font: 750 .67rem/1.3 var(--font-mono); }
.sheet-columns { display: grid; grid-template-columns: 110px 1fr 1fr; border-bottom: 1px solid var(--line); }
.sheet-columns > div { padding: 12px; border-right: 1px solid var(--line); font-size: .72rem; }
.sheet-columns > div:last-child { border-right: 0; }
.sheet-columns.head { background: var(--periwinkle-pale); color: var(--navy); font: 800 .62rem/1.2 var(--font-mono); text-transform: uppercase; }
.sheet-inspection { margin: auto 16px 18px; padding: 12px 14px; background: var(--yellow-pale); border-left: 5px solid var(--yellow); font-size: .8rem; }
.anatomy-label { position: absolute; z-index: 5; display: flex; align-items: center; gap: 8px; color: var(--navy); font: 850 .66rem/1.2 var(--font-mono); text-transform: uppercase; }
.anatomy-label::before { content: ""; width: 34px; height: 2px; background: var(--yellow); }
.anatomy-label.one { top: 76px; right: 8px; }
.anatomy-label.two { bottom: 34px; left: 8px; }

/* Studio */
.studio-window { border: 1px solid #6A7FC0; background: #011E60; color: var(--cloud); box-shadow: 0 24px 65px var(--navy); }
.studio-topbar { min-height: 52px; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 0 18px; border-bottom: 1px solid #6A7FC0; background: #011E60; }
.studio-topbar span { font: 750 .68rem/1.2 var(--font-mono); color: #F2F1EF; }
.studio-lights { display: flex; gap: 7px; }
.studio-lights i { width: 9px; height: 9px; background: var(--periwinkle); border: 1px solid #F2F1EF; }
.studio-lights i:last-child { background: var(--yellow); border-color: var(--yellow); }
.studio-grid { display: grid; grid-template-columns: 210px minmax(0,1fr) 320px; min-height: 600px; }
.studio-nav { border-right: 1px solid #6A7FC0; padding: 18px 12px; }
.studio-nav a, .studio-nav > span { display: flex; justify-content: space-between; min-height: 42px; align-items: center; padding: 0 10px; color: #F2F1EF; text-decoration: none; font-size: .78rem; }
.studio-nav a.active, .studio-nav > span.active { background: var(--periwinkle); color: var(--ink); font-weight: 850; }
.studio-queue { padding: 20px; min-width: 0; }
.queue-tools { display: flex; justify-content: space-between; gap: 14px; align-items: center; margin-bottom: 18px; }
.queue-tools strong { font-size: 1.05rem; }
.queue-filter { border: 1px solid #6A7FC0; padding: 7px 9px; color: #F2F1EF; font: 700 .62rem/1.2 var(--font-mono); }
.queue-table { border-top: 1px solid #6A7FC0; }
.queue-row { display: grid; grid-template-columns: 72px 74px 1fr 1fr; gap: 10px; align-items: center; min-height: 56px; padding: 9px 0; border-bottom: 1px solid #011E60; font-size: .7rem; }
.queue-row.head { min-height: 36px; color: #6A7FC0; font: 700 .6rem/1.2 var(--font-mono); text-transform: uppercase; }
.queue-row.selected { margin-inline: -10px; padding-inline: 10px; background: var(--periwinkle); border-left: 4px solid var(--yellow); }
.studio-detail { border-left: 1px solid #6A7FC0; background: #F2F1EF; color: var(--ink); padding: 20px; }
.studio-detail h3 { color: var(--navy); }
.detail-field { padding: 12px 0; border-bottom: 1px solid var(--line); font-size: .78rem; }
.detail-field label { display:block; margin-bottom: 4px; color: var(--muted); font: 800 .58rem/1.2 var(--font-mono); text-transform: uppercase; }

/* Editorial */
.insights-lead { display: grid; grid-template-columns: 1.25fr .75fr; border: 1px solid var(--navy); background: var(--white); }
.insights-lead-copy { padding: clamp(28px,5vw,62px); }
.insights-lead-map { position: relative; min-height: 440px; background: var(--periwinkle); border-left: 1px solid var(--navy); overflow: hidden; }
.insights-lead-map::before, .insights-lead-map::after { content:""; position:absolute; border: 2px solid var(--navy); background: var(--cloud); width: 96px; height: 56px; }
.insights-lead-map::before { left: 18%; top: 20%; }
.insights-lead-map::after { right: 14%; bottom: 18%; background: var(--yellow); }
.map-route-decor { position:absolute; inset:0; }
.editorial-grid { display: grid; grid-template-columns: 1.3fr .85fr .85fr; gap: 18px; }
.editorial-card { display: flex; flex-direction: column; justify-content: space-between; min-height: 330px; padding: 27px; border: 1px solid var(--navy); background: var(--white); text-decoration: none; color: var(--ink); }
.editorial-card:hover { background: var(--periwinkle-pale); text-decoration: none; }
.editorial-card.featured { grid-row: span 2; min-height: 680px; background: var(--navy); color: var(--cloud); }
.editorial-card .article-no { font: 900 2.7rem/1 var(--font-mono); color: var(--periwinkle); }
.editorial-card.featured .article-no { color: var(--yellow); }
.editorial-card p { color: var(--muted); }
.editorial-card.featured p { color: #F2F1EF; }
.editorial-card .topic { font: 850 .62rem/1.2 var(--font-mono); text-transform: uppercase; letter-spacing: .07em; color: var(--navy); }
.editorial-card.featured .topic { color: var(--yellow); }
.article-layout { display: grid; grid-template-columns: 220px minmax(0,var(--reading)) 220px; gap: 44px; align-items: start; }
.article-toc, .article-margin { position: sticky; top: 106px; font-size: .82rem; }
.article-toc strong, .article-margin strong { display: block; margin-bottom: 12px; font: 850 .63rem/1.3 var(--font-mono); text-transform: uppercase; letter-spacing: .07em; color: var(--navy); }
.article-toc ol { margin: 0; padding-left: 19px; }
.article-toc li { margin-bottom: 8px; }
.article-body { background: var(--white); border: 1px solid var(--line); padding: clamp(28px,5vw,62px); }
.article-body h2 { margin-top: 2em; scroll-margin-top: 110px; }
.article-body h3 { margin-top: 1.7em; }
.article-body p, .article-body li { color: var(--ink-2); }
.article-body blockquote { margin: 32px 0; padding: 24px; background: var(--periwinkle-pale); border-left: 6px solid var(--yellow); font-size: 1.12rem; }
.article-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 25px 0 0; padding-top: 18px; border-top: 1px solid var(--line); font: 750 .68rem/1.4 var(--font-mono); color: var(--muted); }
.margin-note { padding: 15px; border: 1px solid var(--navy); background: var(--yellow-pale); margin-bottom: 16px; }
.margin-note p { font-size: .75rem; margin: 0; }
.hub-map { display: grid; grid-template-columns: .7fr 1.3fr; gap: 50px; align-items: center; }
.hub-map-visual { position: relative; aspect-ratio: 1; max-width: 540px; margin-inline: auto; }
.hub-core { position: absolute; left: 34%; top: 36%; width: 32%; aspect-ratio: 1.2; display:grid; place-items:center; background: var(--yellow); border: 2px solid var(--navy); color: var(--navy); text-align:center; font-weight: 900; padding: 10px; }
.hub-node { position: absolute; width: 29%; min-height: 80px; display:grid; place-items:center; padding: 12px; background: var(--white); border: 1px solid var(--navy); color: var(--navy); text-align:center; font-size:.8rem; font-weight:800; }
.hub-node.n1 { left: 2%; top: 8%; }.hub-node.n2 { right: 0; top: 10%; }.hub-node.n3 { left: 0; bottom: 8%; }.hub-node.n4 { right: 3%; bottom: 4%; }
.hub-line { position:absolute; height:2px; background:var(--navy); transform-origin:left center; }
.hub-line.l1 { width:34%; left:26%; top:31%; transform:rotate(25deg); }.hub-line.l2 { width:30%; left:53%; top:34%; transform:rotate(-27deg); }.hub-line.l3 { width:32%; left:26%; top:64%; transform:rotate(-26deg); }.hub-line.l4 { width:31%; left:54%; top:62%; transform:rotate(28deg); }

/* Forms */
.form-shell { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 46px; align-items: start; }
.form-card { background: var(--white); border: 1px solid var(--navy); padding: clamp(24px,4vw,44px); }
.form-card h2 { font-size: 2.65rem; }
.form-card--unavailable { border-top: 7px solid var(--yellow); }
.form-unavailable { margin: 0 0 22px; padding: 17px 18px; border: 1px solid var(--navy); border-left: 6px solid var(--yellow); background: var(--yellow-pale); color: var(--navy); }
.form-unavailable strong { display: block; margin-bottom: 4px; }
.form-unavailable p { margin: 0; }
.form-fields { min-width: 0; border: 0; padding: 0; }
.form-fields[disabled] { opacity: 1; }
.form-fields[disabled] input, .form-fields[disabled] select, .form-fields[disabled] textarea { cursor: not-allowed; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field.full { grid-column: 1 / -1; }
label, legend, .group-legend { font-weight: 800; font-size: .88rem; }
.required { color: var(--danger); }
input, select, textarea { width: 100%; min-height: 50px; border: 1px solid var(--line-dark); border-radius: 0; padding: .72rem .8rem; background: var(--white); color: var(--ink); }
textarea { min-height: 135px; resize: vertical; }
input:hover, select:hover, textarea:hover { border-color: var(--navy); }
input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: var(--danger); background: #F2F1EF; }
.field-help { font-size: .76rem; line-height: 1.45; color: var(--muted); }
fieldset, .goal-group { grid-column: 1/-1; border: 1px solid var(--line); padding: 18px; margin: 0; }
.check-list { display: grid; gap: 7px; margin-top: 10px; }
.check { display: grid; grid-template-columns: 24px 1fr; gap: 9px; align-items: start; min-height: 44px; font-weight: 500; }
.check input { width: 20px; min-height: 20px; margin: 3px 0 0; }
.consent-box { grid-column: 1/-1; padding: 16px; background: var(--periwinkle-pale); border-left: 5px solid var(--periwinkle); }
.form-aside { position: sticky; top: 104px; }
.aside-panel { border: 1px solid var(--navy); background: var(--white); padding: 20px; margin-bottom: 16px; }
.aside-panel.yellow { background: var(--yellow-pale); }
.error-summary { display: none; margin-bottom: 22px; border: 2px solid var(--danger); background: var(--danger-pale); padding: 15px; }
.error-summary.show { display: block; }
.error-summary strong { display: block; color: var(--danger); }
.form-status { min-height: 24px; margin-top: 15px; font-size: .82rem; font-weight: 800; color: var(--success); }
.form-status--success { color: var(--success); }
.form-status--error { color: var(--danger); }
.honeypot-field { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[hidden] { display: none !important; }

/* Data ledger */
.ledger { border-top: 2px solid var(--navy); }
.ledger-row { display: grid; grid-template-columns: 140px 1fr 1fr; gap: 24px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.ledger-row .code { color: var(--navy); font: 850 .68rem/1.4 var(--font-mono); }
.ledger-row strong { color: var(--navy); }
.ledger-row p { margin: 0; color: var(--muted); }

/* Legal */
.utility-hero { padding: 58px 0 42px; background: var(--navy); color: var(--cloud); border-bottom: 8px solid var(--yellow); }
.utility-hero h1 { font-size: 4.5rem; max-width: 16ch; }
.legal-layout { display: grid; grid-template-columns: 210px minmax(0,var(--reading)); gap: 56px; align-items: start; }
.legal-nav { position: sticky; top: 104px; font-size: .78rem; }
.legal-nav strong { font: 850 .62rem/1.3 var(--font-mono); text-transform: uppercase; letter-spacing: .07em; color: var(--navy); }
.legal-nav ol { padding-left: 18px; }
.legal-body { background: var(--white); border: 1px solid var(--line); padding: clamp(28px,5vw,58px); }
.legal-body h2 { font-size: 2rem; max-width: none; margin-top: 1.8em; }
.legal-body h2:first-child { margin-top: 0; }
.draft-warning { padding: 16px 18px; background: var(--yellow-pale); border: 1px solid var(--navy); margin-bottom: 28px; font-weight: 750; }

/* Utility and comparison */
.utility-page { min-height: calc(100vh - 76px); display: grid; align-items: center; padding: 68px 0; }
.route-error { display: grid; grid-template-columns: 1fr .8fr; gap: 70px; align-items: center; }
.error-code { color: var(--periwinkle); font: 900 12rem/.75 var(--font-mono); letter-spacing: 0; }
.next-steps { counter-reset: next; border-top: 1px solid var(--navy); }
.next-step { counter-increment: next; display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.next-step::before { content: counter(next,decimal-leading-zero); color:var(--navy); font:900 .72rem/1.6 var(--font-mono); }
.comparison-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.compare-panel { border: 1px solid var(--navy); background: var(--white); }
.compare-head { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:13px 15px; background:var(--navy); color:var(--cloud); font:800 .68rem/1.2 var(--font-mono); text-transform:uppercase; letter-spacing:.06em; }
.compare-panel img { display:block; width:100%; height:auto; }
.mini-hero { min-height: 560px; display:grid; grid-template-columns:.85fr 1.15fr; gap:22px; padding:26px; background:var(--cloud); }
.mini-hero h2 { font-size: 3rem; color:var(--navy); }
.mini-map { position:relative; min-height:430px; background:var(--navy); overflow:hidden; }
.mini-map svg { position:absolute; inset:25px; width:calc(100% - 50px); height:calc(100% - 50px); }
.compare-notes { margin-top: 30px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.compare-note { border-top:5px solid var(--yellow); background:var(--white); padding:20px; }

/* Design system */
.token-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.swatch { min-height:170px; padding:15px; border:1px solid var(--navy); display:flex; flex-direction:column; justify-content:space-between; font:800 .7rem/1.35 var(--font-mono); }
.swatch.navy { background:var(--navy); color:var(--cloud); }.swatch.yellow { background:var(--yellow); color:var(--navy); }.swatch.peri { background:var(--periwinkle); color:var(--ink); }.swatch.cloud { background:var(--cloud); color:var(--navy); }
.component-row { padding:34px 0; border-top:1px solid var(--line); }
.component-row:first-child { border-top:0; }

/* CTA and footer */
.final-cta { position: relative; overflow: hidden; background: var(--navy); color: var(--cloud); border-top: 10px solid var(--yellow); padding: clamp(56px,8vw,96px) 0; }
.final-cta::after { content:"APPROVED PATH"; position:absolute; right:-30px; bottom:6px; color:var(--cloud); font:900 5rem/1 var(--font-mono); white-space:nowrap; }
.final-cta-grid { position:relative; z-index:1; display:grid; grid-template-columns:1fr auto; gap:42px; align-items:end; }
.final-cta h2 { max-width:14ch; }
.final-cta p { color:#F2F1EF; max-width:62ch; }
.site-footer { background:#011E60; color:var(--cloud); padding:64px 0 26px; }
.footer-grid { display:grid; grid-template-columns:1.35fr repeat(3,1fr); gap:50px; }
.footer-brand p { color:#F2F1EF; max-width:38ch; font-size:.87rem; }
.footer-col strong { display:block; margin-bottom:14px; color:var(--yellow); font:850 .63rem/1.3 var(--font-mono); text-transform:uppercase; letter-spacing:.07em; }
.footer-col a { display:block; min-height:42px; padding:8px 0; color:var(--cloud); text-decoration:none; font-size:.86rem; }
.footer-col a:hover { text-decoration:underline; }
.footer-bottom { display:flex; justify-content:space-between; gap:24px; margin-top:46px; padding-top:20px; border-top:1px solid #6A7FC0; color:#F2F1EF; font:700 .64rem/1.5 var(--font-mono); }

/* Responsive */
@media (max-width: 1160px) {
  .primary-nav a { padding-inline:7px; font-size:.8rem; }
  .hero-grid { grid-template-columns:minmax(0,.8fr) minmax(500px,1.2fr); gap:34px; }
  .article-layout { grid-template-columns:190px minmax(0,1fr); }
  .article-margin { display:none; }
  .studio-grid { grid-template-columns:180px minmax(0,1fr) 280px; }
  .editorial-grid { grid-template-columns:1fr 1fr; }
  .editorial-card.featured { grid-column:1/-1; grid-row:auto; min-height:430px; }
}
@media (max-width: 900px) {
  .header-inner { min-height:68px; }
  .nav-toggle { display:inline-flex; align-items:center; }
  .primary-nav { display:none; position:absolute; top:68px; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; padding:10px 20px 20px; background:var(--cloud); border-bottom:1px solid var(--navy); box-shadow:var(--shadow); }
  .primary-nav.open { display:flex; }
  .primary-nav a { padding:0 8px; border-bottom:1px solid var(--line); }
  .primary-nav .nav-cta { margin:12px 0 0; justify-content:center; }
  .hero-grid { min-height:auto; grid-template-columns:1fr; padding:62px 0 72px; }
  .hero-copy h1 { max-width:13ch; }
  .hero-evidence { min-height:610px; }
  .map-canvas { inset:0 0 102px 0; }
  .hero-record { width:92%; }
  .page-hero-grid, .two-col, .form-shell, .hub-map, .legal-layout, .route-error { grid-template-columns:1fr; }
  .page-route-index { max-width:520px; }
  .three-col { grid-template-columns:1fr 1fr; }
  .four-col { grid-template-columns:1fr 1fr; }
  .route-steps { grid-template-columns:1fr 1fr; }
  .route-step:nth-child(2) { border-right:0; }
  .route-step:nth-child(-n+2) { border-bottom:1px solid var(--navy); }
  .route-step:nth-child(2)::after { display:none; }
  .rule-item { grid-template-columns:70px 1fr; }
  .rule-item p { grid-column:2; }
  .studio-grid { grid-template-columns:1fr; }
  .studio-nav { display:flex; overflow-x:auto; border-right:0; border-bottom:1px solid #6A7FC0; }
  .studio-nav a, .studio-nav > span { flex:0 0 auto; }
  .studio-detail { border-left:0; border-top:1px solid #6A7FC0; }
  .insights-lead { grid-template-columns:1fr; }
  .insights-lead-map { border-left:0; border-top:1px solid var(--navy); min-height:300px; }
  .article-layout { grid-template-columns:1fr; }
  .article-toc { position:static; padding:20px; background:var(--periwinkle-pale); border:1px solid var(--line); }
  .legal-nav { position:static; }
  .final-cta-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .comparison-grid { grid-template-columns:1fr; }
  .mini-hero { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .container, .reading { width:min(calc(100% - 28px), var(--content)); }
  body { font-size:15.5px; }
  h1 { font-size:3.05rem; }
  h2 { font-size:2.3rem; }
  .section { padding:68px 0; }
  .button-row { flex-direction:column; }
  .button { width:100%; }
  .hero-grid { padding-top:48px; }
  .hero-meta { grid-template-columns:1fr; }
  .hero-evidence { min-height:auto; display:flex; flex-direction:column; gap:12px; }
  .map-canvas { position:relative; inset:auto; height:430px; }
  .route-map { inset:58px 6px 90px; width:calc(100% - 12px); height:calc(100% - 148px); }
  .inspection-marker { top:70px; right:10px; max-width:175px; padding:8px; }
  .map-legend { flex-direction:column; gap:7px; bottom:12px; }
  .hero-record { position:relative; right:auto; bottom:auto; width:100%; }
  .record-grid { grid-template-columns:1fr; }
  .record-field, .record-field:nth-child(2n) { border-right:0; }
  .page-hero { padding:54px 0 48px; }
  .page-hero::after { font-size:5rem; }
  .three-col, .four-col, .route-steps, .editorial-grid, .token-grid, .compare-notes { grid-template-columns:1fr; }
  .route-step { border-right:0; border-bottom:1px solid var(--navy); }
  .route-step:last-child { border-bottom:0; }
  .route-step::after { display:none; }
  .rule-item { grid-template-columns:1fr; gap:8px; }
  .rule-item p { grid-column:auto; }
  .inspection-strip .container { flex-direction:column; align-items:flex-start; gap:5px; }
  .anatomy-stage { min-height:540px; }
  .sheet-back { inset:40px 20px 24px 0; }
  .sheet-mid { inset:20px 5px 48px 14px; }
  .sheet-front { inset:0 0 62px 26px; }
  .sheet-columns { grid-template-columns:76px 1fr; }
  .sheet-columns > div:nth-child(3) { display:none; }
  .studio-queue { overflow-x:auto; }
  .form-grid { grid-template-columns:1fr; }
  .field.full, fieldset, .consent-box { grid-column:auto; }
  .ledger-row { grid-template-columns:1fr; gap:8px; }
  .legal-body, .article-body { padding:24px 19px; }
  .utility-page { padding:48px 0; }
  .footer-grid { grid-template-columns:1fr; gap:28px; }
  .footer-bottom { flex-direction:column; }
  .final-cta::after { display:none; }
  .mini-hero { padding:18px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
@media print {
  .site-header,.site-footer,.button-row,.page-route-index,.article-toc,.article-margin { display:none!important; }
  body { background:var(--cloud); color:var(--navy); }
  .section,.page-hero { padding:24px 0; }
  .record,.article-body,.legal-body { box-shadow:none; break-inside:avoid; }
}

.page-hero--peri .lede, .page-hero--peri .breadcrumbs, .page-hero--peri .eyebrow, .page-hero--peri .page-route-index li::before { color: var(--ink); }
details { border-bottom: 1px solid var(--line); }
summary { min-height: 62px; display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; font-weight:850; list-style:none; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; color:var(--navy); font:900 1.2rem/1 var(--font-mono); }
details[open] summary::after { content:"−"; }
details > div { padding:0 0 22px; max-width:72ch; }
button:disabled { opacity:.72; cursor:not-allowed; }
button[aria-busy="true"] { cursor:progress; opacity:.82; }
@media (max-width:620px) {
  .table-wrap { scrollbar-width:thin; }
  .table-wrap::after { content:"Swipe table horizontally for remaining columns"; display:block; padding:8px 12px; background:var(--yellow-pale); color:var(--navy); font:800 .6rem/1.3 var(--font-mono); text-transform:uppercase; letter-spacing:.04em; }
}
.table-wrap { min-width: 0; max-width: 100%; overflow-x: auto; overflow-y: hidden; contain: inline-size; }
.next-step h2 { font-size: 1.3rem; line-height: 1.15; letter-spacing: 0; margin-bottom: .4em; }
@media (max-width: 900px) {
  .route-steps { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 620px) {
  .route-steps { grid-template-columns: 1fr !important; }
  .studio-queue .queue-row { min-width: 620px; }
  .studio-window > .queue-table .queue-row { min-width: 0; grid-template-columns: 70px 64px minmax(0,1fr) minmax(0,1fr); }
  .table-wrap { width: 100%; max-width: calc(100vw - 28px); }
}
html, body { max-width: 100%; overflow-x: clip; }
@media (max-width: 620px) {
  .section-kicker { flex-direction: column; align-items: flex-start; }
  .section-kicker p { max-width: none; }
}


/* V3 locked-palette system */
html, body { max-width: 100%; overflow-x: clip; }
body { color: var(--navy); background: var(--cloud); }
a { color: var(--navy); }
h1,h2,h3,h4,.brand-name,.next-step h2,.error-code { letter-spacing: 0; }
h1 { font-size: 5.25rem; line-height: .98; }
h2 { font-size: 3.55rem; line-height: 1.02; }
h3 { font-size: 1.45rem; }
.lede { font-size: 1.22rem; color: var(--navy); }
.section { padding: 112px 0; }
.section-tight { padding: 78px 0; }
.section-white { background: var(--cloud); }
.section-peri { background: var(--cloud); border-top: 18px solid var(--periwinkle); }
.section-navy { background: var(--navy); color: var(--cloud); }
.section-navy p,.section-navy .lede,.section-navy .section-kicker p,.page-hero--navy .lede,.page-hero--navy .breadcrumbs { color: var(--cloud); }
.site-header { background: var(--cloud); border-bottom: 1px solid var(--navy); backdrop-filter: none; }
.primary-nav a { color: var(--navy); }
.primary-nav a:hover,.primary-nav a[aria-current="page"] { color: var(--navy); }
.button,.primary-nav .nav-cta { box-shadow: 4px 4px 0 var(--navy); }
.button-secondary { background: var(--cloud); }
.button-secondary:hover,.button-quiet { background: var(--cloud); }
.fit-note { color: var(--navy); }
.fit-note::before { background: var(--periwinkle); color: var(--navy); border-color: var(--navy); }
.hero-meta { background: var(--navy); border-color: var(--navy); }
.hero-meta span { background: var(--cloud); color: var(--navy); }
.record,.form-card,.article-body,.legal-body,.compare-panel,.compare-note,.annotation,.evidence-card,.route-steps,.table-wrap,.sheet,.insights-lead,.editorial-card,.hub-node,.aside-panel { background: var(--cloud); color: var(--navy); box-shadow: none; }
.record { box-shadow: 6px 6px 0 var(--navy); }
.record-head { background: var(--periwinkle); color: var(--navy); }
.record-code,.record-label,.record-field,.rule-item p,.evidence-card p,.route-step p,.route-step ul,.field-help,.ledger-row p,.editorial-card p,.article-body p,.article-body li,.muted { color: var(--navy); }
.status-approved { color: var(--success); background: var(--cloud); }
.status-edited,.status-pending { color: var(--navy); background: var(--cloud); border-color: var(--navy); }
.status-rejected { color: var(--danger); background: var(--cloud); }
.anchor-mark { background: var(--yellow); color: var(--navy); padding: 0 .18em; }
.page-hero { padding: 92px 0 76px; }
.page-hero--peri { background: var(--cloud); color: var(--navy); border-top: 18px solid var(--periwinkle); }
.page-hero--cloud { background: var(--cloud); color: var(--navy); }
.page-hero::after { color: var(--navy); opacity: .07; font-size: 9rem; letter-spacing: 0; }
.page-hero--navy::after { color: var(--cloud); opacity: .08; }
.page-route-index li { border-color: var(--periwinkle); }
.page-hero--navy .page-route-index li { border-color: var(--periwinkle); }
.inspection-strip { background: var(--yellow); }
.boundary,.draft-warning,.margin-note,.aside-panel.yellow,.sheet-inspection { background: var(--cloud); border-color: var(--navy); }
.boundary { border-left: 10px solid var(--yellow); }
tbody tr:nth-child(even) { background: var(--cloud); }
.article-body blockquote { background: var(--cloud); border-left-color: var(--yellow); }
.article-toc { color: var(--navy); }
.consent-box { background: var(--cloud); border-left-color: var(--periwinkle); }
input,select,textarea { background: var(--cloud); color: var(--navy); }
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"] { background: var(--cloud); border-color: var(--danger); }
.error-summary { background: var(--cloud); }
.site-footer { background: var(--navy); color: var(--cloud); }
.footer-brand p,.footer-bottom { color: var(--cloud); }
.footer-col a { min-height:44px; }
.footer-bottom { border-color: var(--periwinkle); }
.final-cta::after { color: var(--cloud); opacity: .07; font-size: 5rem; letter-spacing: 0; }
.swatch.peri { color: var(--navy); }
.studio-window,.studio-topbar { background: var(--navy); color: var(--cloud); border-color: var(--periwinkle); box-shadow: 7px 7px 0 var(--periwinkle); }
.studio-window p,.studio-window .muted { color: var(--cloud); }
.studio-nav,.studio-detail,.studio-topbar { border-color: var(--periwinkle); }
.queue-row.selected { background: var(--navy); border-left-color: var(--yellow); outline: 1px solid var(--yellow); }
.editorial-card.featured { background: var(--navy); color: var(--cloud); }
.editorial-card.featured p { color: var(--cloud); }
.article-body,.legal-body { box-shadow: 6px 6px 0 var(--periwinkle); }
.form-card { box-shadow: 6px 6px 0 var(--periwinkle); }
.utility-hero { background: var(--navy); color: var(--cloud); }
.error-code { font-size: 12rem; }
.mini-hero h2 { font-size: 3rem; }
.form-card h2 { font-size: 2.65rem; }
.utility-hero h1 { font-size: 4.5rem; }
.legal-body h2 { font-size: 2rem; }
.final-cta { padding: 84px 0; }
.article-body,.legal-body,.form-card { padding: 46px; }
.section-navy .eyebrow,.page-hero--navy .eyebrow { color: var(--cloud); }

/* Production-quality homepage evidence */
.hero-v3 { position: relative; overflow: hidden; border-bottom: 1px solid var(--navy); }
.hero-v3 .hero-grid { min-height: calc(900px - 76px); grid-template-columns: minmax(0,.82fr) minmax(650px,1.18fr); gap: 46px; padding: 34px 0; align-items: center; }
.hero-v3 .hero-copy h1 { max-width: 10.5ch; color: var(--navy); }
.hero-v3 .hero-copy .lede { max-width: 50ch; }
.hero-v3 .button-row { margin-top: 24px; }
.hero-v3 .fit-note { margin-top: 16px; }
.hero-v3 .hero-meta { margin-top: 22px; }
.hero-v3 .hero-evidence { min-height: 748px; display: grid; grid-template-rows: minmax(0,1fr) auto; align-content: center; gap: 10px; }
.graph-panel { position: relative; min-height: 484px; background: var(--navy); color: var(--cloud); border: 1px solid var(--navy); box-shadow: 7px 7px 0 var(--periwinkle); overflow: hidden; }
.graph-grid { position: absolute; inset: 0; color: var(--cloud); opacity: .08; width: 100%; height: 100%; pointer-events: none; }
.graph-head { min-height: 50px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding: 10px 16px; border-bottom: 1px solid var(--periwinkle); color: var(--cloud); font: 800 .68rem/1.3 var(--font-mono); text-transform: uppercase; letter-spacing: .08em; }
.graph-head .inspection-id { background: var(--yellow); color: var(--navy); border:1px solid var(--cloud); padding:6px 8px; }
.route-map-v3 { display:block; width:100%; height:auto; position:relative; z-index:2; }
.route-map-mobile { display:none; }
.cluster-zone { fill:none; stroke:var(--periwinkle); stroke-width:1.5; }
.cluster-label { fill:var(--cloud); font:800 11px var(--font-mono); letter-spacing:1px; text-transform:uppercase; }
.existing-route { fill:none; stroke:var(--periwinkle); stroke-width:2; opacity:.8; }
.candidate-route { fill:none; stroke:var(--cloud); stroke-width:3; stroke-dasharray:9 8; opacity:.85; }
.approved-route-v3 { fill:none; stroke:var(--yellow); stroke-width:5; stroke-linecap:square; stroke-dasharray: 620; stroke-dashoffset: 620; animation: approve-route 1.8s ease-out .6s 1 forwards; }
@keyframes approve-route { to { stroke-dashoffset: 0; } }
.graph-node rect { fill:var(--navy); stroke:var(--periwinkle); stroke-width:1.5; }
.graph-node text { fill:var(--cloud); font:750 11.5px var(--font-body); }
.graph-node .node-kicker { font:800 8.5px var(--font-mono); letter-spacing:.7px; text-transform:uppercase; }
.graph-node.source rect { fill:var(--yellow); stroke:var(--cloud); stroke-width:2; }
.graph-node.source text,.graph-node.target text { fill:var(--navy); }
.graph-node.target rect { fill:var(--cloud); stroke:var(--yellow); stroke-width:4; }
.page-index .cluster-zone { fill:var(--periwinkle); fill-opacity:.065; stroke-width:1.25; vector-effect:non-scaling-stroke; }
.page-index .cluster-count { fill:var(--periwinkle); font:800 8.5px var(--font-mono); letter-spacing:.7px; text-transform:uppercase; }
.page-index .existing-route { stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; opacity:.62; vector-effect:non-scaling-stroke; }
.page-index .existing-route.cross-cluster { opacity:.46; }
.page-index .candidate-route { stroke-width:2.3; stroke-linecap:round; stroke-dasharray:8 8; opacity:.66; vector-effect:non-scaling-stroke; }
.page-index .approved-route-v3 { stroke-width:5.5; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; animation-delay:.45s; }
.page-index .graph-node rect { stroke-width:1.25; vector-effect:non-scaling-stroke; }
.page-index .graph-node text { font-size:12.25px; }
.page-index .graph-node .node-kicker { font-size:8.75px; letter-spacing:.65px; }
.page-index .graph-node .route-port { fill:var(--yellow); stroke:var(--cloud); stroke-width:2; vector-effect:non-scaling-stroke; }
.page-index .graph-node.source .route-port { fill:var(--yellow); stroke:var(--navy); }
.page-index .route-review rect { fill:var(--navy); stroke:var(--yellow); stroke-width:2; vector-effect:non-scaling-stroke; }
.page-index .route-review text { fill:var(--cloud); font:800 9.25px var(--font-mono); letter-spacing:.65px; }
.page-index .route-review .route-review-state { fill:var(--yellow); font-size:10px; }
.inspection-point circle { fill:var(--yellow); stroke:var(--cloud); stroke-width:2; }
.inspection-point text { fill:var(--navy); font:900 13px var(--font-mono); }
.inspection-caption { fill:var(--yellow); font:800 9.5px var(--font-mono); letter-spacing:.5px; }
.graph-legend { display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; padding: 7px 16px 12px; color:var(--cloud); font:700 .66rem/1.3 var(--font-mono); }
.graph-legend span { display:inline-flex; align-items:center; gap:8px; }
.legend-node,.legend-line { display:inline-block; flex:0 0 auto; }
.legend-node { width:13px; height:13px; border:1px solid var(--periwinkle); }
.legend-node.source { background:var(--yellow); border-color:var(--cloud); }
.legend-node.target { background:var(--cloud); border:3px solid var(--yellow); }
.legend-line { width:28px; border-top:2px solid var(--periwinkle); }
.legend-line.candidate { border-top:2px dashed var(--cloud); }
.legend-line.approved { border-top:4px solid var(--yellow); }
.hero-record-v3 { position:relative; z-index:4; margin-left: 42px; }
.hero-record-v3::before { content:""; position:absolute; left:56%; top:-11px; width:2px; height:12px; background:var(--yellow); }
.hero-record-v3 .record { box-shadow: 6px 6px 0 var(--navy); }
.hero-record-v3 .record-field { padding: 9px 12px; font-size: .76rem; }
.hero-record-v3 .record-label { font-size: .56rem; }
.hero-record-v3 .record-field code { font-size: .66rem; }
.hero-record-v3 .record-head { padding: 10px 13px; }
.hero-record-v3 .record-grid { grid-template-columns:1fr 1fr; }

/* Direction comparison */
.comparison-hero-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.comparison-card { border:1px solid var(--navy); background:var(--cloud); }
.comparison-card header { padding:13px 15px; background:var(--navy); color:var(--cloud); font:800 .68rem/1.3 var(--font-mono); text-transform:uppercase; letter-spacing:.08em; }
.comparison-card img { width:100%; height:auto; display:block; border-top:1px solid var(--navy); }
.mobile-comparison .comparison-card img { max-height:720px; object-fit:cover; object-position:top; }
.distribution-bar { display:flex; height:38px; border:1px solid var(--navy); }
.distribution-bar span { display:block; height:100%; }
.dist-cloud { background:var(--cloud); }.dist-navy { background:var(--navy); }.dist-yellow { background:var(--yellow); }.dist-peri { background:var(--periwinkle); }
.comparison-matrix td:first-child { font-weight:850; }
.risk-note { border-left:8px solid var(--yellow); padding:18px; background:var(--cloud); }

/* Edition-specific colour dominance */
.edition-yellow .site-header { background: var(--yellow); }
.edition-yellow .nav-toggle { background:var(--yellow); }
.edition-yellow .hero-v3 { background:var(--yellow); }
.edition-yellow .hero-v3 .button { background:var(--navy); color:var(--cloud); border-color:var(--navy); box-shadow:4px 4px 0 var(--cloud); }
.edition-yellow .hero-v3 .button-secondary { background:var(--cloud); color:var(--navy); box-shadow:none; }
.edition-yellow .hero-v3 .hero-meta { background:var(--navy); }
.edition-yellow .page-hero--cloud { background:var(--yellow); }
.edition-yellow .final-cta { background:var(--yellow); color:var(--navy); border-top-color:var(--navy); }
.edition-yellow .final-cta p { color:var(--navy); }
.edition-yellow .final-cta .button-navy { background:var(--navy); color:var(--cloud); border-color:var(--navy); box-shadow:5px 5px 0 var(--cloud); }
.edition-yellow .inspection-strip { background:var(--navy); color:var(--cloud); }
.edition-yellow .inspection-strip strong { color:var(--yellow); }
.edition-yellow .editorial-card.featured { border-top:12px solid var(--yellow); }
.edition-yellow .studio-window { box-shadow:7px 7px 0 var(--yellow); }

.edition-cloud .hero-v3 { background:var(--cloud); }
.edition-cloud .hero-v3::before { content:""; position:absolute; inset:0 auto 0 0; width:14px; background:var(--periwinkle); }
.edition-cloud .hero-v3 .graph-panel { box-shadow:7px 7px 0 var(--periwinkle); }
.edition-cloud .page-hero--cloud { border-top:12px solid var(--yellow); }
.edition-cloud .final-cta { background:var(--navy); color:var(--cloud); }
.edition-cloud .final-cta p { color:var(--cloud); }
.edition-cloud .section-peri { border-top-width:22px; }
.edition-cloud .inspection-strip { background:var(--yellow); color:var(--navy); }

@media (max-width:1160px) {
  h1 { font-size:4.45rem; }
  h2 { font-size:3.15rem; }
  .hero-v3 .hero-grid { grid-template-columns:minmax(0,.78fr) minmax(560px,1.22fr); gap:28px; }
  .hero-v3 .hero-evidence { min-height:690px; }
  .graph-panel { min-height:440px; }
}
@media (max-width:900px) {
  h1 { font-size:4rem; }
  h2 { font-size:2.85rem; }
  .section { padding:86px 0; }
  .primary-nav { background:var(--cloud); border-color:var(--navy); }
  .edition-yellow .primary-nav { background:var(--yellow); }
  .hero-v3 .hero-grid { min-height:auto; grid-template-columns:1fr; padding:54px 0 72px; }
  .hero-v3 .hero-copy h1 { max-width:12ch; }
  .hero-v3 .hero-evidence { min-height:auto; }
  .graph-panel { min-height:480px; }
  .hero-record-v3 { margin-left:24px; }
  .comparison-hero-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  h1 { font-size:3.05rem; line-height:1; }
  h2 { font-size:2.3rem; }
  h3 { font-size:1.3rem; }
  .lede { font-size:1.08rem; }
  .section { padding:68px 0; }
  .section-tight { padding:56px 0; }
  .article-body,.legal-body,.form-card { padding:24px 19px; }
  .page-hero { padding:56px 0 48px; }
  .page-hero::after { font-size:5rem; }
  .hero-v3 .hero-grid { padding:42px 0 58px; gap:30px; }
  .hero-v3 .button-row { gap:10px; }
  .hero-v3 .hero-meta { display:none; }
  .hero-v3 .fit-note { font-size:.79rem; }
  .hero-v3 .hero-evidence { gap:12px; }
  .graph-panel { min-height:0; box-shadow:4px 4px 0 var(--periwinkle); }
  .graph-head { align-items:flex-start; flex-direction:column; gap:7px; }
  .route-map-v3 { display:none; }
  .route-map-mobile { display:block; width:100%; height:auto; position:relative; z-index:2; }
  .graph-legend { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
  .hero-record-v3 { margin-left:0; }
  .hero-record-v3::before { left:50%; }
  .hero-record-v3 .record-grid { grid-template-columns:1fr; }
  .hero-record-v3 .record-field { font-size:.79rem; }
  .hero-record-v3 .record-field code { font-size:.67rem; }
  .error-code { font-size:8rem; }
  .utility-hero h1 { font-size:3.1rem; }
  .form-card h2 { font-size:2.2rem; }
  .mini-hero h2 { font-size:2.3rem; }
}
@media (prefers-reduced-motion: reduce) {
  .approved-route-v3 { animation:none; stroke-dashoffset:0; }
}
@media print {
  body { background:var(--cloud); color:var(--navy); }
}

/* Locked-palette contrast safeguards */
.fit-note::before { background: var(--cloud); color: var(--navy); border-color: var(--navy); box-shadow: inset 3px 0 0 var(--periwinkle); }
.record-head { background: var(--navy); color: var(--cloud); border-top: 7px solid var(--periwinkle); }
.record-head strong, .record-head .record-code { color: var(--cloud); }
.studio-nav a.active, .studio-nav > span.active { background: var(--cloud); color: var(--navy); box-shadow: inset 5px 0 0 var(--periwinkle); border-bottom: 2px solid var(--yellow); }
.queue-row.head { color: var(--cloud); }
.studio-detail p, .studio-detail .mono-label, .studio-detail .muted { color: var(--navy); }
.section-navy .boundary, .section-navy .boundary p, .section-navy .boundary strong,
.section-navy .annotation, .section-navy .annotation p, .section-navy .annotation strong { color: var(--navy); }
.utility-hero .breadcrumbs, .utility-hero .breadcrumbs a, .utility-hero .eyebrow, .utility-hero .lede { color: var(--cloud); }
.swatch.peri { background: var(--periwinkle); color: var(--navy); }
.swatch.peri span { display: inline-block; align-self: flex-start; background: var(--cloud); color: var(--navy); padding: 3px 5px; }

/* ================================================================
   V4 BALANCED-COLOUR STRUCTURAL REVISION
   V3 remains the implementation base. These rules change section
   composition, not the approved graph, copy, or interaction model.
   ================================================================ */

body.edition-balanced { background: var(--cloud); color: var(--navy); }
.edition-balanced .site-header { background: var(--cloud); border-bottom: 1px solid var(--navy); }
.edition-balanced .header-inner { min-height: 68px; }
.edition-balanced .primary-nav { background: var(--cloud); }
.edition-balanced .section { position: relative; isolation: isolate; padding: clamp(72px, 7vw, 104px) 0; }
.edition-balanced .section > .container { position: relative; z-index: 2; }
.edition-balanced .section-cloud { background: var(--cloud); }
.edition-balanced .section-peri { background: var(--periwinkle); border-top: 0; }
.edition-balanced .section-evidence-zone { position: relative; overflow: hidden; background: var(--periwinkle); color: var(--navy); }
.edition-balanced .section-evidence-zone::before { content: ""; position: absolute; z-index: 0; inset: 0 0 0 auto; width: clamp(90px, 16vw, 250px); background: var(--yellow); }
.edition-balanced .section-evidence-zone > .container,
.edition-balanced .section-peri > .container { background: var(--cloud); border: 1px solid var(--navy); padding: clamp(30px, 4vw, 54px); box-shadow: 14px 14px 0 var(--yellow); }
.edition-balanced .section-evidence-zone > .container { box-shadow: 14px 14px 0 var(--navy); }
.edition-balanced .section-evidence-zone p,
.edition-balanced .section-evidence-zone .lede,
.edition-balanced .section-evidence-zone .section-kicker p,
.edition-balanced .section-evidence-zone .eyebrow { color: var(--navy); }
.edition-balanced .surface-cloud-transition { overflow: hidden; border-top: 18px solid var(--periwinkle); }
.edition-balanced .surface-cloud-transition::before { content: ""; position: absolute; z-index: 0; top: 0; right: 0; width: clamp(70px, 11vw, 170px); height: clamp(70px, 11vw, 170px); background: var(--yellow); }
.edition-balanced .surface-cloud-transition > .container { position: relative; z-index: 2; }
.edition-balanced .surface-cloud-reading + .surface-cloud-reading { border-top: 1px solid var(--periwinkle); }

/* Balanced page heroes. No full-width navy marketing field. */
.edition-balanced .page-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--cloud); color: var(--navy); border-top: 0; border-bottom: 1px solid var(--navy); padding: clamp(62px, 7vw, 92px) 0 clamp(56px, 6vw, 78px); }
.edition-balanced .page-hero::before { content: ""; position: absolute; z-index: -1; inset: 0 0 0 auto; width: clamp(250px, 35vw, 560px); background: var(--periwinkle); }
.edition-balanced .page-hero::after { color: var(--navy); opacity: .11; }
.edition-balanced .page-hero h1,
.edition-balanced .page-hero .lede,
.edition-balanced .page-hero .breadcrumbs,
.edition-balanced .page-hero .eyebrow { color: var(--navy); }
.edition-balanced .page-hero-grid { align-items: stretch; }
.edition-balanced .page-hero-grid > div:first-child { align-self: center; }
.edition-balanced .page-route-index { align-self: end; background: var(--yellow); color: var(--navy); border: 1px solid var(--navy); border-left-width: 7px; padding: 20px 22px; box-shadow: 8px 8px 0 var(--navy); }
.edition-balanced .page-route-index li,
.edition-balanced .page-hero--split .page-route-index li { border-color: var(--navy); }
.edition-balanced .page-route-index li::before,
.edition-balanced .page-hero--split .page-route-index li::before { color: var(--navy); }
.edition-balanced .page-hero--peri { background: var(--periwinkle); }
.edition-balanced .page-hero--peri::before { width: 24%; background: var(--yellow); }
.edition-balanced .page-hero--peri .page-hero-grid > div:first-child { background: var(--cloud); border: 1px solid var(--navy); padding: clamp(24px, 4vw, 46px); box-shadow: 10px 10px 0 var(--navy); }
.edition-balanced .page-hero--cloud::before { width: clamp(180px, 27vw, 430px); }
.edition-balanced .page-hero--split::before { width: clamp(290px, 41vw, 650px); }
.edition-balanced .page-hero--editorial { background: var(--cloud); }
.edition-balanced .page-hero--editorial::before { inset: 0 auto 0 0; width: clamp(110px, 22vw, 340px); background: var(--periwinkle); }
.edition-balanced .page-hero--editorial .page-hero-grid > div:first-child { background: var(--cloud); border-left: 10px solid var(--yellow); padding: clamp(24px, 4vw, 44px); }

/* Homepage: V3 Cloud calm with a clearer, implementation-led crawl graph. */
.edition-balanced .hero-v3 { position: relative; isolation: isolate; overflow: hidden; background: var(--cloud); border-bottom: 1px solid var(--navy); }
.edition-balanced .hero-v3::before { content: ""; position: absolute; z-index: -1; inset: 0 auto 0 0; width: 14px; background: var(--periwinkle); }
.edition-balanced .hero-v3::after { content: none; }
.edition-balanced .hero-v3 .hero-grid { min-height: calc(900px - 68px); grid-template-columns: minmax(0, .82fr) minmax(620px, 1.18fr); gap: 42px; padding: 22px 0; align-items: center; }
.edition-balanced .hero-v3 .hero-copy { background: transparent; border: 0; padding: 0; }
.edition-balanced .hero-v3 .hero-copy h1 { font-size: 4.55rem; line-height: .96; max-width: 10.5ch; }
.edition-balanced .hero-v3 .hero-copy .lede { font-size: 1.08rem; line-height: 1.48; max-width: 48ch; }
.edition-balanced .hero-v3 .button-row { margin-top: 18px; }
.edition-balanced .hero-v3 .fit-note { margin-top: 13px; line-height: 1.42; }
.edition-balanced .hero-v3 .hero-meta { margin-top: 15px; }
.edition-balanced .hero-v3 .hero-meta span { padding: 7px 9px; font-size: .64rem; }
.edition-balanced .hero-v3 .hero-evidence { min-height: 640px; gap: 9px; }
.edition-balanced .hero-v3 .graph-panel { min-height: 0; border-color: var(--navy); box-shadow: 8px 8px 0 var(--periwinkle); }
.edition-balanced .hero-v3 .graph-head { min-height: 44px; padding: 8px 14px; }
.edition-balanced .hero-v3 .route-map-v3 { width: 100%; height: 360px; }
.edition-balanced .hero-v3 .graph-legend { padding: 6px 14px 10px; gap: 8px 16px; }
.edition-balanced .hero-v3 .hero-record-v3 { margin-left: 28px; }
.edition-balanced .hero-v3 .hero-record-v3 .record-head { padding: 8px 11px; border-top-width: 6px; }
.edition-balanced .hero-v3 .hero-record-v3 .record-field { padding: 6px 10px; font-size: .7rem; line-height: 1.3; }
.edition-balanced .hero-v3 .hero-record-v3 .record-label { margin-bottom: 3px; font-size: .52rem; }
.edition-balanced .hero-v3 .hero-record-v3 .record-field code { font-size: .61rem; }
.edition-balanced .hero-v3 .hero-record-v3 .status { min-height: 25px; font-size: .58rem; }

/* Studio: lighter hero and lower commercial boundary, bounded navy interface. */
.edition-balanced .page-hero--studio-balanced { background: var(--cloud); color: var(--navy); }
.edition-balanced .page-hero--studio-balanced::before { width: 44%; background: var(--periwinkle); }
.edition-balanced .page-hero--studio-balanced::after { color: var(--navy); opacity: .12; }
.edition-balanced .page-hero--studio-balanced .page-hero-grid > div:first-child { background: var(--cloud); border-left: 12px solid var(--yellow); padding: clamp(24px, 4vw, 44px); }
.edition-balanced .page-hero--studio-balanced .page-route-index { background: var(--yellow); }
.edition-balanced .studio-window { background: var(--navy); color: var(--cloud); border: 1px solid var(--navy); box-shadow: 10px 10px 0 var(--yellow); }
.edition-balanced .studio-topbar { background: var(--navy); }
.edition-balanced .section-studio-boundary { position: relative; overflow: hidden; background: var(--yellow); color: var(--navy); padding: clamp(70px, 7vw, 96px) 0; }
.edition-balanced .section-studio-boundary::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 27%; background: var(--periwinkle); }
.edition-balanced .section-studio-boundary > .container { position: relative; z-index: 1; background: var(--cloud); border: 1px solid var(--navy); padding: clamp(30px, 4vw, 52px); box-shadow: 14px 14px 0 var(--navy); }

/* Editorial navy cards become lighter structural records. */
.edition-balanced .editorial-card.featured { background: var(--cloud); color: var(--navy); border-top: 14px solid var(--periwinkle); border-left: 10px solid var(--yellow); }
.edition-balanced .editorial-card.featured p,
.edition-balanced .editorial-card.featured .topic { color: var(--navy); }
.edition-balanced .editorial-card.featured .article-no { color: var(--navy); }
.edition-balanced .article-body,
.edition-balanced .legal-body,
.edition-balanced .form-card { background: var(--cloud); box-shadow: 8px 8px 0 var(--yellow); }
.edition-balanced .article-toc,
.edition-balanced .article-margin { background: var(--periwinkle); border: 1px solid var(--navy); padding: 18px; }
.edition-balanced .article-toc a,
.edition-balanced .article-toc li,
.edition-balanced .article-margin p { color: var(--navy); }
.edition-balanced .article-toc { box-shadow: 6px 6px 0 var(--yellow); }
.edition-balanced .margin-note { background: var(--yellow); }

/* Request and utility pages retain restraint while visibly joining the system. */
.edition-balanced .request-form-zone { background: var(--periwinkle); }
.edition-balanced .request-form-zone > .container { background: transparent; border: 0; padding: 0; box-shadow: none; }
.edition-balanced .form-card { border-top: 12px solid var(--yellow); }
.edition-balanced .form-aside .aside-panel:nth-child(1) { background: var(--yellow); }
.edition-balanced .form-aside .aside-panel:nth-child(2) { background: var(--cloud); }
.edition-balanced .form-aside .aside-panel:nth-child(3) { background: var(--cloud); border-left: 10px solid var(--navy); }
.edition-balanced .utility-hero--balanced { position: relative; isolation: isolate; overflow: hidden; background: var(--cloud); color: var(--navy); border-bottom: 10px solid var(--yellow); }
.edition-balanced .utility-hero--balanced::before { content: ""; position: absolute; z-index: -1; inset: 0 0 0 auto; width: 34%; background: var(--periwinkle); }
.edition-balanced .utility-hero--balanced h1,
.edition-balanced .utility-hero--balanced .breadcrumbs,
.edition-balanced .utility-hero--balanced .breadcrumbs a,
.edition-balanced .utility-hero--balanced .eyebrow,
.edition-balanced .utility-hero--balanced .lede { color: var(--navy); }
.edition-balanced .utility-page--balanced { position: relative; isolation: isolate; overflow: hidden; background: var(--cloud); }
.edition-balanced .utility-page--balanced::before { content: ""; position: absolute; z-index: -1; inset: 0 0 0 auto; width: 34%; background: var(--periwinkle); }
.edition-balanced .utility-page--balanced::after { content: ""; position: absolute; z-index: -1; right: 0; bottom: 0; width: 18%; height: 28%; background: var(--yellow); }
.edition-balanced .utility-page--balanced .route-error,
.edition-balanced .utility-page--balanced > .container > div { background: var(--cloud); border: 1px solid var(--navy); padding: clamp(24px, 4vw, 44px); box-shadow: 10px 10px 0 var(--navy); }

/* Semantic state treatments use colour, symbol, wording, and border. */
.edition-balanced .status-approved { color: var(--success); background: var(--cloud); border: 1px solid var(--success); box-shadow: inset 4px 0 0 var(--success); }
.edition-balanced .status-edited { color: var(--navy); background: var(--yellow); border: 1px solid var(--navy); box-shadow: inset 4px 0 0 var(--navy); }
.edition-balanced .status-rejected { color: var(--danger); background: var(--cloud); border: 1px solid var(--danger); box-shadow: inset 4px 0 0 var(--danger); }
.edition-balanced .status-pending { color: var(--navy); background: var(--cloud); border: 1px solid var(--navy); box-shadow: inset 5px 0 0 var(--periwinkle); }
.edition-balanced .queue-row.selected { background: var(--navy); color: var(--cloud); border-left: 6px solid var(--yellow); outline: 1px solid var(--yellow); }
.edition-balanced .studio-nav a.active,
.edition-balanced .studio-nav > span.active { background: var(--cloud); color: var(--navy); box-shadow: inset 6px 0 0 var(--yellow); }

/* Balanced conversion region. Navy is bounded to the action, not the page field. */
.edition-balanced .final-cta--balanced { position: relative; isolation: isolate; overflow: hidden; background: var(--periwinkle); color: var(--navy); border-top: 0; padding: clamp(64px, 7vw, 88px) 0; }
.edition-balanced .final-cta--balanced::before { content: ""; position: absolute; z-index: -1; inset: 0 0 0 auto; width: 22%; background: var(--yellow); }
.edition-balanced .final-cta--balanced::after { content: "APPROVED PATH"; color: var(--navy); opacity: .13; }
.edition-balanced .final-cta--balanced .final-cta-grid { background: var(--cloud); color: var(--navy); border: 1px solid var(--navy); border-top: 12px solid var(--yellow); padding: clamp(28px, 4vw, 48px); box-shadow: 12px 12px 0 var(--navy); }
.edition-balanced .final-cta--balanced p,
.edition-balanced .final-cta--balanced .eyebrow { color: var(--navy); }
.edition-balanced .final-cta--balanced .button-navy { background: var(--navy); color: var(--cloud); border-color: var(--navy); box-shadow: 5px 5px 0 var(--yellow); }

/* Comparison and documentation. */
.edition-balanced .comparison-hero-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.edition-balanced .comparison-card { background: var(--cloud); }
.edition-balanced .compare-note { background: var(--cloud); border: 1px solid var(--navy); border-top: 10px solid var(--yellow); }
.edition-balanced .distribution-bar { min-height: 40px; }

/* Compact, acceptable navy footer. */
.edition-balanced .site-footer { background: var(--navy); color: var(--cloud); padding: 42px 0 20px; }
.edition-balanced .footer-grid { gap: 34px; }
.edition-balanced .footer-bottom { margin-top: 28px; }

@media (max-width: 1160px) {
  .edition-balanced .hero-v3 .hero-grid { grid-template-columns: minmax(0, .75fr) minmax(550px, 1.25fr); gap: 24px; }
  .edition-balanced .hero-v3 .hero-copy h1 { font-size: 3.95rem; }
  .edition-balanced .hero-v3 .route-map-v3 { height: 330px; }
  .edition-balanced .hero-v3 .hero-evidence { min-height: 600px; }
}

@media (max-width: 900px) {
  .edition-balanced .primary-nav { top: 68px; border-bottom: 1px solid var(--navy); }
  .edition-balanced .page-hero::before,
  .edition-balanced .page-hero--split::before,
  .edition-balanced .page-hero--studio-balanced::before { width: 31%; }
  .edition-balanced .page-hero-grid { gap: 34px; }
  .edition-balanced .hero-v3::before { inset: 0 auto 0 0; width: 12px; height: auto; }
  .edition-balanced .hero-v3::after { content: none; }
  .edition-balanced .hero-v3 .hero-grid { min-height: auto; grid-template-columns: 1fr; gap: 34px; padding: 44px 0 60px; }
  .edition-balanced .hero-v3 .hero-copy { max-width: 690px; }
  .edition-balanced .hero-v3 .hero-evidence { min-height: auto; }
  .edition-balanced .hero-v3 .route-map-v3 { height: auto; }
  .edition-balanced .comparison-hero-grid--two { grid-template-columns: 1fr; }
  .edition-balanced .section-evidence-zone > .container,
  .edition-balanced .section-peri > .container { width: min(calc(100% - 56px), var(--content)); }
}

@media (max-width: 620px) {
  .edition-balanced .section { padding: 62px 0; }
  .edition-balanced .page-hero { padding: 50px 0 52px; }
  .edition-balanced .page-hero::before,
  .edition-balanced .page-hero--peri::before,
  .edition-balanced .page-hero--cloud::before,
  .edition-balanced .page-hero--split::before,
  .edition-balanced .page-hero--editorial::before,
  .edition-balanced .page-hero--studio-balanced::before { inset: auto 0 0 0; width: 100%; height: 25%; }
  .edition-balanced .page-hero--peri { background: var(--periwinkle); }
  .edition-balanced .page-hero--peri .page-hero-grid > div:first-child,
  .edition-balanced .page-hero--editorial .page-hero-grid > div:first-child,
  .edition-balanced .page-hero--studio-balanced .page-hero-grid > div:first-child { padding: 22px 18px; }
  .edition-balanced .page-route-index { box-shadow: 5px 5px 0 var(--navy); padding: 18px; }
  .edition-balanced .hero-v3::before { inset: 0 auto 0 0; width: 7px; height: auto; }
  .edition-balanced .hero-v3::after { content: none; }
  .edition-balanced .hero-v3 .hero-grid { padding: 36px 0 52px; gap: 28px; }
  .edition-balanced .hero-v3 .hero-copy { border: 0; padding: 0; }
  .edition-balanced .hero-v3 .hero-copy h1 { font-size: 2.82rem; line-height: .96; }
  .edition-balanced .hero-v3 .hero-copy .lede { font-size: 1rem; }
  .edition-balanced .hero-v3 .button-row { margin-top: 15px; }
  .edition-balanced .hero-v3 .fit-note { margin-top: 12px; }
  .edition-balanced .hero-v3 .graph-head { min-height: 0; }
  .edition-balanced .hero-v3 .route-map-mobile { display: block; width: 100%; height: auto; }
  .edition-balanced .hero-v3 .route-map-v3 { display: none; }
  .edition-balanced .hero-v3 .graph-legend { grid-template-columns: 1fr 1fr; }
  .edition-balanced .hero-v3 .hero-record-v3 { margin-left: 0; }
  .edition-balanced .hero-v3 .hero-record-v3 .record-grid { grid-template-columns: 1fr; }
  .edition-balanced .hero-v3 .hero-record-v3 .record-field { padding: 8px 10px; font-size: .75rem; }
  .edition-balanced .section-evidence-zone::before { width: 24%; }
  .edition-balanced .section-evidence-zone > .container,
  .edition-balanced .section-peri > .container { width: min(calc(100% - 36px), var(--content)); padding: 24px 18px; box-shadow: 8px 8px 0 var(--yellow); }
  .edition-balanced .section-evidence-zone > .container { box-shadow: 8px 8px 0 var(--navy); }
  .edition-balanced .article-toc,
  .edition-balanced .article-margin { background: var(--cloud); border-left: 8px solid var(--periwinkle); }
  .edition-balanced .utility-hero--balanced::before,
  .edition-balanced .utility-page--balanced::before { width: 28%; }
  .edition-balanced .utility-page--balanced .route-error,
  .edition-balanced .utility-page--balanced > .container > div { padding: 22px 18px; box-shadow: 7px 7px 0 var(--navy); }
  .edition-balanced .final-cta--balanced::before { width: 30%; }
  .edition-balanced .final-cta--balanced .final-cta-grid { padding: 26px 20px; box-shadow: 8px 8px 0 var(--navy); }
  .edition-balanced .site-footer { padding-top: 36px; }
}

/* V4 contrast corrections after browser-computed audit. */
.edition-balanced .page-hero--peri .breadcrumbs {
  display: inline-block;
  background: var(--cloud);
  border: 1px solid var(--navy);
  padding: 7px 10px;
  color: var(--navy);
}
.edition-balanced .article-toc,
.edition-balanced .article-margin {
  background: var(--cloud);
  border: 1px solid var(--navy);
  border-left: 10px solid var(--periwinkle);
  color: var(--navy);
}
.edition-balanced .article-toc strong,
.edition-balanced .article-margin strong,
.edition-balanced .article-toc a,
.edition-balanced .article-toc li,
.edition-balanced .article-margin p { color: var(--navy); }
.edition-balanced .section-evidence-zone .rule-code,
.edition-balanced .section-evidence-zone .rule-item p { color: var(--navy); }

/* V4 area-rhythm calibration: transition sections carry colour, reading sections stay quiet. */
.edition-balanced .surface-cloud-transition {
  position: relative;
  overflow: hidden;
  background: var(--yellow);
  border-top: 0;
}
.edition-balanced .surface-cloud-transition::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 auto 0 0;
  width: 27%;
  height: auto;
  background: var(--periwinkle);
}
.edition-balanced .surface-cloud-transition > .container {
  width: min(calc(100% - 160px), 1160px);
  background: var(--cloud);
  border: 1px solid var(--navy);
  padding: clamp(30px, 4vw, 52px);
  box-shadow: 16px 16px 0 var(--navy);
}
.edition-balanced .section-peri > .container,
.edition-balanced .section-evidence-zone > .container {
  width: min(calc(100% - 150px), 1170px);
}
.edition-balanced .final-cta--balanced .container {
  width: min(calc(100% - 130px), 1160px);
}
@media (max-width: 900px) {
  .edition-balanced .surface-cloud-transition > .container,
  .edition-balanced .section-peri > .container,
  .edition-balanced .section-evidence-zone > .container,
  .edition-balanced .final-cta--balanced .container {
    width: min(calc(100% - 56px), var(--content));
  }
}
@media (max-width: 620px) {
  .edition-balanced .surface-cloud-transition::before { width: 24%; }
  .edition-balanced .surface-cloud-transition > .container,
  .edition-balanced .section-peri > .container,
  .edition-balanced .section-evidence-zone > .container,
  .edition-balanced .final-cta--balanced .container {
    width: min(calc(100% - 36px), var(--content));
  }
  .edition-balanced .surface-cloud-transition > .container { padding: 24px 18px; box-shadow: 8px 8px 0 var(--navy); }
}

@media (min-width: 1161px) {
  .edition-balanced .surface-cloud-reading {
    position: relative;
    overflow: hidden;
  }
  .edition-balanced .surface-cloud-reading::before,
  .edition-balanced .surface-cloud-reading::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset-block: 0;
  }
  .edition-balanced .surface-cloud-reading::before {
    left: 0;
    width: 8%;
    background: var(--periwinkle);
  }
  .edition-balanced .surface-cloud-reading::after {
    right: 0;
    width: 10%;
    background: var(--yellow);
  }
  .edition-balanced .surface-cloud-reading > .container {
    width: min(calc(100% - 280px), 1160px);
  }
}

/* V4.2 focused refinement: reviewed-route identity, unified homepage evidence hero, and editorial architecture visual. */
.site-header { backdrop-filter: none; }
.brand { gap: 10px; }
.brand-symbol { display: block; width: 38px; height: 38px; flex: 0 0 auto; }
.brand-name { font-size: 1.08rem; letter-spacing: 0; }
.brand-note { margin-top: 4px; font-size: .5rem; letter-spacing: .075em; }
.site-footer .brand-symbol { width: 40px; height: 40px; }

/* Homepage: the graph is the evidence environment, not a decorative card. */
.edition-balanced .hero-mesh { background: var(--cloud); isolation: isolate; }
.edition-balanced .hero-mesh::before { width: 10px; }
.edition-balanced .hero-mesh .hero-stage {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: center;
  min-height: 760px;
  padding: 22px 0 20px;
}
.edition-balanced .hero-mesh .hero-copy {
  position: relative;
  z-index: 4;
  grid-column: 1 / 6;
  align-self: center;
  max-width: none;
  padding: 24px 50px 24px 0;
  background: var(--cloud);
}
.edition-balanced .hero-mesh .hero-copy::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 -28px 0 auto;
  width: 40px;
  background: var(--cloud);
}
.edition-balanced .hero-mesh .hero-copy h1 {
  max-width: 10.4ch;
  margin-bottom: .34em;
  font-size: 4.55rem;
  line-height: .94;
  letter-spacing: 0;
}
.edition-balanced .hero-mesh .hero-copy .lede {
  max-width: 47ch;
  font-size: 1.06rem;
  line-height: 1.5;
}
.edition-balanced .hero-mesh .button-row { margin-top: 20px; }
.edition-balanced .hero-mesh .fit-note { margin-top: 14px; max-width: 51ch; }
.edition-balanced .hero-mesh .hero-meta {
  max-width: 510px;
  margin-top: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.edition-balanced .hero-mesh .hero-meta span { padding: 7px 9px; font-size: .62rem; }
.edition-balanced .hero-mesh .hero-evidence {
  position: relative;
  z-index: 2;
  grid-column: 5 / 13;
  align-self: center;
  display: grid;
  grid-template-rows: auto auto;
  gap: 9px;
  min-height: 0;
  margin: 0;
}
.edition-balanced .hero-mesh .graph-panel {
  min-height: 0;
  height: 480px;
  box-shadow: 8px 8px 0 var(--periwinkle);
}
.edition-balanced .hero-mesh .graph-head {
  min-height: 44px;
  padding: 8px 14px 8px 132px;
}
.edition-balanced .hero-mesh .graph-head .inspection-id { white-space: nowrap; }
.edition-balanced .hero-mesh .route-map-v4 { width: 100%; height: 392px; }
.edition-balanced .hero-mesh .graph-legend {
  min-height: 42px;
  padding: 5px 14px 8px 132px;
  gap: 9px 18px;
}
.legend-line.existing { border-top-color: var(--periwinkle); }
.page-index .route-map-v4 .cluster-zone { fill: var(--navy); fill-opacity: 0; stroke: var(--periwinkle); }
.page-index .route-map-v4 .cluster-count { font-size: 8.5px; }
.page-index .route-map-v4 .existing-route { opacity: .5; stroke-width: 1.55; }
.page-index .route-map-v4 .candidate-route { opacity: .62; stroke-width: 2.25; }
.page-index .route-map-v4 .approved-route-v4 {
  stroke-width: 6;
  stroke-linecap: square;
  stroke-dasharray: 760;
  stroke-dashoffset: 760;
  animation: route-reveal-once 1.15s cubic-bezier(.2,.7,.2,1) .32s forwards;
}
@keyframes route-reveal-once { to { stroke-dashoffset: 0; } }
.page-index .route-map-v4 .graph-node rect { fill: var(--navy); stroke: var(--periwinkle); }
.page-index .route-map-v4 .graph-node text { font-size: 12px; font-weight: 760; }
.page-index .route-map-v4 .graph-node .node-kicker { font-size: 8.6px; }
.page-index .route-map-v4 .graph-node .node-note { font: 700 8.2px var(--font-body); letter-spacing: 0; text-transform: none; }
.page-index .route-map-v4 .graph-node.source rect { fill: var(--yellow); stroke: var(--cloud); }
.page-index .route-map-v4 .graph-node.target rect { fill: var(--cloud); stroke: var(--yellow); }
.page-index .route-map-v4 .review-gate rect { fill: var(--navy); stroke: var(--yellow); stroke-width: 2; vector-effect: non-scaling-stroke; }
.page-index .route-map-v4 .review-gate text { fill: var(--cloud); font: 760 9.5px var(--font-body); }
.page-index .route-map-v4 .review-gate .review-kicker { fill: var(--yellow); font: 850 9px var(--font-mono); letter-spacing: .8px; }
.page-index .route-map-v4 .target-gap rect { fill: var(--periwinkle); stroke: var(--cloud); stroke-width: 1; vector-effect: non-scaling-stroke; }
.page-index .route-map-v4 .target-gap text { fill: var(--navy); font: 850 7.6px var(--font-mono); letter-spacing: .35px; }
.page-index .route-map-v4 .step-marker circle { fill: var(--yellow); stroke: var(--navy); stroke-width: 2; vector-effect: non-scaling-stroke; }
.page-index .route-map-v4 .step-marker text { fill: var(--navy); font: 900 12px var(--font-mono); }
.page-index .route-map-v4 .step-caption { fill: var(--yellow); font: 850 8.5px var(--font-mono); letter-spacing: .75px; }

.edition-balanced .hero-mesh .hero-record-v3 {
  margin: 0 0 0 42px;
  box-shadow: 6px 6px 0 var(--navy);
}
.edition-balanced .hero-mesh .hero-record-v3::before { left: 70%; }
.edition-balanced .hero-mesh .result-record .record-head {
  padding: 8px 11px;
  border-top: 5px solid var(--yellow);
}
.edition-balanced .hero-mesh .result-record .record-grid {
  grid-template-columns: 1.05fr 1.05fr .85fr 1.35fr;
}
.edition-balanced .hero-mesh .result-record .record-field,
.edition-balanced .hero-mesh .result-record .record-field:nth-child(2n) {
  min-height: 50px;
  padding: 6px 9px;
  border-right: 1px solid var(--line);
  font-size: .67rem;
  line-height: 1.3;
}
.edition-balanced .hero-mesh .result-record .record-field:nth-child(4) { border-right: 0; }
.edition-balanced .hero-mesh .result-record .record-label { margin-bottom: 3px; font-size: .5rem; }
.edition-balanced .hero-mesh .result-record .record-field code { font-size: .57rem; }
.edition-balanced .hero-mesh .result-record .result-reason {
  grid-column: 1 / -1;
  min-height: 38px;
  border-right: 0;
  border-bottom: 0;
}
.edition-balanced .hero-mesh .route-map-mobile-v4 { display: none; }

/* Insights: a labelled editorial system with intentional parent, context and action routes. */
.insights-lead-map::before,
.insights-lead-map::after { content: none; }
.insights-lead-map {
  min-height: 520px;
  display: grid;
  grid-template-rows: 52px minmax(0, 1fr);
  background: var(--periwinkle);
}
.editorial-map-head {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 0 16px;
  border-bottom: 1px solid var(--navy);
  color: var(--navy);
  font: 800 .62rem/1.25 var(--font-mono);
  letter-spacing: .065em;
  text-transform: uppercase;
}
.editorial-map-head strong {
  padding: 6px 8px;
  background: var(--yellow);
  border: 1px solid var(--navy);
  font: inherit;
}
.insights-map-desktop,
.insights-map-mobile { display: block; width: 100%; height: 100%; }
.insights-map-mobile { display: none; }
.editorial-route { fill: none; stroke: var(--navy); stroke-width: 2.4; vector-effect: non-scaling-stroke; }
.editorial-route.context-route { stroke-dasharray: 5 5; }
.editorial-route.action-route { stroke: var(--yellow); stroke-width: 4.5; }
.editorial-node rect { fill: var(--cloud); stroke: var(--navy); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.editorial-node .node-type { fill: var(--navy); font: 850 8.5px var(--font-mono); letter-spacing: .65px; }
.editorial-node .node-title { fill: var(--navy); font: 800 13.5px var(--font-body); }
.editorial-node .node-meta { fill: var(--navy); font: 700 9px var(--font-body); }
.editorial-node.hub-node rect { fill: var(--yellow); stroke-width: 2; }
.editorial-node.destination-node rect { fill: var(--navy); stroke: var(--yellow); stroke-width: 3; }
.editorial-node.destination-node .node-type,
.editorial-node.destination-node .node-title,
.editorial-node.destination-node .node-meta { fill: var(--cloud); }
.route-label rect { fill: var(--cloud); stroke: var(--navy); stroke-width: 1; vector-effect: non-scaling-stroke; }
.route-label text { fill: var(--navy); font: 850 7.5px var(--font-mono); letter-spacing: .45px; }
.route-label.action rect { fill: var(--yellow); }
.curation-gate rect { fill: var(--yellow); stroke: var(--navy); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.curation-gate text { fill: var(--navy); font: 900 4.5px var(--font-mono); letter-spacing: .15px; }

@media (max-width: 1180px) {
  .edition-balanced .hero-mesh .hero-stage {
    display: block;
    min-height: 0;
    padding: 48px 0 62px;
  }
  .edition-balanced .hero-mesh .hero-copy {
    max-width: 760px;
    padding: 0;
  }
  .edition-balanced .hero-mesh .hero-copy::after { content: none; }
  .edition-balanced .hero-mesh .hero-copy h1 { max-width: 11ch; }
  .edition-balanced .hero-mesh .hero-evidence { margin-top: 38px; }
  .edition-balanced .hero-mesh .graph-head,
  .edition-balanced .hero-mesh .graph-legend { padding-left: 14px; }
  .edition-balanced .hero-mesh .hero-record-v3 { margin-left: 26px; }
}

@media (max-width: 900px) {
  .brand-symbol { width: 36px; height: 36px; }
  .edition-balanced .hero-mesh .hero-stage { padding: 42px 0 56px; }
  .edition-balanced .hero-mesh .hero-copy { max-width: 680px; }
  .edition-balanced .hero-mesh .hero-copy h1 { font-size: 3.65rem; }
  .edition-balanced .hero-mesh .graph-panel { height: auto; }
  .edition-balanced .hero-mesh .route-map-v4 { height: auto; }
  .edition-balanced .hero-mesh .hero-record-v3 { margin-left: 0; }
  .edition-balanced .hero-mesh .result-record .record-grid { grid-template-columns: 1fr 1fr; }
  .edition-balanced .hero-mesh .result-record .record-field:nth-child(2) { border-right: 0; }
  .edition-balanced .hero-mesh .result-record .record-field:nth-child(4) { border-right: 0; }
  .edition-balanced .hero-mesh .result-record .result-reason { grid-column: 1 / -1; }
  .insights-lead-map { min-height: 560px; }
}

@media (max-width: 700px) {
  .brand-lockup { width: 164px; }
  .site-footer .brand-lockup { width: 160px; }
  .brand-name { font-size: 1rem; }
  .brand-note { font-size: .45rem; }
  .edition-balanced .hero-mesh::before { width: 6px; }
  .edition-balanced .hero-mesh .hero-stage { padding: 34px 0 48px; }
  .edition-balanced .hero-mesh .hero-copy h1 { font-size: 2.82rem; line-height: .95; max-width: 10.5ch; }
  .edition-balanced .hero-mesh .hero-copy .lede { font-size: 1rem; }
  .edition-balanced .hero-mesh .hero-meta { display: none; }
  .edition-balanced .hero-mesh .hero-evidence { display: flex; flex-direction: column; gap: 10px; margin-top: 28px; }
  .edition-balanced .hero-mesh .graph-panel { display: none; }
  .edition-balanced .hero-mesh .route-map-mobile-v4 {
    display: block;
    width: 100%;
    height: auto;
    background: var(--navy);
    border: 1px solid var(--navy);
    box-shadow: 5px 5px 0 var(--periwinkle);
  }
  .page-index .route-map-mobile-v4 .mobile-zone { fill: var(--navy); stroke: var(--periwinkle); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
  .page-index .route-map-mobile-v4 .result-zone { fill: var(--periwinkle); }
  .page-index .route-map-mobile-v4 .mobile-gap-label { fill: var(--cloud); font: 800 7.4px var(--font-mono); letter-spacing: .45px; }
  .page-index .route-map-mobile-v4 .result-title { fill: var(--navy); font: 850 14px var(--font-body); }
  .page-index .route-map-mobile-v4 .result-copy { fill: var(--navy); font: 700 9.8px var(--font-body); }
  .page-index .route-map-mobile-v4 .graph-node text { font-size: 10.4px; }
  .page-index .route-map-mobile-v4 .graph-node .node-kicker { font-size: 7.7px; }
  .page-index .route-map-mobile-v4 .review-gate text { font-size: 8px; }
  .page-index .route-map-mobile-v4 .review-gate .review-kicker { font-size: 8px; }
  .page-index .route-map-mobile-v4 .approved-route-v4 { stroke-width: 5; }
  .edition-balanced .hero-mesh .result-record .record-grid { grid-template-columns: 1fr; }
  .edition-balanced .hero-mesh .result-record .record-field,
  .edition-balanced .hero-mesh .result-record .record-field:nth-child(2n) { border-right: 0; font-size: .74rem; }
  .edition-balanced .hero-mesh .result-record .record-field code { font-size: .64rem; }
  .editorial-map-head { min-height: 58px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 4px; }
  .editorial-map-head strong { padding: 0; background: transparent; border: 0; }
  .insights-lead-map { min-height: 0; grid-template-rows: auto auto; }
  .insights-map-desktop { display: none; }
  .insights-map-mobile { display: block; height: auto; }
  .editorial-node .node-title { font-size: 13px; }
  .curation-gate.mobile-curation text { font-size: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .page-index .route-map-v4 .approved-route-v4,
  .page-index .route-map-mobile-v4 .approved-route-v4 {
    animation: none;
    stroke-dashoffset: 0;
  }
}

@media (min-width: 1181px) {
  .edition-balanced .hero-mesh .hero-copy,
  .edition-balanced .hero-mesh .hero-evidence { grid-row: 1; }
}
.insights-map-desktop { height: auto; align-self: center; }
.curation-gate text { font-size: 6px; }

@media (min-width: 1181px) {
  .edition-balanced .hero-mesh .hero-copy { padding-right: 28px; }
  .edition-balanced .hero-mesh .hero-copy::after { content: none; }
  .edition-balanced .hero-mesh .hero-copy .button { padding-inline: 14px; font-size: .84rem; }
  .edition-balanced .hero-mesh .hero-record-v3 { margin-left: 112px; }
}

/* Validation-safe typography: fixed responsive steps, no negative tracking or viewport-scaled type. */
.brand-name { letter-spacing: 0; }
.edition-balanced .hero-mesh .hero-copy h1 { font-size: 4.55rem; letter-spacing: 0; }
@media (max-width: 1180px) {
  .edition-balanced .hero-mesh .hero-copy h1 { font-size: 3.95rem; }
}
@media (max-width: 900px) {
  .edition-balanced .hero-mesh .hero-copy h1 { font-size: 3.65rem; }
}
@media (max-width: 700px) {
  .edition-balanced .hero-mesh .hero-copy h1 { font-size: 2.82rem; }
}
.editorial-map-head { background: var(--cloud); }

/* Launch accessibility refinements. */
.edition-balanced,
.edition-balanced * { letter-spacing: 0 !important; }
.studio-nav > span { cursor: default; }

/* Revenue-site navigation and service system. */
.primary-nav { overflow: visible; }
.nav-group { position: relative; }
.nav-group-toggle {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 11px;
  border: 0;
  background: transparent;
  color: var(--navy);
  font-size: .86rem;
  font-weight: 750;
  cursor: pointer;
}
.nav-group-label {
  position: relative;
  display: inline-flex;
  min-height: 44px;
  align-items: center;
}
.nav-group-label::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 2px;
  left: 0;
  height: 3px;
  background: var(--yellow);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .16s ease;
}
.nav-group-icon {
  position: relative;
  display: grid;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  place-items: center;
  font-size: 0;
}
.nav-group-icon::before,
.nav-group-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 2px;
  background: currentColor;
  transform: translate(-50%, -50%);
  transform-origin: center;
  transition: transform .16s ease;
}
.nav-group-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.nav-group.is-open .nav-group-icon::before { transform: translate(-50%, -50%) rotate(45deg); }
.nav-group.is-open .nav-group-icon::after { transform: translate(-50%, -50%) rotate(135deg); }
.nav-group-toggle:hover,
.nav-group-toggle:focus-visible,
.nav-group.is-current .nav-group-toggle {
  text-decoration: none;
}
.nav-group-toggle:hover .nav-group-label::after,
.nav-group-toggle:focus-visible .nav-group-label::after,
.nav-group.is-current .nav-group-label::after,
.nav-group.is-open .nav-group-label::after {
  transform: scaleX(1);
}
.nav-menu {
  position: absolute;
  z-index: 120;
  top: calc(100% + 8px);
  left: 0;
  display: none;
  width: 370px;
  padding: 10px;
  background: var(--cloud);
  border: 1px solid var(--navy);
  box-shadow: 6px 6px 0 var(--navy);
}
.nav-group.is-open .nav-menu {
  display: grid;
  gap: 8px;
}
.primary-nav .nav-menu a {
  display: grid;
  min-height: 48px;
  align-content: center;
  padding: 8px 10px;
  border-top: 1px solid var(--line);
  line-height: 1.3;
}
.primary-nav .nav-menu a span { font-weight: 800; }
.primary-nav .nav-menu a small {
  margin-top: 2px;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 650;
  line-height: 1.35;
}
.primary-nav .nav-menu a:hover,
.primary-nav .nav-menu a[aria-current="page"] {
  background: var(--yellow);
  text-decoration: none;
}
.primary-nav .nav-menu a:hover small,
.primary-nav .nav-menu a[aria-current="page"] small { color: var(--navy); }
.nav-menu-section {
  display: grid;
}
.nav-menu-section > p {
  margin: 0;
  padding: 5px 10px 7px;
  color: var(--navy);
  font: 850 .62rem/1.2 var(--font-mono);
  text-transform: uppercase;
}
.primary-nav .nav-menu .nav-menu-overview {
  position: relative;
  min-height: 70px;
  grid-template-columns: minmax(0, 1fr);
  padding: 11px 44px 11px 12px;
  border: 0;
  background: var(--navy);
  color: var(--cloud);
}
.primary-nav .nav-menu .nav-menu-overview::after {
  content: "\2192";
  position: absolute;
  top: 50%;
  right: 14px;
  color: var(--yellow);
  font: 900 1.1rem/1 var(--font-mono);
  transform: translateY(-50%);
}
.primary-nav .nav-menu .nav-menu-overview small { color: var(--cloud); }
.primary-nav .nav-menu .nav-menu-overview:hover,
.primary-nav .nav-menu .nav-menu-overview[aria-current="page"] {
  background: var(--yellow);
  color: var(--navy);
}
.primary-nav .nav-menu .nav-menu-overview:hover::after,
.primary-nav .nav-menu .nav-menu-overview[aria-current="page"]::after { color: var(--navy); }
.nav-menu--resources {
  right: 0;
  left: auto;
  width: min(720px, calc(100vw - 40px));
  padding: 12px;
}
.nav-group.is-open .nav-menu--resources {
  grid-template-columns: minmax(235px, .8fr) minmax(380px, 1.35fr);
  gap: 12px;
}
.nav-menu--resources > .nav-resource-grid { grid-column: 1 / -1; }
.nav-resource-feature {
  display: grid;
}
.nav-resource-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.primary-nav .nav-menu .nav-resource-feature-link {
  position: relative;
  min-height: 100%;
  align-content: end;
  padding: 22px 48px 20px 20px;
  border: 0;
  background: var(--navy);
  color: var(--cloud);
}
.primary-nav .nav-menu .nav-resource-feature-link::before {
  content: "EDITORIAL LIBRARY";
  position: absolute;
  top: 18px;
  left: 20px;
  color: var(--yellow);
  font: 850 .58rem/1.2 var(--font-mono);
}
.primary-nav .nav-menu .nav-resource-feature-link::after {
  content: "\2192";
  position: absolute;
  right: 20px;
  bottom: 22px;
  color: var(--yellow);
  font: 900 1.25rem/1 var(--font-mono);
}
.primary-nav .nav-menu .nav-resource-feature-link span {
  font-size: 1.2rem;
}
.primary-nav .nav-menu .nav-resource-feature-link small { color: var(--cloud); }
.primary-nav .nav-menu .nav-resource-feature-link:hover,
.primary-nav .nav-menu .nav-resource-feature-link[aria-current="page"] {
  background: var(--yellow);
  color: var(--navy);
}
.primary-nav .nav-menu .nav-resource-feature-link:hover::before,
.primary-nav .nav-menu .nav-resource-feature-link:hover::after,
.primary-nav .nav-menu .nav-resource-feature-link[aria-current="page"]::before,
.primary-nav .nav-menu .nav-resource-feature-link[aria-current="page"]::after,
.primary-nav .nav-menu .nav-resource-feature-link:hover small,
.primary-nav .nav-menu .nav-resource-feature-link[aria-current="page"] small {
  color: var(--navy);
}
.nav-resource-grid > a {
  min-height: 88px;
  border: 1px solid var(--periwinkle);
}

.article-library-status {
  display: grid;
  gap: 5px;
  margin-top: 24px;
  padding: 18px 20px;
  border: 1px solid var(--navy);
  border-left: 7px solid var(--yellow);
  background: var(--cloud);
}
.article-library-status span {
  font: 850 .62rem/1.2 var(--font-mono);
  color: var(--navy);
}
.article-library-status strong {
  color: var(--navy);
  font-size: 1.15rem;
}
.article-library-status small { color: var(--muted); }
.resource-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.resource-card {
  min-height: 250px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px;
  border: 1px solid var(--navy);
  border-top: 7px solid var(--periwinkle);
  background: var(--cloud);
  color: var(--navy);
  text-decoration: none;
}
.resource-card--featured { border-top-color: var(--yellow); }
.resource-card span:not(.route-arrow) {
  font: 850 .62rem/1.2 var(--font-mono);
  text-transform: uppercase;
}
.resource-card strong {
  font-size: 1.35rem;
  line-height: 1.1;
}
.resource-card small {
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.5;
}
.resource-card .route-arrow {
  margin-top: auto;
  color: var(--navy);
  font-size: 1.25rem;
}
.resource-card:hover,
.resource-card:focus-visible {
  background: var(--yellow);
  text-decoration: none;
}
.service-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 16px;
}
.service-card {
  display: flex;
  min-height: 310px;
  flex-direction: column;
  padding: 25px;
  border: 1px solid var(--navy);
  border-top: 7px solid var(--periwinkle);
  background: var(--cloud);
}
.service-card:nth-child(2n) { border-top-color: var(--yellow); }
.service-card:nth-child(3n) { border-top-color: var(--navy); }
.service-card h2,
.service-card h3 { max-width: none; font-size: 1.55rem; }
.service-card h2 { font-size: 1.8rem; }
.service-card h2 a,
.service-card h3 a { color: inherit; text-decoration: none; }
.service-card h2 a:hover,
.service-card h3 a:hover { text-decoration: underline; text-decoration-color: var(--yellow); }
.service-card p { color: var(--muted); }
.service-card .text-link { margin-top: auto; }
.service-number {
  display: block;
  margin-bottom: 34px;
  color: var(--periwinkle);
  font: 900 1.6rem/1 var(--font-mono);
}
.service-index-link { margin: 28px 0 0; }
.service-grid-wide .service-card { min-height: 345px; }
.fit-grid { display: grid; gap: 18px; }
.text-link-light { color: var(--cloud); }
.product-queue { padding: 18px; }
.faq-list { display: grid; gap: 12px; }
.faq-list details {
  border: 1px solid var(--navy);
  background: var(--cloud);
}
.faq-list summary {
  position: relative;
  min-height: 64px;
  display: flex;
  align-items: center;
  padding: 14px 56px 14px 18px;
  color: var(--navy);
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after {
  content: "+";
  position: absolute;
  right: 18px;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid var(--navy);
  background: var(--yellow);
  font: 900 1rem/1 var(--font-mono);
}
.faq-list details[open] summary::after { content: "−"; }
.faq-list details[open] summary { border-bottom: 1px solid var(--navy); }
.faq-list details p { max-width: 76ch; margin: 0; padding: 18px; }
.turnstile-box {
  grid-column: 1 / -1;
  min-height: 72px;
  display: flex;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  background: var(--cloud);
}
.turnstile-box p { margin: 0; font-size: .8rem; }

@media (max-width: 1160px) and (min-width: 901px) {
  .nav-group-toggle,
  .primary-nav > a { padding-inline: 7px; font-size: .78rem; }
  .primary-nav .nav-cta { padding-inline: 11px; }
}

@media (max-width: 900px) {
  .primary-nav { overflow-y: auto; max-height: calc(100vh - 68px); }
  .nav-group { border-bottom: 1px solid var(--line); }
  .nav-group-toggle {
    width: 100%;
    min-height: 48px;
    justify-content: space-between;
    padding: 0 8px;
    font-size: .86rem;
  }
  .nav-group-toggle:hover,
  .nav-group-toggle:focus-visible,
  .nav-group.is-current .nav-group-toggle {
    text-decoration: none;
  }
  .nav-group-label { min-height: 48px; }
  .nav-group-label::after { bottom: 3px; }
  .nav-menu {
    position: static;
    width: auto;
    padding: 0 0 8px 14px;
    border: 0;
    border-left: 4px solid var(--yellow);
    box-shadow: none;
  }
  .nav-group.is-open .nav-menu--resources {
    grid-template-columns: 1fr;
  }
  .nav-resource-grid {
    grid-template-columns: 1fr 1fr;
  }
  .primary-nav .nav-menu .nav-resource-feature-link {
    min-height: 112px;
    margin-right: 8px;
  }
  .primary-nav .nav-menu a { padding-inline: 10px; }
  .primary-nav .nav-menu .nav-menu-overview { margin-right: 8px; }
  .primary-nav > a { flex: 0 0 auto; }
  .resource-card-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
  .service-card,
  .service-grid-wide .service-card { min-height: 0; }
  .service-number { margin-bottom: 22px; }
  .studio-grid { grid-template-columns: 1fr; }
  .studio-nav,
  .studio-detail { display: none; }
  .resource-card-grid,
  .nav-resource-grid { grid-template-columns: 1fr; }
  .resource-card { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .nav-group-label::after,
  .nav-group-icon::before,
  .nav-group-icon::after { transition: none; }
}
