:root{
  --text:#f4f7ff; --muted:rgba(244,247,255,.78); --line:rgba(255,255,255,.2);
  --ink:#06102c; --amber:#ffc83d; --glass:rgba(6,14,40,.64); --veil:.56;
  --display:"Bricolage Grotesque","Arial Narrow",Impact,sans-serif;
  --body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*,*::before,*::after{ box-sizing:border-box; }
[hidden]{ display:none !important; }
html{ scroll-behavior:smooth; background:#0a2a66; }
body{ margin:0; color:var(--text); font:400 18px/1.6 var(--body); -webkit-text-size-adjust:100%; }
a{ color:inherit; }
:focus-visible{ outline:3px solid var(--amber); outline-offset:3px; }
.sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
#sky{ position:fixed; left:0; top:0; width:100vw; height:100vh; height:100lvh; z-index:-1; display:block; }
.wrap{ max-width:1120px; margin:0 auto; padding:0 24px; }


.nav{ position:fixed; top:0; left:0; right:0; z-index:30; padding-top:env(safe-area-inset-top,0px); }
.nav::before{ content:""; position:absolute; left:0; right:0; top:0; bottom:0; background:rgba(6,14,40,.8); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); pointer-events:none; }
.nav .wrap{ position:relative; }
.nav .wrap{ display:flex; align-items:center; justify-content:space-between; gap:16px; height:64px; }
.mark{ display:inline-flex; align-items:center; gap:11px; font:800 26px/1 var(--display); letter-spacing:.01em; text-decoration:none; text-shadow:0 2px 14px rgba(0,0,0,.35); }
.logo-img{ display:block; width:44px; height:44px; flex:none; filter:drop-shadow(0 3px 8px rgba(0,0,0,.45)); }
.wm{ display:inline-flex; flex-direction:column; align-items:flex-start; gap:3px; text-transform:uppercase; }
.wm1{ font:700 11px/1 var(--body); letter-spacing:.42em; color:var(--amber); padding-left:2px; }
.wm2{ display:block; font:800 34px/.9 var(--display); letter-spacing:.02em; white-space:nowrap; }
.wmy{ display:inline-block; vertical-align:baseline; height:.72em; width:auto; margin:0 .01em; }
.mark:hover .wmy{ transform:translateY(2px); }
.wmy{ transition:transform .25s ease; }
.links{ display:flex; gap:22px; align-items:center; font-weight:600; font-size:16px; }
.links a{ text-decoration:none; text-shadow:0 1px 10px rgba(0,0,0,.4); opacity:.92; }
.links a[aria-current="page"]{ color:var(--amber); opacity:1; }
.links a:hover{ opacity:1; text-decoration:underline; text-underline-offset:5px; }
.btn{
  display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 24px; border-radius:12px;
  font:700 17px/1 var(--body); text-decoration:none; cursor:pointer; border:2px solid rgba(255,255,255,.75); color:#fff; background:rgba(6,14,40,.28);
}
.btn.amber{ background:var(--amber); border-color:var(--amber); color:var(--ink); }
.btn.sm{ min-height:40px; padding:0 16px; font-size:15px; }
.btn:hover{ filter:brightness(1.08); }


.navlinks{ display:contents; }
.menu-btn{ display:none; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:44px; height:40px; padding:0; cursor:pointer;
  background:rgba(6,14,40,.28); border:2px solid rgba(255,255,255,.75); border-radius:12px; }
.menu-btn span{ display:block; width:18px; height:2px; border-radius:2px; background:#fff; transition:transform .25s ease, opacity .2s ease; }
.nav.open .menu-btn span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav.open .menu-btn span:nth-child(2){ opacity:0; }
.nav.open .menu-btn span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }


.hero{ position:relative; min-height:min(100vh, 980px); min-height:min(100svh, 980px); display:flex; align-items:flex-end; padding:104px 0 48px; }
.hero::before{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,12,34,.42) 0%,rgba(5,12,34,.34) 45%,rgba(5,12,34,.62) 100%); pointer-events:none; }
.hero .wrap{ position:relative; width:100%; }
h1 span{ white-space:nowrap; }
h1{ margin:0; font:800 clamp(64px,19vw,184px)/.86 var(--display); letter-spacing:-.005em; text-shadow:0 6px 60px rgba(4,10,30,.45); }
.lede{ max-width:620px; margin:clamp(30px,4.2vw,56px) 0 0; font-size:clamp(19px,2.3vw,24px); line-height:1.45; text-shadow:0 2px 20px rgba(4,10,30,.55); }
.facts{ display:flex; flex-wrap:wrap; gap:12px 34px; margin:30px 0 0; padding:0; list-style:none; }
.facts li{ display:flex; flex-direction:column; }
.facts b{ font:800 clamp(34px,5vw,52px)/1 var(--display); }
.facts li > span{ color:var(--muted); font-size:15px; }
.cta{ display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.scrollhint{ margin-top:36px; font-weight:600; color:var(--muted); font-size:15px; }


.band{ position:relative; padding:120px 0; background:linear-gradient(180deg,rgba(5,12,34,0) 0,rgba(5,12,34,var(--veil)) 110px,rgba(5,12,34,var(--veil)) calc(100% - 110px),rgba(5,12,34,0) 100%); }
.band.flip .col{ margin-left:auto; }
.col,.scrub,.ledger,.funded{ text-shadow:0 2px 16px rgba(4,10,30,.5); }
.col{ max-width:640px; }
h2{ margin:0 0 18px; font:800 clamp(44px,7vw,88px)/1 var(--display); text-wrap:balance; }
p{ margin:0 0 16px; }

.pull{ font:800 clamp(30px,3.6vw,44px)/1.05 var(--display); color:var(--amber); margin:6px 0 22px; }


.band.story, #premise.story{ background:linear-gradient(180deg,rgba(5,12,34,0) 0,rgba(5,12,34,.6) 110px,rgba(5,12,34,.6) calc(100% - 110px),rgba(5,12,34,0) 100%); padding:0; position:relative; }
.story-body{ display:grid; grid-template-columns:minmax(0,460px) minmax(0,600px); justify-content:space-between; gap:56px; align-items:start; padding-top:120px; padding-bottom:120px; }
.story-photo{ position:sticky; top:104px; margin:0; }
.story-photo img{ display:block; width:100%; height:auto;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%),linear-gradient(180deg,transparent 0,#000 20%,#000 80%,transparent 100%); -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 78%,transparent 100%),linear-gradient(180deg,transparent 0,#000 20%,#000 80%,transparent 100%); mask-composite:intersect;
  opacity:0; transform:scale(1.04); transition:opacity 1.4s ease, transform 1.8s cubic-bezier(.2,.7,.2,1); }
.story-photo.in img{ opacity:.92; transform:none; }
#premise .story-photo img{ aspect-ratio:4/3; object-fit:cover; }
.prose{ max-width:600px; font-size:20px; font-weight:500; line-height:1.58; text-shadow:0 1px 2px rgba(4,10,30,.55), 0 2px 10px rgba(4,10,30,.32); }
.prose p{ margin:0 0 20px; }
.prose em{ font-style:italic; color:var(--amber); }
.prose .pull{ margin:34px 0 26px; }
@media (max-width:720px){ .pull.oneline{ white-space:nowrap; font-size:min(30px, 7.4vw); } }   
@media (max-width:900px){
  .story-body{ grid-template-columns:1fr; gap:26px; padding-top:84px; padding-bottom:84px; }
  .story-photo{ position:static; max-width:420px; }
  .prose{ font-size:18px; }
}

@media (min-width:901px){ #aff .story-body{ grid-template-columns:minmax(0,600px) minmax(0,460px); } #aff .story-photo{ order:2; } }

#aff .story-body{ padding-bottom:40px; }
#aff.story{ background:linear-gradient(180deg,rgba(5,12,34,0) 0,rgba(5,12,34,.6) 110px,rgba(5,12,34,.6) 100%); }
.band.q{ background:linear-gradient(180deg,rgba(5,12,34,.6) 0,rgba(5,12,34,.6) calc(100% - 140px),rgba(5,12,34,0) 100%); }

.hero{ overflow:hidden; }
.hero h1{ transform-origin:22% 70%; will-change:transform, opacity; }
.prose .w{ opacity:.2; transition:opacity .2s linear; }
@media (prefers-reduced-motion:reduce){ .prose .w{ opacity:1; transition:none; } }


.hsplit .sw{ display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.14em; margin-bottom:-.14em; }
.hsplit .sw > span{ display:inline-block; transform:translateY(108%); transition:transform .85s cubic-bezier(.2,.8,.2,1); }
.hsplit.in .sw > span{ transform:none; }

.steps.live .step{ opacity:.4; }
.steps.live .step.on{ opacity:1; background-color:rgba(14,26,62,.86); border-color:rgba(255,255,255,.38); }
.steps .step{ transition:transform .18s ease-out, opacity .4s ease, background-color .4s ease, border-color .4s ease; }


.flap{ display:inline-block; position:relative; min-width:.64em; margin:0 .025em; padding:0 .05em; text-align:center; line-height:1.12; border-radius:.09em;
  background:linear-gradient(180deg,#1b2b55 0,#1b2b55 49%,#131f40 51%,#131f40 100%); box-shadow:0 2px 6px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.08); text-shadow:none; }
.flap::after{ content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:rgba(0,0,0,.55); }
.flap > span{ display:inline-block; }
.flap.punct{ min-width:0; padding:0; margin:0; background:none; box-shadow:none; }
.flap.punct::after{ display:none; }
.flap.flip > span{ animation:flap-flip .07s ease-out; }
@keyframes flap-flip{ from{ transform:scaleY(.15); opacity:.6; } to{ transform:none; opacity:1; } }
.flapline{ display:inline-block; font:800 1.15em/1 var(--display); vertical-align:-.12em; }
.flapline .flap{ min-width:.7em; }

.anno{ position:relative; display:inline; }
.anno svg.markline{ position:absolute; pointer-events:none; overflow:visible; }
.anno svg.markline path{ fill:none; stroke:var(--amber); stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; transition:stroke-dashoffset 1s cubic-bezier(.6,.05,.3,1); }
.anno[data-mark="circle"]{ display:inline-block; }
.anno[data-mark="highlight"]{ background:linear-gradient(transparent 58%, rgba(255,200,61,.38) 58%, rgba(255,200,61,.38) 92%, transparent 92%) no-repeat 0 0 / 0% 100%; transition:background-size 1.1s cubic-bezier(.6,.05,.3,1); -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.anno[data-mark="highlight"].drawn{ background-size:100% 100%; }

.signature{ margin:-6px 0 0 auto; max-width:300px; }
.signature svg{ display:block; width:100%; height:auto; overflow:visible; }
.signature text{ font:400 96px "Mrs Saint Delafield", cursive; fill:rgba(244,247,255,0); stroke:#f4f7ff; stroke-width:1.1; stroke-dasharray:900; stroke-dashoffset:900; }
.signature.in text{ animation:sig-write 2.8s cubic-bezier(.5,.1,.3,1) forwards, sig-fill .9s ease 2.2s forwards; }
@keyframes sig-write{ to{ stroke-dashoffset:0; } }
@keyframes sig-fill{ to{ fill:rgba(244,247,255,.95); } }
@media (prefers-reduced-motion:reduce){ .signature text{ stroke-dashoffset:0; fill:rgba(244,247,255,.95); } .anno svg.markline path{ transition:none; } }


.pass{ position:absolute; right:24px; top:clamp(150px,17vw,200px); width:400px; display:flex; color:var(--text); border-radius:16px; overflow:hidden;
  background:rgba(8,18,46,.72); border:1px solid rgba(255,255,255,.16); box-shadow:0 30px 60px -24px rgba(0,0,0,.6);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); text-shadow:none; animation:pass-in .9s cubic-bezier(.2,.8,.2,1) .5s backwards; }
@keyframes pass-in{ from{ opacity:0; transform:translateY(24px) rotate(-1.5deg); } to{ opacity:1; transform:none; } }
.pass-main{ flex:1; padding:18px 20px 16px; }
.pass-top{ display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:14px; }
.pass-brand{ white-space:nowrap; font:700 11px/1 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--amber); }
.pass-status{ display:inline-flex; align-items:center; gap:6px; white-space:nowrap; font:700 12px/1 var(--body); color:#8ff0b0; }
.pass-status i{ width:7px; height:7px; border-radius:50%; background:#5fe08c; }
.pass-route{ display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.pass-pt{ display:flex; flex-direction:column; min-width:0; }
.pass-pt:last-child{ text-align:right; }
.pass-pt small, .pass-grid small{ font:600 10px/1.2 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.pass-pt b{ font:800 40px/1 var(--display); margin:3px 0 2px; }
.pass-pt span{ font-size:12px; color:var(--muted); white-space:nowrap; }
.pass-line{ flex:1; position:relative; height:20px; background:linear-gradient(90deg,rgba(255,255,255,.35) 50%,transparent 0) 0 50% / 10px 2px repeat-x; }
.pass-line svg{ position:absolute; top:0; width:20px; height:20px; color:var(--amber); transform:rotate(90deg); animation:pass-fly 4.5s ease-in-out infinite; }
@keyframes pass-fly{ 0%{ left:0; opacity:0; } 12%{ opacity:1; } 88%{ opacity:1; } 100%{ left:calc(100% - 20px); opacity:0; } }
.pass-grid{ display:grid; grid-template-columns:repeat(4,auto); justify-content:space-between; gap:8px; padding-top:12px; border-top:1px solid rgba(255,255,255,.12); }
.pass-grid b{ display:block; margin-top:4px; font:700 14px/1.1 var(--body); white-space:nowrap; }
.pass-stub{ position:relative; width:66px; padding:12px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; border-left:2px dashed rgba(255,255,255,.22); background:rgba(255,255,255,.04); }
.pass-stub::before, .pass-stub::after{ content:""; position:absolute; left:-9px; width:16px; height:16px; border-radius:50%; background:#0b1838; }
.pass-stub::before{ top:-9px; } .pass-stub::after{ bottom:-9px; }
.pass-code{ width:30px; height:84px; background:repeating-linear-gradient(180deg,#e9eef8 0 2px,transparent 2px 4px,#e9eef8 4px 5px,transparent 5px 8px,#e9eef8 8px 11px,transparent 11px 13px); opacity:.85; }
.pass-stub small{ font:700 8px/1 var(--body); letter-spacing:.14em; color:var(--muted); writing-mode:vertical-rl; transform:rotate(180deg); }
@media (max-width:1100px), (max-height:640px){ 
  .pass{ position:relative; right:auto; top:auto; width:100%; max-width:400px; margin-top:34px; }
}
@media (max-width:720px){ .pass{ display:none; } }   
@media (prefers-reduced-motion:reduce){ .pass, .pass-line svg{ animation:none; } .pass-line svg{ left:calc(50% - 10px); } }


.discs .disc{ transition:opacity .6s ease, translate .75s cubic-bezier(.2,.8,.2,1), rotate .75s cubic-bezier(.2,.8,.2,1), transform .18s ease-out; }
.discs.pre .disc{ opacity:0; translate:0 48px; rotate:-5deg; }
.disc .no .flap{ background:linear-gradient(180deg,#22345f 0,#22345f 49%,#1a2850 51%,#1a2850 100%); min-width:.7em; }
.disc .fpath{ display:block; width:100%; height:84px; margin-top:auto; padding-top:16px; overflow:visible; }
.disc .fline{ fill:none; stroke:rgba(255,255,255,.4); stroke-width:2; stroke-dasharray:3 5; stroke-linecap:round; }
.disc .figart{ filter:drop-shadow(0 0 4px rgba(4,10,30,.6)); }
@media (prefers-reduced-motion:reduce){ .discs .disc{ transition:none; } }


.band.story.beat{ background:rgba(5,12,34,.6); }
#aff.story{ background:linear-gradient(180deg,rgba(5,12,34,0) 0,rgba(5,12,34,.6) 110px,rgba(5,12,34,.6) 100%); }
.story-body.solo-body{ display:block; padding-top:90px; padding-bottom:90px; }
.solo-body .prose{ margin:0 auto; }
#aff .story-body{ padding-bottom:90px; }
.prose .solo{ margin:30px 0; font-size:24px; font-weight:600; line-height:1.4; }
.today{ margin:34px 0 6px; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); text-shadow:none; }
.today-l{ display:block; margin-bottom:12px; font:700 12px/1 var(--body); letter-spacing:.14em; text-transform:uppercase; color:var(--amber); }
.today-row{ display:flex; flex-wrap:wrap; gap:14px 34px; }
.today-row b{ display:block; font:800 34px/1 var(--display); }
.today-row span{ display:block; margin-top:6px; font-size:13px; color:var(--muted); }
@media (max-width:720px){ .story-body.solo-body{ padding-top:64px; padding-bottom:64px; } .prose .solo{ font-size:21px; } .today-row b{ font-size:28px; } }

#premise.story, #aff.story{ background:rgba(5,12,34,.6); }   

#premise .story-body{ padding-top:36px; }   


.hello{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:4px 10px; margin:0 0 14px; }
.hello-hi, .hello-age{ font:800 clamp(30px,3.6vw,44px)/1 var(--display); padding-bottom:.32em; }
.hello-name{ display:block; height:clamp(70px,8vw,96px); width:auto; overflow:visible; }
.hello text{ font:400 96px "Mrs Saint Delafield", cursive; fill:rgba(244,247,255,0); stroke:#f4f7ff; stroke-width:1.1; stroke-dasharray:900; stroke-dashoffset:900; }
.hello.in text{ animation:sig-write 2.4s cubic-bezier(.5,.1,.3,1) .2s forwards, sig-fill .9s ease 1.9s forwards; }
@media (max-width:720px){ .hello{ flex-wrap:wrap; gap:4px 10px; } .hello-age{ flex-basis:100%; } .hello-hi, .hello-age{ font-size:28px; } .hello-name{ height:60px; } }
@media (prefers-reduced-motion:reduce){ .hello text{ stroke-dashoffset:0; fill:rgba(244,247,255,.95); } }


.hero-plane{ position:absolute; top:76px; left:0; width:clamp(84px,7.5vw,118px); pointer-events:none; opacity:.9; animation:plane-cross 28s linear -7s infinite; }   
.hero-plane svg{ display:block; width:100%; height:auto; filter:drop-shadow(0 8px 12px rgba(4,10,30,.35)); animation:plane-bob 4.5s ease-in-out infinite; }
.hero-plane .prop{ transform-box:fill-box; transform-origin:center; animation:prop-spin .12s linear infinite; }
@keyframes plane-cross{ from{ transform:translateX(-18vw); } to{ transform:translateX(112vw); } }
@keyframes plane-bob{ 0%,100%{ transform:translateY(0) rotate(-1.2deg); } 50%{ transform:translateY(-9px) rotate(1deg); } }
@keyframes prop-spin{ 0%,100%{ transform:scaleY(1); } 50%{ transform:scaleY(.25); } }
@media (max-width:720px){ .hero-plane{ top:78px; animation-duration:18s; animation-delay:-4.5s; } }
.dropper{ position:absolute; left:0; top:0; width:20px; height:20px; pointer-events:none; }
.dropper svg{ display:block; width:100%; height:100%; overflow:visible; }
@media (prefers-reduced-motion:reduce){ .hero-plane{ display:none; } }


.canopies{ position:fixed; inset:0; z-index:-1; pointer-events:none; overflow:hidden; display:none; }
.canopy{ position:absolute; left:0; top:0; will-change:transform, opacity; filter:drop-shadow(0 6px 10px rgba(4,10,30,.35)); }
.canopy svg{ display:block; width:100%; height:auto; overflow:visible; }
.canopy .cnp{ transform-box:fill-box; transform-origin:50% 100%; }
@media (max-width:720px){ .canopy:nth-child(2), .canopy:nth-child(4){ display:none; } }


.dp-hero{ padding-top:150px; }
.dp-h1{ font:800 clamp(46px,7.6vw,100px)/.94 var(--display); }
.dp-h1 em{ font-style:normal; color:var(--amber); }
.dp-nums{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 24px; margin:44px 0 0; }
.dp-nums dt{ color:var(--muted); font-size:15px; font-weight:600; }
.dp-nums dd{ margin:6px 0 0; font:800 clamp(40px,4.6vw,60px)/1 var(--display); }
.dp-profile{ margin:44px 0 0; }
.dp-profile svg{ display:block; width:100%; height:auto; overflow:visible; }
.dp-grid line{ stroke:rgba(255,255,255,.14); stroke-dasharray:4 6; }
.dp-axis{ font:600 14px var(--body); fill:var(--muted); }
.dp-line{ fill:none; stroke:var(--amber); stroke-width:4; stroke-linejoin:round; }
.dp-ph{ font:800 26px var(--display); fill:var(--text); }
.dp-sub{ font:600 16px var(--body); fill:var(--muted); }
.dp-lane{ fill:rgba(6,14,40,.6); stroke:rgba(255,200,61,.55); stroke-dasharray:6 6; }
.dp-lane-t{ font:600 16px var(--body); fill:var(--amber); }
.dp-marks{ display:none; }
.dp-marks circle{ fill:var(--amber); stroke:#06102c; stroke-width:6; }
.dp-marks text{ font:800 40px var(--display); fill:#06102c; }
.dp-phases b i{ display:inline-grid; place-items:center; width:22px; height:22px; margin-right:8px; border-radius:50%; background:var(--amber); color:#06102c; font:800 13px/1 var(--display); font-style:normal; vertical-align:2px; }
.dp-phases{ display:none; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; margin:18px 0 0; padding:0; list-style:none; font-size:15px; color:var(--muted); }
.dp-phases b{ display:block; font:800 22px/1.1 var(--display); color:var(--text); }
.dp-phases li:last-child b{ color:var(--amber); }
.dc-chart .wd{ fill:rgba(244,247,255,.32); }
.dc-chart .wj{ fill:var(--amber); }
.dc-chart .wa{ stroke:var(--amber); stroke-width:2; }
.dc-stats{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px 18px; margin:22px 0 0; padding:0; list-style:none; font-size:15px; color:var(--muted); }
.dc-stats b{ display:block; font:800 clamp(30px,3.4vw,44px)/1 var(--display); color:var(--text); }
@media (max-width:720px){ .dc-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.dp-profile figcaption{ margin-top:12px; color:var(--muted); font-size:15px; }
.dp-who{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:48px; align-items:center; }
.dp-photo{ margin:0; border-radius:14px; overflow:hidden; box-shadow:0 30px 60px -24px rgba(0,0,0,.6); }
.dp-photo img{ display:block; width:100%; height:auto; }
@media (max-width:720px){
  .dp-hero{ padding-top:120px; }
  .dp-nums{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 18px; }
  .dp-who{ grid-template-columns:1fr; gap:28px; }
  .dp-profile svg text{ display:none; }   
  .dp-profile svg .dp-marks{ display:inline; }
  .dp-profile svg .dp-marks text{ display:inline; }
  .dp-phases{ display:grid; }
}


.band.q{ padding-top:20px; min-height:0; }
.q{ min-height:78vh; display:flex; align-items:center; }
.q .wrap{ width:100%; }
.qlead{ margin:0 0 6px; font:800 clamp(30px,4.2vw,56px)/1 var(--display); text-shadow:0 4px 30px rgba(4,10,30,.55); }
.qtext{ max-width:1000px; margin:0 0 34px; font:800 clamp(52px,9vw,128px)/.95 var(--display); text-wrap:balance; text-shadow:0 4px 30px rgba(4,10,30,.55); }
.qtext .hl{ color:var(--amber); }
.ecg{ display:block; width:100%; max-width:520px; height:auto; overflow:visible; }
.ecg path{ fill:none; stroke:var(--amber); stroke-width:5; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:1; filter:drop-shadow(0 0 8px rgba(255,200,61,.5)); transition:stroke-dashoffset 3.6s cubic-bezier(.45,.05,.3,1) .35s; }
.q .qlead, .q .qtext{ opacity:0; transform:translateY(18px); transition:opacity .8s ease, transform .8s ease; }
.q .qtext{ transition-delay:.1s; }
.q.in .qlead, .q.in .qtext{ opacity:1; transform:none; }
.q.in .ecg path{ stroke-dashoffset:0; }
@media (min-width:721px){  .q .wrap{ text-align:right; } .q .qtext{ margin-left:auto; } .q .ecg{ margin-left:auto; } }
@media (max-width:720px){ .q{ min-height:64vh; } }
@media (prefers-reduced-motion:reduce){ .q .qlead,.q .qtext{ opacity:1; transform:none; transition:none; } .ecg path{ stroke-dashoffset:0; transition:none; } }


.tilt{ transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); transform-style:preserve-3d; transition:transform .18s ease-out; will-change:transform; position:relative; }
.tilt .lift{ transform:translateZ(34px); }
.ptilt::after{ inset:-10px -16px; border-radius:14px; }

.pgroup{ position:relative; isolation:isolate; }
.pgroup::before{ content:""; position:absolute; inset:-22px -20px; z-index:-1; border-radius:18px; pointer-events:none; background:rgba(6,14,40,.38); opacity:0; transition:opacity .3s ease; }
.pgroup.hov::before{ opacity:1; }
.tilt::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.18),transparent 60%); opacity:var(--g,0); transition:opacity .2s; }


.wallbox{ perspective:1400px; margin-top:34px; }
.wallwrap{ transform:rotateX(16deg); transform-origin:50% 100%; background:rgba(5,12,34,.55); border:1px solid var(--line); padding:14px; border-radius:14px; box-shadow:0 40px 80px -30px rgba(0,0,0,.6); }
#wall{ display:block; width:100%; height:auto; }
.scrub{ margin-top:30px; display:grid; gap:14px; max-width:760px; }
.scrub input[type=range]{ width:100%; accent-color:var(--amber); height:36px; }
.readout{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0; }
.readout div{ padding-top:8px; }
.readout dt{ color:var(--muted); font-size:14px; }
.readout dd{ margin:0; font:800 36px/1 var(--display); }
.legend{ display:flex; gap:20px; flex-wrap:wrap; font-size:15px; color:var(--muted); }
.legend i{ display:inline-block; width:14px; height:14px; margin-right:8px; vertical-align:-2px; border-radius:3px; }


.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; }
.step{ border:1px solid var(--line); border-radius:6px; background:var(--glass); padding:26px 24px 28px; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.step .when{ font:700 15px/1 var(--body); color:var(--amber); margin-bottom:12px; }
.step h3{ margin:0 0 8px; font:800 40px/.95 var(--display); }
.step p{ margin:0; color:var(--muted); font-size:16px; line-height:1.5; }


.discs{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:44px; }
.disc{ min-height:380px; display:flex; flex-direction:column; justify-content:flex-start; padding:22px 20px; border-radius:6px 28px 6px 28px; border:1px solid var(--line); background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(5,12,34,.7)); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.disc .no{ font:800 88px/.8 var(--display); color:rgba(255,200,61,.9); margin-bottom:28px; }
.disc h3{ margin:0 0 12px; font:800 28px/1 var(--display); min-height:calc(3em + 28px); display:flex; flex-direction:column; justify-content:flex-start; }
.disc h3 small{ display:block; margin-top:6px; font:600 13px/1.2 var(--body); letter-spacing:.08em; text-transform:uppercase; color:var(--amber); }
.disc p{ margin:0; font-size:15px; line-height:1.45; color:var(--muted); }


.bar{ display:flex; height:46px; border-radius:6px; overflow:hidden; margin:30px 0 24px; border:1px solid var(--line); }
.bar span{ display:block; height:100%; }
.ledger{ margin:0; padding:0; list-style:none; }
.ledger li{ display:grid; grid-template-columns:18px 1fr auto; gap:14px; align-items:baseline; padding:12px 0; border-bottom:1px solid var(--line); }
.ledger i{ width:14px; height:14px; border-radius:3px; align-self:center; }
.ledger .amt{ font:800 28px/1 var(--display); }
.funded{ margin-top:30px; }
.funded .track{ height:14px; border-radius:7px; background:rgba(255,255,255,.18); overflow:hidden; margin-top:10px; }
.funded .fill{ height:100%; width:0; background:var(--amber); border-radius:7px; }
.fine{ font-size:15px; color:var(--muted); }


.landing{ position:relative; padding:140px 0 60px; text-align:left; background:linear-gradient(180deg,rgba(5,12,34,0),rgba(5,12,34,.5) 160px,rgba(5,12,34,.62)); }
.landing h2{ font-size:clamp(56px,9.5vw,124px); }
.landing .col{ max-width:900px; }
.links2{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.links2 a:has(svg){ width:52px; height:52px; padding:0; justify-content:center; align-items:center; }
.links2 a{ min-height:52px; }
.links2 a svg{ width:22px; height:22px; display:block; }
footer{ margin-top:90px; padding-top:22px; border-top:1px solid var(--line); font-size:14px; color:var(--muted); }

.lander{ position:absolute; right:180px; bottom:0; width:min(40vw,440px); pointer-events:none; }
.lander svg{ position:relative; z-index:2; display:block; width:100%; height:auto; overflow:visible; filter:drop-shadow(0 6px 18px rgba(4,10,30,.35)); }
.landing .col{ position:relative; z-index:1; }
.arm-l{ transform-origin:239px 128px; animation:wave-l 1.1s ease-in-out infinite; }
.arm-r{ transform-origin:261px 128px; animation:wave-r 1.1s ease-in-out infinite; }
@keyframes wave-l{ 0%,100%{ transform:rotate(0deg); } 50%{ transform:rotate(-16deg); } }
@keyframes wave-r{ 0%,100%{ transform:rotate(0deg); } 50%{ transform:rotate(16deg); } }
.lander .lander2{ position:absolute; left:-20%; bottom:8%; width:46%; height:auto; overflow:visible; filter:none; will-change:transform; transform-origin:50% 0; z-index:1; }
.lander2 .l2-down{ display:none; }
.lander2.down .l2-fly{ display:none; }
.lander2.down .l2-down{ display:inline; animation:l2-settle .5s ease-out; }
@keyframes l2-settle{ from{ transform:translateY(-6px); opacity:.6; } to{ transform:none; opacity:1; } }
@media (max-width:720px){ .lander{ position:relative; right:auto; width:86%; max-width:380px; margin:28px 0 -10px auto; } }
@media (prefers-reduced-motion:reduce){ .arm-l,.arm-r{ animation:none; } }


#hud{ position:fixed; right:max(16px,env(safe-area-inset-right,0px)); bottom:calc(16px + env(safe-area-inset-bottom,0px)); z-index:40; width:128px; text-align:center; pointer-events:none; text-shadow:0 1px 8px rgba(0,0,0,.5); }
#hud svg{ display:block; width:128px; height:128px; filter:drop-shadow(0 8px 18px rgba(0,0,0,.4)); }
#hud .read{ margin-top:-6px; font:800 30px/1 var(--display); }
#hud .read small{ font:600 13px var(--body); margin-left:4px; opacity:.85; }

@media (max-width:980px){
  .discs{ grid-template-columns:repeat(2,1fr); }
  .steps{ grid-template-columns:1fr; }
    .readout{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px){
  body{ font-size:17px; }
  .links{ gap:10px; }
  .navlinks{ display:none; position:fixed; left:0; right:0; top:calc(64px + env(safe-area-inset-top,0px)); flex-direction:column; padding:6px 24px 18px;
    background:rgba(6,14,40,.97); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
  .nav.open .navlinks{ display:flex; }
  .navlinks a{ padding:15px 0; font-size:20px; border-bottom:1px solid var(--line); opacity:1; }
  .navlinks a:last-child{ border-bottom:0; }
  .menu-btn{ display:inline-flex; }
  :root{ --veil:.66; }
  .band{ padding:84px 0; background:linear-gradient(180deg,rgba(5,12,34,0) 0,rgba(5,12,34,var(--veil)) 80px,rgba(5,12,34,var(--veil)) calc(100% - 80px),rgba(5,12,34,0) 100%); }
  .hero{ padding:100px 0 48px; }
  .wallwrap{ transform:rotateX(10deg); padding:8px; }
  .ledger li{ grid-template-columns:16px 1fr auto; }
  #hud{ width:auto; padding:8px 14px; border-radius:999px; background:rgba(6,14,40,.72); border:1px solid var(--line); } #hud svg{ display:none; } #hud .read{ margin:0; font-size:22px; }
}
@media (max-width:360px){ 
  .wrap{ padding:0 16px; }
  .nav .wrap{ gap:10px; }
  .mark{ gap:8px; }
  .logo-img{ width:38px; height:38px; }
  .wm1{ letter-spacing:.3em; }
  .wm2{ font-size:28px; }
  .links{ gap:8px; }
  .landing h2{ font-size:48px; }
}
@media (max-width:460px){ .discs{ grid-template-columns:1fr; } .disc{ min-height:220px; } }
@media (prefers-reduced-motion:reduce){ .story-photo img{ opacity:.92; transform:none; transition:none; } html{ scroll-behavior:auto; } .tilt{ transform:none !important; transition:none; } }
