/* Alura Capital: one environment, one signature line, gold in rare doses. */
:root{
  --canvas:#0E0C0A;
  --panel:#171410;
  --panel-2:#1E1A14;
  --accent:#D4A63A;
  --accent-hover:#E8C25A;
  --accent-muted:rgba(212,166,58,.18);
  --accent-line:rgba(212,166,58,.55);
  --text-secondary:#B8AE9B;
  --text-primary:#F4EEE2;
  --ink-on-accent:#14110C;
  --rule:rgba(244,238,226,.12);
  --rule-strong:rgba(244,238,226,.28);
  --font-display:'Archivo',system-ui,sans-serif;
  --font-body:'Instrument Sans',system-ui,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-2:cubic-bezier(.65,0,.35,1);
  --header-h:64px;
  --gutter:max(20px,calc((100vw - min(1180px,92vw)) / 2));
  --tshadow:0 1px 2px rgba(5,5,10,.95),0 3px 12px rgba(5,5,10,.78),0 10px 44px rgba(5,5,10,.8);
}

*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:hidden;overflow-x:clip}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--text-primary);font:400 17px/1.6 var(--font-body);-webkit-font-smoothing:antialiased;animation:page-in 1.1s var(--ease) both}
@keyframes page-in{from{opacity:0}to{opacity:1}}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{margin:0}
.display{font-family:var(--font-display);font-stretch:125%;font-weight:900;letter-spacing:-.012em;line-height:.98}
.mono{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.02em}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--accent);color:var(--ink-on-accent);padding:10px 14px;border-radius:6px;font-weight:600;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}
.wrap.narrow{width:min(820px,calc(100% - 40px))}

/* fixed environment */
.env{position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--canvas)}
.env::before{content:"";position:absolute;inset:-20%;background:radial-gradient(ellipse 60% 40% at 50% 100%,rgba(212,166,58,.16),rgba(212,166,58,0) 70%);animation:env-drift 90s ease-in-out -30s infinite alternate}
.env::after{content:"";position:absolute;inset:0;opacity:.05;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='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes env-drift{from{transform:translate3d(-3%,2%,0) scale(1)}to{transform:translate3d(3%,-2%,0) scale(1.06)}}

/* buttons */
.btn{display:inline-block;padding:14px 22px;border-radius:8px;font-family:var(--font-body);font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .35s var(--ease),background-color .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease),box-shadow .35s var(--ease)}
.btn.primary{background:linear-gradient(180deg,var(--accent-hover),var(--accent));color:var(--ink-on-accent);position:relative}
.btn.primary::after{content:"";position:absolute;inset:-2px;border-radius:10px;box-shadow:0 0 0 1px rgba(212,166,58,.35),0 10px 40px rgba(212,166,58,.25);opacity:0;transition:opacity .5s var(--ease);pointer-events:none}
.btn.primary:hover{transform:translateY(-1px)}
.btn.primary:hover::after{opacity:1}
.btn.ghost{background:rgba(14,12,10,.35);border-color:var(--rule-strong);color:var(--text-primary);backdrop-filter:blur(8px)}
.btn.ghost:hover{border-color:var(--accent-line)}
.btn.small{padding:10px 16px;font-size:.9rem}
.btn[aria-disabled="true"]{opacity:.45;pointer-events:none}
.btn[aria-disabled="true"].primary::after{display:none}
.band .btn{text-shadow:none}
@media (pointer:coarse){.btn,.chip,.navlinks a,.foot-nav a,.linkish{min-height:44px;display:inline-flex;align-items:center;justify-content:center}}

