:root {
  --paper: #f2f0ea;
  --paper-deep: #e9e5dd;
  --paper-cool: #ecebee;
  --ink: #151318;
  --muted: #6d6872;
  --quiet: #99939c;
  --hairline: rgba(21,19,24,.15);
  --hairline-soft: rgba(21,19,24,.085);
  --plum: #34243d;
  --violet: #76639b;
  --rose: #9b5d78;
  --blue: #536f7d;
  --header-h: 72px;
  --max: 1580px;
  --page-pad: clamp(30px,4.7vw,84px);
  --sans: "Helvetica Neue", Helvetica, Arial, ui-sans-serif, sans-serif;
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --mono: "SFMono-Regular", Menlo, Consolas, monospace;
}

* { box-sizing: border-box; }
html { background: var(--paper); scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  overflow-x: hidden;
  transition: background .45s ease, color .45s ease;
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: .46;
  background:
    linear-gradient(90deg, transparent 0 23.5%, rgba(21,19,24,.024) 23.5% calc(23.5% + 1px), transparent calc(23.5% + 1px) 76%, rgba(21,19,24,.024) 76% calc(76% + 1px), transparent calc(76% + 1px)),
    linear-gradient(rgba(21,19,24,.014) 1px, transparent 1px);
  background-size: 100% 100%, 100% 160px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.72), rgba(0,0,0,.18) 78%, transparent);
}
::selection { background: rgba(118,99,155,.20); }
a { color: inherit; }
button,input { font: inherit; }
button { color: inherit; }

#market-canvas {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
  pointer-events: none;
}
.scene-fade {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(242,240,234,1) 0 32%, rgba(242,240,234,.92) 41%, rgba(242,240,234,.34) 56%, rgba(242,240,234,.04) 72%, transparent 100%);
  transition: opacity .55s ease, background .65s ease;
}
body[data-scene="fragmented"] .scene-fade,
body[data-scene="gravity"] .scene-fade,
body[data-scene="thesis"] .scene-fade {
  background: linear-gradient(90deg, rgba(242,240,234,1) 0 45%, rgba(242,240,234,.86) 54%, rgba(242,240,234,.20) 72%, transparent 100%);
}
body[data-scene="system"] .scene-fade,
body[data-scene="topology"] .scene-fade,
body[data-scene="flow"] .scene-fade,
body[data-scene="team"] .scene-fade,
body[data-scene="verification"] .scene-fade { opacity: 0; }

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  height: var(--header-h);
  z-index: 80;
  display: grid;
  grid-template-columns: minmax(110px,1fr) auto minmax(110px,1fr);
  align-items: center;
  padding: 0 var(--page-pad);
  border-bottom: 1px solid rgba(21,19,24,.12);
  background: rgba(242,240,234,.70);
  backdrop-filter: blur(17px) saturate(.78);
  transition: background .4s ease,border-color .4s ease,color .4s ease;
}
.brand { justify-self:start; display:inline-flex; align-items:center; text-decoration:none; }
.brand img { display:block; max-width:112px; max-height:34px; width:auto; height:29px; object-fit:contain; object-position:left center; }
.site-header nav { display:flex; align-items:center; gap:clamp(22px,2.5vw,42px); }
.site-header nav a {
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.19em;
  font-size:9px;
  font-weight:560;
  opacity:.48;
  transition:opacity .18s ease;
}
.site-header nav a:hover,.site-header nav a[aria-current="page"] { opacity:1; }
.external-link span { font-size:11px; margin-left:2px; }
.header-spacer { justify-self:end; width:112px; }

#page-root { position:relative; z-index:2; min-height:100vh; outline:none; transition:opacity .4s ease; }
.page { min-height:100vh; animation:page-in .45s cubic-bezier(.2,.66,.22,1) both; }
@keyframes page-in { from{opacity:0;transform:translateY(4px)} to{opacity:1;transform:none} }

.kicker,.figure-label,.section-index,.role,.atlas-id,.atlas-label,.plate-readout,.memory-label,.team-provenance .figure-label {
  font-family:var(--mono);
  text-transform:uppercase;
  letter-spacing:.19em;
  font-size:8.5px;
  line-height:1.45;
}

.hero {
  min-height: 86vh;
  max-width: var(--max);
  margin: 0 auto;
  display:grid;
  grid-template-columns:minmax(520px,.88fr) minmax(580px,1.12fr);
  align-items:center;
  padding:calc(var(--header-h) + 64px) var(--page-pad) 64px;
  position:relative;
}
.hero-copy { max-width:690px; position:relative; z-index:3; }
.kicker { color:rgba(21,19,24,.45); margin-bottom:32px; }
.hero h1 {
  margin:0;
  max-width:700px;
  font-size:clamp(52px,4.35vw,72px);
  line-height:1.015;
  letter-spacing:-.052em;
  font-weight:400;
}
.hero p.lede {
  margin:30px 0 0;
  max-width:590px;
  color:var(--muted);
  font-size:clamp(16px,1.15vw,18px);
  line-height:1.62;
  letter-spacing:-.01em;
}
.hero-side { min-height:610px; position:relative; display:flex; align-items:flex-end; justify-content:flex-end; }
.model-caption {
  width:340px;
  margin:0 0 18px;
  padding:13px 0 0;
  border:0;
  border-top:1px solid var(--hairline);
  background:transparent;
  color:rgba(21,19,24,.52);
  text-align:left;
  font-size:11px;
  line-height:1.55;
  cursor:pointer;
  position:relative;
  z-index:8;
}
.model-caption b { display:block; margin-bottom:5px; font-family:var(--mono); font-size:8px; font-weight:520; letter-spacing:.18em; color:var(--ink); }
.model-caption > span { display:block; margin:0; max-width:265px; transition:color .18s ease; }
.model-caption:hover span { color:var(--ink); }

