:root {
  --paper: #f4f1e8;
  --paper-2: #e8eadf;
  --white: #fffdf7;
  --ink: #0a1712;
  --muted: #5d675f;
  --line: rgba(10, 23, 18, 0.18);
  --line-strong: rgba(10, 23, 18, 0.46);
  --forest: #123b2e;
  --forest-deep: #0b2f24;
  --forest-black: #061c17;
  --moss: #6f8257;
  --moss-dark: #4b624e;
  --sage: #9eaf91;
  --eucalyptus: #4f7f69;
  --lichen: #dce7b9;
  --acid: #d7ff2f;
  --acid-soft: #e7ff97;
  --blue: #386454;
  --pink: #7f9459;
  --cyan: #a8c7ad;
  --deep: #0b2b21;
  --heritage: #4f684f;
  --heritage-2: #72855d;
  --signal: #4f7f69;
  --electric: #d7ff2f;
  --paper-3: #efece2;
  --sage-soft: #dfe6d6;
  --ink-soft: #2f3b34;
  --line-light: rgba(244, 241, 232, .28);
  --ease-snap: cubic-bezier(.16, 1, .3, 1);
  --display: "Arial Narrow", "Aptos Narrow", "Helvetica Neue", Arial, sans-serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  --mono: "SFMono-Regular", "Roboto Mono", Consolas, "Liberation Mono", monospace;
  --page-max: 1680px;
  --gutter: 32px;
  --page: min(var(--page-max), calc(100vw - var(--gutter) * 2));
  --page-gutter: max(var(--gutter), calc((100vw - var(--page-max)) / 2));
  --frame-inset: 24px;
  --nav-height: 76px;
  --header-height: var(--nav-height);
  --section-gap: clamp(96px, 10vw, 176px);
  --ease: cubic-bezier(.2,.75,.18,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 20px);
  background: var(--paper);
}

html.intro-pending,
html.intro-pending body { overflow: hidden; }

body {
  margin: 0;
  min-width: 0;
  background:
    linear-gradient(rgba(10, 22, 17, .027) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10, 22, 17, .027) 1px, transparent 1px),
    var(--paper);
  background-size: 32px 32px, 32px 32px, auto;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.menu-open { overflow: hidden; }

::selection { background: var(--acid); color: var(--ink); }

img, svg { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--electric);
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  z-index: 10000;
  left: 18px;
  top: 18px;
  transform: translateY(-170%);
  background: var(--acid);
  border: 1px solid var(--ink);
  color: var(--ink);
  padding: 12px 16px;
  font-family: var(--mono);
  font-size: 11px;
  text-transform: uppercase;
  transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }

/* Brand mark ------------------------------------------------------------ */

.brand {
  display: inline-flex;
  align-items: center;
  gap: 0;
  color: var(--deep);
}

/* Shared ---------------------------------------------------------------- */
main { min-width: 0; }
.reveal { opacity: 1; transform: none; }

.eyebrow {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0;
  font-family: var(--mono);
  font-size: 10px;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.eyebrow i { display: inline-block; width: 34px; height: 4px; background: var(--heritage); }

.button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 18px;
  border: 1px solid var(--ink);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: color .22s ease, background .22s ease, transform .22s var(--ease), box-shadow .22s ease;
}
.button > span,
.button > i { position: relative; z-index: 1; font-style: normal; }
.button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--acid);
  transform: translateX(-102%);
  transition: transform .38s var(--ease);
}
.button:hover::before { transform: translateX(0); }
.button:hover { color: var(--ink); transform: translateY(-2px); box-shadow: 5px 5px 0 var(--heritage); }
.button-primary { color: var(--paper); background: var(--deep); border-color: var(--deep); }
.button-ghost { color: var(--ink); background: rgba(243,240,231,.58); }
.button-acid { background: var(--acid); color: var(--ink); border-color: var(--acid); }
.button-acid::before { background: var(--paper); }

.section {
  width: var(--page);
  margin-inline: auto;
  padding-block: var(--section-gap);
}
.section-index {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.section-index span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--ink);
  background: var(--acid);
}
.section-index p { margin: 0; }
.section-index--light span { border-color: var(--paper); color: var(--deep); }
.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .45fr);
  align-items: end;
  gap: 56px;
  margin-top: 44px;
}
.section-heading .eyebrow { grid-column: 1 / -1; }
.section-heading h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(62px, 7.5vw, 130px);
  font-weight: 900;
  letter-spacing: -.06em;
  line-height: .79;
  text-transform: uppercase;
}
.section-heading h2 em {
  color: var(--heritage);
  font-style: normal;
}
.section-heading > p:not(.eyebrow) {
  margin: 0;
  max-width: 520px;
  font-size: clamp(17px, 1.4vw, 22px);
  line-height: 1.45;
  color: var(--ink-soft);
}

/* Enhancement failures must leave content and native anchors usable. */
[inert] { pointer-events: none; }
:where(h1, h2, h3, p) { overflow-wrap: break-word; }
section[id] { scroll-margin-top: 0; }
.no-js .site-header { position: relative; height: auto; min-height: 76px; padding-block: 16px; }
.no-js .desktop-nav { display: flex; flex-wrap: wrap; }
.no-js .menu-button { display: none; }
.motion-paused *, .page-hidden *, .motion-paused *::before, .motion-paused *::after { animation-play-state: paused !important; }

/* Intro ----------------------------------------------------------------- */
.site-intro { display: none; }
.intro-pending .site-intro {
  position: fixed;
  z-index: 9000;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--paper);
  pointer-events: auto;
  isolation: isolate;
}

/* Before the modules attach inert/focus handling, keep the underlying page out
   of both first paint and the accessibility tree. No JS leaves it untouched. */
.intro-pending:not(.intro-running) :is(.site-header, main, .site-footer),
.intro-pending .skip-link { visibility: hidden; }

/* Start the decorative reveal with the progress clock, even on slow modules. */
.intro-pending:not(.intro-running) .site-intro *,
.intro-pending:not(.intro-running) .site-intro *::before,
.intro-pending:not(.intro-running) .site-intro *::after { animation-play-state: paused; }

@media print {
  html.intro-pending,
  html.intro-pending body { overflow: visible; }
  .intro-pending:not(.intro-running) :is(.site-header, main, .site-footer) { visibility: visible; }
}

.intro-panel {
  position: absolute;
  z-index: 0;
  left: 0;
  width: 100%;
  height: calc(50% + 1px);
  background: var(--deep);
  transition: transform .92s var(--ease-snap);
}
.intro-panel--top { top: 0; }
.intro-panel--bottom { bottom: 0; }

.intro-grid {
  position: absolute;
  z-index: 1;
  inset: 0;
  opacity: .28;
  background:
    radial-gradient(circle at 50% 50%, rgba(215, 255, 53, .13), transparent 27%),
    linear-gradient(rgba(243, 240, 231, .11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(243, 240, 231, .11) 1px, transparent 1px);
  background-size: auto, 48px 48px, 48px 48px;
  transition: opacity .65s ease;
}
.intro-grid::before,
.intro-grid::after {
  content: "";
  position: absolute;
  background: rgba(215, 255, 53, .5);
}
.intro-grid::before { left: 50%; top: 0; width: 1px; height: 100%; }
.intro-grid::after { top: 50%; left: 0; width: 100%; height: 1px; }

.intro-seam {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 50%;
  width: 100%;
  height: 2px;
  background: var(--acid);
  box-shadow: 0 0 28px rgba(215, 255, 53, .82);
  transform-origin: center;
  animation: intro-seam-pulse 1.6s steps(2, end) both;
  transition: transform .5s var(--ease), opacity .3s ease;
}

.intro-stage {
  position: absolute;
  z-index: 4;
  inset: 0;
  display: grid;
  place-items: center;
}

.intro-lockup {
  display: grid;
  justify-items: center;
  gap: 24px;
  transform: translateY(-2vh);
}

.intro-mark-flight {
  width: clamp(92px, 8vw, 124px);
  position: relative;
  transform-origin: center;
  will-change: transform;
  transition: transform .9s var(--ease-snap), filter .35s ease;
}

.intro-status {
  position: absolute;
  left: clamp(20px, 4vw, 64px);
  right: clamp(20px, 4vw, 64px);
  bottom: clamp(24px, 4vw, 54px);
  display: grid;
  grid-template-columns: auto minmax(120px, 1fr) auto;
  align-items: center;
  gap: 20px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: opacity .25s ease, transform .4s var(--ease);
}
.intro-status b { color: var(--acid); font-weight: 700; }
.intro-progress-track {
  height: 1px;
  background: rgba(243,240,231,.25);
  position: relative;
  overflow: hidden;
}
.intro-progress-track i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 100%;
  transform: scaleX(0);
  transform-origin: left;
  background: var(--acid);
  box-shadow: 0 0 14px rgba(215,255,53,.85);
}

.intro-skip {
  position: absolute;
  top: clamp(22px, 3vw, 42px);
  right: clamp(20px, 4vw, 64px);
  min-height: 44px;
  padding: 8px;
  border: 0;
  background: transparent;
  color: rgba(243,240,231,.64);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .2s ease, opacity .25s ease;
}
.intro-skip:hover { color: var(--acid); }
.intro-skip span { margin-left: 8px; }

.site-intro.is-flashing .intro-mark-flight {
  filter: drop-shadow(0 0 26px rgba(215,255,53,.75));
}

.site-intro.is-exiting .intro-panel--top { transform: translateY(-101%); }
.site-intro.is-exiting .intro-panel--bottom { transform: translateY(101%); }
.site-intro.is-exiting .intro-grid { opacity: 0; }
.site-intro.is-exiting .intro-seam { transform: scaleX(0); opacity: 0; }
.site-intro.is-exiting .intro-status,
.site-intro.is-exiting .intro-skip { opacity: 0; transform: translateY(8px); }
.site-intro.is-exiting .intro-mark-flight {
  transform: translate3d(var(--flight-x, 0), var(--flight-y, 0), 0) scale(var(--flight-scale, .25));
}

@keyframes intro-seam-pulse { 0%, 100% { opacity: .38; } 45% { opacity: 1; } 52% { opacity: .14; } 59% { opacity: 1; } }

/* Header ---------------------------------------------------------------- */
.site-header {
  position: fixed;
  z-index: 1000;
  inset: 0 0 auto 0;
  height: var(--nav-height);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 32px;
  background: rgba(243, 240, 231, .92);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(18px);
  transition: transform .8s var(--ease), background .2s ease, box-shadow .2s ease;
}
.intro-pending .site-header { transform: translateY(-110%); }
.intro-complete .site-header { transform: translateY(0); }
.site-header.is-scrolled {
  background: rgba(243, 240, 231, .97);
  box-shadow: 0 8px 32px rgba(8,39,30,.055);
}

.desktop-nav {
  display: flex;
  align-items: center;
  gap: 34px;
  font-size: 13px;
  font-weight: 650;
}
.desktop-nav a {
  position: relative;
  padding: 28px 0 25px;
}
.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 3px;
  background: var(--heritage);
  transition: right .28s var(--ease);
}
.desktop-nav a:hover::after,
.desktop-nav a.is-active::after { right: 0; }

.header-meta {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 20px;
}
.collaborator-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.collaborator-label i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--acid);
  border: 1px solid var(--deep);
  box-shadow: 12px 0 0 var(--heritage);
  margin-right: 12px;
}

.menu-button {
  display: none;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 8px 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  color: inherit;
  font-family: var(--mono);
  font-size: 10px;
  text-transform: uppercase;
}
.menu-button b { width: 28px; height: 14px; position: relative; display: inline-block; }
.menu-button b::before,
.menu-button b::after {
  content: "";
  position: absolute;
  left: 0;
  width: 28px;
  height: 2px;
  background: currentColor;
  transition: transform .25s var(--ease), top .25s var(--ease);
}
.menu-button b::before { top: 2px; }
.menu-button b::after { top: 10px; }
.menu-button[aria-expanded="true"] b::before { top: 6px; transform: rotate(45deg); }
.menu-button[aria-expanded="true"] b::after { top: 6px; transform: rotate(-45deg); }