/* header */
.top{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--header-h);transition:background-color .5s var(--ease),border-color .5s var(--ease);border-bottom:1px solid transparent}
.top.scrolled{background:rgba(14,12,10,.82);backdrop-filter:blur(12px);border-color:var(--rule)}
.bar{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-mark{width:28px;height:28px;color:var(--accent)}
.brand-mark.big{width:44px;height:44px}
.brand-name{font-family:var(--font-display);font-stretch:125%;font-weight:800;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}
.navlinks{display:flex;align-items:center;gap:22px}
.navlinks a{text-decoration:none;font-size:.92rem;font-weight:500;color:var(--text-secondary);transition:color .3s var(--ease)}
.navlinks a:hover{color:var(--text-primary)}
.navlinks .phone{color:var(--text-primary)}
.navlinks .btn{color:var(--ink-on-accent)}
.burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px;align-items:center;cursor:pointer}
.burger span{width:22px;height:2px;background:var(--text-primary);transition:transform .3s var(--ease),opacity .3s}
@media (max-width:1080px){
  .burger{display:flex}
  .navlinks{position:fixed;inset:var(--header-h) 0 auto 0;background:rgba(14,12,10,.96);backdrop-filter:blur(14px);flex-direction:column;align-items:stretch;padding:12px 4vw 24px;gap:0;border-bottom:1px solid var(--rule);transform:translateY(-8px);opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s linear .3s}
  .navlinks a{padding:14px 8px;border-bottom:1px solid var(--rule);font-size:1.05rem}
  .navlinks .btn{margin-top:14px;border-bottom:0;justify-content:center}
  #navtoggle:checked ~ .navlinks{transform:none;opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s}
  #navtoggle:checked ~ .burger span:first-child{transform:translateY(4px) rotate(45deg)}
  #navtoggle:checked ~ .burger span:last-child{transform:translateY(-4px) rotate(-45deg)}
  #navtoggle:focus-visible + .burger{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
  .top{background:rgba(14,12,10,.7)}
}
@media (min-width:1081px){#navtoggle{display:none}}

/* hero */
.hero{position:relative;height:560vh}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#0E0C0A}
.poster{position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 78%,rgba(212,166,58,.35),rgba(14,12,10,0) 70%),linear-gradient(180deg,#0E0C0A 0%,#2A1F10 60%,#0E0C0A 100%);background-size:cover;background-position:center 72%;transform:scale(1.02)}
.stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 72%;opacity:0;transition:opacity .9s var(--ease);will-change:transform;transform:translateZ(0)}
.stage.video-ready video{opacity:1}
.stage.video-failed video{display:none}
.scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% 45%,rgba(10,10,18,0) 35%,rgba(10,10,18,.62) 100%)}
.motes{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.motes i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--accent);opacity:0;filter:blur(1px);animation:mote 14s linear infinite}
.motes i:nth-child(1){left:12%;top:20%;animation-delay:-1s;animation-duration:16s}
.motes i:nth-child(2){left:22%;top:40%;animation-delay:-5s}
.motes i:nth-child(3){left:31%;top:12%;animation-delay:-9s;animation-duration:19s}
.motes i:nth-child(4){left:44%;top:30%;animation-delay:-3s}
.motes i:nth-child(5){left:52%;top:18%;animation-delay:-12s;animation-duration:17s}
.motes i:nth-child(6){left:61%;top:42%;animation-delay:-7s}
.motes i:nth-child(7){left:70%;top:24%;animation-delay:-2s;animation-duration:21s}
.motes i:nth-child(8){left:78%;top:36%;animation-delay:-10s}
.motes i:nth-child(9){left:86%;top:16%;animation-delay:-6s;animation-duration:15s}
.motes i:nth-child(10){left:92%;top:48%;animation-delay:-13s}
@keyframes mote{0%{transform:translate3d(0,0,0);opacity:0}15%{opacity:.16}50%{opacity:.09}85%{opacity:.14}100%{transform:translate3d(-14px,-60px,0);opacity:0}}
.hero.off .motes i,.hero.scrolled .cue i,body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}

.bands{position:absolute;inset:0;pointer-events:none}
.band{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);width:min(92vw,1080px);text-align:center;opacity:0;pointer-events:none;text-shadow:var(--tshadow);--k:0}
.band.on{pointer-events:auto}
/* per-band scrim: radii are 50% of its own box, so the gradient reaches zero before any edge and never shows a rectangle */
.band::before{content:"";position:absolute;inset:calc(-40% - 13vh) -42%;z-index:-1;pointer-events:none;opacity:calc(.25 + .75*var(--k,1));background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(5,5,10,var(--sa,.74)) 0%,rgba(5,5,10,calc(var(--sa,.74)*.9)) 50%,rgba(5,5,10,calc(var(--sa,.74)*.45)) 75%,rgba(5,5,10,0) 100%)}
.band .line{font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:clamp(1.9rem,4.6vw,4.2rem);line-height:1.02;letter-spacing:-.012em;margin:0;text-wrap:balance}
.band .w{display:inline-block;will-change:transform,opacity}
.band .c{display:inline-block;will-change:transform,opacity}