.content-band {
  position:relative;
  padding:clamp(96px,8.4vw,138px) var(--page-pad);
  border-top:1px solid var(--hairline);
  background:rgba(242,240,234,.96);
  overflow:hidden;
}
.content-band.field-band {
  min-height:66vh;
  background:linear-gradient(90deg, rgba(242,240,234,.985) 0 51%, rgba(242,240,234,.86) 60%, rgba(242,240,234,.18) 82%, rgba(242,240,234,.03) 100%);
}
.content-band.clear { background:rgba(242,240,234,.82); }
.content-band.cool { background:rgba(235,234,237,.96); }
.content-band.warm { background:rgba(235,229,219,.96); }
.content-band.dark { color:#f0ede6; background:rgba(24,20,27,.985); border-color:rgba(255,255,255,.12); }
.content-band.minimal-band { padding-top:clamp(118px,10vw,170px); padding-bottom:clamp(118px,10vw,170px); }
.band-inner { max-width:var(--max); margin:0 auto; }
.band-grid { display:grid; grid-template-columns:minmax(120px,.18fr) minmax(0,.82fr); gap:clamp(48px,7vw,118px); }
.section-index { padding-top:8px; color:rgba(21,19,24,.36); white-space:nowrap; }
.dark .section-index { color:rgba(255,255,255,.34); }
.section-copy { max-width:980px; }
.section-copy.narrow-copy { max-width:760px; }
.section-copy.wide-copy { max-width:1100px; }
.section-copy h2 {
  margin:0 0 26px;
  max-width:840px;
  font-size:clamp(39px,3.35vw,55px);
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight:400;
}
.section-copy > p,.prose {
  margin:0;
  max-width:730px;
  color:var(--muted);
  font-size:clamp(16px,1.1vw,18px);
  line-height:1.64;
  letter-spacing:-.008em;
}
.dark .section-copy > p,.dark .prose { color:rgba(240,237,230,.64); }
.statement {
  margin:0;
  max-width:930px;
  font-family:var(--serif);
  font-size:clamp(28px,2.8vw,43px);
  line-height:1.22;
  letter-spacing:-.027em;
}
.state-sequence {
  margin-top:62px;
  display:flex;
  align-items:center;
  width:min(860px,100%);
  padding:20px 0;
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
  font-family:var(--mono);
  font-size:7.5px;
  letter-spacing:.16em;
  color:rgba(21,19,24,.54);
}
.state-sequence span { white-space:nowrap; }
.state-sequence i { display:block; flex:1; height:1px; margin:0 14px; background:linear-gradient(90deg,var(--hairline),rgba(52,36,61,.44),var(--hairline)); position:relative; }
.state-sequence i::after { content:""; position:absolute; right:-2px; top:-2px; width:5px; height:5px; transform:rotate(45deg); border:1px solid rgba(52,36,61,.46); background:var(--paper); }

.memory-plate {
  margin-top:64px;
  max-width:700px;
  padding:18px 0 12px;
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
}
.memory-label { color:rgba(21,19,24,.38); margin-bottom:22px; }
.memory-lines { display:grid; gap:9px; }
.memory-lines span { display:block; width:var(--w); height:1px; background:rgba(52,36,61,var(--o)); position:relative; }
.memory-lines span::after { content:""; position:absolute; right:0; top:-2px; width:5px; height:5px; transform:rotate(45deg); border:1px solid rgba(52,36,61,var(--o)); background:var(--paper); }
.memory-axis { display:flex; justify-content:space-between; margin-top:17px; font-family:var(--mono); font-size:7px; letter-spacing:.16em; color:rgba(21,19,24,.33); }

.method-index { margin-top:60px; border-top:1px solid rgba(255,255,255,.18); }
.method-index > div { display:grid; grid-template-columns:50px 210px 1fr; gap:28px; align-items:baseline; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.11); }
.method-index span { font-family:var(--mono); font-size:7.5px; letter-spacing:.16em; color:rgba(255,255,255,.34); }
.method-index strong { font-size:15px; font-weight:460; }
.method-index small { color:rgba(255,255,255,.48); font-size:12px; }

.page-intro {
  min-height:58vh;
  display:flex;
  align-items:center;
  padding:calc(var(--header-h) + 76px) var(--page-pad) 90px;
  border-bottom:1px solid var(--hairline);
  position:relative;
}
.page-intro.intro-field { background:linear-gradient(90deg, rgba(242,240,234,.98) 0 54%, rgba(242,240,234,.78) 64%, rgba(242,240,234,.08) 92%); }
.page-intro-inner { width:100%; max-width:var(--max); margin:0 auto; }
.page-intro h1 {
  margin:0;
  max-width:900px;
  font-size:clamp(48px,4.2vw,70px);
  line-height:1.02;
  letter-spacing:-.05em;
  font-weight:400;
}
.page-intro p { margin:28px 0 0; max-width:700px; color:var(--muted); font-size:17px; line-height:1.64; }
.system-intro,.team-intro { min-height:46vh; background:var(--paper); }
.team-intro { min-height:38vh; padding-bottom:62px; }
.team-intro h1 { font-size:clamp(45px,3.7vw,62px); }

.system-band { background:rgba(242,240,234,.985); }
.memory-architecture { margin-top:58px; max-width:820px; border-top:1px solid var(--hairline); padding-top:20px; }
.ma-row { display:grid; grid-template-columns:45px repeat(5,1fr); align-items:center; min-height:38px; border-bottom:1px solid var(--hairline-soft); }
.ma-row b { font-family:var(--mono); font-size:7px; letter-spacing:.14em; font-weight:400; color:rgba(21,19,24,.33); }
.ma-row span { position:relative; height:100%; border-left:1px solid rgba(21,19,24,.08); }
.ma-row span::before { content:""; position:absolute; left:18%; right:18%; top:50%; height:1px; background:rgba(21,19,24,.10); }
.ma-row span.active::before { background:rgba(52,36,61,.52); }
.ma-row span.active::after { content:""; position:absolute; left:48%; top:calc(50% - 4px); width:7px; height:7px; transform:rotate(45deg); border:1px solid rgba(52,36,61,.60); background:var(--paper); }
.ma-row.strong span.active::before { height:2px; background:rgba(52,36,61,.72); }

.technical-plate { margin:68px 0 0; width:100%; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); }
.technical-plate figcaption { display:flex; justify-content:space-between; align-items:center; min-height:46px; font-family:var(--mono); text-transform:uppercase; letter-spacing:.17em; font-size:7.5px; color:rgba(21,19,24,.40); border-bottom:1px solid var(--hairline-soft); }
.technical-plate figcaption button { border:0; background:transparent; padding:12px 0 12px 18px; font-family:inherit; text-transform:inherit; letter-spacing:inherit; font-size:inherit; color:rgba(21,19,24,.48); cursor:pointer; }
.technical-plate figcaption button:hover { color:var(--ink); }
.technical-plate svg { width:100%; height:auto; display:block; min-height:460px; }
.plate-readout { min-height:40px; display:flex; align-items:center; justify-content:flex-end; gap:30px; border-top:1px solid var(--hairline-soft); color:rgba(21,19,24,.40); }
.plate-readout b { color:var(--ink); font-weight:500; }

.plate-grid line { stroke:rgba(21,19,24,.045); stroke-width:.65; }
.spectral-contour { fill:none; stroke:rgba(87,69,103,.18); stroke-width:1; }
.spectral-contour[data-level="1"] { stroke-dasharray:2 5; }
.spectral-contour[data-level="2"] { stroke:rgba(84,105,119,.19); }
.spectral-contour[data-level="3"] { stroke:rgba(128,79,101,.18); stroke-dasharray:7 5; }
.spectral-edge { fill:none; stroke:rgba(52,36,61,var(--edge-alpha)); stroke-width:var(--edge-width); vector-effect:non-scaling-stroke; }
.spectral-tick { stroke:rgba(52,36,61,.38); stroke-width:.8; }
.spectral-node { fill:rgba(242,240,234,.88); stroke-width:1.15; }
.spectral-node.supply { stroke:rgba(43,31,48,.82); }
.spectral-node.demand { stroke:rgba(101,79,142,.86); }
.node-axis { stroke:rgba(52,36,61,.35); stroke-width:.7; }
.node-id,.plate-axis-label,.matrix-label { font-family:var(--mono); font-size:8px; letter-spacing:.12em; fill:rgba(21,19,24,.43); }
.matrix-label.top { text-anchor:middle; }
.matrix-cell { fill:rgba(52,36,61,var(--cost-alpha)); stroke:rgba(21,19,24,.08); stroke-width:.55; }
.matrix-cell.active { fill:rgba(100,65,91,var(--flow-alpha)); stroke:rgba(76,45,66,.56); }
.matrix-flow-mark { stroke:rgba(242,240,234,.92); stroke-width:1.1; }

