:root{
  --bg:#05040b; --bg2:#0d0b18; --panel:#141026; --line:#2a2440;
  --text:#ece9f6; --muted:#a49cbf;
  --slime:#3dff8e; --slime2:#1fd06f; --cyan:#2ce8f4; --gold:#e0ac4c; --red:#ff4b5c; --mag:#c04dff;
  --r:16px;
  --f-head:'Orbitron',sans-serif; --f-body:'Exo 2',sans-serif; --f-mono:'Share Tech Mono',monospace; --f-slime:'Creepster',cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.65 var(--f-body);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--cyan);text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
.mono{font-family:var(--f-mono);letter-spacing:.04em}
.center{text-align:center}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
code{font-family:var(--f-mono);background:#000a;border:1px solid var(--line);padding:1px 6px;border-radius:6px;color:var(--slime);font-size:.9em;word-break:break-all}

/* language switching */
html[data-lang=de] .en, html[data-lang=en] .de{display:none!important}
html[data-lang=de] .en-img, html[data-lang=en] .de-img{display:none!important}

#stars{position:fixed;inset:0;width:100%;height:100%;z-index:-1}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:20px;padding:10px 20px;
  background:linear-gradient(#05040bee,#05040b99);backdrop-filter:blur(10px);border-bottom:1px solid #ffffff10;transition:transform .3s}
.nav-logo img{height:36px;width:auto;filter:drop-shadow(0 0 8px #3dff8e55)}
.nav-links{display:flex;gap:6px;margin-left:auto}
.nav-links a{color:var(--text);padding:8px 14px;border-radius:999px;font-weight:600;font-size:.95rem;transition:.2s}
.nav-links a:hover{background:#ffffff12;color:var(--slime)}
.nav-links .nav-cta{background:var(--slime);color:#04210f}
.nav-links .nav-cta:hover{background:#7dffb5;color:#04210f}
.nav-tools{display:flex;gap:8px;align-items:center}
.lang{background:transparent;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-family:var(--f-mono);font-size:.85rem}
.lang:hover{border-color:var(--cyan);color:var(--cyan)}
.burger{display:none;background:none;border:0;width:40px;height:40px;padding:8px;flex-direction:column;justify-content:space-between}
.burger i{display:block;height:2px;background:var(--text);border-radius:2px}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;overflow:hidden;padding:100px 20px 80px}
.hero-art{position:absolute;inset:-4%;background-size:cover;background-position:center 30%;opacity:.55;transform:scale(1.05);will-change:transform;animation:drift 30s ease-in-out infinite alternate}
@keyframes drift{to{transform:scale(1.12) translate(-1.5%,-1%)}}
.hero-shade{position:absolute;inset:0;background:radial-gradient(ellipse at center,#05040b33 0%,#05040bcc 60%,var(--bg) 100%),linear-gradient(transparent 60%,var(--bg))}
.hero-inner{position:relative;max-width:980px}
.hero-kicker{color:var(--cyan);font-size:.95rem;margin:0 0 18px;text-shadow:0 0 12px #2ce8f488}
.hero-logo{width:min(720px,88vw);margin:0 auto;filter:drop-shadow(0 0 24px #3dff8e66) drop-shadow(0 6px 0 #0008);animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-10px)}}
.slime{font-family:var(--f-slime);font-weight:400;color:var(--slime);font-size:clamp(2rem,5.5vw,4rem);line-height:1.1;margin:8px 0 6px;letter-spacing:.03em;
  text-shadow:0 0 18px #3dff8e88,0 4px 0 #0a5a2c}
.hero-tag{font-size:clamp(1.1rem,2.2vw,1.45rem);font-style:italic;color:#fff;margin:0 0 30px;text-shadow:0 2px 12px #000}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;font-weight:800;font-size:1.05rem;border:0;transition:transform .15s,box-shadow .2s,background .2s}
.btn:active{transform:scale(.97)}
.btn-slime{background:var(--slime);color:#04210f;box-shadow:0 0 0 0 #3dff8e88,0 8px 30px #3dff8e44;animation:pulse 2.6s infinite}
.btn-slime:hover{background:#7dffb5;transform:translateY(-2px)}
@keyframes pulse{0%{box-shadow:0 0 0 0 #3dff8e77,0 8px 30px #3dff8e44}70%{box-shadow:0 0 0 18px #3dff8e00,0 8px 30px #3dff8e44}100%{box-shadow:0 0 0 0 #3dff8e00,0 8px 30px #3dff8e44}}
.btn-ghost{background:#ffffff10;border:1px solid #ffffff30;color:#fff;backdrop-filter:blur(4px)}
.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-2px)}
.hero-facts{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:0;margin:34px 0 0}
.hero-facts li{border:1px solid #ffffff22;background:#0008;padding:6px 14px;border-radius:999px;font-size:.85rem;color:var(--muted)}
.scroll-hint{position:absolute;bottom:22px;left:50%;translate:-50% 0;width:26px;height:42px;border:2px solid #fff6;border-radius:14px}
.scroll-hint span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;background:var(--slime);border-radius:2px;animation:sh 1.6s infinite}
@keyframes sh{to{transform:translateY(14px);opacity:0}}

/* ---------- TICKER ---------- */
.ticker{overflow:hidden;background:#0a0814;border-block:1px solid var(--line);color:var(--gold);font-size:.9rem;white-space:nowrap}
.ticker-track{display:inline-flex;gap:46px;padding:12px 0;animation:tick 60s linear infinite}
.ticker-track span::before{content:"◆ ";color:var(--red)}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- SECTIONS ---------- */
.sec{padding:110px 0;position:relative}
.eyebrow{color:var(--slime);font-size:.9rem;margin:0 0 8px;opacity:.9}
.h2{font-family:var(--f-head);font-weight:900;font-size:clamp(1.8rem,4vw,3rem);line-height:1.1;margin:0 0 18px;letter-spacing:.01em;
  background:linear-gradient(180deg,#fff 30%,#b9f5ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.h3{font-family:var(--f-head);font-size:1.4rem;margin:70px 0 10px;color:var(--cyan)}
.lead{color:var(--muted);font-size:1.15rem;max-width:720px;margin:0 auto 40px}
.music-info .lead{margin-left:0}
.hint{color:var(--muted);font-size:.85rem}
.role{color:var(--gold);font-size:.85rem;margin:0 0 10px}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

/* story */
.story-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start}
.terminal{background:#020805;border:1px solid #1f5a37;border-radius:12px;overflow:hidden;box-shadow:0 0 40px #3dff8e18,inset 0 0 60px #3dff8e08;margin:10px 0 28px}
.terminal-bar{display:flex;gap:6px;align-items:center;padding:8px 12px;background:#0b1a11;border-bottom:1px solid #1f5a37}
.terminal-bar i{width:10px;height:10px;border-radius:50%;background:#ff5f56}.terminal-bar i:nth-child(2){background:#ffbd2e}.terminal-bar i:nth-child(3){background:#27c93f}
.terminal-bar span{margin-left:auto;color:#3dff8e99;font-size:.8rem}
.terminal-body{min-height:190px;padding:18px 20px;color:var(--slime);font-size:1rem;white-space:pre-wrap;text-shadow:0 0 6px #3dff8e88;
  background:repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 3px)}
.terminal-body .cur{display:inline-block;width:9px;height:1.1em;background:var(--slime);vertical-align:text-bottom;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.story-copy p{margin:0 0 14px}
.oath{font-family:var(--f-slime);font-size:clamp(1.5rem,3vw,2.2rem);color:var(--slime);margin:24px 0 0;text-shadow:0 0 16px #3dff8e66;line-height:1.25}
.story-features{display:grid;gap:16px}
.feat{display:flex;gap:16px;align-items:flex-start;background:linear-gradient(135deg,#17122b,#0e0b1b);border:1px solid var(--line);border-radius:var(--r);padding:20px;transition:border-color .3s,transform .3s}
.feat:hover{border-color:#3dff8e66;transform:translateX(6px)}
.feat b{font-size:1.9rem;line-height:1}
.feat h3{margin:0 0 4px;font-family:var(--f-head);font-size:1rem;color:#fff}
.feat p{margin:0;color:var(--muted);font-size:.97rem}

/* quote machine */
.sec-quote{background:radial-gradient(ellipse at 20% 50%,#3a0d1a55,transparent 60%),radial-gradient(ellipse at 80% 50%,#0d2e3a55,transparent 60%)}
.quote-grid{display:grid;grid-template-columns:340px 1fr;gap:60px;align-items:center}
.quote-portrait{position:relative;border-radius:24px;overflow:hidden;border:1px solid #ff4b5c55;box-shadow:0 20px 60px #ff4b5c22}
.quote-portrait img{aspect-ratio:3/4;object-fit:cover;object-position:top;width:100%}
.quote-badge{position:absolute;left:12px;bottom:12px;background:#000c;border:1px solid var(--red);color:var(--red);padding:4px 10px;border-radius:6px;font-size:.8rem}
.bubble{position:relative;background:#fff;color:#16121f;border-radius:22px;padding:26px 28px 24px;min-height:150px;font-size:1.2rem;line-height:1.5;font-weight:600;
  box-shadow:0 10px 40px #0008;margin:10px 0 22px}
.bubble::before{content:"";position:absolute;left:-16px;top:40px;border:16px solid transparent;border-right-color:#fff;border-left:0}
.bubble p{margin:0;transition:opacity .25s}
.bubble-obj{display:inline-block;background:#16121f;color:var(--slime);font-size:.75rem;padding:3px 10px;border-radius:999px;margin-bottom:10px}
.quote-btns{display:flex;gap:12px;flex-wrap:wrap}

/* crew */
.crew-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:linear-gradient(160deg,#1a1430,#0c0a16);border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:transform .2s,border-color .3s,box-shadow .3s;transform-style:preserve-3d}
.card:hover{border-color:#2ce8f466;box-shadow:0 20px 50px #2ce8f418}
.crew-img{position:relative;aspect-ratio:4/4.2;overflow:hidden;background:radial-gradient(circle at 50% 30%,#2a2050,#0a0816)}
.crew-img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .6s}
.card:hover .crew-img img{transform:scale(1.05)}
.stamp{position:absolute;top:18px;right:-6px;transform:rotate(12deg);font-family:var(--f-head);font-weight:900;font-size:1rem;color:var(--red);border:3px solid var(--red);padding:3px 12px;border-radius:6px;background:#0009;letter-spacing:.1em;mix-blend-mode:screen}
.stamp.ok{color:var(--slime);border-color:var(--slime)}
.crew-body{padding:20px 22px 24px}
.crew-body h3{margin:0 0 2px;font-family:var(--f-head);font-size:1.15rem}
.crew-body p:last-child{margin:0;color:var(--muted);font-size:.95rem}
.crew-rick .crew-img{display:grid;place-items:center}
.rick-eye{width:58%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 50%,#fff 0 6%,#2ce8f4 7% 22%,#0b4b66 23% 40%,#081624 41% 60%,#3b4757 61% 66%,#141a22 67%);
  box-shadow:0 0 50px #2ce8f455,inset 0 0 30px #000;position:relative;transition:transform .1s}
.rick-eye::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffff55,transparent 30%)}
.finger-card{display:flex;gap:24px;align-items:center;margin:30px auto 0;max-width:820px;padding:24px 28px;border:1px dashed #e0ac4c88;border-radius:20px;background:#e0ac4c0d}
.finger{font-size:4rem;animation:wag 2.4s ease-in-out infinite;transform-origin:50% 90%}
@keyframes wag{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
.finger-card h3{margin:0;font-family:var(--f-head)}
.finger-card p:last-child{margin:0;color:var(--muted)}

/* universe */
.sec-universe{background:linear-gradient(transparent,#0b0918 15%,#0b0918 85%,transparent)}
.timeline{list-style:none;padding:0;margin:20px auto 60px;max-width:820px;position:relative}
.timeline::before{content:"";position:absolute;left:84px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--cyan),var(--slime))}
.timeline li{display:grid;grid-template-columns:70px 1fr;gap:34px;padding:12px 0;position:relative;color:var(--muted)}
.timeline li::before{content:"";position:absolute;left:79px;top:20px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--cyan)}
.timeline li.now::before{background:var(--slime);border-color:var(--slime);box-shadow:0 0 14px var(--slime)}
.timeline b{font-family:var(--f-head);color:var(--cyan);text-align:right}
.timeline li.now{color:#fff}.timeline li.now b{color:var(--slime)}
.ship{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;background:#0006;border:1px solid var(--line);border-radius:24px;padding:28px}
.ship-img img{border-radius:16px;width:100%}
.ship-specs h3{font-family:var(--f-head);font-size:1.8rem;margin:0}
.specs{margin:0;display:grid;gap:14px}
.specs dt{font-family:var(--f-mono);color:var(--slime);font-size:1rem}
.specs dd{margin:2px 0 0;color:var(--muted);font-size:.97rem}
.scan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
@media (max-width:820px){.scan-grid{grid-template-columns:repeat(2,1fr)}}
.scan{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/10;border:1px solid var(--line);background:#000;padding:0;text-align:left}
.scan img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .4s;filter:saturate(.9)}
.scan::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,#000e)}
.scan .scan-line{position:absolute;left:0;right:0;height:2px;background:var(--slime);box-shadow:0 0 12px var(--slime);top:-4px;opacity:0;z-index:2}
.scan:hover .scan-line{animation:scanl 1.2s linear infinite;opacity:1}
@keyframes scanl{to{top:100%}}
.scan:hover img{transform:scale(1.08);filter:saturate(1.2)}
.scan-cap{position:absolute;left:14px;right:14px;bottom:12px;z-index:3}
.scan-cap b{display:block;font-family:var(--f-head);font-size:1rem;color:#fff}
.scan-cap span{font-family:var(--f-mono);font-size:.75rem;color:var(--slime)}
.species-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:20px}
.sp{border:0;padding:0;background:#000;border-radius:14px;overflow:hidden;position:relative;aspect-ratio:3/4}
.sp img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.sp:hover img{transform:scale(1.08)}
.sp span{position:absolute;left:0;right:0;bottom:0;padding:24px 10px 8px;background:linear-gradient(transparent,#000d);font-size:.8rem;font-family:var(--f-mono);color:#fff;text-align:left}

/* gallery */
.shots{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:12px}
.shot{padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#000}
.shot.big{grid-column:span 2;grid-row:span 2}
.shot.wide{grid-column:span 2}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.shot:hover img{transform:scale(1.06)}
.vids{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.vid{margin:0;background:#000;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.vid video{width:100%;aspect-ratio:16/10;object-fit:cover;background:#000;display:block}
.vid figcaption{padding:10px 14px;font-family:var(--f-mono);font-size:.85rem;color:var(--muted)}

/* music */
.sec-music{background:radial-gradient(ellipse at 70% 40%,#3a1a6a55,transparent 60%)}
.music-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.player{background:linear-gradient(160deg,#1d1638,#0e0b1c);border:1px solid #c04dff55;border-radius:22px;padding:24px;box-shadow:0 20px 60px #c04dff22}
.player-now{display:flex;gap:18px;align-items:center}
.player-title{font-family:var(--f-head);font-size:1.15rem}
.player-scene{color:var(--mag);font-size:.85rem}
.eq{display:flex;gap:4px;align-items:flex-end;height:46px;width:58px;flex:none}
.eq i{flex:1;background:linear-gradient(var(--slime),var(--cyan));border-radius:2px;height:15%;transition:height .2s}
.player.playing .eq i{animation:eq .9s ease-in-out infinite alternate}
.eq i:nth-child(2){animation-delay:-.3s!important}.eq i:nth-child(3){animation-delay:-.6s!important}.eq i:nth-child(4){animation-delay:-.15s!important}.eq i:nth-child(5){animation-delay:-.45s!important}.eq i:nth-child(6){animation-delay:-.75s!important}.eq i:nth-child(7){animation-delay:-.2s!important}
@keyframes eq{0%{height:12%}100%{height:100%}}
.player-bar{height:8px;background:#ffffff14;border-radius:999px;margin:22px 0 6px;cursor:pointer;overflow:hidden}
.player-fill{height:100%;width:0;background:linear-gradient(90deg,var(--mag),var(--cyan),var(--slime))}
.player-time{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem}
.player-ctrl{display:flex;gap:12px;align-items:center;margin-top:14px}
.player-ctrl button{background:#ffffff10;border:1px solid #ffffff22;border-radius:50%;width:44px;height:44px;font-size:1rem}
.player-ctrl button:hover{border-color:var(--cyan)}
.player-ctrl .play{width:58px;height:58px;background:var(--slime);color:#04210f;border:0;font-size:1.3rem}
.player-ctrl input{flex:1;accent-color:var(--slime);min-width:60px}
.tracks{list-style:none;padding:0;margin:0;counter-reset:t}
.tracks li{counter-increment:t;display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:14px;cursor:pointer;border:1px solid transparent;transition:.2s}
.tracks li::before{content:counter(t,decimal-leading-zero);font-family:var(--f-mono);color:var(--muted);width:24px}
.tracks li:hover{background:#ffffff08;border-color:var(--line)}
.tracks li.on{background:#3dff8e12;border-color:#3dff8e55}
.tracks li.on::before{content:"▶";color:var(--slime)}
.tracks .t-name{font-weight:600}
.tracks .t-scene{font-family:var(--f-mono);font-size:.78rem;color:var(--muted)}
.tracks .t-dur{margin-left:auto;font-family:var(--f-mono);font-size:.85rem;color:var(--muted)}
.tracks a{font-size:.8rem;color:var(--muted);padding:4px 8px;border-radius:6px}
.tracks a:hover{color:var(--slime);background:#ffffff10}

/* download */
.sec-dl{background:radial-gradient(ellipse at 50% 0%,#0d3a2455,transparent 60%)}
.dl-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:820px;margin:0 auto 14px}
.dl-card{display:flex;align-items:center;gap:18px;padding:24px 26px;border-radius:20px;background:linear-gradient(135deg,#123522,#0b1a13);border:1px solid #3dff8e55;color:#fff;transition:.25s;position:relative;overflow:hidden}
.dl-card::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff18 50%,transparent 70%);transform:translateX(-100%);transition:transform .7s}
.dl-card:hover::after{transform:translateX(100%)}
.dl-card:hover{transform:translateY(-4px);box-shadow:0 18px 50px #3dff8e33;border-color:var(--slime)}
.dl-card.rec{border-color:var(--slime);box-shadow:0 0 0 2px #3dff8e44}
.dl-card svg{color:var(--slime);flex:none}
.dl-card b{display:block;font-family:var(--f-head);font-size:1.3rem}
.dl-card .mono{font-size:.8rem;color:var(--muted)}
.dl-go{margin-left:auto;font-size:1.8rem;color:var(--slime)}
.dl-card .rec-tag{position:absolute;top:10px;right:14px;font-family:var(--f-mono);font-size:.7rem;color:var(--slime)}
.install{max-width:820px;margin:40px auto 0;display:grid;gap:12px}
details{background:#ffffff06;border:1px solid var(--line);border-radius:14px;padding:4px 20px}
summary{cursor:pointer;padding:12px 0;font-weight:700;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";float:right;color:var(--slime);font-family:var(--f-mono)}
details[open] summary::after{content:"–"}
details ol,details ul{margin:0 0 16px;color:var(--muted)}
details li{margin:6px 0}
.docs{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.doc{border:1px solid var(--line);padding:12px 18px;border-radius:12px;color:var(--text);background:#0008}
.doc:hover{border-color:var(--cyan)}
.doc span{color:var(--muted);font-size:.78rem;margin-left:6px}

/* making of */
.making{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}
.making p{color:var(--muted)}
.credits{height:430px;overflow:hidden;border-radius:20px;border:1px solid var(--line);background:#000;position:relative;
  -webkit-mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent)}
.credits-roll{text-align:center;padding:0 24px;animation:roll 32s linear infinite}
.credits:hover .credits-roll{animation-play-state:paused}
@keyframes roll{from{transform:translateY(430px)}to{transform:translateY(-100%)}}
.credits h4{font-family:var(--f-slime);color:var(--slime);font-size:2.2rem;margin:20px 0;font-weight:400}
.credits p{margin:0 0 4px}
.credits .ct{font-family:var(--f-mono);color:var(--gold);font-size:.8rem;margin-top:22px;text-transform:uppercase}

.teaser{max-width:1100px;margin:0 auto 80px;padding:0 20px}
.teaser img{border-radius:20px;border:1px solid var(--line);box-shadow:0 20px 80px #c04dff22}

.foot{border-top:1px solid var(--line);padding:40px 0;background:#03020a}
.foot-in{display:flex;flex-wrap:wrap;align-items:center;gap:20px;justify-content:space-between}
.foot-logo{height:40px;width:auto}
.foot-links{display:flex;gap:18px}
.foot .small{width:100%;color:var(--muted);font-size:.8rem;margin:0}

/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:#000e;backdrop-filter:blur(6px);display:grid;place-items:center;padding:50px 60px}
.lb[hidden]{display:none}
.lb-stage{max-width:100%;max-height:100%;display:grid;place-items:center;overflow:auto}
.lb-stage img{max-height:calc(100vh - 110px);width:auto;border-radius:10px}
.lb-stage img.tall{max-height:none;max-width:min(900px,100%);height:auto}
.lb-stage iframe{width:min(1100px,90vw);aspect-ratio:16/9;border:0;border-radius:12px}
.lb-x{position:absolute;top:14px;right:18px;background:none;border:0;font-size:1.8rem;color:#fff}
.lb-nav{position:absolute;top:50%;translate:0 -50%;background:#ffffff14;border:0;width:48px;height:48px;border-radius:50%;font-size:2rem;color:#fff;line-height:1}
.lb-prev{left:10px}.lb-next{right:10px}
.lb-cap{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:var(--muted);font-size:.85rem}
.lb.single .lb-nav{display:none}

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  .story-grid,.quote-grid,.music-grid,.making,.ship{grid-template-columns:1fr}
  .quote-portrait{max-width:320px;margin:0 auto}
  .bubble::before{display:none}
  .crew-grid{grid-template-columns:repeat(2,1fr)}
  .vids{grid-template-columns:repeat(2,1fr)}
  .shots{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  .burger{display:flex}
  .nav-tools{margin-left:auto}
  .nav-links{position:fixed;top:60px;left:0;right:0;flex-direction:column;background:#05040bf5;padding:16px;border-bottom:1px solid var(--line);display:none}
  .nav-links.open{display:flex}
}
@media (max-width:600px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  .sec{padding:80px 0}
  .crew-grid,.vids,.dl-grid{grid-template-columns:1fr}
  .shots{grid-auto-rows:130px}
  .finger-card{flex-direction:column;text-align:center}
  .timeline::before{left:62px}
  .timeline li{grid-template-columns:44px 1fr;gap:36px}
  .timeline li::before{left:57px}
  .timeline b{font-size:.85rem;padding-top:3px}
  .lb{padding:50px 8px}
  .lb-nav{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
