/* Layout: noční svět (podzemí P2) – celoplošné fotky jako „scény“, typografie Archivo v šíři 125 jako karoserie,
   kurzíva Instrument Serif jako hlas. Pět stránek přes hash router, kruhový „světlomet“ přechod. */
:root{
  --night:#0B0A0C;      /* pozadí: garáž v noci */
  --asphalt:#161317;    /* povrchy, karty */
  --paper:#F2ECEA;      /* text */
  --mute:#ABA2A6;       /* vedlejší text (7:1 na --night) */
  --calypso:#B3122B;    /* lak – výplně, tlačítka */
  --calypso-hi:#F0566A; /* lak na světle – text akcentu */
  --ice:#DCEEFF;        /* angel eyes */
  --teal:#86B9B1;       /* podlaha stání 27 */
  --line:rgba(242,236,234,.13);
  --display:"Archivo","Arial Narrow","Helvetica Neue",Arial,system-ui,sans-serif;
  --serif:"Instrument Serif","Iowan Old Style","Times New Roman",Georgia,serif;
  --body:"Archivo","Helvetica Neue",Arial,system-ui,sans-serif;
  --in:cubic-bezier(.16,1,.3,1);
  --curtain:cubic-bezier(.76,0,.24,1);
  --gutter:clamp(16px,4vw,56px);
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scrollbar-gutter:stable;overflow-x:clip;scroll-padding-top:90px;scroll-padding-bottom:100px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--night);color:var(--paper);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
::selection{background:var(--calypso);color:#fff}
:focus-visible{outline:2px solid var(--ice);outline-offset:3px;border-radius:6px}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:800;font-stretch:125%;letter-spacing:-.02em;line-height:.92;text-wrap:balance}
p{margin:0;text-wrap:pretty}
.wrap{width:100%;max-width:1360px;margin-inline:auto;padding-inline:var(--gutter)}
.serif{font-family:var(--serif);font-weight:400;font-style:italic;font-stretch:100%;letter-spacing:0}
.eyebrow{font:600 12px/1.2 var(--body);font-stretch:112%;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--calypso-hi)}
.skip{position:fixed;left:12px;top:12px;z-index:200;padding:12px 16px;border-radius:10px;background:var(--paper);color:var(--night);font-weight:700;text-decoration:none;translate:0 -200%}
.skip:focus{translate:0 0}
.num{font-variant-numeric:tabular-nums}

/* ---------- Mark (dva prstence = angel eyes) ---------- */
.mark{width:auto;height:18px;flex:none;display:block;overflow:visible}
.mark circle{fill:none;stroke:currentColor;stroke-width:2.2}
.mark .in{stroke:var(--ice);stroke-width:1.4;opacity:.9}
.lock{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--paper);white-space:nowrap}
.lock b{font:900 19px/1 var(--display);font-stretch:125%;letter-spacing:.08em}
.lock sup{font:400 italic 14px/1 var(--serif);letter-spacing:0;color:var(--calypso-hi);margin-left:2px;vertical-align:4px}