/* band 1: blur-to-sharp */
.b1{--k:0}
.b1 .soft{position:absolute;inset:0;filter:blur(10px);opacity:calc(1 - var(--k));}
.b1 .sharp{position:relative;opacity:var(--k)}
/* band 2: drift-down per word */
.b2 .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.8,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*-26px))}
/* band 3: approach-from-depth, two lines */
.b3 .l1{--kc:clamp(0,var(--k,0)*1.6,1);opacity:var(--kc);transform:scale(calc(.84 + .16*var(--kc)))}
.b3 .l2{--kc:clamp(0,(var(--k,0) - .38)*1.9,1);opacity:var(--kc);transform:scale(calc(.84 + .16*var(--kc)));color:var(--accent-hover);margin-top:.15em}
/* band 4: staged settle */
.b4{top:42%;width:min(92vw,980px)}
.b4::before{inset:-44% -40% -40%;background:radial-gradient(ellipse 50% 50% at 50% 48%,rgba(5,5,10,var(--sa,.78)) 0%,rgba(5,5,10,calc(var(--sa,.78)*.9)) 50%,rgba(5,5,10,calc(var(--sa,.78)*.45)) 75%,rgba(5,5,10,0) 100%)}
.b4 h1{font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:clamp(2.2rem,5.6vw,5.1rem);line-height:.98;letter-spacing:-.015em;max-width:16ch;margin:0 auto;text-wrap:balance}
.b4 .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*3,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*22px))}
.b4 .sub{--ks:clamp(0,(var(--k,0) - .62)*4,1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks))*12px));font-size:clamp(1rem,1.5vw,1.2rem);color:var(--text-primary);max-width:58ch;margin:22px auto 0;line-height:1.5}
.b4 .cta-row{--kb:clamp(0,(var(--k,0) - .76)*5,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*10px));display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.b4 .kicker{display:none;color:var(--accent);margin:0 0 14px}

.ring{position:absolute;left:50%;bottom:30px;width:44px;height:44px;transform:translateX(-50%) rotate(-90deg);color:var(--accent);opacity:.9;transition:opacity .5s var(--ease)}
.ring circle{transition:stroke-dashoffset .2s linear}
.stage.video-ready .ring,.ring.hidden{opacity:0}
.cue{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-secondary);opacity:0;transition:opacity .6s var(--ease)}
.cue i{width:10px;height:10px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);animation:cue 2.4s var(--ease) -1.2s infinite}
.stage.video-ready .cue,.stage.video-failed .cue{opacity:.85}
.hero.scrolled .cue{opacity:0}
@keyframes cue{0%,100%{transform:translateY(0) rotate(45deg);opacity:.5}50%{transform:translateY(5px) rotate(45deg);opacity:1}}
@media (max-height:560px){.cue,.ring{display:none}}

/* the five static-hero gates: identical strings live in site.js */
@media (max-width: 720px),(orientation: portrait) and (max-width: 1024px),(orientation: portrait) and (pointer: coarse),(orientation: landscape) and (pointer: coarse) and (max-height: 560px),(prefers-reduced-motion: reduce){
  .hero{height:auto}
  .stage{position:relative;height:100svh;min-height:560px}
  .poster{background-image:url("hero-still.jpg");background-position:center 70%;transform:none}
  .scrub-only,.b1,.b2,.b3{display:none!important}
  .b4{opacity:1!important;--k:1!important;pointer-events:auto;top:46%}
  .b4 .kicker{display:block}
  .b4 .scrub-tail{display:none}
  .stage video{display:none}
}