.mobile-menu {
  position: fixed;
  z-index: 900;
  inset: var(--header-height) 0 0;
  display: none;
  background: var(--deep);
  color: var(--paper);
  overflow-y: auto;
  overscroll-behavior: contain;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-18px);
  transition: opacity .28s ease, visibility .28s ease, transform .4s var(--ease);
}
.mobile-menu.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
.mobile-menu-grid {
  position: absolute;
  inset: 0;
  opacity: .16;
  background: linear-gradient(rgba(243,240,231,.15) 1px, transparent 1px), linear-gradient(90deg, rgba(243,240,231,.15) 1px, transparent 1px);
  background-size: 32px 32px;
}
.mobile-menu-top {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding: 22px 24px;
  border-bottom: 1px solid var(--line-light);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .1em;
}
.mobile-menu nav { position: relative; }
.mobile-menu nav a {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  min-height: 90px;
  padding: 0 24px;
  border-bottom: 1px solid var(--line-light);
}
.mobile-menu nav a span { font-family: var(--mono); font-size: 10px; color: var(--acid); }
.mobile-menu nav a b { font-family: var(--display); font-size: clamp(32px, 9vw, 50px); text-transform: uppercase; line-height: .9; }
.mobile-menu nav a i { display: flex; align-items: center; justify-content: center; color: var(--acid); }
.mobile-menu nav a i svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.mobile-menu-foot {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 28px 24px;
}

.mobile-menu-foot p { margin: 0; text-align: right; font-size: 14px; line-height: 1.35; color: rgba(243,240,231,.72); }