.state-rail { margin-top:58px; display:grid; grid-template-columns:repeat(6,1fr); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); }
.state-rail div { padding:18px 15px 22px 0; min-height:86px; }
.state-rail div + div { border-left:1px solid var(--hairline); padding-left:15px; }
.state-rail span { display:block; margin-bottom:22px; font-family:var(--mono); font-size:7px; letter-spacing:.16em; color:rgba(21,19,24,.34); }
.state-rail strong { font-size:13px; font-weight:470; }

.team-directory { padding:0 var(--page-pad) clamp(120px,10vw,170px); background:var(--paper); border-bottom:1px solid var(--hairline); }
.team-directory-inner { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--hairline); }
.leader { min-height:330px; padding:44px 54px 54px 0; }
.leader + .leader { border-left:1px solid var(--hairline); padding-left:54px; }
.role { color:rgba(21,19,24,.37); }
.leader h2 { margin:40px 0 42px; font-size:clamp(38px,3vw,50px); line-height:1; letter-spacing:-.045em; font-weight:400; }
.affiliations { display:flex; flex-wrap:wrap; gap:10px 22px; color:rgba(21,19,24,.52); font-family:var(--mono); text-transform:uppercase; letter-spacing:.14em; font-size:8px; line-height:1.6; }
.affiliations span { white-space:nowrap; }
.team-distinction { grid-column:1 / -1; display:grid; grid-template-columns:230px minmax(0,1fr); gap:40px; align-items:start; padding:42px 0 44px; border-top:1px solid var(--hairline); }
.team-distinction .figure-label { color:rgba(21,19,24,.35); padding-top:5px; }
.team-distinction p { margin:0; max-width:930px; color:rgba(21,19,24,.76); font-size:clamp(17px,1.32vw,22px); line-height:1.52; letter-spacing:-.018em; }
.team-provenance { grid-column:1 / -1; display:grid; grid-template-columns:230px minmax(0,1fr); gap:40px; align-items:center; min-height:112px; border-top:1px solid var(--hairline); }
.team-provenance .figure-label { color:rgba(21,19,24,.35); }
.team-provenance p { margin:0; }
.provenance-list { display:flex; flex-wrap:wrap; align-items:center; column-gap:0; row-gap:8px; font-size:15px; letter-spacing:.005em; }
.provenance-list span { display:inline-flex; align-items:center; white-space:nowrap; }
.provenance-list span:not(:last-child)::after { content:"/"; margin:0 11px; color:rgba(21,19,24,.24); }

.footer { position:relative; z-index:4; padding:72px var(--page-pad) 36px; background:#171419; color:#f0eee8; border-top:1px solid rgba(255,255,255,.12); }
.footer-inner { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:1fr auto; gap:60px; align-items:end; }
.footer-brand img { display:block; max-height:36px; max-width:140px; width:auto; height:auto; filter:brightness(0) invert(1); opacity:.90; }
.footer-brand p { margin:20px 0 0; color:rgba(240,238,232,.46); font-size:10px; line-height:1.6; }
.footer-meta { text-align:right; color:rgba(240,238,232,.48); font-size:10px; line-height:1.9; }
.footer-meta a { color:inherit; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.16); }