/* ---------- Header ---------- */
.top{position:fixed;top:0;left:0;right:0;z-index:50;padding:calc(12px + env(safe-area-inset-top,0px)) var(--gutter) 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;transition:translate .5s var(--in),background .4s;}
.top::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,10,12,.78),rgba(11,10,12,0));pointer-events:none;z-index:-1}
.top.hide{translate:0 -110%}
.top::before{transition:background .35s}
.top.solid::before{background:rgba(11,10,12,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.links{display:flex;gap:2px}
.links a{text-decoration:none;font:600 14px/1 var(--body);font-stretch:110%;letter-spacing:.04em;padding:12px 14px;border-radius:999px;color:var(--mute);transition:color .2s,background .2s}
.links a:hover{color:var(--paper)}
.links a[aria-current="page"]{color:var(--paper);background:rgba(242,236,234,.08)}
.btn{display:inline-flex;align-items:center;gap:12px;min-height:50px;padding:6px 8px 6px 22px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;font:700 15px/1 var(--body);font-stretch:108%;letter-spacing:.02em;transition:transform .25s var(--in),background .25s;touch-action:manipulation}
.btn .arr{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;transition:rotate .35s var(--in)}
.btn-red{background:var(--calypso);color:#fff}
.btn-red .arr{background:#fff;color:var(--calypso)}
.btn-ghost{background:rgba(242,236,234,.08);color:var(--paper);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line)}
.btn-ghost .arr{background:var(--paper);color:var(--night)}
@media (hover:hover){.btn:hover .arr{rotate:-45deg}.btn-red:hover{background:#C51633}}
.btn:active{transform:scale(.97)}
.top .btn{min-height:44px;padding:4px 6px 4px 18px;font-size:14px}
.top .btn .arr{width:34px;height:34px}
.tlink{font-weight:600;text-underline-offset:5px;text-decoration-thickness:1px;color:var(--paper);display:inline-flex;align-items:center;min-height:44px}

/* ---------- Tab bar (mobil) ---------- */
.tabbar{display:none}

/* ---------- Scény (cover stage s přesnými souřadnicemi světel) ---------- */
.frame{position:relative;overflow:hidden;container-type:size;background:var(--night)}
.stage{position:absolute;left:50%;top:50%;aspect-ratio:var(--ar);width:max(100cqw,calc(100cqh * var(--ar)));translate:-50% -50%}
.kb{position:absolute;inset:0;transform-origin:var(--ox,50%) var(--oy,50%)}
.kb img,.kb picture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.g{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:calc(var(--r) * 4.4%);aspect-ratio:1;translate:-50% -50%;border-radius:50%;mix-blend-mode:screen;pointer-events:none}
.g.eye{background:radial-gradient(circle,rgba(235,245,255,.95) 0 14%,rgba(190,222,255,.55) 30%,rgba(140,190,255,.16) 52%,transparent 70%)}
.g.tail{width:calc(var(--r) * 3%);aspect-ratio:var(--gar,1.6);border-radius:50%;background:radial-gradient(closest-side,rgba(255,70,60,.75),rgba(255,40,40,.28) 55%,transparent)}
.g.sun{width:70%;background:radial-gradient(circle,rgba(255,246,214,.6),rgba(255,232,170,.18) 40%,transparent 68%)}
.flick{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none}
.fxc{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.shade{position:absolute;inset:0;pointer-events:none}
@media (prefers-reduced-motion:no-preference){
  .g.eye,.g.tail{animation:breathe 3.4s ease-in-out infinite alternate}
  .g:nth-child(2n){animation-delay:-1.3s}
  .g.sun{animation:sun 14s ease-in-out infinite alternate}
  .flick{animation:tube 11s steps(1) infinite}
  .kb.drift{animation:kb 24s ease-in-out infinite alternate}
}
@keyframes breathe{from{opacity:.62;scale:.94}to{opacity:1;scale:1.06}}
@keyframes sun{from{translate:-56% -50%;opacity:.7}to{translate:-44% -46%;opacity:1}}
@keyframes tube{0%,71%{opacity:0}71.5%{opacity:.16}72%{opacity:0}76%{opacity:.1}76.4%,100%{opacity:0}}
@keyframes kb{from{scale:1}to{scale:1.06}}

/* ---------- Stránky ---------- */
.page{display:block;min-height:100svh}
.page:focus{outline:none}
h1:focus{outline:none}

/* HERO */
.hero{position:relative;height:100svh;min-height:600px;max-height:1100px}
.hero .frame{position:absolute;inset:0}
.hero .stage{--ar:.667}
.glows.port{display:none}
.hero .shade{background:linear-gradient(180deg,rgba(11,10,12,.55) 0%,rgba(11,10,12,0) 22%,rgba(11,10,12,0) 48%,rgba(11,10,12,.86) 82%,var(--night) 100%),linear-gradient(90deg,rgba(11,10,12,.5),rgba(11,10,12,0) 55%)}
.hero-copy{position:absolute;left:0;right:0;bottom:0;padding-bottom:clamp(28px,5vh,56px);display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
.hero h1{font-size:clamp(4.2rem,12.5vw,12.5rem);font-weight:900;letter-spacing:-.035em;line-height:.8;margin-left:-.04em}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.17em;margin-bottom:-.13em}
.hero h1 .ln>span{display:inline-block}
.hero h1 .serif{font-size:.42em;line-height:1;display:block;padding-top:.15em;color:var(--paper)}
.hero h1 .serif em{color:var(--calypso-hi);font-style:italic}
.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap}
.lead{font-size:clamp(1.02rem,1.35vw,1.2rem);color:rgba(242,236,234,.86);max-width:36em}
.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.facts{display:flex;gap:10px 22px;flex-wrap:wrap;list-style:none;margin:0;padding:0;font:600 12.5px/1.2 var(--body);font-stretch:110%;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.facts b{color:var(--paper);font-weight:700}
.stall{position:absolute;right:var(--gutter);top:calc(84px + env(safe-area-inset-top,0px));display:grid;justify-items:end;gap:2px;font:800 12px/1 var(--body);font-stretch:125%;letter-spacing:.2em;color:var(--teal);text-transform:uppercase}
.stall b{font:900 clamp(40px,5vw,64px)/1 var(--display);font-stretch:125%;letter-spacing:-.02em;color:rgba(220,238,255,.9)}

@media (orientation:landscape) and (min-width:1001px){
  .hero .frame{left:auto;right:0;width:min(56vw,calc(100svh * .86))}
  .hero .shade{background:linear-gradient(90deg,var(--night) 0%,rgba(11,10,12,.55) 14%,rgba(11,10,12,0) 34%),linear-gradient(180deg,rgba(11,10,12,.45) 0%,rgba(11,10,12,0) 16%,rgba(11,10,12,0) 80%,var(--night) 100%)}
  .hero-copy{top:0;bottom:0;right:auto;margin:0;max-width:none;width:calc(100% - min(56vw,calc(100svh * .86)) + 8vw);align-content:center;padding-top:90px;padding-bottom:40px;gap:26px}
  .hero h1{font-size:clamp(4rem,9.4vw,10rem)}
  .hero-row{flex-direction:column;align-items:flex-start;gap:24px}
  .hero .lead{max-width:30em}
  .stall{right:calc(var(--gutter) + 4px)}
}
/* Přechod „dálková světla“ */
.beam{position:fixed;inset:0;z-index:140;pointer-events:none}
.beam i{position:absolute;border-radius:50%;translate:-50% -50%;background:radial-gradient(circle,#fff 0 10%,rgba(225,240,255,.9) 22%,rgba(170,210,255,.35) 45%,transparent 70%);mix-blend-mode:screen;will-change:transform,opacity}
.beam .w{position:absolute;inset:0;background:radial-gradient(120% 90% at var(--bx,50%) var(--by,50%),#F6FAFF 0 30%,#DCEEFF 70%,#C9DFF5);opacity:0}
.btn-beam .arr{color:var(--calypso)}
@media (hover:hover){.btn-beam:hover .arr{rotate:0deg;box-shadow:0 0 18px 4px rgba(220,238,255,.75)}}
.beam-note{align-self:center}
html.beam-in body::after{content:"";position:fixed;inset:0;z-index:200;pointer-events:none;background:#F2F8FF;animation:beamOut .9s cubic-bezier(.65,0,.35,1) forwards}
@keyframes beamOut{to{opacity:0}}
/* Přechody kapitol */
.trn{position:fixed;inset:0;z-index:145;overflow:hidden;pointer-events:auto;cursor:progress}
.trn canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.trn .car{position:absolute;inset:0;background:#1a1416 center/cover no-repeat;opacity:0}
.trn svg{position:absolute;inset:0;width:100%;height:100%}
.trn .dark{position:absolute;inset:0;background:#070608;opacity:0}
.trn .tb{fill:#EAF4FF;filter:drop-shadow(0 0 10px rgba(220,238,255,.9)) drop-shadow(0 0 40px rgba(220,238,255,.4));opacity:0}
.trn .ln{fill:none;stroke:rgba(220,238,255,.55);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1}
.trn .no{font-family:var(--display);font-weight:900;font-stretch:125%;fill:rgba(134,185,177,.22);stroke:rgba(220,238,255,.5);stroke-width:1.5;opacity:0}
.trn .rg{fill:none;stroke:var(--ice);stroke-width:2.2;stroke-dasharray:1;stroke-dashoffset:1}
.trn .bl{position:absolute;border-radius:50%;translate:-50% -50%;background:radial-gradient(circle,rgba(235,245,255,.95) 0 12%,rgba(190,222,255,.45) 32%,transparent 70%);mix-blend-mode:screen;opacity:0}
.trn .lbl{position:absolute;left:0;right:0;top:27%;text-align:center;font:600 12px/1 var(--body);letter-spacing:.32em;text-transform:uppercase;color:rgba(220,238,255,.75);opacity:0}
.trn .tl,.trn .tl-halo,.trn .tl-ref{position:absolute;display:block;pointer-events:none;opacity:0}
.trn .tl{transform:translate(-50%,-50%);border-radius:45%;background:radial-gradient(closest-side,rgba(255,236,226,.98) 0 22%,rgba(255,72,58,.95) 42%,rgba(235,28,32,.55) 66%,transparent 100%);filter:blur(.6px)}
.trn .tl-halo{transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(255,40,40,.42),rgba(200,20,30,.16) 50%,transparent 100%)}
.trn .tl-ref{transform:translateX(-50%);transform-origin:50% 0;background:radial-gradient(ellipse 50% 100% at 50% 0,rgba(255,80,62,.62),rgba(255,44,40,.26) 38%,rgba(210,28,30,.08) 70%,transparent 100%);filter:blur(7px);
  -webkit-mask:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent),repeating-linear-gradient(180deg,#000 0 9px,rgba(0,0,0,.72) 9px 14px);-webkit-mask-composite:source-in;mask:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent) intersect,repeating-linear-gradient(180deg,#000 0 9px,rgba(0,0,0,.72) 9px 14px)}
.trn .rd-bg{position:absolute;inset:0;background:var(--night);opacity:0}
.trn .rd-st{position:absolute;inset:0;z-index:3}
.trn .rd-wrap{position:absolute;overflow:hidden;opacity:0;z-index:2}
.trn .rd-l{position:absolute!important;inset:0!important;will-change:transform}
.trn .rd-flash{position:absolute;z-index:4;width:90vmax;height:90vmax;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,244,220,.75),rgba(255,226,170,.22) 35%,transparent 65%);mix-blend-mode:screen;opacity:0}
.trn .bay{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 0,#13222b,#070b0e 70%);opacity:0}
.trn .led{position:absolute;left:50%;top:calc(clamp(70px,11vh,110px) + env(safe-area-inset-top,0px));z-index:5;transform:translate(-50%,0);display:grid;grid-template-columns:auto auto auto;align-items:center;gap:6px 12px;padding:11px 16px 9px;border-radius:10px;background:rgba(4,8,10,.88);border:1px solid rgba(127,227,255,.28);box-shadow:0 0 0 4px rgba(4,8,10,.5),0 18px 50px -10px rgba(0,0,0,.7);font:700 13px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.24em;text-transform:uppercase;color:#7fe3ff;text-shadow:0 0 8px rgba(127,227,255,.75);white-space:nowrap;opacity:0}
.trn .led b{color:#ffb347;text-shadow:0 0 8px rgba(255,179,71,.8)}
.trn .led .dot{width:8px;height:8px;border-radius:50%;background:#ff4d5e;box-shadow:0 0 10px #ff4d5e;animation:recb .8s steps(1) infinite}
.trn .led i{grid-column:1/-1;height:3px;border-radius:3px;background:rgba(127,227,255,.15);overflow:hidden}
.trn .led i u{display:block;height:100%;background:currentColor;box-shadow:0 0 8px currentColor;transform-origin:0 50%;transform:scaleX(0)}
.trn .led.rinse{color:#a9f5c9;border-color:rgba(169,245,201,.3);text-shadow:0 0 8px rgba(169,245,201,.75)}
.trn .led.done .dot{background:#5dff9b;box-shadow:0 0 10px #5dff9b;animation:none}
html.tr-in body::after{content:"";position:fixed;inset:0;z-index:144;background:var(--trc,#000);pointer-events:none}
html.tr-pena{--trc:#F7F1F4}html.tr-podzemi{--trc:#070608}html.tr-asfalt{--trc:#0B0A0C}
/* SEKCE */
.sec{padding-block:clamp(80px,12vw,160px)}
.sec-head{display:grid;gap:18px;max-width:780px;margin-bottom:clamp(36px,5vw,64px)}
.sec-head h2{font-size:clamp(2.3rem,5.4vw,4.6rem)}
.sec-head h2 .serif{color:var(--calypso-hi)}
.sec-head p{color:var(--mute);font-size:1.08rem;max-width:36em}

/* Tři světla */
.worlds{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.world{border-bottom:1px solid var(--line)}
.world a{display:grid;grid-template-columns:70px minmax(0,1fr) auto 54px;align-items:center;gap:24px;padding:30px 0;text-decoration:none;position:relative}
.world .no{font:700 13px/1 var(--body);font-stretch:110%;letter-spacing:.14em;color:var(--mute)}
.world h3{font-size:clamp(2.6rem,7.6vw,7rem);font-weight:900;transition:translate .5s var(--in),color .3s}
.world p{color:var(--mute);max-width:24em;font-size:15px}
.world .cnt{display:block;color:var(--paper);font-weight:700;margin-top:4px;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.world .circ{width:54px;height:54px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:background .3s,border-color .3s,rotate .4s var(--in)}
@media (hover:hover){
  .world a:hover h3{translate:14px 0;color:var(--calypso-hi)}
  .world a:hover .circ{background:var(--calypso);border-color:var(--calypso);rotate:-45deg}
}

/* Detaily – filmový pás */
.strip-sec{position:relative}
.strip-pin{position:relative}
.strip{display:flex;gap:clamp(14px,2vw,28px);padding-inline:var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px}
.strip::-webkit-scrollbar{display:none}
.shot{flex:none;width:clamp(240px,27vw,400px);scroll-snap-align:start;margin:0;display:grid;gap:12px}
.shot .ph{aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:var(--asphalt)}
.shot img{width:100%;height:100%;object-fit:cover;transition:scale 1.2s var(--in)}
@media (hover:hover){.shot:hover img{scale:1.06}}
.shot figcaption{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:15px;font-weight:600}
.shot figcaption small{font:500 11.5px/1 var(--body);font-stretch:100%;letter-spacing:.1em;color:var(--mute);font-variant-numeric:tabular-nums}
.film-nav{display:flex;gap:10px;margin-top:22px;padding-inline:var(--gutter)}
.round{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:transparent;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.round:hover{background:rgba(242,236,234,.08)}
.round:disabled{opacity:.3;cursor:default}

/* Finále */
.finale{position:relative;overflow:hidden;padding-block:clamp(80px,10vw,140px) clamp(60px,8vw,110px)}
.driveby{position:relative;height:clamp(260px,46vw,620px);overflow:hidden}
.driveby{container-type:size}
.dv-stage{position:absolute;left:50%;top:50%;aspect-ratio:1376/690;width:max(100cqw,calc(100cqh * 1.9942));translate:-50% -50%}
.dv-cam,.dv-shake{position:absolute;inset:0}
.dv-cam{transform:scale(1.06);will-change:transform}
.dv-photo{position:absolute;inset:0;width:100%;height:100%;display:block}
.dv-streak{position:absolute;inset:0;overflow:hidden;opacity:.62;-webkit-mask:url(img/drive/streakmask.png) 0 0/100% 100% no-repeat;mask:url(img/drive/streakmask.png) 0 0/100% 100% no-repeat}
.dv-streak::before{content:"";position:absolute;top:0;left:0;width:200%;height:100%;background:url(img/drive/streak.webp) 0 0/100% 100% no-repeat}
.dv-sweep{position:absolute;inset:0;-webkit-mask:url(img/drive/carmask.png) 0 0/100% 100% no-repeat;mask:url(img/drive/carmask.png) 0 0/100% 100% no-repeat;background:linear-gradient(100deg,transparent 42%,rgba(255,244,236,.55) 50%,transparent 58%) 0 0/300% 100% no-repeat;mix-blend-mode:soft-light;opacity:0}
.dv-wheel{position:absolute;aspect-ratio:1;display:block}
.dv-wheel img{position:absolute;inset:0;width:100%;height:100%}
.dv-r{left:19.404%;top:60.435%;width:7.703%}
.dv-f{left:61.047%;top:61.884%;width:8.140%}
@media (prefers-reduced-motion:no-preference){
  .dv-streak::before{animation:dvFlow 1.15s linear infinite}
  .dv-r img:first-child{animation:dvSpin .3s linear infinite}
  .dv-f img:first-child{animation:dvSpin .33s linear infinite}
  .dv-sweep{animation:dvSweep 6s cubic-bezier(.45,0,.2,1) infinite}
  .dv-shake{animation:dvShake 1.7s steps(1) infinite}
  .driveby.off *,.driveby.off *::before{animation-play-state:paused!important}
}
@keyframes dvFlow{to{transform:translateX(-50%)}}
@keyframes dvSpin{to{transform:rotate(360deg)}}
@keyframes dvSweep{0%,30%{opacity:0;background-position:100% 0}38%{opacity:1}70%{opacity:1}78%,100%{opacity:0;background-position:0 0}}
@keyframes dvShake{0%{translate:0 0}17%{translate:.6px -.4px}34%{translate:-.4px .5px}51%{translate:.3px .2px}68%{translate:-.5px -.3px}85%{translate:.2px .5px}}
.driveby::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--night),rgba(11,10,12,0) 22%,rgba(11,10,12,0) 70%,var(--night))}
.finale-copy{display:grid;gap:26px;justify-items:start;margin-top:clamp(-56px,-3vw,-16px);position:relative;z-index:2}
.finale h2{font-size:clamp(2.6rem,7vw,6.4rem)}
.finale h2 .serif{color:var(--calypso-hi)}

/* Posuvník „nastartuj“ */
.slide{--p:0;position:relative;width:min(100%,460px);height:76px;border-radius:999px;background:rgba(242,236,234,.06);border:1px solid var(--line);overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.slide::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--ang),transparent 0 70%,var(--ice) 82%,transparent 94%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);pointer-events:none}
@property --ang{syntax:"<angle>";initial-value:0deg;inherits:false}
@media (prefers-reduced-motion:no-preference){.slide::before{animation:orbit 4s linear infinite}}
@keyframes orbit{to{--ang:360deg}}
.slide .fill{position:absolute;left:0;top:0;bottom:0;width:calc(38px + var(--p) * (100% - 38px));background:linear-gradient(90deg,rgba(179,18,43,.0),rgba(179,18,43,.85));border-radius:inherit}
.slide .txt{position:absolute;inset:0;display:flex;align-items:center;padding-left:92px;padding-right:56px;font:700 15px/1.2 var(--body);font-stretch:108%;letter-spacing:.02em;background:linear-gradient(100deg,var(--mute) 30%,var(--paper) 50%,var(--mute) 70%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;opacity:calc(1 - var(--p) * 1.6)}
@media (prefers-reduced-motion:no-preference){.slide .txt{animation:shine 3s linear infinite}}
@keyframes shine{to{background-position:-250% 0}}
.slide .chev{position:absolute;right:22px;top:50%;translate:0 -50%;display:flex;gap:2px;color:var(--mute);opacity:calc(1 - var(--p) * 2)}
.slide .chev i{display:block;width:8px;height:8px;border-right:2px solid currentColor;border-top:2px solid currentColor;rotate:45deg}
@media (prefers-reduced-motion:no-preference){.slide .chev i{animation:blink 1.4s infinite}.slide .chev i:nth-child(2){animation-delay:.18s}.slide .chev i:nth-child(3){animation-delay:.36s}}
@keyframes blink{0%,100%{opacity:.25}50%{opacity:1}}
.thumb-k{position:absolute;left:5px;top:5px;width:66px;height:66px;border-radius:50%;background:var(--paper);color:var(--night);display:grid;place-items:center;cursor:grab;border:0;touch-action:none;box-shadow:0 0 calc(var(--p) * 40px) calc(var(--p) * 6px) rgba(220,238,255,.55);translate:var(--tx,0px) 0}
.thumb-k:active{cursor:grabbing}
.thumb-k svg{width:40px;height:auto}
.thumb-k circle{fill:none;stroke:currentColor;stroke-width:2.4}
.thumb-k .in{stroke:var(--calypso);stroke-width:1.6;opacity:calc(.35 + var(--p) * .65)}
.slide.done{background:var(--calypso);border-color:var(--calypso)}
.slide.done .txt{color:#fff;-webkit-text-fill-color:#fff;background:none;opacity:1}
@media (prefers-reduced-motion:no-preference){.thumb-k.nudge{animation:nudge 3.2s var(--in) infinite}}
@keyframes nudge{0%,70%,100%{translate:var(--tx,0px) 0}78%{translate:calc(var(--tx,0px) + 18px) 0}}
.micro{font-size:13px;color:var(--mute)}

/* ---------- Kapitoly ---------- */
.ch-hero{position:relative;height:min(88svh,980px);min-height:520px}
.ch-hero .frame{position:absolute;inset:0}
.ch-hero .stage{--ar:1.4993}
.ch-hero .shade{background:linear-gradient(180deg,rgba(11,10,12,.55),rgba(11,10,12,0) 25%,rgba(11,10,12,0) 45%,rgba(11,10,12,.72) 74%,var(--night) 100%)}
.ch-title .eyebrow{color:var(--paper)}
.ch-title{position:absolute;left:0;right:0;bottom:clamp(20px,5vh,48px);display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.ch-title h1{font-size:clamp(3.4rem,16vw,14rem);font-weight:900;letter-spacing:-.035em;line-height:.8}
.ch-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,6vw,96px);align-items:start;padding-block:clamp(40px,6vw,80px) clamp(40px,6vw,72px)}
.ch-intro .say{font:400 clamp(1.7rem,3.2vw,2.8rem)/1.12 var(--serif);font-style:italic;color:var(--paper)}
.ch-intro .say em{color:var(--calypso-hi)}
.ch-meta{display:grid;gap:0;margin:0}
.ch-meta div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.ch-meta dt{font:600 12px/1.6 var(--body);font-stretch:110%;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.ch-meta dd{margin:0;font-weight:500}
.seq{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(14px,2vw,28px);align-items:end;padding-bottom:clamp(60px,8vw,120px)}
.fig{margin:0;display:grid;gap:12px;min-width:0}
.fig .frame{border-radius:4px}
.fig figcaption{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--mute)}
.fig figcaption b{color:var(--paper);font-weight:600}
.fig.a{grid-column:1/9}
.fig.a .frame{aspect-ratio:3/2}
.fig.b{grid-column:9/13;padding-bottom:12%}
.fig.b .frame{aspect-ratio:2/3}
.fig.c{grid-column:1/6}
.fig.c .frame{aspect-ratio:2/3}
.fig.d{grid-column:7/13;padding-bottom:18%}
.fig.d .frame{aspect-ratio:3/2}
.fig .pin{will-change:translate}

/* Galerie – zarovnané řádky */
.gal-top{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.grid{display:flex;flex-wrap:wrap;gap:8px}
.grid::after{content:"";flex:10 1 0}
.tile{--h:240px;position:relative;flex:var(--ar) 1 calc(var(--ar) * var(--h));aspect-ratio:var(--ar);max-height:calc(var(--h) * 1.6);padding:0;border:0;background:var(--bgc,#222);border-radius:3px;overflow:hidden;cursor:zoom-in;min-width:0}
.tile img{width:100%;height:100%;object-fit:cover;transition:scale .9s var(--in),filter .4s}
.tile .cap{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;font-size:12px;font-weight:600;text-align:left;background:linear-gradient(transparent,rgba(0,0,0,.7));opacity:0;translate:0 6px;transition:opacity .3s,translate .4s var(--in)}
@media (hover:hover){.tile:hover img{scale:1.05}.tile:hover .cap,.tile:focus-visible .cap{opacity:1;translate:0 0}}
.chips{display:flex;gap:8px;flex-wrap:wrap;border:0;margin:0;padding:0;min-width:0}
.chip{position:relative}
.chip input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;width:100%;height:100%}
.chip span{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:10px 18px;border-radius:999px;border:1px solid var(--line);font-weight:600;font-size:14.5px;transition:background .2s,color .2s,border-color .2s}
.chip span i{font-style:normal;font-size:12px;color:var(--mute);font-variant-numeric:tabular-nums}
.chip input:checked+span{background:var(--paper);color:var(--night);border-color:var(--paper)}
.chip input:checked+span i{color:var(--calypso)}
.chip input:focus-visible+span{outline:2px solid var(--ice);outline-offset:2px}
.next{display:grid;gap:10px;padding-block:clamp(60px,9vw,120px);text-decoration:none;border-top:1px solid var(--line);margin-top:clamp(60px,8vw,100px)}
.next small{font:600 12px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.next b{font:900 clamp(3rem,11vw,9rem)/.85 var(--display);font-stretch:125%;letter-spacing:-.035em;display:flex;align-items:center;gap:.25em;transition:color .3s}
.next b svg{width:.5em;height:.5em;flex:none;transition:translate .5s var(--in)}
@media (hover:hover){.next:hover b{color:var(--calypso-hi)}.next:hover b svg{translate:.15em 0}}

/* ===== Galerie: ukázka ===== */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gal-head{padding-top:clamp(104px,12vw,150px);display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding-bottom:18px}
.gal-title{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.gal-title h1{font-size:clamp(2.8rem,8vw,7rem)}
.gal-title h1 .serif{color:var(--calypso-hi)}
.gal-ctrl{display:flex;justify-content:space-between;align-items:center;gap:14px 24px;flex-wrap:wrap}
.seg{position:relative;display:inline-flex;gap:0;padding:4px;border:1px solid var(--line);border-radius:999px;margin:0;min-width:0;background:rgba(242,236,234,.03)}
.seg label{position:relative;z-index:1}
.seg input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;width:100%;height:100%}
.seg span{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 16px;border-radius:999px;font-weight:700;font-size:14px;color:var(--mute);transition:color .3s;white-space:nowrap}
.seg span svg{width:18px;height:18px}
.seg input:checked+span{color:var(--night)}
.seg input:focus-visible+span{outline:2px solid var(--ice);outline-offset:2px}
.seg-pill{position:absolute;z-index:0;top:4px;bottom:4px;left:0;width:0;border-radius:999px;background:var(--paper);transition:left .5s var(--in),width .5s var(--in)}
.gv{position:relative}
/* Stěna (WebGL) */
.wall{position:relative;height:100svh;min-height:520px;overflow:hidden;touch-action:none;cursor:grab;outline:none;background:var(--night);user-select:none;-webkit-user-select:none}
.wall.drag{cursor:grabbing}
.wall:focus-visible{box-shadow:inset 0 0 0 2px var(--ice)}
.wall canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.wall::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(11,10,12,.82) 0%,rgba(11,10,12,0) 30%,rgba(11,10,12,0) 66%,rgba(11,10,12,.9) 100%)}
.wall-tip{position:absolute;left:0;top:0;z-index:3;pointer-events:none;padding:7px 12px;border-radius:999px;background:rgba(11,10,12,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);font:700 12px/1 var(--body);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .2s}
.wall-tip i{font-style:normal;color:var(--calypso-hi);margin-right:8px}
.wall-tip.on{opacity:1}
.wall-hint{position:absolute;left:50%;top:50%;z-index:3;translate:-50% -50%;pointer-events:none;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:rgba(11,10,12,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);font-weight:700;font-size:14px;opacity:0;transition:opacity .5s}
.wall-hint.on{opacity:1}
.wall-hint svg{width:22px;height:22px;color:var(--calypso-hi)}
.gal[data-v="stena"] .gal-head{position:absolute;top:0;left:0;right:0;z-index:4;height:100svh;min-height:520px;max-width:none;padding-bottom:clamp(18px,3vh,32px);display:flex;flex-direction:column;pointer-events:none}
.gal[data-v="stena"] .gal-title{pointer-events:none;text-shadow:0 4px 40px rgba(0,0,0,.55)}
.gal[data-v="stena"] .gal-title h1{font-size:clamp(2.4rem,6.4vw,6rem)}
.gal[data-v="stena"] .gal-ctrl{margin-top:auto;pointer-events:auto;align-self:flex-start;max-width:100%;padding:8px;border-radius:30px;background:rgba(11,10,12,.62);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid var(--line)}
.gal[data-v="stena"] .gal-ctrl{min-width:0;box-sizing:border-box}
.gal[data-v="stena"] #filters{max-width:100%;min-width:0}
.gal[data-v="stena"] .gal-ctrl .seg{border-color:transparent;background:rgba(242,236,234,.05)}
.gal[data-v="stena"] .chip input:not(:checked)+span{background:rgba(11,10,12,.3)}
.gal[data-v="stena"] #galStatus{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.gal.wall-intro .gal-title,.gal.wall-intro .gal-ctrl{opacity:0}
/* Spirála */
.sp{position:relative;height:clamp(460px,74svh,780px);perspective:1500px;perspective-origin:50% 42%;overflow:hidden;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;outline:none}
.sp:focus-visible{box-shadow:inset 0 0 0 2px var(--ice)}
.sp.drag{cursor:grabbing}
.sp-amb{position:absolute;inset:-10%;pointer-events:none}
.sp-amb i{position:absolute;inset:0;background:center/cover no-repeat;filter:blur(60px) saturate(1.4);opacity:0;transition:opacity 1.1s ease;transform:scale(1.1)}
.sp-amb i.on{opacity:.38}
.sp::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 60% at 50% 42%,transparent,var(--night) 92%),linear-gradient(180deg,var(--night),transparent 14%,transparent 80%,var(--night))}
.sp-floor{position:absolute;left:-20%;right:-20%;top:76%;height:40%;background:radial-gradient(50% 60% at 50% 0,rgba(242,236,234,.07),transparent 70%);transform:perspective(600px) rotateX(68deg);transform-origin:50% 0;pointer-events:none}
.sp-ring{position:absolute;left:50%;top:42%;transform-style:preserve-3d;--cw:clamp(150px,19vw,270px)}
.sp-card{position:absolute;left:0;top:0;width:var(--cw);aspect-ratio:3/4;margin:calc(var(--cw) * -.6667) 0 0 calc(var(--cw) * -.5);border-radius:6px;overflow:hidden;background:var(--bgc,#222);backface-visibility:hidden;will-change:transform,opacity;box-shadow:0 30px 60px -30px #000;-webkit-box-reflect:below 6px linear-gradient(transparent 62%,rgba(255,255,255,.16));padding:0;border:0;cursor:pointer}
.sp-card img{width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none}
.sp-card::after{content:"";position:absolute;inset:0;background:var(--night);opacity:var(--dk,0);pointer-events:none}
.sp-card.front{box-shadow:0 0 0 1px rgba(242,236,234,.25),0 40px 90px -30px #000,0 0 80px -20px rgba(179,18,43,.45)}
.sp-hud{position:absolute;left:0;right:0;bottom:clamp(14px,3vh,30px);display:flex;justify-content:center;align-items:center;gap:18px;z-index:2;padding-inline:16px}
.sp-info{display:grid;justify-items:center;gap:4px;min-width:0;text-align:center;width:min(520px,62vw)}
.sp-info b{font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.sp-info small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.sp-count{position:absolute;right:var(--gutter);top:18px;z-index:2;display:flex;align-items:baseline;gap:6px;color:var(--mute);font-weight:700}
.sp-count b{font:900 clamp(40px,6vw,76px)/1 var(--display);font-stretch:125%;color:var(--paper);letter-spacing:-.03em}
/* Mřížka */
.sortbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 20px}
.seg-s span{min-height:38px;font-size:13px;padding:6px 14px}
/* Flipbook */
.fb{display:grid;gap:18px;padding-bottom:20px}
.fb-stage{position:relative;aspect-ratio:3/2;max-height:72svh;width:100%;border-radius:8px;overflow:hidden;background:#000;margin-inline:auto}
.fb-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.fb-stage #fbB{opacity:0}
.fb-tl,.fb-tr{position:absolute;top:14px;z-index:2;display:flex;align-items:center;gap:8px;font:700 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;padding:8px 12px;border-radius:999px;background:rgba(11,10,12,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.fb-tl{left:14px}.fb-tr{right:14px;color:var(--calypso-hi)}
.rec{width:8px;height:8px;border-radius:50%;background:#e2263b}
.fb.playing .rec{animation:recb 1s steps(1) infinite}
@keyframes recb{50%{opacity:.2}}
.fb-no{position:absolute;left:18px;bottom:12px;z-index:2;display:flex;align-items:baseline;gap:6px;font-weight:700;color:rgba(242,236,234,.7);text-shadow:0 2px 20px rgba(0,0,0,.6)}
.fb-no b{font:900 clamp(44px,8vw,110px)/1 var(--display);font-stretch:125%;color:var(--paper);letter-spacing:-.03em}
.fb-zoom{position:absolute;right:14px;bottom:14px;z-index:2;width:46px;height:46px;border-radius:50%;border:1px solid rgba(242,236,234,.25);background:rgba(11,10,12,.55);color:var(--paper);display:grid;place-items:center;cursor:pointer}
.fb-ctrl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}
.fb-play{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 20px 0 16px;border-radius:999px;border:0;background:var(--calypso);color:#fff;font-weight:700;cursor:pointer}
.fb-play .i-pause{display:none}.fb.playing .fb-play .i-pause{display:block}.fb.playing .fb-play .i-play{display:none}
.fb-scrub{position:relative;height:74px;touch-action:none;cursor:ew-resize;outline:none;padding-top:4px}
.fb-scrub:focus-visible{box-shadow:0 0 0 2px var(--ice);border-radius:6px}
.fb-film{display:flex;height:52px;border-radius:4px;overflow:hidden;background:#111;box-shadow:inset 0 0 0 1px var(--line)}
.fb-film i{flex:1 1 0;min-width:0;background:var(--bgc) center/cover no-repeat;opacity:.55;transition:opacity .2s}
.fb-film i.on{opacity:1}
.fb-head{position:absolute;top:0;bottom:16px;width:0;left:0;pointer-events:none}
.fb-head i{position:absolute;left:-2px;top:0;bottom:0;width:4px;border-radius:4px;background:var(--paper);box-shadow:0 0 0 3px rgba(11,10,12,.6),0 0 18px rgba(242,236,234,.6)}
.fb-marks{position:relative;height:16px}
.fb-marks span{position:absolute;top:4px;font:700 10.5px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);white-space:nowrap;border-left:1px solid var(--line);padding-left:6px}
@media (max-width:760px){
  .gal-ctrl{flex-direction:column;align-items:stretch}
  #views{display:flex;width:100%}#views label{flex:1 1 0;min-width:0}#views span{justify-content:center;padding:8px 4px;font-size:12.5px;gap:5px;width:100%}#views span svg{width:15px;height:15px}
  .seg-s span{padding:6px 10px;font-size:12px}
  .gal-title h1{font-size:clamp(2.4rem,12vw,4rem)}
  #filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}
  #filters .chip{flex:none}
  .sp{height:clamp(440px,70svh,640px);perspective:1100px}
  .gal[data-v="stena"] .gal-ctrl{align-self:stretch;border-radius:24px}
  .gal[data-v="stena"] #filters{margin-inline:0;padding-inline:0}
  .sp-ring{--cw:52vw;top:40%}
  .sp-info{width:56vw}
  .fb-ctrl{grid-template-columns:minmax(0,1fr)}
  .fb-play{justify-self:start}
  .fb-stage{aspect-ratio:4/5}
  .fb-tr{display:none}
}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:120;background:rgba(6,5,7,.96);display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:calc(10px + env(safe-area-inset-top,0px)) 10px calc(10px + env(safe-area-inset-bottom,0px))}
.lb-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 6px}
.lb-count{font:700 13px/1 var(--body);letter-spacing:.12em;color:var(--mute);font-variant-numeric:tabular-nums}
.lb-stage{position:relative;display:grid;place-items:center;min-height:0;touch-action:pan-y}
.lb-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:2px;user-select:none;-webkit-user-drag:none}
.lb-cap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 6px 0;font-size:14px}
.lb-cap small{color:var(--mute);font-variant-numeric:tabular-nums}
.lb-nav{display:flex;gap:8px}
.lb .round{background:rgba(242,236,234,.06)}

/* Patička */
footer{border-top:1px solid var(--line);padding-block:clamp(48px,7vw,90px) calc(28px + env(safe-area-inset-bottom,0px))}
.f-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:start}
.f-big{display:grid;gap:16px}
.f-big .lock b{font-size:clamp(34px,5vw,58px)}
.f-big .mark{height:clamp(26px,3.4vw,38px)}
.f-big p{color:var(--mute);max-width:30em}
.f-links{display:flex;flex-wrap:wrap;gap:4px 18px}
.f-links a{text-decoration:none;color:var(--mute);min-height:44px;display:inline-flex;align-items:center;font-weight:600}
.f-links a:hover{color:var(--paper)}
.dd-card{display:grid;gap:18px;padding:clamp(22px,3vw,34px);border-radius:18px;background:var(--asphalt);border:1px solid var(--line);position:relative;overflow:hidden}
.dd-card::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(228,87,31,.22),transparent 70%);pointer-events:none}
.dd-card small{font:600 11.5px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.dd{display:inline-flex;align-items:center;gap:10px;color:var(--paper);text-decoration:none;min-height:44px}
.dd svg{height:40px;width:auto}
.dd .wm{display:grid;line-height:1;font-family:var(--body)}
.dd .wm b{font-weight:800;font-stretch:100%;font-size:24px;letter-spacing:-.01em}
.dd .wm i{font-style:normal;font-weight:700;font-size:9.2px;letter-spacing:.47em;margin-top:4px}
.dd-card p{font:400 clamp(1.3rem,2vw,1.6rem)/1.2 var(--serif);font-style:italic}
.dd-go{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:#FF8A5C;text-decoration:none;min-height:44px}
.dd-go:hover{text-decoration:underline;text-underline-offset:5px}
.f-legal{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;font-size:12.5px;color:var(--mute)}

/* ---------- Intro ---------- */
#intro{position:fixed;inset:0;z-index:150;cursor:pointer}
#intro .ib{position:absolute;inset:0;background:#070608}
#intro #ringsSvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#intro .ring{fill:none;stroke:var(--ice);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1}
#intro .bloom{position:absolute;border-radius:50%;translate:-50% -50%;background:radial-gradient(circle,rgba(235,245,255,.9) 0 12%,rgba(190,222,255,.42) 32%,rgba(140,190,255,.1) 55%,transparent 72%);mix-blend-mode:screen;opacity:0}
#intro .tube{position:absolute;left:50%;top:9%;width:min(46vw,420px);height:3px;translate:-50% 0;border-radius:3px;background:#EAF4FF;box-shadow:0 0 18px 4px rgba(220,238,255,.55),0 0 80px 20px rgba(220,238,255,.18);opacity:0}
#intro .iw{position:absolute;left:0;right:0;top:64%;display:grid;justify-items:center;gap:10px;text-align:center}
#intro #iwName{font:900 clamp(40px,9vw,120px)/1 var(--display);font-stretch:125%;letter-spacing:.06em;color:var(--paper);display:flex}
#intro #iwName span{display:inline-block;opacity:0}
#intro .idd{display:inline-flex;align-items:center;gap:12px;margin-top:22px;padding:10px 18px 10px 14px;border-radius:999px;border:1px solid rgba(228,87,31,.35);background:rgba(228,87,31,.07);opacity:0;color:var(--paper);font:500 16px/1 var(--body);letter-spacing:.02em}
#intro .idd svg{height:30px;width:auto;flex:none;filter:drop-shadow(0 0 6px rgba(228,87,31,.7))}
#intro .idd strong{font-weight:800;color:#FF8A5C;text-shadow:0 0 18px rgba(228,87,31,.8)}
@media (prefers-reduced-motion:no-preference){#intro .idd.lit{animation:ddglow 1.4s ease-in-out infinite alternate}}
@keyframes ddglow{from{box-shadow:0 0 0 0 rgba(228,87,31,0),inset 0 0 0 0 rgba(228,87,31,0)}to{box-shadow:0 0 38px 4px rgba(228,87,31,.38),inset 0 0 14px rgba(228,87,31,.25)}}
#intro .iw small{font:600 11px/1 var(--body);letter-spacing:.32em;text-transform:uppercase;color:var(--mute);opacity:0;margin-right:-.32em}
#intro .isk{position:absolute;left:0;right:0;bottom:calc(22px + env(safe-area-inset-bottom,0px));text-align:center;font:500 12px/1 var(--body);letter-spacing:.14em;color:var(--mute);opacity:.75}
html.intro-on{overflow:hidden}
html.seen #intro,html:not(.js) #intro{display:none}

/* Reveal */
html.io .rv{opacity:0;translate:0 26px;transition:opacity .9s var(--in),translate 1s var(--in)}
html.io .rv.in{opacity:1;translate:0 0}
html.io .cur{clip-path:inset(100% 0 0 0);transition:clip-path 1.2s var(--curtain)}
html.io .cur .kb{scale:1.18;transition:scale 1.6s var(--in)}
html.io .cur.in{clip-path:inset(0 0 0 0)}
html.io .cur.in .kb{scale:1}

/* ---------- Mobil ---------- */
@media (max-width:1000px){
  .links,.top .btn{display:none}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));gap:2px;background:rgba(14,12,15,.9);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border-top:1px solid var(--line)}
  .tabbar a{flex:1;min-width:0;display:grid;justify-items:center;gap:4px;padding:8px 2px 7px;border-radius:14px;text-decoration:none;font:600 11px/1 var(--body);color:var(--mute);min-height:54px;touch-action:manipulation}
  .tabbar svg{width:22px;height:22px}
  .tabbar a[aria-current="page"]{color:var(--paper);background:rgba(242,236,234,.07)}
  .tabbar a[aria-current="page"] svg{color:var(--calypso-hi)}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}
  .wall,.gal[data-v="stena"] .gal-head{height:calc(100svh - 68px - env(safe-area-inset-bottom,0px))}
  .lb{z-index:130}
  .ch-intro{grid-template-columns:minmax(0,1fr)}
  .f-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .world a{grid-template-columns:minmax(0,1fr) 46px;gap:6px 16px;padding:22px 0}
  .world .no{grid-column:1}
  .world h3{grid-column:1;font-size:clamp(2.4rem,13vw,3.6rem)}
  .world .txt{grid-column:1}
  .world .circ{grid-column:2;grid-row:1/4;width:46px;height:46px}
  .seq{grid-template-columns:minmax(0,1fr);gap:28px}
  .fig.a,.fig.b,.fig.c,.fig.d{grid-column:1;padding-bottom:0}
  .fig.b,.fig.c{width:78%;justify-self:end}
  .tile{--h:150px}
  .hero{height:calc(100svh - 68px - env(safe-area-inset-bottom,0px));min-height:560px}
  .hero .eyebrow,.hero .lead{display:none}
  .hero h1{font-size:clamp(3rem,17vw,6rem)}
  .ch-title h1{font-size:clamp(2.8rem,14.5vw,6rem)}
  .facts{gap:6px 16px;font-size:11.5px;letter-spacing:.1em}
  .actions{gap:10px 14px}
  .finale h2{font-size:clamp(2.1rem,10vw,3.2rem)}
  .next b{font-size:clamp(2.6rem,12vw,4rem)}
  .hero-copy{gap:16px;padding-bottom:22px}
  .hero .shade{background:linear-gradient(180deg,rgba(11,10,12,.5) 0%,rgba(11,10,12,0) 20%,rgba(11,10,12,0) 58%,rgba(11,10,12,.9) 80%,var(--night) 100%)}
  .hero-row{gap:20px}
  .stall{top:calc(70px + env(safe-area-inset-top,0px))}
  .ch-meta div{grid-template-columns:96px minmax(0,1fr)}
  .film-nav{display:none}
  .shot{width:72vw}
  .driveby{height:auto;aspect-ratio:1.62}
  .dv-stage{left:calc(50% + 4.5%)}
  .driveby::after{background:linear-gradient(180deg,var(--night),rgba(11,10,12,0) 12%,rgba(11,10,12,0) 82%,var(--night))}
  .finale-copy{margin-top:18px}
}
@media (orientation:portrait){
  .glows.land{display:none}
  .glows.port{display:block}
  .ch-hero .stage.pp{--ar:.667}
}
@media (prefers-reduced-motion:reduce){
  html.io .rv,html.io .cur,html.io .cur .kb{transition:opacity .4s!important;translate:none!important;clip-path:none!important;scale:none!important}
  .world h3,.btn,.btn .arr{transition:none}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:.01s!important}
}

@view-transition{navigation:auto}