/* below the hero: the scenario line */
.below{position:relative}
/* the line runs in the left gutter, never behind text; each label's node sits on it */
.sline{position:absolute;top:0;left:10px;width:2px;height:100%;color:var(--accent-line);pointer-events:none;z-index:1}
.block{position:relative;padding:clamp(72px,10vw,140px) 0}
.label{position:relative;display:flex;align-items:center;gap:14px;color:var(--accent);margin:0 0 26px;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;padding-left:12px}
.label .node{position:absolute;left:-19px;top:50%;margin-top:-10px;z-index:2}
@media (min-width:901px){
  .wrap{width:min(1180px,calc(100% - 128px))}
  .wrap.narrow{width:min(820px,calc(100% - 128px))}
  .sline{left:calc((100% - min(1180px,100% - 128px)) / 2 - 29px)}
  .label{padding-left:0}
  .label .node{left:-38px}
  .stamps{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:18px 56px}
}
.faq .qa{max-width:820px}
h2.display,h3.display,.door-title,.closer{text-wrap:balance}
p{text-wrap:pretty}
.node{width:20px;height:20px;color:var(--accent);flex:none;background:var(--canvas);border-radius:50%;padding:1px;transition:filter .6s var(--ease);filter:drop-shadow(0 0 0 rgba(212,166,58,0))}
.block.in .node{filter:drop-shadow(0 0 8px rgba(212,166,58,.7))}
.intro{font-size:clamp(1.05rem,1.4vw,1.25rem);color:var(--text-secondary);max-width:52ch;margin:22px 0 0}
h2.display{font-size:clamp(2rem,4.4vw,3.6rem);max-width:18ch}
h3.display{font-size:clamp(1.3rem,2.2vw,1.9rem);font-weight:800}

/* entrances */
.rv{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.in .rv,.in.rv{opacity:1;transform:none}
/* items with their own observer wait for their own entrance, not their section's */
.block.in .entry:not(.in) .rv,.block.in .rv:is(.promise,.step,.member,.closer):not(.in){opacity:0;transform:translateY(18px)}
.in .rv:nth-child(2){transition-delay:.08s}
.in .rv:nth-child(3){transition-delay:.16s}
.in .rv:nth-child(4){transition-delay:.24s}
.in .rv:nth-child(5){transition-delay:.32s}
.in .rv:nth-child(6){transition-delay:.4s}
.in.done .rv:not(.entry:not(.done) .rv){transition-delay:0s!important}

/* S1 proof */
.proof{padding:56px 0 24px}
.stamps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:18px 44px;color:var(--text-secondary)}
.stamps li{display:flex;align-items:center;gap:10px}
.stamps .node{width:14px;height:14px}

/* S2 doors */
.doors-block{padding-top:48px}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:40px;border-top:1px solid var(--rule)}
.door{position:relative;display:flex;flex-direction:column;gap:18px;padding:clamp(28px,4vw,56px) clamp(18px,3vw,44px) clamp(28px,4vw,56px) 0;text-decoration:none;color:var(--text-primary);background:transparent}
.door + .door{padding-left:clamp(18px,3vw,44px);border-left:1px solid var(--rule)}
.door::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease)}
.door:hover::before{transform:none}
.door-title{font-size:clamp(1.5rem,2.8vw,2.4rem);line-height:1;max-width:14ch}
.door-line{color:var(--text-secondary);max-width:42ch}
.door-link{color:var(--accent);margin-top:auto}
.door-link::after{content:" \2192";}
.doors-block.live .door::before{animation:door-breathe 6s var(--ease) -2s infinite}
@keyframes door-breathe{0%,100%{transform:scaleX(0);opacity:.6}50%{transform:scaleX(.38);opacity:1}}
.doors-block.live .door:hover::before{animation:none;transform:none}