.research-view {
  position:fixed;
  inset:var(--header-h) 0 0;
  z-index:70;
  transform:translateY(102%);
  transition:transform .52s cubic-bezier(.2,.72,.18,1);
  color:#eee9f0;
  overflow:hidden;
  pointer-events:none;
}
.research-view.active { transform:translateY(0); pointer-events:auto; }
.atlas-shell { height:100%; display:grid; grid-template-rows:52px minmax(0,1fr) 38px; }
.atlas-header { display:flex; align-items:center; justify-content:space-between; padding:0 var(--page-pad); border-bottom:1px solid rgba(255,255,255,.13); background:rgba(13,11,15,.50); backdrop-filter:blur(14px); }
.atlas-id { color:rgba(238,233,240,.52); }
.research-close { border:0; background:transparent; color:rgba(238,233,240,.60); font-family:var(--mono); text-transform:uppercase; letter-spacing:.17em; font-size:8px; cursor:pointer; padding:12px 0 12px 18px; }
.research-close:hover { color:#fff; }
.atlas-body { min-height:0; display:grid; grid-template-columns:minmax(0,1.7fr) minmax(340px,.58fr); }
.atlas-stage { position:relative; min-height:0; border-right:1px solid rgba(255,255,255,.13); }
.atlas-stage .scene-hitbox { position:absolute; inset:0; pointer-events:auto; cursor:grab; }
.atlas-stage .scene-hitbox:active { cursor:grabbing; }
.atlas-scale { position:absolute; left:var(--page-pad); right:42px; bottom:26px; display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center; font-family:var(--mono); text-transform:uppercase; letter-spacing:.16em; font-size:7px; color:rgba(238,233,240,.34); pointer-events:none; }
.atlas-scale i { height:1px; background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(190,158,210,.50),rgba(255,255,255,.12)); }
.atlas-sidebar { min-height:0; overflow:auto; padding:0 30px 28px; background:rgba(15,12,17,.60); backdrop-filter:blur(18px); }
.atlas-tabs { position:sticky; top:0; z-index:3; display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid rgba(255,255,255,.13); background:rgba(15,12,17,.90); }
.model-tab { border:0; border-bottom:1px solid transparent; background:transparent; padding:18px 4px 15px; color:rgba(238,233,240,.40); font-family:var(--mono); text-transform:uppercase; letter-spacing:.13em; font-size:7.5px; cursor:pointer; }
.model-tab span { display:block; margin-bottom:6px; font-size:6px; opacity:.55; }
.model-tab.active { color:#f3eff5; border-bottom-color:rgba(208,177,222,.75); }
.model-panel { display:none; padding:34px 0 16px; }
.model-panel.active { display:block; }
.atlas-label { color:rgba(238,233,240,.48); margin-bottom:20px; }
.atlas-reading { margin:0; max-width:390px; color:rgba(238,233,240,.66); font-size:12px; line-height:1.62; }
.atlas-equation { margin-top:34px; padding:24px 0 26px; border-top:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); }
.atlas-equation .math { font-family:var(--serif); color:#f3eef5; font-size:clamp(21px,1.7vw,30px); line-height:1.35; letter-spacing:-.01em; overflow-wrap:anywhere; }
.atlas-equation .math.secondary { margin-top:13px; color:rgba(243,238,245,.76); font-size:clamp(18px,1.45vw,25px); }
.atlas-metrics { margin:28px 0 0; border-top:1px solid rgba(255,255,255,.12); }
.atlas-metrics div { display:grid; grid-template-columns:1fr auto; gap:20px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.atlas-metrics dt { color:rgba(238,233,240,.45); font-size:10.5px; }
.atlas-metrics dd { margin:0; color:rgba(238,233,240,.88); font-family:var(--mono); font-size:9px; }

.atlas-footnote { display:flex; align-items:center; padding:0 var(--page-pad); border-top:1px solid rgba(255,255,255,.12); background:rgba(13,11,15,.54); color:rgba(238,233,240,.34); font-size:9px; line-height:1.4; }
body.model-open { background:#0d0b0f; color:#eee9f0; }
body.model-open::after { opacity:.12; }
body.model-open .scene-fade { opacity:0 !important; }
body.model-open #page-root { opacity:0; pointer-events:none; }
body.model-open .site-header { color:#eee9f0; background:rgba(13,11,15,.66); border-color:rgba(255,255,255,.12); }
body.model-open .site-header nav a { opacity:.36; }
body.model-open .brand img { filter:none; }

.route-transition { position:fixed; inset:var(--header-h) 0 0; z-index:65; pointer-events:none; background:var(--paper); opacity:0; }
.route-transition.flash { animation:route-fade .48s ease both; }
@keyframes route-fade { 0%{opacity:0} 42%{opacity:.70} 100%{opacity:0} }

.content-band,.leader,.technical-plate,.memory-architecture,.memory-plate,.method-index,.state-rail,.team-directory { opacity:0; transform:translateY(8px); transition:opacity .62s ease,transform .62s ease; }
.content-band.revealed,.leader.revealed,.technical-plate.revealed,.memory-architecture.revealed,.memory-plate.revealed,.method-index.revealed,.state-rail.revealed,.team-directory.revealed { opacity:1; transform:none; }

@media (max-width:1120px) {
  .hero { grid-template-columns:1fr .95fr; }
  .hero h1 { font-size:clamp(50px,5.3vw,66px); }
  .band-grid { grid-template-columns:100px 1fr; gap:46px; }
  .state-rail { grid-template-columns:repeat(3,1fr); }
  .state-rail div:nth-child(4) { border-left:0; }
  .atlas-body { grid-template-columns:1fr 390px; }
}

@media (max-width:840px) {
  :root { --header-h:64px; }
  .site-header { grid-template-columns:1fr auto; }
  .site-header nav { display:none; }
  .header-spacer { display:none; }
  .brand img { max-width:96px; max-height:28px; height:26px; }
  .hero { min-height:auto; grid-template-columns:1fr; padding-top:calc(var(--header-h) + 70px); }
  .hero-copy { max-width:100%; }
  .hero h1 { font-size:clamp(46px,9.5vw,62px); }
  .hero-side { min-height:480px; }
  .content-band.field-band { background:linear-gradient(180deg,rgba(242,240,234,.98) 0 58%,rgba(242,240,234,.58) 76%,rgba(242,240,234,.08) 100%); }
  .band-grid { grid-template-columns:1fr; gap:24px; }
  .section-index { padding:0; }
  .section-copy h2 { font-size:clamp(36px,7.8vw,50px); }
  .state-sequence { overflow:auto; padding-bottom:18px; }
  .state-sequence i { min-width:44px; }
  .method-index > div { grid-template-columns:34px 160px 1fr; gap:16px; }
  .page-intro { min-height:auto; padding-top:calc(var(--header-h) + 90px); padding-bottom:86px; }
  .page-intro h1 { font-size:clamp(44px,9vw,60px); }
  .technical-plate svg { min-height:360px; }
  .state-rail { grid-template-columns:repeat(2,1fr); }
  .state-rail div:nth-child(3),.state-rail div:nth-child(5) { border-left:0; }
  .team-directory-inner { grid-template-columns:1fr; }
  .leader + .leader { border-left:0; border-top:1px solid var(--hairline); padding-left:0; }
  .team-distinction { grid-template-columns:1fr; gap:14px; padding:30px 0 34px; }
  .team-distinction .figure-label { padding-top:0; }
  .team-distinction p { max-width:720px; }
  .team-provenance { grid-template-columns:1fr; gap:12px; padding:26px 0; }
  .footer-inner { grid-template-columns:1fr; }
  .footer-meta { text-align:left; }
  .atlas-body { grid-template-columns:1fr; overflow:auto; }
  .atlas-stage { min-height:52vh; border-right:0; border-bottom:1px solid rgba(255,255,255,.13); }
  .atlas-sidebar { overflow:visible; }
  .research-view { overflow:auto; }
}

@media (max-width:560px) {
  .hero h1 { font-size:clamp(43px,12vw,56px); }
  .hero p.lede { font-size:15.5px; }
  .hero-side { min-height:410px; }
  .model-caption { width:270px; }
  .section-copy h2 { font-size:clamp(34px,9.8vw,46px); }
  .statement { font-size:clamp(27px,8.6vw,38px); }
  .method-index > div { grid-template-columns:28px 1fr; }
  .method-index small { grid-column:2; }
  .state-rail { grid-template-columns:1fr; }
  .state-rail div + div { border-left:0; }
  .technical-plate figcaption { align-items:flex-start; gap:14px; padding:12px 0; }
  .technical-plate figcaption button { padding:0; }
  .technical-plate svg { min-height:300px; }
  .plate-readout { justify-content:flex-start; flex-wrap:wrap; gap:14px 22px; }
  .leader { padding-right:0; min-height:280px; }
  .leader h2 { margin-top:28px; }
  .affiliations { gap:8px 14px; }
}

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

#market-canvas {
  opacity: 0;
  transition: opacity .34s cubic-bezier(.2,.68,.22,1);
}
.scene-fade {
  opacity: 0;
  background: linear-gradient(90deg, rgba(242,240,234,1) 0 31%, rgba(242,240,234,.94) 42%, rgba(242,240,234,.34) 57%, rgba(242,240,234,.035) 75%, transparent 100%);
}
body[data-scene="market"] #market-canvas,
body.model-open #market-canvas { opacity: 1; }
body[data-scene="market"] .scene-fade { opacity: 1; }
body.model-open .scene-fade { opacity: 0 !important; }

.content-band,
.content-band.field-band,
.content-band.field-band.clear,
.content-band.clear,
.system-band,
.page-intro,
.thesis-intro,
.system-intro,
.team-intro {
  background: var(--paper);
}
.content-band.cool { background: #ebe9e8; }
.content-band.warm { background: #ece6dc; }
.content-band.dark { background: #18151b; }
.page-intro.intro-field { background: var(--paper); }

.page-intro { min-height: 52vh; }
.page-intro h1 { font-size: clamp(46px,3.75vw,64px); max-width: 860px; line-height: 1.035; }
.section-copy h2 { font-size: clamp(37px,3vw,51px); line-height: 1.055; max-width: 820px; }
.section-copy > p,.prose { max-width: 760px; }
.content-band { padding-top: clamp(108px,8.8vw,148px); padding-bottom: clamp(108px,8.8vw,148px); }
.thesis-intro { min-height: 54vh; }

.persistence-plate,
.channel-plate { max-width: 1040px; }
.persistence-plate svg,
.channel-plate svg { min-height: 360px; }

.persistence-grid line {
  stroke: rgba(21,19,24,.055);
  stroke-width: .7;
  vector-effect: non-scaling-stroke;
}
.persistence-axis-label,
.persistence-axis-title,
.persistence-rel-label,
.channel-row-label,
.channel-axis-title {
  font-family: var(--mono);
  font-size: 7.5px;
  letter-spacing: .13em;
  fill: rgba(21,19,24,.38);
}
.persistence-axis-label { text-anchor: middle; }
.persistence-axis-title,.channel-axis-title { text-anchor: end; }
.persistence-trace {
  fill: none;
  stroke: rgba(52,36,61,var(--trace-alpha));
  stroke-width: var(--trace-width);
  vector-effect: non-scaling-stroke;
}
.persistence-impulse {
  stroke: rgba(118,99,155,.23);
  stroke-width: .72;
  vector-effect: non-scaling-stroke;
}
.persistence-event {
  fill: var(--paper);
  stroke: rgba(52,36,61,.70);
  stroke-width: .8;
  vector-effect: non-scaling-stroke;
}
.persistence-terminal {
  stroke: rgba(52,36,61,.28);
  stroke-width: .65;
  vector-effect: non-scaling-stroke;
}

.channel-grid line {
  stroke: rgba(21,19,24,.045);
  stroke-width: .65;
  vector-effect: non-scaling-stroke;
}
.channel-baseline {
  stroke: rgba(21,19,24,.12);
  stroke-width: .7;
  vector-effect: non-scaling-stroke;
}
.channel-fragment {
  fill: none;
  stroke: rgba(52,36,61,var(--channel-alpha));
  stroke-width: 1.15;
  vector-effect: non-scaling-stroke;
}
.channel-event {
  fill: var(--paper);
  stroke: rgba(118,99,155,.72);
  stroke-width: .85;
  vector-effect: non-scaling-stroke;
}
.channel-tick,
.channel-break {
  stroke: rgba(52,36,61,.42);
  stroke-width: .8;
  vector-effect: non-scaling-stroke;
}
.channel-row-label {
  fill: rgba(21,19,24,.43);
  font-size: 7.1px;
  letter-spacing: .17em;
}

.thesis-band .technical-plate { margin-top: 74px; }
.thesis-band .technical-plate figcaption { color: rgba(21,19,24,.36); }

.technical-plate figcaption::before {
  content: "";
  width: 5px;
  height: 5px;
  margin-right: 11px;
  display: inline-block;
  border: 1px solid rgba(52,36,61,.34);
  transform: rotate(45deg);
  vertical-align: middle;
}
.technical-plate figcaption > span:first-child { margin-right: auto; }

.team-intro { min-height: 32vh; padding-bottom: 48px; }
.team-intro h1 { font-size: clamp(42px,3.25vw,56px); }
.leader { min-height: 300px; }
.leader h2 { font-size: clamp(36px,2.7vw,46px); }

@media (max-width:840px) {
  .persistence-plate svg,.channel-plate svg { min-height: 310px; }
  .content-band { padding-top: 92px; padding-bottom: 92px; }
}

body[data-route="home"] {
  --market-opacity: 1;
  --market-edge-fade-opacity: 1;
}
#market-canvas {
  opacity: var(--market-opacity, 0);
  transition: none;
  will-change: opacity, transform, filter;
  transform-origin: 71% 48%;
}
.scene-fade {
  opacity: var(--market-edge-fade-opacity, 0);
  transition: none;
  will-change: opacity;
}
body:not([data-route="home"]):not(.model-open) #market-canvas,
body:not([data-route="home"]):not(.model-open) .scene-fade {
  opacity: 0 !important;
}
body.model-open #market-canvas {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}
body.model-open .scene-fade { opacity: 0 !important; }

.hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: -1px;
  height: clamp(120px, 17vh, 205px);
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(242,240,234,0), rgba(242,240,234,.10) 30%, rgba(242,240,234,.46) 62%, rgba(242,240,234,.82) 82%, var(--paper) 100%);
}
.hero-copy,.hero-side { position: relative; z-index: 3; }

.model-caption {
  padding-bottom: 4px;
  transition: color .2s ease, border-color .2s ease;
}
.model-caption::after {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  width: 0;
  height: 1px;
  background: var(--ink);
  transition: width .42s cubic-bezier(.2,.72,.18,1);
}
.model-caption:hover::after,
.model-caption:focus-visible::after { width: 100%; }
.model-caption:focus-visible { outline: none; }
.caption-action {
  margin-top: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--mono);
  font-size: 7px;
  font-weight: 500;
  letter-spacing: .17em;
  text-transform: uppercase;
  color: rgba(21,19,24,.42);
}
.caption-action i {
  display: block;
  width: 28px;
  height: 1px;
  background: rgba(21,19,24,.26);
  position: relative;
  transition: width .32s ease, background .2s ease;
}
.caption-action i::after {
  content: "";
  position: absolute;
  right: 0;
  top: -2px;
  width: 5px;
  height: 5px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
  color: rgba(21,19,24,.35);
}
.model-caption:hover .caption-action { color: rgba(21,19,24,.72); }
.model-caption:hover .caption-action i { width: 38px; background: rgba(21,19,24,.48); }

.figure-method-note {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 0 0;
  color: rgba(21,19,24,.38);
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: .12em;
  text-transform: uppercase;
  line-height: 1.5;
}
.channel-clock-label {
  font-family: var(--mono);
  font-size: 6.4px;
  letter-spacing: .12em;
  fill: rgba(21,19,24,.18);
  text-anchor: end;
}
.channel-row-motion {
  will-change: transform;
}
.channel-plate figcaption span:last-child {
  color: rgba(21,19,24,.34);
}

.page-intro-inner,
.band-inner {
  max-width: 1480px;
}
.page-intro h1 { letter-spacing: -.047em; }
.section-copy h2 { letter-spacing: -.043em; }

@media (max-width:840px) {
  .figure-method-note { flex-direction: column; gap: 4px; }
  .hero::after { height: 120px; }
}

.memory-kernel-plate { max-width: 1120px; }
.memory-kernel-plate svg { min-height: 480px; }

.memory-spectrum-rule {
  stroke: rgba(21,19,24,.042);
  stroke-width: .72;
  vector-effect: non-scaling-stroke;
}
.memory-spectrum-time {
  stroke: rgba(21,19,24,.032);
  stroke-width: .68;
  vector-effect: non-scaling-stroke;
}
.memory-spectrum-ylabel,
.memory-spectrum-xlabel,
.memory-spectrum-axis-title,
.memory-spectrum-relation {
  font-family: var(--mono);
  fill: rgba(21,19,24,.30);
}
.memory-spectrum-ylabel,
.memory-spectrum-xlabel {
  font-size: 6.5px;
  letter-spacing: .12em;
}
.memory-spectrum-ylabel { text-anchor:end; }
.memory-spectrum-xlabel { text-anchor:middle; }
.memory-spectrum-axis-title {
  font-size: 6.7px;
  letter-spacing: .15em;
}
.memory-spectrum-axis-title.end { text-anchor:end; }
.memory-spectrum-relation {
  font-size: 6.4px;
  letter-spacing: .15em;
  text-anchor:end;
  fill: rgba(52,36,61,.34);
}
.memory-spectrum-trace {
  fill:none;
  stroke: rgba(52,36,61,var(--trace-alpha));
  stroke-width: var(--trace-width);
  vector-effect: non-scaling-stroke;
}
.memory-spectrum-marker {
  fill: rgba(242,240,234,.96);
  stroke: rgba(52,36,61,var(--marker-alpha));
  stroke-width:.78;
  vector-effect:non-scaling-stroke;
}
.memory-spectrum-notch {
  stroke: rgba(52,36,61,.16);
  stroke-width:.72;
  vector-effect:non-scaling-stroke;
}
.memory-spectrum-current {
  stroke: rgba(52,36,61,.24);
  stroke-width: .95;
  vector-effect:non-scaling-stroke;
}
.memory-spectrum-current-tick {
  stroke: rgba(52,36,61,.20);
  stroke-width:.8;
  vector-effect:non-scaling-stroke;
}

.scene-fade {
  background: linear-gradient(90deg,
    rgba(242,240,234,1) 0 28%,
    rgba(242,240,234,.90) 36%,
    rgba(242,240,234,.32) 46%,
    rgba(242,240,234,.08) 56%,
    rgba(242,240,234,.012) 66%,
    transparent 76%);
}

body[data-route="home"] #market-canvas { visibility: visible; }

@media (max-width:840px) {
  .memory-kernel-plate svg { min-height: 390px; }
}

body[data-route="home"] #market-canvas {
  filter: saturate(1.03);
}

.scene-fade {
  background: linear-gradient(90deg,
    rgba(242,240,234,1) 0 26%,
    rgba(242,240,234,.84) 34%,
    rgba(242,240,234,.20) 43%,
    rgba(242,240,234,.045) 53%,
    rgba(242,240,234,.006) 63%,
    transparent 74%);
}
.hero::after {
  height: clamp(128px, 18vh, 214px);
  background: linear-gradient(to bottom,
    rgba(242,240,234,0),
    rgba(242,240,234,.06) 28%,
    rgba(242,240,234,.28) 56%,
    rgba(242,240,234,.68) 80%,
    var(--paper) 100%);
}
body[data-route="home"] #market-canvas {
  filter: saturate(1.06) contrast(1.015);
}

