/* Prototype: the approved hero image, typography and brand tokens are authoritative. */
:root { --public-paper:var(--fi-surface-warm); --public-ink:var(--fi-text-heading); }
/* Keep primary navigation legible over long light sections. Home retains its approved overlay. */
body:not(.document-home) .site-nav { background:var(--fw-navy-900); }
.site-nav nav { gap:clamp(16px,2vw,30px); }
body:not(.document-home):not(.recognise-page) .site-shell { background:var(--public-paper); }
body:not(.document-home):not(.recognise-page) { background:var(--public-paper); color:var(--public-ink); }
body:not(.document-home) .site-footer { background:var(--fw-navy-900); color:var(--fw-muted); }
/* Exact approved background; concentrated opening rather than a full-page dark wrapper. */
.access-page .page-hero,.early-access-page .page-hero,.data-page .data-hero {
  background:url('assets/tekmerion-hero-background.png?v=1b579538') center / 100% 100% no-repeat;
  color:var(--fw-white); padding-top:144px; padding-bottom:72px; min-height:auto;
}
.access-page .gradient-field,.early-access-page .gradient-field { display:none; }
.access-page .page-hero-content,.early-access-page .page-hero-content { max-width:650px; }
.access-page .page-title,.early-access-page .page-title { font-size:clamp(44px,5.2vw,76px); }
.access-page .page-hero .lead,.early-access-page .page-hero .lead { max-width:620px; }
.access-page .access-hero-cta p { color:var(--fw-white); }
/* Open numbered process, with one intentional dark report feature. */
.access-page .lens-process { background:var(--public-paper); border:0; }
.access-page .process-intro > p:last-child,.access-page .process-step p { color:var(--fi-text-supporting); }
.access-page .lens-process .eyebrow,.access-page .page-section .eyebrow { color:var(--fw-blue); }
.access-page .process-flow { gap:0; }
.access-page .process-step { padding:40px 0; border:0; border-top:1px solid var(--fi-border); background:none; box-shadow:none; clip-path:none; }
.access-page .process-step::before,.access-page .process-step::after { display:none; }
.access-page .process-step .step-number { border:0; clip-path:none; place-items:start; height:auto; font-size:38px; color:var(--fw-blue); }
.access-page .finding-group { padding:8px 24px; border:0; border-left:2px solid var(--fw-cyan); background:none; }
.access-page .finding-group-significant { border-left-color:var(--fw-orange); }
.access-page .finding-group h4 { color:var(--public-ink); }
.access-page .finding-list li,.access-page .output-list li { color:var(--public-ink); }
.access-page .process-step .step-note { color:var(--fw-blue); }
.access-page .process-step-action { margin-top:32px; padding:40px 28px; background:var(--fw-navy-900); color:var(--fw-white); border:0; }
.access-page .process-step-action .step-number { color:var(--fw-orange); }
.access-page .process-step-action .action-copy p,.access-page .process-step-action .output-list li { color:var(--fw-muted); }
.access-page .process-close { padding-top:56px; }
.access-page .process-close p,.access-page .process-close strong { color:var(--public-ink); }
.access-page .process-close strong { text-decoration:underline; text-decoration-color:var(--fw-orange); text-underline-offset:10px; text-decoration-thickness:2px; }
.access-page .page-section { background:var(--fi-surface-soft-blue); }
.access-page .access-list li,.access-page .support-panel p { color:var(--fi-text-supporting); }
.access-page .support-panel { padding:32px 0 0; background:none; border:0; border-top:1px solid var(--fi-border); clip-path:none; }
/* Early access: light reading sections and quiet rules instead of nested panels. */
.early-access-page .page-section { background:var(--public-paper); }
.early-access-page .page-section.alt { background:var(--fi-surface-soft-blue); }
.early-access-page .page-section .eyebrow { color:var(--fw-blue); }
.early-access-page .statement-copy,.early-access-page .access-list li,.early-access-page .contact-heading p,
.early-access-page .contact-card p,.early-access-page .future-form-note p { color:var(--fi-text-supporting); }
.early-access-page .chamfer-panel::before,.early-access-page .chamfer-panel::after { display:none; }
.early-access-page .expectation-panel { padding:0 0 0 28px; border-left:2px solid var(--fw-orange); }
.early-access-page .expectation-panel h2,.early-access-page .contact-card h3,.early-access-page .future-form-note h3 { color:var(--public-ink); }
.early-access-page .contact-card { padding:28px 0; border-top:1px solid var(--fi-border); }
.early-access-page .contact-card .button-secondary { color:var(--public-ink); border-color:var(--fw-blue); }
.early-access-page .feedback-hub-panel { background:var(--fw-navy-900); }
.early-access-page .feedback-hub-panel .eyebrow { color:var(--fw-cyan); }
.early-access-page .feedback-hub-panel .access-list li { color:var(--fw-muted); }
.early-access-page .future-form-note { padding:32px 0 0; border-top:1px solid var(--fi-border); }
/* The artwork is approved raster content: preserve pixels and crop; open its surroundings. */
.origin-page .about-narrative { padding-top:88px; background:var(--public-paper); }
.origin-page .about-artwork-section { padding-inline:clamp(16px,3vw,48px); background:var(--public-paper); }
.origin-page .about-artwork-frame { background:transparent; }
.origin-page .about-narrative-gap,.origin-page .about-narrative-tail { background:var(--public-paper); height:clamp(32px,5vw,72px); }
/* Six narrative articles share one light editorial treatment. */
.investigation-page .article-hero { min-height:auto; padding-bottom:64px; }
.investigation-page .article-hero h1 { font-size:clamp(44px,6.7vw,88px); }
.investigation-page .eyebrow,.investigation-page .article-step h2,.investigation-page .article-back { color:var(--fw-blue); }
.investigation-page .article-step { border-color:var(--fi-border); }
.investigation-page .article-step .step-number { border:0; color:var(--fw-blue); clip-path:none; }
.investigation-page .article-step ul { gap:12px 28px; }
.investigation-page .article-step li { background:none; padding:16px 0; border-bottom:1px solid var(--fi-border); }
.investigation-page .article-line::before,.investigation-page .article-line::after { background:var(--fi-border); }
.investigation-page .text-link { color:var(--public-ink); }
/* Keep photographic risk scenes immersive; open explanatory overlays and final scene. */
.recognise-page .focus-copy { background:var(--public-paper); color:var(--public-ink); box-shadow:var(--fi-shadow-soft); border:0; }
.recognise-page .focus-copy .eyebrow,.recognise-page .focus-copy .focus-question { color:var(--fw-blue) !important; }
.recognise-page .focus-copy > p:not(.eyebrow) { color:var(--fi-text-supporting); }
.recognise-page .scale-scene { background:var(--fi-gradient-page); color:var(--public-ink); }
.recognise-page .scale-scene::before { display:none; }
.recognise-page .scale-scene .scale-number,.recognise-page .scale-content > p { color:var(--public-ink); }
.recognise-page .scale-content .scale-support { color:var(--fi-text-supporting); }
/* Case study: preserve evidence contrasts and download buttons, open the reading canvas. */
.data-page .data-hero { padding-top:132px; }
.data-page #data-main { background:var(--public-paper); }
.data-page .data-story { padding-top:40px; padding-bottom:72px; }
.data-page .data-stage { padding-block:32px; }
.data-page .data-stage h2 { color:var(--public-ink); max-width:340px; font-size:26px; }
.data-page .data-introduction,.data-page .data-closing,.data-page .data-next { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:56px; }
.data-page .data-prose { color:var(--fi-text-supporting); }
.data-page .data-check { background:none; border:0; border-top:2px solid var(--fw-orange); border-radius:0; padding:24px 0; }
.data-page .data-checks { gap:24px 40px; }
.data-page .data-check h3 { font-size:20px; color:var(--public-ink); }
.data-page .data-shipment,.data-page .data-verification,.data-page .data-scale ol { background:var(--fi-surface); }
.data-page .data-try-actions { border:0; border-top:2px solid var(--fw-orange); border-radius:0; padding:32px 0 0; background:none; }
.data-page .data-verification-pair > .data-questionable,.data-page .data-scale > .data-prose { background:var(--fw-navy-900); color:var(--fw-white); }
/* Six primary links need the menu at tablet widths; use existing menu and orange states. */
@media(max-width:1100px) {
 body .site-nav,body.recognise-page .site-nav { display:grid; grid-template-columns:1fr auto; gap:12px; height:auto; padding:18px 24px; background:var(--fw-navy-900); }
 body .nav-toggle { display:inline-grid; place-items:center; }
 body .site-nav nav,body.recognise-page .site-nav nav { grid-column:1 / -1; width:100%; margin:0; display:none; flex-direction:column; align-items:stretch; gap:0; }
 body .site-nav nav[data-open="true"],body.recognise-page .site-nav nav[data-open="true"] { display:flex; }
 body .site-nav nav a,body.recognise-page .site-nav nav a { display:flex !important; align-items:center; min-height:44px; font-size:var(--fw-label); border-top:1px solid var(--fw-border-cyan); }
}
@media(max-width:760px) {
 .access-page .page-hero,.early-access-page .page-hero,.data-page .data-hero { background-size:auto 100%; background-position:left center; padding-top:120px; padding-bottom:48px; }
 .data-page .data-introduction,.data-page .data-closing,.data-page .data-next { display:block; }
 .data-page .data-stage h2,.data-page .data-prose,.data-page .data-introduction .data-prose,.data-page .data-closing .data-prose,.data-page .data-next .data-prose { width:100%; margin-left:0; }
 .data-page .data-stage h2 { max-width:none; }
 .data-page .data-checks { gap:8px; }
 .access-page .process-step-action { padding:28px 18px; }
 .early-access-page .feedback-hub-panel { grid-template-columns:1fr; }
 .early-access-page .feedback-hub-button { white-space:normal; line-height:1.4; padding-block:14px; }
}
@media(max-width:680px) {
 .access-page .page-hero,.early-access-page .page-hero,.data-page .data-hero { padding-top:48px; }
 .origin-page .about-narrative { padding-top:24px; }
 .investigation-page .investigation-article { padding-top:48px; }
 .investigation-page .article-step .step-number { width:36px; font-size:20px; }
 .access-page .process-step .step-number { font-size:28px; }
 .access-page .process-step-action .output-pack { grid-column:1 / -1; }
}
/* Shared headings previously assumed a navy page. */
.access-page .support-panel h2,
.early-access-page .page-section .section-heading { color:var(--public-ink); }
.recognise-page .scale-scene .scene-meta { color:var(--public-ink); text-shadow:none; }
.recognise-page .scale-scene .scene-meta b { color:var(--fw-blue); }
