/* V80: shared ink / ivory / slate interface with purposeful green actions.
   Load after every component sheet.
   Role overrides are explicit because earlier generations use literal colors.
   Crisis bar, authentic assets, story artwork, source crops and motion geometry
   retain their existing rules. */
:root {
  --v78-ink: #0d1723;
  --v78-raised: #172331;
  --v78-paper: #f2f0ea;
  --v78-card: #faf9f5;
  --v78-text: #192633;
  --v78-muted: #53616c;
  --v78-white: #f4f3ee;
  --v78-soft: #bcc7d0;
  --v78-dark-line: #334250;
  --v78-light-line: #cdd2d2;
  --v78-green: #73a893;
  --v78-green-ink: #315f4d;
  --v78-focus: #d0af76;
  --v79-action: #94cb80;
  --v79-action-hover: #acd995;
  --v79-action-active: #7cb568;
  --v80-green-ink: #255b42;
  --v80-green-line: #6d8977;
  --v80-sage: #e4eddf;
  --v80-sage-strong: #d5e6cc;
  --v80-chat: #f6f8f3;
  --v80-chat-line: #b7c7ba;
  --v80-warn: #79531e;
  --v80-error: #8d3d31;
  --ink: var(--v78-text);
  --ink-deep: var(--v78-ink);
  --ink-soft: var(--v78-raised);
  --command-navy: var(--v78-ink);
  --command-blue: var(--v78-raised);
  --paper: var(--v78-paper);
  --cream: var(--v78-paper);
  --sage: var(--v78-paper);
  --mint: var(--v78-soft);
  --signal-green: var(--v78-green);
  --gold: var(--v78-focus);
  --warm-white: var(--v78-white);
  --line: var(--v78-light-line);
  --line-light: var(--v78-dark-line);
  --mp2-control-shadow: none;
  --mp2-control-shadow-hover: none;
}
body { background: var(--v78-paper); color: var(--v78-text); }
.section { padding-block: clamp(3rem, 5.6vw, 5rem); }
.section--ink { background: var(--v78-ink); color: var(--v78-white); }
:is(.section--paper, .section--cream, .section--sage, .section--formation, .research-section) {
  background: var(--v78-paper); color: var(--v78-text);
}
.section :is(h2, h3, h4) { letter-spacing: -.025em; }
:is(.section-label, .eyebrow, .card-kicker) { font-size: .8125rem; line-height: 1.45; letter-spacing: .07em; }
.section-label { color: var(--v78-muted); }
.section-label span { color: var(--v78-green-ink); border-color: var(--v78-light-line); }
.section--ink :is(.section-label, .card-kicker) { color: var(--v78-soft); }
.section--ink .section-label span { color: var(--v78-green); }
.section--ink .section-heading > p:last-child { color: var(--v78-soft); }
.text-link { font-size: .9375rem; line-height: 1.5; letter-spacing: 0; text-underline-offset: .23em; }
:is(.section--paper, .section--cream, .section--sage, .section--formation, .research-section) .text-link,
:is(.section--paper, .section--cream, .section--sage, .section--formation, .research-section) .text-link:is(:hover, :focus-visible) {
  color: var(--v78-text); text-decoration-color: currentColor;
}