.scene-fade {
  background: linear-gradient(90deg,
    rgba(242,240,234,1) 0 25%,
    rgba(242,240,234,.76) 32%,
    rgba(242,240,234,.12) 41%,
    rgba(242,240,234,.018) 50%,
    rgba(242,240,234,.002) 60%,
    transparent 72%);
}
body[data-route="home"] #market-canvas {
  filter: saturate(1.12) contrast(1.08) brightness(.988);
}
.hero::after {
  background: linear-gradient(to bottom,
    rgba(242,240,234,0),
    rgba(242,240,234,.045) 30%,
    rgba(242,240,234,.18) 54%,
    rgba(242,240,234,.52) 76%,
    var(--paper) 100%);
}

body[data-route="home"] #market-canvas {
  filter: saturate(1.15) contrast(1.11) brightness(.992);
}
.scene-fade {
  background: linear-gradient(90deg,
    rgba(242,240,234,1) 0 24%,
    rgba(242,240,234,.88) 29%,
    rgba(242,240,234,.36) 36%,
    rgba(242,240,234,.08) 44%,
    rgba(242,240,234,.012) 54%,
    rgba(242,240,234,.001) 63%,
    transparent 72%);
}
.hero::after {
  background: linear-gradient(to bottom,
    rgba(242,240,234,0),
    rgba(242,240,234,.035) 28%,
    rgba(242,240,234,.15) 52%,
    rgba(242,240,234,.42) 75%,
    var(--paper) 100%);
}

