/* Veil6 v2: shared layer on top of site.css. Sentence case, one loud moment per section,
   each page picks its own worlds (w-night, w-paper, w-sand, w-sumi, w-red, w-grid). */
.v2{--ink:#0F0E0C;--paper:#F2EDE3;--sand:#E7DFD0;--cream:#EEE7DA;--red:#D42A1F;--red2:#F04E43;--card:#FBF8F2;--rule:#C9BFAE}
html{color-scheme:dark}
html:has(body[data-theme=paper]){color-scheme:light}
body{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
section.v2{position:relative;padding:clamp(56px,6vw,92px) var(--pad);scroll-margin-top:var(--hdr)}
.v2 .wrap{max-width:1240px;margin:0 auto;position:relative;padding:0}
.v2 [id]{scroll-margin-top:calc(var(--hdr) + 16px)}

/* worlds */
.w-night{background:linear-gradient(#0F0E0C,#17120F 70%,#0F0E0C);color:var(--cream)}
.w-sumi{background:#131311;color:var(--cream)}
.w-paper{background:var(--paper);color:var(--ink)}
.w-sand{background:var(--sand);color:var(--ink)}
.w-red{background:var(--red);color:#FFF4EC}
.w-grid{background-color:var(--card);color:var(--ink);background-image:linear-gradient(rgba(23,20,15,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(23,20,15,.06) 1px,transparent 1px);background-size:28px 28px}
.w-night,.w-sumi{--mut:#BFB5A5;--line:rgba(238,231,218,.14);--panel:#1B1815}
.w-paper,.w-sand,.w-grid{--mut:#4A453C;--line:#D2C8B6;--panel:var(--card)}
.w-red{--mut:#FFF4EC;--line:rgba(255,244,236,.3);--panel:rgba(255,244,236,.1)}

/* type */
.v2 .kick{font-size:17px;color:var(--mut);margin-bottom:22px;display:flex;align-items:center;gap:10px}
.v2 .kick:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--red2);box-shadow:0 0 0 6px rgba(240,78,67,.18)}
.w-red .kick:before{background:#FFF4EC;box-shadow:0 0 0 6px rgba(255,244,236,.2)}
.v2 h1.x{font-family:var(--sans);font-weight:650;font-size:clamp(44px,6.2vw,96px);line-height:.98;letter-spacing:-.04em;text-wrap:balance}
.v2 h1.x em,.v2 h2 em{font-style:normal;color:var(--red2)}
.w-paper h1.x em,.w-paper h2 em,.w-sand h2 em,.w-grid h2 em,.w-grid h1.x em{color:var(--red)}
.w-red h1.x em,.w-red h2 em{color:var(--ink)}
.v2 h2{font-family:var(--sans);font-weight:600;font-size:clamp(34px,4.4vw,64px);line-height:1.02;letter-spacing:-.03em;max-width:18ch;text-wrap:balance}
.v2 h3{text-wrap:balance}
.v2 .sub{font-size:clamp(17px,1.4vw,20px);line-height:1.55;max-width:58ch;margin-top:18px;text-wrap:pretty;color:var(--mut)}
.v2 .lead{font-size:clamp(19px,1.6vw,23px);line-height:1.5;max-width:52ch;margin-top:20px;text-wrap:pretty}
.v2 .big{font-size:clamp(54px,6.4vw,104px)}
.v2 .num{font-variant-numeric:tabular-nums}
.v2 .head{display:flex;justify-content:space-between;align-items:end;gap:24px 40px;flex-wrap:wrap}
.v2 .head .sub{max-width:42ch}

/* actions */
.v2 .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.v2 .pill{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font:600 16px/1 var(--sans);letter-spacing:-.01em;cursor:pointer;border:0;white-space:nowrap;transition:transform .2s,background-color .2s,color .2s,box-shadow .2s}
.v2 .pill:hover{transform:translateY(-2px)}
.v2 .pill:active{transform:translateY(0)}
.v2 .pill.main{background:var(--cream);color:var(--ink)}
.w-paper .pill.main,.w-sand .pill.main,.w-grid .pill.main{background:var(--ink);color:var(--cream)}
.w-red .pill.main{background:#FFF4EC;color:var(--red)}
.v2 .pill.main:hover{box-shadow:0 14px 30px -14px currentColor}
.v2 .pill.line{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.v2 .pill.line:hover{background:color-mix(in srgb,currentColor 10%,transparent)}
.v2 .txtlink{font-weight:600;border-bottom:1.5px solid currentColor;padding-bottom:2px;transition:color .2s}
.v2 .txtlink:hover{color:var(--red2)}
.w-paper .txtlink:hover,.w-sand .txtlink:hover,.w-grid .txtlink:hover{color:var(--red)}
.v2 .v-alt{margin-top:26px;font-size:16px;color:var(--mut);display:flex;flex-wrap:wrap;gap:8px 22px}
.v2 .v-alt a{color:inherit}

/* hero */
.v2.vh{min-height:88svh;display:flex;align-items:center;overflow:hidden;padding-top:calc(var(--hdr) + 48px)}
.v2.vh>.wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,80px);align-items:center;width:100%}
.v2.vh.solo>.wrap{grid-template-columns:1fr}
.v2.vh.solo h1.x{max-width:16ch}
.v2 .glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 55% at 85% 30%,rgba(212,42,31,.28),transparent 62%)}
.v2 .facts{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:26px;font-size:18px;color:var(--mut)}
.v2 .facts b{color:inherit;filter:brightness(1.4)}
.w-paper .facts b,.w-sand .facts b{filter:none;color:var(--ink)}

/* art panels: decorative, animate on their own */
.v2 .art{position:relative;border-radius:28px;min-height:420px;overflow:hidden;isolation:isolate}
.v2 .art.panel{background:linear-gradient(160deg,#1E1A16,#141210);border:1px solid rgba(238,231,218,.12);box-shadow:0 40px 120px -30px rgba(212,42,31,.35);color:var(--cream)}
.v2 .art.light{background:var(--card);border:1px solid var(--line);box-shadow:0 40px 90px -50px rgba(23,20,15,.45);color:var(--ink)}
.v2 .art svg{display:block;width:100%;height:100%}

/* bands of three */
.v2 .tri{display:grid;grid-template-columns:repeat(3,1fr)}
.v2 .tri>div{padding:6px clamp(18px,3vw,44px);border-left:1px solid var(--line)}
.v2 .tri>div:first-child{border-left:0;padding-left:0}
.v2 .tri p{font-size:18px;line-height:1.45;margin-top:12px;max-width:30ch;color:var(--mut)}

/* cards */
.v2 .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.v2 .cards.c2{grid-template-columns:repeat(2,1fr)}
.v2 .cards.c4{grid-template-columns:repeat(4,1fr)}
.v2 .card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:12px;min-width:0;transition:transform .3s,box-shadow .3s}
.v2 a.card:hover,.v2 .card.lift:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(0,0,0,.45)}
.v2 .card .tag{font-size:15px;color:var(--mut)}
.v2 .card h3{font-size:clamp(30px,2.6vw,42px);overflow-wrap:anywhere}
.v2 .card h3.t{font-family:var(--sans);font-weight:650;font-size:clamp(21px,1.7vw,25px);letter-spacing:-.02em;line-height:1.15}
.v2 .card p{font-size:17px;line-height:1.5;color:var(--mut)}
.v2 .card .foot{margin-top:auto;padding-top:16px;font-weight:600;font-size:16px}
.v2 .card .bar{height:4px;width:44px;background:var(--red2);border-radius:4px}
.w-paper .card .bar,.w-sand .card .bar,.w-grid .card .bar{background:var(--red)}
.v2 .card.dark{background:var(--ink);color:var(--cream);border-color:transparent;--mut:#BFB5A5}
.v2 .card.redc{background:var(--red);color:#FFF4EC;border-color:transparent;--mut:#FFF4EC}

/* steps */
.v2 .v-steps{display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:24px;margin-top:40px;position:relative}
.v2 .v-steps:before,.v2 .v-steps:after{content:"";position:absolute;left:0;top:15px;height:2px}
.v2 .v-steps:before{right:0;background:var(--line)}
.v2 .v-steps:after{width:0;background:var(--red2);transition:width 2.4s cubic-bezier(.3,.6,.2,1)}
.w-paper .v-steps:after,.w-sand .v-steps:after{background:var(--red)}
.v2 .v-steps.in:after{width:100%}
.v2 .step{position:relative;padding-top:52px}
.v2 .step:before{content:"";position:absolute;top:6px;left:0;width:20px;height:20px;border-radius:50%;background:currentColor;box-shadow:inset 0 0 0 6px var(--bg-step,#131311);border:2px solid var(--red2)}
.w-sumi .step:before{--bg-step:#131311}.w-night .step:before{--bg-step:#17120F}
.w-paper .step:before{--bg-step:#F2EDE3;border-color:var(--red)}.w-sand .step:before{--bg-step:#E7DFD0;border-color:var(--red)}
.v2 .step .when{font-size:15px;color:var(--red2);font-weight:600}
.w-paper .step .when,.w-sand .step .when{color:var(--red)}
.v2 .step h3{font-size:clamp(28px,2.4vw,38px);margin-top:6px}
.v2 .step p{font-size:17px;line-height:1.5;color:var(--mut);margin-top:10px}

/* ledger */
.v2 .ledger{margin-top:44px;border-top:2px solid currentColor}
.v2 .lrow{display:grid;grid-template-columns:1fr 1.6fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);align-items:baseline}
.v2 .lrow h3{font-size:clamp(30px,2.6vw,42px)}
.v2 .lrow p{font-size:18px;line-height:1.5;color:var(--mut)}

/* split */
.v2 .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.v2 .ticks{list-style:none;margin-top:28px;display:grid;gap:14px}
.v2 .ticks li{display:flex;gap:14px;font-size:18px;line-height:1.45;color:var(--mut)}
.v2 .ticks li b{color:inherit;filter:brightness(1.3)}
.w-paper .ticks li b,.w-sand .ticks li b,.w-grid .ticks li b{filter:none;color:var(--ink)}
.v2 .ticks li:before{content:"";flex:none;width:8px;height:8px;margin-top:10px;border-radius:50%;background:var(--red2)}
.w-paper .ticks li:before,.w-sand .ticks li:before,.w-grid .ticks li:before{background:var(--red)}

/* faq */
.v2 .faq{margin-top:40px;border-top:2px solid currentColor}
.v2 .faq details{border-bottom:1px solid var(--line)}
.v2 .faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;font:600 clamp(19px,1.6vw,23px)/1.3 var(--sans);letter-spacing:-.015em}
.v2 .faq summary::-webkit-details-marker{display:none}
.v2 .faq summary:after{content:"+";flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1.5px solid currentColor;font-weight:400;transition:transform .25s}
.v2 .faq details[open] summary:after{transform:rotate(45deg)}
.v2 .faq details p{font-size:18px;line-height:1.6;color:var(--mut);max-width:70ch;padding:0 0 24px}

/* form zone: reuses the live form markup and site.js step logic */
.v2.fz>.wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,80px);align-items:start}
.v2.fz .side{position:sticky;top:calc(var(--hdr) + 32px)}
.v2.fz form[data-form]{background:var(--paper);color:var(--ink);border-radius:28px;padding:clamp(24px,3vw,44px);box-shadow:0 40px 100px -40px rgba(0,0,0,.7);display:grid;gap:16px}
.v2.fz form h2{font-size:clamp(30px,2.6vw,40px);color:var(--ink)}
.v2.fz form label{display:grid;gap:7px;font:600 15px/1.3 var(--sans);color:var(--ink);letter-spacing:-.005em}
.v2.fz form input:not([type=radio]):not([type=checkbox]),.v2.fz form textarea,.v2.fz form select{width:100%;min-height:52px;border:1.5px solid var(--rule);border-radius:14px;background:var(--card);color:var(--ink);padding:12px 16px;font:400 17px var(--sans);transition:border-color .2s,box-shadow .2s}
.v2.fz form textarea{min-height:120px;resize:vertical}
.v2.fz form input:focus-visible,.v2.fz form textarea:focus-visible,.v2.fz form select:focus-visible{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(212,42,31,.35)}
.v2.fz form [aria-invalid=true]{border-color:#A3150F!important}
.v2.fz form fieldset{border:0;display:grid;gap:10px}
.v2.fz form legend{font:600 15px var(--sans);margin-bottom:10px;color:var(--ink)}
.v2.fz form .chips{display:flex;flex-wrap:wrap;gap:8px}
.v2.fz form .chips label{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--rule);font:500 15px var(--sans);cursor:pointer;background:transparent;color:var(--ink);transition:background-color .15s,color .15s,border-color .15s}
.v2.fz form .chips input:checked+label{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.v2.fz form .chips input:focus-visible+label{outline:2px solid var(--red);outline-offset:3px}
.v2.fz form .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.v2.fz form .btn{background:var(--ink);color:var(--cream);min-height:54px;border-radius:999px;padding:0 28px;font:600 16px var(--sans);letter-spacing:-.01em;text-transform:none}
.v2.fz form .fstep{display:grid;gap:16px}
.v2.fz form .fstep-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.v2.fz form .fnote,.v2.fz form [role=status]{font-size:15px;color:#5F594E}
.v2.fz form [role=status]:not(:empty){color:#A3150F;font-weight:600}
.v2.fz form .fback{background:none;border:0;font:600 15px var(--sans);color:#5F594E;cursor:pointer;min-height:44px}
.v2.fz form .ftrust{font:500 14px var(--sans);letter-spacing:0;text-transform:none}

/* end band */
.v2.closing{text-align:center}
.v2.closing h2{margin:0 auto;max-width:16ch}
.v2.closing .sub{margin-left:auto;margin-right:auto}
.v2.closing .acts{justify-content:center}

/* reveal */
.v2 .rv{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.v2 .rv.in{opacity:1;transform:none}
.no-js .v2 .rv{opacity:1;transform:none}

@media (max-width:980px){
  .v2.vh>.wrap,.v2 .split,.v2.fz>.wrap{grid-template-columns:1fr}
  .v2.fz .side{position:static}
  .v2 .cards,.v2 .cards.c4{grid-template-columns:1fr 1fr}
  .v2 .v-steps{grid-template-columns:1fr 1fr;row-gap:40px}
  .v2 .v-steps:before,.v2 .v-steps:after{display:none}
  .v2 .art{min-height:360px}
}
@media (max-width:640px){
  section.v2{padding:52px var(--pad)}
  .v2.vh{min-height:0;padding-top:calc(var(--hdr) + 32px)}
  .v2 .tri{grid-template-columns:1fr}
  .v2 .tri>div{border-left:0;border-top:1px solid var(--line);padding:22px 0}
  .v2 .tri>div:first-child{border-top:0;padding-top:0}
  .v2 .cards,.v2 .cards.c2,.v2 .cards.c4,.v2 .v-steps{grid-template-columns:1fr}
  .v2 .lrow{grid-template-columns:1fr;gap:8px}
  .v2.fz form .two{grid-template-columns:1fr}
  .v2 .acts .pill{flex:1;justify-content:center;padding:0 16px;font-size:15.5px}
  .v2 .art{min-height:300px}
}
@media (prefers-reduced-motion:reduce){
  .v2 .rv{opacity:1;transform:none;transition:none}
  .v2 .v-steps:after{transition:none;width:100%}
  .v2 *{animation:none!important}
}

.v2 [hidden]{display:none!important}

/* legal: a calm reading layout around the live text */
.v2.legal{display:grid;grid-template-columns:240px minmax(0,720px);gap:clamp(32px,6vw,96px);justify-content:center;padding:calc(var(--hdr) + 64px) var(--pad) 120px;min-height:100svh}
.v2.legal aside{position:sticky;top:calc(var(--hdr) + 32px);align-self:start;display:grid;gap:4px}
.v2.legal aside a{padding:12px 16px;border-radius:12px;font-size:16px;color:var(--mut);transition:background-color .2s,color .2s}
.v2.legal aside a:hover{background:var(--sand);color:var(--ink)}
.v2.legal aside a[aria-current=page]{background:var(--ink);color:var(--cream)}
.v2.legal .kick{font:500 16px var(--sans);letter-spacing:0;text-transform:none;display:flex;gap:12px;flex-wrap:wrap}
.v2.legal .kick .accent{color:var(--red);font-weight:600}
.v2.legal h1{font-size:clamp(48px,6vw,88px);margin-top:10px}
.v2.legal .eff{color:var(--mut);margin:12px 0 28px;font-size:16px}
.v2.legal h2{font-size:clamp(24px,2.2vw,32px);max-width:none;margin:44px 0 12px;padding-top:24px;border-top:1px solid var(--line)}
.v2.legal h3{font:600 19px var(--sans);margin:24px 0 8px}
.v2.legal p,.v2.legal li{font-size:18px;line-height:1.7;color:#2E2A24;text-wrap:pretty}
.v2.legal p+p{margin-top:14px}
.v2.legal ul,.v2.legal ol{padding-left:22px;display:grid;gap:8px;margin:12px 0}
.v2.legal a:not(aside a){color:var(--red);text-decoration:underline;text-underline-offset:3px}
.v2.legal table{width:100%;border-collapse:collapse;margin:16px 0;font-size:16px}
.v2.legal th,.v2.legal td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}
@media (max-width:860px){.v2.legal{grid-template-columns:1fr}.v2.legal aside{position:static;display:flex;flex-wrap:wrap;gap:6px}.v2.legal aside a{border:1px solid var(--line)}}

/* small red text on light worlds needs a deeper red for 4.5:1 contrast */
.w-paper,.w-sand,.w-grid,.v2.legal{--red-ink:#A81C15}
.w-paper .step .when,.w-sand .step .when,.w-paper .prof .role,.w-sand .prof .role,.v2.legal a:not(aside a),.v2.legal .kick .accent,.w-paper .kick:before{color:var(--red-ink)}
.w-paper .txtlink:hover,.w-sand .txtlink:hover,.w-grid .txtlink:hover{color:var(--red-ink)}

/* ---------- ink horizon: the brand's mountain ranges along the bottom of every dark and red section ---------- */
section.v2>.horizon{position:absolute;left:0;right:0;bottom:0;height:clamp(90px,13vw,190px);pointer-events:none;z-index:-1;overflow:hidden}
section.v2>.horizon svg{position:absolute;left:0;bottom:-30px;width:100%;height:calc(100% + 30px);will-change:translate}
section.v2:has(>.horizon){padding-bottom:clamp(80px,9vw,140px)}

/* ---------- grain on the dark worlds ---------- */
section.v2.w-night,section.v2.w-sumi,section.v2.w-red{isolation:isolate}
section.v2.w-night::before,section.v2.w-sumi::before,section.v2.w-red::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- statement: words light up as you read down the page ---------- */
.v2 .say2{font-family:var(--sans);font-weight:600;font-size:clamp(34px,4.6vw,72px);line-height:1.06;letter-spacing:-.035em;max-width:22ch;text-wrap:balance}
.v2 .say2 .w{color:color-mix(in srgb,currentColor 22%,transparent);transition:color .25s}
.v2 .say2 .w.lit{color:inherit}
.v2 .say2 .w.lit.hot{color:var(--red2)}
.w-paper .say2 .w.lit.hot,.w-sand .say2 .w.lit.hot{color:var(--red)}

/* ---------- ticker: seats roll past on their own ---------- */
.v2 .ticker{overflow:hidden;border-block:1px solid var(--line);padding:18px 0;margin:0 calc(var(--pad)*-1);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.v2 .ticker>div{display:flex;width:max-content;gap:44px;animation:tick 38s linear infinite}
.v2 .ticker span{font-size:clamp(28px,3.4vw,52px);white-space:nowrap;display:flex;align-items:center;gap:44px}
.v2 .ticker span:after{content:"";width:12px;height:12px;border-radius:50%;background:var(--red2)}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- tale: a pinned scene that changes chapter by chapter as you scroll ---------- */
.v2 .tale{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:start}
.v2 .tale-scene{position:sticky;top:calc(var(--hdr) + 24px);height:min(78svh,640px);border-radius:28px;overflow:hidden;isolation:isolate}
.v2 .tale-scene>.sc{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:scale(1.04);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.v2 .tale-scene>.sc.on{opacity:1;transform:none}
.v2 .tale-scene .rail{position:absolute;left:22px;top:22px;bottom:22px;width:3px;border-radius:3px;background:rgba(238,231,218,.14);z-index:4}
.v2 .tale-scene .rail i{display:block;width:100%;height:var(--p,0%);border-radius:3px;background:var(--red2);transition:height .5s}
.v2 .tale-steps{display:grid;gap:0}
.v2 .chap{min-height:72svh;display:flex;flex-direction:column;justify-content:center;padding:40px 0;opacity:.28;transition:opacity .5s}
.v2 .chap.on{opacity:1}
.v2 .chap .no{font-size:clamp(64px,7vw,110px);line-height:.85;color:var(--red2)}
.w-paper .chap .no,.w-sand .chap .no{color:var(--red)}
.v2 .chap h3{font-family:var(--sans);font-weight:650;font-size:clamp(30px,3.2vw,48px);letter-spacing:-.03em;line-height:1.05;margin-top:14px;text-wrap:balance}
.v2 .chap p{font-size:clamp(18px,1.4vw,21px);line-height:1.6;color:var(--mut);margin-top:14px;max-width:46ch}
@media (max-width:900px){
  .v2 .tale{grid-template-columns:1fr}
  .v2 .tale-scene{top:var(--hdr);height:44svh;z-index:2}
  .v2 .chap{min-height:56svh}
}
@media (prefers-reduced-motion:reduce){.v2 .chap{opacity:1}.v2 .say2 .w{color:inherit}.v2 .ticker>div{animation:none}}


/* ---------- shared tale scenes: the roster (seats, shortlist fan, signed offer, sunrise) ---------- */
.scene-roster{background:radial-gradient(80% 70% at 50% 100%,#2a1410,#141210 70%);border:1px solid rgba(238,231,218,.1)}
.scene-roster .sc{flex-direction:column;gap:26px;padding:40px 40px 40px 56px}
.cap2{font-size:17px;color:#D9D0C1;text-align:center;max-width:30ch}
.seats-g{display:grid;grid-template-columns:repeat(3,64px);gap:16px}
.seats-g i{width:64px;height:64px;border-radius:18px;border:1.5px dashed rgba(238,231,218,.28)}
.seats-g i.you{border:2px solid #F04E43;box-shadow:0 0 0 0 rgba(240,78,67,.5);animation:ping 1.8s ease-out infinite}
.seats-g.full i{border-style:solid;background:#EEE7DA;border-color:#EEE7DA}
.seats-g.full i.you{background:#F04E43;border-color:#F04E43}
@keyframes ping{to{box-shadow:0 0 0 22px rgba(240,78,67,0)}}
.fan{position:relative;width:min(380px,90%);height:220px}
.cv{position:absolute;left:50%;top:50%;width:200px;margin:-80px 0 0 -100px;height:160px;border-radius:18px;background:#EEE7DA;color:#17140F;padding:18px;font-size:26px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 30px 60px -30px #000;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.cv small{font:500 14px var(--sans);text-transform:none;letter-spacing:0;color:#5F594E}
.cv.hot{background:#D42A1F;color:#FFF4EC;z-index:2}.cv.hot small{color:#FFE6DF}
.sc.on .cv:nth-child(1){transform:translateX(-110px) rotate(-10deg)}
.sc.on .cv:nth-child(3){transform:translateX(110px) rotate(10deg)}
.sc.on .cv.hot{transform:translateY(-14px)}
.offer{position:relative;width:250px;height:300px;border-radius:14px;background:#FFFDF8;padding:26px;display:flex;flex-direction:column;gap:14px;transform:rotate(-3deg);box-shadow:0 40px 70px -30px #000}
.offer b{font-size:40px;color:#17140F}
.offer span{height:10px;border-radius:6px;background:#E2D9C8}.offer span.s{width:60%;margin-top:auto;background:#17140F;height:3px}
.stampx{position:absolute;right:18px;bottom:34px;border:3px solid #C8231B;color:#C8231B;border-radius:10px;padding:6px 12px;font:700 22px var(--sans);transform:rotate(-14deg) scale(2);opacity:0;transition:transform .5s cubic-bezier(.16,1,.3,1) .4s,opacity .3s .4s}
.sc.on .stampx{transform:rotate(-14deg) scale(1);opacity:1}
.sunrise{position:absolute;left:0;right:0;bottom:0;height:46%}
.sunrise svg{position:absolute;inset:0;width:100%;height:100%}
.sunrise .sb{position:absolute;left:50%;bottom:10%;width:160px;height:160px;margin-left:-80px;border-radius:50%;background:radial-gradient(circle at 42% 38%,#F2533F,#D42A1F 52%,#9E1A12);box-shadow:0 0 80px 24px rgba(212,42,31,.35);transform:translateY(60%);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.sc.on .sunrise .sb{transform:translateY(-10%)}
.s4{justify-content:flex-start!important;padding-top:56px!important}
@media (max-width:900px){.seats-g{grid-template-columns:repeat(3,40px);gap:10px}.seats-g i{width:40px;height:40px;border-radius:12px}.cv{width:150px;height:120px;margin:-60px 0 0 -75px;font-size:20px}.sc.on .cv:nth-child(1){transform:translateX(-80px) rotate(-10deg)}.sc.on .cv:nth-child(3){transform:translateX(80px) rotate(10deg)}.offer{width:170px;height:200px;padding:16px}.offer b{font-size:28px}.cap2{font-size:15px}.scene-roster .sc{gap:14px;padding:24px 24px 24px 44px}}

/* fund field, deck, warm intro (VC alignment) */
.scene-fund{background:radial-gradient(80% 70% at 50% 100%,#2a1410,#141210 70%);border:1px solid rgba(238,231,218,.1)}
.scene-fund .sc{flex-direction:column;gap:22px;padding:40px 40px 40px 56px}
.field{display:grid;grid-template-columns:repeat(10,1fr);gap:10px;width:min(380px,92%)}
.field i{aspect-ratio:1;border-radius:50%;background:rgba(238,231,218,.16);transition:background-color .6s,transform .6s,opacity .6s}
.sc.on .field i.k{background:#F04E43;transform:scale(1.5)}
.sc.on .field.narrow i:not(.k){opacity:.15}
.deck{position:relative;width:260px;height:180px}
.deck div{position:absolute;inset:0;border-radius:14px;background:#EEE7DA;box-shadow:0 30px 50px -30px #000;padding:18px;color:#17140F;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.deck div b{font-size:24px}
.deck div:nth-child(1){transform:translate(-30px,20px) rotate(-6deg);background:#D9CFBD}
.deck div:nth-child(2){transform:translate(-12px,8px) rotate(-2deg);background:#E7DFD0}
.sc.on .deck div:nth-child(1){transform:translate(-60px,30px) rotate(-12deg)}
.sc.on .deck div:nth-child(3){transform:translateY(-10px)}
.deck div span{display:block;height:8px;border-radius:5px;background:#D2C8B6;margin-top:12px}
.deck div span.r{width:40%;background:#D42A1F}
.intro{display:flex;align-items:center;gap:0}
.intro .p{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;font:600 16px var(--sans);text-align:center}
.intro .p.a{background:#EEE7DA;color:#17140F}.intro .p.b{background:#D42A1F;color:#FFF4EC}
.intro .link{width:0;height:3px;background:#F04E43;transition:width 1s cubic-bezier(.2,.7,.2,1) .2s}
.sc.on .intro .link{width:120px}
/* profile, match, yes (talent) */
.prof2{width:260px;border-radius:18px;background:#EEE7DA;color:#17140F;padding:22px;box-shadow:0 30px 60px -30px #000}
.prof2 b{font-size:28px;display:block}
.prof2 span{display:block;height:9px;border-radius:5px;background:#D2C8B6;margin-top:12px}
.prof2 span:nth-of-type(2){width:70%}.prof2 span:nth-of-type(3){width:50%}
.chiprow2{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.chiprow2 i{font:500 13px var(--sans);font-style:normal;border:1.5px solid #C9BFAE;border-radius:999px;padding:5px 10px}
.yes{width:160px;height:160px;border-radius:50%;background:#D42A1F;color:#FFF4EC;display:grid;place-items:center;font-size:54px;transform:scale(.6);opacity:0;transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .4s}
.sc.on .yes{transform:none;opacity:1}
@media (max-width:900px){.deck{width:180px;height:130px}.intro .p{width:84px;height:84px;font-size:13px}.sc.on .intro .link{width:60px}.prof2{width:200px;padding:16px}.yes{width:110px;height:110px;font-size:36px}}

/* ---------- sumi-e layer (from the Instagram film references): sakura in ink and crimson, drifting petals,
   a brush-streaked sun, seigaiha waves on red, washi fibre on paper ---------- */
.petals{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:6;container-type:size}
.petals .pt{position:absolute;top:-30px;left:var(--x);width:var(--s);height:calc(var(--s)*1.3);color:var(--c,#D42A1F);animation:pfall var(--dur) linear var(--delay) infinite;opacity:0}
.petals .pt svg{width:100%;height:100%;display:block;animation:psway calc(var(--dur)/3.5) ease-in-out var(--delay) infinite alternate}
.petals .pt{will-change:transform}
@keyframes pfall{0%{transform:translate(0,0);opacity:0}6%{opacity:.9}88%{opacity:.9}100%{transform:translate(var(--dx),calc(100cqh + 60px));opacity:0}}
@keyframes psway{from{transform:rotate(-40deg)}to{transform:rotate(50deg)}}
section.v2.w-paper,section.v2.w-sand{isolation:isolate}
section.v2.w-paper>.wrap,section.v2.w-sand>.wrap{position:relative;z-index:2}
section.v2.w-paper::before,section.v2.w-sand::before,section.v2.w-grid::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .35' numOctaves='3' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .5 0 0 0 0 .42 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23w)'/%3E%3C/svg%3E")}
section.v2.w-red{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40' viewBox='0 0 80 40'%3E%3Cg fill='none' stroke='%23FFF4EC' stroke-opacity='.13' stroke-width='1.6'%3E%3Cpath d='M0 40a40 40 0 0 1 80 0M8 40a32 32 0 0 1 64 0M16 40a24 24 0 0 1 48 0M24 40a16 16 0 0 1 32 0'/%3E%3Cpath d='M-40 20a40 40 0 0 1 80 0M-32 20a32 32 0 0 1 64 0M-24 20a24 24 0 0 1 48 0M-16 20a16 16 0 0 1 32 0'/%3E%3Cpath d='M40 20a40 40 0 0 1 80 0M48 20a32 32 0 0 1 64 0M56 20a24 24 0 0 1 48 0M64 20a16 16 0 0 1 32 0'/%3E%3C/g%3E%3C/svg%3E");background-size:80px 40px}  /* seigaiha, crisp vector */
.v2 h2 em,.v2 h1.x em{position:relative;z-index:0;white-space:nowrap}
.v2 h2 em::after{content:"";position:absolute;left:-2%;right:-2%;bottom:.02em;height:.2em;z-index:-1;background:currentColor;opacity:.22;filter:url(#brush);transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.2,.7,.2,1) .35s}
.v2 h2.in em::after,.v2 .in h2 em::after{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){.petals{display:none}}
@media (max-width:640px){.v2 h2 em{white-space:normal}}
section.v2.w-paper .head .sub,section.v2.w-paper .head h2{text-shadow:0 0 6px #F2EDE3,0 0 14px #F2EDE3,0 0 24px #F2EDE3}
section.v2.w-sand .head .sub,section.v2.w-sand .head h2{text-shadow:0 0 6px #E7DFD0,0 0 14px #E7DFD0,0 0 24px #E7DFD0}

/* ---------- ink scenes as ground: the painting sits in the lower part of a washi section (and the footer), fading out under the copy ---------- */

.ink-bg{position:absolute;left:0;right:0;bottom:0;height:100%;z-index:-1;pointer-events:none;overflow:hidden;}
.ink-bg svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.ink-bg .k-boat{animation:kboat 18s ease-in-out infinite alternate}
@keyframes kboat{from{transform:translate(-50px,0) rotate(-1deg)}50%{transform:translate(0,3px) rotate(1deg)}to{transform:translate(50px,0) rotate(-.5deg)}}

@keyframes ktree{from{transform:rotate(-.8deg)}to{transform:rotate(1deg)}}

@keyframes kmist{to{transform:translateX(-160px)}}
.ink-bg .k-lamp{animation:klamp 2.4s ease-in-out infinite alternate}
@keyframes klamp{to{opacity:.45}}


@keyframes krefl{to{transform:scaleX(.9);opacity:.85}}
@keyframes kwater{to{transform:translateX(-40px)}}
.ftr.ink-ftr{--fg:#17140F;--mute:#5F594E;--accent:#C8231B;--line:rgba(23,20,15,.16);background:#F2EDE3;color:#17140F;isolation:isolate}
.ftr.ink-ftr .ink-bg{height:100%}
.ftr.ink-ftr .top,.ftr.ink-ftr .mark,.ftr.ink-ftr .legal,.ftr.ink-ftr .legal-links{position:relative;z-index:1}
.ftr.ink-ftr .word{-webkit-text-stroke-color:#17140F;text-shadow:0 0 30px rgba(242,237,227,.6)}
@media (prefers-reduced-motion:reduce){.ink-bg *{animation:none!important}}
section.scenic>.horizon{display:none}
.ftr.ink-ftr .top a,.ftr.ink-ftr .top p,.ftr.ink-ftr .top li,.ftr.ink-ftr .legal,.ftr.ink-ftr .legal-links{text-shadow:0 0 8px #F2EDE3,0 0 16px #F2EDE3}

section.scenic .card:not(.dark):not(.redc){background:#FBF8F2}section.scenic .card.dark{background:#0F0E0C}
section.scenic .head .sub,section.scenic .head h2,section.scenic .sub,section.scenic p{text-shadow:0 0 6px #F2EDE3,0 0 14px #F2EDE3,0 0 24px #F2EDE3}section.scenic .card p,section.scenic .card h3{text-shadow:none}

/* labels: no all-caps monospace micro-labels anywhere (brand rule); same words, sentence case, brand sans */
main .kick,main .mono,main .sv-k,main .hero .lineup span,.ftr .fh,.ftr h4,.ftr .legal,.ftr .legal-links,.ftr .legal-links a,.ftr .legal span{
  font-family:var(--sans)!important;text-transform:none!important;letter-spacing:-.005em!important}
main .mono,main .sv-k,.ftr .fh,.ftr h4{font-size:15px!important;font-weight:600}
main .hero .kick{font-size:17px!important}
main .hero .lineup span{font-size:15px!important;font-weight:600}
.ftr .legal,.ftr .legal-links a{font-size:14px!important}

/* home: the seat ticker under the hero */
section.v2.tick-band{padding:22px 0!important}
.tick-band .ticker{margin:0;border:0;padding:6px 0}
.tick-band .ticker span{color:var(--cream)}

/* 404: the boatman drifts the whole width of the lake */
.zen .k-boat{animation:kzen 46s ease-in-out infinite alternate}
@keyframes kzen{from{transform:translate(-520px,0) rotate(-1deg)}50%{transform:translate(-120px,3px) rotate(1deg)}to{transform:translate(260px,0) rotate(-.5deg)}}
.zen .ink-bg{height:58%}
.v2 .ticker.rev>div{animation-direction:reverse;animation-duration:44s}
.tick-band .ticker span{font-size:clamp(24px,2.6vw,40px)}

/* =================================================================================================
   FINISH LAYER: one heading system, no template chrome, page worlds, themed browser surfaces.
   Last in the cascade on purpose; html-prefixed where a page's own <style> must be outranked.
   ================================================================================================= */

/* one heading system: brand condensed caps for section display; the accent is the brand's outline face */
section.v2 h2,.v2 h1.x{font-family:var(--sans);font-stretch:62%;font-variation-settings:"wdth" 62;font-weight:500;text-transform:uppercase;letter-spacing:.004em;line-height:.92;text-wrap:balance}
section.v2 h2{font-size:clamp(42px,5.4vw,92px);max-width:20ch}
.v2 h1.x{font-size:clamp(60px,8vw,96px);max-width:12ch}
section.v2 h2 em,.v2 h1.x em{font-family:'Archivo Outline',var(--sans);font-weight:500;font-style:normal;color:inherit;white-space:normal}
section.v2 h2 em::after{content:none!important}
/* below display, calm sentence case */
html section.v2 h3.cond{font-stretch:100%;font-variation-settings:normal;text-transform:none;font-weight:650;letter-spacing:-.02em;line-height:1.12;font-size:clamp(22px,1.9vw,30px)}

/* no eyebrows above headings, no glyphs standing in for icons */
html main .kick,html main .sv-k,html main .lh,html .story .txt>.mono:first-child,html .noise .n>.mono,html .noise .s>.mono,html body[data-page=submit] .left>.mono{display:none!important}
.arrow,html .choose b::after{display:none!important;content:none!important}
html .ftrust li::before{content:""!important;display:inline-block;width:6px;height:6px;border-radius:50%;background:#C8231B;margin:0 8px 2px 0;vertical-align:middle}
html .v-tracks li::before,html .v-path li::before,html .v-disc .v-body li::before,html .phases li::before{content:""!important;display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5;margin:0 10px 3px 0;vertical-align:middle}
html .v2 .faq summary::after,html .v-disc summary::after{content:""!important;background:linear-gradient(currentColor,currentColor) center/13px 1.6px no-repeat,linear-gradient(currentColor,currentColor) center/1.6px 13px no-repeat}

/* motion is reserved for the authored moments (heroes, scroll stories, ink scenes): no fade-up on every block */
html main .rv{opacity:1!important;transform:none!important;transition:none!important}
html .v2 .card.lift:hover{transform:none;box-shadow:none}

/* surfaces: crisp, no grain; paper-like radii */
section.v2.w-night::before,section.v2.w-sumi::before,section.v2.w-red::before,section.v2.w-paper::before,section.v2.w-sand::before,section.v2.w-grid::before{content:none!important}
.v2 .card{border-radius:14px}
.v2 .art,.v2 .tale-scene,.v2.fz form[data-form]{border-radius:14px}

/* the promise band reads as one statement, not a metric template */
.v2 .vow{font-family:var(--sans);font-stretch:62%;font-variation-settings:"wdth" 62;font-weight:500;text-transform:uppercase;font-size:clamp(34px,4.6vw,68px);line-height:1;letter-spacing:.004em;color:#FFF4EC;text-wrap:balance;max-width:26ch}
.v2 .vow span{display:block}
.v2 .vow span+span{margin-top:.2em}

/* browser surfaces carry the palette too */
html{scrollbar-color:#8F877A #0F0E0C;scrollbar-width:thin}
html:has(body[data-theme=paper]){scrollbar-color:#8F877A #F2EDE3}
input,textarea,select{caret-color:#D42A1F}
a{text-underline-offset:.2em}

/* page worlds: each page keeps the brand (Archivo, ink, the shu sun) but lives in its own night and accent */
body[data-page=vc-alignment] section.v2:is(.w-night,.w-sumi){background:#0A1020}
body[data-page=product] section.v2:is(.w-night,.w-sumi){background:#0D1A2A}
body[data-page=security] section.v2:is(.w-night,.w-sumi){background:#0A0F0C}
body[data-page=gtm] section.v2:is(.w-night,.w-sumi){background:#1A0D0B}
body[data-page=investors] section.v2:is(.w-night,.w-sumi){background:#110F0B}
body[data-page=product] section.v2{--red2:#8FB7E8;--red-ink:#1F4C86}
body[data-page=security] section.v2{--red2:#7FD9AC;--red-ink:#1D6A48}
body[data-page=investors] section.v2{--red2:#D9AE5B;--red-ink:#7C5C17}
body[data-page=vc-alignment] section.v2{--red2:#F06A5F}
body:is([data-page=product],[data-page=security],[data-page=investors]) section.v2 :is(.step .when,.chap .no,.card .bar,.ticks li::before){color:var(--red2)}
body:is([data-page=product],[data-page=security],[data-page=investors]) section.v2 .card .bar{background:var(--red2)}
body:is([data-page=product],[data-page=security],[data-page=investors]) section.v2 .ticks li::before{background:var(--red2)}
body:is([data-page=product],[data-page=security],[data-page=investors]) section.v2:is(.w-paper,.w-sand) :is(.step .when,.card .bar){color:var(--red-ink);background-color:transparent}
body:is([data-page=product],[data-page=security],[data-page=investors]) section.v2:is(.w-paper,.w-sand) .card .bar{background:var(--red-ink)}
body:is([data-page=product],[data-page=security],[data-page=investors]) .v2 .tale-scene .rail i{background:var(--red2)}

/* old labels: brand sans, sentence case (no monospace caps); status tags removed */
html main :is(.proof span,span.n,span.lv,.season span.when,.season span.rd,.def b,span.tr,span.rl,.portrait .cap span,.info .role,.tcreds li,.info a.li,summary .lbl,.sect h3){font-family:var(--sans)!important;text-transform:none!important;letter-spacing:-.005em!important}
html main :is(span.n){font-variant-numeric:tabular-nums}
html main :is(.status,.free){display:none!important}

/* scroll stories: tighter chapters, scenes with presence */
html .v2 .chap{min-height:58svh}
.seats-g{grid-template-columns:repeat(3,84px)!important;gap:18px!important}
.seats-g i{width:84px!important;height:84px!important;border:2px dashed rgba(238,231,218,.5)!important}
.cap2{color:#EEE7DA!important;font-size:18px!important}
body[data-page=vc-alignment] :is(.scene-fund,.scene-roster){background:radial-gradient(80% 70% at 50% 100%,#1c2a52,#0b1226 70%)!important;border-color:rgba(160,180,230,.16)!important}
@media (max-width:900px){.seats-g{grid-template-columns:repeat(3,52px)!important;gap:12px!important}.seats-g i{width:52px!important;height:52px!important}}
section.v2.w-red :focus-visible{outline-color:#FFF4EC!important}
html .v2.fz form :is(label,legend,.fh,h2 + p){text-transform:none!important;letter-spacing:-.005em!important;font-family:var(--sans)!important}

/* the old home hero's mist drift and pulsing seat never had a still version */
@media (prefers-reduced-motion: reduce){html .hero-mist,html .lineup .next,html .lineup .next *{animation:none!important}}

/* =================================================================================================
   ROUND 3: short red bands, no triple stacking, security in binary, crisp seasons, team grid
   ================================================================================================= */

/* headings run wide: two lines at most wherever the measure allows */
section.v2 h2{max-width:30ch;font-size:clamp(36px,4.2vw,66px)}
.v2 .head{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:end;gap:20px clamp(28px,4vw,64px)}
.v2 .head h2{max-width:none}
.v2 .head .sub{max-width:46ch;margin-top:0}
html .v-tenet h2{max-width:none;font-size:clamp(32px,3.4vw,54px)}
html .v2 .chap{min-height:46svh}
@media (max-width:860px){.v2 .head{grid-template-columns:1fr}.v2 .head .sub{margin-top:12px}}

/* red bands stay short: one or two wide lines, copy beside the headline, never stacked */
section.v2.w-red{padding-block:clamp(40px,4.4vw,64px)}
section.v2.w-red h2{max-width:none;font-size:clamp(32px,3.6vw,58px)}
section.v2.w-red .split{grid-template-columns:1.15fr 1fr;align-items:center;gap:20px clamp(28px,4vw,64px)}
section.v2.w-red .lead{font-size:clamp(17px,1.3vw,20px);margin-top:0}
section.v2.w-red .acts{margin-top:18px}
.v2 .vow{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;align-items:center;gap:10px 0;max-width:none;font-size:clamp(20px,1.95vw,34px);line-height:1.05}
.v2 .vow span{display:block;white-space:nowrap}
.v2 .vow span+span{margin-top:0;padding-left:clamp(20px,2.4vw,40px);margin-left:clamp(20px,2.4vw,40px);border-left:2px solid rgba(255,244,236,.45)}
@media (max-width:980px){.v2 .vow{grid-template-columns:1fr;gap:10px}.v2 .vow span{white-space:normal}.v2 .vow span+span{padding-left:0;margin-left:0;border-left:0}}

/* closings: headline and actions side by side in one short band */
section.v2.closing{padding-block:clamp(44px,4.6vw,72px)}
section.v2.closing>.wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(24px,4vw,64px);align-items:center;text-align:left}
section.v2.closing>.wrap>h2{grid-column:1;margin:0;max-width:26ch;font-size:clamp(32px,3.6vw,58px)}
section.v2.closing>.wrap>.sub{grid-column:1;margin:10px 0 0}
section.v2.closing h2 .six-mark{display:block}
section.v2.closing>.wrap>.acts{grid-column:2;grid-row:1/span 2;margin:0;justify-content:flex-end}
@media (max-width:760px){section.v2.closing>.wrap{grid-template-columns:1fr}section.v2.closing>.wrap>.acts{grid-column:1;grid-row:auto;margin-top:20px;justify-content:flex-start}}

/* home hero: copy wide enough to fill its lines, actions centered against it */
html body[data-page=home] .hero-cta{align-items:center}
html body[data-page=home] .hero-cta p{max-width:48em;text-wrap:pretty}

/* the sun in the Day 90 scene sits to the side so the full roster shows */
html .sunrise .sb{left:auto;right:4%;margin-left:0;width:130px;height:130px}

/* role switcher: the "other" seat */
.dept-other{display:grid;gap:18px;justify-items:start;padding:26px 4px;border-top:2px solid #16130F}
.dept-other p{font-size:clamp(19px,1.6vw,23px);line-height:1.4;max-width:40ch;color:#16130F}

/* the intro scenes: room for two-line names */
html .intro .p{width:150px;height:150px;line-height:1.15;padding:0 16px;text-wrap:balance}
@media (max-width:900px){html .intro .p{width:104px;height:104px;font-size:14px}}

/* "We've got your six." is always highlighted */
.six-mark{color:#F04E43}
:is(body[data-theme=paper] main,.w-paper,.w-sand,.w-grid,.ftr.ink-ftr) .six-mark{color:#B01E15}
section.v2.w-red .six-mark{color:#17140F}
body[data-page=about] .story .six-mark{color:#B01E15}

/* About: the boatman on the bay */
#bay .k-boat{animation:kboat 18s ease-in-out infinite alternate}
@media (prefers-reduced-motion:reduce){#bay .k-boat{animation:none}}

/* accelerator seasons: crisp ink art in place of the soft dots */
html .season .fx{background:none!important;opacity:1!important;filter:none!important;inset:14% -4% auto auto!important;width:min(58%,232px);aspect-ratio:1}
html .season .fx svg{display:block;width:100%;height:100%}
html .season{min-height:400px}
@media (max-width:980px){html .season{min-height:340px}html .season .fx{width:50%;inset:10% -2% auto auto!important}}
@media (max-width:560px){html .season .fx{width:56%}}

/* team: the founder across the top, the crew in a row beneath; portraits keep their suns */
html body[data-page=team] #roster{display:none}
html body[data-page=team] .people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0 var(--pad) clamp(40px,4.4vw,72px);margin-top:28px}
html body[data-page=team] .person{grid-template-columns:1fr;gap:18px;padding:20px;border:1px solid var(--line);border-radius:16px;align-content:start}
html body[data-page=team] .person:first-child{grid-column:1/-1;grid-template-columns:minmax(240px,340px) 1fr;gap:clamp(24px,4vw,56px);padding:24px}
html body[data-page=team] .portrait{position:relative;top:auto}
html body[data-page=team] .person:not(:first-child) .portrait{aspect-ratio:5/4}
/* portraits: the drawing stands on the ground line at a size set by the frame, whatever the frame's size */
html body[data-page=team] .portrait{display:block}
html body[data-page=team] .portrait img{position:absolute;inset:auto 0 0 0;margin:0 auto;width:auto;height:auto;max-height:88%;max-width:88%;object-fit:contain}
html body[data-page=team] #michael .portrait img{max-height:96%;max-width:96%}
html body[data-page=team] .info h2{font-size:clamp(34px,3vw,50px)}
html body[data-page=team] .person:first-child .info h2{font-size:clamp(42px,4.6vw,80px)}
@media (max-width:900px){html body[data-page=team] .people{grid-template-columns:1fr}html body[data-page=team] .person:first-child{grid-template-columns:1fr}}

/* season art: each cohort gets its own crisp painting beside the kanji; petals, leaves and snow drift on their own */
.season .fx .drift{transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion:no-preference){
  .season .fx .drift{animation:sfall var(--t,9s) linear var(--d,0s) infinite}
  .season .fx .sway{transform-box:fill-box;transform-origin:100% 0;animation:ssway 7s ease-in-out infinite alternate}
}
@keyframes sfall{0%{transform:translate(0,-30px) rotate(0);opacity:0}10%{opacity:1}85%{opacity:1}100%{transform:translate(var(--dx,-40px),150px) rotate(220deg);opacity:0}}
@keyframes ssway{from{transform:rotate(-1.2deg)}to{transform:rotate(1.4deg)}}

/* team: the name reads on one line, credentials beneath; the cats' details stack in their narrower cards */
html body[data-page=team] .info h2 span{display:inline}
html body[data-page=team] .info h2 span+span:not(.creds)::before{content:" "}
html body[data-page=team] .info h2 .creds{display:block}
html body[data-page=team] .info .hook{margin-top:14px;font-size:clamp(19px,1.5vw,24px)}
html body[data-page=team] .info .role{margin-bottom:8px}
html body[data-page=team] .person:not(:first-child) .sect dl div{grid-template-columns:1fr;gap:4px}
html body[data-page=team] .more summary{margin-top:18px}
html body[data-page=team] .li.top{margin-top:16px}

/* security: the site's own palette, but every painting is drawn in 0s and 1s (each digit keeps the painting's colour),
   copy is set like a terminal, headings decrypt as they arrive, the hero line ends in a blinking cursor */
body[data-page=security] main :is(p,.v-tracks li,.ticks li,.sub,.lead,.lede,.tag,.tx,.lv,dd,label,legend,input,textarea,select,.who){font-family:var(--mono)!important;letter-spacing:-.015em}
body[data-page=security] .clearance .lv{white-space:nowrap}
body[data-page=security] .ly-ring{stroke:none!important}
body[data-page=security] .ly-bin{fill:rgba(238,231,218,.3);font:500 11px var(--mono);letter-spacing:.06em;transition:fill .6s}
body[data-page=security] .ly.on .ly-bin{fill:rgba(238,231,218,.8)}
.k-bin{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:block}
:is(.ink-bg,.horizon).binary svg{visibility:hidden}
.petals .pt.bit{width:auto;height:auto;font:600 var(--s)/1 var(--mono);color:var(--c)}
body[data-page=security] .hero2 h1 .o::after{content:"";display:inline-block;width:.42em;height:.72em;margin-left:.08em;vertical-align:-.04em;background:#E3342A}
@media (prefers-reduced-motion:no-preference){body[data-page=security] .hero2 h1 .o::after{animation:blink 1.05s steps(1) infinite}}
@keyframes blink{50%{opacity:0}}
/* red bands with a big figure or cards: the figure sits beside its title, the cards get the room so their copy runs two or three lines */
section.v2.w-red .split>div:has(>.big){display:flex;align-items:center;gap:clamp(18px,2.4vw,36px)}
section.v2.w-red .split>div>.big{font-size:clamp(84px,8.4vw,150px);line-height:.8;flex:none}
section.v2.w-red .split:has(>.cards){grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr)}
section.v2.w-red .split>.cards .card{padding:22px 24px}
section.v2.w-red .split>.cards .card p{font-size:16.5px;line-height:1.5}
@media (max-width:860px){section.v2.w-red .split:has(>.cards){grid-template-columns:1fr}}
html body[data-page=team] .person:not(:first-child) .portrait img{max-height:82%}
@media (max-width:700px){
  html body[data-page=team] .phead h1{font-size:12.6vw;line-height:.9}
  html body[data-page=team] .phead h1 .muted{display:block}
  html body[data-page=team] .crew-sky{display:none}
}
/* headlines in half-width columns stay two lines on wide screens */
.v2 .split h2{font-size:clamp(34px,3.7vw,54px)}
/* framed vignettes: a whole painting in a small frame beside the copy */
.ink-vig{position:absolute;inset:0}
.ink-vig svg{display:block;width:100%;height:100%}
@media (prefers-reduced-motion:no-preference){
  .ink-vig .k-boat{animation:kboat 18s ease-in-out infinite alternate}
  .ink-vig .k-lamp{animation:klamp 2.4s ease-in-out infinite alternate}
}
/* raise form: labels and the promise row in plain sentence case, the same voice as every other form */
body[data-page=submit] form#form label{font:500 14.5px/1.35 var(--sans);letter-spacing:-.005em;text-transform:none}
body[data-page=submit] .ftrust{font:500 14px/1.4 var(--sans);letter-spacing:-.005em;text-transform:none}
/* the home sun moves every frame: its own layer, so its brushed edge is drawn once, not on every frame */
.hero-sun{will-change:transform}
/* home hero: the hills and the call to action sit right under the roster chips (less scroll) */
html body[data-page=home] .hero{min-height:min(100svh,720px);gap:clamp(80px,11vh,130px)}
@media (max-width:760px){html body[data-page=home] .hero{min-height:0;gap:56px}}
/* Day 90: the sun clears the ridge */
html .sc.on .sunrise .sb{transform:translateY(-85%)}
/* phones: nothing drifts over copy, scenes give way to the words, cohorts in one view */
@media (max-width:760px){
  .petals{display:none!important}
  .v2 .tale-scene{display:none!important}
  .v2 .tale{display:block}
  .v2 .cards,.v2 .cards.c3,.v2 .cards.c4,.specs{grid-template-columns:1fr!important}
  .v2 :is(h2,h3,p){overflow-wrap:normal;word-break:normal;hyphens:manual}
  html .seasons{display:grid!important;grid-template-columns:1fr 1fr!important;overflow:visible!important}
  html .season{min-height:0!important;padding:18px 16px!important}
  html .season .fx,html .season .rd,html .season .when,html .season p{display:none!important}
  html .season .kj{font-size:64px!important}
  html .season h3{font-size:22px!important;margin-top:10px!important}
  body[data-page=submit] main.sub{padding-top:calc(var(--hdr) + 20px)!important;gap:28px}
  body[data-page=submit] .sub .left{min-height:0!important;padding-top:0!important;margin-top:0!important}
}
/* speed: a solid header (no live blur of whatever moves beneath it), no drifting hero mist */
html .hdr{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:color-mix(in srgb,var(--bg) 96%,transparent)!important}
html .hero-mist{animation:none!important}
