/* Grino #27 deck — 1920×1080 stage scaled to any screen. Palette derived from the template's #253B33. */
:root{
  --ink:#253B33; --ink-deep:#0E1A15; --ink-2:#16291F;
  --paper:#F4F1E8; --paper-2:rgba(244,241,232,.72); --paper-3:rgba(244,241,232,.5);
  --sun:#FFB547; --sun-2:#FFD98A; --sun-3:#FF8A3D;
  --amber:#F59E0B; --alert:#EF4B4F; --safe:#34C77B; --safe-band:rgba(52,199,123,.18);
  --grey:#6B6B68; --black-ink:#0E0D0D;
  --font:'Plus Jakarta Sans','Segoe UI',system-ui,-apple-system,Roboto,'Noto Sans Armenian',Sylfaen,Arial,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --letterbox:#ffffff;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden;background:var(--letterbox);font-family:var(--font);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums}
body{transition:background-color .7s var(--ease)}
body.dark-lb{--letterbox:#0E1A15;background:#0E1A15}
#viewport{position:fixed;inset:0;overflow:hidden;cursor:default}
body.idle #viewport{cursor:none}
#stage{position:absolute;left:50%;top:50%;width:1920px;height:1080px;transform-origin:50% 50%;
  transform:translate(-50%,-50%) scale(var(--s,1));overflow:hidden;background:transparent}

/* ---------- slides ---------- */
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(18px) scale(.992);
  transition:opacity .75s var(--ease),transform .9s var(--ease),visibility 0s linear .9s;overflow:hidden}