body[data-route="home"] #market-canvas {
  filter: saturate(.94) contrast(.935) brightness(1.038);
}

.scene-fade {
  background: linear-gradient(90deg,
    rgba(242,240,234,1) 0 24%,
    rgba(242,240,234,.88) 29%,
    rgba(242,240,234,.31) 36%,
    rgba(242,240,234,.062) 44%,
    rgba(242,240,234,.009) 53%,
    rgba(242,240,234,.001) 62%,
    transparent 71%);
}

.model-caption {
  display: block;
}
.model-caption b {
  margin-bottom: 0;
}
.model-caption > span {
  display: block;
  margin: 0;
  max-width: 265px;
}
.caption-action {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 13px;
}

.figure-method-note {
  padding: 28px 0 8px;
}

.atlas-shortcut {
  display:block;
  margin-top:9px;
  font-family:var(--mono);
  font-size:7px;
  font-weight:500;
  line-height:1.18;
  letter-spacing:.17em;
  color:rgba(21,19,24,.31);
  text-transform:uppercase;
  opacity:.92;
  transition:color .2s ease, opacity .2s ease;
}
.model-caption:hover .atlas-shortcut,
.model-caption:focus-visible .atlas-shortcut {
  color:rgba(21,19,24,.40);
  opacity:1;
}

.figure-scroll { width:100%; }
.mobile-menu-toggle,
.mobile-navigation { display:none; }