/* Hero ------------------------------------------------------------------ */
.hero {
  position: relative;
  min-height: max(790px, 100svh);
  padding: clamp(132px, 13vh, 180px) max(72px, calc((100vw - var(--page)) / 2 + 28px)) clamp(66px, 8vh, 100px) max(36px, calc((100vw - var(--page)) / 2));
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(420px, .72fr);
  align-items: center;
  gap: clamp(46px, 6vw, 96px);
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}
.hero-grid {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(10,22,17,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10,22,17,.055) 1px, transparent 1px);
  background-size: clamp(42px, 5vw, 72px) clamp(42px, 5vw, 72px);
  mask-image: linear-gradient(to bottom, transparent 2%, black 16%, black 88%, transparent);
  pointer-events: none;
}
.hero-glow {
  position: absolute;
  left: var(--pointer-x, 63%);
  top: var(--pointer-y, 36%);
  width: 560px;
  height: 560px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(69,106,85,.13), transparent 66%);
  pointer-events: none;
  transition: left .14s linear, top .14s linear;
}
.hero-copy { position: relative; z-index: 2; min-width: 0; container-type: inline-size; }
.hero-copy .eyebrow { margin-bottom: 20px; }
.hero-title {
  margin: 0;
  width: 100%;
  font-family: var(--display);
  font-size: clamp(42px, 15.2cqi, 180px);
  font-weight: 900;
  letter-spacing: -.07em;
  line-height: .72;
  text-transform: uppercase;
}
.hero-title > span { display: block; position: relative; }
.hero-title-green {
  width: max-content;
  margin: .07em 0 .11em .12em;
  color: var(--paper);
  background: var(--heritage);
  padding: .045em .12em .07em .08em;
  border: 1px solid var(--deep);
  box-shadow: 12px 12px 0 var(--acid);
}
.hero-title-green b { font: inherit; }
.hero-title-green i {
  position: absolute;
  right: -28px;
  top: 7px;
  width: 9px;
  height: 9px;
  background: var(--signal);
  border: 1px solid var(--ink);
}
.hero-lower {
  margin-top: clamp(46px, 6vh, 72px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 38px;
}
.hero-description {
  margin: 0;
  max-width: 650px;
  font-size: clamp(18px, 1.55vw, 25px);
  line-height: 1.38;
  letter-spacing: -.02em;
}
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.hero-actions .button { min-width: 190px; }
.hero-footnote {
  margin-top: 38px;
  padding-top: 15px;
  border-top: 1px solid var(--ink);
  display: flex;
  gap: 16px 28px;
  flex-wrap: wrap;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.hero-footnote span { display: inline-flex; gap: 8px; align-items: center; white-space: nowrap; }
.hero-footnote b { color: var(--heritage); }

.signal-field {
  position: relative;
  z-index: 2;
  min-height: 640px;
  background: var(--deep);
  color: var(--paper);
  border: 1px solid var(--ink);
  box-shadow: 15px 15px 0 var(--sage);
  overflow: hidden;
  transform-style: preserve-3d;
  transition: transform .36s var(--ease), box-shadow .36s ease;
}
.signal-field:hover { box-shadow: 19px 19px 0 var(--moss); }
.signal-field-grid {
  position: absolute;
  inset: 0;
  opacity: .28;
  background:
    radial-gradient(circle at 76% 38%, rgba(69,106,85,.38), transparent 34%),
    linear-gradient(rgba(243,240,231,.14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(243,240,231,.14) 1px, transparent 1px);
  background-size: auto, 42px 42px, 42px 42px;
}
.signal-field::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(125deg, transparent 55%, rgba(215,255,53,.06));
  pointer-events: none;
}
.signal-field-top,
.signal-field-bottom {
  position: absolute;
  z-index: 4;
  left: 22px;
  right: 22px;
  display: flex;
  justify-content: space-between;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.signal-field-top { top: 20px; padding-bottom: 14px; border-bottom: 1px solid rgba(243,240,231,.45); }
.signal-field-bottom { bottom: 20px; align-items: flex-end; padding-top: 16px; border-top: 1px solid rgba(243,240,231,.45); }
.signal-field-bottom p { margin: 0; max-width: 330px; color: rgba(243,240,231,.67); text-transform: none; letter-spacing: 0; font-family: var(--sans); font-size: 13px; line-height: 1.45; }
.signal-bars { height: 54px; display: flex; align-items: end; gap: 4px; }
.signal-bars i { display: block; width: 4px; background: var(--acid); animation: signal-bar 2.7s ease-in-out infinite alternate; }
.signal-bars i:nth-child(1) { height: 17px; animation-delay: -.5s; }
.signal-bars i:nth-child(2) { height: 36px; animation-delay: -.2s; }
.signal-bars i:nth-child(3) { height: 25px; animation-delay: -.9s; }
.signal-bars i:nth-child(4) { height: 50px; animation-delay: -.1s; }
.signal-bars i:nth-child(5) { height: 20px; animation-delay: -.7s; }
.signal-bars i:nth-child(6) { height: 42px; animation-delay: -.35s; }
.signal-bars i:nth-child(7) { height: 31px; animation-delay: -.8s; }

.signal-orbit {
  position: absolute;
  left: 50%;
  top: 48%;
  width: min(70%, 430px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
}
.orbit-ring,
.orbit-arc {
  position: absolute;
  border-radius: 50%;
}
.orbit-ring--outer { inset: 0; border: 2px solid rgba(243,240,231,.75); }
.orbit-ring--mid { inset: 12%; border: 1px solid rgba(182,190,168,.45); }
.orbit-ring--inner { inset: 27%; border: 1px dashed rgba(243,240,231,.45); }
.orbit-arc--acid { inset: -1%; border: 3px solid transparent; border-top-color: var(--acid); border-right-color: var(--acid); transform: rotate(-38deg); animation: orbit-spin 18s linear infinite; }
.orbit-arc--sage { inset: 12%; border: 2px solid transparent; border-left-color: var(--sage); border-bottom-color: var(--sage); transform: rotate(28deg); animation: orbit-spin-reverse 24s linear infinite; }
.orbit-cross { position: absolute; background: rgba(243,240,231,.5); }
.orbit-cross--x { left: -8%; right: -8%; top: 50%; height: 1px; }
.orbit-cross--y { top: -8%; bottom: -8%; left: 50%; width: 1px; }
.orbit-core {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: 116px;
  height: 116px;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--heritage);
  border: 2px solid var(--paper);
  box-shadow: 10px 10px 0 var(--acid), 0 0 40px rgba(215,255,53,.12);
}

.orbit-node { position: absolute; width: 13px; height: 13px; border: 2px solid var(--deep); box-shadow: 0 0 0 1px rgba(243,240,231,.28); }
.node-a { left: 47%; top: -2%; background: var(--acid); }
.node-b { right: 2%; top: 60%; background: var(--cyan); }
.node-c { left: 10%; bottom: 11%; background: var(--sage); }
.node-d { left: 24%; top: 15%; width: 10px; height: 10px; background: var(--signal); }
.signal-label {
  position: absolute;
  z-index: 5;
  padding: 10px 13px;
  border: 1px solid var(--paper);
  background: var(--heritage);
  box-shadow: 4px 4px 0 rgba(0,0,0,.18);
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.label-a { left: 8%; top: 30%; color: var(--ink); background: var(--acid); border-color: var(--ink); transform: rotate(-2deg); }
.label-b { right: 4%; top: 44%; transform: rotate(2deg); }
.label-c { left: 11%; bottom: 21%; color: var(--deep); background: var(--sage); border-color: var(--deep); transform: rotate(1.5deg); }
.scan-line {
  position: absolute;
  z-index: 3;
  left: 0;
  top: 0;
  width: 100%;
  height: 2px;
  background: var(--acid);
  box-shadow: 0 0 22px rgba(215,255,53,.75);
  animation: scan-field 5.2s var(--ease) infinite;
}
.hero-rail {
  position: absolute;
  z-index: 3;
  top: 76px;
  right: 0;
  bottom: 0;
  width: 44px;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  justify-items: center;
  gap: 16px;
  padding: 20px 0 18px;
  background: var(--heritage);
  border-left: 1px solid var(--ink);
  color: var(--paper);
}
.hero-rail strong { writing-mode: vertical-rl; font-family: var(--display); font-size: 20px; }
.hero-rail b { font-family: var(--mono); font-size: 9px; color: var(--acid); }
.hero-rail i { width: 1px; background: var(--acid); }
.hero-rail small { writing-mode: vertical-rl; transform: rotate(180deg); font-family: var(--mono); font-size: 7px; letter-spacing: .06em; color: var(--acid); }

@keyframes signal-bar { to { transform: scaleY(.5); transform-origin: bottom; } }
@keyframes orbit-spin { to { transform: rotate(322deg); } }
@keyframes orbit-spin-reverse { to { transform: rotate(-332deg); } }
@keyframes scan-field { 0% { top: 12%; opacity: 0; } 15% { opacity: .9; } 80% { opacity: .9; } 100% { top: 88%; opacity: 0; } }

/* Ledger & tape --------------------------------------------------------- */
.system-ledger {
  display: grid;
  grid-template-columns: 1.25fr repeat(4, 1fr);
  border-bottom: 1px solid var(--line);
  background: var(--paper-3);
}
.ledger-cell {
  min-height: 156px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid var(--line);
}
.ledger-cell:last-child { border-right: 0; }
.ledger-cell span,
.ledger-cell i { font-family: var(--mono); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; font-style: normal; }
.ledger-cell b { font-family: var(--display); font-size: clamp(30px, 2.7vw, 48px); line-height: .88; text-transform: uppercase; }
.ledger-cell i { color: var(--heritage); }
.ledger-cell--brand { background: var(--deep); color: var(--paper); }
.ledger-cell--brand b { font-size: clamp(27px, 2.2vw, 39px); }
.ledger-cell--acid { background: var(--acid); }

.signal-tape { overflow: hidden; background: var(--heritage); color: var(--paper); border-bottom: 1px solid var(--ink); }
.signal-tape-track {
  width: max-content;
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 12px 0;
  animation: tape 28s linear infinite;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.signal-tape-track b { color: var(--acid); }
@keyframes tape { to { transform: translateX(-50%); } }

/* A single, clean in-flow quote band. Equal immutable cell widths make the
   original and inert clone identical, so new prices never restart the loop. */
.market-ticker-slot { position: relative; }
.market-ticker-slot:has(.market-ticker[hidden]) { display: none; }
.market-ticker { position: relative; }
.menu-open .market-ticker { visibility: hidden; }
.intro-pending .market-ticker { visibility: hidden; }
.market-ticker[hidden] { display: none; }
.market-ticker-viewport { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
.market-ticker-viewport::-webkit-scrollbar { display: none; }
.market-ticker-viewport:focus-visible { outline: 2px solid var(--acid); outline-offset: -3px; }
.market-ticker .signal-tape-track {
  gap: 0;
  padding: 0;
  animation: market-marquee 100s linear infinite;
  animation-play-state: paused;
  font-size: 12px;
  letter-spacing: .035em;
}
.market-ticker[data-market-motion="running"] .signal-tape-track { animation-play-state: running; }
.menu-open .market-ticker .signal-tape-track,
.intro-pending .market-ticker .signal-tape-track,
.market-ticker:hover .signal-tape-track,
.market-ticker:focus-within .signal-tape-track { animation-play-state: paused; }
.market-ticker-list { display: flex; flex: 0 0 auto; gap: 0; list-style: none; padding: 0; margin: 0; }
.market-ticker-item {
  display: flex;
  align-items: baseline;
  flex: 0 0 448px;
  width: 448px;
  gap: 10px;
  padding: 14px 20px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.market-ticker-item::after { content: '+'; margin-left: auto; color: var(--acid); }
.market-ticker-item strong { flex: 0 0 4ch; font-size: 12px; letter-spacing: .05em; }
.market-ticker-price { flex: 0 0 14ch; text-align: right; }
.market-ticker-change { flex: 0 0 12ch; font-size: 11px; }
.market-ticker-change[data-direction="up"] { color: var(--acid); }
.market-ticker-change[data-direction="down"] { color: #ffcebb; }
.market-ticker-currency { margin-left: -5px; font-size: 9px; }
.market-ticker-period { margin-left: -6px; font-size: 9px; }
@keyframes market-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 600px) {
  .market-ticker-item { padding-block: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .market-ticker .signal-tape-track { animation: none; transform: none; }
  .market-ticker [data-market-duplicate] { display: none; }
  .market-ticker-viewport { scroll-behavior: auto; scrollbar-width: thin; }
  .market-ticker-viewport::-webkit-scrollbar { display: block; }
}
@media print { .market-ticker-slot { display: none !important; } }

/* Approach -------------------------------------------------------------- */
.approach { padding-bottom: calc(var(--section-gap) + 28px); }
.research-lenses {
  margin-top: clamp(68px, 8vw, 118px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.lens {
  min-height: 540px;
  min-width: 0;
  container-type: inline-size;
  padding: clamp(30px, 4vw, 54px);
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--ink);
}
.lens-grid {
  position: absolute;
  inset: 0;
  opacity: .2;
  background: linear-gradient(currentColor 1px, transparent 1px), linear-gradient(90deg, currentColor 1px, transparent 1px);
  background-size: 34px 34px;
}
.lens > *:not(.lens-grid) { position: relative; z-index: 1; }
.lens-cross { background: var(--sage-soft); box-shadow: 10px 10px 0 var(--heritage); }
.lens-native { background: var(--deep); color: var(--paper); box-shadow: 10px 10px 0 var(--acid); }
.lens-top { display: flex; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid currentColor; font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.lens h3 { margin: auto 0 24px; padding-top: 150px; font-family: var(--display); font-size: clamp(30px, 13cqi, 94px); line-height: .8; letter-spacing: -.055em; text-transform: uppercase; }
.lens p { margin: 0; max-width: 520px; font-size: clamp(16px, 1.25vw, 20px); line-height: 1.45; }
.lens-signal { position: absolute!important; right: 5%; top: 19%; width: 34%; height: 24%; display: flex; align-items: end; gap: 6px; opacity: .78; }
.lens-signal i { width: 100%; background: var(--heritage); border: 1px solid var(--ink); }
.lens-signal i:nth-child(1) { height: 24%; }
.lens-signal i:nth-child(2) { height: 55%; }
.lens-signal i:nth-child(3) { height: 40%; }
.lens-signal i:nth-child(4) { height: 82%; background: var(--acid); }
.lens-signal i:nth-child(5) { height: 34%; }
.lens-signal i:nth-child(6) { height: 67%; }
.lens-signal i:nth-child(7) { height: 48%; }
.native-target { position: absolute!important; right: 6%; top: 17%; width: 160px; height: 160px; border: 1px solid rgba(243,240,231,.38); border-radius: 50%; }
.native-target i { position: absolute; inset: 19%; border: 1px dashed rgba(243,240,231,.42); border-radius: 50%; }
.native-target i:nth-child(2) { inset: 38%; border-style: solid; }
.native-target b { position: absolute; left: 50%; top: -8%; bottom: -8%; width: 1px; background: var(--acid); }
.native-target span { position: absolute; right: 18%; top: 16%; width: 12px; height: 12px; background: var(--acid); border: 2px solid var(--deep); }

.module-intro {
  margin-top: 90px;
  padding-block: 18px;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  display: flex;
  justify-content: space-between;
  gap: 30px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.module-intro p { margin: 0; }
.module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.module-card {
  min-height: 470px;
  min-width: 0;
  container-type: inline-size;
  padding: 34px;
  position: relative;
  overflow: hidden;
  border-left: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  display: flex;
  flex-direction: column;
}
.module-card:last-child { border-right: 1px solid var(--ink); }
.module-number { align-self: flex-end; font-family: var(--mono); font-size: 10px; }
.module-kicker { margin: auto 0 10px; font-family: var(--mono); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.module-card h3 { margin: 0 0 20px; font-family: var(--display); font-size: clamp(34px, 17cqi, 78px); line-height: .82; letter-spacing: -.05em; text-transform: uppercase; }
.module-card > p:last-of-type { margin: 0; max-width: 430px; font-size: 17px; line-height: 1.45; }
.module-card--paper { background: var(--paper-3); }
.module-card--deep { background: var(--deep); color: var(--paper); }
.module-card--heritage { background: var(--heritage); color: var(--paper); }
.module-diagram { position: absolute; top: 32px; left: 32px; width: 120px; height: 78px; }
.module-diagram--neutral i { position: absolute; top: 50%; width: 31px; height: 31px; border: 1px solid var(--ink); border-radius: 50%; transform: translateY(-50%); }
.module-diagram--neutral i:nth-child(1) { left: 0; }
.module-diagram--neutral i:nth-child(2) { left: 36px; background: var(--sage); }
.module-diagram--neutral i:nth-child(3) { left: 72px; }
.module-diagram--neutral b { position: absolute; left: 0; right: 16px; top: 50%; height: 2px; background: var(--acid); transform: translateY(-50%); }
.module-wave { position: absolute; top: 56px; left: 30px; right: 30px; }
.module-wave svg { width: 100%; overflow: visible; }
.module-wave path { fill: none; stroke: var(--acid); stroke-width: 2; stroke-dasharray: 7 7; animation: wave-dash 7s linear infinite; }
.module-bars { position: absolute; top: 32px; left: 32px; right: 32px; height: 86px; display: flex; align-items: end; gap: 7px; }
.module-bars i { width: 100%; border: 1px solid var(--paper); background: rgba(243,240,231,.12); }
.module-bars i:nth-child(1) { height: 30%; }
.module-bars i:nth-child(2) { height: 62%; }
.module-bars i:nth-child(3) { height: 44%; }
.module-bars i:nth-child(4) { height: 84%; background: var(--acid); border-color: var(--deep); }
.module-bars i:nth-child(5) { height: 52%; }
.module-bars i:nth-child(6) { height: 70%; }
.module-bars i:nth-child(7) { height: 38%; }
.module-bars i:nth-child(8) { height: 57%; }
@keyframes wave-dash { to { stroke-dashoffset: -140; } }

/* Risk ------------------------------------------------------------------ */
.risk {
  position: relative;
  background: var(--deep);
  color: var(--paper);
  padding: var(--section-gap) max(32px, calc((100vw - var(--page)) / 2));
  overflow: hidden;
}
.risk-grid {
  position: absolute;
  inset: 0;
  opacity: .14;
  background: linear-gradient(rgba(243,240,231,.15) 1px, transparent 1px), linear-gradient(90deg, rgba(243,240,231,.15) 1px, transparent 1px);
  background-size: 48px 48px;
}
.risk-cursor {
  position: absolute;
  width: 540px;
  height: 540px;
  right: -120px;
  top: 6%;
  border: 1px solid rgba(215,255,53,.16);
  border-radius: 50%;
}
.risk-cursor::before,
.risk-cursor::after { content: ""; position: absolute; background: rgba(215,255,53,.22); }
.risk-cursor::before { left: 50%; top: -12%; bottom: -12%; width: 1px; }
.risk-cursor::after { top: 50%; left: -12%; right: -12%; height: 1px; }
.risk > *:not(.risk-grid):not(.risk-cursor):not(.scroll-layer) { position: relative; z-index: 1; }
.risk .eyebrow i { background: var(--acid); }
.risk-statement {
  margin-top: clamp(58px, 7vw, 110px);
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
  gap: 60px;
  align-items: end;
}
.risk-statement .eyebrow { grid-column: 1 / -1; }
.risk-statement h2 {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-family: var(--display);
  font-size: clamp(86px, 11vw, 184px);
  line-height: .7;
  letter-spacing: -.07em;
  text-transform: uppercase;
}
.risk-statement h2 .risk-acid {
  margin: .11em 0 .07em .11em;
  padding: .06em .12em .1em .09em;
  background: var(--acid);
  color: var(--deep);
  box-shadow: 11px 11px 0 var(--heritage-2);
}
.risk-statement h2 small {
  align-self: flex-end;
  margin-top: .3em;
  font-family: var(--mono);
  font-size: clamp(10px, .8vw, 14px);
  letter-spacing: .09em;
  color: var(--sage);
}
.risk-statement > p:last-child { margin: 0; max-width: 480px; font-size: clamp(18px, 1.4vw, 23px); line-height: 1.45; color: rgba(243,240,231,.76); }
.risk-process { margin-top: 92px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr) 44px) minmax(0, 1fr); align-items: center; border: 1px solid var(--line-light); }
.process-step { min-height: 150px; min-width: 0; container-type: inline-size; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; }
.process-step span { font-family: var(--mono); font-size: 9px; color: var(--sage); }
/* Cap type against each card's content width so headings retain whole words. */
.process-step h3 { margin: auto 0 0; font-family: var(--display); font-size: min(clamp(31px, 3vw, 54px), 16cqi); line-height: .85; text-transform: uppercase; overflow-wrap: normal; }
.process-step p { margin: 7px 0 0; font-family: var(--mono); font-size: 9px; text-transform: uppercase; color: var(--sage); }
.process-step--acid { background: var(--acid); color: var(--deep); }
.process-step--acid span,
.process-step--acid p { color: var(--deep); }
.process-arrow { min-width: 44px; text-align: center; color: var(--acid); font-size: 22px; }
.risk-principles { margin-top: 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.risk-principle { min-width: 0; container-type: inline-size; min-height: 260px; padding: 26px; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.risk-principle > span { font-family: var(--mono); font-size: 9px; color: var(--acid); }
.risk-principle h3 { margin: 74px 0 18px; font-family: var(--display); font-size: min(clamp(30px, 2.8vw, 48px), 10.5cqi); line-height: .9; text-transform: uppercase; overflow-wrap: normal; }
.risk-principle p { margin: 0; color: rgba(243,240,231,.7); line-height: 1.45; }
.risk-footer { margin-top: 88px; display: grid; grid-template-columns: auto 1fr auto; align-items: end; gap: 36px; border-top: 1px solid var(--paper); padding-top: 28px; }
.risk-footer-mark { width: 56px; color: var(--paper); }

.risk-footer p { margin: 0; font-family: var(--display); font-size: clamp(50px, 6.8vw, 112px); line-height: .82; letter-spacing: -.055em; text-transform: uppercase; }
.risk-footer > span { font-family: var(--mono); font-size: 10px; letter-spacing: .07em; color: var(--acid); text-transform: uppercase; }

/* Operating ------------------------------------------------------------- */
.operating { padding-bottom: calc(var(--section-gap) + 32px); }
.operating-hero { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 70px; align-items: end; }
.operating-hero .section-heading { grid-template-columns: 1fr; }
.operating-intro { margin: 0 0 8px; max-width: 590px; font-size: clamp(18px, 1.45vw, 24px); line-height: 1.45; }
.operating-console {
  margin-top: 88px;
  background: var(--deep);
  color: var(--paper);
  border: 1px solid var(--ink);
  box-shadow: 12px 12px 0 var(--sage);
}
.console-top,
.console-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 17px 20px; font-family: var(--mono); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.console-top { border-bottom: 1px solid var(--line-light); }
.console-bottom { border-top: 1px solid var(--line-light); color: var(--sage); }
.console-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr) 32px) minmax(0, 1fr); align-items: center; min-height: 280px; padding: 34px; background: linear-gradient(rgba(243,240,231,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(243,240,231,.09) 1px, transparent 1px); background-size: 36px 36px; }
.console-node { min-width: 0; container-type: inline-size; min-height: 150px; padding: 20px; border: 1px solid var(--line-light); background: rgba(8,39,30,.86); display: flex; flex-direction: column; }
.console-node b { font-family: var(--mono); font-size: 9px; color: var(--acid); }
.console-node strong { margin: auto 0 6px; font-family: var(--display); font-size: clamp(20px, 16cqi, 56px); overflow-wrap: anywhere; line-height: .85; text-transform: uppercase; }
.console-node span { font-family: var(--mono); font-size: 9px; text-transform: uppercase; color: var(--sage); }
.console-node--acid { background: var(--acid); color: var(--deep); border-color: var(--acid); }
.console-node--acid b,
.console-node--acid span { color: var(--deep); }
.console-flow > i { width: 100%; min-width: 0; height: 1px; background: var(--acid); position: relative; }
.console-flow > i::after { content: ""; position: absolute; right: -1px; top: -3px; border-left: 6px solid var(--acid); border-top: 3px solid transparent; border-bottom: 3px solid transparent; }
.operating-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.operating-card { min-height: 410px; min-width: 0; container-type: inline-size; padding: 32px; border-left: 1px solid var(--ink); border-bottom: 1px solid var(--ink); position: relative; display: flex; flex-direction: column; }
.operating-card:last-child { border-right: 1px solid var(--ink); }
.operating-card--green { background: var(--heritage); color: var(--paper); }
.operating-symbol { width: 76px; height: 76px; position: relative; }
.operating-symbol--account span { position: absolute; width: 26px; height: 50px; border: 1px solid var(--ink); background: var(--paper); }
.operating-symbol--account span:nth-child(1) { left: 0; top: 16px; }
.operating-symbol--account span:nth-child(2) { left: 24px; top: 8px; background: var(--sage); }
.operating-symbol--account span:nth-child(3) { left: 48px; top: 0; background: var(--acid); }
.operating-symbol--arrow { display: grid; place-items: center; border: 1px solid var(--paper); font-size: 44px; color: var(--acid); }
.operating-symbol--eye { border: 1px solid var(--ink); border-radius: 50%; }
.operating-symbol--eye::before { content: ""; position: absolute; left: 8px; right: 8px; top: 50%; height: 1px; background: var(--ink); }
.operating-symbol--eye i { position: absolute; left: 50%; top: 50%; width: 18px; height: 18px; transform: translate(-50%,-50%); border-radius: 50%; background: var(--heritage); border: 1px solid var(--ink); }
.operating-id { position: absolute; top: 32px; right: 32px; font-family: var(--mono); font-size: 9px; }
.operating-card h3 { margin: auto 0 20px; font-family: var(--display); font-size: clamp(30px, 14cqi, 72px); line-height: .82; letter-spacing: -.045em; text-transform: uppercase; }
.operating-card p { margin: 0; max-width: 440px; font-size: 17px; line-height: 1.45; }

/* Contact --------------------------------------------------------------- */
.contact {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  min-height: 860px;
  border-top: 1px solid var(--ink);
  background: var(--deep);
  color: var(--paper);
}
.contact-art { position: relative; overflow: hidden; background: var(--heritage); border-right: 1px solid var(--paper); min-height: 760px; }
.contact-grid-lines { position: absolute; inset: 0; opacity: .2; background: linear-gradient(rgba(243,240,231,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(243,240,231,.22) 1px, transparent 1px); background-size: 48px 48px; }

.contact-coordinate { position: absolute; right: 26px; top: 28px; writing-mode: vertical-rl; font-family: var(--mono); font-size: 8px; color: var(--acid); letter-spacing: .06em; }
.contact-content { min-width: 0; container-type: inline-size; padding: clamp(58px, 7vw, 110px); }
.contact-content .eyebrow { margin-top: 55px; }
.contact-content .eyebrow i { background: var(--acid); }
.contact-content h2 { margin: 35px 0 28px; font-family: var(--display); font-size: clamp(32px, 13cqi, 106px); line-height: .78; letter-spacing: -.055em; text-transform: uppercase; }
.contact-content h2 em { font-style: normal; color: var(--acid); }
.contact-intro { margin: 0; max-width: 650px; font-size: clamp(17px, 1.3vw, 21px); line-height: 1.5; color: rgba(243,240,231,.72); }
.contact-form { margin-top: 54px; }
.field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.contact-form label { display: block; margin-bottom: 20px; }
.contact-form label span { display: block; margin-bottom: 9px; font-family: var(--mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--lichen); }
.contact-form input,
.contact-form textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(243,240,231,.52);
  background: transparent;
  color: var(--paper);
  padding: 12px 0;
  border-radius: 0;
  resize: vertical;
  transition: border-color .2s ease;
}
.contact-form input:focus,
.contact-form textarea:focus { outline: 2px solid var(--acid); outline-offset: 4px; border-color: var(--acid); }
.form-actions { display: flex; align-items: center; gap: 24px; margin-top: 28px; }
.form-status { margin: 0; max-width: 420px; font-size: 14px; color: var(--lichen); }

/* Footer ---------------------------------------------------------------- */
.site-footer {
  padding: 46px max(32px, calc((100vw - var(--page)) / 2));
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 38px 80px;
  background: #061d16;
  color: var(--paper);
  border-top: 1px solid rgba(243,240,231,.18);
}
.brand--footer { color: var(--paper); }

.footer-brand p { margin: 14px 0 0; font-size: 13px; color: var(--sage); }
.footer-nav { display: flex; align-items: flex-start; gap: 12px 26px; font-family: var(--mono); font-size: 12px; letter-spacing: .07em; text-transform: uppercase; }
.footer-nav a:hover { color: var(--acid); }
.footer-legal { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 30px; padding-top: 28px; border-top: 1px solid rgba(243,240,231,.18); font-family: var(--mono); font-size: 12px; line-height: 1.65; letter-spacing: .01em; color: #c4ccbc; }
.footer-legal p { margin: 0; max-width: 930px; }
.footer-legal span { white-space: nowrap; }

.contact-note { margin: 28px 0 -24px; max-width: 48ch; color: var(--lichen); font-size: 14px; line-height: 1.5; }
.footer-nav { flex-wrap: wrap; }
.footer-nav a { display: inline-flex; min-height: 44px; align-items: center; }
.button:disabled { opacity: .6; cursor: not-allowed; }

.contact-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.contact-verification { margin-top: 24px; min-height: 0; }
.contact-verification > div { max-width: 100%; }
.form-status { overflow-wrap: anywhere; }
.form-status[data-state="error"] { color: #ffd6bc; }

/* Responsive ------------------------------------------------------------ */
@media (max-width: 1320px) {
  .hero { grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); }
  
  .hero-lower { grid-template-columns: 1fr; }
  .hero-actions { justify-content: flex-start; }
  .signal-field { min-height: 590px; }

}

@media (max-width: 1080px) {
  :root { --gutter: 20px; }
  .site-header { padding-inline: 20px; }
  .desktop-nav { gap: 22px; }
  .hero {
    min-height: auto;
    padding: 140px 52px 90px 20px;
    grid-template-columns: 1fr;
    gap: 78px;
  }
  .hero-copy { max-width: 900px; }
  
  .signal-field { width: min(760px, 100%); min-height: 660px; justify-self: end; }
  .system-ledger { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ledger-cell--brand { grid-column: 1 / -1; }
  .ledger-cell { border-bottom: 1px solid var(--line); }
  .ledger-cell:last-child { border-right: 1px solid var(--line); }
  .section-heading { grid-template-columns: 1fr; }
  .research-lenses { grid-template-columns: 1fr; }
  .module-grid { grid-template-columns: 1fr; }
  .module-card { min-height: 400px; border-right: 1px solid var(--ink); }
  .risk-statement { grid-template-columns: 1fr; }
  .risk-process { grid-template-columns: 1fr; }
  .process-step { min-width: 0; min-height: 118px; }
  .process-arrow { transform: rotate(90deg); min-height: 42px; display: grid; place-items: center; }
  .risk-principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .risk-footer { grid-template-columns: auto 1fr; }
  .risk-footer > span { grid-column: 2; }
  .operating-hero { grid-template-columns: 1fr; }
  .console-flow { grid-template-columns: 1fr; gap: 0; }
  .console-node { min-width: 0; }
  .console-flow > i { width: 1px; height: 44px; min-width: 0; justify-self: center; }
  .console-flow > i::after { right: -3px; top: auto; bottom: 0; border-left: 3px solid transparent; border-right: 3px solid transparent; border-top: 6px solid var(--acid); border-bottom: 0; }
  .operating-grid { grid-template-columns: 1fr; }
  .operating-card { min-height: 350px; border-right: 1px solid var(--ink); }
  .contact { grid-template-columns: 1fr; }
  .contact-art { min-height: 600px; border-right: 0; border-bottom: 1px solid var(--paper); }
}

@media (max-width: 760px) {
  :root { --gutter: 15px; --nav-height: 66px; --frame-inset: 0px; --section-gap: 88px; }
  body { background-size: 24px 24px, 24px 24px, auto; }
  .site-header { height: var(--nav-height); grid-template-columns: 1fr auto; padding-inline: 15px; }


  .desktop-nav,
  .collaborator-label { display: none; }
  .menu-button { display: inline-flex; }
  .mobile-menu { display: block; inset: var(--header-height) 0 0; }

  .intro-lockup { transform: translateY(-5vh); }

  .intro-status { grid-template-columns: 1fr auto; gap: 12px; bottom: 20px; }
  .intro-status > span:first-child { grid-column: 1 / -1; }

  .hero { padding: 116px 30px 72px 15px; gap: 58px; }
  .hero-grid { background-size: 36px 36px; }
  
  .hero-title-green { margin-left: .04em; box-shadow: 7px 7px 0 var(--acid); }
  .hero-title-green i { right: -16px; top: 3px; width: 6px; height: 6px; }
  .hero-description { font-size: 17px; }
  .hero-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .hero-actions .button { width: 100%; }
  .hero-footnote { display: grid; gap: 8px; }
  .signal-field { min-height: 530px; box-shadow: 8px 8px 0 var(--sage); }
  .signal-field-top,
  .signal-field-bottom { left: 15px; right: 15px; }
  .signal-field-bottom p { max-width: 220px; font-size: 11px; }
  .signal-bars { transform: scale(.75); transform-origin: bottom right; }
  .signal-orbit { width: 76%; top: 48%; }
  .orbit-core { width: 88px; height: 88px; box-shadow: 7px 7px 0 var(--acid); }

  .signal-label { padding: 8px 9px; font-size: 7px; }
  .label-a { left: 3%; top: 29%; }
  .label-b { right: 1%; top: 45%; }
  .label-c { left: 4%; bottom: 22%; }
  .hero-rail { width: 30px; top: 66px; }
  .hero-rail strong { font-size: 15px; }

  .system-ledger { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ledger-cell { min-height: 135px; padding: 17px; }
  .ledger-cell--brand { min-height: 160px; }
  .ledger-cell b { font-size: 28px; }
  .ledger-cell--brand b { font-size: 30px; }

  .section-index { gap: 10px; }
  .section-index span { width: 32px; height: 32px; }
  .section-heading { margin-top: 35px; gap: 32px; }
  .section-heading h2 { font-size: clamp(54px, 17vw, 84px); line-height: .82; }
  .section-heading > p:not(.eyebrow) { font-size: 16px; }

  .research-lenses { margin-top: 60px; }
  .lens { min-height: 470px; padding: 24px; }

  .lens p { font-size: 15px; max-width: 86%; }
  .lens-signal { width: 40%; height: 28%; }
  .native-target { width: 170px; height: 170px; opacity: .78; }
  .module-intro { margin-top: 70px; align-items: flex-start; flex-direction: column; }
  .module-card { min-height: 370px; padding: 24px; }

  .module-card > p:last-of-type { font-size: 15px; }

  .risk { padding-inline: 15px; }
  .risk-statement { margin-top: 52px; gap: 40px; }
  .risk-statement h2 { font-size: clamp(70px, 22vw, 112px); }
  .risk-statement > p:last-child { font-size: 16px; }
  .risk-process { margin-top: 62px; }
  .risk-principles { grid-template-columns: 1fr; }
  .risk-principle { min-height: 230px; padding: 22px; }
  .risk-principle h3 { margin-top: 55px; font-size: min(38px, 10.5cqi); }
  .risk-footer { margin-top: 62px; grid-template-columns: 44px 1fr; gap: 20px; }
  .risk-footer p { font-size: clamp(48px, 14vw, 72px); }

  .operating-console { margin-top: 58px; box-shadow: 7px 7px 0 var(--sage); }
  .console-top,
  .console-bottom { flex-direction: column; }
  .console-flow { padding: 18px; }
  .console-node { min-height: 130px; }
  .operating-card { min-height: 330px; padding: 24px; }

  .contact { min-height: auto; }
  .contact-art { min-height: 440px; }

  .contact-content { min-width: 0; container-type: inline-size; padding: 70px 15px 82px; }
  .contact-content .eyebrow { margin-top: 48px; }

  .field-row { grid-template-columns: 1fr; gap: 0; }
  .form-actions { align-items: stretch; flex-direction: column; }
  .button-acid { width: 100%; }

  .site-footer { padding: 40px 15px; grid-template-columns: 1fr; }
  .footer-nav { flex-wrap: wrap; }
  .footer-legal { flex-direction: column; }
}

@media (max-width: 420px) {
  
  .signal-field { min-height: 480px; }
  .signal-field-bottom p { max-width: 185px; }
  .system-ledger { grid-template-columns: 1fr; }
  .ledger-cell--brand { grid-column: auto; }
  .ledger-cell { border-right: 0; }
  .ledger-cell:last-child { border-right: 0; }

}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
  .signal-tape-track { transform: none !important; }
  .hero-glow { display: none; }
}

@media print {
  .reveal { opacity: 1 !important; transform: none !important; }
  .site-intro,
  .site-header,
  .mobile-menu,
  .hero-rail,
  .signal-tape,
  .contact-form { display: none !important; }
  body { background: white; color: black; }
  .hero { padding-top: 40px; min-height: auto; }
  .risk,
  .contact,
  .signal-field,
  .module-card--deep,
  .module-card--heritage,
  .operating-console { background: white !important; color: black !important; box-shadow: none !important; }
}

/* Final mobile readability guard: the display word may crop, body copy never does. */
.hero-copy,
.hero-lower,
.hero-description {
  min-width: 0;
}

@media (max-width: 760px) {
  .hero-copy { width: 100%; overflow: visible; }
  .hero-description { width: 100%; max-width: calc(100vw - 62px); overflow-wrap: break-word; }
}

@media (max-width: 420px) {
  
  
  .hero-title-green { margin-left: .02em; }
}

@media (max-width: 760px) {
  .no-js .site-header { grid-template-columns: 1fr; gap: 12px; }
  .no-js .desktop-nav { gap: 8px 20px; }
  .no-js .desktop-nav a { padding: 8px 0; }
  .no-js .header-meta { display: none; }
}

/* CBRO Logo V2 ----------------------------------------------------------
   Every visible brand mark now derives from the user-approved Cbro Logo V2
   raster. Paper plates are intentional on dark surfaces so the exact green,
   warm neutral and acid-lime values remain unchanged. */
.cbro-logo {
  display: block;
  width: auto;
  height: auto;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}

.cbro-logo--header {
  width: auto;
  height: 47px;
  transition: transform .35s var(--ease), filter .35s ease;
}
.brand:hover .cbro-logo--header {
  transform: translateY(-1px);
  filter: drop-shadow(0 4px 7px rgba(8,39,30,.13));
}

.intro-lockup { gap: 0; }
.intro-mark-flight {
  width: clamp(164px, 14vw, 222px);
  transition: transform .9s var(--ease-snap), filter .25s ease, opacity .22s .64s ease;
}
.intro-logo-plate {
  position: relative;
  width: 100%;
  padding: clamp(15px, 1.7vw, 24px) clamp(18px, 2vw, 28px);
  overflow: hidden;
  background: #f8f6f0;
  border: 1px solid rgba(215,255,47,.86);
  box-shadow: 10px 10px 0 rgba(79,104,79,.72);
}
.intro-logo-plate::before,
.intro-logo-plate::after {
  content: "";
  position: absolute;
  z-index: 2;
  pointer-events: none;
}
.intro-logo-plate::before {
  inset: 9px;
  border: 1px solid rgba(23,63,48,.18);
}
.intro-logo-plate::after {
  left: 0;
  right: 0;
  top: -25%;
  height: 20%;
  background: linear-gradient(180deg, transparent, rgba(215,255,47,.78), transparent);
  mix-blend-mode: multiply;
  animation: intro-logo-scan 1.18s .58s var(--ease-snap) both;
}
.cbro-logo--intro {
  width: 100%;
  opacity: 0;
  transform: translateY(18px) scale(.975);
  clip-path: inset(100% 0 0 0);
  animation: intro-logo-reveal .92s .12s var(--ease-snap) forwards;
}
.intro-logo-calibration,
.intro-logo-calibration::before,
.intro-logo-calibration::after {
  position: absolute;
  display: block;
  pointer-events: none;
}
.intro-logo-calibration {
  inset: 8px;
  border-top: 1px solid rgba(23,63,48,.36);
  border-left: 1px solid rgba(23,63,48,.36);
}
.intro-logo-calibration::before,
.intro-logo-calibration::after { content: ""; background: var(--acid); }
.intro-logo-calibration::before { width: 18px; height: 2px; right: -1px; bottom: -1px; }
.intro-logo-calibration::after { width: 2px; height: 18px; right: -1px; bottom: -1px; }
.site-intro.is-flashing .intro-logo-plate {
  filter: brightness(1.08) contrast(1.04) drop-shadow(0 0 25px rgba(215,255,47,.55));
}
.site-intro.is-flashing .cbro-logo--intro { opacity: .8; }
.site-intro.is-exiting .intro-mark-flight { opacity: 0; }

.mobile-logo-plate {
  display: grid;
  place-items: center;
  width: 82px;
  height: 116px;
  padding: 10px;
  background: var(--paper);
  border: 1px solid var(--acid);
  box-shadow: 7px 7px 0 rgba(158,175,145,.25);
}
.cbro-logo--menu { max-width: 100%; max-height: 100%; }

.orbit-core {
  background: var(--paper);
  border-color: var(--heritage);
  box-shadow: 10px 10px 0 var(--acid), 0 0 40px rgba(215,255,53,.12);
  overflow: hidden;
}
.cbro-logo--field { width: 58px; max-height: 82px; }

.risk-footer-mark {
  width: 62px;
  min-width: 62px;
  height: 82px;
  display: grid;
  place-items: center;
  padding: 8px;
  background: var(--paper);
  border: 1px solid var(--acid);
  box-shadow: 5px 5px 0 rgba(114,133,93,.5);
}
.cbro-logo--risk { max-width: 100%; max-height: 100%; }

.contact-logo-plate {
  position: absolute;
  left: 50%;
  top: 47%;
  width: min(47%, 360px);
  transform: translate(-50%,-50%);
  padding: clamp(18px, 2.2vw, 30px);
  background: var(--paper);
  border: 1px solid var(--acid);
  box-shadow: 16px 16px 0 rgba(8,39,30,.28);
}
.contact-logo-plate::before,
.contact-logo-plate::after,
.contact-logo-plate > i::before,
.contact-logo-plate > i::after {
  content: "";
  position: absolute;
  background: var(--acid);
}
.contact-logo-plate::before { left: -1px; top: -1px; width: 30px; height: 2px; }
.contact-logo-plate::after { left: -1px; top: -1px; width: 2px; height: 30px; }
.contact-logo-plate > i::before { right: -1px; bottom: -1px; width: 30px; height: 2px; }
.contact-logo-plate > i::after { right: -1px; bottom: -1px; width: 2px; height: 30px; }
.cbro-logo--contact { width: 100%; }

.footer-logo-plate {
  display: inline-flex;
  align-items: center;
  min-height: 52px;
  padding: 5px 10px 5px 8px;
  background: var(--paper);
  border: 1px solid rgba(215,255,47,.68);
}
.cbro-logo--footer { height: 40px; width: auto; }

@keyframes intro-logo-reveal {
  0% { opacity: 0; transform: translateY(18px) scale(.975); clip-path: inset(100% 0 0 0); filter: blur(3px); }
  42% { opacity: 1; }
  100% { opacity: 1; transform: translateY(0) scale(1); clip-path: inset(0 0 0 0); filter: blur(0); }
}
@keyframes intro-logo-scan {
  0% { transform: translateY(-210%); opacity: 0; }
  14% { opacity: 1; }
  100% { transform: translateY(690%); opacity: 0; }
}

@media (max-width: 760px) {
  .cbro-logo--header { height: 39px; }
  .intro-mark-flight { width: clamp(142px, 39vw, 176px); }
  .intro-logo-plate { box-shadow: 7px 7px 0 rgba(79,104,79,.72); }
  .mobile-logo-plate { width: 70px; height: 98px; }
  .orbit-core { width: 94px; height: 94px; box-shadow: 7px 7px 0 var(--acid); }
  .cbro-logo--field { width: 45px; max-height: 66px; }
  .risk-footer-mark { width: 48px; min-width: 48px; height: 66px; padding: 6px; }
  .contact-logo-plate { width: min(48%, 210px); padding: 16px; box-shadow: 10px 10px 0 rgba(8,39,30,.28); }
  .cbro-logo--footer { height: 35px; }
}

@media (prefers-reduced-motion: reduce) {
  .cbro-logo--intro { opacity: 1 !important; transform: none !important; clip-path: none !important; filter: none !important; }
  .intro-logo-plate::after { display: none !important; }
}

/* Ambient calibration --------------------------------------------------
   Built from the existing hard grid, botanical color and acid signal language.
   Only transform/opacity animate; no canvas, timers, large blur or new assets. */
.hero { --ambient-cell: clamp(42px, 5vw, 72px); }
.hero-grid {
  inset: calc(-1 * (var(--ambient-cell) + 24px));
  background-size: var(--ambient-cell) var(--ambient-cell);
}
.hero-glow { transition: none; }
.hero-calibration {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.hero-calibration i {
  position: absolute;
  top: 21%;
  left: -14%;
  width: 14%;
  max-width: 220px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(79,104,79,.36));
  opacity: 0;
}
.hero-calibration i::after {
  content: "";
  position: absolute;
  right: 0;
  top: -2px;
  width: 5px;
  height: 5px;
  background: var(--acid);
  border: 1px solid rgba(79,104,79,.38);
}
.hero-calibration i + i { top: 84%; }
.risk-grid,
.contact-grid-lines { inset: -72px; pointer-events: none; }
.risk-cursor { pointer-events: none; }

@media (prefers-reduced-motion: no-preference) {
  .motion-enhanced .hero-grid { animation: ambient-grid 36s linear infinite; }
  .motion-enhanced .hero-glow { animation: ambient-glow 26s ease-in-out infinite alternate; }
  .motion-enhanced .hero-calibration i { animation: ambient-calibration 23s linear infinite; }
  .motion-enhanced .hero-calibration i + i { animation-delay: -12s; animation-duration: 29s; }
  .motion-enhanced .risk-grid,
  .motion-enhanced .contact-grid-lines { animation: ambient-grid 44s linear infinite reverse; --ambient-cell: 48px; }
  .motion-enhanced .risk-cursor { animation: ambient-reticle 30s ease-in-out infinite alternate; }
}
@keyframes ambient-grid { to { transform: translate3d(var(--ambient-cell), var(--ambient-cell), 0); } }
@keyframes ambient-glow {
  from { transform: translate(-58%, -52%) scale(.94); opacity: .65; }
  to { transform: translate(-35%, -40%) scale(1.08); opacity: 1; }
}
@keyframes ambient-calibration {
  0% { transform: translate3d(0,0,0); opacity: 0; }
  8%, 76% { opacity: .7; }
  92%, 100% { transform: translate3d(850%,0,0); opacity: 0; }
}
@keyframes ambient-reticle { to { transform: translate3d(-28px, 36px, 0) rotate(14deg); } }

/* Pause both the added backdrop and existing non-essential loops. */
html.motion-stopped { scroll-behavior: auto; }
.motion-stopped .reveal { transition: none; }
.motion-stopped main *,
.motion-stopped main *::before,
.motion-stopped main *::after,
.no-js main *,
.no-js main *::before,
.no-js main *::after,
.page-hidden *::before,
.page-hidden *::after { animation-play-state: paused !important; }
.menu-open main *,
.menu-open main *::before,
.menu-open main *::after,
.intro-pending main *,
.intro-pending main *::before,
.intro-pending main *::after { animation-play-state: paused !important; }

@media (max-width: 760px) {
  .hero { --ambient-cell: 36px; }
  /* One slowly translated background layer on phones; no moving glow/reticle. */
  .motion-enhanced .hero-grid { animation-duration: 54s; }
  .hero-glow,
  .hero-calibration { display: none; }
  .motion-enhanced .risk-grid,
  .motion-enhanced .contact-grid-lines,
  .motion-enhanced .risk-cursor { animation: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-grid,
  .hero-glow,
  .hero-calibration i,
  .risk-grid,
  .risk-cursor,
  .contact-grid-lines { animation: none !important; }
  .hero-calibration { display: none; }
}
@media print {
  .hero-grid,
  .hero-glow,
  .hero-calibration,
  .risk-grid,
  .risk-cursor,
  .contact-grid-lines { display: none !important; }
}

/* One homepage, one type system. All titles use the original --display stack
   and unmodified glyph proportions; body/annotation typography stays shared. */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.site-header { grid-template-columns: minmax(114px, 1fr) auto minmax(114px, 1fr); gap: 24px; }
.desktop-nav { gap: clamp(20px, 2.5vw, 38px); }
.desktop-nav a[aria-current="location"]::after { right: 0; background: var(--acid); }
.footer-nav { max-width: 600px; justify-content: flex-end; }
.mobile-menu nav a { grid-template-columns: 42px minmax(0, 1fr) auto; }
.mobile-menu nav a b { min-width: 0; overflow-wrap: anywhere; font-family: var(--display); font-size: min(36px, 7.4vw); }
.research-editorial, .infrastructure-editorial, .athena-home { min-width: 0; background: var(--paper); }
.research-editorial figure, .infrastructure-editorial figure, .athena-home figure { margin: 0; }
.anchor-alias { display: block; height: 0; }
.editorial-kicker, .editorial-breadcrumb, .editorial-section-label, .figure-caption { font-family: var(--mono); font-size: 11px; font-weight: 400; letter-spacing: .12em; line-height: 1.5; text-transform: uppercase; }
.editorial-kicker { margin: 0 0 24px; color: var(--deep); }
.editorial-display { font-family: var(--display); font-weight: 900; line-height: .94; letter-spacing: -.055em; text-transform: uppercase; margin: 0; overflow-wrap: anywhere; }
.editorial-display > span { display: block; }
.editorial-display .display-green { color: var(--heritage); }
.editorial-heading { container-type: inline-size; min-width: 0; }
/* Research is the homepage's research introduction; the axis crosses the seam. */
.research-intro { width: var(--page); margin: auto; display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); align-items: center; gap: 36px; padding: 64px 0 36px; }
.research-intro .editorial-display { font-size: clamp(30px, 11.8cqi, 96px); }
.research-intro .editorial-display span + span { margin-top: .06em; }
.research-signals { min-width: 0; }
.research-signals img { width: 100%; height: auto; }
.research-landscape { position: relative; background: radial-gradient(ellipse at 68% 35%, var(--forest), transparent 70%), var(--deep); color: var(--paper); }
.research-landscape > figcaption, .figure-caption { position: absolute; left: max(32px, calc((100vw - var(--page)) / 2)); right: max(32px, calc((100vw - var(--page)) / 2)); display: flex; justify-content: space-between; z-index: 1; }
.research-landscape > figcaption { top: 28px; font: 11px/1.5 var(--mono); letter-spacing: .15em; text-transform: uppercase; }
.research-landscape > figcaption span:first-child::after { content: ''; display: block; margin-top: 14px; width: 40px; height: 3px; background: var(--acid); }
.research-landscape img { width: 100%; height: auto; min-height: 380px; object-fit: cover; }
.figure-caption { bottom: 25px; }
/* The two normal-proportion title groups balance the four-layer diagram. */
.infrastructure-editorial { position: relative; display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 10px; padding: 62px max(32px, calc((100vw - var(--page)) / 2)) 34px; background: linear-gradient(to bottom, var(--paper) 0 54%, var(--deep) 54% 100%); }
.infrastructure-copy { min-width: 0; container-type: inline-size; padding: 0 12px 0 30px; display: flex; flex-direction: column; }
.infrastructure-copy .editorial-display { font-size: clamp(32px, 11.8cqi, 96px); flex: 1; display: flex; flex-direction: column; justify-content: space-between; padding-bottom: 36px; gap: 40px; }
.infrastructure-first > span, .infrastructure-second > span { display: block; }
.infrastructure-copy .infrastructure-second { font-size: .75em; color: var(--paper); }
.architecture-figure { min-width: 0; position: relative; }
.architecture-figure img { width: 100%; height: auto; }
.architecture-figure figcaption { position: absolute; bottom: 6px; right: 0; color: var(--paper); font: 10px/1.5 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.architecture-rail { position: absolute; left: max(22px, calc((100vw - var(--page)) / 2)); top: 28px; bottom: 30px; display: flex; flex-direction: column; align-items: center; gap: 18px; color: var(--heritage); font: 9px/1.2 var(--mono); letter-spacing: .12em; writing-mode: vertical-rl; }
.architecture-rail i { flex: 1; width: 1px; background: var(--sage); }
.architecture-rail span:last-child { color: var(--paper); }
/* Athena keeps one hero action group above its focused feature headings. */
.athena-home { padding-top: 32px; border-top: 1px solid var(--line-strong); }
.athena-frame { width: var(--page); margin: auto; border-inline: 1px solid var(--line-strong); }
.editorial-breadcrumb { display: flex; justify-content: space-between; gap: 16px; padding: 25px var(--frame-inset) 0; }
.editorial-breadcrumb span:last-child { color: var(--muted); }
.athena-hero { padding: 20px var(--frame-inset) 28px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 36px; align-items: stretch; }
.athena-intro { min-width: 0; container-type: inline-size; padding-top: 24px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.athena-intro .editorial-kicker { font-size: 12px; margin-bottom: 20px; }
.athena-intro .editorial-display { width: 100%; font-size: clamp(30px, 11.8cqi, 88px); }
.athena-purpose { font-size: clamp(20px, 4cqi, 30px); margin: 26px 0 12px; line-height: 1.25; letter-spacing: -.02em; }
.athena-open { font-size: clamp(17px, 3.25cqi, 23px); margin: 0; }
.athena-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 36px; max-width: 100%; }
.athena-actions .button { min-height: 52px; letter-spacing: .08em; }
.access-availability { max-width: 53ch; font-size: 12px; line-height: 1.55; color: var(--muted); margin: 18px 0 0; }
.athena-art { min-width: 0; background: radial-gradient(ellipse at 35% 35%, var(--forest), transparent), var(--deep); }
.athena-art img { width: 100%; height: 100%; object-fit: cover; }
.editorial-section-label { margin: 0; padding: 15px var(--frame-inset); border-block: 1px solid var(--line-strong); }
.athena-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.athena-feature { min-width: 0; container-type: inline-size; padding: 24px var(--frame-inset) 30px; }
.athena-feature + .athena-feature { border-left: 1px solid var(--line); }
.athena-feature .editorial-kicker { margin-bottom: 12px; }
.athena-feature h4 { margin: 0 0 24px; font: 900 clamp(18px, 11.5cqi, 72px)/.98 var(--display); letter-spacing: -.05em; text-transform: uppercase; overflow-wrap: anywhere; }
.athena-feature img { width: 100%; height: auto; }
/* Fix the measured mobile min-content overflow at its source. */
.section-heading, .operating-hero, .operating-hero > *, .section-heading > *, .risk-footer > * { min-width: 0; }
.operating-hero .section-heading { grid-template-columns: minmax(0, 1fr); }
.operating-hero .section-heading h2 { font-size: clamp(38px, 6.5vw, 100px); overflow-wrap: anywhere; }
.operating-intro { max-width: 100%; overflow-wrap: anywhere; }
.risk-footer { grid-template-columns: auto minmax(0, 1fr) auto; }
.risk-footer p { font-size: clamp(30px, 6vw, 88px); overflow-wrap: anywhere; }
.risk-footer > span { overflow-wrap: anywhere; }
@media (max-width: 1250px) {
  .collaborator-label { display: none; }
  .site-header { grid-template-columns: minmax(114px, 1fr) auto; }
  .header-meta { display: none; }
  .athena-actions .button { font-size: 9px; padding-inline: 12px; gap: 14px; }
}
@media (max-width: 1080px) {
  .site-footer { grid-template-columns: minmax(0, 1fr); }
  .footer-nav { justify-content: flex-start; }
  .operating-hero { grid-template-columns: minmax(0, 1fr); }
  .risk-footer { grid-template-columns: auto minmax(0, 1fr); }
}
@media (max-width: 900px) and (min-width: 761px) {
  .athena-intro { padding-top: 0; }
  .athena-hero { gap: 22px; }
  .athena-actions { margin-top: 20px; }
  .athena-hero .athena-actions .button { min-height: 44px; }
}
@media (max-width: 760px) {
  .site-header { grid-template-columns: minmax(0, 1fr) auto; gap: 16px; }
  .header-meta { display: flex; }
  .footer-nav { justify-content: flex-start; }
  .research-intro { grid-template-columns: minmax(0, 1fr); padding-top: 42px; gap: 32px; }
  .research-intro .editorial-display { font-size: clamp(30px, 11.8cqi, 88px); }
  .research-landscape > figcaption, .figure-caption { left: 18px; right: 18px; font-size: 9px; }
  .research-landscape img { min-height: 360px; object-fit: cover; }
  .research-landscape > figcaption span:last-child { display: none; }
  .infrastructure-editorial { display: block; padding: 44px 18px 26px; background: var(--paper); }
  .infrastructure-copy { padding: 0; }
  .infrastructure-copy .editorial-display { font-size: clamp(32px, 11.8cqi, 88px); padding-bottom: 0; gap: 24px; }
  .infrastructure-copy .infrastructure-second { color: var(--heritage); font-size: .78em; }
  .architecture-figure { margin: 34px -18px -26px !important; padding: 0 5px 18px; background: linear-gradient(to bottom, var(--paper) 0 54%, var(--deep) 54% 100%); }
  .architecture-figure figcaption { right: 18px; bottom: 18px; }
  .architecture-rail { display: none; }
  .athena-frame { border-inline: 0; }
  .editorial-breadcrumb { padding: 25px 0 0; font-size: 9px; }
  .athena-hero { grid-template-columns: minmax(0, 1fr); padding: 30px 0 24px; gap: 28px; }
  .athena-intro { padding-top: 0; }
  .athena-intro .editorial-display { font-size: clamp(30px, 11.8cqi, 76px); }
  .athena-purpose { font-size: clamp(22px, 5.5vw, 30px); }
  .athena-open { font-size: 18px; }
  .athena-actions { margin-top: 28px; }
  .athena-actions .button { font-size: 10px; min-height: 50px; }
  .athena-art { max-width: 560px; width: 100%; justify-self: center; }
  .editorial-section-label { padding-inline: 0; font-size: 10px; }
  .athena-feature-grid { grid-template-columns: minmax(0, 1fr); }
  .athena-feature { padding: 24px 0; }
  .athena-feature + .athena-feature { border-left: 0; border-top: 1px solid var(--line); }
  .athena-feature h4 { font-size: clamp(28px, 10.5cqi, 60px); }
  .operating-hero .section-heading h2 { font-size: clamp(36px, 9vw, 60px); }
  .risk-footer { grid-template-columns: 44px minmax(0, 1fr); }
  .risk-footer-mark { min-width: 0; max-width: 44px; }
  .no-js .site-header { grid-template-columns: minmax(0, 1fr); }
  .no-js .header-meta { display: none; }
}
@media (max-width: 380px) {
  .athena-actions { align-items: stretch; flex-direction: column; width: 100%; }
}
@media print {
  .research-landscape, .infrastructure-editorial { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .athena-actions { display: none; }
}

/* Same view boxes and dimensions as the authored SVG images. Internal paths are
   the only animated geometry; captions, labels, panels and page layout are fixed. */
.editorial-diagram { display: block; width: 100%; height: auto; max-width: 100%; overflow: hidden; }
.research-landscape .editorial-diagram { min-height: 380px; }
.athena-art .editorial-diagram { height: 100%; }
@media (max-width: 760px) {
  .research-landscape .editorial-diagram { min-height: 360px; }
}
/* No CSS loop starts before JavaScript. The shared SVG controller restores the
   exact authored geometry for OS reduced motion and before printing. */
@media (prefers-reduced-motion: reduce) {
  .editorial-diagram { animation: none; transition: none; }
}

/* Display-aware color enhancement ---------------------------------------
   Display P3 extends the color gamut; it does NOT create HDR luminance.
   The original sRGB palette remains the default in 00-foundation.css/404.css.
   Keep paper, reading text and approved raster Logo V2 unchanged.
   This palette layer requires no JavaScript or extra assets. True HDR
   decoration is isolated in hdr-accents.js and 92-hdr-accents.css. */
@supports (color: color(display-p3 0 1 0)) {
  @media screen and (color-gamut: p3) and (forced-colors: none) and (prefers-contrast: no-preference) {
    :root {
      --forest: color(display-p3 0.045 0.235 0.165);
      --forest-deep: color(display-p3 0.025 0.187 0.127);
      --forest-black: color(display-p3 0.015 0.111 0.082);
      --deep: color(display-p3 0.026 0.173 0.115);
      --heritage: color(display-p3 0.285 0.410 0.265);
      --heritage-2: color(display-p3 0.410 0.525 0.325);
      --signal: color(display-p3 0.245 0.505 0.375);
      --eucalyptus: color(display-p3 0.245 0.505 0.375);
      --acid: color(display-p3 0.810 0.985 0.105);
      --electric: color(display-p3 0.810 0.985 0.105);
      --acid-soft: color(display-p3 0.880 0.985 0.525);
    }

    .hero-glow {
      background: radial-gradient(circle, color(display-p3 0.22 0.43 0.29 / .13), transparent 66%);
    }
    .signal-field::after {
      background: linear-gradient(125deg, transparent 55%, color(display-p3 0.81 0.985 0.105 / .06));
    }
    .scan-line { box-shadow: 0 0 22px color(display-p3 0.81 0.985 0.105 / .65); }
  }

  /* The query reports capability, not the current HDR mode or available nits.
     A slightly stronger P3 accent is safe even when HDR output is inactive.
     This remains SDR luminance; genuine HDR media must be authored separately. */
  @media screen and (color-gamut: p3) and (dynamic-range: high) and (forced-colors: none) and (prefers-contrast: no-preference) {
    :root {
      --acid: color(display-p3 0.800 1 0.080);
      --electric: color(display-p3 0.800 1 0.080);
    }
  }
}

/* Never lift reading surfaces to HDR brightness. This limits any future HDR
   raster/media content too. Only 92-hdr-accents.css opts authored patches in. */
@supports (dynamic-range-limit: standard) {
  :root { dynamic-range-limit: standard; }
}

/* Scroll moves decoration inside fixed scenes. Ambient transforms remain on
   children, so the two rhythms compose without competing for one transform.
   Text, logos, grids' containers, buttons and panel boundaries never parallax. */
[data-scroll-scene] { --scene-shift: 0px; --scene-turn: 0deg; --scene-progress: 0; }
.scroll-layer { position: absolute; inset: 0; pointer-events: none; }
.orbit-geometry { position: absolute; inset: 0; }
/* Overscan is at least the maximum 20px scroll travel, avoiding exposed edges. */
.signal-field-grid { inset: -24px; }
.scroll-enhanced .scroll-layer--grid { transform: translate3d(0, calc(var(--scene-shift) * -.65), 0); }
.scroll-enhanced .scroll-layer--glow { transform: translate3d(calc(var(--scene-shift) * -.5), var(--scene-shift), 0); }
.scroll-enhanced .scroll-layer--detail { transform: translate3d(0, var(--scene-shift), 0); }
.scroll-enhanced .orbit-geometry {
  transform: perspective(1100px) translate3d(0, calc(var(--scene-shift) * .55), 0)
    rotateX(var(--pointer-tilt-x, 0deg)) rotateY(var(--pointer-tilt-y, 0deg)) rotate(var(--scene-turn));
}
/* The eye's reference frame and account panels remain fixed. Their small
   decorative marks carry the operating scene's reversible response. */
.scroll-enhanced .operating-symbol--account span:nth-child(1) { transform: translateY(calc(var(--scene-shift) * .15)); }
.scroll-enhanced .operating-symbol--account span:nth-child(3) { transform: translateY(calc(var(--scene-shift) * -.15)); }
.scroll-enhanced .signal-bars { translate: 0 calc(var(--scene-shift) * -.2); }
.scroll-enhanced .operating-symbol--eye i { translate: calc(var(--scene-shift) * .18) 0; }
/* The existing slow ambient layer retains its own clock. Only the final
   decorative wrapper gets a short settle, without inertial scrolling. */
@media (prefers-reduced-motion: no-preference) {
  .scroll-enhanced .scroll-layer,
  .scroll-enhanced .orbit-geometry { transition: transform 100ms linear; }
}
@media (max-width: 760px) {
  /* Mobile amplitude is limited in the controller; disable secondary backdrops. */
  .scroll-enhanced .risk .scroll-layer,
  .scroll-enhanced .contact-art .scroll-layer { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .scroll-layer, .orbit-geometry { transform: none !important; transition: none !important; }
  .operating-symbol--account span { transform: none !important; }
  .operating-symbol--eye i, .signal-bars { translate: none !important; }
}
@media print {
  .scroll-layer { display: none !important; }
  .orbit-geometry { transform: none !important; }
  .operating-symbol--account span { transform: none !important; }
  .operating-symbol--eye i, .signal-bars { translate: none !important; }
}

/* Only these tiny, authored decorative patches can exceed SDR white. The
   normal SVG, paper, logo and all reading/UI colors retain their SDR rendering. */
.hdr-accent-host { position: relative; }
.hdr-accent-layer { position: absolute; overflow: hidden; pointer-events: none; }
.hdr-accent { position: absolute; display: block; pointer-events: none; }
.hdr-accent--round { border-radius: 50%; }
@supports (dynamic-range-limit: no-limit) {
  .hdr-accent-layer, .hdr-accent { dynamic-range-limit: no-limit; }
}
@media print, (dynamic-range: standard), (prefers-reduced-motion: reduce), (forced-colors: active), (prefers-contrast: more), (prefers-contrast: less), (prefers-contrast: custom) {
  .hdr-accent-layer { display: none; }
}

/* Review edition: one main gesture per scene, quiet reading surfaces. */
:root { --section-gap: clamp(68px, 6.5vw, 108px); }
body { background: var(--paper); }
.button, .athena-actions .button { font-size: 12px; line-height: 1.4; min-height: 48px; }
.eyebrow, .section-index, .hero-footnote, .ledger-cell span, .ledger-cell i,
.risk-principle > span, .operating-id, .risk-footer > span { font-size: 11px; line-height: 1.5; }
:where(a, button, summary):focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; box-shadow: 0 0 0 4px var(--paper); }
:where(.risk, .contact, .site-footer) :where(a, button, summary):focus-visible { outline-color: var(--acid); box-shadow: 0 0 0 4px var(--deep); }
.hero { min-height: 760px; padding-top: 134px; padding-bottom: 68px; gap: clamp(38px, 5vw, 78px); }
.hero-grid { opacity: .26; mask-image: linear-gradient(to right, transparent, rgba(0,0,0,.3) 58%, black); }
.hero-lower { grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 38px; }
.hero-description { max-width: 48ch; font-size: clamp(18px, 1.5vw, 22px); }
.hero-actions { justify-content: flex-start; gap: 12px; }
.hero-actions .button { min-width: 0; }
.hero-footnote { margin-top: 28px; gap: 10px 20px; border-color: var(--line); }
.signal-field { min-height: 550px; }
.signal-field-top { font-size: 10px; color: var(--sage-soft); }
.signal-field-bottom p { max-width: 32ch; font-size: 14px; color: var(--sage-soft); }
.signal-label { font-size: 11px; padding: 8px 10px; transform: none; box-shadow: none; }
.label-a { left: 6%; top: 29%; }
.label-b { right: 5%; top: 49%; }
.label-c { left: 8%; bottom: 24%; }
.hero-rail { width: 30px; background: var(--paper-2); color: var(--heritage); border-color: var(--line); }
.hero-rail b, .hero-rail small { color: var(--heritage); }
.hero-rail i { background: var(--line); }
.hero-rail strong { font-size: 16px; }
.ledger-cell { min-height: 112px; padding: 20px 24px; gap: 12px; }
.ledger-cell b { font-size: clamp(26px, 2.5vw, 40px); line-height: 1; }
.ledger-cell--brand b { font-size: clamp(24px, 2.2vw, 34px); }
.research-intro { padding-block: 52px 30px; }
.research-context { max-width: 43ch; margin: 24px 0 0; font-size: 18px; line-height: 1.5; color: var(--ink-soft); }
.research-landscape img, .research-landscape .editorial-diagram { height: clamp(280px, 27vw, 390px); min-height: 0; object-fit: cover; }
.research-landscape .figure-caption { font-size: 11px; letter-spacing: .07em; gap: 20px; }
.risk-statement { margin-top: 40px; gap: 32px 60px; }
.risk-principles { margin-top: 50px; }
.risk-principle { min-height: 228px; padding: 24px; }
.risk-principle h3 { margin-top: 38px; line-height: 1; }
.risk-principle p { color: var(--sage-soft); }
.risk-footer { margin-top: 48px; }
.risk-footer p { line-height: .96; }
.infrastructure-editorial { padding-top: 46px; }
.infrastructure-copy .editorial-display { flex: none; padding: 0; }
.architecture-explanation { margin-top: auto; padding-block: 30px 24px; color: var(--paper); }
.architecture-explanation h3 { margin: 0 0 22px; font: 900 clamp(26px, 3vw, 44px)/1 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.architecture-responsibilities { margin: 0; max-width: 42ch; }
.architecture-responsibilities > div { padding: 10px 0; display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; border-top: 1px solid var(--line-light); }
.architecture-responsibilities dt { font: 12px/1.5 var(--mono); color: var(--acid); }
.architecture-responsibilities dd { margin: 0; font-size: 14px; line-height: 1.5; color: var(--sage-soft); }
.architecture-figure figcaption { max-width: 100%; font-size: 11px; letter-spacing: .03em; text-align: right; }
.athena-hero { align-items: center; }
.athena-art { width: 100%; max-width: 430px; justify-self: end; }
.athena-art img, .athena-art .editorial-diagram { height: auto; }
.athena-feature { padding-block: 22px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px 18px; align-items: center; }
.athena-feature .editorial-kicker { grid-column: 1 / -1; margin: 0; }
.athena-feature h4 { font-size: clamp(24px, 6.4cqi, 42px); margin: 0; line-height: 1; }
.athena-feature img, .athena-feature .editorial-diagram { max-height: 145px; }
.operating { padding-block: var(--section-gap); }
.operating-hero { gap: 40px; }
.operating-hero .section-heading { margin-top: 30px; gap: 24px; }
.operating-hero .section-heading h2 { font-size: clamp(38px, 5.8vw, 86px); line-height: .94; }
.operating-intro { font-size: 18px; line-height: 1.55; }
.collaboration-boundary { max-width: 70ch; margin: 32px 0 24px; font-size: 16px; color: var(--ink-soft); }
.operating-grid { border-top: 1px solid var(--ink); }
.operating-card { min-height: 230px; padding: 26px; }
.operating-symbol { display: none; }
.operating-id { position: static; margin-bottom: 24px; }
.operating-card h3 { margin: 0 0 18px; font-size: clamp(26px, 9cqi, 46px); line-height: 1; }
.operating-card p { font-size: 16px; }
.contact { grid-template-columns: minmax(220px, .4fr) minmax(0, 1fr); min-height: 0; }
.contact-art { min-height: 0; border-color: var(--line-light); }
.contact-logo-plate { width: min(64%, 180px); padding: 16px; top: 38%; box-shadow: 8px 8px 0 rgba(8,39,30,.2); }
.contact-coordinate { font-size: 11px; letter-spacing: .04em; }
.contact-content { padding: 62px clamp(28px, 5vw, 78px); }
.contact-content .eyebrow { margin-top: 30px; }
.contact-content h2 { margin-block: 24px; font-size: clamp(32px, 10cqi, 74px); line-height: .95; }
.contact-note { margin: 22px 0 14px; max-width: 64ch; }
.contact-privacy { max-width: 64ch; color: var(--sage-soft); font-size: 14px; line-height: 1.55; }
.contact-privacy summary { cursor: pointer; min-height: 44px; padding-block: 11px; text-decoration: underline; text-underline-offset: 4px; }
.contact-privacy p { margin: 4px 0 18px; }
.contact-form { margin-top: 26px; }
@media (max-width: 1080px) {
  .hero { min-height: 0; padding-top: 122px; gap: 44px; }
  .signal-field { max-width: 640px; min-height: 500px; }
  .infrastructure-editorial { display: block; padding: 44px var(--gutter) 0; background: var(--paper); }
  .infrastructure-copy { padding: 0; }
  .infrastructure-copy .editorial-display { font-size: clamp(32px, 8vw, 72px); }
  .architecture-explanation { padding: 30px 0; color: var(--ink); }
  .architecture-explanation h3 { color: var(--heritage); }
  .architecture-responsibilities { max-width: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; }
  .architecture-responsibilities > div { display: block; border-color: var(--line); }
  .architecture-responsibilities dt { color: var(--deep); margin-bottom: 6px; }
  .architecture-responsibilities dd { color: var(--ink-soft); }
  .architecture-figure { margin: 0 calc(-1 * var(--gutter)) !important; padding: 0 var(--gutter) 28px; background: linear-gradient(to bottom, var(--paper) 0 54%, var(--deep) 54% 100%); }
  .architecture-figure .editorial-diagram { max-width: 660px; margin: auto; }
  .architecture-rail { display: none; }
  .operating-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .operating-card { padding: 20px; }
  .contact { grid-template-columns: minmax(180px, .35fr) minmax(0, 1fr); }
  .contact-art { border-right: 1px solid var(--line-light); border-bottom: 0; }
}
@media (max-width: 760px) {
  :root { --section-gap: 64px; }
  .hero { padding: 110px 30px 44px 15px; gap: 32px; }
  .hero-lower { margin-top: 28px; gap: 20px; }
  .hero-description { max-width: none; font-size: 18px; }
  .hero-footnote { font-size: 11px; }
  .hero-rail { width: 20px; }
  .hero-rail small, .hero-rail b { display: none; }
  .signal-field { min-height: 430px; }
  .signal-field-bottom p { max-width: none; font-size: 13px; }
  .signal-label { font-size: 10px; padding: 7px; }
  .label-a { left: 3%; top: 26%; }
  .label-b { right: 3%; top: 43%; }
  .label-c { bottom: 26%; left: 6%; }
  .ledger-cell, .ledger-cell--brand { min-height: 96px; padding: 16px; }
  .ledger-cell--brand { grid-column: 1 / -1; }
  .system-ledger { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ledger-cell b, .ledger-cell--brand b { font-size: 26px; }
  .research-intro { padding-top: 38px; gap: 24px; }
  .research-context { font-size: 17px; margin-top: 20px; }
  .research-landscape img, .research-landscape .editorial-diagram { height: 260px; min-height: 0; }
  .research-landscape .figure-caption { flex-direction: column; gap: 4px; font-size: 11px; }
  .risk-statement { gap: 28px; margin-top: 32px; }
  .risk-principles { grid-template-columns: minmax(0, 1fr); margin-top: 36px; }
  .risk-principle { min-height: 0; padding: 22px; }
  .risk-principle h3 { margin-top: 20px; font-size: min(30px, 10.5cqi); }
  .risk-footer { margin-top: 36px; gap: 18px; }
  .risk-footer p { font-size: clamp(28px, 8vw, 52px); }
  .architecture-responsibilities { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .architecture-responsibilities > div { display: grid; grid-template-columns: 106px minmax(0, 1fr); }
  .architecture-figure figcaption { right: var(--gutter); bottom: 10px; font-size: 11px; }
  .athena-actions .button { font-size: 12px; padding-inline: 14px; gap: 12px; letter-spacing: .02em; }
  .athena-art { max-width: 300px; justify-self: center; }
  .athena-feature-grid { grid-template-columns: minmax(0, 1fr); }
  .athena-feature { padding: 20px 0; }
  .athena-feature h4 { font-size: clamp(22px, 6.6cqi, 36px); }
  .editorial-breadcrumb, .editorial-section-label { font-size: 11px; letter-spacing: .06em; }
  .operating-grid { grid-template-columns: minmax(0, 1fr); }
  .operating-card { min-height: 0; padding: 24px; }
  .operating-card h3 { font-size: 32px; }
  .operating-id { margin-bottom: 18px; }
  .collaboration-boundary { margin-top: 24px; }
  .contact { grid-template-columns: minmax(0, 1fr); }
  .contact-art { min-height: 176px; border-right: 0; border-bottom: 1px solid var(--line-light); }
  .contact-logo-plate { width: 88px; padding: 8px; top: 50%; left: 24%; }
  .contact-coordinate { writing-mode: horizontal-tb; top: 50%; right: 20px; max-width: 45%; }
  .contact-content { padding: 44px 20px 54px; }
  .contact-content h2 { font-size: clamp(32px, 10.5cqi, 58px); }
}
/* The explanatory text is readable even when the responsive seam moves. */
@media (min-width: 1081px) {
  .architecture-explanation { background: var(--deep); padding: 22px 20px; margin-bottom: 16px; }
}
/* Keep long feature names whole at the narrowest phone widths. */
@media (max-width: 420px) {
  .athena-feature { grid-template-columns: minmax(0, 1fr); }
  .athena-feature h4 { font-size: 28px; overflow-wrap: normal; }
  .athena-feature img, .athena-feature .editorial-diagram { max-height: 130px; }
}
/* Stack the overview before its fixed-size words outgrow half-width cells. */
@media (max-width: 420px) {
  .system-ledger { grid-template-columns: minmax(0, 1fr); }
  .ledger-cell { min-width: 0; border-right: 0; }
  .ledger-cell--brand { grid-column: auto; }
}

/* Quiet backgrounds support continuously living diagrams. Diagram-motion owns
   the six visible SVG cycles; only the hero orbit also keeps a slow CSS clock.
   Scroll wrappers and pointer response remain reversible and input-driven. */
main .hero-grid,
main .hero-glow,
main .hero-calibration i,
main .risk-grid,
main .risk-cursor,
main .contact-grid-lines,
main .signal-bars i,
main .scan-line,
main .module-wave path {
  animation: none !important;
}
/* A stationary scan at its initial edge has no informational value. */
main .scan-line,
main .hero-calibration { opacity: 0; }

/* One restrained focal motion; existing offscreen/hidden/menu/intro pause
   rules still apply. The original logo core and all labels remain stationary. */
@media (prefers-reduced-motion: no-preference) {
  .motion-enhanced main .orbit-arc--acid { animation: orbit-spin 36s linear infinite; }
  .motion-enhanced main .orbit-arc--sage { animation: orbit-spin-reverse 44s linear infinite; }
}

/* Editorial wayfinding: ink, breathing room and hairlines rather than badges.
   Keep the existing index footprint so section rhythm does not move. */
.section-index > span {
  position: relative;
  flex-shrink: 0;
  justify-items: start;
  border: 0;
  background: transparent;
  color: var(--heritage);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
.section-index > span::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 1px;
  height: 14px;
  transform: translateY(-50%);
  background: currentColor;
}
.section-index--light > span { color: var(--paper); }

/* Fine rules retain the small acid accent on green reading surfaces.
   Their width and surrounding spacing stay unchanged across breakpoints. */
.eyebrow > i { flex-shrink: 0; height: 1px; }
.research-landscape > figcaption span:first-child::after { height: 1px; }