/* Navigation is a quiet, stable frame, with one filled utility destination. */
.site-header { background: var(--v78-ink); border-color: var(--v78-dark-line); box-shadow: none; }
.site-header::after { background: var(--v78-dark-line); box-shadow: none; }
.site-header .brand img { filter: none; }
.site-header .brand__mission { padding-left: 0; border-left: none; color: var(--v78-green); text-shadow: none; }
.site-header .brand__actions { color: var(--v78-white); text-shadow: none; }
.site-header .brand__actions strong:first-child { font-weight: 650; }
.site-header .brand__actions em { color: var(--v78-green); }
.site-header nav a:not(.nav-cta) { color: var(--v78-soft); font-size: .8125rem; font-weight: 600; letter-spacing: 0; }
.site-header nav a:not(.nav-cta):is(:hover, :focus-visible, [aria-current]) { color: var(--v78-white); }
.site-header nav a:not(.nav-cta)::after { background: var(--v78-green); box-shadow: none; }
.nav-active-rail { background: var(--v78-soft); box-shadow: none; }
.nav-toggle { color: var(--v78-white); background: var(--v78-raised); border-color: var(--v78-dark-line); }
.nav-toggle i, .nav-toggle i::before, .nav-toggle i::after { background-color: var(--v78-white); }
.site-header .nav-ai__badge { color: var(--v78-ink); border-color: #456339; background: transparent; font-size: .6875rem; }

/* Solid action hierarchy. The selector mirrors the previous high-specificity
   interface family; later page-specific roles choose light/dark treatment. */
:is(.button, .site-header nav .nav-cta, .nav-toggle, .navigator-send, .navigator-expand,
    .story-player__control, .story-ask button, .library-controls button, .library-empty button,
    .education-lab__presets button, .method-card__open, .method-briefing__footer button) {
  min-height: 2.75rem;
  border-radius: .375rem;
  background-image: none;
  box-shadow: none;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
  transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}
:is(.button, .site-header nav .nav-cta, .nav-toggle, .navigator-send, .navigator-expand,
    .story-player__control, .story-ask button, .library-controls button, .library-empty button,
    .education-lab__presets button, .method-card__open, .method-briefing__footer button):hover:not(:disabled):not([aria-disabled="true"]) {
  box-shadow: none; transform: none; filter: none;
}
:is(.button, .site-header nav .nav-cta, .nav-toggle, .navigator-expand,
    .story-player__control, .story-ask button, .library-controls button, .library-empty button,
    .education-lab__presets button, .method-card__open, .method-briefing__footer button):active:not(:disabled):not([aria-disabled="true"]) {
  box-shadow: inset 0 0 0 2px #53616c; transform: none; filter: none;
}
.button--primary, .story-ask button {
  border-color: var(--v78-card); background: var(--v78-white); color: var(--v78-text);
}
.button--primary:hover:not(:disabled):not([aria-disabled="true"]),
.story-ask button:hover:not(:disabled) {
  background: #dedfdc; color: var(--v78-text); border-color: #dedfdc;
}
/* Brighter green marks the story entry, AI destination and send action.
   Matte fills and dark text keep the accent readable, including on phones. */
.hero__actions .button--story, .site-header nav .nav-cta.nav-ai, .navigator-chat .navigator-send {
  color: var(--v78-ink); background: var(--v79-action); border-color: var(--v79-action); opacity: 1; filter: none;
}
.hero__actions .button--story:is(:hover, :focus-visible):not(:disabled):not([aria-disabled="true"]),
.site-header nav .nav-cta.nav-ai:is(:hover, :focus-visible):not([aria-disabled="true"]),
.navigator-chat .navigator-send:is(:hover, :focus-visible):not(:disabled) {
  color: var(--v78-ink); background: var(--v79-action-hover); border-color: var(--v79-action-hover); filter: none; transform: none;
}
.hero__actions .button--story:active:not(:disabled):not([aria-disabled="true"]),
.site-header nav .nav-cta.nav-ai:active:not([aria-disabled="true"]),
.navigator-chat .navigator-send:active:not(:disabled) {
  background: var(--v79-action-active); border-color: var(--v79-action-active); box-shadow: inset 0 0 0 2px #456339;
}
.hero__actions .button--story:is(:disabled, [aria-disabled="true"]),
.site-header nav .nav-cta.nav-ai[aria-disabled="true"] {
  color: var(--v78-soft); background: #394650; border-color: #667584; opacity: 1; filter: none; box-shadow: none !important; cursor: not-allowed;
}
.site-header .nav-ai[aria-disabled="true"] .nav-ai__badge { color: var(--v78-soft); border-color: #79848c; }
.button--dark, .button--quiet, .navigator-expand, .library-controls button, .library-empty button,
.method-card__open, .method-briefing__footer button {
  color: var(--v78-white); background: var(--v78-raised); border-color: #73818e;
}
.button--dark:hover, .button--quiet:hover, .navigator-expand:hover,
.method-card__open:hover, .method-briefing__footer button:hover:not(:disabled) {
  color: var(--v78-white); background: #243445; border-color: var(--v78-soft);
}
.section .button.button--dark { background: var(--v78-ink); color: var(--v78-white); }
.section .button.button--dark:hover { background: #243445; color: var(--v78-white); }
.button--story small { color: var(--v78-ink); opacity: 1; font-size: .75rem; letter-spacing: .025em; font-weight: 500; }
.button--story__icon { border-color: #456339; background: transparent; color: var(--v78-ink); box-shadow: none; }
.hero__actions .button--story:is(:disabled, [aria-disabled="true"]) :is(small, .button--story__icon) { color: var(--v78-soft); border-color: #79848c; }
:is(.site-header, main, .site-footer) :is(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--v78-focus); outline-offset: 3px; box-shadow: 0 0 0 2px var(--v78-ink);
}
:is(.button, .site-header nav .nav-cta, .nav-toggle, .navigator-send, .navigator-expand,
    .story-player__control, .story-ask button, .library-controls button, .library-empty button,
    .education-lab__presets button, .method-card__open, .method-briefing__footer button):focus-visible {
  outline: 2px solid var(--v78-focus); outline-offset: 3px; box-shadow: 0 0 0 2px var(--v78-ink);
}
.site-header nav .nav-cta.nav-ai:focus-visible {
  outline: 2px solid var(--v78-focus); outline-offset: 3px; box-shadow: 0 0 0 2px var(--v78-ink);
}
.skip-link { background: var(--v78-card); color: var(--v78-text); }

/* Hero: one headline, an unaltered emblem, and a quieter four-stage frame. */
.home-page .hero { min-height: 0; padding: 0; background: var(--v78-ink); color: var(--v78-white); }
.home-page .hero::before, .home-page .hero::after { display: none; }
.home-page .hero__grid { padding-block: clamp(2.75rem, 5.5vw, 5rem); gap: clamp(2.25rem, 5vw, 4.5rem); }
.hero h1.hero-title--signal { font-size: clamp(3rem, 4.8vw, 4.5rem); font-weight: 680; line-height: 1.04; letter-spacing: -.045em; }
.hero h1.hero-title--signal > span { color: var(--v78-white); background: none; }
.hero h1.hero-title--signal strong { color: var(--v78-white); font-weight: 480; letter-spacing: -.04em; line-height: 1.1; }
.hero .eyebrow { margin-bottom: 1.3rem; color: var(--v78-soft); }
.hero .eyebrow::before { background: var(--v78-green); box-shadow: none; }
.hero__body { max-width: 56ch; margin-top: 1.5rem; color: var(--v78-soft); font-size: 1.125rem; line-height: 1.65; }
.hero__lead--human { color: var(--v78-soft); font-size: 1.125rem; }
.hero__lead--human em { color: var(--v78-soft); }
.hero__actions { margin-top: 1.6rem; gap: 1rem 1.5rem; }
.hero__actions .text-link { color: var(--v78-white); font-size: .9375rem; padding-block: .7rem; }
.hero__boundary { margin-top: 1.5rem; border-color: var(--v78-dark-line); color: var(--v78-soft); font-size: .875rem; line-height: 1.6; }
.hero__boundary strong { color: var(--v78-white); }
.hero-emblem, .hero-emblem__visual { background: none; box-shadow: none; }
.hero-emblem::before, .hero-emblem::after,
.hero-emblem__visual::before, .hero-emblem__visual::after { display: none; }
.hero-emblem__visual > img { filter: none; }
/* Restore the four native radar waves, with their original size and timing.
   Keep the matte green treatment; the grid, crosshairs and glow stay absent. */
.hero-emblem__radar { display: block; background: none; }
.hero-emblem__radar::before, .hero-emblem__radar::after { display: none; }
.hero-emblem__radar i { border-color: rgba(115, 168, 147, .48); box-shadow: none; }
.hero-cycle__segments { filter: none; }
.hero-cycle__segments use { stroke: var(--v78-raised); filter: none; }
.hero-cycle__guide { stroke: var(--v78-dark-line); }
.hero-cycle__labels text { fill: var(--v78-white); stroke: none; font-weight: 650; }
.hero-cycle__labels tspan { fill: var(--v78-green); }
.hero-cycle__targets > g { color: var(--v78-green); filter: none; }
/* Keep the established pulse's timing, stroke geometry and phase staggering,
   but remove its teal wash and glow. Reduced-motion rules still disable it. */
@keyframes mp2-home-cycle-pulse {
  0%, 34%, 100% { stroke: #172331; stroke-width: 42; filter: none; }
  11% { stroke: #243445; stroke-width: 43.5; filter: none; }
  21% { stroke: #1d2b3b; stroke-width: 42.6; filter: none; }
}
@keyframes mp2-home-target-pulse {
  0%, 34%, 100% { opacity: .72; filter: none; }
  11% { opacity: 1; filter: none; }
  21% { opacity: .84; filter: none; }
}
.hero-emblem figcaption { border-color: var(--v78-dark-line); background: transparent; box-shadow: none; padding-block: .8rem; }
.hero-emblem figcaption strong { color: var(--v78-soft); font-size: .875rem; font-weight: 600; letter-spacing: .03em; }
.hero-emblem figcaption span { color: var(--v78-soft); }
.trust-strip { background: var(--v78-raised); border-color: var(--v78-dark-line); }
.trust-strip__grid p, .trust-strip__grid p:last-child { border-color: var(--v78-dark-line); }
.trust-strip__grid p::before { background: var(--v78-dark-line); }
.trust-strip__grid span { color: var(--v78-soft); font-size: .75rem; letter-spacing: .04em; }
.trust-strip__grid strong { color: var(--v78-white); font-size: 1.0625rem; font-weight: 600; }
.trust-strip__grid small { color: var(--v78-soft); font-size: .8125rem; }

/* Editorial page openers share the same rhythm; compact legal pages stay quiet. */
.interior-hero, .education-hero { background: var(--v78-ink); color: var(--v78-white); border-color: var(--v78-dark-line); }
.interior-hero::before, .interior-hero::after, .education-hero::after { display: none; }
.interior-hero { padding-block: clamp(3rem, 5vw, 4.75rem); }
.education-hero__grid { padding-block: clamp(3rem, 5vw, 4.75rem); }
.interior-hero h1, .education-hero h1, .research-page .interior-hero h1 {
  color: var(--v78-white); font-size: clamp(2.5rem, 4.5vw, 4rem); font-weight: 650; line-height: 1.12;
}
.interior-hero :is(.eyebrow, .section-label), .education-hero .eyebrow { color: var(--v78-soft); }
.interior-hero > .shell > p,
.interior-hero__grid > div > p:last-child,
.education-hero__grid > div > p:last-child { color: var(--v78-soft); }
.interior-hero aside, .education-hero aside { border-color: var(--v78-dark-line); color: var(--v78-soft); }
.interior-hero aside strong, .education-hero aside strong { color: var(--v78-white); }
.interior-hero--compact { padding-block: 3rem; }
.policy-page .interior-hero h1 { max-width: 24ch; font-size: clamp(2rem, 4vw, 3.5rem); }

/* A light green family balances the prevention loop without changing its
   node/rail geometry, motion, or source-to-care hierarchy. */
.section--framework-light { background: var(--v78-paper); border-color: var(--v78-light-line); }
.section--framework-light::before, .section--framework-light::after { display: none; }
.section--framework-light .evidence-map__heading h2 { color: var(--v78-text); }
.section--framework-light .evidence-map__heading > p { color: var(--v78-muted); }
.section--framework-light .evidence-map__heading > p strong { color: var(--v80-green-ink); }
.section--framework-light :is(.section-label, .evidence-map__hint) { color: var(--v78-muted); }
.section--framework-light .section-label span { color: var(--v78-green-ink); }
.section--framework-light .evidence-map__node,
.section--framework-light .evidence-map__node--analytics {
  border-color: var(--v80-chat-line); background: var(--v78-card); color: var(--v78-text); box-shadow: none;
}
.section--framework-light .evidence-map__node:is(:hover, :focus-visible) { background: var(--v80-sage); border-color: var(--v80-green-ink); box-shadow: none; }
.section--framework-light .evidence-map__node::before,
.section--framework-light .evidence-map__node::after { box-shadow: none; background-image: none; }
.section--framework-light .evidence-map__node--source::before { background-color: var(--v80-green-line); }
.section--framework-light .evidence-map__node--research::before { background-color: var(--v80-green-ink); }
.section--framework-light .evidence-map__node strong { color: var(--v78-text); }
.section--framework-light .evidence-map__node :is(small, em) { color: var(--v78-muted); }
.section--framework-light .evidence-map__step,
.section--framework-light .evidence-map__step i { color: var(--v80-green-ink); }
.section--framework-light .evidence-map__node--analytics { background: var(--v80-sage); border-color: var(--v80-green-line); }
.section--framework-light .evidence-map__node--analytics:is(:hover, :focus-visible) { background: #dce8d6; }
.section--framework-light .evidence-map__node--analytics small { color: var(--v78-muted); }
.section--framework-light .evidence-map__node--analytics :is(small, em) b,
.section--framework-light .evidence-map__feedback b { color: var(--v80-green-ink); }
.section--framework-light .evidence-map__node--analytics svg path { stroke: var(--v80-green-ink); }
.section--framework-light .evidence-map__node--analytics svg circle { fill: var(--v78-card); stroke: var(--v80-green-ink); }
/* Three contained wavefronts make the existing endpoint read as an early
   signal. Opacity alone changes; the illustrative line and points stay still. */
.section--framework-light .evidence-map__node--analytics svg .evidence-map__signal-wave {
  fill: none; stroke: var(--v80-green-ink); stroke-width: 1.75; opacity: .4;
  animation: mp2-early-signal-wave 3.6s ease-in-out infinite;
}
.section--framework-light .evidence-map__node--analytics svg .evidence-map__signal-wave--middle { animation-delay: .3s; }
.section--framework-light .evidence-map__node--analytics svg .evidence-map__signal-wave--outer { animation-delay: .6s; }
@keyframes mp2-early-signal-wave {
  0%, 65%, 100% { opacity: .2; }
  20%, 35% { opacity: .65; }
}
@media (prefers-reduced-motion: reduce) {
  .section--framework-light .evidence-map__node--analytics svg .evidence-map__signal-wave { animation: none; opacity: .4; }
}

.section--framework-light .evidence-map__feedback { color: var(--v78-text); background: var(--v80-sage); box-shadow: none; border-color: var(--v80-green-line); }
.section--framework-light .evidence-map__feedback:is(:hover, :focus-visible) { background: #dce8d6; border-color: var(--v80-green-ink); }
.section--framework-light .evidence-map__feedback strong { color: var(--v80-green-ink); }
.section--framework-light .evidence-map__feedback small { color: var(--v78-muted); }
.section--framework-light .evidence-map__feedback > span { background: var(--v80-green-ink); }
.section--framework-light .evidence-map__node--care { background: var(--v80-sage-strong); border-color: var(--v80-green-line); }
.section--framework-light .evidence-map__node--care:is(:hover, :focus-visible) { background: #c8debc; border-color: var(--v80-green-ink); }
.section--framework-light .evidence-map__node--care strong { color: var(--v78-text); }
.section--framework-light .evidence-map__node--care :is(small, em) { color: #405b4a; }
.section--framework-light .evidence-map__node--care .evidence-map__step,
.section--framework-light .evidence-map__node--care .evidence-map__step i { color: var(--v80-green-ink); }

/* Research is a reading surface. Exact paper titles retain normal flow. */
.home-page .home-research, .research-page .paper-library, .research-navigator { background: var(--v78-paper); color: var(--v78-text); }
.home-research::before, .home-research::after { display: none; }
.home-research .section-heading :is(h2, .text-link),
.home-paper-areas__heading h3, .home-paper-area h3 a,
.research-page .paper-library__header h2, .research-page .paper-area__heading h3 { color: var(--v78-text); }
.home-research .section-heading--split > div:last-child > p,
.home-research .section-heading--light .section-label,
.paper-library__header .section-label,
.paper-library__header > p:not(.section-label) { color: var(--v78-muted); }
.home-research .section-label span { color: var(--v78-green-ink); }
.home-research .section-heading .text-link { margin-top: .75rem; }
/* A real published figure leads the research sequence. Titles, source identity
   and limits live beside the chart rather than inside a decorative cover. */
.home-study-spotlight {
  display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr); gap: clamp(1.75rem, 4vw, 3.5rem);
  align-items: center; padding-block: 2rem 2.5rem; border-block: 1px solid var(--v78-light-line);
}
.home-study-spotlight > * { min-width: 0; }
.home-study-spotlight__meta { margin: 0 0 1rem; color: var(--v78-muted); font-size: .8125rem; line-height: 1.5; font-weight: 600; }
.home-study-spotlight__body h3 {
  max-width: 26ch; margin: 0; color: var(--v78-text); font: 650 clamp(1.5rem, 2.35vw, 2.125rem)/1.2 var(--sans);
  letter-spacing: -.025em; text-wrap: pretty; overflow-wrap: break-word;
}
.home-study-spotlight .paper-card__authors { margin-block: 1rem 0; font-size: .9375rem; line-height: 1.5; }
.home-study-spotlight__summary { max-width: 58ch; margin-block: 1.25rem 0; color: var(--v78-text); font-size: 1rem; line-height: 1.65; }
.home-study-spotlight__limits { margin: 1.25rem 0 0; padding-left: 1rem; border-left: 2px solid #8b969c; color: var(--v78-muted); font-size: .875rem; line-height: 1.6; }
.home-study-spotlight__limits strong { display: block; margin-bottom: .35rem; color: var(--v78-text); font-weight: 650; }
.home-study-spotlight__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; margin-top: 1.25rem; }
.home-study-spotlight__actions a { display: inline-flex; align-items: center; gap: .4rem; min-height: 2.75rem; color: var(--v78-text); font-size: .875rem; font-weight: 650; text-underline-offset: .23em; }
.home-study-spotlight__figure { margin: 0; padding: 1rem; border: 1px solid var(--v78-light-line); background: var(--v78-card); }
.home-study-spotlight__figure > a { display: block; background: #fff; }
.home-study-spotlight__figure svg { display: block; width: 100%; height: auto; overflow: hidden; }
.home-study-spotlight__figure figcaption { display: grid; gap: .35rem; padding: 1rem .25rem .15rem; border-top: 1px solid var(--v78-light-line); color: var(--v78-muted); font-size: .8125rem; line-height: 1.5; }
.home-study-spotlight__figure figcaption strong { color: var(--v78-text); font-size: .875rem; font-weight: 650; }
.home-study-spotlight__figure figcaption a { width: fit-content; padding-block: .2rem; color: var(--v78-text); text-underline-offset: .23em; }

/* Companion works are an editorial index. Space follows the source groups:
   a forecasting pair, a wider systems column, and a shorter readiness column.
   Authentic thumbnails remain; aria-hidden duplicate citation covers do not. */
.home-paper-areas { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr); gap: 0 clamp(2rem, 4.5vw, 4rem); margin-top: 2.25rem; }
.home-paper-area { min-width: 0; margin: 0; padding-block: 1.5rem .5rem; border-top: 1px solid var(--v78-light-line); }
.home-paper-area:first-child { grid-column: 1 / -1; padding-top: 0; border-top: 0; }
.home-paper-area h3 { margin: 0 0 1rem; font-size: 1.0625rem; line-height: 1.45; letter-spacing: -.01em; }
.home-paper-area h3 a { text-underline-offset: .23em; }
.home-paper-area .paper-tile-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
.home-paper-area:first-child .paper-tile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 4.5vw, 4rem); }
.home-paper-area .paper-tile {
  grid-template-columns: 5.25rem minmax(0, 1fr); align-items: start; gap: 1.1rem; padding: 1.25rem 0;
  border: 0; border-bottom: 1px solid var(--v78-light-line); border-radius: 0; background: transparent; box-shadow: none;
}
.home-paper-area .paper-tile:last-child, .home-paper-area:first-child .paper-tile { border-bottom: 0; }
.home-paper-area .paper-tile:is(:hover, :focus-visible) { background: transparent; border-color: #8b969c; }
.home-paper-area .paper-tile:is(:hover, :focus-visible) .paper-tile__identity > strong { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.home-paper-area .paper-tile .paper-thumb--citation { display: none; }
.home-paper-area .paper-thumb--citation + .paper-tile__identity { grid-column: 1 / -1; }
.home-paper-area .paper-tile .paper-thumb--image { padding: .25rem; min-height: 0; background: var(--v78-card); }
.home-paper-area .paper-tile .paper-thumb img { height: auto; max-height: 8rem; object-fit: contain; }
.home-paper-area .paper-card__outlet { margin-bottom: .5rem; font-size: .8125rem; line-height: 1.5; }
.home-paper-area .paper-tile__identity > strong { font-size: 1.0625rem; line-height: 1.45; font-weight: 620; letter-spacing: -.01em; overflow-wrap: break-word; }
.home-paper-area .paper-tile__authors { margin-top: .6rem; font-size: .875rem; line-height: 1.5; }
.home-paper-area .paper-tile__link { margin-top: .65rem; font-size: .8125rem; }
.home-paper-areas__heading, .paper-area-nav, .paper-area__heading { border-color: var(--v78-light-line); }
.paper-area__heading > span { color: var(--v78-muted); }
.paper-library__header .text-link, .paper-area-nav a,
.home-paper-areas__heading .text-link { color: var(--v78-text); }
.paper-area-nav a { font-size: .9375rem; }
.paper-card, .paper-tile { border-color: var(--v78-light-line); background: var(--v78-card); box-shadow: none; border-radius: .375rem; }
.paper-card { padding: 1.5rem; }
.paper-card__publication { color: var(--v78-text); }
.research-page .paper-card h4 { color: var(--v78-text); font-size: 1.1875rem; line-height: 1.42; font-weight: 650; }
.paper-card__outlet { color: var(--v78-muted); font-size: .8125rem; font-weight: 600; }
.paper-card__authors { color: var(--v78-muted); font-size: .875rem; }
.paper-card__access { color: var(--v78-green-ink); font-size: .8125rem; }
.paper-card__actions a { color: var(--v78-text); font-size: .875rem; padding-block: .25rem; }
.paper-tile:hover, .paper-tile:focus-visible { border-color: #8b969c; background: #efeee8; }
.paper-tile__identity > strong { color: var(--v78-text); font-size: 1rem; line-height: 1.5; }
.paper-tile__authors { color: var(--v78-muted); font-size: .8125rem; }
.paper-tile__link { color: var(--v78-text); font-size: .8125rem; }
.paper-thumb { box-shadow: none; border-color: var(--v78-light-line); }
/* Citation cues are intentionally not publisher covers. Only their aria-hidden
   duplicate title/authors contract; full adjacent titles/authors remain intact. */
.paper-card .paper-thumb--citation { height: 150px; min-height: 150px; box-sizing: border-box; }
.paper-thumb--citation[aria-hidden="true"] > strong,
.paper-thumb--citation[aria-hidden="true"] .paper-thumb__authors { display: none; }
.paper-thumb--citation .paper-thumb__outlet { font-size: .6875rem; font-weight: 600; line-height: 1.4; }
.paper-thumb--citation .paper-thumb__year { font-size: .75rem; line-height: 1.4; }
.paper-tile .paper-thumb--citation { height: 110px; min-height: 110px; box-sizing: border-box; }
.paper-tile .paper-thumb--citation .paper-thumb__outlet { font-size: .5625rem; line-height: 1.35; }
.paper-tile .paper-thumb--citation .paper-thumb__year { font-size: .625rem; }
.paper-card .source-details > summary,
.paper-card .evidence-citation summary { color: var(--v78-text); font-size: .9375rem; }
.paper-card .evidence-citation,
.paper-card .evidence-summary > div { border-color: var(--v78-light-line); color: var(--v78-muted); }
.paper-card .evidence-summary dt { color: var(--v78-text); font-size: .875rem; }
.paper-card .evidence-summary dd { color: var(--v78-muted); font-size: .9375rem; line-height: 1.65; }
.paper-card .evidence-citation p { color: var(--v78-muted); font-size: .875rem; overflow-wrap: anywhere; }
.paper-card .evidence-citation p a { color: var(--v78-text); text-underline-offset: .2em; }
.citation-tools { display: grid; justify-items: start; gap: .4rem; padding-bottom: .5rem; }
.citation-tools[hidden] { display: none !important; }
.citation-copy {
  min-height: 2.75rem; padding: .65rem .85rem; border: 1px solid #8b969c; border-radius: .375rem;
  color: var(--v78-text); background: transparent; font: 600 .8125rem/1.4 var(--sans); cursor: pointer;
  transition: background-color 140ms ease, border-color 140ms ease;
}
.citation-copy:hover:not(:disabled) { background: #e9e8e2; border-color: var(--v78-text); }
.citation-copy:active:not(:disabled) { background: #dfe1db; box-shadow: inset 0 0 0 1px var(--v78-text); }
.citation-copy:disabled { color: var(--v78-muted); border-color: #8b969c; opacity: 1; filter: none; box-shadow: none !important; }
.citation-copy-status { min-height: 2.8em; color: var(--v78-muted); font-size: .8125rem; line-height: 1.4; overflow-wrap: break-word; }
.paper-library .library-controls { grid-template-columns: minmax(0, 1.3fr) minmax(0, .85fr) minmax(0, 1.3fr) auto; gap: 1rem; background: #e9e8e2; border-color: var(--v78-light-line); border-radius: .375rem; }
.library-controls > div { min-width: 0; }
.library-controls label, .library-empty { color: var(--v78-text); }
.library-controls input, .library-controls select { border-color: #8b969c; color: var(--v78-text); background: var(--v78-card); }
.library-controls input::placeholder { color: var(--v78-muted); }
.library-controls button, .library-empty button { background: var(--v78-ink); color: var(--v78-white); }
.library-controls button:hover, .library-empty button:hover { background: #243445; }
#library-count, .library-controls__hint { color: var(--v78-muted); font-size: .875rem; line-height: 1.5; }
.library-controls__hint { grid-column: 1 / -1; margin: 0; }
.library-empty { border-color: var(--v78-light-line); }
.research-boundary .prose { color: var(--v78-muted); }
.research-boundary .prose strong { color: var(--v78-text); }

/* Navigator is a light reading workspace in compact, expanded and dedicated
   views. Explicit text roles also cover the cloned, archived exchanges. */
.section--navigator, .navigator-page-launch { background: var(--v78-paper); }
.navigator-chat { background: var(--v80-chat); border: 2px solid var(--v80-green-ink); border-radius: .75rem; box-shadow: 0 .5rem 1.5rem #0d172310; color: var(--v78-text); color-scheme: light; }
.navigator-chat::before { background: var(--v80-green-line); }
.navigator-chat__header { background: var(--v80-sage); border-color: #83998a; backdrop-filter: none; }
.navigator-agent__mark, .navigator-turn__avatar { background: var(--v80-sage-strong); border-color: var(--v80-green-line); color: var(--v80-green-ink); box-shadow: none; }
.navigator-agent__mark::before { border-color: var(--v80-green-line); box-shadow: none; }
.navigator-agent__mark::after, .navigator-agent__mark i { display: none; }
.navigator-agent h1, .navigator-agent__mark b,
.navigator-embed .navigator-agent__identity :is(h2, h3) { color: var(--v78-text); letter-spacing: -.01em; text-transform: none; }
.navigator-agent p, .navigator-agent p i { color: var(--v78-muted); font-size: .75rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.navigator-agent__status > span { background: var(--v80-green-ink); box-shadow: none; }
.navigator-about summary { color: var(--v80-green-ink); background: transparent; border-color: var(--v80-green-line); font-size: .8125rem; font-weight: 500; letter-spacing: 0; }
.navigator-about summary:is(:hover, :focus-visible), .navigator-about[open] summary { color: var(--v80-green-ink); background: var(--v80-sage-strong); border-color: var(--v80-green-ink); }
.navigator-about__content { background: var(--v78-card); border-color: var(--v80-green-line); color: var(--v78-text); box-shadow: 0 .7rem 1.5rem #0d17231f; }
.navigator-about__content p { color: var(--v78-muted); font-size: .875rem; }
.navigator-about__content :is(strong, code) { color: var(--v78-text); }
.navigator-about__content a { color: var(--v80-green-ink); }
.navigator-thread { background: var(--v80-chat); scrollbar-color: var(--v80-green-line) var(--v80-chat); }
.navigator-answer { background: transparent; border-top-color: var(--v80-chat-line); }
.navigator-answer:is([data-kind="crisis"], [data-kind="boundary"]) { border-left-color: var(--v80-error); }
.navigator-turn__bubble, .navigator-answer .navigator-turn__bubble { background: var(--v78-card); border-color: var(--v80-chat-line); color: var(--v78-text); box-shadow: none; }
.navigator-turn__bubble > p + p { color: var(--v78-muted); }
.navigator-welcome .navigator-turn__bubble > p:first-child { color: var(--v78-text); }
.navigator-turn--question .navigator-turn__bubble { background: var(--v80-sage); border-color: var(--v80-green-line); color: var(--v78-text); }
.navigator-welcome a { color: var(--v80-green-ink); }
.navigator-prompts button { color: var(--v80-green-ink); background: var(--v80-chat); border-color: var(--v80-green-line); border-radius: .375rem; box-shadow: none; font-size: .8125rem; letter-spacing: 0; }
.navigator-prompts button:is(:hover, :focus-visible):not(:disabled) { color: var(--v80-green-ink); background: var(--v80-sage-strong); border-color: var(--v80-green-ink); transform: none; box-shadow: none; }
.navigator-prompts button:disabled, .navigator-chat .navigator-send:disabled,
.navigator-chat .navigator-expand:disabled { color: var(--v78-muted); background: #e3e8e1; border-color: #9aaf9e; opacity: 1; box-shadow: none !important; filter: none; cursor: not-allowed; }
.navigator-answer.is-new .navigator-turn__bubble { border-color: var(--v80-green-line); box-shadow: none; }
/* The original label is !important; replace its bright-on-dark color explicitly. */
.navigator-answer__label { color: var(--v80-green-ink) !important; font: 650 .8125rem/1.45 var(--sans); letter-spacing: .015em; text-transform: none; }
.navigator-answer__label span { color: var(--v78-muted); }
.navigator-answer__text, .navigator-answer__text :is(p, ul, ol, li, h3, strong) { color: var(--v78-text); }
.navigator-answer__text li::marker { color: var(--v80-green-ink); }
.navigator-answer__sources, .navigator-answer__sources span, .navigator-coverage { color: var(--v78-muted); }
.navigator-answer__sources { border-color: var(--v80-chat-line); font-family: var(--sans); overflow-wrap: anywhere; }
.navigator-answer__sources a { color: var(--v80-green-ink); font: 600 .875rem/1.5 var(--sans); letter-spacing: 0; }
.navigator-answer__sources h4 { color: var(--v78-text); font: 650 .8125rem/1.45 var(--sans); letter-spacing: .015em; text-transform: none; }
.navigator-answer__sources span { font: 450 .75rem/1.5 var(--sans); letter-spacing: 0; }
.navigator-coverage { font: 450 .8125rem/1.5 var(--sans); letter-spacing: 0; }
.navigator-citation { color: var(--v80-green-ink); background: var(--v80-sage); border-color: var(--v80-green-line); font: 650 .75rem/1.3 var(--sans); letter-spacing: 0; }
.navigator-progress .navigator-turn__bubble { background: var(--v78-card); border-color: var(--v80-chat-line); color: var(--v78-muted); font: 600 .8125rem/1.45 var(--sans); letter-spacing: 0; }
.navigator-progress .navigator-turn__bubble strong { font: inherit; }
.navigator-progress__dots i { background: var(--v80-green-ink); }
.navigator-progress[data-state="error"] .navigator-turn__bubble { border-color: #b58b78; background: #f7ede6; color: var(--v80-error); }
.navigator-composer-form, .navigator-embed .navigator-composer-form { background: var(--v78-card); border-color: #83998a; box-shadow: none; }
.navigator-composer { background: #fff; border-color: var(--v80-green-line); box-shadow: none; border-radius: .5rem; }
.navigator-composer:focus-within { border-color: var(--v80-green-ink); box-shadow: 0 0 0 1px var(--v80-green-ink); }
.navigator-composer textarea { color: var(--v78-text); }
.navigator-composer textarea::placeholder { color: var(--v78-muted); opacity: 1; }
.navigator-composer textarea:disabled { color: var(--v78-muted); opacity: 1; }
.navigator-send i { border-color: #456339; }
.navigator-send:disabled i { border-color: var(--v78-muted); }
.navigator-composer__meta p, #evidence-status,
.navigator-composer__privacy, .navigator-composer__privacy summary { color: var(--v78-muted); font-size: .8125rem; line-height: 1.5; letter-spacing: 0; }
.navigator-composer__meta strong { color: var(--v78-text); }
#evidence-status[data-state="ready"] { color: var(--v80-green-ink); }
#evidence-status[data-state="working"] { color: var(--v80-warn); }
#evidence-status[data-state="error"] { color: var(--v80-error); }
.navigator-composer__privacy summary { text-decoration-color: var(--v78-muted); }
.navigator-composer__privacy summary:is(:hover, :focus-visible), .navigator-composer__privacy a { color: var(--v80-green-ink); }
.navigator-expand { color: var(--v80-green-ink); background: var(--v78-card); border-color: var(--v80-green-line); }
.navigator-expand:is(:hover, :focus-visible):not(:disabled) { color: var(--v80-green-ink); background: var(--v80-sage-strong); border-color: var(--v80-green-ink); }
.navigator-inline__page a, .research-page .navigator-inline__page a { color: var(--v78-text); font-size: .875rem; }
/* Only untouched compact chats contract. Working/error/answer/archive and modal
   states retain their existing bounded scrolling and draft/conversation nodes. */
@supports selector(:has(*)) {
  .navigator-embed[data-expanded="false"]:has(#evidence-question-turn[hidden]):has(#evidence-answer[hidden]):has(#evidence-progress[hidden]):not(:has([data-archived])) { height: auto; }
  .navigator-embed[data-expanded="false"]:has(#evidence-question-turn[hidden]):has(#evidence-answer[hidden]):has(#evidence-progress[hidden]):not(:has([data-archived])) .navigator-chat { grid-template-rows: auto auto auto; }
  .navigator-embed[data-expanded="false"]:has(#evidence-question-turn[hidden]):has(#evidence-answer[hidden]):has(#evidence-progress[hidden]):not(:has([data-archived])) .navigator-thread { max-height: 17rem; }
}

/* Authentic origin photography and public collaboration surfaces. */
.home-community { background: var(--v78-paper); border-color: var(--v78-light-line); }
.home-community .prose, .split-intro .prose { color: var(--v78-muted); }
.home-origin-feature, .research-section .origin-story { background: var(--v78-card); color: var(--v78-text); border-color: var(--v78-light-line); box-shadow: none; }
.research-section .origin-story::before { background: var(--v78-light-line); }
.home-origin-feature__eyebrow, .origin-story__eyebrow,
.origin-story__eyebrow span { color: var(--v78-muted); font-size: .8125rem; letter-spacing: .025em; }
.home-origin-feature__body h3, .origin-story__body h2 { color: var(--v78-text); line-height: 1.15; }
.home-origin-feature__media figcaption { color: var(--v78-muted); font-size: .8125rem; }
.home-origin-feature__boundary, .origin-story__note { color: var(--v78-muted); border-color: #8b969c; background: transparent; }
.home-origin-feature__boundary strong, .origin-story__note strong { color: var(--v78-text); }
.origin-story__body > p:not(.origin-story__eyebrow, .origin-story__note) { color: var(--v78-muted); font-size: 1rem; line-height: 1.65; }
.home-origin-feature__body a, .origin-story__body a { color: var(--v78-text); }
.home-origin-feature__body a:is(:hover, :focus-visible),
.origin-story__body a:is(:hover, :focus-visible) { color: var(--v78-text); }
.home-origin-feature__body .button { color: var(--v78-white); }
.origin-story__body .evidence-citation { color: var(--v78-muted); border-color: var(--v78-light-line); }
.origin-story__body .evidence-citation summary { color: var(--v78-text); }
.home-involved { background: var(--v78-ink); border-color: var(--v78-dark-line); }
.home-involved :is(.section-heading > p:last-child, .involvement-paths p, .involvement-status) { color: var(--v78-soft); }
.involvement-paths, .involvement-paths article { border-color: var(--v78-dark-line); }
.involvement-paths h3 { color: var(--v78-white); }
.home-involved .text-link { color: var(--v78-white); }
.pathway-grid article, .contact-status { background: var(--v78-raised); border-color: var(--v78-dark-line); box-shadow: none; }
.pathway-grid :is(article > span, p), .contact-status p { color: var(--v78-soft); }
.pathway-grid h3, .contact-status :is(h3, a) { color: var(--v78-white); }
.founder-grid article { background: var(--v78-card); border-color: var(--v78-light-line); box-shadow: none; }
.founder-grid article :is(h3, strong) { color: var(--v78-text); }
.founder-grid article p { color: var(--v78-muted); }

/* Education: light reading, a distinct ink method workspace, honest examples. */
.education-layer { background: var(--v78-paper); }
.education-layer__label, .purpose-term > span { color: var(--v78-muted); }
.education-layer__label span { color: var(--v78-green-ink); }
.education-question-grid--four article, .education-method-families li { background: var(--v78-card); border-color: var(--v78-light-line); }
.education-question-grid--four :is(h4, .purpose-question, small b) { color: var(--v78-text); }
.education-question-grid--four :is(p, small), .education-method-families span { color: var(--v78-muted); }
.education-layer__note { background: #e7e8e2; border-color: var(--v78-green-ink); }
.education-layer__note--warn { background: #eee9dd; border-color: #927440; }
.education-layer__note-label, .education-layer__note--warn .education-layer__note-label { color: var(--v78-text); font-size: .8125rem; letter-spacing: .03em; }
.education-layer__note p:not(.education-layer__note-label) { color: var(--v78-muted); }
.education-index { background: var(--v78-raised); border-color: var(--v78-dark-line); color: var(--v78-soft); box-shadow: none; }
.education-index a { font-size: .8125rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.education-index a span { color: var(--v78-green); font-size: .75rem; }
.education-index a:is(:hover, :focus-visible, [aria-current]) { color: var(--v78-white); background: #243445; }
.education-index__rail { background: var(--v78-soft); box-shadow: none; }
.education-crosswalk, .education-methods, .education-logistic { background: var(--v78-ink); }
.crosswalk-legend p, .crosswalk-table tbody th em,
.crosswalk-notes article p:not(.crosswalk-notes__label), .method-family__lede { color: var(--v78-soft); }
.crosswalk-table thead th, .crosswalk-notes__label, .method-family__label { color: var(--v78-soft); font-size: .8125rem; letter-spacing: .03em; }
.crosswalk-table :is(th, td) { border-color: var(--v78-dark-line); }
.crosswalk-table td span, .crosswalk-legend p span { border-color: #667584; color: var(--v78-soft); font-size: .75rem; letter-spacing: 0; }
.crosswalk-table td[data-fit="primary"] span, .crosswalk-legend p[data-fit="primary"] span { color: var(--v78-white); background: #315f4d; border-color: #73a893; }
.crosswalk-table td[data-fit="support"] span, .crosswalk-legend p[data-fit="support"] span { color: #acd1bd; border-color: #73a893; }
.crosswalk-table td[data-fit="design"] span, .crosswalk-legend p[data-fit="design"] span { color: #e0c797; border-color: #927440; }
.crosswalk-table td[data-fit="no"] span, .crosswalk-legend p[data-fit="no"] span { color: var(--v78-soft); border-color: var(--v78-dark-line); }
.crosswalk-notes article { background: var(--v78-raised); border-color: var(--v78-dark-line); }
.method-family__label span { color: var(--v78-text); background: var(--v78-soft); }
.method-card { background: var(--v78-raised); border-color: var(--v78-dark-line); box-shadow: none; }
.method-card:hover, .method-card:focus-within { border-color: #7f8c99; box-shadow: none; transform: none; }
.method-card__mini { background: var(--v78-ink); border-color: var(--v78-dark-line); }
.method-card__mini > span:last-child { color: var(--v78-soft); font-size: .75rem; letter-spacing: .02em; }
.method-card > strong { color: var(--v78-soft); }
.method-card__open { font-size: .875rem; }
.method-card__open i, .method-card__open:hover i { color: var(--v78-soft); }
.method-briefing, .method-briefing__frame { background: var(--v78-ink); border-color: var(--v78-dark-line); }
.method-briefing__header, .method-briefing__footer { background: var(--v78-raised); border-color: var(--v78-dark-line); }
.method-briefing__heading { border-color: var(--v78-dark-line); }
.method-briefing__identity :is(span, strong), .method-briefing__heading > p:first-child { color: var(--v78-soft); font-size: .8125rem; letter-spacing: .03em; }
.method-briefing__heading > p:last-child, .method-briefing__footer > p { color: var(--v78-soft); }
.method-briefing__close { background: var(--v78-raised); border-color: #667584; }
.method-briefing__close:is(:hover, :focus-visible) { background: #243445; border-color: var(--v78-soft); transform: none; }
.method-briefing__technical, .method-briefing__answers, .method-briefing__technical-grid { background: var(--v78-raised); border-color: var(--v78-dark-line); }
.method-briefing__technical > summary, .method-field { background: var(--v78-raised); border-color: var(--v78-dark-line); }
.education-page .method-field__label { color: var(--v78-soft) !important; font-size: .8125rem !important; letter-spacing: .025em; }
.education-page :is(.method-platforms, .method-status, .method-flow) span { color: var(--v78-soft); border-color: #667584; background: transparent; border-radius: .3rem; font-size: .75rem; letter-spacing: 0; }
.education-page .method-checkpoint, .education-page .method-pitfall, .education-page .method-reading { background: var(--v78-raised); border-color: #667584; }
.education-page .method-checkpoint :is(strong, h4) { color: #e0c797; }
.education-page .method-reading a, .method-code-note a { color: var(--v78-white); }
.education-page .method-result span { color: var(--v78-soft); font-size: .75rem; letter-spacing: 0; }
.education-page .method-result strong { color: var(--v78-white); }
.education-page .education-evidence-note, .education-lab { background: var(--v78-card); color: var(--v78-text); border-color: var(--v78-light-line); }
.education-lab__heading > span, .education-lab__rate,
.education-lab__assumptions dd, .education-lab__metrics dd,
.education-lab td strong, .education-lab__formula summary { color: var(--v78-text); }
.education-lab__assumptions, .education-lab thead th, .education-lab__insight { background: #e9e8e2; color: var(--v78-text); border-color: var(--v78-light-line); }
.education-lab input[type="range"] { accent-color: var(--v78-green-ink); }
.education-lab__presets button { background: transparent; color: var(--v78-text); border-color: #8b969c; }
.education-lab__presets button[aria-pressed="true"] { background: var(--v78-ink); color: var(--v78-white); }
.education-lab__presets button:hover:not(:disabled) { border-color: var(--v78-text); }
.education-lab__limits a, .education-lab__formula code, .education-page .education-evidence-note a { color: var(--v78-text); }

/* Story interface chrome only; semantic art/source/caption geometry is retained. */
.story-briefing { background: var(--v78-ink); border-color: var(--v78-dark-line); }
.story-briefing .story-masthead, .story-briefing .story-player,
.story-briefing.is-theater .story-player, .story-briefing__footer { background: var(--v78-ink); border-color: var(--v78-dark-line); box-shadow: none; }
.story-masthead .story-briefing__identity span { color: var(--v78-soft); }
.story-masthead__play { background: var(--v78-white); color: var(--v78-text); }
.story-masthead__play:hover { background: #dedfdc; }
.story-masthead__tool, .story-briefing__close,
.story-source-viewer__close, .story-source-viewer__zoom { background: var(--v78-raised); color: var(--v78-white); border-color: #667584; box-shadow: none; }
.story-masthead__tool:hover:not(:disabled), .story-source-viewer__zoom:hover { background: #243445; border-color: var(--v78-soft); }
.story-masthead__chapters button { color: var(--v78-soft); border-color: var(--v78-dark-line); }
.story-masthead__chapters button span { color: var(--v78-soft); }
.story-masthead__chapters button.is-active { background: var(--v78-raised); color: var(--v78-white); border-color: var(--v78-green); }
.story-masthead__chapters button:hover { background: #243445; }
.story-briefing .story-player .story-player__control { background: var(--v78-white); color: var(--v78-text); border-color: #667584; box-shadow: none; }
.story-player__position, .story-player__disclosure,
.story-player__position > span:last-child, .story-briefing .story-player .story-player__status { color: var(--v78-soft); }
.story-source-viewer, .story-source-viewer__header { background: var(--v78-ink); border-color: var(--v78-dark-line); }
.story-source-viewer__header p { color: var(--v78-soft); }
.story-masthead :is(button, a):focus-visible,
.story-source-viewer :is(button, a, [tabindex]):focus-visible { outline-color: var(--v78-focus); }

/* Legal/holding/error pages and the shared footer finish the same system. */
.policy-layout article, .policy-article { color: var(--v78-text); font-size: 1rem; line-height: 1.75; }
.policy-layout article p, .policy-article p { color: var(--v78-muted); }
.policy-layout :is(a, h2), .policy-article :is(a, h2) { color: var(--v78-text); }
.policy-layout nav { border-color: var(--v78-light-line); }
.policy-layout nav a { color: var(--v78-text); font-size: .9375rem; }
.policy-page code { color: var(--v78-text); background: #e6e6df; }
.error-page .pathway-grid article { background: var(--v78-card); border-color: var(--v78-light-line); }
.error-page .pathway-grid :is(h3, a, article > span) { color: var(--v78-text); }
.error-page .pathway-grid p { color: var(--v78-muted); }
.site-footer { background: var(--v78-ink); color: var(--v78-white); }
.site-footer__top, .site-footer__disclaimer { border-color: var(--v78-dark-line); }
.site-footer__top > p, .site-footer__disclaimer, .site-footer__bottom { color: var(--v78-soft); font-size: .8125rem; letter-spacing: 0; }
.site-footer__disclaimer :is(a, strong), .site-footer__bottom a { color: var(--v78-white); }
.site-footer__disclaimer { line-height: 1.7; }

/* Gold reads on ink; dark green reads on the light Navigator and loop. */
:is(.home-research, .paper-library, .section--framework-light, .section--paper, .section--cream, .section--formation,
    .section--sage, .education-layer, .education-lab) :is(a, button, summary, input, select, [tabindex]):focus-visible {
  outline-color: var(--v78-text); box-shadow: 0 0 0 2px var(--v78-card);
}
.navigator-chat :is(a, button, summary, input, textarea, [tabindex]):focus-visible {
  outline-color: var(--v80-green-ink); box-shadow: 0 0 0 2px var(--v78-card);
}
.section .button:focus-visible, .library-controls button:focus-visible,
.library-empty button:focus-visible, .education-lab__presets button:focus-visible { outline-color: var(--v78-text); }
.section--ink .button:focus-visible { outline-color: var(--v78-focus); }
.navigator-chat button:is(.navigator-send, .navigator-expand):focus-visible { outline-color: var(--v80-green-ink); box-shadow: 0 0 0 2px var(--v78-card); }
.section--framework-light :is(.evidence-map__node, .evidence-map__feedback):focus-visible { outline-color: var(--v80-green-ink); box-shadow: 0 0 0 2px var(--v78-card); }

@media (max-width: 76rem) and (min-width: 58.01rem) {
  .site-header nav a:not(.nav-cta) { font-size: .75rem; }
  .site-header nav ul { gap: .35rem; }
  .site-header .brand__wordmark > .brand__actions { font-size: 1.4rem; }
}
@media (min-width: 58.01rem) {
  .hero h1.hero-title--signal { font-size: clamp(3rem, 4.15vw, 3.875rem); }
}
@media (max-width: 68rem) {
  .paper-library .library-controls { grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr) auto; }
  .library-controls > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 58rem) {
  .site-header nav { width: 100%; max-width: 100%; padding: .75rem; background: var(--v78-ink); border-color: var(--v78-dark-line); box-shadow: 0 1rem 2rem #0003; }
  .site-header nav ul { width: 100%; align-items: stretch; gap: .5rem; }
  .site-header nav a, .site-header nav a:not(.nav-cta), .site-header nav .nav-story a {
    width: 100%; min-width: 0; height: 100%; white-space: normal; overflow-wrap: break-word;
    color: var(--v78-soft); background: var(--v78-raised); border-color: var(--v78-dark-line); font-size: .875rem; letter-spacing: 0;
  }
  .site-header nav a:is(:hover, :focus-visible, [aria-current]) { color: var(--v78-white); background: #243445; border-color: #667584; }
  .site-header nav .nav-story a > span { color: var(--v78-white); }
  .site-header nav .nav-story small {
    overflow: visible; white-space: normal; text-transform: none;
    color: var(--v78-soft); font: 500 .75rem/1.35 var(--sans); letter-spacing: 0;
  }
  .nav-active-rail { display: none !important; }
  .site-header .brand__mission { font-size: .6875rem; letter-spacing: .045em; }
  .home-page .hero__grid { padding-block: 2.75rem; }
  .hero h1.hero-title--signal { font-size: clamp(2.75rem, 7.6vw, 4rem); }
  .hero-emblem { max-width: 25rem; margin-inline: auto; }
  .site-footer__disclaimer { gap: 1.5rem; }
  .home-study-spotlight { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .home-study-spotlight__body h3 { max-width: 30ch; font-size: clamp(1.5rem, 3.6vw, 2rem); }
  .home-study-spotlight__figure { width: 100%; max-width: 40rem; margin-inline: auto; }
  .home-paper-areas { grid-template-columns: minmax(0, 1fr); }
  .home-paper-area:first-child .paper-tile-grid { grid-template-columns: minmax(0, 1fr); }
  .home-paper-area:first-child .paper-tile:not(:last-child) { border-bottom: 1px solid var(--v78-light-line); }
}
@media (max-width: 44rem) {
  .paper-library .library-controls { grid-template-columns: minmax(0, 1fr); }
  .library-controls > div:first-child { grid-column: auto; }
}
@media (max-width: 40rem) {
  .home-page .section { padding-block: 2.75rem; }
  .hero h1.hero-title--signal { font-size: clamp(2.375rem, 10vw, 3.4rem); }
  .hero__body { font-size: 1.0625rem; line-height: 1.65; }
  .hero__boundary { font-size: .875rem; padding-left: .75rem; }
  .hero__actions .button--story { width: 100%; justify-content: center; }
  .interior-hero h1, .education-hero h1, .research-page .interior-hero h1 { font-size: clamp(2.125rem, 8.5vw, 3rem); }
  .paper-card { padding: 1.125rem; }
  .research-page .paper-card h4 { font-size: 1.0625rem; }
  .home-study-spotlight { padding-block: 1.5rem 2rem; }
  .home-study-spotlight__figure { padding: .6rem; }
  .home-study-spotlight__figure figcaption { padding-inline: .15rem; }
  .home-paper-areas { margin-top: 1.75rem; }
  .home-paper-area .paper-tile { grid-template-columns: 4rem minmax(0, 1fr); gap: .9rem; padding-block: 1.1rem; }
  .home-paper-area .paper-tile__identity > strong { font-size: 1rem; }
  .navigator-agent p, .navigator-agent__status { font-size: .75rem; }
  .navigator-about summary { font-size: .75rem; }
  .navigator-composer__meta { gap: .5rem; }
  .navigator-embed .navigator-chat__header { gap: .65rem; }
  .navigator-embed .navigator-expand { font-size: .75rem; }
  .navigator-prompts button { font-size: .8125rem; }
  .method-briefing__heading > p:last-child { font-size: .875rem; line-height: 1.5; }
  .method-briefing__footer button { font-size: .8125rem; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.button, .site-header nav .nav-cta, .nav-toggle, .navigator-send, .navigator-expand,
      .navigator-prompts button, .method-card__open, .method-briefing__footer button, .citation-copy) { transition: none; }
}

/* Education section headings support browsing; the opener carries the hero. */
.education-page .education-heading h2 {
  font-size: clamp(1.875rem, 3.7vw, 3.4rem);
  line-height: 1.1;
}
.education-page .education-crosswalk { padding-block-end: 3rem; }
.education-page .education-methods { padding-block-start: 3rem; }

/* Constrain the implicit chat grid track so long prompt rows cannot push the
   composer and send control behind the clipped phone frame. */
.navigator-chat { grid-template-columns: minmax(0, 1fr); }
.navigator-chat > :is(.navigator-chat__header, .navigator-thread, .navigator-composer-form) { min-width: 0; }

/* Legal sections are reading headings, with the same hierarchy in both layouts. */
.policy-page .policy-article h2,
.policy-page .policy-layout article h2 {
  font-size: 1.625rem;
  line-height: 1.25;
  margin-block: 2.25rem .8rem;
}
@media (max-width: 40rem) {
  .policy-page .policy-article h2,
  .policy-page .policy-layout article h2 { font-size: 1.5rem; }
}