@media (max-width:840px) {
  :root {
    --header-h:62px;
    --page-pad:clamp(20px,5.6vw,28px);
  }

  body::after {
    opacity:.30;
    background:linear-gradient(rgba(21,19,24,.013) 1px,transparent 1px);
    background-size:100% 132px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.62),rgba(0,0,0,.14) 82%,transparent);
  }

  .site-header {
    grid-template-columns:1fr auto;
    height:var(--header-h);
    padding:0 var(--page-pad);
    background:rgba(242,240,234,.86);
    backdrop-filter:blur(18px) saturate(.78);
  }
  .site-header nav,
  .header-spacer { display:none; }
  .brand img {
    width:auto;
    height:25px;
    max-width:94px;
    max-height:27px;
  }
  .mobile-menu-toggle {
    justify-self:end;
    display:inline-flex;
    align-items:center;
    gap:11px;
    height:var(--header-h);
    padding:0;
    border:0;
    background:transparent;
    color:rgba(21,19,24,.62);
    font-family:var(--mono);
    font-size:7.5px;
    font-weight:500;
    letter-spacing:.18em;
    text-transform:uppercase;
    cursor:pointer;
  }
  .mobile-menu-toggle i {
    position:relative;
    display:block;
    width:17px;
    height:10px;
  }
  .mobile-menu-toggle i::before,
  .mobile-menu-toggle i::after {
    content:"";
    position:absolute;
    left:0;
    width:17px;
    height:1px;
    background:currentColor;
    transform-origin:center;
    transition:transform .28s ease,top .28s ease;
  }
  .mobile-menu-toggle i::before { top:2px; }
  .mobile-menu-toggle i::after { top:8px; }
  body.mobile-menu-open .mobile-menu-toggle i::before { top:5px; transform:rotate(45deg); }
  body.mobile-menu-open .mobile-menu-toggle i::after { top:5px; transform:rotate(-45deg); }
  body.mobile-menu-open .mobile-menu-toggle span { opacity:.48; }

  .mobile-navigation {
    position:fixed;
    z-index:79;
    inset:var(--header-h) 0 0;
    display:grid;
    grid-template-rows:auto 1fr;
    padding:clamp(34px,8vh,62px) var(--page-pad) calc(28px + env(safe-area-inset-bottom));
    background:rgba(242,240,234,.985);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-5px);
    transition:opacity .24s ease,transform .32s cubic-bezier(.2,.72,.18,1),visibility .24s linear;
  }
  body.mobile-menu-open .mobile-navigation {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  body.mobile-menu-open { overflow:hidden; }
  .mobile-navigation nav {
    align-self:start;
    border-top:1px solid var(--hairline);
  }
  .mobile-navigation nav a {
    display:flex;
    align-items:center;
    min-height:70px;
    padding:17px 0 16px;
    border-bottom:1px solid var(--hairline);
    color:rgba(21,19,24,.68);
    font-size:clamp(29px,8.6vw,38px);
    line-height:1;
    letter-spacing:-.04em;
    font-weight:400;
    text-decoration:none;
  }
  .mobile-navigation nav a[aria-current="page"] { color:var(--ink); }
  .mobile-app-link {
    align-self:end;
    display:inline-flex;
    align-items:center;
    gap:6px;
    width:100%;
    padding-top:20px;
    border-top:1px solid var(--hairline);
    color:rgba(21,19,24,.64);
    font-family:var(--mono);
    font-size:8px;
    font-weight:500;
    letter-spacing:.16em;
    text-transform:uppercase;
    text-decoration:none;
  }
  .mobile-app-link span { font-size:10px; }

  .research-view { display:none !important; }
  .hero .scene-hitbox { display:none; }
  .model-caption {
    width:min(100%,320px);
    margin:0 0 18px;
    padding:11px 0 3px;
    cursor:default;
    pointer-events:none;
  }
  .model-caption::after,
  .caption-action,
  .atlas-shortcut { display:none; }
  .model-caption b { margin-bottom:4px; }
  .model-caption > span { max-width:280px; }

  .hero {
    display:block;
    min-height:100svh;
    max-width:none;
    padding:calc(var(--header-h) + 54px) var(--page-pad) 34px;
  }
  .hero-copy { max-width:600px; }
  .hero .kicker { margin-bottom:24px; }
  .hero h1 {
    max-width:560px;
    font-size:clamp(42px,10.9vw,54px);
    line-height:1.01;
    letter-spacing:-.052em;
  }
  .hero p.lede {
    margin-top:24px;
    max-width:510px;
    font-size:15.5px;
    line-height:1.58;
  }
  .hero-side {
    height:clamp(315px,42svh,390px);
    min-height:0;
    align-items:flex-end;
    justify-content:flex-start;
  }
  body[data-route="home"] .scene-fade {
    background:linear-gradient(180deg,
      rgba(242,240,234,1) 0 40%,
      rgba(242,240,234,.96) 49%,
      rgba(242,240,234,.70) 58%,
      rgba(242,240,234,.24) 69%,
      rgba(242,240,234,.035) 80%,
      transparent 90%);
  }
  #market-canvas { transform-origin:50% 70%; }
  .hero::after {
    height:105px;
    background:linear-gradient(to bottom,rgba(242,240,234,0),rgba(242,240,234,.08) 32%,rgba(242,240,234,.48) 72%,var(--paper) 100%);
  }

  .page-intro {
    min-height:auto;
    padding:calc(var(--header-h) + 70px) var(--page-pad) 72px;
  }
  .page-intro .kicker { margin-bottom:24px; }
  .page-intro h1 {
    max-width:620px;
    font-size:clamp(41px,9.7vw,52px);
    line-height:1.02;
    letter-spacing:-.049em;
  }
  .page-intro p {
    margin-top:24px;
    max-width:600px;
    font-size:15.5px;
    line-height:1.62;
  }
  .team-intro {
    min-height:auto;
    padding-bottom:60px;
  }
  .team-intro h1 { font-size:clamp(41px,9.7vw,50px); }

  .content-band,
  .content-band.minimal-band {
    padding:82px var(--page-pad);
  }
  .band-inner,
  .band-grid,
  .section-copy,
  .technical-plate,
  .figure-scroll {
    min-width:0;
    max-width:100%;
  }
  .band-grid {
    grid-template-columns:1fr;
    gap:19px;
  }
  .section-index {
    padding:0;
    margin-bottom:4px;
  }
  .section-copy,
  .section-copy.narrow-copy,
  .section-copy.wide-copy { max-width:100%; }
  .section-copy h2 {
    margin-bottom:22px;
    max-width:620px;
    font-size:clamp(35px,8.9vw,46px);
    line-height:1.055;
    letter-spacing:-.043em;
  }
  .section-copy > p,
  .prose {
    max-width:600px;
    font-size:15.5px;
    line-height:1.64;
  }
  .statement {
    max-width:640px;
    font-size:clamp(26px,7.2vw,32px);
    line-height:1.27;
    letter-spacing:-.025em;
  }

  .state-sequence {
    width:100%;
    margin-top:42px;
    padding:18px 0;
    overflow:visible;
    flex-direction:column;
    align-items:flex-start;
    font-size:7.5px;
  }
  .state-sequence i {
    flex:none;
    width:1px;
    height:22px;
    min-width:0;
    margin:7px 0 7px 3px;
    background:linear-gradient(180deg,var(--hairline),rgba(52,36,61,.44),var(--hairline));
  }
  .state-sequence i::after {
    right:-2px;
    top:auto;
    bottom:-2px;
  }

  .technical-plate,
  .thesis-band .technical-plate {
    margin-top:50px;
  }
  .technical-plate figcaption {
    position:relative;
    display:grid;
    grid-template-columns:1fr;
    gap:4px;
    min-height:0;
    padding:12px 0 12px 16px;
    line-height:1.45;
  }
  .technical-plate figcaption::before {
    position:absolute;
    left:1px;
    top:17px;
    width:4px;
    height:4px;
    margin:0;
  }
  .technical-plate figcaption > span:first-child { margin:0; }
  .technical-plate figcaption > span:last-child { font-size:6.7px; opacity:.74; }
  .figure-scroll {
    width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .figure-scroll::-webkit-scrollbar { display:none; }
  .figure-scroll > svg,
  .technical-plate svg,
  .memory-kernel-plate svg,
  .persistence-plate svg,
  .channel-plate svg {
    display:block;
    width:clamp(620px,155vw,760px);
    max-width:none;
    min-height:0 !important;
    height:auto;
  }
  .persistence-axis-label,
  .persistence-axis-title,
  .persistence-rel-label,
  .channel-axis-title { font-size:11.5px; }
  .channel-row-label { font-size:11px; }
  .channel-clock-label { font-size:9.5px; }
  .memory-spectrum-ylabel,
  .memory-spectrum-xlabel { font-size:10px; }
  .memory-spectrum-axis-title { font-size:10.5px; }
  .memory-spectrum-relation { font-size:9.8px; }
  .node-id,
  .plate-axis-label,
  .matrix-label { font-size:11.5px; }
  .plate-readout {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:start;
    justify-content:initial;
    gap:10px;
    min-height:0;
    padding:13px 0 12px;
    line-height:1.5;
  }
  .plate-readout > span:last-child { text-align:right; }
  .figure-method-note {
    padding:20px 0 7px;
    gap:3px;
    line-height:1.55;
  }

  .method-index { margin-top:46px; }
  .method-index > div {
    grid-template-columns:34px 150px 1fr;
    gap:14px;
    padding:16px 0;
  }
  .method-index strong { font-size:14px; }
  .method-index small { font-size:11.5px; line-height:1.45; }

  .state-rail { margin-top:44px; }
  .state-rail div {
    min-height:68px;
    padding:14px 12px 16px 0;
  }
  .state-rail span { margin-bottom:15px; }

  .team-directory {
    padding:0 var(--page-pad) 92px;
  }
  .leader {
    min-height:0;
    padding:36px 0 42px;
  }
  .leader + .leader {
    padding-left:0;
    border-left:0;
    border-top:1px solid var(--hairline);
  }
  .leader h2 {
    margin:26px 0 30px;
    font-size:clamp(37px,9vw,46px);
  }
  .affiliations {
    display:grid;
    grid-template-columns:1fr;
    gap:5px;
    font-size:7.7px;
    line-height:1.6;
  }
  .affiliations span { white-space:normal; }
  .team-distinction {
    grid-template-columns:1fr;
    gap:13px;
    padding:30px 0 34px;
  }
  .team-distinction .figure-label { padding-top:0; }
  .team-distinction p {
    max-width:620px;
    font-size:16.5px;
    line-height:1.58;
    letter-spacing:-.015em;
  }
  .team-provenance {
    grid-template-columns:1fr;
    gap:15px;
    min-height:0;
    padding:27px 0 0;
  }
  .provenance-list {
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
    row-gap:0;
    font-size:12.5px;
    line-height:1.35;
  }
  .provenance-list span {
    display:block;
    min-width:0;
    padding:10px 8px 10px 0;
    border-top:1px solid var(--hairline-soft);
    white-space:normal;
  }
  .provenance-list span:nth-child(even) { padding-left:12px; border-left:1px solid var(--hairline-soft); }
  .provenance-list span:last-child { grid-column:1 / -1; border-left:0; padding-left:0; }
  .provenance-list span:not(:last-child)::after { display:none; }

  .footer {
    padding:54px var(--page-pad) calc(28px + env(safe-area-inset-bottom));
  }
  .footer-inner {
    grid-template-columns:1fr;
    gap:42px;
  }
  .footer-brand img {
    max-width:118px;
    max-height:31px;
  }
  .footer-brand p { margin-top:17px; }
  .footer-meta {
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.11);
    text-align:left;
    line-height:2.05;
  }
}

