@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Instrument+Serif:ital@0;1&display=swap');

:root {
  --ink: #0a0a09;
  --ink-soft: #11110f;
  --paper: #f0ede4;
  --paper-dim: #bcb8ae;
  --line: rgba(240, 237, 228, 0.16);
  --red: #ea4b3d;
  --red-dark: #b82f28;
  --sans: "DM Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --serif: "Instrument Serif", "Iowan Old Style", "Baskerville", Georgia, serif;
  --ease: cubic-bezier(.22, 1, .36, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  color: var(--paper);
  background: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.5;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
}
body.is-loading { overflow: hidden; }
body::before {
  content: "";
  position: fixed;
  inset: 0;
  opacity: .035;
  pointer-events: none;
  z-index: 99;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}

a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
::selection { background: var(--red); color: #fff; }

.sr-only, .skip-link {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
.skip-link:focus {
  width: auto;
  height: auto;
  clip: auto;
  margin: 0;
  padding: 12px 18px;
  top: 8px;
  left: 8px;
  z-index: 200;
  color: #fff;
  background: var(--red);
}
:focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }

.intro-sequence { position:fixed; z-index:300; inset:0; display:grid; place-items:center; pointer-events:none; }
.intro-panel { position:absolute; inset:0; background:#070706; transform-origin:top; }
.intro-panel-a { z-index:1; animation:intro-panel-a 1.15s var(--ease) 1.05s forwards; }
.intro-panel-b { z-index:2; background:var(--red); transform:translateY(100%); animation:intro-panel-b 1.15s var(--ease) .92s forwards; }
.intro-mark { position:relative; z-index:3; width:min(420px,70vw); display:grid; grid-template-columns:1fr auto; align-items:end; color:var(--paper); animation:intro-mark-out .45s ease .82s forwards; }
.intro-mark span { font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.intro-mark strong { font-family:var(--serif); font-style:italic; font-size:clamp(38px,6vw,65px); font-weight:400; line-height:1; }
.intro-mark i { grid-column:1/-1; display:block; height:1px; margin-top:15px; background:rgba(240,237,228,.25); overflow:hidden; }
.intro-mark i::after { content:""; display:block; width:100%; height:100%; background:var(--red); transform:translateX(-100%); animation:intro-load .72s var(--ease) .12s forwards; }
@keyframes intro-load { to { transform:translateX(0); } }
@keyframes intro-mark-out { to { opacity:0; transform:translateY(-15px); } }
@keyframes intro-panel-a { to { transform:translateY(-100%); } }
@keyframes intro-panel-b { 0% { transform:translateY(100%); } 48% { transform:translateY(0); } 100% { transform:translateY(-100%); } }

.motion-cursor { position:fixed; z-index:250; top:0; left:0; width:1px; height:1px; pointer-events:none; opacity:0; transition:opacity .3s ease; mix-blend-mode:difference; }
.motion-cursor.visible { opacity:1; }
.motion-cursor i { position:absolute; width:6px; height:6px; margin:-3px; border-radius:50%; background:#fff; }
.motion-cursor span { position:absolute; width:30px; height:30px; margin:-15px; border:1px solid rgba(255,255,255,.55); border-radius:50%; transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease); }
.motion-cursor.active span { width:46px; height:46px; margin:-23px; }
.edge-index { position:fixed; z-index:80; right:18px; top:50%; transform:translateY(-50%); display:flex; align-items:center; gap:10px; writing-mode:vertical-rl; font-size:8px; letter-spacing:.19em; color:rgba(240,237,228,.34); pointer-events:none; }
.edge-index i { display:block; width:1px; height:45px; background:rgba(240,237,228,.18); overflow:hidden; }
.edge-index i::after { content:""; display:block; width:100%; height:30%; background:var(--red); animation:edge-scan 2.5s ease-in-out infinite; }
.edge-index b { color:var(--red); font-weight:500; }
@keyframes edge-scan { 0%,100% { transform:translateY(-120%); } 50% { transform:translateY(330%); } }

.page-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 120;
  height: 2px;
  width: 100%;
}
.page-progress span { display: block; width: 0; height: 100%; background: var(--red); }
.ambient-glow {
  position: fixed;
  z-index: 0;
  width: 35vw;
  aspect-ratio: 1;
  top: 12vh;
  left: 50%;
  opacity: 0;
  border-radius: 50%;
  background: var(--red);
  filter: blur(160px);
  pointer-events: none;
  transform: translate3d(-50%, 0, 0);
}

.site-header {
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  width: 100%;
  height: 82px;
  padding: 0 clamp(22px, 4vw, 70px);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  background: linear-gradient(to bottom, rgba(10,10,9,.88), rgba(10,10,9,.15), transparent);
  transition: background .5s ease, backdrop-filter .5s ease, height .5s var(--ease);
}
.site-header.scrolled {
  height: 66px;
  background: rgba(10,10,9,.72);
  backdrop-filter: blur(18px) saturate(140%);
  border-bottom: 1px solid rgba(240,237,228,.06);
}
.brand { justify-self: start; display: flex; align-items: center; }
.brand-logo { display:block; width:clamp(132px,11vw,168px); height:auto; mix-blend-mode:screen; transition:transform .6s var(--ease),filter .6s ease; }
.brand:hover .brand-logo { transform:translateX(3px); filter:brightness(1.08); }
.desktop-nav { display: flex; align-items: center; gap: 34px; }
.desktop-nav a { position: relative; font-size: 12px; color: var(--paper-dim); }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1px; background:var(--red); transition:right .35s var(--ease); }
.desktop-nav a:hover { color: var(--paper); }
.desktop-nav a:hover::after { right:0; }
.nav-cta { justify-self: end; display: flex; align-items: center; gap: 13px; font-size: 12px; }
.nav-cta svg, .access-form button svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.menu-toggle { display: none; justify-self: end; background: none; border: 0; width: 42px; height: 42px; padding: 10px; }
.menu-toggle i { display: block; height: 1px; width: 22px; background: currentColor; transition: .35s var(--ease); }
.menu-toggle i + i { margin-top: 7px; }
.menu-toggle[aria-expanded="true"] i:first-of-type { transform: translateY(4px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] i:last-of-type { transform: translateY(-4px) rotate(-45deg); }
.mobile-menu { display: none; }

.hero {
  min-height: 100svh;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(380px, .9fr);
  align-items: center;
  padding: 130px clamp(22px, 6.5vw, 112px) 74px;
  overflow: hidden;
}
.hero-copy { position: relative; z-index: 2; }
.eyebrow {
  margin: 0 0 32px;
  color: var(--paper-dim);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.eyebrow span { color: var(--red); margin-left: 8px; }
h1 { margin: 0; font-weight: 300; font-size: clamp(62px, 8vw, 132px); line-height: .81; letter-spacing: -.058em; }
.hero h1 { will-change:transform; transform:skewY(calc(var(--scroll-velocity, 0) * -.04deg)); }
.title-line { display: block; overflow: hidden; padding: .05em 0 .13em; }
.title-line > span { display: block; transform: translateY(115%) rotate(3deg); animation: title-in 1.25s var(--ease) forwards; }
.title-line:nth-child(2) > span { animation-delay: .12s; }
.title-line.serif { margin-left: 7vw; font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.035em; color: var(--red); }
@keyframes title-in { to { transform: translateY(0) rotate(0); } }
.hero-bottom { max-width: 670px; margin: 45px 0 0 9vw; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 48px; }
.hero-bottom > p { margin: 0; max-width: 410px; color: var(--paper-dim); font-size: clamp(14px, 1.2vw, 17px); font-weight: 300; line-height: 1.65; }
.text-link { display: flex; align-items: center; gap: 14px; white-space: nowrap; font-size: 12px; }
.arrow-orbit { display: grid; place-items: center; width: 41px; height: 41px; border: 1px solid rgba(240,237,228,.28); border-radius: 50%; transition: background .35s, border .35s; }
.text-link:hover .arrow-orbit { background: var(--red); border-color: var(--red); }
.arrow-orbit svg { width: 18px; fill:none; stroke:currentColor; stroke-width:1.5; }

.hero-visual { position: relative; z-index: 1; min-height: min(66vw, 760px); width: min(46vw, 740px); margin-left: -8vw; display: grid; place-items: center; }
.hero-visual { transform-style:preserve-3d; will-change:transform; }
#synapse-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.visual-core { position: relative; width: 88px; height: 88px; display: grid; place-items: center; border-radius: 50%; background: var(--red); border: 1px solid var(--red); box-shadow:none; }
.core-pulse { position: absolute; inset: -1px; border-radius: 50%; border: 1px solid var(--paper); opacity: .34; animation: core-pulse 4.5s ease-out infinite; }
.core-label { font-family: var(--serif); font-size: 31px; font-style: italic; }
.visual-core { animation:core-float 6s ease-in-out infinite; }
@keyframes core-float { 50% { transform:translateY(-6px) rotate(2deg); } }
@keyframes core-pulse { 0% { transform: scale(.8); opacity: .65; } 70%,100% { transform: scale(2.2); opacity: 0; } }
.orbit-label { position: absolute; color: rgba(240,237,228,.52); font-size: 8px; letter-spacing: .2em; }
.orbit-label::before { content:""; display:inline-block; width:4px; height:4px; margin:0 8px 1px 0; background:var(--red); }
.orbit-label-a { left: 12%; top: 28%; animation: drift 6s ease-in-out infinite; }
.orbit-label-b { right: 6%; top: 44%; animation: drift 7s ease-in-out -2s infinite; }
.orbit-label-c { left: 25%; bottom: 20%; animation: drift 5s ease-in-out -1s infinite; }
@keyframes drift { 50% { transform: translateY(-11px); } }
.scroll-cue { position: absolute; z-index:2; bottom: 30px; left: clamp(22px, 4vw, 70px); display:flex; align-items:center; gap:15px; color:rgba(240,237,228,.42); font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.scroll-cue i { display:block; width:48px; height:1px; background:rgba(240,237,228,.25); overflow:hidden; }
.scroll-cue i::after { content:""; display:block; width:55%; height:100%; background:var(--red); animation:scroll-line 2s ease-in-out infinite; }
@keyframes scroll-line { 0% { transform:translateX(-110%); } 100% { transform:translateX(210%); } }

.signal-strip { position:relative; z-index:2; overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#0d0d0c; transform:rotate(-1.2deg) scale(1.02); }
.signal-strip { transition:transform .12s linear; }
.signal-track { display:flex; width:max-content; align-items:center; height:48px; animation:marquee 26s linear infinite; }
.signal-track span { font-size:9px; letter-spacing:.22em; margin:0 25px; color:var(--paper-dim); }
.signal-track i { width:4px; height:4px; background:var(--red); border-radius:50%; }
@keyframes marquee { to { transform:translateX(-50%); } }

.section-pad { padding: 150px clamp(22px, 6.5vw, 112px); }
.section-index { font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:var(--paper-dim); padding-bottom:24px; border-bottom:1px solid var(--line); }
.section-index span { color:var(--red); margin:0 7px; }
.statement { position:relative; z-index:2; display:grid; grid-template-columns:1fr 3fr; gap:6vw; background:var(--ink); }
.statement-body { max-width: 1030px; }
.kicker { color:var(--red); margin:0 0 28px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.statement h2 { margin:0; font-family:var(--serif); font-weight:400; font-size:clamp(42px, 5.4vw, 78px); line-height:1.03; letter-spacing:-.025em; }
.split-reveal .word { display:inline-block; opacity:.18; transition:opacity .6s ease; }
.split-reveal .word { transform:translateY(.08em); filter:blur(4px); }
.split-reveal .word.visible { opacity:1; transform:translateY(0); filter:blur(0); }
.statement-meta { margin:80px 0 0 32%; display:grid; grid-template-columns:1fr auto; gap:50px; }
.statement-meta p { margin:0; color:var(--paper-dim); font-weight:300; max-width:460px; }
.statement-meta span { padding-left:28px; border-left:1px solid var(--red); font-size:10px; line-height:1.7; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }

.model-section { height: 210vh; position:relative; background:var(--paper); color:var(--ink); }
.model-sticky { position:sticky; top:0; height:100vh; overflow:hidden; display:grid; place-items:center; }
.model-word { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(.55); font-size:25vw; line-height:.8; font-weight:600; letter-spacing:-.09em; color:#0c0c0b; white-space:nowrap; will-change:transform, opacity; }
.model-orbit { position:relative; z-index:2; display:grid; place-items:center; width:min(35vw,470px); aspect-ratio:1; border-radius:50%; background:var(--red); color:var(--paper); box-shadow:0 35px 80px rgba(10,10,9,.16); will-change:transform; }
.model-orbit::after { content:""; position:absolute; inset:8%; border-radius:50%; border:1px dashed rgba(240,237,228,.28); animation:access-spin 15s linear infinite reverse; }
.model-orbit strong { font-family:var(--serif); font-weight:400; font-style:italic; font-size:clamp(64px,8vw,120px); }
.model-orbit-ring { position:absolute; inset:-15%; border:1px solid rgba(10,10,9,.33); border-radius:50%; }
.ring-one::after { content:""; position:absolute; left:18%; top:1%; width:12px; height:12px; border-radius:50%; background:var(--ink); }
.ring-two { inset:-37%; border-color:rgba(10,10,9,.15); }
.model-dot { position:absolute; width:7px; height:7px; right:-36%; top:49%; border-radius:50%; background:var(--red); }
.model-caption { position:absolute; left:6.5vw; right:6.5vw; bottom:34px; display:flex; justify-content:space-between; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }

.capabilities { position:relative; z-index:3; background:var(--ink); }
.capabilities-intro { display:grid; grid-template-columns:1.5fr 1fr; gap:12vw; align-items:end; margin:80px 0 110px 18%; }
.capabilities-intro h2 { margin:0; font-weight:300; font-size:clamp(48px,6.4vw,92px); line-height:.98; letter-spacing:-.055em; }
.capabilities-intro h2 em, .principles h2 em, .access h2 em { font-family:var(--serif); font-weight:400; color:var(--red); }
.capabilities-intro p { max-width:390px; margin:0 0 8px; color:var(--paper-dim); font-weight:300; }
.capability-list { border-top:1px solid var(--line); }
.capability { --mx:50%; --my:50%; position:relative; min-height:160px; display:grid; grid-template-columns:12% 1fr 1fr auto; align-items:center; gap:30px; border-bottom:1px solid var(--line); overflow:hidden; transition:padding .5s var(--ease),transform .25s ease; transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); }
.capability::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--red); transform:translateY(102%); transition:transform .55s var(--ease); }
.capability::after { content:""; position:absolute; z-index:-1; width:1px; height:70%; left:var(--mx); top:15%; background:rgba(255,255,255,.35); opacity:0; transition:opacity .4s; }
.capability:hover::before { transform:translateY(0); }
.capability:hover::after { opacity:1; }
.capability:hover { padding:0 24px; }
.cap-number { font-size:10px; color:var(--paper-dim); }
.capability h3 { margin:0; font-family:var(--serif); font-weight:400; font-size:clamp(42px,4.8vw,70px); }
.capability h3 { transition:transform .5s var(--ease),letter-spacing .5s var(--ease); }
.capability:hover h3 { transform:translateX(12px); letter-spacing:.015em; }
.capability p { margin:0; max-width:400px; color:var(--paper-dim); font-weight:300; }
.capability:hover p, .capability:hover .cap-number { color:var(--paper); }
.cap-icon { display:grid; place-items:center; width:50px; height:50px; border:1px solid var(--line); border-radius:50%; font-size:18px; transition:transform .5s var(--ease); }
.capability:hover .cap-icon { transform:rotate(45deg); border-color:rgba(255,255,255,.45); }

.principles { position:relative; z-index:3; color:var(--ink); background:var(--paper); }
.section-index.light { color:#77736b; border-color:rgba(10,10,9,.17); }
.principles-grid { display:grid; grid-template-columns:1fr 1fr; gap:10vw; margin-top:90px; }
.principles-title h2 { margin:0; font-weight:300; font-size:clamp(50px,6.5vw,96px); line-height:.95; letter-spacing:-.055em; }
.principles-title h2 em { color:var(--red-dark); }
.principles ol { margin:0; padding:0; list-style:none; }
.principles li { display:grid; grid-template-columns:60px 1fr; gap:20px; padding:30px 0 38px; border-top:1px solid rgba(10,10,9,.18); }
.principles li { transition:transform .5s var(--ease),padding .5s var(--ease),background .5s; }
.principles li:hover { transform:translateX(12px); padding-left:18px; padding-right:18px; background:rgba(234,75,61,.06); }
.principles li > span { font-size:10px; color:var(--red-dark); }
.principles li h3 { margin:0 0 12px; font-size:18px; font-weight:500; }
.principles li p { margin:0; color:#5f5c55; max-width:470px; font-weight:300; }
.principle-quote { margin:170px auto 10px; max-width:980px; text-align:center; }
.principle-quote > span { display:block; height:65px; color:var(--red-dark); font-family:var(--serif); font-size:100px; line-height:1; }
.principle-quote blockquote { margin:0; font-family:var(--serif); font-size:clamp(40px,5vw,72px); line-height:1.05; letter-spacing:-.025em; }

.access { position:relative; z-index:2; min-height:90vh; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:var(--ink); }
.access > *:not(.access-orbit) { position:relative; z-index:2; }
.access .eyebrow { color:var(--red); }
.access h2 { margin:0; font-weight:300; font-size:clamp(70px,10vw,150px); line-height:.9; letter-spacing:-.065em; }
.access h2 em { display:inline-block; animation:index-breathe 5s ease-in-out infinite; }
@keyframes index-breathe { 50% { transform:translateY(-5px); } }
.access-copy { max-width:520px; margin:36px 0; color:var(--paper-dim); font-weight:300; }
.access-form { width:min(100%,530px); position:relative; display:flex; padding:6px; border:1px solid rgba(240,237,228,.24); border-radius:100px; background:rgba(240,237,228,.05); backdrop-filter:blur(12px); }
.access-form input { min-width:0; flex:1; color:var(--paper); background:transparent; border:0; padding:0 22px; outline:0; }
.access-form input::placeholder { color:#77746d; }
.access-form:focus-within { border-color:var(--red); box-shadow:0 0 0 3px rgba(234,75,61,.12); }
.access-form button { border:0; border-radius:100px; padding:15px 21px; display:flex; gap:16px; align-items:center; background:var(--red); cursor:pointer; }
.form-message { position:absolute; top:calc(100% + 12px); left:0; width:100%; font-size:12px; color:var(--paper-dim); }
.access-orbit { position:absolute; width:min(70vw,850px); aspect-ratio:1; }
.access-orbit i { position:absolute; inset:0; border:1px solid rgba(240,237,228,.07); border-radius:50%; animation:access-spin 20s linear infinite; }
.access-orbit i::after { content:""; position:absolute; width:5px; height:5px; top:13%; left:18%; border-radius:50%; background:var(--red); box-shadow:0 0 20px var(--red); }
.access-orbit i:nth-child(2) { inset:15%; animation-direction:reverse; animation-duration:16s; }
.access-orbit i:nth-child(3) { inset:31%; animation-duration:12s; }
@keyframes access-spin { to { transform:rotate(360deg); } }

footer { position:relative; z-index:2; overflow:hidden; padding:60px clamp(22px, 4vw, 70px) 34px; background:#070706; border-top:1px solid var(--line); }
.footer-brand { margin:0 0 80px; font-size:clamp(90px,20vw,310px); line-height:.75; letter-spacing:-.085em; font-weight:600; color:var(--paper); text-align:center; white-space:nowrap; will-change:transform; animation:footer-breathe 7s ease-in-out infinite; }
.footer-brand span { color:var(--red); }
@keyframes footer-breathe { 50% { letter-spacing:-.065em; transform:scale(.985); } }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:60px; padding-top:34px; border-top:1px solid var(--line); }
.footer-grid strong { font-size:13px; font-weight:500; }
.footer-grid p { color:#706e68; font-size:11px; line-height:1.7; }
.footer-grid > div { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.footer-grid span { color:#706e68; font-size:9px; letter-spacing:.13em; text-transform:uppercase; margin-bottom:8px; }
.footer-grid a { font-size:12px; color:var(--paper-dim); }
.footer-grid a:hover { color:var(--red); }
.footer-grid .footer-end { align-items:flex-end; text-align:right; justify-content:space-between; }

.reveal { opacity:0; transform:translateY(28px); transition:opacity .9s ease, transform .9s var(--ease); }
.reveal.is-visible { opacity:1; transform:translateY(0); }

@media (max-width: 900px) {
  .motion-cursor,.edge-index { display:none; }
  .site-header { grid-template-columns:1fr auto; }
  .desktop-nav, .nav-cta { display:none; }
  .menu-toggle { display:block; }
  .mobile-menu { display:flex; position:fixed; z-index:90; inset:0; padding:120px 28px 35px; flex-direction:column; justify-content:space-between; background:rgba(10,10,9,.97); backdrop-filter:blur(20px); opacity:0; visibility:hidden; transition:.45s var(--ease); }
  .mobile-menu.open { opacity:1; visibility:visible; }
  .mobile-menu nav { display:flex; flex-direction:column; }
  .mobile-menu nav a { padding:13px 0; font-family:var(--serif); font-size:42px; border-bottom:1px solid var(--line); transform:translateY(15px); opacity:0; transition:.5s var(--ease); }
  .mobile-menu.open nav a { transform:none; opacity:1; }
  .mobile-menu.open nav a:nth-child(2) { transition-delay:.06s; }
  .mobile-menu.open nav a:nth-child(3) { transition-delay:.12s; }
  .mobile-menu.open nav a:nth-child(4) { transition-delay:.18s; color:var(--red); }
  .mobile-menu p { color:#6e6b65; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
  .hero { grid-template-columns:1fr; align-content:center; padding-top:110px; }
  .hero-copy { margin-top:0; }
  h1 { font-size:clamp(60px,14vw,108px); }
  .hero-visual { position:absolute; width:min(95vw,700px); right:-28vw; bottom:-9vw; opacity:.75; }
  .hero-bottom { margin-left:0; }
  .statement { grid-template-columns:1fr; }
  .statement-body { margin-top:20px; }
  .capabilities-intro { margin-left:0; }
  .principles-grid { grid-template-columns:1fr; }
  .principles-title { margin-bottom:40px; }
  .footer-grid { grid-template-columns:1.5fr 1fr 1fr; }
  .footer-end { grid-column:1/-1; flex-direction:row!important; align-items:end!important; text-align:left!important; }
}

@media (max-width: 620px) {
  .site-header { height:70px; }
  .hero { min-height:850px; padding-bottom:100px; align-content:start; padding-top:145px; }
  .hero .eyebrow { margin-bottom:24px; }
  h1 { font-size:17vw; line-height:.86; }
  .title-line.serif { margin-left:0; }
  .hero-bottom { grid-template-columns:1fr; gap:25px; margin-top:30px; }
  .hero-bottom > p { max-width:88%; }
  .text-link { width:max-content; }
  .hero-visual { width:125vw; min-height:125vw; right:-47vw; bottom:-16vw; opacity:.55; }
  .visual-core { width:70px; height:70px; }
  .core-label { font-size:24px; }
  .scroll-cue { display:none; }
  .section-pad { padding-top:105px; padding-bottom:105px; }
  .statement-meta { margin:55px 0 0; grid-template-columns:1fr; }
  .statement h2 { font-size:42px; }
  .model-section { height:170vh; }
  .model-orbit { width:58vw; }
  .model-word { font-size:32vw; }
  .model-caption { flex-direction:column; gap:7px; }
  .capabilities-intro { grid-template-columns:1fr; gap:30px; margin:55px 0 70px; }
  .capabilities-intro h2 { font-size:51px; }
  .capability { grid-template-columns:34px 1fr auto; gap:13px; padding:25px 0; }
  .capability:hover { padding:25px 12px; }
  .capability h3 { font-size:42px; }
  .capability p { grid-column:2/-1; font-size:13px; }
  .cap-icon { width:42px; height:42px; }
  .principles-title h2 { font-size:50px; }
  .principle-quote { margin-top:100px; }
  .principle-quote blockquote { font-size:39px; }
  .access { min-height:760px; }
  .access h2 { font-size:77px; }
  .access-form { border-radius:28px; flex-direction:column; padding:6px; }
  .access-form input { height:54px; text-align:center; }
  .access-form button { justify-content:center; }
  .access-orbit { width:150vw; }
  .footer-brand { margin-bottom:60px; font-size:20vw; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:45px 30px; }
  .footer-grid > div:first-child { grid-column:1/-1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .title-line > span, .reveal { transform:none; opacity:1; }
  .split-reveal .word { opacity:1; }
  .intro-sequence,.motion-cursor,.edge-index { display:none!important; }
}
