:root {
  --ink: #0b0c0a;
  --ink-soft: #151713;
  --paper: #f3f1e8;
  --cream: #e9e2d0;
  --acid: #c8ff45;
  --blue: #6f81ff;
  --orange: #ff6b35;
  --line-dark: rgba(243, 241, 232, 0.2);
  --line-light: rgba(11, 12, 10, 0.18);
  --sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --serif: "DM Serif Display", Georgia, serif;
  --rail: 158px;
  --topbar: 60px;
  --ease: cubic-bezier(0.22, 0.78, 0.18, 1);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--topbar);
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}

body.menu-open {
  overflow: hidden;
}

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

a {
  color: inherit;
  text-decoration: none;
}

button,
input {
  color: inherit;
  font: inherit;
}

button {
  border: 0;
}

img,
canvas {
  display: block;
  max-width: 100%;
}

h1,
h2,
h3,
h4,
p {
  margin-top: 0;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 12px;
  left: 12px;
  padding: 10px 14px;
  transform: translateY(-150%);
  background: var(--acid);
  color: var(--ink);
  font-size: 0.75rem;
  font-weight: 700;
}

.skip-link:focus {
  transform: translateY(0);
}

.page-progress {
  position: fixed;
  z-index: 50;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: rgba(255, 255, 255, 0.08);
}

.page-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: 0 50%;
  background: var(--acid);
}

.topbar {
  position: fixed;
  z-index: 40;
  top: 0;
  right: 0;
  left: 0;
  display: grid;
  min-height: var(--topbar);
  padding: 0 18px;
  border-bottom: 1px solid rgba(243, 241, 232, 0.12);
  background: rgba(11, 12, 10, 0.73);
  backdrop-filter: blur(18px);
  grid-template-columns: var(--rail) 1fr auto;
  align-items: center;
  transition: background 250ms ease, border-color 250ms ease;
}

.topbar[data-scrolled] {
  background: rgba(11, 12, 10, 0.94);
  border-color: rgba(243, 241, 232, 0.22);
}

.brand {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 10px;
}

.brand-mark {
  display: grid;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--acid);
  color: var(--ink);
  place-items: center;
  font-size: 0.63rem;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.brand-copy {
  display: grid;
  gap: 1px;
}

.brand-copy strong {
  font-size: 0.69rem;
  font-weight: 700;
}

.brand-copy small {
  color: rgba(243, 241, 232, 0.5);
  font-size: 0.49rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.top-actions {
  grid-column: 3;
  display: flex;
  align-items: center;
  gap: 6px;
}

.top-actions a {
  display: inline-flex;
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid rgba(243, 241, 232, 0.22);
  border-radius: 999px;
  align-items: center;
  gap: 10px;
  font-size: 0.66rem;
  font-weight: 600;
  transition: border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.top-actions a:last-child {
  background: var(--paper);
  color: var(--ink);
}

.top-actions a:hover {
  border-color: var(--acid);
  background: var(--acid);
  color: var(--ink);
}

.menu-button {
  display: none;
  align-items: center;
  gap: 12px;
  padding: 0;
  background: transparent;
  cursor: pointer;
  font-size: 0.66rem;
  font-weight: 700;
  text-transform: uppercase;
}

.menu-button i {
  position: relative;
  width: 32px;
  height: 32px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.menu-button i::before,
.menu-button i::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1px;
  content: "";
  transform: translate(-50%, -3px);
  background: currentColor;
  transition: transform 220ms ease;
}

.menu-button i::after {
  transform: translate(-50%, 3px);
}

.menu-button[aria-expanded="true"] i::before {
  transform: translate(-50%, 0) rotate(45deg);
}

.menu-button[aria-expanded="true"] i::after {
  transform: translate(-50%, 0) rotate(-45deg);
}

.chapter-rail {
  position: fixed;
  z-index: 30;
  top: var(--topbar);
  bottom: 0;
  left: 0;
  display: grid;
  width: var(--rail);
  padding: 24px 18px 18px;
  border-right: 1px solid rgba(243, 241, 232, 0.16);
  background: rgba(11, 12, 10, 0.88);
  backdrop-filter: blur(16px);
  grid-template-rows: auto 1fr auto;
  transition: opacity 400ms ease, transform 500ms var(--ease);
}

body:not(.past-hero) .chapter-rail {
  pointer-events: none;
  transform: translateX(-100%);
  opacity: 0;
}

.rail-edition {
  display: grid;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line-dark);
  font-family: var(--serif);
  font-size: 1.04rem;
  line-height: 0.96;
}

.rail-edition em {
  color: var(--acid);
  font-style: italic;
}

.chapter-rail nav {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 3px;
}

.chapter-rail nav a {
  position: relative;
  display: flex;
  min-height: 42px;
  padding: 0 2px 0 12px;
  color: rgba(243, 241, 232, 0.48);
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 0.58rem;
  font-weight: 600;
  transition: color 180ms ease;
}

.chapter-rail nav a::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  content: "";
  transform: translateY(-50%) scale(0);
  background: var(--acid);
  transition: transform 180ms ease;
}

.chapter-rail nav a b {
  font-family: var(--serif);
  font-size: 0.69rem;
  font-weight: 400;
}

.chapter-rail nav a:hover,
.chapter-rail nav a.is-active {
  color: var(--paper);
}

.chapter-rail nav a.is-active::before {
  transform: translateY(-50%) scale(1);
}

.rail-footer {
  display: grid;
  padding-top: 18px;
  border-top: 1px solid var(--line-dark);
  color: rgba(243, 241, 232, 0.52);
  gap: 8px;
  font-size: 0.5rem;
  text-transform: uppercase;
}

.rail-footer a:hover {
  color: var(--acid);
}

.mobile-menu {
  position: fixed;
  z-index: 35;
  inset: var(--topbar) 0 0;
  display: none;
  visibility: hidden;
  padding: 34px 20px 26px;
  transform: translateY(-105%);
  background: var(--ink);
  opacity: 0;
  transition: transform 450ms var(--ease), opacity 240ms ease, visibility 0s 450ms;
}

.mobile-menu.is-open {
  visibility: visible;
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0s;
}

main,
.site-footer {
  transition: margin-left 500ms var(--ease);
}

body.past-hero main,
body.past-hero .site-footer {
  margin-left: var(--rail);
}

.pin-section {
  --progress: 0;
  position: relative;
  min-height: 190vh;
}

.pin-stage {
  position: sticky;
  top: 0;
  min-height: 100svh;
  overflow: hidden;
}

.hero {
  min-height: 220vh;
  background: var(--ink);
}

