:root{--i:#080b0a;--p:#eeece3;--g:#4df2a7;--m:#aab4aa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--i);color:var(--p);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}header{position:absolute;z-index:5;inset:0 0 auto;height:76px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff22;background:linear-gradient(#050706e8,transparent)}.brand{font:800 20px/.78 Cinzel,serif;letter-spacing:-1px;display:grid;width:max-content}.brand span,em{color:var(--g);font-style:normal}.brand small{font:600 7px/1.4 Inter,sans-serif;letter-spacing:3px;justify-self:center}nav{display:flex;gap:28px;text-transform:uppercase;font-size:10px;letter-spacing:1.2px}.controls{display:flex;gap:10px;align-items:center}select{border:1px solid #668070;background:#09120dd9;color:white;border-radius:20px;padding:8px;font:700 10px Inter}.outline{border:1px solid #75eab7;border-radius:20px;padding:10px 14px;text-transform:uppercase;font-size:10px;font-weight:700}.hero{min-height:760px;height:min(900px,100vh);position:relative;overflow:hidden;background:radial-gradient(circle at 75% 40%,#164d38,transparent 34%),linear-gradient(118deg,#07120d,#111a14 55%,#080c0a)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07100ced,#07100ca0 33%,transparent 70%),linear-gradient(0deg,#080b0a,transparent 35%)}.glow{position:absolute;width:45vw;height:45vw;right:-6vw;top:8vw;background:#2edb8b33;filter:blur(100px);border-radius:50%}.hero-img{position:absolute;z-index:1;right:7vw;bottom:-10px;height:92%;max-width:52%;object-fit:contain;object-position:bottom;filter:drop-shadow(-22px 20px 30px #000b)}.hero-copy{position:absolute;z-index:2;left:8vw;top:25%;max-width:610px}.eyebrow{color:var(--g);font-size:10px;font-weight:700;letter-spacing:2.2px;margin:0 0 17px}h1,h2{font:600 clamp(42px,5.5vw,80px)/1 Cinzel,serif;letter-spacing:-3px;margin:0}.lead{max-width:440px;color:#ccd2ca;line-height:1.75;font-size:14px;margin:24px 0 31px}.button,.ghost{display:inline-block;padding:15px 18px;text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:800}.button{background:var(--g);color:#082218}.ghost{border:1px solid #d6d9d2;margin-left:8px}.intro{padding:125px 8vw 60px;display:grid;grid-template-columns:1.25fr .65fr;gap:60px}.intro .eyebrow{grid-column:1/-1;margin-bottom:-35px}.intro h2{font-size:clamp(37px,4.3vw,63px)}.intro>p:last-child{color:var(--m);align-self:end;line-height:1.8;font-size:14px;margin:0}.stage{margin:0 5vw 135px;display:grid;grid-template-columns:1.1fr .66fr;background:#101714;border:1px solid #2d3c33}.feature{min-height:650px;position:relative;overflow:hidden;background:#0d110f}.feature img{width:100%;height:100%;object-fit:cover;object-position:center 23%;transition:opacity .2s}.feature b{position:absolute;top:23px;left:25px;font:600 18px Cinzel,serif}.info{padding:65px 48px;align-self:center}.info h3{font:600 clamp(28px,3vw,43px)/1.1 Cinzel,serif;margin:0 0 20px}.info>p:not(.eyebrow){color:#b1b9b1;line-height:1.75;font-size:14px;margin:0 0 28px}.under{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.1px;border-bottom:1px solid #617166;padding-bottom:8px}.cards{grid-column:1/-1;display:flex;gap:1px;background:#2d3c33;overflow-x:auto}.card{padding:0;border:0;background:#151e19;color:#dfe2dc;flex:1 0 145px;text-align:left;cursor:pointer;position:relative;min-height:154px;overflow:hidden}.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 17%;opacity:.37;transition:.25s}.card span{position:absolute;inset:auto 13px 13px;font-size:9px;color:var(--g);letter-spacing:1px}.card b{display:block;color:white;font:600 13px Cinzel,serif;letter-spacing:0;margin-top:4px}.card:hover img,.card.active img{opacity:.84;transform:scale(1.06)}.card.active{box-shadow:inset 0 -3px var(--g)}.terrain{display:grid;grid-template-columns:.8fr 1.2fr;background:#e9e7dc;color:#171a16}.terrain>div{padding:110px 8vw;align-self:center}.terrain .eyebrow{color:#168b59}.terrain h2{font-size:clamp(37px,4vw,61px)}.terrain p:not(.eyebrow){color:#5a615a;line-height:1.8;font-size:14px;margin:24px 0 30px}.terrain img{width:100%;height:580px;object-fit:cover}.collection{padding:115px 8vw;display:grid;grid-template-columns:.75fr 1fr;gap:9vw;align-items:center;background:radial-gradient(circle at 15% 50%,#194834,#0b0d0a 55%)}.collection>img{display:block;width:100%;height:auto;max-width:520px;aspect-ratio:1706/922;object-fit:contain}.collection h2{font-size:clamp(37px,4vw,60px)}.collection div>p:not(.eyebrow){max-width:470px;color:#adb6ac;font-size:14px;line-height:1.8;margin:22px 0 28px}footer{padding:36px 8vw;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #2f3931;color:#8f978f;font-size:11px}footer>a:last-child{color:var(--g);font-weight:700;letter-spacing:1px;text-transform:uppercase}@media(max-width:800px){header{height:64px;padding:0 6vw}nav,.outline{display:none}.hero{min-height:720px}.hero-img{right:-17vw;max-width:90%;height:67%;bottom:0}.hero-copy{left:7vw;right:7vw;top:18%}h1{font-size:49px}.intro{display:block;padding:85px 7vw 38px}.intro .eyebrow{margin-bottom:15px}.intro>p:last-child{margin-top:25px}.stage{display:block;margin:0 0 80px;border-left:0;border-right:0}.feature{min-height:500px}.info{padding:43px 7vw}.terrain{display:block}.terrain>div{padding:75px 7vw}.terrain img{height:340px}.collection{display:block;padding:70px 7vw}.collection>img{margin-bottom:45px}footer{padding:30px 7vw;display:grid;gap:16px;grid-template-columns:1fr 1fr}footer p{grid-column:1/-1;order:3;margin:0}}

.gallery-pause{grid-column:1/-1;justify-self:start;margin:12px 0;cursor:pointer;background:transparent;color:var(--p)}.film-showcase{max-width:1200px;margin:80px auto;padding:40px 5vw;display:grid;grid-template-columns:1fr minmax(240px,360px);gap:64px;align-items:center;border-top:1px solid #ffffff22}.film-showcase h2{font-family:Cinzel,serif;font-size:clamp(30px,4vw,52px);line-height:1.15}.film-showcase p:not(.eyebrow){color:var(--m);line-height:1.7}.film-showcase video{display:block;width:100%;max-height:640px;aspect-ratio:9/16;object-fit:contain;background:#080b0a;border:1px solid #4df2a744;border-radius:12px}@media(max-width:700px){.film-showcase{grid-template-columns:1fr;gap:28px;margin:35px auto}.film-showcase video{max-width:360px;justify-self:center}}

#runeTrail{position:fixed;inset:0;pointer-events:none;z-index:50}.tavern-music{margin:50px 5vw 80px;padding:35px;display:grid;grid-template-columns:1fr 320px;gap:35px;align-items:center;background:#101714;border:1px solid #2d3c33}.tavern-music h2{font-family:Cinzel,serif;font-size:32px}.tavern-music p{color:var(--m);line-height:1.6}.tavern-music iframe{width:320px;height:200px;border:0}.music-toggle{position:fixed;right:20px;bottom:20px;z-index:40;border:1px solid #4df2a76b;background:#101714ed;color:#eeece3;border-radius:30px;padding:12px 20px;font:600 13px Inter,Arial,sans-serif;cursor:pointer;box-shadow:0 5px 25px #0007}.music-toggle:hover,.music-toggle:focus-visible{border-color:#4df2a7;color:#4df2a7}@media(max-width:650px){.tavern-music{grid-template-columns:1fr;padding:22px;margin:30px 4vw 90px}.tavern-music iframe{width:100%;min-width:200px;height:200px}.music-toggle{right:12px;bottom:12px}}@media(prefers-reduced-motion:reduce){#runeTrail{display:none}}

.music-toggle.waiting-for-sound{animation:musicPulse 2.2s ease-in-out infinite}@keyframes musicPulse{50%{border-color:#4df2a7;box-shadow:0 5px 30px #4df2a744}}@media(prefers-reduced-motion:reduce){.music-toggle.waiting-for-sound{animation:none}}

/* Keep the character slideshow compact enough to scan in one viewport. */
@media(min-width:801px){.stage{width:min(90%,1500px);margin-left:auto;margin-right:auto;grid-template-columns:minmax(0,1.2fr) minmax(300px,.6fr);grid-template-rows:clamp(430px,55vh,590px) auto auto}.feature{min-height:0;height:100%}.feature img{object-fit:contain;background:#0d110f}.info{padding:48px 42px}.card{min-height:112px}}
@media(max-width:800px){.stage{width:100%}.feature{height:min(62vh,460px);min-height:350px}.feature img{object-fit:contain;background:#0d110f}.card{min-height:112px}}