/* S3 outside the box */
.outside-head{position:relative;max-width:820px}
.ghost-mark{position:absolute;right:-6%;top:-40%;width:min(44vw,420px);height:min(44vw,420px);color:var(--accent);opacity:.05;pointer-events:none}
.ledger{margin-top:clamp(56px,7vw,96px);display:grid;gap:clamp(56px,8vw,112px)}
.entry{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,72px);align-items:center}
.entry:nth-child(even) figure{order:2}
.entry figure{margin:0;aspect-ratio:16/10;overflow:hidden;border-radius:10px;background:radial-gradient(ellipse 70% 60% at 50% 80%,rgba(212,166,58,.28),rgba(14,12,10,0) 70%),linear-gradient(180deg,#141109,#221A0E);position:relative}
.entry figure::after{content:"";position:absolute;inset:0;border-radius:10px;box-shadow:inset 0 0 0 1px var(--rule)}
.entry img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 14s linear}
.entry.in img{transform:scale(1)}
.entry-text p{color:var(--text-secondary);margin:14px 0 18px;max-width:46ch}
.run{color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}
.run::after{content:"\2192";transition:transform .35s var(--ease)}
.run:hover::after{transform:translateX(4px)}
.entry-links{display:flex;flex-wrap:wrap;gap:10px 28px;margin:0}
.closer{margin:clamp(48px,6vw,80px) 0 0;font-size:clamp(1.4rem,2.6vw,2.2rem);max-width:22ch;color:var(--text-primary)}

/* S4 build */
.build{background:linear-gradient(180deg,rgba(23,20,16,0),var(--panel) 30%,var(--panel) 70%,rgba(23,20,16,0))}
.chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:36px;max-width:900px}
@media (max-width:640px){.chips{grid-template-columns:1fr}}
.chip{position:relative;display:grid;grid-template-columns:auto auto;gap:4px 14px;align-items:center;align-content:start;text-align:left;padding:14px 16px;border-radius:12px;border:1px solid var(--rule-strong);background:var(--canvas);color:var(--text-primary);font:500 .95rem var(--font-body);cursor:pointer;transition:border-color .4s var(--ease),background-color .4s var(--ease),transform .4s var(--ease);max-width:100%}
.chip:hover{border-color:var(--accent-line);transform:translateY(-1px)}
.chip .c-label{grid-column:1/-1}
.chip .c-yes{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.chip .c-no{font-size:.84rem;line-height:1.4;color:var(--text-secondary);transition:opacity .35s var(--ease)}
.chip .c-no,.chip .c-how{text-wrap:pretty}
.chip .c-yes{color:var(--accent);opacity:0;transform:translateY(4px);transition:opacity .45s var(--ease),transform .45s var(--ease);grid-column:1/-1;grid-row:2}
.chip .c-no{grid-column:1/-1;grid-row:2}
.chip .c-how{grid-column:1/-1;display:block;color:var(--text-secondary);font-size:.86rem;line-height:1.45;max-height:0;overflow:hidden;opacity:0;transition:max-height .55s var(--ease),opacity .45s var(--ease),margin .45s var(--ease)}
.chip[aria-pressed="true"]{border-color:var(--accent);background:var(--panel-2)}
.chip[aria-pressed="true"] .c-no{opacity:0}
.chip[aria-pressed="true"] .c-yes{opacity:1;transform:none}
.chip[aria-pressed="true"] .c-how{max-height:8em;opacity:1;margin-top:6px}
.build-foot{display:grid;grid-template-columns:1fr auto;gap:14px 28px;align-items:center;margin-top:36px}
.fill-track{grid-column:1/-1;height:2px;background:var(--rule);position:relative;overflow:hidden;border-radius:2px}
.fill{position:absolute;inset:0;width:100%;background:var(--accent);transform-origin:left;transform:scaleX(var(--fill,0));transition:transform .7s var(--ease)}
.count{color:var(--text-secondary);margin:0}
#run-scenario.ready::after{opacity:1}
.build.live #run-scenario.ready::after{animation:glow 4s var(--ease) -1.5s infinite}
@keyframes glow{0%,100%{opacity:.35}50%{opacity:1}}

/* S5 investor toolkit */
.calc{margin-top:40px;border:1px solid var(--rule-strong);border-radius:14px;background:var(--panel);overflow:hidden}
.tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:thin;border-bottom:1px solid var(--rule);padding:0 12px}
.tabs [role="tab"]{flex:none;background:none;border:0;border-bottom:2px solid transparent;color:var(--text-secondary);font:500 .78rem var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:18px 14px 16px;cursor:pointer;transition:color .3s var(--ease),border-color .3s var(--ease)}
.tabs [role="tab"]:hover{color:var(--text-primary)}
.tabs [role="tab"][aria-selected="true"]{color:var(--text-primary);border-bottom-color:var(--accent)}
.panel{display:grid;grid-template-columns:1.35fr 1fr;gap:28px 36px;padding:28px;align-items:start}
.panel[hidden]{display:none}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.fields label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:var(--text-secondary)}
.fields input[type="number"],.fields input[type="date"]{background:var(--canvas);border:1px solid var(--rule-strong);border-radius:8px;color:var(--text-primary);padding:10px 12px;font:500 1rem var(--font-mono);color-scheme:dark;transition:border-color .3s var(--ease)}
.fields input:focus{border-color:var(--accent);outline:none}
.fields label.check{flex-direction:row;align-items:center;gap:10px;font-size:.9rem;color:var(--text-primary);grid-column:1/-1}
.fields label.check input{width:18px;height:18px;accent-color:var(--accent)}
.results{background:var(--canvas);border:1px solid var(--accent-line);border-radius:12px;padding:22px 22px 18px}
.results .big{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}
.results .big span{color:var(--accent);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.results .big b{font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1;font-variant-numeric:tabular-nums;color:var(--text-primary)}
.results dl{margin:0}
.results dl > div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;border-top:1px solid var(--rule)}
.results dt{color:var(--text-secondary);font-size:.86rem}
.results dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;font-size:.95rem}
.results .verdict{margin:12px 0 0;font-size:.88rem;color:var(--text-primary)}
.results .verdict:empty{display:none}
.panel .note{grid-column:1/-1;margin:0;font-size:.82rem;color:var(--text-secondary);max-width:90ch}
.calc-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:18px 28px;border-top:1px solid var(--rule)}
.calc-disc{margin:0;color:var(--text-secondary);font-size:.72rem}
.downloads{margin-top:clamp(56px,7vw,88px)}
.downloads h3{margin-bottom:22px}
.dl-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dl-list a{display:grid;grid-template-columns:32px 1fr auto;grid-template-rows:auto auto;gap:4px 14px;align-items:start;padding:18px;border:1px solid var(--rule);border-radius:12px;text-decoration:none;background:rgba(23,20,16,.6);transition:border-color .35s var(--ease),transform .35s var(--ease)}
.dl-list a:hover{border-color:var(--accent-line);transform:translateY(-1px)}
.dl-list svg{grid-row:1/3;width:30px;height:30px;color:var(--accent)}
.dl-t{font-weight:600}
.dl-d{grid-column:2;color:var(--text-secondary);font-size:.88rem;line-height:1.45}
.dl-f{grid-column:3;grid-row:1;color:var(--accent);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--accent-line);border-radius:999px;padding:2px 9px}