.hero-stage {
  display: grid;
  padding: calc(var(--topbar) + 28px) 24px 24px;
  grid-template-columns: minmax(0, 1.1fr) minmax(390px, 0.9fr);
  grid-template-rows: 1fr auto;
  column-gap: clamp(30px, 5vw, 90px);
}

.hero-noise {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, 0.16) 0.65px, transparent 0.65px);
  background-size: 6px 6px;
  opacity: 0.08;
  mask-image: linear-gradient(to bottom, black, transparent 85%);
}

.hero-copy {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  flex-direction: column;
  transform: translateY(calc(var(--progress) * -15vh));
  opacity: calc(1 - var(--progress) * 1.25);
}

.eyebrow,
.section-tag {
  margin-bottom: 24px;
  font-size: 0.59rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.hero h1 {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: clamp(5rem, 10.1vw, 10.8rem);
  font-weight: 500;
  letter-spacing: -0.088em;
  line-height: 0.73;
}

.hero h1 span {
  display: block;
  white-space: nowrap;
}

.hero h1 span:nth-child(2) {
  padding-left: 0.3em;
}

.hero h1 span:nth-child(3) {
  color: transparent;
  -webkit-text-stroke: 1px rgba(243, 241, 232, 0.72);
}

.hero h1 span:nth-child(4) {
  padding-left: 0.84em;
  font-family: var(--serif);
  font-style: italic;
  letter-spacing: -0.06em;
}

.hero h1 em {
  position: relative;
  display: inline-block;
  color: var(--acid);
  font-family: var(--serif);
  font-size: 1.07em;
  font-weight: 400;
}

.hero h1 em::after {
  position: absolute;
  right: -0.05em;
  bottom: -0.06em;
  left: -0.05em;
  height: 2px;
  content: "";
  transform: scaleX(calc(1 - var(--progress)));
  background: var(--acid);
  transform-origin: left;
}

.hero-intro {
  width: min(480px, 75%);
  margin: 34px 0 0 auto;
  color: rgba(243, 241, 232, 0.72);
  font-size: clamp(0.82rem, 1.2vw, 1rem);
  line-height: 1.65;
}

.hero-system {
  position: relative;
  z-index: 1;
  align-self: center;
  width: min(44vw, 610px);
  aspect-ratio: 1;
  justify-self: center;
  transform: translate3d(calc((var(--progress) * -1) * 5vw), calc(var(--progress) * 5vh), 0) scale(calc(1 - var(--progress) * 0.2));
  opacity: calc(1 - var(--progress) * 0.32);
}

.hero-system canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 0 40px rgba(200, 255, 69, 0.15));
}

.portrait-orbit {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30%;
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
}

.portrait-orbit::before {
  position: absolute;
  z-index: -1;
  inset: -14px;
  border: 1px solid rgba(200, 255, 69, 0.5);
  border-radius: 50%;
  content: "";
}

.portrait-orbit img {
  width: 100%;
  height: 100%;
  border: 2px solid var(--paper);
  border-radius: 50%;
  object-fit: cover;
  object-position: center 25%;
  filter: saturate(0.2) contrast(1.08);
}