@media (max-width:560px) {
  :root { --page-pad:22px; }
  .hero { padding-top:calc(var(--header-h) + 48px); }
  .hero h1 { font-size:clamp(41px,11.4vw,48px); }
  .hero-side { height:clamp(300px,39svh,350px); }
  .page-intro { padding-top:calc(var(--header-h) + 62px); padding-bottom:64px; }
  .page-intro h1,
  .team-intro h1 { font-size:clamp(39px,10.8vw,46px); }
  .content-band,
  .content-band.minimal-band { padding-top:74px; padding-bottom:74px; }
  .section-copy h2 { font-size:clamp(34px,9.6vw,41px); }
  .statement { font-size:clamp(25px,7.6vw,29px); }
  .method-index > div {
    grid-template-columns:28px 1fr;
    gap:8px 12px;
  }
  .method-index small { grid-column:2; }
  .state-rail { grid-template-columns:1fr; }
  .state-rail div,
  .state-rail div + div {
    display:grid;
    grid-template-columns:36px 1fr;
    align-items:center;
    min-height:56px;
    padding:12px 0;
    border-left:0;
  }
  .state-rail span { margin:0; }
  .plate-readout { font-size:7.4px; letter-spacing:.13em; }
  .technical-plate figcaption { font-size:7px; }
  .mobile-navigation nav a { min-height:66px; }
}

@media (hover:none) and (pointer:coarse) {
  .research-view { display:none !important; }
  .hero .scene-hitbox { display:none; }
  .model-caption { pointer-events:none; cursor:default; }
  .model-caption::after,
  .caption-action,
  .atlas-shortcut { display:none; }
}
.model-caption:disabled { opacity:1; }

body[data-route="home"]:not(.model-open) #market-canvas,
body[data-route="home"]:not(.model-open) .scene-fade {
  opacity: 0 !important;
  visibility: hidden;
}


.hero-market-image {
  position:absolute;
  z-index:2;
  width:min(44vw,780px);
  aspect-ratio:4 / 3;
  top:50%;
  right:-1.5%;
  transform:translateY(-54%);
  pointer-events:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
  overflow:visible;
  opacity:.99;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 79%,rgba(0,0,0,.88) 87%,rgba(0,0,0,.22) 96%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 79%,rgba(0,0,0,.88) 87%,rgba(0,0,0,.22) 96%,transparent 100%);
  transition:opacity .24s ease,visibility .24s linear;
}
.hero-market-image::before {
  content:"";
  position:absolute;
  inset:0;
  background-image:url('/assets/market-atlas-hero.webp');
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 100%;
  pointer-events:none;
  transform-origin:56% 48%;
  will-change:transform,opacity,filter;
  animation:market-atlas-breathe 14s cubic-bezier(.45,.05,.55,.95) infinite;
}
body.model-open .hero-market-image {
  opacity:0;
  visibility:hidden;
}
@keyframes market-atlas-breathe {
  0%,100% {
    transform:translate3d(0,0,0) scale(.9985);
    opacity:.955;
    filter:saturate(.99) contrast(1.005);
  }
  50% {
    transform:translate3d(0,-1.5px,0) scale(1.0065);
    opacity:1;
    filter:saturate(1.035) contrast(1.018);
  }
}
@media (prefers-reduced-motion:reduce) {
  .hero-market-image::before { animation:none; }
}
@media (max-width:840px) {
  body[data-route="home"] .hero-market-image,
  body[data-route="home"] .model-caption { display:none !important; }
  body[data-route="home"] .hero-side {
    display:none;
    height:0;
    min-height:0;
  }
}
