@font-face {
  font-family:Inter;
  src:url('/assets/fonts/InterVariable.woff2') format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
:root {
  --paper:#f5f4ef;
  --ink:#171918;
  --blue:#075bea;
  --blue-light:#8dbbff;
  --muted:#5e625f;
  --line:#d8d9d2;
  --gutter:clamp(22px,5vw,96px);
  --bg:var(--paper);
  --surface-solid:var(--paper);
  --focus:0 0 0 4px #8dbbff;
  --scene-ink:#f4f4ec;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:88px;
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
  text-decoration:none;
}
button {
  font:inherit;
}
a,button {
  -webkit-tap-highlight-color:transparent;
}
a:focus-visible,button:focus-visible {
  outline:3px solid #ffb548;
  outline-offset:5px;
}
button {
  cursor:pointer;
}
img {
  display:block;
  max-width:100%;
}
h1,h2,h3,p {
  margin:0;
}
em {
  font-style:normal;
  color:var(--blue);
}
.skip-link {
  position:fixed;
  top:12px;
  left:12px;
  z-index:100;
  background:var(--ink);
  color:white;
  padding:15px;
  transform:translateY(-180%);
}
.skip-link:focus {
  transform:none;
}
.site-header {
  height:80px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 var(--gutter);
  border-bottom:1px solid var(--line);
  background:var(--paper);
  position:relative;
  z-index:10;
}
.brand img {
  width:110px;
  height:auto;
}
.site-header nav {
  display:flex;
  gap:32px;
  align-items:center;
  height:100%;
  font-size:13px;
  font-weight:550;
}
.site-header nav a {
  height:100%;
  display:flex;
  align-items:center;
  border-bottom:2px solid transparent;
}
.site-header nav a[aria-current] {
  border-color:var(--blue);
  color:var(--blue);
}
.header-start {
  font-size:13px;
  font-weight:600;
  display:flex;
  gap:30px;
  align-items:center;
}
.header-start span {
  font-size:24px;
  color:var(--blue);
}
.hero {
  padding:56px var(--gutter) 0;
  max-width:2200px;
  margin:auto;
  display:grid;
  grid-template-columns:1.12fr 1fr;
  column-gap:3vw;
  align-items:center;
  min-height:min(850px,calc(100svh - 80px));
}
.eyebrow {
  font-size:10px;
  font-weight:600;
  letter-spacing:.12em;
  line-height:1.7;
  text-transform:uppercase;
}
.hero .eyebrow {
  margin-bottom:28px;
  display:flex;
  align-items:center;
  gap:12px;
}
.index {
  border:1px solid var(--ink);
  border-radius:50%;
  width:26px;
  height:26px;
  display:inline-grid;
  place-items:center;
  letter-spacing:0;
}
.eyebrow-tail {
  color:var(--muted);
  font-size:9px;
}
h1 {
  font-size:clamp(46px,5.4vw,108px);
  font-weight:530;
  letter-spacing:-.071em;
  line-height:1.025;
}
.hero-bottom {
  margin-top:34px;
  max-width:420px;
}
.hero-bottom p {
  max-width:370px;
  font-size:15px;
  line-height:1.65;
  color:#505652;
}
.action {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  background:var(--blue);
  color:white;
  padding:16px 20px;
  font-size:13px;
  font-weight:550;
  min-height:52px;
  margin-top:26px;
  border-radius:3px;
  transition:background .2s,transform .2s;
}
.action:hover {
  background:#0346b9;
  transform:translateY(-2px);
}
.action span {
  font-size:23px;
  line-height:1;
}
.scroll-cue {
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid var(--line);
  margin-top:46px;
  padding:22px 0;
  font-size:9px;
  letter-spacing:.12em;
  color:var(--muted);
}
.scroll-cue a {
  color:var(--ink);
  display:flex;
  gap:24px;
  align-items:center;
}
.scroll-cue a span {
  font-size:22px;
}
.hero-art {
  height:clamp(380px,37vw,700px);
  position:relative;
  background:var(--blue);
  color:#fff;
  overflow:hidden;
  border-radius:3px;
  isolation:isolate;
}
.art-caption {
  position:absolute;
  top:23px;
  left:24px;
  right:24px;
  display:flex;
  justify-content:space-between;
  font-size:8px;
  letter-spacing:.11em;
  z-index:3;
  gap:18px;
}
.art-caption span:last-child {
  text-align:right;
  max-width:125px;
}
.art-coordinate {
  position:absolute;
  bottom:22px;
  left:24px;
  font-size:9px;
  letter-spacing:.1em;
}
.store-architecture {
  position:absolute;
  inset:0;
  perspective:900px;
}
.arch {
  position:absolute;
  width:73%;
  height:95%;
  left:15%;
  top:25%;
  border:1px solid #ffffff48;
  border-radius:50% 50% 0 0;
}
.arch--back {
  transform:translate(8%,-9%) rotate(-12deg);
}
.arch--front {
  transform:rotate(-12deg);
}
.shop-object {
  position:absolute;
  left:14%;
  top:21%;
  width:53%;
  height:60%;
  background:#e6e8df;
  box-shadow:15px 18px 0 #00379a;
  transform:rotate(-9deg);
  padding:20px;
  color:var(--ink);
}
.shop-brand {
  font-size:9px;
  letter-spacing:.12em;
}
.product-sculpture {
  position:absolute;
  left:12%;
  right:12%;
  top:22%;
  height:57%;
  display:grid;
  place-items:center;
  background:#d8dbd2;
}
.product-sculpture i {
  display:block;
  width:53%;
  height:64%;
  background:#f8f7ef;
  border-radius:3px 3px 8px 8px;
  box-shadow:inset -15px -6px 0 #c8cbbf,8px 9px 0 #1a31221a;
  position:relative;
  transform:rotate(-9deg);
}
.product-sculpture i:before {
  content:'';
  position:absolute;
  left:27%;
  top:-25%;
  width:46%;
  height:40%;
  border:5px solid #f8f7ef;
  border-bottom:0;
  border-radius:40% 40% 0 0;
}
.product-sculpture i:after {
  content:'b.';
  position:absolute;
  left:30%;
  top:25%;
  font-size:42px;
  letter-spacing:-6px;
  color:#5c7154;
}
.shop-line {
  position:absolute;
  bottom:18px;
  left:20px;
  right:20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:10px;
}
.shop-line b {
  font-size:20px;
}
.hero-ticket {
  position:absolute;
  width:41%;
  left:52%;
  top:49%;
  padding:22px 18px;
  background:var(--paper);
  color:var(--ink);
  transform:rotate(9deg);
  box-shadow:0 8px 20px #00236b25;
}
.hero-ticket>span {
  font-size:7px;
  letter-spacing:.1em;
}
.hero-ticket strong {
  display:block;
  font-weight:500;
  font-size:clamp(21px,2.6vw,45px);
  letter-spacing:-.06em;
  margin:15px 0;
}
.ticket-bars {
  height:22px;
  background:repeating-linear-gradient(90deg,#171918 0 1px,transparent 1px 4px,#171918 4px 6px,transparent 6px 8px);
  margin:15px 0 10px;
}
.hero-ticket small {
  font-size:6px;
  letter-spacing:.05em;
}
.growth-orbits {
  position:absolute;
  inset:13% 3% 5%;
  transform:rotate(-28deg);
}
.orbit {
  position:absolute;
  border:1px solid #cbdfff;
  border-radius:50%;
  width:96%;
  height:47%;
  left:2%;
}
.orbit--one {
  top:5%;
}
.orbit--two {
  top:27%;
}
.orbit--three {
  top:49%;
}
.growth-core {
  position:absolute;
  left:39%;
  top:40%;
  width:23%;
  aspect-ratio:1;
  background:#063895;
  border:1px solid #80b0ff;
  display:grid;
  place-items:center;
  transform:rotate(28deg);
}
.growth-core img {
  width:55%;
  height:auto;
}
.orbit-label {
  position:absolute;
  padding:10px;
  background:#075bea;
  font-size:9px;
  letter-spacing:.1em;
  transform:rotate(28deg);
}
.orbit-label--one {
  top:13%;
  left:5%;
}
.orbit-label--two {
  top:43%;
  right:-3%;
}
.orbit-label--three {
  bottom:11%;
  left:20%;
}
.orbit-dot {
  position:absolute;
  background:var(--paper);
  border-radius:50%;
  width:22px;
  height:22px;
  box-shadow:0 0 0 7px #075bea;
}
.dot--one {
  top:11%;
  left:75%;
}
.dot--two {
  top:68%;
  left:4%;
}
.dot--three {
  top:88%;
  left:63%;
}
.ops-architecture {
  position:absolute;
  width:90%;
  height:70%;
  top:21%;
  left:8%;
  transform:rotate(-9deg);
}
.ops-floor {
  position:absolute;
  inset:8% -10% -10%;
  border:1px solid #ffffff45;
  transform:skewY(-15deg);
  background:repeating-linear-gradient(0deg,transparent 0 63px,#ffffff18 64px 65px),repeating-linear-gradient(90deg,transparent 0 63px,#ffffff18 64px 65px);
}
.ops-block {
  position:absolute;
  left:calc(8% + var(--col)*26%);
  top:calc(20% + var(--row)*23% - var(--rise)*.28);
  width:22%;
  height:22%;
  background:#deebff;
  box-shadow:8px 10px 0 #a3c3f9,16px 20px 0 #0341ab;
  transform:skewY(-15deg);
  display:grid;
  place-items:center;
  color:#16488e;
}
.ops-block span {
  font-size:12px;
  transform:skewY(15deg);
}
.ops-block:nth-child(6) {
  background:#182224;
  box-shadow:8px 10px 0 #0c1a23,16px 20px 0 #0341ab;
  z-index:2;
}
.ops-block img {
  width:36px;
  height:36px;
}
.ops-caption {
  position:absolute;
  right:1%;
  bottom:0;
  font-size:9px;
  line-height:1.6;
  text-align:right;
  transform:rotate(9deg);
}
.premise {
  padding:130px var(--gutter) 120px;
  max-width:1800px;
  margin:auto;
}
.premise>.eyebrow {
  color:var(--muted);
  margin-bottom:32px;
}
.premise h2 {
  font-size:clamp(32px,4.1vw,70px);
  font-weight:500;
  letter-spacing:-.06em;
  line-height:1.12;
}
.premise h2 span {
  color:#71776e;
}
.premise-aside {
  max-width:380px;
  font-size:15px;
  line-height:1.75;
  margin-top:36px;
  margin-left:auto;
  color:var(--muted);
}
.narrative {
  background:#181d1c;
  color:var(--scene-ink);
  position:relative;
  --join:1;
  --travel:1;
  --resolve:1;
  --progress:1;
}
.scene-pin {
  padding:28px var(--gutter);
  max-width:2200px;
  margin:auto;
}
.scene-top,.scene-bottom {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  font-size:9px;
  letter-spacing:.11em;
  color:#b7c3b9;
}
.scene-top {
  border-bottom:1px solid #ffffff24;
  padding-bottom:20px;
}
.scene-controls {
  display:flex;
  gap:24px;
  align-items:center;
}
.scene-controls a,.motion-toggle {
  font-size:10px;
  letter-spacing:0;
  color:#d6ded7;
}
.motion-toggle {
  border:0;
  background:none;
  padding:10px 0;
  text-decoration:underline;
  text-underline-offset:4px;
  display:none;
}
.enhanced .motion-toggle {
  display:block;
}
.scene-layout {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:5vw;
  align-items:center;
  padding:50px 0;
}
.beat {
  padding:24px 0;
}
.beat .eyebrow {
  color:#a6b5aa;
  margin-bottom:26px;
}
.beat .eyebrow span {
  color:#9ac2ff;
}
.beat h2 {
  font-size:clamp(30px,3.8vw,66px);
  line-height:1.09;
  letter-spacing:-.055em;
  font-weight:480;
}
.beat>p:last-child {
  font-size:15px;
  line-height:1.7;
  color:#bdc8c1;
  margin-top:25px;
  max-width:370px;
}
.scene-art {
  width:100%;
  aspect-ratio:1.1;
  position:relative;
  align-self:center;
  container-type:inline-size;
}
.diagram-heading {
  display:flex;
  justify-content:space-between;
  font-size:8px;
  letter-spacing:.1em;
  color:#bccdc2;
  position:absolute;
  top:0;
  width:100%;
}
.diagram-phase {
  color:#9ac2ff;
}
.scene-bottom {
  border-top:1px solid #ffffff24;
  padding-top:20px;
}
.scene-progress {
  height:2px;
  flex:1;
  max-width:260px;
  background:#ffffff30;
}
.scene-progress i {
  display:block;
  height:100%;
  background:#8bb8ff;
  transform-origin:left;
  transform:scaleX(var(--progress));
}
.scene-counter {
  font-variant-numeric:tabular-nums;
}
.store-machine,.growth-machine,.ops-machine {
  position:absolute;
  inset:6% 0 0;
}
.store-frame {
  position:absolute;
  inset:7% 4% 21%;
  border:1px solid #679cf1;
  border-radius:7px;
  opacity:var(--join);
  transform:scale(calc(.9 + var(--join)*.1));
  background:#075bea14;
}
.frame-title {
  height:20%;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 18px;
  font-size:9px;
  letter-spacing:.1em;
  color:#c5d9ff;
}
.frame-title img {
  width:19px;
  height:19px;
}
.frame-title span:last-child {
  margin-left:auto;
  font-size:17px;
}
.frame-rule {
  height:1px;
  background:#699cff40;
}
.module {
  position:absolute;
  left:calc(9% + var(--i)*28%);
  top:32%;
  width:26%;
  height:32%;
  background:#e6e9df;
  color:#1c251f;
  border:1px solid #d4dacf;
  border-radius:3px;
  display:flex;
  flex-direction:column;
  padding:12px;
  transform:translate(calc((1 - var(--join))*var(--dx)),calc((1 - var(--join))*var(--dy))) rotate(calc((1 - var(--join))*var(--rotate)));
  box-shadow:0 8px 0 #080f0d50;
}
.module--0 {
  --i:0;
  --dx:-9%;
  --dy:-18%;
  --rotate:-15deg;
}
.module--1 {
  --i:1;
  --dx:3%;
  --dy:35%;
  --rotate:13deg;
}
.module--2 {
  --i:2;
  --dx:12%;
  --dy:-34%;
  --rotate:-9deg;
}
.module-index {
  font-size:8px;
  color:#5a685c;
}
.module-symbol {
  font-size:42px;
  flex:1;
  display:grid;
  place-items:center;
  color:#38653e;
}
.module strong {
  font-size:12px;
  font-weight:550;
}
.flow-track {
  position:absolute;
  left:9%;
  right:9%;
  top:71%;
  height:2px;
  background:#ffffff30;
  opacity:var(--join);
}
.flow-track i {
  height:100%;
  background:#8bbaff;
  display:block;
  transform:scaleX(var(--travel));
  transform-origin:left;
}
.order-token {
  position:absolute;
  top:calc(71% - 14px);
  left:9%;
  width:28px;
  height:28px;
  background:#075bea;
  border:1px solid #b2cfff;
  display:grid;
  place-items:center;
  opacity:var(--join);
  transform:translateX(calc(var(--travel)*15.6cqw));
}
.machine-success {
  position:absolute;
  bottom:9%;
  left:0;
  width:100%;
  text-align:center;
  color:#b7d3ff;
  font-size:12px;
  opacity:var(--resolve);
  transform:translateY(calc((1 - var(--resolve))*12px));
}
.manual-track {
  position:absolute;
  bottom:2%;
  left:9%;
  width:82%;
  display:flex;
  align-items:center;
  gap:15px;
}
.manual-track span {
  font-size:7px;
  letter-spacing:.06em;
  color:#b7c3b9;
}
.manual-track i {
  height:1px;
  width:40%;
  background:repeating-linear-gradient(90deg,#86928a 0 30%,transparent 30% 40%);
}
.manual-track b {
  width:6px;
  height:6px;
  border:1px solid #b7c3b9;
}
.growth-paths,.ops-paths {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
.base-path {
  stroke:#64726a;
  stroke-dasharray:4 6;
}
.connected-paths {
  stroke:#85b5ff;
  stroke-width:1.5;
  opacity:var(--join);
  transform-origin:center;
  transform:scaleY(calc(.05 + var(--join)*.95));
}
.growth-hub {
  position:absolute;
  top:45%;
  left:44%;
  width:12%;
  aspect-ratio:1;
  background:var(--blue);
  border:1px solid #b4d1ff;
  border-radius:3px;
  display:grid;
  place-items:center;
  opacity:var(--join);
  transform:scale(calc(.8 + var(--join)*.2));
}
.growth-hub img {
  width:65%;
  height:auto;
}
.growth-label {
  position:absolute;
  font-size:12px;
  background:#181d1c;
  padding:8px 12px;
  color:#dce8dc;
  border:1px solid #697e6e;
  border-radius:2px;
}
.growth-label--0 {
  left:18%;
  top:15%;
}
.growth-label--1 {
  left:47%;
  top:74%;
}
.growth-label--2 {
  right:9%;
  top:15%;
}
.growth-particle {
  position:absolute;
  width:13px;
  height:13px;
  left:0;
  top:0;
  background:#f4f4ec;
  border-radius:50%;
  box-shadow:0 0 0 5px #181d1c;
}
.particle--1,.particle--2 {
  opacity:var(--join);
  background:#91baff;
}
.lost-opportunity {
  position:absolute;
  top:57%;
  left:4%;
  font-size:7px;
  letter-spacing:.09em;
  color:#9caea0;
  opacity:calc(1 - var(--resolve));
}
.lost-opportunity span {
  display:block;
  font-size:25px;
  margin-top:8px;
}
.growth-machine .machine-success {
  bottom:0;
}
.chaos-paths {
  stroke:#8e9a91;
  stroke-width:1;
  opacity:calc(.5 - var(--join)*.5);
}
.ordered-paths {
  stroke:#8bbaff;
  stroke-width:1.5;
  opacity:var(--join);
}
.ops-hub {
  position:absolute;
  left:43%;
  top:43%;
  width:14%;
  aspect-ratio:1;
  background:var(--blue);
  border:1px solid #9ec6ff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:3px;
  opacity:var(--join);
}
.ops-hub img {
  width:42%;
  height:auto;
}
.ops-hub span {
  font-size:7px;
  letter-spacing:.1em;
}
.ops-node {
  position:absolute;
  width:26%;
  height:15%;
  background:#222e28;
  border:1px solid #768a7d;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  padding:12px;
  transform:rotate(calc((1 - var(--join))*var(--r))) translateY(calc((1 - var(--join))*var(--y)));
}
.ops-node>span {
  font-size:8px;
  color:#b6c7bb;
}
.ops-node strong {
  font-size:11px;
  font-weight:500;
}
.ops-node--0 {
  left:2%;
  top:12%;
  --r:-9deg;
  --y:30px;
}
.ops-node--1 {
  left:37%;
  top:12%;
  --r:8deg;
  --y:-15px;
}
.ops-node--2 {
  left:72%;
  top:12%;
  --r:15deg;
  --y:40px;
}
.ops-node--3 {
  left:2%;
  top:72%;
  --r:8deg;
  --y:-25px;
}
.ops-node--4 {
  left:37%;
  top:72%;
  --r:-12deg;
  --y:12px;
}
.ops-node--5 {
  left:72%;
  top:72%;
  --r:5deg;
  --y:30px;
}
.ops-packet {
  position:absolute;
  left:0;
  top:0;
  width:10px;
  height:10px;
  background:#b1d0ff;
  opacity:var(--join);
}
.ops-machine .machine-success {
  bottom:0;
}
.enhanced .narrative:not(.is-static) {
  height:420svh;
}
.enhanced .narrative:not(.is-static) .scene-pin {
  height:100svh;
  position:sticky;
  top:0;
  display:flex;
  flex-direction:column;
}
.enhanced .narrative:not(.is-static) .scene-layout {
  flex:1;
  min-height:0;
  padding:25px 0;
}
.enhanced .narrative:not(.is-static) .beats {
  display:grid;
}
.enhanced .narrative:not(.is-static) .beat {
  grid-area:1/1;
  opacity:0;
  transform:translateY(20px);
  pointer-events:none;
}
.enhanced .narrative:not(.is-static) .scene-art {
  max-height:65svh;
  max-width:720px;
  justify-self:center;
}
.is-static .scene-art {
  position:sticky;
  top:60px;
}
.is-static .scene-bottom {
  display:none;
}
.is-static .scene-art {
  --join:1;
  --travel:1;
  --resolve:1;
}
.narrative:not(.is-static) .scene-controls a {
  white-space:nowrap;
}
.evidence {
  padding:120px var(--gutter);
  max-width:1800px;
  margin:auto;
}
.evidence-heading {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:end;
  margin-bottom:65px;
  gap:28px;
}
.evidence-heading>.eyebrow {
  grid-column:1/-1;
  color:var(--muted);
}
.evidence h2 {
  font-size:clamp(36px,4vw,72px);
  line-height:1.08;
  letter-spacing:-.055em;
  font-weight:500;
}
.evidence-heading>p:last-child {
  justify-self:end;
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
}
.proof {
  border-top:1px solid var(--line);
  padding:36px 0;
  display:grid;
  grid-template-columns:.25fr 1.15fr .6fr;
  gap:35px;
}
.proof-marker {
  display:flex;
  align-items:flex-start;
  gap:20px;
}
.proof-marker>span {
  font-size:42px;
  font-weight:400;
  letter-spacing:-.07em;
  color:#6d786b;
}
.proof-marker i {
  height:7px;
  width:7px;
  background:var(--blue);
  border-radius:50%;
  margin-top:12px;
}
.proof .eyebrow {
  color:var(--muted);
  margin-bottom:12px;
}
.proof h3 {
  font-size:26px;
  font-weight:500;
  letter-spacing:-.04em;
  margin-bottom:16px;
}
.proof-body>p:last-child {
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
  max-width:470px;
}
.proof-route {
  align-self:center;
  border-bottom:1px solid #9daba0;
  display:flex;
  align-items:center;
  gap:18px;
  padding-bottom:18px;
  font-size:12px;
  justify-content:space-between;
}
.proof-route i {
  font-style:normal;
  color:var(--blue);
  font-size:27px;
}
.proof-route strong {
  font-weight:500;
}
.product-note {
  border-top:1px solid var(--line);
  padding-top:28px;
  color:var(--muted);
  font-size:12px;
  line-height:1.7;
  max-width:780px;
}
.closing {
  background:var(--blue);
  color:#fff;
  padding:40px var(--gutter) 70px;
}
.closing-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #ffffff40;
  padding-bottom:26px;
}
.closing-top>span {
  font-size:9px;
  letter-spacing:.11em;
}
.closing h2 {
  font-size:clamp(40px,6vw,110px);
  font-weight:480;
  letter-spacing:-.065em;
  line-height:1.04;
  padding:64px 0;
}
.closing em {
  color:#bad4ff;
}
.closing-bottom {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:35px;
  max-width:1400px;
}
.closing-bottom>p {
  font-size:15px;
  line-height:1.7;
  max-width:365px;
  color:#e3edff;
}
.closing .action {
  background:var(--paper);
  color:#143667;
  margin:0;
  min-width:300px;
}
.closing .action:hover {
  background:white;
}
.price {
  font-size:10px;
  line-height:1.8;
  margin-top:18px;
  color:#e3edff;
}
.price a {
  text-decoration:underline;
  text-underline-offset:4px;
}
footer {
  padding:42px var(--gutter);
  display:flex;
  gap:30px;
  align-items:center;
  flex-wrap:wrap;
}
footer p {
  font-size:11px;
  color:var(--muted);
  margin-right:auto;
}
footer nav {
  display:flex;
  gap:22px;
  font-size:11px;
}
footer nav:last-child {
  width:100%;
  border-top:1px solid var(--line);
  padding-top:24px;
}
footer a[aria-current] {
  color:var(--blue);
}
@media(min-width:1800px) {
  .hero {
    column-gap:90px;
  }
  .eyebrow,.scene-top,.scene-bottom {
    font-size:11px;
  }
  .hero-bottom p,.beat>p:last-child {
    font-size:17px;
  }
  .hero-art {
    max-height:700px;
  }
  .module strong,.growth-label,.ops-node strong {
    font-size:15px;
  }
}
@media(max-width:1100px) {
  .eyebrow-tail {
    display:none;
  }
  .hero {
    column-gap:28px;
  }
  .hero-art {
    height:430px;
  }
  .hero-ticket {
    padding:16px;
  }
  .art-caption {
    left:18px;
    right:18px;
  }
  .scene-layout {
    gap:32px;
  }
  .scene-top>span {
    max-width:230px;
    line-height:1.6;
  }
  .scene-controls {
    gap:16px;
  }
  .scene-controls a,.motion-toggle {
    font-size:9px;
  }
  .proof {
    grid-template-columns:.2fr 1fr .6fr;
    gap:24px;
  }
}
@media(max-width:850px) {
  .site-header {
    height:72px;
  }
  .site-header nav {
    gap:24px;
  }
  .hero {
    padding-top:40px;
    grid-template-columns:1fr 1fr;
    min-height:auto;
    gap:25px;
  }
  h1 {
    font-size:clamp(40px,5.8vw,52px);
  }
  .hero-art {
    height:410px;
  }
  .hero-bottom p {
    font-size:13px;
  }
  .art-caption span:last-child {
    display:none;
  }
  .hero-ticket strong {
    font-size:24px;
  }
  .hero-ticket small {
    font-size:5px;
  }
  .hero-ticket {
    width:46%;
    left:48%;
  }
  .premise {
    padding-top:90px;
    padding-bottom:90px;
  }
  .scene-layout {
    grid-template-columns:1fr;
    gap:10px;
  }
  .enhanced .narrative:not(.is-static) .scene-layout {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:stretch;
    padding:24px 0;
  }
  .beats {
    max-width:620px;
  }
  .beat {
    padding:12px 0;
  }
  .beat h2 {
    font-size:38px;
  }
  .beat .eyebrow {
    margin-bottom:16px;
  }
  .beat>p:last-child {
    max-width:540px;
    font-size:14px;
    margin-top:16px;
  }
  .enhanced .narrative:not(.is-static) .scene-art {
    width:min(100%,540px);
    height:min(44svh,450px);
    max-height:none;
    align-self:center;
  }
  .scene-art {
    aspect-ratio:1.25;
    max-width:600px;
    justify-self:center;
  }
  .scene-top {
    font-size:8px;
  }
  .scene-controls {
    align-items:flex-end;
    flex-direction:column;
    gap:0;
  }
  .scene-top>span {
    max-width:220px;
  }
  .scene-bottom {
    font-size:8px;
  }
  .scene-bottom>span:first-child {
    max-width:170px;
    line-height:1.7;
  }
  .is-static .scene-art {
    position:relative;
    top:0;
  }
  .is-static .beats {
    max-width:none;
  }
  .is-static .beat {
    padding:28px 0;
    border-bottom:1px solid #ffffff25;
  }
  .is-static .scene-layout {
    padding-top:20px;
  }
  .is-static .scene-art {
    width:100%;
    height:430px;
  }
  .evidence {
    padding-top:90px;
    padding-bottom:90px;
  }
  .proof {
    grid-template-columns:60px 1fr;
    gap:20px;
  }
  .proof-route {
    grid-column:2;
    max-width:300px;
    min-width:250px;
  }
  .evidence-heading>p:last-child {
    font-size:12px;
  }
  .closing h2 {
    font-size:58px;
  }
  .closing-bottom>p {
    max-width:300px;
    font-size:13px;
  }
  .closing .action {
    min-width:240px;
  }
  .closing-bottom {
    gap:25px;
  }
  .price {
    font-size:9px;
  }
}
@media(max-width:600px) {
  :root {
    --gutter:22px;
  }
  .site-header {
    height:66px;
  }
  .brand img {
    width:82px;
  }
  .site-header nav {
    gap:15px;
    font-size:10px;
  }
  .header-start {
    display:none;
  }
  .hero {
    grid-template-columns:1fr;
    padding-top:30px;
    gap:0;
  }
  .hero .eyebrow {
    margin-bottom:24px;
    font-size:9px;
  }
  .hero h1 {
    font-size:clamp(42px,10.7vw,64px);
    letter-spacing:-.065em;
    line-height:1.02;
  }
  .hero-bottom {
    display:flex;
    flex-direction:column;
    margin-top:24px;
  }
  .hero-bottom p {
    font-size:14px;
    max-width:330px;
    line-height:1.65;
  }
  .hero .action {
    align-self:flex-start;
    margin-top:22px;
    font-size:12px;
    padding:13px 18px;
    min-height:48px;
  }
  .hero-art {
    height:390px;
    margin-top:35px;
  }
  .art-caption {
    font-size:8px;
    top:18px;
  }
  .art-caption span:last-child {
    display:block;
  }
  .art-coordinate {
    font-size:8px;
    bottom:18px;
    left:18px;
  }
  .hero-ticket strong {
    font-size:30px;
  }
  .hero-ticket small {
    font-size:6px;
  }
  .hero-ticket {
    width:42%;
    left:52%;
  }
  .shop-object {
    height:60%;
  }
  .shop-line {
    font-size:9px;
  }
  .shop-brand {
    font-size:8px;
  }
  .scroll-cue {
    margin-top:22px;
    padding:17px 0;
    font-size:8px;
  }
  .scroll-cue>span {
    display:none;
  }
  .premise {
    padding-top:76px;
    padding-bottom:76px;
  }
  .premise h2 {
    font-size:34px;
  }
  .premise>.eyebrow {
    font-size:8px;
    margin-bottom:22px;
  }
  .premise-aside {
    font-size:14px;
    max-width:300px;
    margin-left:0;
    margin-top:26px;
  }
  .scene-pin {
    padding-top:16px;
    padding-bottom:18px;
  }
  .scene-top {
    padding-bottom:12px;
    gap:12px;
  }
  .scene-top>span {
    font-size:7px;
    max-width:130px;
  }
  .scene-controls a,.motion-toggle {
    font-size:9px;
    padding:6px 0;
  }
  .enhanced .narrative:not(.is-static) {
    height:390svh;
  }
  .enhanced .narrative:not(.is-static) .scene-layout {
    padding:16px 0;
    gap:10px;
    justify-content:space-evenly;
  }
  .beat h2 {
    font-size:clamp(29px,8vw,37px);
  }
  .beat .eyebrow {
    font-size:8px;
    margin-bottom:16px;
  }
  .beat>p:last-child {
    font-size:13px;
    line-height:1.65;
    max-width:340px;
  }
  .enhanced .narrative:not(.is-static) .scene-art {
    height:min(42svh,350px);
    min-height:245px;
    max-width:400px;
  }
  .diagram-heading {
    font-size:7px;
  }
  .scene-bottom {
    font-size:7px;
    gap:15px;
    padding-top:15px;
  }
  .scene-bottom>span:first-child {
    max-width:140px;
  }
  .scene-progress {
    max-width:90px;
  }
  .module {
    padding:9px;
  }
  .module strong {
    font-size:10px;
  }
  .module-symbol {
    font-size:30px;
  }
  .module-index {
    font-size:7px;
  }
  .machine-success {
    font-size:10px;
  }
  .growth-label {
    font-size:9px;
    padding:7px 8px;
  }
  .growth-particle {
    width:10px;
    height:10px;
  }
  .growth-label--1 {
    top:77%;
  }
  .ops-node {
    padding:7px;
    gap:5px;
  }
  .ops-node strong {
    font-size:9px;
  }
  .ops-node>span {
    font-size:7px;
  }
  .ops-hub span {
    font-size:6px;
  }
  .order-token {
    width:22px;
    height:22px;
    top:calc(71% - 11px);
  }
  .frame-title {
    padding:10px 12px;
    font-size:8px;
  }
  .manual-track span {
    font-size:6px;
  }
  .is-static .scene-art {
    height:330px;
  }
  .evidence {
    padding-top:75px;
    padding-bottom:75px;
  }
  .evidence-heading {
    display:block;
    margin-bottom:38px;
  }
  .evidence-heading>.eyebrow {
    font-size:8px;
    margin-bottom:24px;
  }
  .evidence h2 {
    font-size:36px;
  }
  .evidence-heading>p:last-child {
    margin-top:22px;
    font-size:13px;
  }
  .proof {
    grid-template-columns:38px 1fr;
    gap:16px;
    padding:28px 0;
  }
  .proof-marker {
    gap:8px;
  }
  .proof-marker>span {
    font-size:28px;
  }
  .proof-marker i {
    width:4px;
    height:4px;
    margin-top:8px;
  }
  .proof .eyebrow {
    font-size:8px;
  }
  .proof h3 {
    font-size:23px;
  }
  .proof-body>p:last-child {
    font-size:13px;
  }
  .proof-route {
    font-size:11px;
    min-width:0;
    width:100%;
    max-width:260px;
  }
  .product-note {
    font-size:11px;
  }
  .closing {
    padding-top:28px;
    padding-bottom:46px;
  }
  .closing-top .eyebrow {
    font-size:9px;
  }
  .closing-top>span {
    font-size:7px;
    max-width:125px;
    text-align:right;
    line-height:1.6;
  }
  .closing h2 {
    font-size:clamp(36px,10vw,56px);
    padding:45px 0 35px;
  }
  .closing-bottom {
    display:block;
  }
  .closing-bottom>p {
    max-width:330px;
    font-size:14px;
  }
  .closing-bottom>div {
    margin-top:30px;
  }
  .closing .action {
    min-width:260px;
  }
  .price {
    font-size:10px;
    margin-top:18px;
  }
  footer {
    padding-top:32px;
    padding-bottom:32px;
    gap:24px;
  }
  footer img {
    width:88px;
  }
  footer p {
    max-width:170px;
    font-size:10px;
    margin:0;
  }
  footer nav {
    font-size:10px;
    gap:20px;
  }
  footer nav:last-child {
    padding-top:20px;
  }
}
@media(max-width:360px) {
  :root {
    --gutter:18px;
  }
  .site-header nav {
    gap:12px;
  }
  .hero-art {
    height:335px;
  }
  .hero-ticket strong {
    font-size:25px;
  }
  .shop-object {
    padding:15px;
  }
  .hero h1 {
    font-size:40px;
  }
  .beat h2 {
    font-size:28px;
  }
  .beat>p:last-child {
    font-size:12px;
  }
  .enhanced .narrative:not(.is-static) .scene-art {
    min-height:215px;
  }
  .scene-top>span {
    max-width:100px;
  }
  .scene-bottom>span:first-child {
    max-width:115px;
  }
  .module strong {
    font-size:9px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    transition:none!important;
  }
  .action:hover {
    transform:none;
  }
}
@media print {
  .site-header,.hero-art,.scene-art,.scene-top,.scene-bottom,.motion-toggle,.scroll-cue {
    display:none!important;
  }
  .enhanced .narrative:not(.is-static) {
    height:auto!important;
  }
  .enhanced .narrative:not(.is-static) .scene-pin {
    height:auto;
    position:static;
  }
  .scene-layout,.enhanced .narrative:not(.is-static) .beats {
    display:block;
  }
  .enhanced .narrative:not(.is-static) .beat {
    opacity:1!important;
    transform:none!important;
    break-inside:avoid;
  }
  .narrative,.closing {
    background:white;
    color:black;
  }
  .beat>p:last-child {
    color:#333;
  }
  .hero {
    display:block;
  }
  .hero,.premise,.evidence,.closing {
    padding:30px;
  }
  .closing em {
    color:var(--blue);
  }
}
/* Keep the captions inside the architectural crop at narrow aspect ratios. */
.orbit-label--one {
  left:14%;
  top:14%;
}
.orbit-label--three {
  bottom:13%;
  left:26%;
}
.ops-caption {
  right:12%;
  bottom:-1%;
}
@media(max-width:850px) {
  .ops-block {
    height:18%;
    top:calc(20% + var(--row)*24% - var(--rise)*.15);
  }
  .ops-caption {
    right:13%;
    bottom:-2%;
    font-size:8px;
  }
}
@media(max-width:600px) {
  .orbit-label--one {
    left:17%;
    top:15%;
  }
  .orbit-label--two {
    right:7%;
    top:43%;
  }
  .ops-caption {
    bottom:0;
  }
}
@media(max-width:600px) {
  .ops-node {
    height:18%;
    min-height:42px;
  }
  .ops-hub span {
    display:none;
  }
}
/* Chapter controls offer the same sequence to keyboard and touch navigation. */
.scene-chapters { display: flex; gap: 4px; }
.scene-chapters button { width: 44px; height: 44px; color: #c8d2ca; background: none; border: 1px solid transparent; font-size: 10px; }
.scene-chapters button[aria-current] { border-color: #8bb8ff; color: #b7d3ff; }
.scene-chapters button:hover { background: #ffffff0d; }
.scene-counter { display: none; }
@media (max-width: 600px) { .scene-bottom > span:first-child { display: none; } .scene-bottom { padding-top: 10px; } }
.scene-chapters { display: none; }
.enhanced .narrative:not(.is-static) .scene-chapters { display: flex; }
.ops-node, .ops-hub, .growth-label { z-index: 2; }
.ops-packet, .growth-particle { z-index: 1; }
/* High-contrast focus on both paper and dark/blue scenes. */
a:focus-visible, button:focus-visible { outline-color: #075bea; }
.narrative a:focus-visible, .narrative button:focus-visible, .closing a:focus-visible { outline-color: #fff; }
@media (max-width: 600px) { .site-header nav { font-size: 11.5px; } }
@media (max-width: 600px) and (max-height: 650px) {
  .enhanced .narrative:not(.is-static) .scene-layout { gap: 6px; padding: 10px 0; }
  .enhanced .narrative:not(.is-static) .scene-art { min-height: 185px; height: 34svh; }
  .beat { padding: 8px 0; }
  .beat > p:last-child { line-height: 1.55; margin-top: 12px; }
  .beat .eyebrow { margin-bottom: 12px; }
}