/* S6 veterans */
.va-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:center}
.va-grid figure{margin:0;aspect-ratio:16/11;overflow:hidden;border-radius:10px;background:var(--panel);position:relative}
.va-grid figure::after{content:"";position:absolute;inset:0;border-radius:10px;box-shadow:inset 0 0 0 1px var(--rule)}
.va-grid img{width:100%;height:100%;object-fit:cover}
.va-facts{list-style:none;margin:28px 0 26px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}
.va-facts li{display:flex;flex-direction:column;gap:4px;padding-top:12px;border-top:1px solid var(--rule)}
.va-facts b{color:var(--accent);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.va-facts span{color:var(--text-secondary);font-size:.95rem}

/* S6 promises */
.promises{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:22px;max-width:760px}
.promise{display:flex;gap:18px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--rule)}
.promise:last-child{border-bottom:1px solid var(--rule)}
.promise p{margin:0;font-size:1.08rem}
.ico{width:30px;height:30px;flex:none;color:var(--accent)}
.ico path,.ico circle{stroke-dasharray:80;stroke-dashoffset:80;transition:stroke-dashoffset 1.2s var(--ease) .2s}
.promise.in .ico path,.promise.in .ico circle{stroke-dashoffset:0}

/* S9 team */
.team{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);margin-top:44px;max-width:980px}
.portrait{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:10px;background:var(--panel)}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(.2) sepia(.28) saturate(.85) contrast(1.06) brightness(.94)}
.portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(212,166,58,.08),rgba(14,12,10,.35) 100%);mix-blend-mode:multiply}
.corner{position:absolute;width:26px;height:26px;border-color:var(--accent);border-style:solid;border-width:0;transition:width .8s var(--ease),height .8s var(--ease)}
.corner.tl{left:10px;top:10px;border-left-width:1.5px;border-top-width:1.5px}
.corner.br{right:10px;bottom:10px;border-right-width:1.5px;border-bottom-width:1.5px}
.member.in .corner{width:48px;height:48px}
.member h3{margin-top:22px}
.role{color:var(--accent);margin:8px 0 12px}
.member p{color:var(--text-secondary);max-width:40ch}
.contact{display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--text-primary)}
.member .contact{max-width:none}
.contact a{text-decoration:none;border-bottom:1px solid var(--rule-strong)}