.slide.active{opacity:1;visibility:visible;transform:none;transition:opacity .75s var(--ease),transform .9s var(--ease),visibility 0s}
.slide.light{background:#fff;color:var(--ink)}
.slide.dark{color:var(--paper);background:
  radial-gradient(1100px 680px at 88% -12%,rgba(255,181,71,.17),transparent 62%),
  radial-gradient(900px 640px at -8% 112%,rgba(52,199,123,.11),transparent 60%),
  linear-gradient(158deg,#172B21 0%,#0F1D17 55%,#0A1510 100%)}
.slide.dark::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='240' height='240' filter='url(%23n)'/></svg>")}
.slide.scene{color:#fff;background:transparent}

/* staggered entry */
.slide .a{opacity:0;transform:translateY(28px);transition:opacity .3s ease,transform .3s ease}
.slide.active .a{opacity:1;transform:none;transition:opacity .9s var(--ease) var(--d,0s),transform 1s var(--ease) var(--d,0s)}

.kicker{position:absolute;left:110px;top:92px;font-size:22px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sun)}
.hl{position:absolute;left:106px;top:130px;margin:0;font-size:84px;line-height:1.03;font-weight:800;letter-spacing:-.028em;max-width:1500px}
.hl-red{color:#FF6B6B}
.hl-green{color:#5BE59A}
.scene .kicker{color:#FFE2A8;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.scene .hl{font-size:80px;max-width:900px;text-shadow:0 4px 40px rgba(10,20,40,.45)}
.src{position:absolute;left:110px;right:110px;bottom:30px;font-size:15px;line-height:1.4;color:var(--paper-3)}
.scene .src{color:rgba(255,255,255,.78);text-shadow:0 1px 8px rgba(0,0,0,.6);right:300px;bottom:22px}
.chip{display:inline-block;border:1.5px solid currentColor;border-radius:99px;padding:0 10px;font-size:.78em;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sun-2);vertical-align:.08em;line-height:1.55}
.chip.warn{color:var(--amber)}
.mut{color:var(--paper-3);font-weight:500}
.card{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.09);
  border-radius:30px;box-shadow:0 40px 90px -40px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.07)}
.card-cap{font-size:24px;font-weight:600;color:var(--paper-2);line-height:1.3}
.card-cap b{color:#FF8A8A}
.big-num{font-size:104px;font-weight:800;letter-spacing:-.035em;line-height:1}
.big-num.small{font-size:84px}
.big-cap{font-size:26px;font-weight:600;line-height:1.3;color:var(--paper);margin-top:12px}
.tilde{font-size:.62em;vertical-align:.22em;margin-right:.04em}
.grad-red{background:linear-gradient(100deg,#FFC0B0 0%,#FF7A6E 50%,#EF4B4F 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.s3-bars{display:flex;flex-direction:column;justify-content:center}
.s3-bars .big-num{font-size:130px;letter-spacing:-.04em}
.s3-pct{font-size:64px;font-weight:800;color:#FF8A8A;line-height:1;margin-top:10px}
.s3-foot{margin-top:22px;font-size:20px;font-weight:700;color:var(--amber);letter-spacing:.04em}
.s3-foot::before{content:"* ";}
.s3-note{font-size:18px;color:var(--paper-3);margin-top:6px;font-weight:600}
.bars-cap{font-size:17px;color:var(--paper-2);margin-top:22px;font-weight:600}
.s3-bars .big-cap{font-size:30px;margin-top:14px}
.s3-sec{display:inline-block;margin-top:12px;font-size:22px;font-weight:800;color:#FF9C9C;padding:6px 16px;border-radius:99px;border:1.5px solid rgba(255,140,140,.45);background:rgba(239,75,79,.10)}
.grad-sun{background:linear-gradient(100deg,#FFE3A3 0%,#FFB547 45%,#FF8A3D 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- S1 cover: positions = template (960×540 pt) × 2 ---------- */
.slide[data-id="s1"] *{position:absolute;margin:0}
.cv-num{left:86px;top:220px;font-size:48px;font-weight:700;color:#6B6B68;line-height:1.2}
.cv-title{left:84px;top:300px;font-size:96px;font-weight:700;color:#253B33;letter-spacing:-.012em;line-height:1.2;white-space:nowrap}
.cv-rule{left:87px;top:478px;width:316px;height:4.5px;background:#253B33}
.cv-desc{left:86px;top:506px;font-size:36px;font-style:italic;font-weight:400;color:#0E0D0D;line-height:1.17;white-space:nowrap;letter-spacing:-.005em}
.cv-label{font-size:20px;font-weight:700;color:#6B6B68;line-height:1.2;letter-spacing:.005em}
.cv-name{font-size:28px;font-weight:700;color:#0E0D0D;line-height:1.25}
.cv-l1{left:86px;top:712px}.cv-n1{left:86px;top:758px}
.cv-l2{left:936px;top:712px}.cv-n2{left:936px;top:776px}
.cv-gta{left:44px;top:1006px;width:340px;height:auto}
.cv-foot{left:472px;top:1019px;width:760px;font:10.6px/1.2 Arial,Helvetica,sans-serif;color:#253B33;white-space:nowrap}
.cv-partners{left:1276px;top:996px;width:564px;height:auto}

/* ---------- street scene layer ---------- */
#street{position:absolute;inset:0;opacity:0;transition:opacity .9s var(--ease);pointer-events:none}
body[data-screen="s2"] #street,body[data-screen="s5"] #street{opacity:1}
#street svg{position:absolute;inset:0;width:100%;height:100%;display:block}
#street .rip{transform-box:fill-box;transform-origin:center;animation:ripple 2.6s cubic-bezier(.15,.6,.3,1) infinite;opacity:0}
#street .guard-off .rip,#street .sg-hidden .rip{animation:none;opacity:0}
@keyframes ripple{0%{transform:scale(.15);opacity:.95}100%{transform:scale(1);opacity:0}}
#street .rays{animation:spin 90s linear infinite;transform-origin:0 0}
@keyframes spin{to{transform:rotate(360deg)}}
#street .burst{transform-box:fill-box;transform-origin:center;animation:burst 1.2s cubic-bezier(.1,.6,.3,1) forwards}
@keyframes burst{0%{transform:scale(.1);opacity:1}100%{transform:scale(1);opacity:0}}
#street .link-flow{stroke-dasharray:3 16;animation:dash 1.1s linear infinite}
@keyframes dash{to{stroke-dashoffset:-38}}
#street .blink,.blink{animation:blink 1.1s steps(2,start) infinite}
@keyframes blink{to{visibility:hidden}}
#street .tag{transition:transform .5s var(--ease)}

/* S2/S5 overlays */
.s5-inset{position:absolute;right:110px;top:944px;display:flex;gap:16px;align-items:center;padding:16px 24px 16px 18px;border-radius:20px;
  background:rgba(10,24,40,.42);border:1px solid rgba(255,255,255,.22);color:#fff}
.s5-inset svg{width:46px;height:46px;color:#9BE7FF}
.s5-inset b{display:block;font-size:24px}.s5-inset span{font-size:19px;color:rgba(255,255,255,.8)}
.s5-state{position:absolute;left:110px;top:950px;display:flex;align-items:center;gap:14px;font-size:24px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  padding:12px 22px;border-radius:99px;background:rgba(10,20,30,.45);border:1px solid rgba(255,255,255,.2);color:#fff;transition:background .5s,border-color .5s}
.sg-dot{width:16px;height:16px;border-radius:50%;background:#8a9690;box-shadow:0 0 0 4px rgba(255,255,255,.1);transition:background .4s,box-shadow .4s}
body.guard .s5-state{background:rgba(20,90,55,.6);border-color:rgba(91,229,154,.6)}
body.guard .sg-dot{background:#5BE59A;box-shadow:0 0 0 6px rgba(91,229,154,.25),0 0 24px #5BE59A}

/* ---------- S3 ---------- */
.s3-grid{position:absolute;left:110px;right:110px;top:330px;height:600px;display:grid;grid-template-columns:1fr 1.22fr 1fr;gap:36px}
.s3-grid .card{padding:44px 44px 40px;position:relative;overflow:hidden}
.s3-plants,.s3-claims{display:flex;flex-direction:column;justify-content:center}
.s3-plants .big-num{font-size:100px}
.sun-dots{display:grid;grid-template-columns:repeat(12,1fr);gap:9px;margin-top:34px;width:100%}
.sun-dots i{display:block;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 35%,#FFE3A3,#FFB547 55%,#E07B22);
  box-shadow:0 0 12px rgba(255,181,71,.45);transform:scale(0);transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.slide.active .sun-dots i{transform:scale(1)}
.sun-dots-cap{font-size:16px;color:var(--paper-3);margin-top:14px}
.bars{display:flex;align-items:flex-end;gap:30px;height:150px;margin:44px 6px 0;border-bottom:2px solid rgba(255,255,255,.18);position:relative}
.bar{flex:1;position:relative;height:100%}
.bar::before{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--h,0%);border-radius:14px 14px 4px 4px;
  background:linear-gradient(180deg,#9FB7AD,#5E776D);transition:height 1.3s var(--ease) var(--bd,0s)}
.bar.hot::before{background:linear-gradient(180deg,#FF8A8A,#E5484D);box-shadow:0 0 40px rgba(239,75,79,.45)}
.bar.mid::before{background:linear-gradient(180deg,#F7B5A0,#C7735E)}
.bar .bv{position:absolute;left:0;right:0;bottom:calc(var(--h,0%) + 8px);text-align:center;font-size:26px;font-weight:800;transition:bottom 1.3s var(--ease) var(--bd,0s)}
.bar.hot .bv{color:#FF8A8A;font-size:32px}
.bar .bl{position:absolute;left:-10px;right:-10px;top:100%;margin-top:10px;text-align:center;font-size:17px;color:var(--paper-2);font-weight:600}
.slide:not(.active) .bar::before{height:0;transition:none}
.slide:not(.active) .bar .bv{bottom:10px;transition:none}
.x2{position:absolute;left:0;right:0;bottom:26px;text-align:center;font-size:22px;color:var(--paper-2);font-weight:600}
.x2 b{font-size:40px;color:#FF8A8A;margin-right:8px;vertical-align:-.06em}
.donut{width:250px;height:250px;display:block;margin:-6px auto 18px}
.donut-bg{fill:none;stroke:rgba(255,255,255,.1);stroke-width:26}
.donut-fg{fill:none;stroke:url(#none);stroke:#FF8A3D;stroke-width:26;stroke-linecap:round;transform:rotate(-90deg);transform-origin:100px 100px;
  stroke-dasharray:0 503;transition:stroke-dasharray 1.4s var(--ease) .6s;filter:drop-shadow(0 0 10px rgba(255,138,61,.5))}
.donut-t{fill:#fff;font-size:64px;font-weight:800;text-anchor:middle;font-family:var(--font)}
.donut-s{fill:rgba(255,255,255,.65);font-size:17px;font-weight:600;text-anchor:middle;font-family:var(--font)}
.s3-claims{text-align:center}.s3-claims .big-cap{font-size:24px}

/* ---------- S4 ---------- */
.s4-wrap{position:absolute;left:110px;right:110px;top:320px;bottom:110px;display:grid;grid-template-columns:.9fr 1.35fr;gap:40px}
.s4-am{padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;border-color:rgba(239,75,79,.35);
  background:linear-gradient(180deg,rgba(239,75,79,.10),rgba(255,255,255,.02))}
.cc{display:flex;align-items:center;gap:18px;font-size:40px;font-weight:800;align-self:flex-start}
.inv-ill{width:500px;height:304px}
.inv-cap{fill:rgba(244,241,232,.7);font:600 19px var(--font)}
.inv-lcd{fill:#FF7A7A;font:700 24px var(--font)}
.state{font-size:30px;font-weight:800;padding:14px 26px;border-radius:99px}
.state.bad{color:#FF8A8A;background:rgba(239,75,79,.14);border:1.5px solid rgba(239,75,79,.5)}
.s4-list{display:flex;flex-direction:column;gap:24px}
.row-c{flex:1;display:flex;align-items:center;gap:28px;padding:22px 34px}
.row-c>div{flex:1}
.row-c b{display:block;font-size:34px;font-weight:800;margin-bottom:4px}
.row-c span{font-size:23px;color:var(--paper-2);line-height:1.35}
.row-c em{color:var(--paper);font-style:italic}
.row-c .ok{flex:none;font-size:19px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#5BE59A;border:1.5px solid rgba(91,229,154,.55);padding:8px 16px;border-radius:99px;background:rgba(52,199,123,.1)}
.flag{flex:none;width:72px;height:48px;border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.35);overflow:hidden}

/* ---------- S6 ---------- */
.s6-map{position:absolute;left:70px;top:250px;width:900px;height:790px}
#marzMap{position:absolute;left:0;top:30px;width:760px;height:768px;overflow:visible}
.marz{stroke:#0E1A15;stroke-width:3;stroke-linejoin:round;transition:fill 1s var(--ease),opacity .6s;cursor:default}
.marz-l{font:700 22px var(--font);fill:#fff;text-anchor:middle;paint-order:stroke;stroke:rgba(10,20,15,.65);stroke-width:5px;stroke-linejoin:round;pointer-events:none}
.marz-n{font:800 30px var(--font);fill:#fff;text-anchor:middle;paint-order:stroke;stroke:rgba(10,20,15,.7);stroke-width:6px;pointer-events:none}
.map-total{position:absolute;right:-30px;top:0;text-align:right}
.map-total .big-num{font-size:110px}
.map-total .big-cap{font-size:23px}
.map-legend{position:absolute;right:-30px;top:212px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-size:17px;color:var(--paper-2)}
.map-legend .lg-bar{width:260px;height:14px;border-radius:7px}
.map-legend .lg-t{display:flex;justify-content:space-between;width:260px}
.s6-right{position:absolute;left:1030px;right:110px;top:300px;bottom:110px;display:flex;flex-direction:column;gap:28px}
.ladder{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.ladder li{display:flex;align-items:center;gap:24px;padding:20px 30px;border-radius:24px;background:rgba(52,199,123,.10);border:1.5px solid rgba(91,229,154,.45)}
.ladder li:nth-child(2){background:rgba(52,199,123,.06);border-color:rgba(91,229,154,.28);margin-left:40px}
.ladder li.last{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.12);margin-left:80px;opacity:.75}
.ladder .step{flex:none;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:30px;font-weight:800;background:#5BE59A;color:#0E1A15}
.ladder li:nth-child(2) .step{background:#A7E8C3}
.ladder li.last .step{background:rgba(255,255,255,.2);color:#fff}
.ladder li>div{flex:1}.ladder b{display:block;font-size:31px;font-weight:800}.ladder li>div span{font-size:20px;color:var(--paper-2)}
.ladder .cost{font-size:28px;font-weight:800;color:var(--sun);letter-spacing:.04em}
.hc{padding:28px 34px 26px;flex:1;display:flex;flex-direction:column}
.hc .card-cap{font-size:22px}
.hc-bars{display:flex;flex-direction:column;gap:14px;margin-top:20px}
.hcb{position:relative;height:44px;border-radius:12px;background:rgba(255,255,255,.05)}
.hcb::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w,0%);border-radius:12px;background:linear-gradient(90deg,#3E6E5A,#6FBF97);transition:width 1.2s var(--ease) var(--bd,0s)}
.hcb.hot::before{background:linear-gradient(90deg,#3AA56E,#5BE59A);box-shadow:0 0 30px rgba(91,229,154,.35)}
.slide:not(.active) .hcb::before{width:0;transition:none}
.hcb .hv{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:800;color:#fff;white-space:nowrap}
.hcb .hv small{font-weight:600;color:rgba(255,255,255,.75);font-size:18px;margin-left:8px}
.hc-x{margin-top:auto;padding-top:14px;font-size:24px;color:var(--paper-2);font-weight:600}
.hc-x b{font-size:52px;color:#5BE59A;margin-right:10px;vertical-align:-.08em}

/* ---------- S7 ---------- */
.s7-ph{position:absolute;left:110px;top:92px}
.s7-ph .kicker,.s7-ph .hl{position:static}
#calcLayer{position:fixed;inset:0;display:none;flex-direction:column;background:#0E1A15;z-index:5;opacity:0;transition:opacity .6s var(--ease)}
body[data-screen="s7"] #calcLayer{display:flex}
body[data-screen="s7"].calc-in #calcLayer{opacity:1}
.calc-head{flex:none;height:clamp(40px,5.2vh,58px);display:flex;align-items:center;gap:18px;padding:0 22px;color:var(--paper);font-size:clamp(14px,1.6vh,19px);
  background:linear-gradient(90deg,#16291F,#0E1A15);border-bottom:1px solid rgba(255,255,255,.08)}
.ch-k{font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sun)}
.ch-t{font-weight:600;color:var(--paper-2);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-r{font-size:.85em;color:var(--paper-3)}
.calc-frame-wrap{flex:1;position:relative;background:#f6f8f9}
#calcFrame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#f6f8f9;color-scheme:light}

/* ---------- S8 ---------- */
.s8-ill{position:absolute;left:60px;top:250px;width:960px;height:790px}
.s8-ill svg{width:100%;height:100%;overflow:visible}
.s8-ill .part{transition:transform 1.4s var(--ease) var(--pd,0s),opacity .8s var(--ease) var(--pd,0s)}
.slide:not(.active) .s8-ill .part{transform:translateY(var(--from,0px));opacity:0;transition:none}
.s8-ill .lead{stroke:rgba(255,255,255,.35);stroke-width:2;stroke-dasharray:4 6;fill:none}
.s8-ill .pl{font:700 22px var(--font);fill:var(--paper)}
.s8-ill .pls{font:500 17px var(--font);fill:rgba(244,241,232,.6)}
.s8-list{position:absolute;left:1090px;right:110px;top:300px}
.parts{width:100%;border-collapse:collapse;font-size:24px}
.parts td{padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.09)}
.parts td:first-child{font-weight:800}
.parts td:nth-child(2){color:var(--paper-2);font-size:20px}
.parts td:last-child{text-align:right;font-weight:700;color:var(--sun-2);white-space:nowrap}
.total{display:flex;justify-content:space-between;align-items:baseline;margin-top:22px;padding:22px 26px;border-radius:22px;background:rgba(255,181,71,.1);border:1.5px solid rgba(255,181,71,.45)}
.total span{font-size:28px;font-weight:700;color:var(--sun-2)}
.total b{font-size:76px;font-weight:800;color:var(--sun);letter-spacing:-.03em;line-height:1}
.lic{margin-top:22px;display:flex;align-items:center;gap:18px;font-size:22px;color:var(--paper-2)}
.lic-i{flex:none;font-size:22px;font-weight:800;color:#9BE7FF;border:1.5px solid rgba(155,231,255,.6);padding:8px 14px;border-radius:14px}

/* ---------- S9 ---------- */
.s9-cust{position:absolute;left:110px;right:110px;top:320px;display:grid;grid-template-columns:1fr 1fr;gap:36px}
.cust{display:flex;align-items:center;gap:30px;padding:30px 36px}
.cust-i{flex:none;width:100px;height:100px;border-radius:26px;display:grid;place-items:center;font-size:32px;font-weight:800;color:#0E1A15;background:linear-gradient(135deg,#9FE8C0,#34C77B)}
.cust-i.sun{background:linear-gradient(135deg,#FFE3A3,#FF8A3D)}
.cust b{display:block;font-size:36px;font-weight:800}
.cust span{font-size:22px;color:var(--paper-2)}
.s9-mkt{position:absolute;left:110px;right:110px;top:560px;display:flex;align-items:center;gap:30px}
.mk .big-num{font-size:92px}.mk .big-cap{font-size:22px;margin-top:6px}
.mk.plus{font-size:80px;font-weight:300;color:var(--paper-3)}
.mk.money{margin-left:auto;padding:24px 32px;display:grid;grid-template-columns:auto auto;gap:4px 34px}
.mk.money b.mon{display:block;font-size:56px;font-weight:800;color:var(--sun);letter-spacing:-.02em}
.mk.money span{font-size:19px;color:var(--paper-2)}
.mk.money .asm{grid-column:1/-1;font-size:18px;color:var(--paper-2);margin-top:8px}
.s9-next{position:absolute;left:110px;right:110px;top:820px;display:flex;align-items:center;gap:30px}
.next-map{width:520px;height:150px;flex:none;overflow:visible}
.next-map .arc{fill:none;stroke:var(--sun);stroke-width:3;stroke-dasharray:6 9;animation:dash 1.6s linear infinite}
.next-map .pt{fill:var(--sun)}.next-map .pt.home{fill:#5BE59A}
.next-map .pl{font:700 21px var(--font);fill:var(--paper);text-anchor:middle}
.s9-next b{display:block;font-size:32px;font-weight:800}.s9-next span{font-size:22px;color:var(--paper-2)}

/* ---------- S10 ---------- */
.clock24{position:absolute;left:110px;top:330px;width:420px;height:420px}
.clock24 svg{width:100%;height:100%;transform:rotate(-90deg)}
.c-bg{fill:none;stroke:rgba(255,255,255,.08);stroke-width:14}
.c-fg{fill:none;stroke:url(#none);stroke:#FFB547;stroke-width:14;stroke-linecap:round;stroke-dasharray:0 629;transition:stroke-dasharray 2.4s var(--ease) .3s;filter:drop-shadow(0 0 14px rgba(255,181,71,.6))}
.c-t{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.c-t b{font-size:150px;font-weight:800;line-height:.9;letter-spacing:-.04em}
.c-t span{font-size:28px;color:var(--paper-2);font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.s10-grid{position:absolute;left:620px;right:110px;top:330px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:34px 40px}
.s10-grid .k{padding:20px 0 20px 26px;border-left:4px solid var(--sun)}
.s10-grid .k:first-child{grid-column:1/-1}
.s10-grid .k b{display:block;font-size:72px;font-weight:800;letter-spacing:-.03em;line-height:1.02}
.s10-grid .k:first-child b{font-size:112px;background:linear-gradient(100deg,#FFE3A3,#FFB547 45%,#FF8A3D);-webkit-background-clip:text;background-clip:text;color:transparent}
.s10-grid .k>span{font-size:24px;color:var(--paper-2);font-weight:600}
.s10-grid .tick{color:#5BE59A}
.disc{position:absolute;left:110px;bottom:84px;font-size:22px;color:var(--paper-2);padding:12px 22px;border-radius:14px;border:1px dashed rgba(255,255,255,.28)}

/* ---------- S11 ---------- */
.s11-ask{position:absolute;left:110px;top:320px;width:960px;display:flex;flex-direction:column;gap:18px}
.ask{display:flex;align-items:center;gap:28px;font-size:34px;font-weight:700}
.ask .ai{flex:none;min-width:170px;text-align:center;font-size:44px;font-weight:800;color:#0E1A15;background:linear-gradient(135deg,#FFE3A3,#FFB547);padding:10px 22px;border-radius:20px}
.inc{font-size:26px;color:var(--paper-2);margin-top:8px}
.s11-team{position:absolute;left:110px;width:960px;top:740px}
.s11-team .names,.s11-team .skills{display:flex;flex-wrap:wrap;gap:12px}
.s11-team .names span{font-size:26px;font-weight:800;padding:10px 20px;border-radius:99px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.s11-team .skills{margin-top:16px}
.s11-team .skills span{font-size:20px;font-weight:600;color:var(--paper-2);padding:6px 16px;border-radius:99px;border:1px dashed rgba(255,255,255,.25)}
.s11-qr{position:absolute;right:100px;top:250px;width:720px;padding:60px 60px 26px;border-radius:32px;background:#fff;color:var(--ink);text-align:center;box-shadow:0 40px 100px -30px rgba(0,0,0,.8)}
.qr-box{width:600px;height:600px;margin:0 auto}
.qr-box img,.qr-box canvas{width:100%!important;height:100%!important;image-rendering:pixelated}
.qr-cap{font-size:36px;font-weight:800;margin-top:22px}
.qr-url{font-size:16px;color:#5a6b63;word-break:break-all;margin-top:4px}
.thanks{position:absolute;left:110px;bottom:70px;font-size:44px;font-weight:800;color:var(--sun)}

/* ---------- overlays ---------- */
#qrOverlay,#help{position:fixed;inset:0;display:grid;place-items:center;background:rgba(6,14,10,.88);opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s linear .4s;z-index:20}
body.qr #qrOverlay,body.help #help{opacity:1;visibility:visible;transition:opacity .4s}
.qo-card{background:#fff;border-radius:4vmin;padding:6.5vmin 6.5vmin 3vmin;text-align:center;color:var(--ink);box-shadow:0 30px 120px rgba(0,0,0,.6)}
#qrBig{width:min(62vmin,720px);height:min(62vmin,720px)}
#qrBig img,#qrBig canvas{width:100%!important;height:100%!important;image-rendering:pixelated}
.qo-t{font-size:min(5vmin,54px);font-weight:800;margin-top:2vmin}
.qo-u{font-size:min(2vmin,20px);color:#5a6b63;word-break:break-all}
.help-card{background:#0F1D17;color:var(--paper);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:28px 34px;max-width:min(760px,92vw);font-size:16px;max-height:92vh;overflow:auto}
.help-card h3{margin:0 0 10px;color:var(--sun);font-size:15px;letter-spacing:.14em;text-transform:uppercase}
.help-card dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0 0 20px}
.help-card dt{font-weight:800;white-space:nowrap}.help-card dd{margin:0;color:var(--paper-2)}
.help-card p{word-break:break-all;color:var(--paper-2);margin:0 0 12px}
#helpQr{width:200px;height:200px;background:#fff;padding:8px;border-radius:10px}
#helpQr:empty{display:none}
#helpQr img,#helpQr canvas{width:100%!important;height:100%!important}
#blackout{position:fixed;inset:0;background:#000;opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s linear .5s;z-index:30}
body.black #blackout{opacity:1;visibility:visible;transition:opacity .5s}
#status{position:fixed;right:10px;bottom:8px;z-index:40;display:flex;align-items:center;gap:6px;font:11px/1 var(--font);color:rgba(128,128,128,.8);pointer-events:auto}
#status i{width:9px;height:9px;border-radius:50%;background:#888;opacity:.7;transition:background .3s,box-shadow .3s}
#status span{display:none}
body.help #status span{display:inline}
#status.open i{background:#34C77B}
#status.connecting i{background:#F5B000}
#status.error i,#status.ratelimited i{background:#EF4B4F}
#status.offline i{background:#777}
#status.flash i{box-shadow:0 0 0 4px rgba(255,255,255,.6)}
body.clean #status{display:none}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  .slide,.slide.active,.slide .a,.slide.active .a{transition:opacity .25s linear!important;transform:none!important}
  #street .rip,#street .rays,#street .link-flow,.blink,.next-map .arc,#street .burst{animation:none!important}
  #street .rip{opacity:.35!important;transform:scale(.6)!important}
  .bar::before,.bar .bv,.hcb::before,.donut-fg,.c-fg,.sun-dots i,.s8-ill .part{transition:none!important}
}

/* street SVG text */
#street text{font-family:var(--font)}
#street .st-lbl{font-size:20px;font-weight:700;fill:#fff;paint-order:stroke;stroke:rgba(0,0,0,.45);stroke-width:4px}
#street .st-v{font-size:30px;font-weight:800;letter-spacing:-.01em}
#street .st-v-last{font-size:40px}
#street .st-last{font-size:17px;font-weight:800;letter-spacing:.16em;fill:#fff;paint-order:stroke;stroke:rgba(0,0,0,.5);stroke-width:4px}
#street .st-ph{font-size:22px;font-weight:800;fill:#fff}
#street .st-chip{font-size:15px;font-weight:800;letter-spacing:.1em;fill:#FFD98A}
#street .st-lim{font-size:17px;font-weight:800;fill:#FF9C9C}
#street .st-ax{font-size:16px;font-weight:600;fill:rgba(255,255,255,.7)}
#street .st-band{font-size:16px;font-weight:700;fill:#7EF0B0}
#street .st-out{fill:#FFD98A}
.s3-pct::after{content:"*";font-size:.55em;vertical-align:.7em;margin-left:4px;color:var(--amber)}

/* ======================= v2 (notes/17 §B–D): ≥ 32 px for anything the hall reads, one idea per screen ======================= */
:root{--ok-d:#009E73;--near-d:#E69F00;--over-d:#D55E00;--ok-t:#5BE0B3;--over-t:#FF8A57;--sg:#56B4E9}
.kicker{font-size:30px;top:84px;letter-spacing:.14em}
.hl{top:128px;font-size:88px}
.src{font-size:16px;bottom:26px}
.bcap{font-size:36px;font-weight:700;line-height:1.22;color:var(--paper);margin-top:14px}
.bsub{font-size:32px;font-weight:600;color:var(--paper-2);margin-top:10px}
.one-line{font-size:38px;font-weight:800;color:#6FF0B8;letter-spacing:-.01em}
/* S1 */
.cv-one{left:86px;top:626px;font-size:34px;font-weight:700;color:#1C7A4F;line-height:1.2;white-space:nowrap}
/* S2: headline steps aside once the sun moves */
.slide.active .fade-on-sweep{transition:opacity .8s ease,transform .8s ease}
body.swept .slide[data-id="s2"] .fade-on-sweep{opacity:0;transform:translateY(-14px)}
#street .st-limit{font-size:34px;font-weight:800;fill:#F3F1EC;letter-spacing:.06em;paint-order:stroke;stroke:rgba(20,24,30,.55);stroke-width:5px}
#street .st-read{font-size:84px;font-weight:800;letter-spacing:-.03em}
#street .st-over{font-size:30px;font-weight:800;fill:#fff;letter-spacing:.06em}
#street .st-lh{font-size:32px;font-weight:800;fill:#fff;paint-order:stroke;stroke:rgba(20,24,30,.6);stroke-width:5px}
#street .st-lbl{font-size:24px}
/* S3 beats */
.beat{position:absolute;opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .8s var(--ease)}
.beat.on{opacity:1;transform:none}
.beat.on.dim{opacity:.38}
.b1{left:110px;top:340px;width:420px}
.b1 .big-num{font-size:100px}
.b2{left:560px;top:320px;width:900px;display:flex;gap:40px;align-items:center}
.houses{flex:none;width:480px;display:grid;grid-template-columns:repeat(10,1fr);gap:7px}
.houses svg{width:100%;height:auto;display:block}
.houses .h{fill:rgba(244,241,232,.16);transition:fill .25s}
.houses .h.on{fill:var(--over-d)}
.b2-txt{width:380px}
.b2-txt .bcap{font-size:34px}
.b2 .big-num{font-size:112px;letter-spacing:-.04em}
.s3-pct{font-size:72px;font-weight:800;color:var(--over-t);line-height:1;margin-top:8px}
.s3-pct::after{content:"*";font-size:.55em;vertical-align:.7em;margin-left:4px;color:var(--near-d)}
.s3-foot{margin-top:18px;font-size:32px;font-weight:700;color:var(--near-d)}
.s3-foot::before{content:"* "}
.b3{left:1500px;top:340px;width:330px}
.b3 .big-num{font-size:104px}
.b3 .bcap{font-size:32px}
.b3-day{margin-top:18px;font-size:44px;font-weight:800;color:var(--over-t)}
/* S4 */
.s4-am{position:absolute;left:110px;top:320px;width:700px;height:640px;padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  border-color:rgba(213,94,0,.45);background:linear-gradient(180deg,rgba(213,94,0,.10),rgba(255,255,255,.02))}
.s4-am .cc{font-size:48px}
.s4-am .state{font-size:40px;color:var(--over-t);background:rgba(213,94,0,.14);border-color:rgba(213,94,0,.55)}
.inv-ill{width:540px;height:330px}
.s4-list{position:absolute;left:880px;right:110px;top:320px;height:640px;display:flex;flex-direction:column;gap:26px}
.row-c{flex:1;display:flex;align-items:center;gap:34px;padding:0 40px;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.09)}
.row-c b{font-size:48px;margin-bottom:2px}
.row-c span{font-size:38px;color:var(--paper)}
.row-c .ok{flex:none;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;padding:0;font-size:40px;color:#0E1A15;background:var(--ok-t);border:0}
.flag{width:96px;height:64px}
/* S5 */
.s5-state{top:950px;font-size:34px;padding:14px 26px}
.s5-inset{top:944px;right:110px;padding:16px 26px;gap:14px}
.s5-inset b{font-size:34px}
.s5-inset svg{color:#9FD8F5}
body.guard .s5-state{background:rgba(0,90,120,.55);border-color:rgba(86,180,233,.7)}
body.guard .sg-dot{background:var(--sg);box-shadow:0 0 0 6px rgba(86,180,233,.25),0 0 24px var(--sg)}
.s5-one{position:absolute;left:106px;top:134px;width:1040px;font-size:58px;line-height:1.08;letter-spacing:-.02em;color:#7DF5C4;text-shadow:0 4px 30px rgba(10,20,40,.45);
  opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease);pointer-events:none}
body.green5 .s5-one{opacity:1;transform:none}
body.green5 .slide[data-id="s5"] .hl{opacity:0;transform:translateY(-14px);transition:opacity .6s ease,transform .6s ease}
/* S6 */
.s6-map{left:60px;top:250px;width:780px;height:760px}
#marzMap{left:0;top:0;width:740px;height:750px}
.marz-n{font-size:40px}.marz-l{font-size:30px}
.s6-total{position:absolute;left:960px;top:270px;width:860px}
.s6-total .big-num{font-size:150px;line-height:.95}
.ladder{position:absolute;left:960px;right:110px;top:560px;gap:16px}
.ladder li{gap:26px;padding:18px 30px}
.ladder li:nth-child(2){margin-left:40px}.ladder li.last{margin-left:80px}
.ladder b{display:block;flex:1;font-size:38px;font-weight:800}
.ladder .cost{font-size:34px}
.nova{position:absolute;left:960px;top:932px;font-size:32px;font-weight:700;color:var(--paper-2);padding:8px 22px;border-radius:99px;border:1.5px dashed rgba(255,255,255,.35)}
/* S7 */
.calc-head{height:clamp(46px,7vh,76px);font-size:clamp(18px,3vh,34px);gap:24px;padding:0 2.2vh}
.ch-t{color:var(--paper)}
.ch-x{font-weight:700;color:var(--paper-3);white-space:nowrap;transition:color .6s}
.ch-x b{font-size:1.25em;margin-right:.3em}
.ch-x i{font-style:normal;font-size:.62em;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid currentColor;border-radius:99px;padding:0 .6em;margin-left:.5em;vertical-align:.2em}
body.calc-fixed .ch-x{color:#6FF0B8}
/* S8 */
.s8-ill{left:40px;top:250px;width:1000px;height:790px}
.s8-ill .pl{font:800 36px var(--font);fill:var(--paper)}
.s8-ill .pls{font:600 26px var(--font);fill:rgba(244,241,232,.65)}
.s8-price{position:absolute;left:1180px;right:110px;top:340px}
.s8-price .price{font-size:190px;line-height:.95;letter-spacing:-.04em}
.s8-price .lic{margin-top:40px;font-size:36px;color:var(--paper)}
.s8-price .lic-i{font-size:32px}
/* S9 */
.s9-cust{top:320px}
.cust b{font-size:42px}.cust span{font-size:32px}
.cust-i{width:112px;height:112px;font-size:36px}
.s9-mkt{top:570px;gap:40px}
.mk .big-num{font-size:120px}
.mk .bcap{margin-top:6px}
.s9-next{top:830px}
.s9-next b{font-size:40px}.s9-next span{font-size:32px}
.next-map{width:420px;height:130px}
/* S10 */
.s10-row{position:absolute;left:110px;right:110px;top:410px;display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:56px}
.s10-row .k{border-left:5px solid var(--sun);padding:10px 0 10px 30px}
.s10-row .k b{display:block;font-size:120px;font-weight:800;letter-spacing:-.04em;line-height:1}
.s10-row .k b.grad-sun{background:linear-gradient(100deg,#FFE3A3,#FFB547 45%,#FF8A3D);-webkit-background-clip:text;background-clip:text;color:transparent}
.s10-row .k>span{display:block;margin-top:18px;font-size:36px;font-weight:700;color:var(--paper);line-height:1.25}
.s10-row .tick{color:var(--ok-t)}
.disc{font-size:30px;bottom:96px;padding:14px 26px}
/* S11 */
.ask{font-size:40px}
.ask .ai{font-size:48px;min-width:190px}
.s11-one{position:absolute;left:110px;top:690px;width:900px;line-height:1.2}
.s11-team{top:850px}
.s11-team .names span{font-size:32px}
.qr-url{font-size:18px}
/* autopilot indicator (tiny; hidden in clean mode) */
#auto{position:fixed;left:10px;bottom:8px;z-index:40;font:700 12px/1 var(--font);color:rgba(150,150,150,.9);display:none}
body.autopilot #auto{display:block}
body.clean #auto{opacity:.35}
/* 3D street has a light, hazy sky: dark overlay text there */
body.r3d .scene .kicker{color:#6B4300;text-shadow:none}
body.r3d .scene .hl{color:#13211B;text-shadow:0 2px 26px rgba(255,255,255,.6)}
body.r3d .scene .hl-green{color:#007A57}
body.r3d .s5-one{color:#006B4F;text-shadow:0 2px 22px rgba(255,255,255,.7)}
body.r3d .scene .src{color:rgba(20,28,24,.85);text-shadow:none}
body.r3d .scene .chip{color:#6B4300}

/* ======================= v3 (team lead 04.10): template cover, plain words, calmer, one accent per screen ======================= */
/* S1 — positions from the organisers' template (960×540 pt × 2) */
.cv-num{top:216px}
.cv-chips{left:170px;top:226px;display:flex;gap:12px;position:absolute}
.slide[data-id="s1"] .cv-chips *{position:static}
.cv-chip{font-size:22px;font-weight:700;color:#253B33;border:2px solid #253B33;border-radius:99px;padding:4px 16px;line-height:1.2}
.cv-chip+.cv-chip{color:#6B6B68;border-color:#B9BDB9}
.cv-title{top:300px;width:1600px;font-size:66px;line-height:1.12;white-space:normal;letter-spacing:-.015em}
.cv-desc{top:510px;width:1590px;white-space:normal;line-height:1.17}
.cv-n1,.cv-n2{top:752px}
.cv-n2{width:864px;line-height:1.3}
.cv-gta{left:43.7px;top:1008.5px;width:337.6px}
.cv-partners{left:1275.5px;top:997.9px;width:562.4px}
/* scene headlines: centred between the two "last house" gauges, smaller, follow the sun */
.scene-hl{position:absolute;left:470px;right:470px;top:70px;text-align:center}
.scene-hl .kicker,.scene-hl .hl{position:static}
.scene-hl .kicker{font-size:26px}
.scene .hl.sun-hl{font-size:52px;line-height:1.12;max-width:none;margin-top:10px;transition:opacity .35s ease}
.sun-hl.swap{opacity:0}
body.swept .slide[data-id="s2"] .fade-on-sweep{opacity:1;transform:none}
.s5-one{position:static;width:auto;font-size:44px;margin-top:10px;opacity:0;transform:translateY(10px)}
body.green5 .s5-one{opacity:1;transform:none}
body.green5 .slide[data-id="s5"] .hl{opacity:0;transform:none;height:0;margin:0;overflow:hidden}
.s5-net{position:absolute;left:50%;transform:translateX(-50%);top:948px;display:flex;align-items:center;gap:12px;padding:10px 22px;border-radius:99px;
  background:rgba(14,20,26,.7);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:28px;font-weight:700;white-space:nowrap}
.slide.active .s5-net{transform:translateX(-50%)}
.s5-net svg{width:36px;height:36px;color:#9FD8F5}
.scene .src{right:110px;font-size:18px;bottom:20px;text-align:center;left:110px}
#street .st-g1{font-size:30px;font-weight:700;fill:rgba(255,255,255,.85)}
#street .st-g2{font-size:84px;font-weight:800;letter-spacing:-.03em}
#street .st-g3{font-size:28px;font-weight:700;fill:rgba(255,255,255,.75)}
#street .st-line{font-size:32px;font-weight:800}
#street .st-limit{font-size:30px}
#street .st-pill.over{animation:pillPulse 1s ease-in-out infinite}
@keyframes pillPulse{50%{opacity:.6}}
#street .sg-halo{animation:haloPulse 1.6s ease-in-out infinite}
@keyframes haloPulse{50%{opacity:.45}}
/* calmer dark slides: one accent */
.slide.dark{background:radial-gradient(1200px 700px at 85% -10%,rgba(255,181,71,.08),transparent 62%),linear-gradient(158deg,#16271F 0%,#0F1D17 55%,#0B1611 100%)}
.hl.hl-s{font-size:72px}
/* S3: one number at a time; the earlier ones shrink into the left column */
.s3-past{position:absolute;left:110px;top:330px;width:420px;display:flex;flex-direction:column;gap:22px}
.s3-past .pi{opacity:0;transform:translateX(-12px);transition:opacity .5s,transform .5s;color:var(--paper-3)}
.s3-past .pi.on{opacity:1;transform:none}
.s3-past .pi b{display:block;font-size:52px;font-weight:800;color:rgba(244,241,232,.6);letter-spacing:-.02em;line-height:1.05}
.s3-past .pi span{font-size:28px;font-weight:600}
.beat{left:600px!important;top:320px!important;width:1220px!important;opacity:0;pointer-events:none}
.beat.on{opacity:1}
.beat.on.dim{opacity:0;transform:translateY(-20px)}
.b1 .big-num,.b3 .big-num{font-size:200px;line-height:1}
.b1 .bcap,.b3 .bcap{font-size:44px;max-width:1100px}
.b2{display:flex;gap:56px;align-items:center}
.houses{width:520px}
.b2-txt{width:640px}
.b2 .big-num{font-size:150px}
.b2-txt .bcap{font-size:42px}
.s3-pct{font-size:80px}
.b3-day{font-size:60px;margin-top:22px}
.b3 .bsub{font-size:36px}
/* S6 map + number, S6b ladder */
.s6-map{left:90px;top:250px;width:800px;height:780px}
#marzMap{width:770px;height:770px}
.s6-total{left:980px;top:340px;width:840px}
.s6-total .big-num{font-size:220px}
.s6-total .bcap{font-size:44px}
.s6-total .bsub{font-size:30px;margin-top:16px}
.ladder2{position:absolute;left:110px;right:110px;top:320px;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px}
.ladder2 li{display:flex;align-items:center;gap:34px;padding:26px 40px;border-radius:28px;background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.12)}
.ladder2 li:first-child{background:rgba(255,181,71,.10);border-color:rgba(255,181,71,.6)}
.ladder2 li:nth-child(2){margin-left:70px}.ladder2 li.last{margin-left:140px;opacity:.7}
.ladder2 .step{flex:none;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;font-size:40px;font-weight:800;background:rgba(255,255,255,.12);color:#fff}
.ladder2 li:first-child .step{background:var(--sun);color:#1A1205}
.ladder2 b{flex:1;font-size:50px;font-weight:800}
.ladder2 .cost{font-size:44px;font-weight:800;color:var(--paper-2)}
.slide[data-id="s6b"] .nova{left:110px;top:860px;font-size:34px}
/* S8 */
.s8-ill .pl{font:800 32px var(--font)}
.s8-price{left:1260px}
.s8-price .lic{font-size:34px;line-height:1.3;color:var(--paper-2);margin-top:30px}
.s8-3d{position:absolute;left:60px;top:250px;width:1100px;height:740px}
.s8-cap{position:absolute;left:60px;top:960px;width:1100px;text-align:center;font-size:40px;font-weight:800}
/* S9 calmer */
.cust-i,.cust-i.sun{background:rgba(255,255,255,.1);color:var(--paper)}
.s9-next{top:850px}
/* S10: two counters */
.s10-row{grid-template-columns:1.2fr 1fr}
/* S11 */
.s11-team .names span{font-size:30px}

/* v3 fixes */
.cv-title{top:330px}
.cv-desc{text-wrap:balance}
.scene .hl.sun-hl{font-size:48px;white-space:nowrap}
.s5-net{font-size:26px;padding:8px 20px}
.ladder2{top:340px;gap:26px}
.ladder2 li{padding:34px 44px}
.slide[data-id="s6b"] .nova{top:860px}
#street .st-g3{font-size:26px;font-weight:800}
/* 3D (light ground, pale sky): dark ink + a soft scrim behind the scene headline */
body.r3d .scene .kicker{color:#253B33}
body.r3d .scene .hl{color:#1B1F1D;text-shadow:none}
body.r3d .scene-hl{background:radial-gradient(closest-side,rgba(255,255,255,.62),rgba(255,255,255,0));padding:10px 0 18px}
body.r3d .s5-one{color:#006B4F;text-shadow:none}

/* PNG snapshot fallback for the 3D street */
#street .snapwrap{position:absolute;inset:0}
#street .snap{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 300ms linear}
body.rsnap .scene .kicker{color:#253B33}
body.rsnap .scene .hl{color:#1B1F1D;text-shadow:none}
body.rsnap .scene-hl{background:radial-gradient(closest-side,rgba(255,255,255,.62),rgba(255,255,255,0));padding:10px 0 18px}
body.rsnap .s5-one{color:#006B4F;text-shadow:none}

/* v4: cover names never break inside a name; final slide: names + small roles */
.cv-n2{font-size:26px;line-height:1.4;width:900px}
.slide[data-id="s1"] .cv-n2 .nm{position:static;white-space:nowrap}
.s11-team{top:820px;width:1000px}
.s11-team .names{display:flex;flex-wrap:wrap;gap:10px 12px}
.s11-team .names .tm{display:flex;flex-direction:column;padding:8px 18px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.s11-team .names .tm b{font-size:28px;font-weight:800;white-space:nowrap}
.s11-team .names .tm i{font-style:normal;font-size:18px;color:var(--paper-3);font-weight:600;white-space:nowrap}
.s11-one{top:640px}
#status.p2p i{box-shadow:0 0 0 2px rgba(86,180,233,.8)}

/* 3D village v2: mouse/touch rotation reaches the canvas under the S2/S5 overlays */
body.r3d .slide.scene{pointer-events:none}
body.r3d .slide.scene a, body.r3d .slide.scene button{pointer-events:auto}

.s11-team .names .tm i{font-size:17px;white-space:normal;max-width:330px}

.s11-team .names.with-study{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:1000px}
.s11-team .names.with-study .tm{padding:8px 14px}
.s11-team .names.with-study .tm b{font-size:24px}
.s11-team .names.with-study .tm i{font-size:15px;max-width:none}
body.r3d .s5-net{left:110px;transform:none}
body.r3d .slide.active .s5-net{transform:none}
.s11-team .names.with-study{width:960px}
body.rsnap .s5-net,body.rsnap .slide.active .s5-net{left:110px;transform:none}

/* v5 S10: four things built in 24 hours */
.s10-grid4{position:absolute;left:110px;right:110px;top:330px;display:grid;grid-template-columns:1fr 1fr;gap:34px 60px}
.s10-grid4 .k{border-left:5px solid var(--sun);padding:8px 0 8px 30px}
.s10-grid4 .k b{display:block;font-size:64px;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.s10-grid4 .k>span{display:block;margin-top:10px;font-size:34px;font-weight:600;color:var(--paper-2)}
.s10-plus{position:absolute;left:110px;top:790px;font-size:40px;font-weight:800;color:var(--sun)}

/* v5: 3D before sunrise is dark -> light ink and a dark scrim for the scene headline */
body.r3d.night .scene .kicker{color:#FFE2A8}
body.r3d.night .scene .hl{color:#F4F1E8;text-shadow:0 2px 18px rgba(0,0,0,.5)}
body.r3d.night .scene-hl{background:radial-gradient(closest-side,rgba(10,16,30,.55),rgba(10,16,30,0))}
body.r3d.night .scene .src{color:rgba(244,241,232,.75)}

/* ======================= v6 ======================= */
/* organisers partner plate on every slide: same size/position as the cover; light strip on dark and 3D slides */
#plate{position:absolute;inset:0;pointer-events:none;z-index:8}
#plate>*{position:absolute;margin:0}
#plate .plate-strip{left:22px;right:22px;top:988px;height:88px;border-radius:16px;background:#fff;opacity:0;transition:opacity .5s ease;box-shadow:0 6px 24px rgba(0,0,0,.25)}
body:not([data-screen="s1"]) #plate .plate-strip{opacity:.97}
#plate .pl-gta{left:43.7px;top:1008.5px;width:337.6px;height:auto}
#plate .pl-foot{left:472px;top:1019px;width:760px;font:10.6px/1.2 Arial,Helvetica,sans-serif;color:#253B33;white-space:nowrap}
#plate .pl-partners{left:1275.5px;top:997.9px;width:562.4px;height:auto}
/* nothing may overlap the plate: sources and bottoms move up */
.src{bottom:104px}
.scene .src{bottom:104px}
.disc{bottom:150px}
.s4-am,.s4-list{height:580px}
/* S7: the stage (with the plate) sits above the calculator; the calculator ends where the plate starts */

#calcLayer{bottom:var(--plateVH,0px);top:0;height:auto}

/* cover */
.cv-title{font-size:72px;width:1700px}

/* S5: three points one by one, Wi-Fi chip, "more homes" line */
.s5-points{position:absolute;left:40px;right:40px;top:778px;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.s5-points li{padding:16px 22px;border-radius:20px;background:rgba(12,20,26,.78);border:1px solid rgba(255,255,255,.18);color:#F4F1E8;font-size:28px;line-height:1.25;font-weight:500}
.s5-points li b{display:block;font-size:32px;font-weight:800;color:#fff}
.rv{opacity:0;transform:translateY(14px);transition:opacity .6s cubic-bezier(.45,0,.55,1),transform .6s cubic-bezier(.45,0,.55,1)}
.rv.on{opacity:1;transform:none}
.s5-net{left:40px!important;right:auto;top:40px!important;transform:none!important;font-size:26px}
.s5-more{position:absolute;left:50%;top:700px;transform:translate(-50%,10px);white-space:nowrap;font-size:32px;font-weight:700;color:#fff;padding:10px 26px;border-radius:99px;
  background:rgba(0,90,120,.78);border:1.5px solid rgba(86,180,233,.8);opacity:0;transition:opacity .6s ease,transform .6s ease}
body.sg-all .s5-more{opacity:1;transform:translate(-50%,0)}

/* S6 map with per-10,000 labels */
.s6-map{left:40px;top:225px;width:900px;height:740px}
#marzMap{left:0;top:0;width:900px;height:740px}
.mz-name{font:700 21px var(--font);fill:rgba(255,255,255,.88);text-anchor:middle;paint-order:stroke;stroke:rgba(10,20,15,.75);stroke-width:5px}
.mz-big{font:800 50px var(--font);fill:#fff;text-anchor:middle;paint-order:stroke;stroke:rgba(10,20,15,.75);stroke-width:7px}
.mz-small{font:600 22px var(--font);fill:rgba(255,255,255,.88);text-anchor:middle;paint-order:stroke;stroke:rgba(10,20,15,.75);stroke-width:5px}
.s6-total{left:1000px;top:300px;width:820px}
.s6-total .big-num{font-size:170px}
.s6-total .bcap{font-size:44px}
.s6-key{margin-top:26px;font-size:26px;color:var(--paper-2);line-height:1.5}
.s6-key b{font-size:34px;color:#fff;margin-right:6px}.s6-key span{font-weight:800;color:#fff}
.s6-note{margin-top:26px;font-size:24px;line-height:1.4;color:var(--paper-3);max-width:780px}

/* S6b economics */
.eco{position:absolute;top:290px;width:820px;display:flex;flex-direction:column;gap:12px}
.eco-l{left:110px}.eco-r2{left:990px}
.eco-h{font-size:24px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sun);margin-bottom:4px}
.eco-r{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:16px 22px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.eco-r span{font-size:28px;font-weight:600;color:var(--paper-2)}
.eco-r b{font-size:38px;font-weight:800;color:var(--paper);white-space:nowrap}
.eco-r.hot{background:rgba(255,181,71,.1);border-color:rgba(255,181,71,.5)}.eco-r.hot b{color:var(--sun)}
.eco-r i{font-style:normal;font-size:16px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-left:10px;padding:2px 10px;border-radius:99px;vertical-align:.15em}
.eco-r i.asm{color:var(--amber);border:1.5px solid var(--amber)}
.eco-r i.srcs{color:var(--paper-3);border:1px solid rgba(255,255,255,.25);text-transform:none;letter-spacing:0;font-weight:600}
.eco-later{position:absolute;left:110px;right:110px;top:830px;font-size:32px;font-weight:700;color:#6FF0B8}

/* S9 three cards */
.s9-cards{position:absolute;left:110px;right:110px;top:290px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.buy{padding:30px 32px;display:flex;flex-direction:column;gap:10px;min-height:470px}
.buy .bn{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:30px;font-weight:800;background:var(--sun);color:#1A1205}
.buy b{font-size:36px;font-weight:800;line-height:1.15}
.buy>span{font-size:24px;color:var(--paper-3)}
.buy p{margin:6px 0 0;font-size:28px;line-height:1.3;color:var(--paper)}
.buy em{font-style:normal;font-weight:800;color:var(--sun-2)}
.buy.later{opacity:.8}.buy.later .bn{background:rgba(255,255,255,.2);color:#fff}
.s9-alt{position:absolute;left:110px;right:110px;top:820px;font-size:24px;color:var(--paper-3);line-height:1.4}

/* S10 five items */
.built{position:absolute;left:110px;right:110px;top:285px;margin:0;padding:0;list-style:none;counter-reset:b;display:flex;flex-direction:column;gap:18px}
.built li{counter-increment:b;display:flex;align-items:baseline;gap:22px;font-size:30px;color:var(--paper-2)}
.built li::before{content:counter(b);flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:800;background:var(--sun);color:#1A1205;align-self:center}
.built li b{font-size:42px;font-weight:800;color:var(--paper);white-space:nowrap}
.slide[data-id="s10"] .disc{bottom:120px}

/* S11 numbered ask */
.ask2{position:absolute;left:110px;width:960px;top:290px;margin:0;padding:0;list-style:none;counter-reset:a;display:flex;flex-direction:column;gap:22px}
.ask2 li{counter-increment:a;display:flex;align-items:baseline;gap:22px;font-size:34px;line-height:1.25;color:var(--paper-2)}
.ask2 li::before{content:counter(a);flex:none;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;font-size:32px;font-weight:800;background:linear-gradient(135deg,#FFE3A3,#FFB547);color:#1A1205;align-self:center}
.ask2 li b{color:var(--paper);font-weight:800}
.ask2 li span{color:var(--paper-3)}
.s11-team{top:720px}
.s11-qr{top:226px;padding:28px 28px 12px;width:650px}
.qr-box{width:594px;height:594px}
.qr-cap{font-size:32px;margin-top:10px}
.qr-scan{font-size:22px;font-weight:700;color:#5a6b63}

/* S7 spotlight + numbered callouts (drawn over the calculator, in viewport px) */
.calc-frame-wrap{overflow:hidden}
#spot{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .45s ease}
#spot.on{opacity:1}
#spot .sb{position:absolute;border-radius:14px;box-shadow:0 0 0 4px #FFB547,0 0 0 4000px rgba(8,14,12,.58);
  transition:left .6s cubic-bezier(.45,0,.55,1),top .6s cubic-bezier(.45,0,.55,1),width .6s cubic-bezier(.45,0,.55,1),height .6s cubic-bezier(.45,0,.55,1)}
#spot .st{position:absolute;display:flex;align-items:center;gap:16px;padding:12px 22px 12px 14px;border-radius:18px;background:#0F1D17;color:#F4F1E8;
  font:800 clamp(22px,3.1vh,36px)/1.15 var(--font);box-shadow:0 10px 40px rgba(0,0,0,.45);white-space:nowrap;
  transition:left .6s cubic-bezier(.45,0,.55,1),top .6s cubic-bezier(.45,0,.55,1)}
#spot .st .n{flex:none;width:1.6em;height:1.6em;border-radius:50%;display:grid;place-items:center;background:#FFB547;color:#1A1205}
#spot .st small{display:block;font-size:.6em;font-weight:600;color:rgba(244,241,232,.7)}
#spot .st.red{background:#5A1A0C}#spot .st.red .t{color:#FF9C73}
#spot .st.green{background:#0D3B2A}#spot .st.green .t{color:#7DF5C4}
#spot .st .chip{font-size:.45em;margin-left:.6em;color:#FFD98A}

#street .snap{transition-timing-function:cubic-bezier(.45,0,.55,1)}

/* v6 fixes */
.cv-title{font-size:62px;white-space:nowrap;width:auto}
body.green5 .slide[data-id="s5"] .hl{opacity:1;height:auto;transform:none}
.s5-more{top:172px}
.slide .hl.hl-s{max-width:1760px}
.slide[data-id="s6"] .hl.hl-s{font-size:64px;white-space:nowrap}
.ask2 li{display:flex;align-items:center}
.ask2 li>div{flex:1}

/* S5 points: under the title, in the sky strip (3D labels live lower) */
.s5-points{top:158px;left:40px;right:40px}
.s5-points li{padding:12px 20px;font-size:28px;line-height:1.2}
.s5-points li b{font-size:34px;display:inline}
.s5-more{top:338px}

.s5-points{top:184px}
.s5-points li{padding:9px 18px}
.s5-more{top:318px;font-size:30px;padding:7px 22px}

/* ======================= v7 ======================= */
/* S7: the calculator is only an engine now — never on screen */
body[data-screen="s7"] #calcLayer{display:none!important}
.slide[data-id="s7"] .rv{transition:opacity .7s cubic-bezier(.45,0,.55,1),transform .7s cubic-bezier(.45,0,.55,1)}
.s7-line{position:absolute;left:110px;right:110px;top:130px}
.s7-big{font-size:76px;font-weight:800;letter-spacing:-.025em;line-height:1.05}
.s7-sub{margin-top:12px;font-size:40px;font-weight:700;color:var(--sun-2)}
.s7-pv{position:absolute;left:110px;top:345px;font-size:44px;font-weight:700;color:var(--paper-2)}
.s7-pv b{font-size:84px;font-weight:800;color:var(--sun);letter-spacing:-.02em;margin-left:10px}
.s7-noon{position:absolute;left:1010px;top:360px;display:flex;align-items:center;gap:18px;font-size:44px;font-weight:800;color:var(--paper)}
.s7-noon svg{width:72px;height:72px}
.s7t{position:absolute;left:110px;right:110px;top:480px;border-collapse:separate;border-spacing:0 10px;font-size:34px}
.s7t th{text-align:right;font-size:30px;font-weight:800;color:var(--paper-2);padding:0 26px 4px}
.s7t th small{display:block;font-size:22px;font-weight:600;color:var(--paper-3)}
.s7t td{padding:14px 26px;background:rgba(255,255,255,.05);font-weight:600;color:var(--paper-2)}
.s7t td:first-child{border-radius:16px 0 0 16px}
.s7t td:last-child{border-radius:0 16px 16px 0}
.s7t td:not(:first-child){text-align:right;font-size:52px;font-weight:800;color:var(--paper);white-space:nowrap;width:340px}
.s7t td.bad{color:#FF8A57}
.s7t td.good{color:#6FF0B8}
.s7t .fx{opacity:0;transform:translateX(30px);transition:opacity .7s cubic-bezier(.45,0,.55,1),transform .7s cubic-bezier(.45,0,.55,1)}
.s7t.fixon .fx{opacity:1;transform:none}
.s7t.fixon td.fx{background:rgba(52,199,123,.12)}
.s7-concl{position:absolute;left:110px;right:110px;top:820px;font-size:50px;font-weight:800;color:#6FF0B8;letter-spacing:-.015em}
/* S5: the line-D emergency-shutdown cycle, explained */
.s5-dcap{position:absolute;left:50%;top:888px;transform:translate(-50%,8px);white-space:nowrap;font-size:28px;font-weight:600;color:#fff;padding:8px 22px;border-radius:99px;
  background:rgba(90,26,12,.85);border:1.5px solid rgba(255,138,87,.8);opacity:0;transition:opacity .6s ease,transform .6s ease}
.s5-dcap b{color:#FFB08A}.s5-dcap i{font-style:normal;color:rgba(255,255,255,.75);margin-left:6px}
body.dcycle .s5-dcap{opacity:1;transform:translate(-50%,0)}
/* S9 benefit cards */
.buy p.pay{color:#6FF0B8}.buy p.pay b{font-size:28px;color:#6FF0B8}
.buy i.ex{margin-top:auto;font-style:normal;font-size:18px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--amber)}
.buy p{font-size:26px}
.s9-cards{top:280px}
.buy{min-height:600px}
/* S10: what it took */
.took{position:absolute;left:110px;right:110px;top:250px;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:38px}
.took li{position:relative;padding-left:58px;font-size:34px;line-height:1.45;color:var(--paper-2)}
.took li::before{content:"";position:absolute;left:8px;top:21px;width:20px;height:20px;border-radius:50%;background:var(--sun)}
.took li b{color:var(--paper);font-weight:800;font-size:42px;line-height:1.3}
.took li>span{display:block;font-size:27px;line-height:1.42;color:var(--paper-3);margin-top:8px}

.s7-line{top:120px}
.s7-pv{top:315px}.s7-noon{top:325px}
.s7t{top:425px;border-spacing:0 8px;font-size:32px}
.s7t td{padding:10px 26px}
.s7t td:not(:first-child){font-size:46px}
.s7-concl{top:800px}