.portrait-orbit span {
  position: absolute;
  top: calc(100% + 15px);
  left: 50%;
  width: max-content;
  transform: translateX(-50%);
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.orbit-label {
  position: absolute;
  padding: 7px 10px;
  border: 1px solid rgba(243, 241, 232, 0.22);
  border-radius: 999px;
  background: rgba(11, 12, 10, 0.64);
  color: rgba(243, 241, 232, 0.72);
  backdrop-filter: blur(8px);
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.orbit-label--one { top: 10%; left: 18%; }
.orbit-label--two { top: 24%; right: 2%; }
.orbit-label--three { right: 10%; bottom: 12%; }
.orbit-label--four { bottom: 8%; left: 10%; }

.hero-meta {
  position: absolute;
  top: 90px;
  right: 24px;
  display: flex;
  gap: 32px;
  text-align: right;
}

.hero-meta p {
  margin: 0;
  color: rgba(243, 241, 232, 0.55);
  font-size: 0.5rem;
  line-height: 1.45;
  text-transform: uppercase;
}

.hero-chapters {
  position: relative;
  z-index: 3;
  grid-column: 1 / -1;
  display: grid;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
  grid-template-columns: repeat(5, 1fr);
  transform: translateY(calc(var(--progress) * 16vh));
  opacity: calc(1 - var(--progress) * 1.4);
}

.hero-chapters a {
  display: flex;
  min-height: 58px;
  padding: 0 14px;
  border-right: 1px solid var(--line-dark);
  color: rgba(243, 241, 232, 0.55);
  align-items: center;
  justify-content: space-between;
  font-size: 0.55rem;
  transition: color 180ms ease, background 180ms ease;
}

.hero-chapters a:last-child { border-right: 0; }
.hero-chapters b { font-family: var(--serif); font-size: 0.7rem; font-weight: 400; }
.hero-chapters a:hover { background: var(--acid); color: var(--ink); }

.scroll-cue {
  position: absolute;
  right: 26px;
  bottom: 103px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(243, 241, 232, 0.5);
  font-size: 0.5rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scroll-cue span {
  display: block;
  width: 35px;
  height: 1px;
  overflow: hidden;
  background: rgba(243, 241, 232, 0.22);
}

.scroll-cue span::after {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  animation: cue 1.7s var(--ease) infinite;
  background: var(--paper);
}

@keyframes cue {
  0% { transform: translateX(-110%); }
  100% { transform: translateX(110%); }
}

.chapter {
  background: var(--ink);
}

.chapter-stage {
  display: grid;
  min-height: 100svh;
  padding: calc(var(--topbar) + 35px) clamp(28px, 4vw, 72px) 34px;
  grid-template-rows: 1fr;
}

.chapter-stage::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background: radial-gradient(circle at calc(72% + (var(--progress) * 8%)) 55%, rgba(200, 255, 69, 0.1), transparent 34%);
}

.chapter-heading {
  position: relative;
  z-index: 2;
  align-self: center;
  transform: translateY(calc((0.5 - var(--progress)) * 5vh));
}

.chapter-heading > p:first-child {
  display: flex;
  width: min(680px, 62%);
  margin: 0 0 clamp(26px, 4vh, 46px);
  color: rgba(243, 241, 232, 0.55);
  justify-content: space-between;
  gap: 20px;
  font-size: 0.54rem;
  font-weight: 600;
  text-transform: uppercase;
}

.chapter-heading h2 {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: clamp(6.3rem, 14.2vw, 14rem);
  font-weight: 500;
  letter-spacing: -0.09em;
  line-height: 0.72;
  white-space: nowrap;
  transform: translateX(calc(var(--progress) * -7vw));
}

.chapter-summary {
  display: grid;
  width: min(580px, 44vw);
  margin: clamp(28px, 5vh, 52px) 0 0 12vw;
  color: rgba(243, 241, 232, 0.72);
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: end;
}

.chapter-summary p {
  margin: 0;
  font-size: clamp(0.76rem, 1vw, 0.94rem);
  line-height: 1.55;
}

.chapter-summary a {
  padding-bottom: 6px;
  border-bottom: 1px solid currentColor;
  font-size: 0.54rem;
  font-weight: 700;
  white-space: nowrap;
  text-transform: uppercase;
}

.chapter-summary a span {
  display: inline-block;
  margin-left: 8px;
  transition: transform 180ms ease;
}

.chapter-summary a:hover span { transform: translateY(4px); }

.interactive-card {
  --rx: 0deg;
  --ry: 0deg;
  transform: perspective(1200px) rotateX(var(--rx)) rotateY(var(--ry));
  transition: transform 180ms ease-out;
  transform-style: preserve-3d;
}

.agent-scene,
.network-scene,
.learning-scene,
.research-scene {
  position: absolute;
  z-index: 3;
  right: clamp(24px, 5vw, 78px);
  bottom: clamp(28px, 6vh, 70px);
  width: min(48vw, 690px);
  min-height: 360px;
  border: 1px solid rgba(243, 241, 232, 0.38);
  border-radius: 16px;
  background: rgba(20, 23, 18, 0.86);
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.38);
  backdrop-filter: blur(20px);
  opacity: calc(0.18 + var(--progress) * 1.25);
}

.agent-scene {
  transform: perspective(1200px) translate3d(0, calc((1 - var(--progress)) * 18vh), 0) rotateX(var(--rx)) rotateY(var(--ry));
}

.scene-bar {
  display: flex;
  min-height: 46px;
  padding: 0 16px;
  border-bottom: 1px solid rgba(243, 241, 232, 0.16);
  color: rgba(243, 241, 232, 0.62);
  align-items: center;
  justify-content: space-between;
  font-size: 0.56rem;
}

.scene-bar i {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 7px;
  border-radius: 50%;
  animation: pulse 1.6s ease-in-out infinite;
  background: var(--acid);
  box-shadow: 0 0 10px var(--acid);
}

.scene-bar b {
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(200, 255, 69, 0.12);
  color: var(--acid);
  font-size: 0.48rem;
  text-transform: uppercase;
}

@keyframes pulse { 50% { transform: scale(0.65); opacity: 0.5; } }

.agent-workspace {
  display: grid;
  min-height: 310px;
  padding: 18px;
  grid-template-columns: 92px 1fr 108px;
  gap: 16px;
}

.agent-route {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.agent-route span {
  width: 100%;
  padding: 11px;
  border: 1px solid rgba(243, 241, 232, 0.13);
  border-radius: 8px;
  color: rgba(243, 241, 232, 0.46);
  font-family: var(--serif);
  font-size: 0.58rem;
}

.agent-route span b {
  font-family: var(--sans);
  font-size: 0.48rem;
  font-weight: 600;
}

.agent-route .is-active { border-color: var(--acid); color: var(--paper); }
.agent-route > i { width: 1px; height: 16px; background: rgba(243, 241, 232, 0.18); }

.agent-conversation {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
}

.bubble {
  max-width: 88%;
  padding: 13px 15px;
  border-radius: 11px;
  font-size: 0.61rem;
  line-height: 1.48;
}

.bubble--user { align-self: flex-end; background: var(--paper); color: var(--ink); }
.bubble--agent { border: 1px solid rgba(243, 241, 232, 0.2); background: rgba(255, 255, 255, 0.04); }
.bubble small { display: block; margin-bottom: 7px; color: var(--acid); font-size: 0.46rem; text-transform: uppercase; }
.bubble > div { display: flex; margin-top: 10px; padding-top: 8px; border-top: 1px solid rgba(243, 241, 232, 0.12); color: rgba(243, 241, 232, 0.55); gap: 6px; font-size: 0.44rem; }
.bubble > div i { color: var(--acid); font-style: normal; }

.thinking { display: flex; color: rgba(243, 241, 232, 0.46); align-items: center; gap: 5px; font-size: 0.46rem; }
.thinking span { width: 4px; height: 4px; border-radius: 50%; animation: thinking 1.25s infinite; background: var(--acid); }
.thinking span:nth-child(2) { animation-delay: 120ms; }
.thinking span:nth-child(3) { margin-right: 5px; animation-delay: 240ms; }
@keyframes thinking { 50% { transform: translateY(-4px); } }

.agent-score {
  display: flex;
  padding: 16px 12px;
  border-left: 1px solid rgba(243, 241, 232, 0.14);
  justify-content: center;
  flex-direction: column;
}
.agent-score span { color: rgba(243, 241, 232, 0.48); font-size: 0.46rem; text-transform: uppercase; }
.agent-score strong { margin: 6px 0 10px; font-family: var(--serif); font-size: 2.1rem; font-weight: 400; }
.agent-score > i { height: 3px; overflow: hidden; background: rgba(243, 241, 232, 0.14); }
.agent-score > i b { display: block; width: 94%; height: 100%; transform: scaleX(var(--progress)); transform-origin: left; background: var(--acid); }
.agent-score small { margin-top: 10px; color: rgba(243, 241, 232, 0.45); font-size: 0.42rem; line-height: 1.4; }

.detail {
  position: relative;
  padding: clamp(95px, 11vw, 170px) clamp(28px, 6vw, 100px);
  color: var(--ink);
}

.detail--paper { background: var(--paper); }
.detail--lime { background: var(--acid); }
.detail--blue { background: var(--blue); color: #101329; }
.detail--cream { background: var(--cream); }

.detail-lead {
  display: grid;
  margin-bottom: clamp(70px, 9vw, 140px);
  grid-template-columns: minmax(120px, 0.42fr) minmax(0, 1.5fr) minmax(220px, 0.65fr);
  gap: clamp(24px, 4vw, 70px);
  align-items: start;
}

.detail-lead .section-tag { margin: 9px 0 0; }
.detail-lead h3 { margin: 0; font-size: clamp(3.2rem, 6.1vw, 7.4rem); font-weight: 500; letter-spacing: -0.065em; line-height: 0.88; }
.detail-lead h3 em { font-family: var(--serif); font-weight: 400; }
.detail-lead > p:last-child { margin: 9px 0 0; font-size: clamp(0.82rem, 1.05vw, 1rem); line-height: 1.7; }

.metric-band {
  display: grid;
  margin-bottom: 70px;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  grid-template-columns: repeat(3, 1fr);
}

.metric-band div { min-height: 205px; padding: 28px; border-right: 1px solid currentColor; }
.metric-band div:last-child { border-right: 0; }
.metric-band strong { display: block; margin-bottom: 35px; font-family: var(--serif); font-size: clamp(3.8rem, 6.5vw, 7rem); font-weight: 400; line-height: 0.7; }
.metric-band span { display: block; max-width: 190px; font-size: 0.62rem; line-height: 1.45; }

.principle-grid,
.research-notes {
  display: grid;
  border-top: 1px solid var(--line-light);
  grid-template-columns: repeat(4, 1fr);
}

.principle-grid article,
.research-notes article {
  min-height: 260px;
  padding: 26px 22px;
  border-right: 1px solid var(--line-light);
}
.principle-grid article:last-child,
.research-notes article:last-child { border-right: 0; }
.principle-grid article > span,
.research-notes article > span { font-family: var(--serif); font-size: 0.9rem; }
.principle-grid h4,
.research-notes h4 { margin: 95px 0 12px; font-size: 1rem; letter-spacing: -0.03em; }
.principle-grid p,
.research-notes p { margin: 0; font-size: 0.65rem; line-height: 1.55; }

.chapter--recommendations .chapter-stage::before { background: radial-gradient(circle at 74% 58%, rgba(200, 255, 69, 0.18), transparent 35%); }
.chapter--recommendations h2 { color: var(--acid); }

.network-scene {
  min-height: 390px;
  padding: 30px;
  transform: perspective(1200px) translate3d(0, calc((1 - var(--progress)) * 18vh), 0) rotateX(var(--rx)) rotateY(var(--ry));
}

.network-request {
  position: absolute;
  top: 50%;
  left: 30px;
  display: grid;
  width: 150px;
  padding: 18px;
  border: 1px solid rgba(243, 241, 232, 0.2);
  border-radius: 10px;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.04);
  gap: 5px;
}
.network-request small { color: var(--acid); font-size: 0.44rem; text-transform: uppercase; }
.network-request strong { font-size: 0.78rem; }
.network-request span { color: rgba(243, 241, 232, 0.5); font-size: 0.46rem; }

.network-core {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 46%;
  display: grid;
  width: 80px;
  height: 80px;
  border: 1px solid var(--acid);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: var(--ink);
  box-shadow: 0 0 0 12px rgba(200, 255, 69, 0.07), 0 0 42px rgba(200, 255, 69, 0.2);
  place-items: center;
}
.network-core span { align-self: end; font-family: var(--serif); font-size: 1.4rem; }
.network-core small { align-self: start; color: var(--acid); font-size: 0.42rem; text-transform: uppercase; }

.network-candidates {
  position: absolute;
  top: 50%;
  right: 28px;
  display: grid;
  width: 220px;
  transform: translateY(-50%);
  gap: 10px;
}
.candidate { display: grid; min-height: 67px; padding: 12px; border: 1px solid rgba(243, 241, 232, 0.14); border-radius: 10px; background: rgba(255, 255, 255, 0.035); grid-template-columns: 28px 1fr auto; gap: 8px; align-items: center; }
.candidate--top { border-color: var(--acid); transform: translateX(10px); background: rgba(200, 255, 69, 0.09); }
.candidate > b { color: rgba(243, 241, 232, 0.35); font-family: var(--serif); font-size: 0.75rem; font-weight: 400; }
.candidate span { display: grid; gap: 3px; }
.candidate span strong { font-size: 0.59rem; }
.candidate span small { color: rgba(243, 241, 232, 0.45); font-size: 0.41rem; }
.candidate em { color: var(--acid); font-family: var(--serif); font-size: 0.74rem; font-style: normal; }

.network-lines { position: absolute; inset: 0; pointer-events: none; }
.network-lines i { position: absolute; top: 50%; height: 1px; transform-origin: left; background: linear-gradient(90deg, transparent, rgba(200, 255, 69, 0.7), transparent); }
.network-lines i:nth-child(1) { left: 180px; width: 110px; transform: rotate(-8deg); }
.network-lines i:nth-child(2) { left: 180px; width: 110px; transform: rotate(8deg); }
.network-lines i:nth-child(3) { left: 50%; width: 150px; transform: rotate(-25deg); }
.network-lines i:nth-child(4) { left: 50%; width: 150px; transform: rotate(0); }
.network-lines i:nth-child(5) { left: 50%; width: 150px; transform: rotate(25deg); }

.matching-flow {
  display: grid;
  padding: 32px 0;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  align-items: center;
}
.matching-flow div { display: grid; padding: 0 22px; gap: 7px; }
.matching-flow div span { font-family: var(--serif); font-size: 0.7rem; }
.matching-flow div strong { font-size: 1rem; }
.matching-flow div small { font-size: 0.55rem; }
.matching-flow > i { font-style: normal; }

.split-story {
  display: grid;
  margin-top: 80px;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 8vw;
  align-items: end;
}
.split-story > div strong { display: block; font-family: var(--serif); font-size: clamp(5rem, 10vw, 12rem); font-weight: 400; line-height: 0.8; }
.split-story > div p { max-width: 300px; margin: 28px 0 0; font-size: 0.72rem; line-height: 1.55; }
.split-story blockquote { margin: 0; font-family: var(--serif); font-size: clamp(2.5rem, 4.8vw, 5.5rem); line-height: 0.96; }

.chapter--adaptation { background: #0d1028; }
.chapter--adaptation .chapter-stage::before { background: radial-gradient(circle at 73% 55%, rgba(111, 129, 255, 0.24), transparent 38%); }
.chapter--adaptation h2 { font-family: var(--serif); font-weight: 400; font-style: italic; }

.learning-scene {
  min-height: 400px;
  padding: 22px;
  border-color: rgba(188, 198, 255, 0.42);
  background: rgba(16, 20, 55, 0.88);
  transform: perspective(1200px) translate3d(0, calc((1 - var(--progress)) * 17vh), 0) rotateX(var(--rx)) rotateY(var(--ry));
}

.chart-head,
.chart-key { display: flex; align-items: center; justify-content: space-between; font-size: 0.5rem; text-transform: uppercase; }
.chart-head b { padding: 5px 8px; border-radius: 999px; background: rgba(111, 129, 255, 0.18); color: #b6c0ff; font-size: 0.43rem; }
.chart-area { display: grid; min-height: 290px; margin: 18px 0 12px; grid-template-columns: 35px 1fr; }
.chart-labels { display: flex; padding: 2px 0 5px; color: rgba(243, 241, 232, 0.38); justify-content: space-between; flex-direction: column; font-size: 0.42rem; }
.chart-grid { position: relative; overflow: hidden; border-left: 1px solid rgba(243, 241, 232, 0.2); border-bottom: 1px solid rgba(243, 241, 232, 0.2); }
.chart-grid > i { position: absolute; right: 0; left: 0; height: 1px; background: rgba(243, 241, 232, 0.08); }
.chart-grid > i:nth-child(1) { top: 16%; }.chart-grid > i:nth-child(2) { top: 33%; }.chart-grid > i:nth-child(3) { top: 50%; }.chart-grid > i:nth-child(4) { top: 67%; }.chart-grid > i:nth-child(5) { top: 84%; }
.plot { position: absolute; inset: 0; }
.plot span { position: absolute; width: 9px; height: 9px; border: 2px solid; border-radius: 50%; }
.plot span::after { position: absolute; top: 50%; left: 6px; width: calc((min(48vw, 690px) - 90px) / 6); height: 2px; content: ""; transform-origin: left; background: currentColor; }
.plot span:nth-child(1) { left: 7%; top: 26%; }.plot span:nth-child(2) { left: 23%; top: 36%; }.plot span:nth-child(3) { left: 39%; top: 30%; }.plot span:nth-child(4) { left: 55%; top: 46%; }.plot span:nth-child(5) { left: 71%; top: 41%; }.plot span:nth-child(6) { left: 87%; top: 55%; }
.plot--static { color: rgba(243, 241, 232, 0.42); }
.plot--adaptive { color: var(--acid); transform: translateY(22%); clip-path: inset(0 calc((1 - var(--progress)) * 100%) 0 0); }
.plot--adaptive span:nth-child(1) { top: 35%; }.plot--adaptive span:nth-child(2) { top: 50%; }.plot--adaptive span:nth-child(3) { top: 58%; }.plot--adaptive span:nth-child(4) { top: 68%; }.plot--adaptive span:nth-child(5) { top: 73%; }.plot--adaptive span:nth-child(6) { top: 79%; }
.shift { position: absolute; padding: 4px 6px; border-left: 1px dashed rgba(243, 241, 232, 0.25); color: rgba(243, 241, 232, 0.4); font-size: 0.4rem; font-weight: 500; }
.shift--one { top: 5%; bottom: 0; left: 38%; }.shift--two { top: 5%; bottom: 0; left: 70%; }
.chart-key { justify-content: flex-start; gap: 20px; }
.chart-key span { display: inline-flex; align-items: center; gap: 6px; }
.chart-key span i { width: 15px; height: 2px; background: rgba(243, 241, 232, 0.4); }.chart-key span:nth-child(2) i { background: var(--acid); }
.chart-key > b { margin-left: auto; font-size: 0.44rem; }

.research-stat { display: grid; padding: 35px 0 55px; border-top: 1px solid rgba(16, 19, 41, 0.4); border-bottom: 1px solid rgba(16, 19, 41, 0.4); grid-template-columns: 1fr 0.6fr auto; align-items: end; gap: 40px; }
.research-stat strong { font-family: var(--serif); font-size: clamp(7rem, 15vw, 15rem); font-weight: 400; letter-spacing: -0.07em; line-height: 0.65; }
.research-stat span { max-width: 210px; font-size: 0.68rem; line-height: 1.5; }
.research-stat a { padding-bottom: 6px; border-bottom: 1px solid currentColor; font-size: 0.55rem; font-weight: 700; text-transform: uppercase; }
.research-notes { margin-top: 80px; grid-template-columns: repeat(3, 1fr); }

.chapter--experience { background: #17120f; }
.chapter--experience h2 { color: #ff9067; }
.chapter--experience .chapter-stage::before { background: radial-gradient(circle at 74% 55%, rgba(255, 107, 53, 0.18), transparent 37%); }
.experience-scene { position: absolute; right: 5vw; bottom: 10vh; width: min(48vw, 670px); min-height: 310px; opacity: calc(0.15 + var(--progress) * 1.25); }
.career-line { position: absolute; top: 50%; right: 0; left: 0; height: 1px; background: rgba(243, 241, 232, 0.22); }
.career-line i { position: absolute; top: 50%; width: 11px; height: 11px; border: 1px solid #ff9067; border-radius: 50%; transform: translate(-50%, -50%); background: #17120f; }
.career-line i:nth-child(1) { left: 5%; }.career-line i:nth-child(2) { left: 36%; }.career-line i:nth-child(3) { left: 62%; }.career-line i:nth-child(4) { left: 94%; background: #ff9067; }
.career-now { position: absolute; top: 0; right: 0; width: min(350px, 70%); padding: 26px; border: 1px solid rgba(255, 144, 103, 0.5); border-radius: 14px; background: rgba(26, 19, 16, 0.92); box-shadow: 0 25px 70px rgba(0,0,0,.35); }
.career-now > span { color: #ff9067; font-size: 0.48rem; font-weight: 700; text-transform: uppercase; }
.career-now strong { display: block; margin: 18px 0 4px; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.career-now small { color: rgba(243, 241, 232, 0.5); font-size: 0.54rem; }
.career-now p { margin: 28px 0 0; color: rgba(243, 241, 232, 0.7); font-size: 0.65rem; line-height: 1.55; }
.career-year { position: absolute; bottom: 2px; left: 0; color: rgba(243, 241, 232, 0.52); font-family: var(--serif); font-size: 1rem; }
.career-year span { margin: 0 12px; color: #ff9067; }

.detail--timeline .detail-lead { grid-template-columns: minmax(120px,.4fr) minmax(0,1.6fr); }
.timeline-list { border-top: 1px solid var(--ink); }
.timeline-role { border-bottom: 1px solid var(--line-light); }
.timeline-role summary { display: grid; min-height: 110px; padding: 0 5px; cursor: pointer; list-style: none; grid-template-columns: 0.55fr 1fr 0.65fr 45px; gap: 20px; align-items: center; }
.timeline-role summary::-webkit-details-marker { display: none; }
.timeline-role summary span { color: rgba(11,12,10,.58); font-family: var(--serif); font-size: .8rem; }
.timeline-role summary strong { font-size: clamp(1.2rem,2vw,2rem); letter-spacing: -.04em; }
.timeline-role summary small { font-size: .66rem; }
.timeline-role summary i { position: relative; width: 36px; height: 36px; border: 1px solid var(--ink); border-radius: 50%; }
.timeline-role summary i::before,.timeline-role summary i::after { position:absolute; top:50%; left:50%; width:12px; height:1px; content:""; transform:translate(-50%,-50%); background:var(--ink); transition:transform .2s ease; }
.timeline-role summary i::after { transform:translate(-50%,-50%) rotate(90deg); }
.timeline-role[open] summary i::after { transform:translate(-50%,-50%) rotate(0); }
.timeline-role > div { display:grid; padding: 5px 50px 38px calc(35% + 5px); grid-template-columns: 1fr .75fr; gap:40px; }
.timeline-role > div p { margin:0; font-size:.72rem; line-height:1.65; }
.timeline-role ul { display:flex; margin:0; padding:0; flex-wrap:wrap; gap:7px; list-style:none; align-content:start; }
.timeline-role li { padding:7px 9px; border:1px solid var(--line-light); border-radius:999px; font-size:.5rem; }

.chapter--research { background: #11110e; }
.chapter--research h2 { font-family: var(--serif); font-weight: 400; }
.chapter--research .chapter-stage::before { background: radial-gradient(circle at 73% 55%, rgba(234, 225, 204, 0.13), transparent 40%); }
.research-scene { min-height: 370px; border:0; background:transparent; box-shadow:none; transform: perspective(1200px) translate3d(0, calc((1 - var(--progress)) * 18vh), 0) rotateX(var(--rx)) rotateY(var(--ry)); }
.paper-stack i { position:absolute; inset:20px; border:1px solid rgba(243,241,232,.16); border-radius:7px; background:#292923; transform:translate(25px,-12px) rotate(4deg); }
.paper-stack i:nth-child(2) { transform:translate(13px,-5px) rotate(2deg); background:#3c3c34; }
.paper-stack i:nth-child(3) { transform:none; background:var(--cream); }
.paper-front { position:absolute; inset:0; display:grid; padding:36px; border-radius:7px; background:var(--cream); color:var(--ink); grid-template-rows:auto 1fr auto; }
.paper-front > span { font-size:.52rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.paper-front h3 { align-self:center; max-width:560px; margin:20px 0; font-family:var(--serif); font-size:clamp(2rem,3.2vw,3.8rem); font-weight:400; line-height:.98; }
.paper-front > div { display:flex; padding-top:16px; border-top:1px solid var(--ink); justify-content:space-between; gap:20px; }
.paper-front small,.paper-front b { font-size:.5rem; }

.publication-grid { display:grid; border-top:1px solid var(--ink); border-left:1px solid var(--ink); grid-template-columns:1fr 1fr; }
.publication { display:flex; min-height:430px; padding:34px; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); justify-content:space-between; flex-direction:column; transition:background .25s ease,color .25s ease; }
.publication:hover { background:var(--ink); color:var(--paper); }
.publication > span { font-size:.53rem; font-weight:700; text-transform:uppercase; }
.publication h4 { max-width:570px; margin:55px 0 20px; font-family:var(--serif); font-size:clamp(2rem,3vw,3.7rem); font-weight:400; line-height:1; }
.publication p { max-width:390px; margin:0; font-size:.7rem; line-height:1.6; }
.publication b { padding-top:15px; border-top:1px solid currentColor; font-size:.54rem; text-transform:uppercase; }
.publication--small { min-height:260px; }
.publication--small h4 { margin:40px 0; }

.about { display:grid; padding:clamp(100px,12vw,180px) clamp(28px,6vw,100px); background:var(--paper); color:var(--ink); grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr); gap:clamp(50px,9vw,150px); }
.about-portrait { position:relative; align-self:start; }
.about-portrait { aspect-ratio:4/5; }
.about-portrait img { width:100%; height:100%; object-fit:cover; object-position:center 25%; filter:grayscale(1) contrast(1.08); }
.about-portrait span { display:block; padding:10px 0; border-bottom:1px solid var(--ink); font-size:.51rem; text-transform:uppercase; }
.about-copy h2 { margin:0 0 48px; font-size:clamp(3.2rem,5.5vw,6.2rem); font-weight:500; letter-spacing:-.068em; line-height:.9; }
.about-copy h2 em { color:#5064ff; font-family:var(--serif); font-weight:400; }
.about-copy > p { max-width:630px; color:#393b36; font-size:clamp(.86rem,1.1vw,1.02rem); line-height:1.75; }
.about-copy dl { margin:55px 0 0; border-top:1px solid var(--ink); }
.about-copy dl div { display:grid; padding:16px 0; border-bottom:1px solid var(--line-light); grid-template-columns:130px 1fr; gap:20px; }
.about-copy dt { color:rgba(11,12,10,.55); font-size:.5rem; font-weight:700; text-transform:uppercase; }
.about-copy dd { margin:0; font-size:.67rem; font-weight:600; }

.contact { position:relative; min-height:100svh; overflow:hidden; padding:clamp(90px,11vw,160px) clamp(28px,6vw,100px) clamp(70px,8vw,110px); background:var(--acid); color:var(--ink); }
.contact h2 { position:relative; z-index:2; margin:clamp(65px,8vw,105px) 0 clamp(75px,9vw,125px); font-size:clamp(6rem,13vw,14rem); font-weight:500; letter-spacing:-.09em; line-height:.68; }
.contact h2 em { margin-left:.55em; color:#4359ff; font-family:var(--serif); font-weight:400; }
.contact-orbit { position:absolute; top:-25%; right:-8%; width:min(56vw,760px); aspect-ratio:1; border:1px solid rgba(11,12,10,.28); border-radius:50%; animation:orbit-spin 28s linear infinite; }
.contact-orbit i { position:absolute; inset:15%; border:1px solid rgba(11,12,10,.2); border-radius:50%; }.contact-orbit i:nth-child(2) { inset:32%; }
.contact-orbit span { position:absolute; top:50%; left:-10%; padding:8px 12px; border:1px solid var(--ink); border-radius:999px; background:var(--acid); font-size:.5rem; font-weight:700; text-transform:uppercase; }
@keyframes orbit-spin { to { transform:rotate(360deg); } }
.contact-layout { position:relative; z-index:2; display:grid; padding-top:34px; border-top:1px solid var(--ink); grid-template-columns:minmax(240px,.72fr) minmax(480px,1.28fr); gap:clamp(45px,8vw,120px); }
.contact-intro { display:flex; align-items:flex-start; flex-direction:column; }
.contact-intro > p { max-width:390px; margin:0 0 55px; font-size:clamp(.82rem,1.15vw,1rem); line-height:1.65; }
.contact-email { display:flex; padding-bottom:8px; border-bottom:2px solid currentColor; align-items:center; gap:35px; font-size:clamp(1rem,2vw,1.8rem); font-weight:700; letter-spacing:-.035em; }
.contact-email span { transition:transform .18s ease; }.contact-email:hover span { transform:translate(5px,-5px); }
.contact-links { display:flex; margin-top:auto; padding-top:70px; align-items:center; flex-wrap:wrap; gap:20px; font-size:.58rem; font-weight:700; text-transform:uppercase; }
.contact-links a:hover { color:#4359ff; }
.contact-links button { padding:0; border-bottom:1px solid transparent; background:transparent; cursor:pointer; font-size:inherit; font-weight:inherit; text-transform:inherit; }.contact-links button:hover { border-color:currentColor; }

.contact-form { display:grid; padding:clamp(24px,3vw,42px); background:var(--ink); color:var(--paper); grid-template-columns:1fr 1fr; gap:32px 24px; box-shadow:18px 18px 0 rgba(67,89,255,.9); }
.form-field { position:relative; display:flex; flex-direction:column; }
.form-field--wide { grid-column:1/-1; }
.form-field label { margin-bottom:11px; color:rgba(243,241,232,.65); font-size:.52rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.form-field input,.form-field textarea { width:100%; padding:12px 0; border:0; border-bottom:1px solid rgba(243,241,232,.45); border-radius:0; outline:0; background:transparent; color:var(--paper); font:inherit; font-size:.78rem; line-height:1.5; transition:border-color .18s ease,background .18s ease; }
.form-field textarea { min-height:145px; resize:vertical; }
.form-field input:hover,.form-field textarea:hover { border-color:rgba(243,241,232,.8); }
.form-field input:focus,.form-field textarea:focus { border-color:var(--acid); background:linear-gradient(to top,rgba(200,255,69,.07),transparent 55%); }
.form-field small { align-self:flex-end; margin-top:7px; color:rgba(243,241,232,.4); font-size:.48rem; text-transform:uppercase; }
.form-trap { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; }
.form-security { min-height:65px; }
.form-actions { display:flex; padding-top:4px; align-items:end; justify-content:space-between; gap:30px; }
.form-actions > p { max-width:410px; margin:0; color:rgba(243,241,232,.53); font-size:.53rem; line-height:1.6; }
.contact-submit { display:flex; min-width:175px; min-height:54px; padding:0 18px; border:1px solid var(--acid); background:var(--acid); color:var(--ink); align-items:center; justify-content:space-between; gap:24px; cursor:pointer; font-size:.62rem; font-weight:700; text-transform:uppercase; transition:background .18s ease,color .18s ease,transform .18s ease; }
.contact-submit:hover { background:transparent; color:var(--acid); transform:translateY(-2px); }
.contact-submit:disabled { opacity:.55; cursor:wait; transform:none; }
.contact-submit b { font-size:1rem; font-weight:500; }
.form-status { min-height:1.4em; margin:0; color:rgba(243,241,232,.7); font-size:.6rem; line-height:1.5; }
.form-status[data-state="success"] { color:var(--acid); }
.form-status[data-state="error"] { color:#ff9067; }

.site-footer { display:grid; min-height:92px; padding:22px 28px; background:var(--ink); color:var(--paper); grid-template-columns:1fr 1fr 1fr; align-items:center; font-size:.52rem; text-transform:uppercase; }
.site-footer p { margin:0; }.site-footer p:nth-child(2) { color:rgba(243,241,232,.46); text-align:center; }
.site-footer nav { display:flex; justify-content:flex-end; gap:18px; }.site-footer a:hover { color:var(--acid); }

.js .reveal { opacity:0; transform:translateY(35px); transition:opacity 700ms var(--ease),transform 700ms var(--ease); }
.js .reveal.is-visible { opacity:1; transform:translateY(0); }

@media (max-width: 1180px) {
  :root { --rail: 142px; }
  .hero h1 { font-size:clamp(5rem,10vw,8.3rem); }
  .chapter-heading h2 { font-size:clamp(5.7rem,13vw,10.5rem); }
  .agent-scene,.network-scene,.learning-scene,.research-scene { width:min(53vw,650px); }
  .network-request { width:130px; }
  .network-candidates { width:190px; }
  .candidate { grid-template-columns:22px 1fr auto; }
}

@media (max-width: 960px) {
  :root { --rail: 0px; --topbar: 62px; }
  .topbar { grid-template-columns:1fr auto; padding:0 16px; }
  .top-actions,.chapter-rail { display:none; }
  .menu-button { display:flex; }
  .mobile-menu { display:grid; grid-template-rows:auto 1fr auto; }
  .mobile-menu > p { color:rgba(243,241,232,.5); font-size:.56rem; text-transform:uppercase; }
  .mobile-menu nav { display:flex; justify-content:center; flex-direction:column; }
  .mobile-menu nav a { display:grid; padding:14px 0; border-bottom:1px solid rgba(243,241,232,.16); font-size:clamp(2.05rem,8vw,5rem); font-weight:500; letter-spacing:-.06em; grid-template-columns:50px 1fr; }
  .mobile-menu nav a span { padding-top:.7em; color:var(--acid); font-family:var(--serif); font-size:.2em; letter-spacing:0; }
  .mobile-menu > div { display:flex; gap:20px; font-size:.66rem; text-transform:uppercase; }
  body.past-hero main,body.past-hero .site-footer { margin-left:0; }
  .hero-stage { padding-right:18px; padding-left:18px; grid-template-columns:1fr; grid-template-rows:1fr 1fr auto; }
  .hero-copy { grid-row:1; }
  .hero h1 { font-size:clamp(4.8rem,14.5vw,8.6rem); }
  .hero-system { grid-row:2; width:min(58vw,540px); margin-top:-11vh; }
  .hero-meta { display:none; }
  .hero-chapters { grid-row:3; }
  .hero-intro { width:min(500px,60%); }
  .scroll-cue { display:none; }
  .chapter-stage { padding-right:22px; padding-left:22px; }
  .chapter-heading { align-self:start; margin-top:10vh; }
  .chapter-heading > p:first-child { width:75%; }
  .chapter-heading h2 { font-size:clamp(5rem,15vw,9rem); white-space:normal; }
  .chapter-summary { width:min(560px,70vw); margin-left:5vw; }
  .agent-scene,.network-scene,.learning-scene,.research-scene,.experience-scene { right:22px; bottom:7vh; width:calc(100% - 44px); min-height:370px; }
  .detail-lead { grid-template-columns:120px 1fr; }
  .detail-lead > p:last-child { grid-column:2; max-width:520px; }
  .principle-grid { grid-template-columns:1fr 1fr; }
  .principle-grid article:nth-child(2) { border-right:0; }.principle-grid article { border-bottom:1px solid var(--line-light); }
  .principle-grid article:nth-child(n+3) { border-bottom:0; }
  .research-stat { grid-template-columns:1fr .6fr; }.research-stat a { grid-column:2; }
  .about { grid-template-columns:minmax(260px,.6fr) 1fr; gap:55px; }
  .contact-layout { grid-template-columns:minmax(210px,.55fr) minmax(430px,1.45fr); gap:45px; }
}

@media (max-width: 720px) {
  .brand-copy small,.menu-button > span { display:none; }
  .pin-section { min-height:170vh; }
  .hero { min-height:200vh; }
  .hero-stage { padding-top:calc(var(--topbar) + 25px); }
  .hero-copy { justify-content:flex-start; }
  .hero h1 { font-size:clamp(4.2rem,19vw,6.8rem); line-height:.75; }
  .hero h1 span:nth-child(2),.hero h1 span:nth-child(4) { padding-left:.18em; }
  .hero-intro { width:82%; margin:26px 0 0 auto; font-size:.7rem; }
  .hero-system { width:min(88vw,500px); margin-top:-4vh; }
  .hero-chapters { display:none; }
  .portrait-orbit { width:28%; }
  .chapter-heading { margin-top:7vh; }
  .chapter-heading > p:first-child { width:100%; }
  .chapter-heading h2 { font-size:clamp(4.2rem,18vw,7rem); line-height:.78; }
  .chapter-summary { width:88%; margin:24px 0 0 5%; grid-template-columns:1fr; gap:18px; }
  .chapter-summary a { width:fit-content; }
  .agent-scene,.network-scene,.learning-scene,.research-scene,.experience-scene { right:14px; bottom:5vh; width:calc(100% - 28px); min-height:350px; }
  .agent-workspace { padding:12px; grid-template-columns:1fr; }
  .agent-route { display:none; }.agent-score { display:none; }
  .agent-conversation { min-height:275px; }
  .bubble { font-size:.59rem; }
  .network-scene { min-height:390px; padding:18px; }
  .network-request { top:35px; left:18px; transform:none; }
  .network-core { top:48%; left:27%; width:64px; height:64px; }
  .network-candidates { right:16px; width:58%; }
  .network-lines { display:none; }
  .candidate { min-height:62px; padding:9px; }
  .candidate--top { transform:none; }
  .learning-scene { padding:16px; }
  .plot span::after { width:14vw; }
  .detail { padding:85px 18px; }
  .detail-lead { margin-bottom:65px; grid-template-columns:1fr; gap:24px; }
  .detail-lead > p:last-child { grid-column:1; }
  .detail-lead h3 { font-size:clamp(3rem,14vw,5.2rem); }
  .metric-band { grid-template-columns:1fr; }
  .metric-band div { min-height:150px; border-right:0; border-bottom:1px solid currentColor; }.metric-band div:last-child { border-bottom:0; }
  .metric-band strong { margin-bottom:20px; }
  .principle-grid,.research-notes { grid-template-columns:1fr; }
  .principle-grid article,.research-notes article { min-height:210px; border-right:0; border-bottom:1px solid var(--line-light)!important; }.principle-grid article:last-child,.research-notes article:last-child { border-bottom:0!important; }
  .principle-grid h4,.research-notes h4 { margin-top:65px; }
  .matching-flow { grid-template-columns:1fr; padding:0; }
  .matching-flow div { padding:20px 0; border-bottom:1px solid rgba(11,12,10,.25); grid-template-columns:45px 1fr auto; align-items:center; }.matching-flow > i { display:none; }
  .split-story { grid-template-columns:1fr; gap:70px; }
  .split-story blockquote { font-size:clamp(2.6rem,12vw,4.4rem); }
  .research-stat { grid-template-columns:1fr; gap:30px; }.research-stat a { grid-column:1; width:fit-content; }
  .research-stat strong { font-size:clamp(6rem,28vw,10rem); }
  .career-now { width:82%; }.career-year { bottom:5px; }
  .timeline-role summary { min-height:118px; grid-template-columns:1fr 38px; gap:8px 16px; }
  .timeline-role summary span { grid-column:1; }.timeline-role summary strong { grid-column:1; }.timeline-role summary small { grid-column:1; }.timeline-role summary i { grid-column:2; grid-row:1/4; }
  .timeline-role > div { padding:0 0 32px; grid-template-columns:1fr; gap:24px; }
  .paper-front { padding:24px; }.paper-front h3 { font-size:clamp(1.8rem,8vw,3rem); }
  .publication-grid { grid-template-columns:1fr; }
  .publication { min-height:370px; padding:26px 22px; }.publication--small { min-height:240px; }
  .about { padding:85px 18px; grid-template-columns:1fr; gap:60px; }
  .about-portrait { width:min(520px,100%); }
  .about-copy h2 { font-size:clamp(3rem,14vw,5rem); }
  .about-copy dl div { grid-template-columns:110px 1fr; }
  .contact { min-height:85svh; padding:85px 18px 65px; }
  .contact h2 { margin:80px 0 100px; font-size:clamp(5.5rem,23vw,8rem); }.contact h2 em { margin-left:0; }
  .contact-orbit { top:-8%; right:-48%; width:120vw; opacity:.45; }
  .contact-layout { grid-template-columns:1fr; gap:60px; }
  .contact-intro > p { margin-bottom:38px; }
  .contact-email { width:100%; justify-content:space-between; gap:10px; overflow-wrap:anywhere; }
  .contact-links { width:100%; padding-top:42px; justify-content:space-between; }
  .contact-form { padding:26px 20px; grid-template-columns:1fr; gap:27px; box-shadow:9px 9px 0 rgba(67,89,255,.9); }
  .form-field--wide { grid-column:1; }
  .form-actions { align-items:stretch; flex-direction:column; }
  .contact-submit { width:100%; }
  .site-footer { padding:20px 16px; grid-template-columns:1fr 1fr; }.site-footer p:nth-child(2) { display:none; }
}

@media (max-width: 430px) {
  .hero h1 { font-size:17.5vw; }
  .orbit-label { display:none; }
  .hero-system { width:96vw; margin-left:-4vw; }
  .chapter-heading h2 { font-size:17vw; }
  .network-request { width:118px; }
  .network-candidates { width:61%; }.candidate > b { display:none; }.candidate { grid-template-columns:1fr auto; }
  .chart-key span:first-child { display:none; }
  .paper-front > div { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
  .hero-copy,.hero-system,.hero-chapters,.chapter-heading,.chapter-heading h2,.agent-scene,.network-scene,.learning-scene,.research-scene { transform:none!important; opacity:1!important; }
  .js .reveal { opacity:1; transform:none; }
}