/* S10 steps */
.steps{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2px;border-top:1px solid var(--rule)}
.step{padding:32px 32px 32px 0;position:relative}
.step + .step{padding-left:32px;border-left:1px solid var(--rule)}
.num{display:block;color:var(--accent);font-size:2.2rem;letter-spacing:0;margin-bottom:14px;position:relative}
.num::after{content:"";position:absolute;left:0;bottom:-6px;width:28px;height:1px;background:var(--accent-line)}
.step h3{font-size:1.35rem;max-width:14ch}
.step p{color:var(--text-secondary);margin:12px 0 0}
.under{margin-top:28px;color:var(--text-secondary)}

/* S11 faq */
.qa{margin-top:36px;border-top:1px solid var(--rule)}
.qa details{border-bottom:1px solid var(--rule)}
.qa summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-weight:600;font-size:1.05rem;position:relative}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";position:absolute;right:8px;top:50%;width:12px;height:12px;border:1.5px solid var(--accent);transform:translateY(-50%) rotate(45deg);transition:transform .4s var(--ease)}
.qa details[open] summary::after{transform:translateY(-50%) rotate(225deg)}
.qa details p{margin:0 0 22px;color:var(--text-secondary);max-width:62ch}

/* S12 ask */
.ask{background:linear-gradient(180deg,rgba(23,20,16,0),var(--panel) 40%)}
.ask-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,88px);align-items:start;position:relative}
.side{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:26px;font-size:.9rem}
.side a{text-decoration:none;border-bottom:1px solid var(--rule-strong)}
.apply{color:var(--text-secondary);font-size:.95rem;margin-top:26px;max-width:40ch}
.apply a{color:var(--text-primary)}
.scenario-form{display:grid;gap:16px;padding:clamp(20px,3vw,36px);border:1px solid var(--rule);border-radius:12px;background:var(--canvas)}
.field{display:grid;gap:6px}
.field label{font:500 .72rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary)}
.field input,.field select,.field textarea{width:100%;background:var(--panel);border:1px solid var(--rule-strong);border-radius:8px;color:var(--text-primary);padding:12px 14px;font:400 1rem var(--font-body);transition:border-color .3s var(--ease)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none}
.field textarea{resize:vertical;min-height:120px}
.field .opt{text-transform:none;letter-spacing:0;opacity:.8}
.scenario-form .btn{justify-self:start}
.consent{font-size:.8rem;color:var(--text-secondary);margin:0}
.err{color:var(--accent-hover);margin:0}
.success{grid-column:2;grid-row:1;align-self:start;padding:clamp(24px,4vw,48px);border:1px solid var(--accent-line);border-radius:12px;background:var(--canvas)}
.success-mark{width:40px;height:40px;color:var(--accent);margin-bottom:16px}
.success .display{font-size:2.4rem;margin-bottom:12px}
.success p{color:var(--text-secondary)}
.success a{color:var(--text-primary)}
.ask-grid.sent .scenario-form{display:none}

/* footer */
.foot{border-top:1px solid var(--rule);padding:clamp(48px,7vw,96px) 0 40px;background:var(--canvas)}
.foot-top{display:grid;grid-template-columns:1.2fr .8fr .6fr;gap:40px}
.foot-brand .display{font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;margin:12px 0 10px}
.foot-brand p{margin:0 0 6px;color:var(--text-secondary)}
.foot-brand a,.foot-nav a,.foot-legal .linkish{color:var(--text-secondary);text-decoration:none;transition:color .3s var(--ease)}
.foot-brand a:hover,.foot-nav a:hover,.linkish:hover{color:var(--text-primary)}
.foot-nav,.foot-legal{display:flex;flex-direction:column;gap:10px}
.linkish{background:none;border:0;padding:0;font:inherit;cursor:pointer;text-align:left}
.foot-license{margin-top:44px;padding-top:24px;border-top:1px solid var(--rule);color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:12px 40px;align-items:center}
.foot-license p{margin:0}
.foot-license a{color:var(--text-primary)}
.eho{display:inline-flex;align-items:center;gap:8px}
.eho svg{width:22px;height:22px;color:var(--text-primary)}
.foot-disc{margin:18px 0 0;font-size:.82rem;color:var(--text-secondary);max-width:80ch}
.foot-copy{margin-top:26px;color:var(--text-secondary)}

/* dialogs */
.legal{background:var(--panel);color:var(--text-primary);border:1px solid var(--rule-strong);border-radius:12px;padding:32px;width:min(640px,92vw);max-height:80vh}
.legal::backdrop{background:rgba(5,5,10,.7);backdrop-filter:blur(6px)}
.legal h2{font-size:1.8rem;margin-bottom:14px}
.legal p{color:var(--text-secondary);margin:0}
.legal form{position:absolute;right:12px;top:12px;margin:0}
.close{background:none;border:0;color:var(--text-primary);font-size:1.6rem;line-height:1;cursor:pointer;width:44px;height:44px}

/* small screens */
@media (max-width:900px){
  .doors{grid-template-columns:1fr}
  .door + .door{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
  .entry{grid-template-columns:1fr}
  .entry:nth-child(even) figure{order:0}
  .team{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .step + .step{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
  .ask-grid{grid-template-columns:1fr}
  .panel{grid-template-columns:1fr;padding:22px 18px}
  .tabs{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent);padding-right:40px}
  .calc-foot{padding:18px}
  .dl-list{grid-template-columns:1fr}
  .va-grid{grid-template-columns:1fr}
  .success{grid-column:1;grid-row:auto}
  .foot-top{grid-template-columns:1fr}
  .foot-nav,.foot-legal{flex-direction:row;flex-wrap:wrap;gap:10px 22px}
}
@media (max-width:560px){
  .fields{grid-template-columns:1fr}
  .va-facts{grid-template-columns:1fr}
  .build-foot{grid-template-columns:1fr}
  .b4 .cta-row .btn{width:100%;text-align:center}
}

/* reduced motion: every final state shown, every drive stopped */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important}
  body{animation:none}
  .rv,.in .rv{opacity:1;transform:none}
  .entry img{transform:none}
  .member .corner{width:48px;height:48px}
  .ico path,.ico circle{stroke-dashoffset:0}
  .sline line{stroke-dashoffset:0!important}
  .block .node{filter:drop-shadow(0 0 8px rgba(212,166,58,.7))}
  .chip .c-how{max-height:none;opacity:1;margin-top:6px}
  .chip .c-yes{opacity:1;transform:none;grid-row:auto}
  .chip .c-no{grid-row:auto}
  .motes{display:none}
}
body.pinned .rv{opacity:1;transform:none}
body.pinned .entry img{transform:none}
body.pinned .member .corner{width:48px;height:48px}
body.pinned .ico path,body.pinned .ico circle{stroke-dashoffset:0}
body.pinned .chip .c-how{max-height:none;opacity:1;margin-top:6px}
body.pinned .chip .c-yes{opacity:1;transform:none;grid-row:auto}
body.pinned .chip .c-no{grid-row:auto}
