/* 603 INTERACTIVE — EDITION II / CINEMATIC DESIGN SYSTEM
   Non-destructive presentation layer. Source data and editor stay unchanged. */
:root{--bg:#030810;--panel:#07111d;--text:#f6f8fe;--muted:#9eaec0;--line:rgba(170,200,229,.16);--blue:#81d5ff;--silver:#dde8f4;--width:1370px;--accent:#e6c49d;}
body{background:#030810;background-image:radial-gradient(ellipse 90vw 75vw at 50% -22%,#12344a48,transparent 70%);letter-spacing:.002em;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.63' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");}
.wrap{width:min(var(--width),calc(100% - 100px))}.scroll-progress{position:fixed;height:2px;left:0;top:0;width:0;z-index:100;background:linear-gradient(90deg,#3889c5,#8eeaff,#ffffff);box-shadow:0 0 16px #5fc8fe7d;pointer-events:none}
.header{background:rgba(2,8,16,.84);backdrop-filter:blur(20px) saturate(150%);border-bottom:1px solid #90b8d61e;transition:background .25s,box-shadow .25s}
body.scrolled .header{background:rgba(3,10,19,.95);box-shadow:0 16px 40px #0005}
.nav{height:90px}.brand{gap:12px;text-transform:uppercase}.brand img{width:54px;height:54px;border-radius:2px;filter:drop-shadow(0 2px 10px #2880b648)}.brand .brand-name{font-size:14px;letter-spacing:.115em;font-weight:850}.brand-name>span{display:inline-block;color:#94a9b9;margin-left:3px;font-weight:420;letter-spacing:.115em}.navlinks{gap:38px;text-transform:uppercase;letter-spacing:.16em;font-weight:750;font-size:10px;color:#b2c1d0}.navlinks a{position:relative;transition:color .2s}.navlinks a:hover{color:#f7fcff}.navlinks a[aria-current=page]:after{width:4px;height:4px;border-radius:50%;background:#70d5ff;margin:8px auto -12px}.nav-contact{border:1px solid #88c4ef6b;padding:13px 19px;color:#eaf7ff!important;background:linear-gradient(115deg,#8bdcff09,#ffffff05);transition:background .2s,border-color .2s}.nav-contact:hover{background:#5cbfff22;border-color:#96e4ff}
.eyebrow{font-size:10px;letter-spacing:.24em;color:#8dcff0;font-weight:760}.eyebrow:before{width:32px;background:linear-gradient(90deg,#4cb8f6,#addffd)}
h1,h2,h3{font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;letter-spacing:-.055em}h2{font-weight:790}h2 em{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.066em;color:#add5eb;font-weight:400;font-style:italic;text-transform:none}
p{color:#aab9c9}.label{letter-spacing:.2em;color:#afc3d1;font-weight:700}
.button{font-size:11px;font-weight:790;text-transform:uppercase;letter-spacing:.14em;border-color:#7899b873;padding:17px 25px;gap:35px;position:relative;overflow:hidden;transition:transform .3s,border-color .3s,background .3s,box-shadow .3s}
.button.primary{background:#e5eef5;border-color:#e5eef5;color:#06121d}.button.primary:hover{background:#fff;box-shadow:0 8px 40px #87c5ee38}.button:not(.primary):hover{border-color:#87d4ff;background:#2149683d}.text-link{font-size:11px;font-weight:780;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #78add085;padding-bottom:12px;transition:letter-spacing .2s,color .2s}.text-link:hover{color:#c8ecff;letter-spacing:.17em}
.section{padding:125px 0}.section-head{gap:70px;margin-bottom:54px}.section-head h2{font-size:clamp(42px,4.7vw,72px);line-height:.99;margin-top:25px}.section-head p{max-width:360px;font-size:14px;line-height:1.95}.section-head>.text-link{margin-bottom:12px}
/* opening scene */
.hero-cinema{position:relative;isolation:isolate;min-height:calc(100svh - 90px);min-height:max(790px,calc(100svh - 90px));overflow:hidden;background:#020811;display:flex;flex-direction:column;justify-content:center}
.hero-nightscape{position:absolute;inset:-10%;z-index:-6;background-image:url('assets/approved-logo.webp');background-position:center 46%;background-size:cover;filter:blur(28px) brightness(.25) saturate(.76);transform:scale(1.10)}
.hero-nightscape:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#020811 1%,#020811cf 35%,#020811a6 70%,#020811),linear-gradient(0deg,#020811 6%,transparent 48%,#0208115c)}
.hero-aurora{position:absolute;inset:0;z-index:-5;background:radial-gradient(ellipse 40% 48% at 68% 52%,#2e91cc47,transparent 80%),radial-gradient(ellipse 80% 65% at 20% 0,#24455b35,transparent 70%),linear-gradient(0deg,#030a12,transparent 25%);animation:auroraDrift 18s ease-in-out infinite alternate}
.hero-constellations{position:absolute;inset:0;z-index:-4;opacity:.45;background-image:radial-gradient(1.4px 1.4px at 4% 13%,#c9eaff 90%,transparent),radial-gradient(1px 1px at 18% 31%,#8acaff 90%,transparent),radial-gradient(2px 2px at 30% 65%,#9edaff 90%,transparent),radial-gradient(1px 1px at 61% 18%,#e3f7ff 90%,transparent),radial-gradient(1px 1px at 78% 23%,#b2eaff 90%,transparent),radial-gradient(2px 2px at 84% 69%,#70b4e4 90%,transparent),radial-gradient(1px 1px at 95% 46%,#d5f7ff 90%,transparent)}
.hero-gridlines{position:absolute;inset:0;z-index:-3;opacity:.25;background:linear-gradient(90deg,transparent calc(50% - .5px),#8bd2fa45 50%,transparent calc(50% + .5px)),repeating-linear-gradient(0deg,transparent 0 104px,#7cd4fc0b 105px,transparent 106px)}
.hero-cinema-grid{display:grid;grid-template-columns:57% 43%;min-height:720px;align-items:center;position:relative;z-index:1;padding-top:35px;padding-bottom:120px}
.hero-copy{position:relative;z-index:3;padding:45px 0 25px}.hero-kicker{display:flex;align-items:center;gap:12px;color:#a0c0d4;font-size:10px;letter-spacing:.19em;font-weight:700;text-transform:uppercase;margin-bottom:38px;white-space:nowrap}.status-light{width:7px;height:7px;display:inline-block;border-radius:50%;background:#6debc9;box-shadow:0 0 16px #75efce88;flex-shrink:0}.kicker-divide{display:block;height:1px;width:26px;background:#81b8d27a}
.hero-copy h1{font-size:clamp(65px,6.65vw,115px);margin:0 0 32px;line-height:.86;font-weight:900;letter-spacing:-.071em;white-space:nowrap;text-shadow:0 4px 45px #0007}
.hero-title-ghost{color:#c1d9e7;display:inline-block}.hero-copy h1 em{display:inline-block;margin-top:12px;font-family:Georgia,"Times New Roman",serif;color:#96ccea;white-space:nowrap;text-transform:none;font-weight:400;font-size:.82em;line-height:1.06;letter-spacing:-.07em;text-shadow:0 8px 50px #1a679e5c}
.hero-description{font-size:15px;line-height:1.95;max-width:445px;color:#afc0cf;margin:0 0 33px;padding-left:24px;border-left:1px solid #71c4e666}
.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.premium-main-cta{min-width:235px;justify-content:space-between}.cta-arrow{font-size:17px;line-height:1}.hero-quiet-link{font-size:10px;letter-spacing:.18em;color:#d5e7f2;border-bottom:1px solid #608faf70;padding:8px 0;font-weight:720;transition:color .2s}.hero-quiet-link:hover{color:#8ddcff}
.hero-caption{font-size:9px;color:#7a9baa;letter-spacing:.15em;font-weight:720;display:flex;align-items:center;gap:15px;margin-top:86px}.micro-line{width:34px;height:1px;background:#75b5d0}
.hero-showcase{position:relative;min-height:660px;height:100%;display:grid;place-items:center;isolation:isolate;margin-left:-12%;overflow:visible}
.hero-showcase:after{content:"";position:absolute;inset:12% 5% 7% -9%;background:radial-gradient(ellipse at 50% 51%,#83c9f51f,transparent 64%);z-index:-2;filter:blur(10px)}
.hero-emblem-glow{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#60b9ff29,transparent 66%);filter:blur(30px);animation:glowBreath 8s ease-in-out infinite alternate}
.hero-approval{width:min(800px,120%);height:auto;max-width:none;filter:drop-shadow(0 14px 45px #32a8f51e);mask-image:radial-gradient(ellipse 70% 71% at center,#000 54%,transparent 100%);animation:logoFloat 12s ease-in-out infinite;position:relative;z-index:2}
.hero-orbit{position:absolute;border:1px solid #6bbce935;border-radius:50%;aspect-ratio:1;pointer-events:none;z-index:0}.orbit-outer{width:100%;max-width:780px;border-style:dashed;animation:orbitSpin 90s linear infinite}.orbit-inner{width:78%;max-width:610px;border-color:#84c9f01c;box-shadow:inset 0 0 18px #176eae0a,0 0 30px #176eae10}.orbit-outer:after{content:"";position:absolute;top:11%;left:13%;height:6px;width:6px;border-radius:50%;background:#a2e1ff;box-shadow:0 0 20px 5px #5ebaf6a3}
.showcase-corner{font-size:8px;color:#7995a8;letter-spacing:.18em;position:absolute;z-index:4;font-weight:750;white-space:nowrap}.showcase-corner.top-left{top:15%;left:5%;transform:rotate(-90deg) translate(-10%,-30%);transform-origin:left top}.showcase-corner.bottom-right{right:-3%;bottom:19%;writing-mode:vertical-rl}
.hero-bottom-bar{position:absolute;bottom:0;left:0;width:100%;z-index:3;border-top:1px solid #91c3de23;background:#04101b75;backdrop-filter:blur(14px)}.hero-bottom-bar .wrap{height:80px;display:flex;align-items:center;justify-content:space-between;color:#94a9b7;font-weight:730;font-size:9px;letter-spacing:.19em}.hero-scroll-prompt{display:flex;align-items:center;gap:13px;color:#d0e9f6}.scroll-pill{width:22px;height:35px;border-radius:14px;border:1px solid #81d5ff92;display:block;position:relative}.scroll-pill:after{content:"";position:absolute;top:7px;left:10px;width:1px;height:9px;background:#bcecff;animation:scrollDown 2s ease-in-out infinite}.index-number{color:#a5c7dc}
@keyframes glowBreath{from{transform:scale(.94);opacity:.65}to{transform:scale(1.13);opacity:1}}@keyframes logoFloat{0%,100%{transform:translateY(6px)}50%{transform:translateY(-12px)}}@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes auroraDrift{from{transform:translateX(-1%)}to{transform:translateX(2%)}}@keyframes scrollDown{0%{transform:translateY(0);opacity:1}70%{transform:translateY(9px);opacity:.15}100%{transform:translateY(0);opacity:.9}}
/* interstitial signature */
.signal-marquee{height:76px;border-block:1px solid #95bbd41f;overflow:hidden;background:#091420;display:flex;align-items:center}.marquee-inner{min-width:100%;width:max-content;display:flex;align-items:center;justify-content:space-between;gap:70px;padding:0 25px;color:#92b0c1;font-size:11px;letter-spacing:.24em;font-weight:790;white-space:nowrap;animation:marqueeSlide 34s linear infinite}.marquee-inner b{color:#619cc8;font-size:14px;font-weight:400}@keyframes marqueeSlide{to{transform:translateX(-25%)}}
/* projects */
.worlds-section{background:linear-gradient(180deg,#050b13,#07111d 38%,#040911 100%);position:relative}.premium-section-heading h2{font-weight:870;line-height:.98;max-width:850px}.worlds-section .section-head{margin-bottom:65px}.featured-index{display:flex;justify-content:space-between;color:#789caf;font-size:10px;font-weight:720;letter-spacing:.22em;padding:0 0 18px}
.feature{grid-template-columns:1.33fr .9fr;border-color:#6f95ae32;background:#0b1926;min-height:530px;box-shadow:0 34px 80px #0002;position:relative;overflow:hidden}.feature:after{position:absolute;content:"";top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,#79cffa7d,transparent);opacity:.5;pointer-events:none}.feature-art{min-height:520px;background:radial-gradient(ellipse at 55% 45%,#234b6894,#07121d 67%)}.feature-art img{object-fit:contain!important;padding:5%;width:100%;height:100%;filter:drop-shadow(0 25px 30px #0008);transition:transform .9s cubic-bezier(.2,.8,.2,1)}.feature-art:hover img{transform:scale(1.035)}.feature-body{padding:60px 60px 65px;position:relative}.feature-body:before{content:"01";font-weight:900;font-size:180px;line-height:1;letter-spacing:-.08em;color:#9bcbf70b;position:absolute;right:20px;top:20px;pointer-events:none}.feature-body h3{font-size:clamp(37px,3.4vw,54px);font-weight:850;line-height:1.02;margin:26px 0;position:relative}.feature-body p{font-size:15px;line-height:1.9;max-width:420px}.feature-body .label{margin-bottom:10px}.feature-body .text-link{margin-top:35px}.badge{border-color:#80b3c353;background:#5fa8be0b;color:#bcd6e3;font-size:9px;letter-spacing:.14em;padding:7px 11px}
.concept-label{background:#050c14df;border:1px solid #86aab733;font-size:9px;color:#bed0db;padding:7px 12px}
.game-grid{grid-template-columns:1fr 1fr;gap:26px;margin-top:27px}.premium-card{border:1px solid #85aacc29;background:#06111d;transition:transform .35s,border-color .35s,box-shadow .35s;position:relative;overflow:hidden}.premium-card:hover{transform:translateY(-6px);border-color:#72b7df80;box-shadow:0 30px 70px #0009}.premium-card>a{display:block}.card-art{aspect-ratio:1.62;background:radial-gradient(ellipse at center,#12364b 0,#06101c 75%)}.card-art img{object-fit:contain!important;padding:2%;opacity:.88;filter:contrast(1.07);transition:transform .75s ease,opacity .5s}.premium-card:hover .card-art img{opacity:1;transform:scale(1.035)}.card-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#07101a5c,transparent 55%);pointer-events:none}.card-body{padding:26px 28px 29px;border:0;align-items:center}.card-body h3{font-size:34px;font-weight:830;margin:11px 0 8px}.card-body p{font-size:12px;color:#a4b3c3}.arrow-circle{width:46px;height:46px;transition:background .2s,border-color .2s,transform .3s}.premium-card:hover .arrow-circle{border-color:#9bd7ff;background:#7bd2ff16;transform:rotate(45deg)}.section-endline{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #7fa6c332;padding:30px 0 20px;margin-top:32px;color:#7c9aab;font-size:10px;letter-spacing:.17em;font-weight:760}.section-endline a{color:#d9efff}.section-endline a:hover{color:#85d6ff}
/* editorial interstitial */
.manifesto-break{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 52% 110%,#21658a6e,transparent 52%),linear-gradient(120deg,#061321,#030a12 55%,#071e2f);border-block:1px solid #84bbd52b}.manifesto-break:after{content:"603";position:absolute;right:-2%;bottom:-28%;font-size:clamp(230px,34vw,650px);font-weight:900;line-height:1;letter-spacing:-.14em;color:#ffffff06;pointer-events:none;z-index:-1}.manifesto-light{position:absolute;top:-100px;left:46%;height:550px;width:1px;transform:rotate(31deg);background:linear-gradient(transparent,#6ebef25a,transparent);box-shadow:0 0 110px 60px #1c6aa017;z-index:-1}.manifesto-inner{padding:125px 0 115px}.manifesto-inner>p{font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-size:clamp(40px,5.2vw,82px);line-height:1.04;font-weight:850;letter-spacing:-.06em;color:#eef7ff;margin:35px 0 55px}.manifesto-inner>p em{font-family:Georgia,serif;font-weight:400;color:#a9dbfb;letter-spacing:-.067em}.manifesto-sub{display:flex;justify-content:space-between;padding-top:22px;border-top:1px solid #7fa7c732;color:#89a9bd;letter-spacing:.22em;font-size:10px;font-weight:740}
/* studio & film */
.studio-feature-section{padding:155px 0}.studio-split{grid-template-columns:1.1fr 1fr;gap:115px}.studio-visual{aspect-ratio:.94;border-color:#84b5d52e;background:#020812;box-shadow:0 30px 95px #0008}.studio-visual img{object-fit:cover!important;filter:brightness(.84);transform:scale(1.04);transition:transform 1.2s ease}.studio-visual:hover img{transform:scale(1.09)}.studio-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#020b16bb,transparent 40%);pointer-events:none}.studio-visual .coordinates{z-index:2;color:#d7ebf8}.visual-code{position:absolute;right:24px;top:24px;font-size:9px;color:#bdd3e4;letter-spacing:.14em}.visual-crosshair{position:absolute;color:#a3dcff;z-index:2;line-height:1;font-size:21px}.visual-crosshair.a{left:14px;top:13px}.visual-crosshair.b{right:14px;bottom:13px}.studio-copy h2{font-size:clamp(42px,4.6vw,70px);margin-top:30px;margin-bottom:38px;line-height:.97;font-weight:860}.studio-copy p{font-size:16px;line-height:2;max-width:500px;margin-bottom:23px}.studio-copy .text-link{margin-top:22px;display:inline-flex}
.film-section{background:linear-gradient(#050b15,#081726 65%,#04101b);padding-top:120px}.film{grid-template-columns:1.4fr .85fr;min-height:410px;border:1px solid #98bace47;box-shadow:0 30px 95px #0008;background:#05101a}.film-art{aspect-ratio:auto;min-height:410px;position:relative;isolation:isolate}.film-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,#06132280);pointer-events:none}.film-art img{width:100%;height:100%;object-fit:cover!important;opacity:.9;filter:brightness(.75);transition:transform .8s ease,filter .6s}.film-art:hover img{transform:scale(1.045);filter:brightness(.95)}.film-play{width:88px;height:88px;border:1px solid #d6f1ffbd;background:rgba(4,20,32,.8);box-shadow:0 0 0 14px #67b4e211,0 0 50px #66c4fa45;transition:transform .25s,background .25s;z-index:3}.film-art:hover .film-play{transform:translate(-50%,-50%) scale(1.1);background:#144266dd}.film-center{padding:48px;display:flex;align-items:start;flex-direction:column;justify-content:center;background:radial-gradient(circle at 95% 85%,#19547843,transparent 65%)}.film-center h2{font-weight:760;line-height:1.02;font-size:clamp(35px,3.2vw,54px);margin:18px 0 28px}.film-center p{font-size:15px;color:#b0bfce}.film-center .button{margin-top:10px}
.journal-section{background:#040b13}.journal-row{border-top:1px solid #83abc52b;grid-template-columns:155px 1fr 320px 36px;transition:background .25s,padding .25s;position:relative}.journal-row:hover{background:#12304b35;padding-left:18px}.journal-row h3{font-weight:740}.journal-row span:last-child{font-size:26px;color:#9ecfe8}
.cta{position:relative;background:radial-gradient(ellipse at 90% 70%,#24648a68,transparent 48%),linear-gradient(115deg,#102438,#07121f);padding:112px 0;border-block:1px solid #84bce736}.cta h2{font-size:clamp(40px,4vw,62px);font-weight:820}.cta .button{margin-top:7px}
/* signature footer */
.footer{background:#02070d;padding:95px 0 25px}.footer-hero{padding-bottom:45px;margin-bottom:50px;border-bottom:1px solid #6d9db72f;position:relative}.footer-hero>p{font-size:clamp(45px,6.5vw,100px);line-height:1;letter-spacing:-.055em;color:#eaf5ff;font-weight:830;margin:28px 0}.footer-hero>p em{font-family:Georgia,serif;font-weight:400;color:#98cceb}.footer-giant{position:absolute;right:10px;bottom:23px;font-size:clamp(105px,16vw,210px);line-height:.8;font-weight:900;letter-spacing:-.09em;color:#b1dafa0d;pointer-events:none}.footer-top{position:relative;z-index:2}.footer-top p{color:#95aab9;line-height:1.9}.footer-nav{gap:85px}.footer-nav strong{color:#75a4be}.footer-nav a{transition:color .2s}.footer-nav a:hover{color:#b4e6fd}.footer-bottom{padding-top:30px}
/* other pages keep clean layouts, but have same premium brand DNA */
.interior-page .page-intro{padding:122px 0 80px;position:relative}.interior-page .page-intro:after{content:"";position:absolute;top:18%;right:3%;width:280px;height:280px;border-radius:50%;border:1px solid #6bbce321;box-shadow:0 0 130px #3ca9ed0e;pointer-events:none}.interior-page .page-intro h1{font-size:clamp(55px,6.8vw,104px);font-weight:860;line-height:.95;margin:25px 0 30px}.interior-page .page-intro p{color:#a6b9c9}.interior-page .feature{min-height:410px}.interior-page .feature-art{min-height:410px}.interior-page .game-list .feature{margin-bottom:24px}.interior-page .detail-title{font-size:clamp(48px,6.6vw,98px)}.interior-page .detail-art{border:1px solid #7ca9c238;background:radial-gradient(ellipse at center,#18435a61,#05101c 78%)}.interior-page .detail-art img{object-fit:contain!important}.interior-page .facts{border-color:#8fb5ca36}.interior-page .facts dt{color:#9eb4c4}.interior-page .facts dd{color:#e1edf7}.interior-page .pillars{gap:35px}.interior-page .pillar{border-color:#799bb83d}.interior-page .pillar h3{font-weight:750}.interior-page .prose{max-width:810px}.interior-page .journal-row{grid-template-columns:160px 1fr 320px 36px}.interior-page .film-center{min-height:350px}.interior-page .contact-box{border-color:#799bb83d}
.filter{font-size:11px;font-weight:710;letter-spacing:.08em;text-transform:uppercase;transition:background .2s,border-color .2s}.filter[aria-pressed=true]{background:#1b527482;border-color:#91d7f8}.gallery-link{border-color:#7ca3c23d;background:#061523}.gallery-link img{transition:transform .35s}.gallery-link:hover img{transform:scale(1.025)}
/* Reveal animation - only applied after JS observes intersection; absent JS shows content normally */
.js-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.js-motion .reveal.in-view{opacity:1;transform:translateY(0)}.js-motion .premium-card:nth-child(2){transition-delay:.11s}
/* tablet */
@media(max-width:1160px){.wrap{width:calc(100% - 70px)}.hero-cinema-grid{grid-template-columns:54% 46%}.hero-copy h1{font-size:clamp(56px,6.5vw,86px)}.hero-showcase{margin-left:-15%}.hero-kicker{letter-spacing:.12em;font-size:9px}.studio-split{gap:65px}.feature-body{padding:35px}.feature-body h3{font-size:40px}.card-body h3{font-size:30px}.film-center{padding:30px}.film-center h2{font-size:36px}}
@media(max-width:860px){.hero-cinema{min-height:760px}.hero-cinema-grid{grid-template-columns:1fr 1fr;min-height:700px}.hero-copy h1{font-size:clamp(51px,6.5vw,64px)}.hero-description{font-size:13px;max-width:340px}.hero-showcase{min-height:550px}.hero-approval{width:120%}.hero-actions{gap:15px}.hero-kicker{white-space:normal}.hero-caption{margin-top:50px}.feature{grid-template-columns:1.2fr 1fr}.feature-body h3{font-size:35px}.film{grid-template-columns:1.1fr 1fr}.studio-split{gap:35px}.studio-copy h2{font-size:45px}.journal-row,.interior-page .journal-row{grid-template-columns:110px 1fr 200px 25px;gap:18px}}
/* mobile */
@media(max-width:760px){.wrap{width:calc(100% - 38px)}.nav{height:70px}.brand img{width:41px;height:41px}.brand .brand-name{font-size:11px;letter-spacing:.06em}.brand-name>span{letter-spacing:.06em}.navlinks{background:#04101bf7;padding:20px 22px 35px;box-shadow:0 20px 60px #000c}.navlinks a{font-size:12px;letter-spacing:.15em}.menu{background:#0a1e2d;padding:8px 12px;border-color:#7195ae5c}.hero-cinema{min-height:auto;padding:0;display:block}.hero-cinema-grid{display:flex;flex-direction:column;align-items:stretch;min-height:auto;padding-top:52px;padding-bottom:30px}.hero-copy{padding:5px 0 0}.hero-kicker{gap:10px;font-size:8px;letter-spacing:.10em;margin-bottom:30px}.kicker-divide{width:14px}.hero-copy h1{font-size:clamp(52px,13.3vw,86px);line-height:.90;margin-bottom:26px;letter-spacing:-.075em}.hero-copy h1 em{font-size:.75em;line-height:1.2;margin-top:4px}.hero-description{font-size:14px;max-width:95%;padding-left:16px;line-height:1.75}.hero-actions{gap:20px}.premium-main-cta{min-width:0}.hero-quiet-link{font-size:9px}.hero-caption{margin-top:35px;font-size:8px}.hero-showcase{min-height:385px;max-height:435px;margin:0 -19px;padding:0;overflow:hidden}.hero-approval{width:100%;max-width:510px;transform:none;animation:logoFloat 12s ease-in-out infinite}.hero-orbit.orbit-outer{width:95%;max-width:440px}.hero-orbit.orbit-inner{width:75%}.showcase-corner{display:none}.hero-bottom-bar{position:relative}.hero-bottom-bar .wrap{height:65px;font-size:8px}.hero-bottom-bar .wrap>span:nth-child(2){display:none}.hero-constellations{opacity:.25}.signal-marquee{height:55px}.marquee-inner{font-size:9px;gap:28px}.section{padding:80px 0}.section-head{margin-bottom:35px}.section-head h2{font-size:clamp(38px,9vw,55px);line-height:1.05}.section-head p{font-size:14px}.featured-index{font-size:8px}.feature{display:block;min-height:0}.feature-art{min-height:0;aspect-ratio:1.48}.feature-art img{padding:4%}.feature-body{padding:34px 27px 40px}.feature-body h3{font-size:36px}.feature-body:before{font-size:120px}.feature-body p{font-size:14px}.game-grid{grid-template-columns:1fr;gap:24px;margin-top:24px}.card-art{aspect-ratio:1.6}.card-body{padding:23px}.card-body h3{font-size:30px}.section-endline{font-size:8px}.manifesto-inner{padding:90px 0}.manifesto-inner>p{font-size:clamp(35px,8.4vw,58px);line-height:1.12;margin:30px 0 45px}.manifesto-sub{flex-wrap:wrap;gap:13px;font-size:8px}.studio-feature-section{padding:95px 0}.studio-split{display:flex;flex-direction:column;gap:40px}.studio-visual{width:100%;aspect-ratio:1.12}.studio-copy h2{font-size:clamp(42px,9vw,58px)}.studio-copy p{font-size:15px}.film-section{padding:80px 0}.film{display:flex;flex-direction:column;min-height:0}.film-art{min-height:0;aspect-ratio:16/9}.film-center{min-height:0;padding:36px 28px 44px}.film-center h2{font-size:34px}.journal-row,.interior-page .journal-row{grid-template-columns:1fr 30px;gap:18px;padding:29px 0}.journal-row h3{font-size:27px}.journal-row p{font-size:13px}.cta{padding:80px 0}.footer{padding:80px 0 25px}.footer-hero>p{font-size:clamp(45px,9.4vw,74px)}.footer-giant{font-size:125px;right:0;bottom:45px}.footer-top{gap:38px}.footer-nav{gap:70px}.interior-page .page-intro{padding:84px 0 45px}.interior-page .page-intro h1{font-size:clamp(49px,10vw,65px)}.interior-page .page-intro:after{width:110px;height:110px}.interior-page .feature-art{min-height:0}.interior-page .detail-art{aspect-ratio:1.45}.interior-page .facts{grid-template-columns:repeat(2,1fr)}.interior-page .detail-copy{display:block}.interior-page .studio-split{gap:35px}}
@media(max-width:390px){.hero-copy h1{font-size:49px}.hero-kicker{font-size:7px}.button{letter-spacing:.08em;padding:14px 16px}.hero-showcase{min-height:330px}.footer-hero>p{font-size:39px}.brand .brand-name{font-size:10px}}
@media(prefers-reduced-motion:reduce){.hero-approval,.hero-aurora,.hero-orbit,.hero-emblem-glow,.scroll-pill:after,.marquee-inner{animation:none!important}.js-motion .reveal{opacity:1;transform:none;transition:none}.premium-card:hover{transform:none}}

/* BOUNTY HUNTER / 603 INTERACTIVE - EDITORIAL FIRST LOOK
   All design imagery/atmosphere is clearly noncanonical pending original faction bible + map. */
body:has(.bh-hero){--bh-gold:#e6ae7a;--bh-white:#fff2e5;--bh-border:rgba(229,169,116,.27)}
.bh-hero{position:relative;overflow:hidden;min-height:810px;background:#030709;color:var(--bh-white);isolation:isolate}
.bh-art{position:absolute;inset:0;background:url('assets/bounty-hunter-keyart.svg') center center/cover no-repeat;z-index:-2;filter:saturate(.9)}
.bh-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#020508 3%,#03060ab3 34%,#05050724 70%),linear-gradient(0deg,#030609,transparent 30%,#03060957)}
.bh-noise{position:absolute;inset:0;z-index:-1;opacity:.5;pointer-events:none;background:radial-gradient(circle at 80% 40%,#bf734023,transparent 42%);animation:bh-amber-breath 8s ease-in-out infinite alternate}
@keyframes bh-amber-breath{from{opacity:.15}to{opacity:.68}}
.bh-hero-inner{min-height:810px;display:flex;flex-direction:column;justify-content:space-between;padding-top:46px;padding-bottom:45px}
.bh-crumb,.bh-hero-bottom{display:flex;gap:18px;align-items:center;font-size:10px;letter-spacing:.22em;font-weight:750;color:#b9a18c}
.bh-crumb a{color:#f1d6bf;text-decoration:none}.bh-crumb a:hover{color:white}
.bh-intro{margin:90px 0 100px;max-width:700px}
.bh-suptitle,.bh-small{font-size:11px;letter-spacing:.28em;color:var(--bh-gold);text-transform:uppercase;font-weight:800}
.bh-pulse{width:7px;height:7px;display:inline-block;background:#e6ae7a;border-radius:50%;box-shadow:0 0 13px #ffb476;margin-right:14px}
.bh-intro h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(112px,12.7vw,245px);line-height:.8;letter-spacing:-.055em;margin:33px 0 32px;color:#f7eee5;text-shadow:0 9px 50px #0009;font-weight:900}
.bh-intro h1 em{font-family:Georgia,serif;font-size:.78em;line-height:1.08;letter-spacing:-.07em;color:#ecb481;font-weight:400;font-style:italic}
.bh-tag{font-size:clamp(13px,1.2vw,17px);letter-spacing:.24em;color:#f0c19a;margin:0 0 25px;font-weight:750}
.bh-deck{font-size:16px;line-height:1.95;color:#d2c1b3;max-width:550px;border-left:1px solid #d3a17476;padding-left:22px}
.bh-actions,.bh-finale-actions{display:flex;align-items:center;gap:30px;margin-top:35px;flex-wrap:wrap}
.bh-button{display:inline-flex;gap:55px;align-items:center;justify-content:space-between;padding:20px 25px;background:#eac49e;color:#1b0b04;font-size:10px;font-weight:850;letter-spacing:.17em;text-decoration:none;transition:background .2s,transform .2s;min-width:250px}
.bh-button:hover{background:#fff1dc;transform:translateY(-2px)}
.bh-secondary{font-size:10px;font-weight:800;color:#efc4a3;letter-spacing:.18em;border-bottom:1px solid #b98a646e;padding:11px 0;text-decoration:none}
.bh-hero-bottom{justify-content:space-between;opacity:.85}
.bh-statement{background:#0b0e11;border-block:1px solid #c2956b29;padding:135px 0;position:relative;overflow:hidden}
.bh-statement:after{content:"BH";font-family:Impact,sans-serif;font-size:550px;position:absolute;right:-50px;top:-175px;line-height:1;color:#e0a5760a;pointer-events:none}
.bh-statement .wrap{position:relative;z-index:1}
.bh-statement h2,.bh-section-heading h2,.bh-finale h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(60px,7vw,125px);line-height:.94;letter-spacing:-.05em;color:#f2ede8;margin:22px 0 30px}
.bh-statement h2 em,.bh-section-heading h2 em,.bh-finale h2 em{font-family:Georgia,serif;font-weight:400;color:#e4b183;font-size:.87em}
.bh-statement p{font-size:16px;line-height:1.95;max-width:630px;color:#aab1b6}
.bh-section,.bh-atlas-section{background:#070c11;padding:110px 0 125px}
.bh-section-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:end;margin-bottom:62px}
.bh-section-heading h2{font-size:clamp(62px,6.5vw,112px);margin-bottom:0}
.bh-section-heading>p{font-size:15px;line-height:1.85;margin-bottom:5px;color:#a9b6bf;max-width:370px}
.bh-tabs{display:flex;border-block:1px solid var(--bh-border);gap:5px;overflow-x:auto}
.bh-tabs button{white-space:nowrap;font-size:11px;letter-spacing:.19em;font-weight:800;background:transparent;border:0;color:#8e9ca9;padding:27px 30px;cursor:pointer;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.bh-tabs button:hover,.bh-tabs button[aria-selected=true]{color:#f4c6a1;border-bottom-color:#e6ae7a}
.bh-tabs button:focus-visible{outline:2px solid #f2bf90;outline-offset:-4px}
.bh-panel{padding:40px 0 0}.bh-panel[hidden]{display:none}
.bh-pane-grid{display:grid;grid-template-columns:1.15fr .85fr;min-height:540px;background:#0e1419;border:1px solid var(--bh-border)}
.bh-pane-visual{position:relative;min-height:500px;overflow:hidden;background:#151316}
.bh-pane-visual img{width:100%;height:100%;object-fit:cover}
.bh-pane-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#070c11b8,transparent 25%)}
.bh-pane-visual>span{position:absolute;left:28px;bottom:28px;z-index:1;font-size:9px;font-weight:800;letter-spacing:.17em;color:#e9c6a6}
.bh-pane-copy{padding:65px 56px 45px;display:flex;flex-direction:column;justify-content:center}
.bh-dossier-no{font-size:10px;letter-spacing:.24em;font-weight:800;color:var(--bh-gold)}
.bh-pane-copy h3,.bh-map-pane h3{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(45px,4.1vw,75px);line-height:.97;letter-spacing:-.035em;color:#fff1e1;margin:28px 0}
.bh-pane-copy p,.bh-map-pane p{font-size:15px;line-height:1.85;color:#aebabf}
.bh-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--bh-border);margin-top:35px;padding-top:30px}
.bh-facts dt{font-size:9px;letter-spacing:.19em;color:#c69f7e;font-weight:850}.bh-facts dd{margin:8px 0 0;font-size:13px;color:#e7e0d8}
.bh-faction-visual{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;background:radial-gradient(circle at center,#9f643029,transparent 50%),repeating-linear-gradient(0deg,transparent 0 70px,#edb57e13 71px),#080d12;border-right:1px solid var(--bh-border)}
.bh-insignia{font-size:110px;color:#eab07b;text-shadow:0 0 65px #d68a45b3}.bh-scan{font-size:9px;color:#bd9068;letter-spacing:.22em}.bh-faction-visual strong{text-align:center;font-family:Impact,Arial,sans-serif;font-size:clamp(30px,3.7vw,58px);line-height:1.08;letter-spacing:.025em;color:#e8bd95}
.bh-stamp{display:inline-flex;border:1px solid #b78d5d80;padding:13px 18px;margin-top:22px;color:#d8ab86;font-size:10px;letter-spacing:.15em;font-weight:800;width:fit-content}
.bh-faction{padding:17px 0;border-bottom:1px solid var(--bh-border)}.bh-faction summary{display:flex;gap:15px;align-items:center;cursor:pointer;color:#f5d9bc}.bh-faction summary span:first-child{font-size:11px;color:#a77d55}.bh-faction summary span:last-child{margin-left:auto}.bh-faction p{padding-left:30px}
.bh-map-pane{display:grid;grid-template-columns:350px 1fr;gap:40px;align-items:center;border:1px solid var(--bh-border);padding:40px;background:#0e1419}
.bh-map-pane figure{margin:0;position:relative}.bh-map-pane figure img{width:100%;height:auto;border:1px solid var(--bh-border)}.bh-map-pane figcaption{margin-top:15px;font-size:10px;letter-spacing:.15em;color:#c5966e}
.bh-atlas-section{background:#0c1014}.bh-atlas-frame{position:relative;border:1px solid var(--bh-border);overflow:hidden;background:#070c11}.bh-atlas-frame img{display:block;width:100%;aspect-ratio:1600/850;object-fit:cover}.bh-atlas-label{position:absolute;top:30px;left:30px;padding:16px 22px;background:#070e13d9;border-left:2px solid #eab07b;display:flex;flex-direction:column;gap:9px;backdrop-filter:blur(8px)}.bh-atlas-label span{font-size:9px;letter-spacing:.21em;color:#cca582}.bh-atlas-label strong{font-size:11px;letter-spacing:.15em;color:#f4d5b8}.bh-source-label{font-size:11px;letter-spacing:.07em;color:#acb2b5;margin-top:18px}
.bh-finale{position:relative;isolation:isolate;overflow:hidden;padding:135px 0 150px;background:#0d0c0c}
.bh-finale:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#060809ee,#060809a8),url('assets/bounty-hunter-keyart.svg') center/cover;filter:saturate(.9)}
.bh-finale .wrap{position:relative}.bh-finale h2{max-width:900px}.bh-finale p{font-size:16px;line-height:1.9;max-width:650px;color:#cab9aa}
@media(max-width:1000px){.bh-hero,.bh-hero-inner{min-height:720px}.bh-intro{margin:95px 0}.bh-intro h1{font-size:clamp(105px,15vw,160px)}.bh-section-heading{grid-template-columns:1fr;gap:10px}.bh-pane-grid{grid-template-columns:1fr}.bh-pane-visual{min-height:400px;max-height:500px}.bh-pane-copy{padding:55px 40px}.bh-map-pane{grid-template-columns:1fr}}
@media(max-width:650px){.bh-hero,.bh-hero-inner{min-height:720px}.bh-art{background-position:62% center}.bh-art:after{background:linear-gradient(90deg,#020508df,#03060a72),linear-gradient(0deg,#030609,transparent 40%)}.bh-intro{margin:85px 0 60px}.bh-intro h1{font-size:clamp(82px,17.7vw,124px);margin:23px 0}.bh-suptitle{font-size:9px;line-height:1.9;letter-spacing:.13em}.bh-tag{font-size:11px;line-height:1.8;letter-spacing:.18em}.bh-deck{font-size:14px;max-width:370px}.bh-hero-bottom{font-size:8px;gap:14px}.bh-hero-bottom span:last-child{max-width:160px;text-align:right}.bh-crumb{font-size:8px}.bh-statement{padding:83px 0}.bh-statement h2,.bh-section-heading h2,.bh-finale h2{font-size:clamp(48px,11vw,72px)}.bh-statement:after{font-size:300px;top:-80px}.bh-section,.bh-atlas-section{padding:75px 0 85px}.bh-section-heading{margin-bottom:35px}.bh-section-heading>p{font-size:14px}.bh-tabs button{font-size:9px;letter-spacing:.08em;padding:20px 17px}.bh-pane-visual{min-height:260px}.bh-pane-visual>span{font-size:8px;left:17px;bottom:18px}.bh-pane-copy{padding:36px 24px}.bh-pane-copy h3,.bh-map-pane h3{font-size:48px}.bh-facts{gap:20px 10px}.bh-map-pane{padding:22px;gap:24px}.bh-map-pane h3{font-size:44px}.bh-atlas-label{top:12px;left:12px;padding:12px;max-width:calc(100% - 24px)}.bh-atlas-label strong{font-size:9px}.bh-atlas-frame img{aspect-ratio:1.35;object-fit:cover}.bh-finale{padding:90px 0}.bh-finale-actions{gap:20px}}
@media(prefers-reduced-motion:reduce){.bh-noise{animation:none}}


/* ALICE / EDITORIAL LANDING — preserves the visual identity of the external game */
.alice-hero{position:relative;min-height:820px;isolation:isolate;overflow:hidden;background:#030612;color:#f6f7ff}
.alice-background{position:absolute;inset:0;z-index:-2}.alice-background img{width:100%;height:100%;object-fit:cover;object-position:60% 48%;opacity:.88}
.alice-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#020612 0%,#020612eb 25%,#030717b8 48%,#060b210a 84%),linear-gradient(0deg,#030813 0%,transparent 23%,#0308133a 100%)}
.alice-hero-shell{min-height:820px;display:flex;flex-direction:column;justify-content:space-between;padding-top:44px;padding-bottom:37px}
.alice-breadcrumb,.alice-meta{display:flex;align-items:center;gap:18px;text-transform:uppercase;color:#b0bbdc;font-size:10px;letter-spacing:.22em;font-weight:750}
.alice-breadcrumb a{color:#dbe2ff}.alice-breadcrumb a:hover{color:white}
.alice-copy{max-width:760px;padding:78px 0 75px}.alice-overline{font-size:10px;font-weight:800;letter-spacing:.25em;color:#a6b8ff}
.alice-spark{display:inline-block;width:8px;height:8px;border-radius:50%;background:#a9b3ff;box-shadow:0 0 17px #8395ff;vertical-align:middle;margin-right:12px;animation:alice-shimmer 4s ease-in-out infinite alternate}
@keyframes alice-shimmer{from{opacity:.5;box-shadow:0 0 8px #7687ff}to{opacity:1;box-shadow:0 0 29px #b9c2ff}}
.alice-copy h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(115px,15.7vw,255px);line-height:.85;letter-spacing:-.075em;color:#f6f7ff;text-shadow:0 10px 64px #000b;margin:28px 0 22px}.alice-copy h1 span{color:#b5baff}
.alice-line{color:#bec7ff;text-transform:uppercase;letter-spacing:.25em;font-size:13px;font-weight:850;margin:0 0 28px}
.alice-lead{font-size:clamp(15px,1.3vw,18px);color:#d1d4e7;line-height:1.9;max-width:500px;border-left:2px solid #8696ea8f;padding-left:20px}
.alice-actions{display:flex;align-items:center;gap:35px;flex-wrap:wrap;margin-top:38px}
.alice-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:20px 25px;background:#c4cdfd;color:#07102e;font-weight:900;font-size:10px;letter-spacing:.15em;text-decoration:none;text-transform:uppercase;transition:transform .25s,background .25s,box-shadow .25s;min-width:270px}.alice-primary:hover{background:#f1f3ff;box-shadow:0 12px 40px #9095fd35;transform:translateY(-2px)}
.alice-secondary,.alice-text-link{font-size:10px;letter-spacing:.18em;color:#c9d1ff;text-transform:uppercase;font-weight:850;text-decoration:none;border-bottom:1px solid #aeb9ff80;padding-bottom:8px}.alice-secondary:hover,.alice-text-link:hover{color:white}
.alice-meta{justify-content:space-between;font-size:9px;opacity:.82}
.alice-about-section{background:#090d1c;padding:120px 0;border-top:1px solid #a0b0ff22}.alice-about{display:grid;grid-template-columns:1.2fr .8fr;gap:75px;align-items:start}
.alice-about h2,.alice-section-header h2,.alice-ending h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(60px,6.4vw,118px);line-height:.95;letter-spacing:-.05em;color:#f3f4ff;margin:25px 0}.alice-about h2 em,.alice-section-header h2 em,.alice-ending h2 em{color:#afbcff;font-family:Georgia,serif;font-size:.76em;font-style:italic;font-weight:400}
.alice-about-copy{padding-top:10px}.alice-about-copy>p{font-size:17px;color:#c1c7db;line-height:1.95}.alice-about-copy .alice-caveat{font-size:12px;color:#9eabc4;border-left:1px solid #8490d24f;padding-left:18px;margin:22px 0 30px}
.alice-feature-section{padding:110px 0 130px;background:#060a14}.alice-section-header{margin-bottom:52px}.alice-section-header h2{margin-bottom:0}
.alice-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #98a6ec30}.alice-pillars article{padding:50px 38px;border-right:1px solid #98a6ec30;background:linear-gradient(160deg,#121b3688,#070c16)}.alice-pillars article:last-child{border-right:0}.alice-number{font-size:10px;letter-spacing:.2em;color:#98aaff;font-weight:850}.alice-pillars h3{font-family:Impact,'Arial Narrow',Arial,sans-serif;letter-spacing:-.03em;font-size:39px;margin:42px 0 16px;color:#f1f3ff}.alice-pillars p{font-size:14px;line-height:1.85;color:#b4bdd1;max-width:290px}
.alice-ending{position:relative;padding:140px 0 145px;background:radial-gradient(circle at 77% 45%,#242c5c 0,transparent 50%),#090b1a;overflow:hidden}.alice-ending:before{content:'A';position:absolute;right:1%;top:-180px;font-size:650px;line-height:1;color:#a4b2ff08;font-weight:900;font-family:Impact,sans-serif;pointer-events:none}.alice-ending .wrap{position:relative;z-index:1}.alice-ending h2{font-size:clamp(90px,12vw,205px);margin:25px 0}.alice-ending>div>p{font-size:17px;max-width:500px}.alice-external-note{font-size:11px!important;letter-spacing:.08em;color:#a3a9bd;margin-top:20px}
@media(max-width:950px){.alice-hero,.alice-hero-shell{min-height:750px}.alice-background img{object-position:58% center}.alice-about{grid-template-columns:1fr;gap:18px}.alice-pillars article{padding:35px 24px}.alice-pillars h3{font-size:30px}}
@media(max-width:650px){.alice-hero,.alice-hero-shell{min-height:690px}.alice-hero-shell{padding-top:28px;padding-bottom:24px}.alice-hero::before{background:linear-gradient(90deg,#020612f2,#030717ad),linear-gradient(0deg,#030813,transparent 30%)}.alice-background img{object-position:68% center;opacity:.75}.alice-copy{padding:52px 0 42px}.alice-copy h1{font-size:clamp(86px,22vw,142px);margin:24px 0 25px}.alice-line{font-size:10px;letter-spacing:.14em;line-height:1.6}.alice-lead{font-size:14px;line-height:1.75;max-width:355px}.alice-overline{font-size:9px;letter-spacing:.13em}.alice-actions{gap:22px}.alice-primary{min-width:0;width:100%;padding:18px 19px}.alice-secondary{padding:8px 0}.alice-breadcrumb,.alice-meta{font-size:8px;gap:10px;letter-spacing:.1em}.alice-meta span:last-child{max-width:160px;text-align:right}.alice-about-section{padding:80px 0}.alice-about h2,.alice-section-header h2{font-size:clamp(54px,12vw,75px)}.alice-about-copy>p{font-size:15px}.alice-feature-section{padding:70px 0}.alice-pillars{grid-template-columns:1fr}.alice-pillars article{border-right:0;border-bottom:1px solid #98a6ec30;padding:32px 28px}.alice-pillars article:last-child{border-bottom:0}.alice-pillars h3{font-size:35px;margin:22px 0 12px}.alice-ending{padding:90px 0}.alice-ending h2{font-size:90px}.alice-ending:before{font-size:340px;top:0}}
@media(prefers-reduced-motion:reduce){.alice-spark{animation:none}.alice-primary{transition:none}}

/* ==========================================================
   603 INTERACTIVE / PREMIUM V — CINEMATIC OPENING AND VESPA
   Fidelity first: original logo, canonical book art, no AI substitutes.
   ========================================================== */
.site-intro{display:none;position:fixed;inset:0;z-index:900;overflow:hidden;background:#02070e;isolation:isolate;pointer-events:none;color:#e5eef7}
html.cinematic-first-visit .site-intro{display:flex;align-items:center;justify-content:center;animation:site-intro-clear 4.45s both;pointer-events:auto}
.site-intro-mountains{position:absolute;inset:-4%;z-index:-3;background:radial-gradient(ellipse at 52% 72%,#276a8a42,transparent 48%),url('assets/mountains.svg') center bottom/cover no-repeat,#030911;filter:contrast(1.18) saturate(.86);transform:scale(1.08);animation:site-mountain-drift 4.4s cubic-bezier(.16,.8,.23,1) both}
.site-intro-mountains:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#030810 0%,transparent 45%,#02071080 100%),radial-gradient(circle at 45% 62%,transparent 3%,#020912a1 75%)}
.site-intro-mist{position:absolute;inset:-20%;z-index:-2;background:radial-gradient(ellipse at 40% 75%,#a2d4fa28,transparent 36%),radial-gradient(ellipse at 64% 82%,#2ca9fa25,transparent 39%);filter:blur(24px);animation:site-mist-drift 4s ease-in-out both}
.site-intro-center{width:min(580px,82vw);position:relative;text-align:center;animation:site-logo-appear 4.25s both;display:flex;flex-direction:column;align-items:center;gap:8px}
.site-intro-center img{width:min(560px,79vw);height:auto;object-fit:contain;box-shadow:0 0 80px #1e8ace24;border-radius:4px}
.site-intro-center p,.site-intro-center span{color:#e4effa;font-size:clamp(9px,.8vw,11px);font-weight:750;letter-spacing:.36em;text-shadow:0 1px 15px #000}
.site-intro-center p{margin:0}.site-intro-center span{margin-top:-20px}
.site-intro-skip{position:absolute;bottom:42px;right:clamp(24px,5vw,88px);padding:13px 18px;font-size:10px;font-weight:800;letter-spacing:.18em;border:1px solid #b1d7ec85;background:#031222d8;color:#eff8ff;z-index:2}
.site-intro-skip:hover{background:#15406b}
.site-intro-progress{position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,#1469ab,#bceaff);box-shadow:0 0 22px #53bbff;animation:site-intro-load 3.7s linear forwards}
@keyframes site-intro-clear{0%,78%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
@keyframes site-intro-load{to{width:100%}}
@keyframes site-mountain-drift{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes site-mist-drift{from{transform:translateX(-7%);opacity:.25}to{transform:translateX(7%);opacity:.8}}
@keyframes site-logo-appear{0%,15%{opacity:0;transform:translateY(27px) scale(.96);filter:blur(8px)}60%{opacity:1;transform:none;filter:blur(0)}90%{opacity:1}100%{opacity:.7}}
html.site-intro-done .site-intro{display:none!important}

/* Vespa / Bounty Hunter editorial chapter */
body:has(.vespa-hero){background:#090907;color:#eee1d0;--bh-accent:#d7ac72;--bh-brass:#a68456;--bh-surface:#11100d;--bh-stroke:#d9ae7840}
body:has(.vespa-hero) .header{background:#090909e8;border-color:#91704828}
body:has(.vespa-hero) .scroll-progress{background:linear-gradient(90deg,#6e4d25,#e8bc80)}
.vespa-hero{background:#070605;min-height:min(920px,90vh);isolation:isolate;position:relative;overflow:hidden;color:#f4eadb}
.vespa-hero-art{position:absolute;inset:-3%;background:linear-gradient(90deg,#060606f8 2%,#060606e8 28%,#06060677 52%,#0c0a061b 80%),linear-gradient(0deg,#090807 0%,transparent 38%,#09090972 100%),url('assets/vespa/Vespa_City_booklet_cover.webp') 59% 50%/cover no-repeat;z-index:-2;animation:vespa-hero-drift 16s ease-out both;filter:saturate(.86)}
.vespa-hero-grain{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 72% 45%,#f4a95b21,transparent 42%),linear-gradient(90deg,#0a080a32,transparent);mix-blend-mode:screen;opacity:.68}
.vespa-hero-layout{min-height:min(920px,90vh);display:flex;flex-direction:column;justify-content:space-between;padding-top:35px;padding-bottom:27px}
.vespa-crumb{display:flex;gap:13px;align-items:center;font-size:10px;font-weight:800;color:#e2c79f;letter-spacing:.2em}.vespa-crumb a:hover{color:white}.vespa-crumb span:nth-child(2){opacity:.5}
.vespa-headline{padding:110px 0 80px;max-width:780px}.vespa-eyebrow,.vespa-overline{display:block;font-size:10px;letter-spacing:.26em;font-weight:800;color:#d6aa70;text-transform:uppercase}.vespa-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d0ab6f;box-shadow:0 0 18px #ffb860;margin-right:12px;animation:vespa-pulse 4s ease-in-out infinite}
.vespa-small-title{font-size:11px;letter-spacing:.3em;font-weight:750;color:#d0b998;margin:24px 0 7px}
.vespa-headline h1{font-family:Impact,'Arial Narrow','Franklin Gothic Medium',sans-serif;font-size:clamp(100px,12.9vw,215px);letter-spacing:-.055em;line-height:.79;margin:12px 0 30px;color:#f3e8d8;font-weight:900;max-width:100%;text-shadow:0 20px 75px #0009}
.vespa-headline h1 em{font-family:Georgia,serif;font-style:italic;color:#e7bd86;font-weight:400;letter-spacing:-.082em}.vespa-period{color:#b98348}
.vespa-hero-hook{color:#ddad72;letter-spacing:.15em;font-weight:800;font-size:clamp(12px,1.03vw,16px);line-height:1.75}.vespa-hero-hook strong{color:#f7e5c9}
.vespa-hero-copy{color:#d3c2af;font-size:clamp(15px,1.15vw,18px);line-height:1.9;max-width:560px;border-left:2px solid #c9945b99;padding-left:22px;margin:24px 0 0}
.vespa-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:33px}.vespa-primary{display:inline-flex;justify-content:space-between;align-items:center;gap:55px;background:#e0b881;color:#160f08;font-size:10px;letter-spacing:.17em;font-weight:900;padding:20px 24px;min-width:250px;transition:transform .3s,background .3s}.vespa-primary:hover{transform:translateY(-4px);background:#fff0d4}
.vespa-link{color:#e3c6a2;font-size:10px;letter-spacing:.18em;font-weight:850;border-bottom:1px solid #bb936e80;padding-bottom:8px}.vespa-link:hover{color:white}
.vespa-hero-foot{display:flex;justify-content:space-between;gap:15px;color:#bb9c75;font-size:9px;font-weight:750;letter-spacing:.17em;text-transform:uppercase}
@keyframes vespa-hero-drift{from{transform:scale(1.07)}to{transform:scale(1)}}@keyframes vespa-pulse{50%{box-shadow:0 0 27px #e4a453;opacity:.75}}
.vespa-signal{background:#e0b881;color:#24150b;overflow:hidden;white-space:nowrap;padding:15px 0;border-block:1px solid #ffd4a3}.vespa-signal>div{display:flex;align-items:center;justify-content:space-evenly;width:max(120%,1250px);gap:32px;animation:vespa-marquee 38s linear infinite}.vespa-signal span{letter-spacing:.24em;font-weight:900;font-size:12px}.vespa-signal i{font-style:normal;opacity:.55}@keyframes vespa-marquee{to{transform:translateX(-20%)}}
.vespa-world,.vespa-factions-section,.vespa-atlas-section,.vespa-archive-section{padding:clamp(80px,10vw,145px) 0;background:#0e0d0b;color:#eee1d0}
.vespa-world{background:radial-gradient(circle at 18% 28%,#40281159,transparent 41%),#0c0b0a;border-bottom:1px solid #f5c58b1a}
.vespa-two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(55px,7vw,120px)}
.vespa-left-statement h2,.vespa-section-heading h2,.vespa-crooked-caption h2,.vespa-ending h2{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(58px,7.1vw,118px);line-height:.92;letter-spacing:-.05em;margin:24px 0 30px;color:#f2e5d2}.vespa-left-statement h2 em,.vespa-section-heading h2 em,.vespa-crooked-caption h2 em,.vespa-ending h2 em{font-family:Georgia,serif;font-weight:400;color:#dcb27e;letter-spacing:-.06em}
.vespa-subcopy{font-size:17px;line-height:1.9;max-width:520px;color:#cabca9}.vespa-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:65px;border-top:1px solid #a67d4d50;padding-top:28px}.vespa-metrics>div{display:flex;flex-direction:column;gap:3px}.vespa-metrics strong{font-family:Georgia,serif;font-size:55px;color:#f0d3a9;font-weight:400}.vespa-metrics span{font-size:9px;letter-spacing:.16em;color:#bba78e}
.vespa-lead{font-size:clamp(17px,1.65vw,23px);color:#f0e2d1;line-height:1.73;border-left:2px solid #bb925e;padding-left:24px}
.vespa-methods{margin-top:40px;border-top:1px solid #dfc29730}.vespa-methods>div{padding:24px 0;border-bottom:1px solid #dfc29730;display:grid;grid-template-columns:42px 1fr;gap:7px 14px}.vespa-methods>div span{color:#d5ab73;font-size:10px;letter-spacing:.2em}.vespa-methods strong{font-size:12px;letter-spacing:.11em;color:#e5d7c5}.vespa-methods p{grid-column:2;color:#ae9c87;margin:0;font-size:14px;line-height:1.65}.vespa-disclaimer{font-size:11px;color:#a99378;line-height:1.65;margin-top:32px}
.vespa-crooked-section{height:620px;position:relative;isolation:isolate;display:flex;align-items:end;overflow:hidden;background:#0d0b09}.vespa-crooked-photo{position:absolute;inset:0;z-index:-2}.vespa-crooked-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 53%;filter:saturate(.88)}.vespa-crooked-section:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#080706f5,#0908075e 63%,#0b090938),linear-gradient(90deg,#080706c4,transparent 65%)}.vespa-crooked-caption{padding-bottom:62px}.vespa-crooked-caption>span{font-size:10px;letter-spacing:.28em;color:#ffce8e}.vespa-crooked-caption h2{font-size:clamp(57px,6vw,104px);margin:16px 0}.vespa-crooked-caption p{max-width:530px;color:#efdbbc;line-height:1.8;font-size:17px}.vespa-crooked-caption>a{color:#e6bc82;font-size:11px;letter-spacing:.15em;font-weight:900;border-bottom:1px solid #dfa96280;padding-bottom:6px}
.vespa-factions-section{background:#10100d}.vespa-section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:end;margin-bottom:55px}.vespa-section-heading h2{margin-bottom:0}.vespa-section-heading>p{font-size:17px;line-height:1.85;color:#c4b4a0;max-width:570px;margin-bottom:4px}.vespa-ledger{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 20px;padding:17px 2px;border-top:1px solid #bc986e66;color:#c6a47c;letter-spacing:.17em;font-size:10px;font-weight:800}
.vespa-faction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.vespa-faction{border:1px solid #b894663e;background:#17140f;overflow:hidden;transition:border-color .3s,transform .3s,box-shadow .3s}.vespa-faction:hover,.vespa-faction:has(details[open]){border-color:#d7b08195;box-shadow:0 22px 55px #0005}.vespa-faction:hover{transform:translateY(-3px)}.vespa-dossier summary{list-style:none;cursor:pointer}.vespa-dossier summary::-webkit-details-marker{display:none}.vespa-cover{position:relative;overflow:hidden;aspect-ratio:1.9;background:#17100a}.vespa-cover img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s,filter .6s;filter:saturate(.96)}.vespa-faction:hover .vespa-cover img{transform:scale(1.035);filter:saturate(1.06)}.vespa-cover:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(0deg,#110e0de0,transparent)}.vespa-cover-tag{position:absolute;bottom:15px;left:20px;z-index:1;letter-spacing:.15em;font-size:9px;font-weight:800;color:#e6c18c;text-shadow:0 2px 9px #000}
.vespa-card-caption{display:flex;align-items:center;justify-content:space-between;padding:25px 26px 29px;gap:12px}.vespa-index{font-size:10px;color:#cd9f6e;font-weight:800;letter-spacing:.15em}.vespa-card-caption h3{font-size:clamp(26px,2.2vw,38px);font-weight:500;color:#f1e3d1;margin:11px 0 7px;letter-spacing:-.03em}.vespa-card-caption p{font-size:13px;color:#c3ae90;margin:0}.vespa-plus{font-size:30px;color:#e8c69b;font-weight:300;border:1px solid #c4a06e66;width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;transition:transform .3s}.vespa-dossier[open] .vespa-plus{transform:rotate(45deg)}
.vespa-dossier-body{padding:0 28px 31px;animation:vespa-details-in .32s ease-out}.vespa-dossier-lead{font-size:16px;color:#e7d2b5;line-height:1.8}.vespa-dossier-meta{margin:22px 0 25px;padding:18px 0;border-block:1px solid #d7af813b;display:grid;gap:13px}.vespa-dossier-meta>div{display:grid;grid-template-columns:115px 1fr;gap:12px}.vespa-dossier-meta dt{font-size:9px;letter-spacing:.17em;color:#c89e69}.vespa-dossier-meta dd{font-size:12px;color:#f1dfc7;margin:0}.bh-file-entry,.vespa-spoilers .bh-file-entry{padding:17px 0;border-bottom:1px solid #d0ab7833}.bh-file-index{font-size:9px;letter-spacing:.2em;color:#b78e57}.bh-file-entry h4{font-size:14px;letter-spacing:.06em;color:#f4dfc1;margin:12px 0}.bh-file-entry p{font-size:13px;line-height:1.8;color:#bfae95;margin:9px 0}.vespa-source-link{display:inline-block;margin-top:24px;color:#d5ae7a;font-size:10px;letter-spacing:.15em;font-weight:800}.vespa-spoilers{margin-top:20px;padding:16px;background:#37261c33;border:1px solid #be936070}.vespa-spoilers>summary{font-size:11px;letter-spacing:.09em;font-weight:850;color:#f5c58e;display:flex;justify-content:space-between;gap:12px}.vespa-spoilers[open]>summary span{transform:rotate(45deg)}@keyframes vespa-details-in{from{opacity:.5;transform:translateY(-8px)}to{opacity:1;transform:none}}
.vespa-notice{display:flex;gap:15px;align-items:start;margin-top:32px;padding:20px 23px;border:1px solid #c6a67536;background:#17150f}.vespa-notice>span{font-size:25px;color:#e4b577}.vespa-notice p{margin:0;color:#bba688;font-size:13px;line-height:1.8}
.vespa-atlas-section{background:linear-gradient(120deg,#17130e,#080b0d)}.vespa-atlas-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);border:1px solid #bda06b4c;gap:0}.vespa-city-map{margin:0;min-width:0;position:relative;overflow:hidden;background:#0c1317}.vespa-city-map a{display:block;position:relative;overflow:hidden}.vespa-city-map img{width:100%;height:auto;max-height:780px;object-fit:cover;transition:transform .75s;filter:saturate(.94) contrast(1.02)}.vespa-city-map a:hover img{transform:scale(1.025)}.vespa-map-expand{position:absolute;bottom:18px;right:18px;z-index:2;background:#160f0ddc;padding:12px 16px;font-size:10px;font-weight:850;letter-spacing:.15em;color:#f0d0a8;border:1px solid #d2ad7777}.vespa-city-map figcaption{padding:14px 19px;color:#caa773;font-size:9px;letter-spacing:.13em;background:#17110f;line-height:1.65}.vespa-district-list{background:#16130f;padding:38px 32px}.vespa-district-list h3{font-family:Impact,sans-serif;font-size:clamp(36px,3.1vw,55px);line-height:.97;color:#f2dfc4;margin:20px 0}.vespa-district-list>p{font-size:13px;color:#c1a88b;line-height:1.75}.vespa-district-list ol{list-style:none;padding:10px 0 0;margin:0}.vespa-district-list li a{display:grid;grid-template-columns:28px 1fr auto;gap:4px 11px;align-items:center;padding:13px 0;border-bottom:1px solid #c39f7539}.vespa-district-list li a:hover strong{color:#ffdaad}.vespa-district-list li a>span:first-child{color:#b68c58;font-size:11px}.vespa-district-list li a strong{color:#f1debf;font-size:13px;font-weight:700}.vespa-district-list li a em{grid-column:2;font-size:11px;font-style:normal;color:#a99378}.vespa-district-list li a>span:last-child{grid-row:1/3;grid-column:3;color:#e5bd86}
.vespa-archive-section{background:#0a0b0a}.vespa-archive-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.vespa-archive-grid figure{margin:0;background:#161410;border:1px solid #d8b38243;overflow:hidden}.vespa-archive-grid img{width:100%;height:390px;object-fit:cover;transition:transform .6s}.vespa-archive-grid figure:hover img{transform:scale(1.02)}.vespa-archive-grid figcaption{padding:17px 20px;font-size:10px;color:#d3ab79;letter-spacing:.16em}
.vespa-ending{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 72% 50%,#43301945,transparent 42%),#0c0907;padding:130px 0 150px}.vespa-ending:after{content:"VC";position:absolute;right:-4vw;top:-8vw;font-family:Impact,sans-serif;font-size:clamp(230px,33vw,650px);color:#ac753713;z-index:-1}.vespa-ending h2{max-width:880px}.vespa-ending p{max-width:630px;color:#d2bda2;line-height:1.8;font-size:17px}
/* Professional micro-interactions and contrast, restrained rather than distracting. */
body:has(.vespa-hero) ::selection{background:#936537;color:#fff}.vespa-primary,.vespa-link,.vespa-cover,.vespa-map-expand{will-change:auto}
@media(max-width:1000px){.vespa-hero{min-height:750px}.vespa-hero-layout{min-height:750px}.vespa-headline{padding:100px 0 80px}.vespa-two-col{grid-template-columns:1fr;gap:35px}.vespa-atlas-grid{grid-template-columns:1fr}.vespa-district-list ol{display:grid;grid-template-columns:repeat(2,1fr);gap:0 30px}.vespa-hero-foot{font-size:8px}.vespa-archive-grid img{height:300px}}
@media(max-width:700px){.site-intro-center{width:min(94vw,440px)}.site-intro-center img{width:90%}.site-intro-center span{font-size:8px;letter-spacing:.18em;margin-top:-16px}.site-intro-skip{right:20px;bottom:20px}.vespa-hero,.vespa-hero-layout{min-height:740px}.vespa-hero-art{background-position:62% center}.vespa-hero-layout{padding-top:28px;padding-bottom:21px}.vespa-headline{padding:100px 0 80px}.vespa-headline h1{font-size:clamp(77px,17vw,118px);margin:20px 0}.vespa-small-title{font-size:10px}.vespa-hero-hook{font-size:11px}.vespa-hero-copy{font-size:14px;padding-left:13px}.vespa-actions{gap:22px}.vespa-primary{min-width:0;width:100%}.vespa-hero-foot span:nth-child(2){display:none}.vespa-signal span{font-size:10px}.vespa-world,.vespa-factions-section,.vespa-atlas-section,.vespa-archive-section{padding:75px 0}.vespa-section-heading{grid-template-columns:1fr;gap:10px;margin-bottom:35px}.vespa-section-heading h2,.vespa-left-statement h2,.vespa-ending h2{font-size:clamp(54px,12vw,83px)}.vespa-section-heading>p{font-size:15px}.vespa-metrics{gap:10px}.vespa-metrics strong{font-size:43px}.vespa-metrics span{font-size:8px}.vespa-ledger{font-size:8px}.vespa-ledger span:last-child{max-width:165px;text-align:right}.vespa-faction-grid{grid-template-columns:1fr;gap:16px}.vespa-card-caption{padding:19px 18px 22px}.vespa-card-caption h3{font-size:28px}.vespa-cover{aspect-ratio:1.7}.vespa-dossier-body{padding:0 19px 24px}.vespa-dossier-meta>div{grid-template-columns:95px 1fr}.vespa-crooked-section{height:520px}.vespa-crooked-caption h2{font-size:54px}.vespa-crooked-caption p{font-size:15px}.vespa-district-list{padding:28px 21px}.vespa-district-list ol{grid-template-columns:1fr}.vespa-archive-grid{grid-template-columns:1fr}.vespa-archive-grid img{height:auto;max-height:420px}.vespa-ending{padding:100px 0 120px}}
@media(prefers-reduced-motion:reduce){.site-intro{display:none!important}.vespa-live-dot,.vespa-signal>div,.vespa-hero-art{animation:none!important}.vespa-primary,.vespa-faction,.vespa-cover img,.vespa-archive-grid img{transition:none!important}}
/* The atlas is an image of a real, source-provided 4:3 district map: never crop its labels. */
.vespa-city-map .gallery-link{aspect-ratio:auto;border:0;background:#10171a}
.vespa-city-map .gallery-link img{height:auto;max-height:none;object-fit:contain}
.vespa-city-map .gallery-link>.vespa-map-expand{height:auto;width:auto;display:inline-block;position:absolute;right:18px;bottom:18px;border:1px solid #d2ad7777;border-radius:0;background:#160f0de8;padding:12px 16px;color:#f0d0a8}
/* Gentle interaction feedback across the portfolio without obscuring content or costing load time. */
.premium-card .card-art img,.premium-feature .feature-art img{transition:transform .75s cubic-bezier(.17,.67,.18,1),filter .65s}
.premium-card:hover .card-art img,.premium-feature:hover .feature-art img{transform:scale(1.035);filter:saturate(1.09)}
.vespa-primary:focus-visible,.vespa-link:focus-visible,.vespa-dossier summary:focus-visible,.vespa-city-map a:focus-visible{outline:2px solid #ffd298;outline-offset:5px}
@media(prefers-reduced-motion:reduce){.premium-card .card-art img,.premium-feature .feature-art img{transition:none!important}}


/* ============================================================
   PREMIUM VI — 603 intro refinement ONLY
   Realistic, separately rendered mountain environment; approved
   transparent 603 emblem; no square/wordmark/splash-card.
   ============================================================ */
.site-intro{background:#020711}
html.cinematic-first-visit .site-intro{
  animation:site-intro-v6-out 5.3s both;
}
.site-intro-mountains{
  position:absolute;inset:-3%;z-index:-3;
  background-image:linear-gradient(180deg,rgba(3,10,20,.12) 0%,rgba(3,10,20,.1) 28%,rgba(3,9,19,.52) 100%),url('assets/intro-nh-mountains.webp');
  background-size:cover;
  background-position:center center;
  transform-origin:center center;
  filter:saturate(.88) contrast(1.04);
  animation:site-v6-mountain 5.3s cubic-bezier(.16,.78,.28,1) both;
}
.site-intro-mountains:after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 53%,rgba(9,23,35,.05) 1%,rgba(0,5,13,.36) 75%),linear-gradient(0deg,rgba(1,6,13,.57) 0%,transparent 26%,rgba(0,4,12,.08) 100%);
}
.site-intro-mist{
  position:absolute;inset:20% -15% -20%;z-index:-2;
  background:radial-gradient(ellipse at 36% 65%,rgba(173,201,229,.12),transparent 45%),radial-gradient(ellipse at 70% 72%,rgba(54,108,154,.21),transparent 45%);
  filter:blur(47px);opacity:.45;
  animation:site-v6-mist 5.3s ease-in-out both;
}
.site-intro-center{
  width:min(880px,88vw);display:flex;align-items:center;justify-content:center;
  position:relative;isolation:isolate;
  animation:site-v6-emblem 5.2s ease-in-out both;
}
.site-intro-center::after{
  content:"";position:absolute;z-index:-1;
  width:90%;height:60%;border-radius:50%;
  background:radial-gradient(ellipse at 50% 50%,rgba(14,118,185,.14),transparent 72%);
  filter:blur(20px);pointer-events:none;
}
.site-intro-center img{
  display:block;width:min(840px,84vw);height:auto;
  object-fit:contain;
  border:none!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;
  filter:drop-shadow(0 5px 20px rgba(7,132,217,.30)) drop-shadow(0 10px 55px rgba(1,7,15,.56));
  will-change:opacity,transform;
}
.site-intro-center p,.site-intro-center span{display:none!important}
.site-intro-skip{bottom:clamp(26px,5vh,58px);border-color:#b4cfe685;background:rgba(3,12,22,.46);backdrop-filter:blur(9px);border-radius:0;transition:background .2s,border-color .2s}
.site-intro-skip:focus-visible{outline:3px solid #80caff;outline-offset:4px}
.site-intro-progress{animation:site-v6-progress 4.85s linear both}
@keyframes site-intro-v6-out{0%,79%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
@keyframes site-v6-mountain{0%{opacity:0;transform:scale(1.085)}13%{opacity:1}100%{opacity:1;transform:scale(1.008)}}
@keyframes site-v6-mist{0%{opacity:.15;transform:translateX(-2%)}75%{opacity:.55}100%{opacity:.40;transform:translateX(3%)}}
@keyframes site-v6-emblem{0%,16%{opacity:0;transform:translateY(18px) scale(.963)}42%{opacity:.9;transform:translateY(0) scale(1)}64%,77%{opacity:1;transform:translateY(0) scale(1.005)}100%{opacity:0;transform:translateY(-6px) scale(1.011)}}
@keyframes site-v6-progress{from{width:0}to{width:100%}}
html.site-intro-skipping .site-intro{animation:none!important;opacity:0!important;transition:opacity .35s ease!important;pointer-events:none!important}
@media(max-width:680px){
  .site-intro-mountains{background-position:48% center}
  .site-intro-center{width:94vw}
  .site-intro-center img{width:94vw;max-width:690px}
  .site-intro-skip{font-size:10px;bottom:28px;right:24px}
}
@media(prefers-reduced-motion:reduce){
  html.cinematic-first-visit .site-intro{display:none!important;animation:none!important}
  .site-intro-mountains,.site-intro-mist,.site-intro-center,.site-intro-progress{animation:none!important}
}

/* V7 homepage cinematic redesign */
.home-page .header.home-header{position:sticky;top:0;z-index:34;background:rgba(4,10,18,.82);backdrop-filter:blur(18px);border-top:1px solid rgba(138,181,212,.10);border-bottom:1px solid rgba(138,181,212,.14)}
.home-page .header.home-header .nav{height:86px}
.home-page .header.home-header .navlinks{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#d4dfeb}
.home-page .header.home-header .navlinks a[aria-current=page]:after{width:18px}
.home-page .header.home-header .nav-contact{border-color:#7aa9cb7d;box-shadow:0 0 0 1px rgba(158,211,255,.08) inset,0 0 24px rgba(61,141,202,.12);border-radius:999px;padding:10px 20px}
.home-splash{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;background:#040a12}
.home-splash-bg{position:absolute;inset:0;background:url('assets/intro-nh-mountains.webp') center center/cover no-repeat}
.home-hero-bg{position:absolute;inset:0;background:url('assets/home-hero-epic.webp') center center/cover no-repeat}
.home-splash-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,8,14,.28) 0%,rgba(4,8,14,.20) 15%,rgba(3,7,14,.30) 52%,rgba(3,7,14,.72) 100%),linear-gradient(90deg,rgba(3,7,14,.24) 0%,rgba(3,7,14,.04) 45%,rgba(3,7,14,.18) 100%)}
.home-hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,18,.24) 0%,rgba(5,10,18,.18) 18%,rgba(4,8,15,.42) 58%,rgba(4,8,15,.78) 100%),linear-gradient(90deg,rgba(4,8,15,.72) 0%,rgba(4,8,15,.54) 26%,rgba(4,8,15,.18) 54%,rgba(4,8,15,.20) 100%)}
.home-splash-fog,.home-hero-fog{position:absolute;inset:0;background:radial-gradient(circle at 50% 43%,rgba(98,179,247,.20),transparent 16%),radial-gradient(ellipse at 50% 80%,rgba(77,133,182,.17),transparent 36%),radial-gradient(ellipse at 20% 58%,rgba(255,255,255,.09),transparent 24%),radial-gradient(ellipse at 85% 60%,rgba(255,255,255,.08),transparent 22%);mix-blend-mode:screen;pointer-events:none;filter:blur(8px)}
.home-splash-inner{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;padding:120px 0 90px;text-align:center}
.home-splash-logo{width:min(72vw,640px);height:auto;filter:drop-shadow(0 0 38px rgba(67,166,255,.28)) drop-shadow(0 0 90px rgba(54,130,210,.10));animation:homeLogoFloat 12s ease-in-out infinite}
.home-splash-prompt{display:inline-flex;align-items:center;gap:12px;letter-spacing:.28em;text-transform:uppercase;font-size:10px;color:#ebf5ff;opacity:.82;border-bottom:1px solid rgba(160,204,237,.34);padding:0 4px 10px}
.home-splash-prompt:hover{opacity:1;color:#fff}
@keyframes homeLogoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.home-hero-panel{position:relative;isolation:isolate;min-height:720px;display:flex;align-items:stretch;overflow:hidden;background:#040a12}
.home-hero-bg{background-position:center center;transform:scale(1.02);filter:saturate(1.04) contrast(1.03)}
.home-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(320px,520px) 1fr;gap:40px;align-items:center;min-height:720px;padding:92px 0 110px}
.home-hero-copy{max-width:500px}
.home-hero-copy .eyebrow{font-size:11px;letter-spacing:.24em;margin-bottom:26px}
.home-hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(54px,6.2vw,86px);line-height:.96;letter-spacing:-.055em;margin:0 0 26px;color:#f2f5f8;text-shadow:0 10px 30px rgba(0,0,0,.34)}
.home-hero-copy p{font-size:18px;line-height:1.8;max-width:450px;color:#d6e0e8;margin:0 0 34px}
.home-primary{background:transparent;border-color:#63b6ff;color:#fff;box-shadow:0 0 0 1px rgba(112,195,255,.18) inset,0 0 30px rgba(58,139,216,.18);border-radius:14px;padding:16px 24px}
.home-primary:hover{background:rgba(32,104,161,.22);transform:translateY(-2px)}
.home-secondary{border-color:rgba(180,202,224,.3);padding-bottom:10px}
.home-hero-visual{min-height:420px}
.home-page .signal-marquee{background:#08111c;border-top:1px solid rgba(149,187,212,.12)}
@media(max-width:980px){
  .home-splash-logo{width:min(82vw,580px)}
  .home-hero-grid{grid-template-columns:1fr;gap:0;min-height:620px;padding:70px 0 88px}
  .home-hero-visual{display:none}
  .home-hero-copy p{max-width:560px}
}
@media(max-width:760px){
  .home-page .header.home-header .nav{height:72px}
  .home-page .header.home-header .nav-contact{padding:10px 16px}
  .home-splash{min-height:84svh}
  .home-splash-inner{padding:90px 0 70px;gap:26px}
  .home-splash-logo{width:min(92vw,540px)}
  .home-splash-prompt{font-size:9px;letter-spacing:.21em}
  .home-hero-panel{min-height:auto}
  .home-hero-grid{min-height:auto;padding:64px 0 74px}
  .home-hero-copy h1{font-size:clamp(48px,13vw,68px)}
  .home-hero-copy p{font-size:15px;max-width:95%}
  .home-primary{width:100%;justify-content:center}
  .home-secondary{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.home-splash-logo{animation:none!important}}

/* PREMIUM VII — seamless entrance, cinematic portfolio and source-grounded atlas */
/* The entrance and persistent splash share the same background asset, crop and emblem scale. */
.site-intro-mountains{inset:0;background-image:linear-gradient(180deg,rgba(4,8,14,.28) 0%,rgba(4,8,14,.20) 15%,rgba(3,7,14,.30) 52%,rgba(3,7,14,.72) 100%),linear-gradient(90deg,rgba(3,7,14,.24),rgba(3,7,14,.04) 45%,rgba(3,7,14,.18)),url('assets/intro-nh-mountains.webp');background-position:center center;filter:none}
.site-intro-mountains:after{display:none}
.site-intro-center{width:min(72vw,640px);max-width:640px}
.site-intro-center img{width:100%;max-width:none;filter:drop-shadow(0 0 38px rgba(67,166,255,.28)) drop-shadow(0 0 90px rgba(54,130,210,.10))}
.site-intro-center::after{display:none}
.site-intro-mist{inset:0;background:radial-gradient(circle at 50% 43%,rgba(98,179,247,.20),transparent 16%),radial-gradient(ellipse at 50% 80%,rgba(77,133,182,.17),transparent 36%),radial-gradient(ellipse at 20% 58%,rgba(255,255,255,.09),transparent 24%),radial-gradient(ellipse at 85% 60%,rgba(255,255,255,.08),transparent 22%);opacity:1;filter:blur(8px)}
html.cinematic-first-visit .site-intro{animation:site-intro-v7-out 5.3s both}
.site-intro-center{animation:site-v7-emblem 5.1s ease-in-out both}
.site-intro-mountains{animation:site-v7-mountain 5.3s ease-in-out both}
.site-intro-mist{animation:none}
@keyframes site-v7-emblem{0%,15%{opacity:0;transform:translateY(8px)}44%,100%{opacity:1;transform:translateY(0)}}
@keyframes site-v7-mountain{0%{opacity:.06;transform:scale(1.025)}20%{opacity:1}100%{opacity:1;transform:scale(1)}}
@keyframes site-intro-v7-out{0%,78%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}100%{opacity:0;visibility:hidden;pointer-events:none}}
.home-splash-bg{will-change:transform;transform:scale(1.035) translateY(var(--hero-parallax,0px));transition:transform .1s linear}
.home-splash:after{content:"";position:absolute;inset:0;pointer-events:none;border-bottom:1px solid rgba(186,213,230,.15)}
.home-splash-logo{width:min(72vw,640px)}
.home-splash-prompt span{font-size:15px;line-height:1;animation:cinemaPrompt 2.4s ease-in-out infinite}
@keyframes cinemaPrompt{50%{transform:translateY(6px)}}
/* Cinematic game chapter rail */
.cinema-worlds{padding:92px 0 105px;background:linear-gradient(180deg,#050a11,#0b1723 62%,#08121f);overflow:hidden;border-block:1px solid #779ab52a;position:relative}
.cinema-worlds:before{content:"";position:absolute;top:0;left:48%;width:1px;height:75%;background:linear-gradient(#72b6e04d,transparent);transform:rotate(-25deg);box-shadow:0 0 120px 35px #2274a516;pointer-events:none}
.cinema-worlds-header{display:flex;gap:35px;align-items:flex-end;justify-content:space-between;margin-bottom:35px}
.cinema-worlds-header h2{font-size:clamp(38px,4.8vw,72px);letter-spacing:-.07em;line-height:1.05;font-weight:830;color:#e9f1f9;margin:21px 0 0}
.cinema-worlds-header h2 em{font-weight:400;font-family:Georgia,serif;color:#9fceeb}
.cinema-controls{display:flex;align-items:center;gap:12px;white-space:nowrap}
.cinema-count{font-size:11px;letter-spacing:.2em;color:#99bed8;margin-right:16px;font-weight:700;font-variant-numeric:tabular-nums}
.cinema-controls button{width:47px;height:47px;border:1px solid #719db853;background:#081523;color:#edf8ff;display:grid;place-items:center;font-size:21px;transition:background .2s,border-color .2s}
.cinema-controls button:hover{background:#163952;border-color:#9acced}
.cinema-scroller{width:min(1600px,calc(100% - 100px));margin:auto;display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#42718b #07111b;padding:0 0 20px;scroll-behavior:smooth}
.cinema-slide{width:clamp(335px,68vw,980px);min-height:510px;flex:0 0 auto;position:relative;scroll-snap-align:start;isolation:isolate;overflow:hidden;background:#141b22;border:1px solid #a9b1b63d;display:flex;align-items:flex-end;transition:border-color .25s,box-shadow .25s}
.cinema-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;filter:saturate(.78);transition:transform 1.2s cubic-bezier(.2,.6,.1,1),filter .7s}
.cinema-slide:hover img,.cinema-slide:focus-visible img{transform:scale(1.045);filter:saturate(1)}
.cinema-slide:hover{border-color:#97b7cc86;box-shadow:0 25px 70px #0005}
.cinema-slide-fade{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#03080ced 1%,#03080c9d 31%,#03080c14 65%,#03080c5c 100%),linear-gradient(90deg,#03080c6e,transparent 77%)}
.cinema-slide-content{padding:35px 40px 45px;display:flex;flex-direction:column;gap:12px;max-width:740px;z-index:1}
.cinema-index{font-size:10px;font-weight:770;letter-spacing:.15em;text-transform:uppercase;color:#d4e0e9}
.cinema-slide-content strong{font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-size:clamp(37px,4.5vw,64px);letter-spacing:-.06em;line-height:1.06;color:#fff}
.cinema-slide-content small{max-width:500px;color:#d8e5ed;font-size:14px;line-height:1.65}
.cinema-slide-action{align-self:flex-start;margin-top:9px;font-size:11px;letter-spacing:.16em;border-bottom:1px solid #8ebed9;padding-bottom:8px;font-weight:740;color:#e5f5ff}
.cinema-slide:first-child{border-color:#c4a37d75}
/* World atlas: map remains uncropped, each pin corresponds to a named district actually on the artwork. */
.vespa-map-explorer{border:1px solid #d0a36b4a;background:linear-gradient(150deg,#181511,#0b0b0b);box-shadow:0 32px 90px #0005;color:#eadcca}
.vespa-atlas-topline,.vespa-map-foot{padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#c0a789;font-size:9px;letter-spacing:.19em;font-weight:760;text-transform:uppercase;border-bottom:1px solid #b9905a45}
.vespa-map-foot{border-top:1px solid #b9905a45;border-bottom:0;color:#9c8d7f;font-size:8px;line-height:1.7}
.vespa-atlas-topline>span:first-child{display:flex;align-items:center;gap:12px}
.vespa-map-explorer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(350px,.7fr);min-height:600px}
.vespa-map-stage{margin:0;position:relative;min-width:0;background:#11100f;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.vespa-map-interactive{position:relative;width:100%;background:#15130e;line-height:0;overflow:hidden}
.vespa-map-interactive>img{display:block;width:100%;height:auto;object-fit:contain;filter:brightness(.78) saturate(.90);transition:filter .5s}
.vespa-map-interactive:hover>img{filter:brightness(.92) saturate(1)}
.vespa-map-pin{position:absolute;left:var(--pin-x);top:var(--pin-y);width:35px;height:35px;border:1px solid #ffe0a5;color:#fff4de;background:#090c0de0;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #0007,0 0 18px #000a;font-size:10px;font-weight:850;line-height:1;transition:background .2s,box-shadow .2s,scale .2s;z-index:2}
.vespa-map-pin:hover,.vespa-map-pin[aria-pressed=true]{background:#a66c35;color:#fff;box-shadow:0 0 0 5px #b8884b44,0 0 22px #ffd18679;scale:1.18}
.vespa-map-pin:focus-visible{outline:3px solid #fbd4a0;outline-offset:8px}
.vespa-map-stage figcaption{padding:16px 22px 12px;font-size:9px;letter-spacing:.14em;color:#b6a48f;line-height:1.7}
.vespa-open-map{display:inline-flex;align-self:flex-start;margin:0 22px 24px;padding:9px 0;border-bottom:1px solid #d3ac76;font-size:10px;letter-spacing:.15em;color:#f5d2a2;font-weight:740}
.vespa-open-map:hover{color:white}
.vespa-map-dossier{border-left:1px solid #d0a36b48;display:flex;flex-direction:column;min-width:0;background:#100e0d}
.vespa-map-dossier-head{display:flex;justify-content:space-between;gap:15px;padding:18px 22px;border-bottom:1px solid #d0a36b35;color:#c7b49f;font-size:9px;letter-spacing:.14em;font-weight:790}
.vespa-map-live{color:#ddad72}
.vespa-map-faction-pickers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:6px;border-bottom:1px solid #d0a36b35}
.vespa-atlas-selector{display:flex;align-items:center;gap:7px;min-width:0;border:1px solid #b88a523b;background:#221b15;color:#d7c9b7;padding:10px 10px;font-size:9px;line-height:1.35;text-align:left;transition:background .2s,border-color .2s}
.vespa-atlas-selector>span:first-child{font-variant-numeric:tabular-nums;color:#c2a07e}
.vespa-atlas-selector strong{font-weight:730;flex:1;min-width:0}
.vespa-atlas-selector:hover,.vespa-atlas-selector[aria-pressed=true]{color:#fff;background:#674326;border-color:#d9a86d}
.vespa-atlas-selector:focus-visible,.vespa-atlas-dossier-link:focus-visible{outline:2px solid #ffdcab;outline-offset:3px}
.vespa-map-dossier-content{padding:20px 22px 26px;flex:1}
.vespa-atlas-profile[hidden]{display:none!important}
.vespa-atlas-profile-photo{position:relative;height:165px;overflow:hidden;margin-bottom:18px;border:1px solid #b9905a3b;background:#312b24}
.vespa-atlas-profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:brightness(.88) saturate(.78)}
.vespa-atlas-intel{font-size:9px;letter-spacing:.19em;color:#c6a177;font-weight:790}
.vespa-atlas-profile h3{font-family:Georgia,serif;font-size:clamp(26px,2.1vw,38px);font-weight:500;color:#f4e8d7;letter-spacing:-.035em;margin:10px 0}
.vespa-atlas-profile p{color:#beac96;font-size:13px;line-height:1.7;max-height:120px;overflow:auto}
.vespa-atlas-profile dl{margin:15px 0 18px;border-top:1px solid #b9905a44}
.vespa-atlas-profile dl>div{display:grid;grid-template-columns:100px 1fr;border-bottom:1px solid #b9905a2d;gap:10px;padding:10px 0}
.vespa-atlas-profile dt{color:#8f7f6d;font-size:9px;letter-spacing:.1em}
.vespa-atlas-profile dd{font-size:11px;color:#e5cda9;margin:0}
.vespa-atlas-dossier-link{font-size:10px;letter-spacing:.09em;color:#f4d4a7;border-bottom:1px solid #b9905a;display:inline-flex;gap:15px;padding-bottom:8px}
/* Screen-size fit and accessible motion */
@media(max-width:1050px){.vespa-map-explorer-grid{grid-template-columns:1fr}.vespa-map-dossier{border-left:0;border-top:1px solid #d0a36b48}.vespa-map-dossier-content{max-width:720px}.cinema-slide{min-height:440px}}
@media(max-width:760px){.site-intro-center{width:min(92vw,540px)}.site-intro-center img{width:100%}.cinema-worlds{padding:66px 0 72px}.cinema-worlds-header{display:block}.cinema-worlds-header h2{font-size:clamp(34px,9vw,51px)}.cinema-controls{margin:28px 0 0;justify-content:flex-end}.cinema-scroller{width:calc(100% - 38px);gap:13px}.cinema-slide{width:min(87vw,520px);min-height:385px}.cinema-slide-content{padding:25px 25px 32px}.cinema-slide-content strong{font-size:36px}.cinema-slide-content small{font-size:12px}.vespa-atlas-topline,.vespa-map-foot{padding:13px 14px;font-size:8px;flex-wrap:wrap}.vespa-map-pin{width:27px;height:27px;font-size:9px}.vespa-map-stage figcaption{font-size:8px;padding:14px}.vespa-atlas-selector{font-size:9px;padding:11px 7px}.vespa-map-dossier-content{padding:18px}.vespa-atlas-profile-photo{height:190px}}
@media(max-width:400px){.vespa-map-faction-pickers{grid-template-columns:1fr}.vespa-map-pin{width:24px;height:24px}.cinema-slide{min-height:355px}.cinema-slide-content strong{font-size:31px}.cinema-slide-content small{max-width:270px}}
@media(prefers-reduced-motion:reduce){.home-splash-bg,.home-splash-prompt span,.vespa-map-pin,.cinema-slide img{transform:none!important;animation:none!important;transition:none!important}.cinema-scroller{scroll-behavior:auto}}
html.cinematic-first-visit .home-splash-logo{animation-play-state:paused}
@media(min-width:981px){.home-hero-grid{grid-template-columns:minmax(560px,680px) 1fr}.home-hero-copy{max-width:680px}.home-hero-copy h1{font-size:clamp(58px,5.25vw,76px);letter-spacing:-.065em}}

/* V7B — final Option 2 homepage art direction: legibility, restrained depth, type and controls.
   This is intentionally homepage-scoped; faction pages, games, Studio Desk and intro are untouched. */
.home-page .home-hero-panel{min-height:clamp(720px,83svh,980px);background:#050c15}
.home-page .home-hero-bg{
  inset:-4%;
  background-position:center 47%;
  filter:saturate(1.06) contrast(1.08);
  transform:translate3d(0,var(--epic-parallax,0px),0) scale(1.07);
  animation:epic-cinematic-drift 26s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes epic-cinematic-drift{
  from{transform:translate3d(-1.2%,var(--epic-parallax,0px),0) scale(1.075)}
  to{transform:translate3d(1.1%,var(--epic-parallax,0px),0) scale(1.13)}
}
.home-page .home-hero-bg:after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(3,7,14,.89) 0%,rgba(3,7,14,.77) 16%,rgba(3,7,14,.57) 34%,rgba(3,7,14,.22) 58%,rgba(3,7,14,.09) 86%),
    linear-gradient(0deg,rgba(4,8,15,.88) 0%,rgba(4,8,15,.18) 30%,rgba(4,8,15,.08) 74%,rgba(4,8,15,.21) 100%);
}
.home-page .home-hero-fog{
  opacity:.50;
  background:radial-gradient(ellipse at 63% 43%,rgba(254,173,109,.15),transparent 37%),
             radial-gradient(ellipse at 71% 87%,rgba(113,176,226,.12),transparent 40%);
  filter:blur(18px);
}
.home-page .home-hero-grid{min-height:clamp(720px,83svh,980px);padding-top:114px;padding-bottom:120px}
.home-page .home-hero-copy{position:relative;z-index:2;max-width:730px}
.home-page .home-hero-copy .eyebrow{color:#9fdaff;letter-spacing:.31em;font-size:11px;margin-bottom:28px;text-shadow:0 1px 14px #071420}
.home-page .home-hero-copy .eyebrow:before{width:42px;background:#66bffa;box-shadow:0 0 13px #5eb4ef66}
.home-page .home-hero-copy h1{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(62px,5.9vw,102px);
  line-height:.96;
  font-weight:600;
  letter-spacing:-.06em;
  text-wrap:balance;
  color:#fff;
  margin-bottom:34px;
  text-shadow:0 3px 14px rgba(0,0,0,.65),0 20px 65px rgba(0,0,0,.5);
}
.home-page .home-hero-copy p{font-size:clamp(16px,1.28vw,19px);line-height:1.8;color:#e1e9f0;max-width:480px;text-shadow:0 3px 16px #000b;margin-bottom:36px}
.home-page .home-hero-copy .actions{gap:30px}
.home-page .home-primary{
  border-radius:10px;
  border:1px solid #73c7ff;
  background:linear-gradient(125deg,rgba(11,34,57,.79),rgba(5,18,35,.78));
  padding:17px 24px;
  min-height:54px;
  font-size:11px;
  letter-spacing:.12em;
  font-weight:750;
  box-shadow:inset 0 0 0 1px #a1dfff18,0 0 25px #0d88e330,0 14px 34px #0004;
  transition:box-shadow .25s ease,background .25s ease,transform .25s ease,border-color .25s ease;
}
.home-page .home-primary:hover{
  background:linear-gradient(125deg,rgba(13,71,111,.94),rgba(10,41,66,.95));
  box-shadow:inset 0 0 0 1px #c9e9ff42,0 0 33px #58b9ff62,0 17px 38px #0007;
  border-color:#b3e4ff;
  transform:translateY(-3px);
}
.home-page .home-primary:focus-visible,.home-page .home-secondary:focus-visible{outline:2px solid #d0edff;outline-offset:5px}
.home-page .home-secondary{font-size:10px;font-weight:760;letter-spacing:.14em;color:#e9f4fd;text-shadow:0 2px 15px #000;transition:border-color .2s,color .2s}
.home-page .home-secondary:hover{color:#bde7ff;border-color:#7cbce7}
.home-page .header.home-header{background:rgba(3,9,17,.90);box-shadow:0 7px 28px #02081255,0 1px 0 #77b9e61f inset}
.home-page .header.home-header .navlinks a:not(.nav-contact){transition:color .24s ease,text-shadow .24s ease}
.home-page .header.home-header .navlinks a:not(.nav-contact):hover{color:#fff;text-shadow:0 0 19px #83cfff8c}
.home-page .header.home-header .nav-contact{border-color:#7fbcdf;background:linear-gradient(120deg,#12273caa,#0a1524dd);box-shadow:inset 0 0 0 1px #b5e6ff17,0 0 23px #41aaf230;transition:box-shadow .25s,border-color .25s,background .25s}
.home-page .header.home-header .nav-contact:hover{background:#16436a;border-color:#c2edff;box-shadow:0 0 27px #65c5ff64}
@media(min-width:981px){
  .home-page .home-hero-grid{grid-template-columns:minmax(580px,730px) minmax(0,1fr)}
  .home-page .home-hero-copy h1{font-size:clamp(64px,5.9vw,102px)}
}
@media(max-width:980px){
  .home-page .home-hero-panel{min-height:680px}
  .home-page .home-hero-grid{min-height:680px;padding-top:94px;padding-bottom:92px}
  .home-page .home-hero-copy h1{font-size:clamp(60px,8.2vw,88px)}
  .home-page .home-hero-bg{background-position:56% center}
}
@media(max-width:760px){
  .home-page .home-hero-panel{min-height:620px}
  .home-page .home-hero-grid{min-height:620px;padding-top:90px;padding-bottom:90px}
  .home-page .home-hero-bg{background-position:58% center;animation:none!important;transform:scale(1.025)!important;will-change:auto}
  .home-page .home-hero-bg:after{background:linear-gradient(90deg,rgba(4,8,15,.84),rgba(4,8,15,.59) 58%,rgba(4,8,15,.30)),linear-gradient(0deg,#040912de,transparent 35%,#0409124b)}
  .home-page .home-hero-copy{max-width:100%}
  .home-page .home-hero-copy .eyebrow{font-size:9px;letter-spacing:.22em;margin-bottom:28px}
  .home-page .home-hero-copy h1{font-size:clamp(49px,11.8vw,70px);margin-bottom:27px;line-height:.99;max-width:100%;overflow-wrap:normal}
  .home-page .home-hero-copy p{font-size:15px;max-width:95%;margin-bottom:31px}
  .home-page .home-hero-copy .actions{gap:20px}
  .home-page .home-primary{width:auto;max-width:100%;min-width:min(100%,235px)}
}
@media(max-width:390px){
  .home-page .home-hero-copy h1{font-size:clamp(45px,11.7vw,51px)}
  .home-page .home-primary{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .home-page .home-hero-bg{animation:none!important;transform:none!important;will-change:auto!important}
  .home-page .home-primary,.home-page .home-secondary,.home-page .header.home-header .nav-contact{transition:none!important}
}

/* V8 accessible launch polish — no layout or artwork redesign. */
body.intro-active{overflow:hidden}
html.cinematic-first-visit .site-intro{overscroll-behavior:contain}
.site-intro-skip:focus-visible{outline:3px solid #d8eeff;outline-offset:6px}
.home-page .home-splash-prompt:focus-visible,
.home-page .home-primary:focus-visible{outline:3px solid #cbeeff;outline-offset:5px}
@media (forced-colors: active){.site-intro-skip,.menu,.nav-contact,.home-primary{forced-color-adjust:auto;border:2px solid ButtonText}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto!important}}

/* V9 — Commissioned work / inquiry experience. Uses the existing studio palette. */
.service-eyebrow{display:inline-flex;align-items:center;gap:15px;font-size:10px;letter-spacing:.23em;font-weight:750;text-transform:uppercase;color:#8ad4fa}.service-eyebrow::before{content:"";height:1px;width:29px;background:#4da7de}
.service-hero{position:relative;isolation:isolate;overflow:hidden;min-height:690px;background:#06111f;color:#eaf4ff}
.service-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,9,16,.96),rgba(3,9,16,.83) 46%,rgba(2,9,15,.24)),linear-gradient(0deg,#071321,transparent 45%),url('assets/home-hero-epic.webp') center/cover no-repeat;filter:saturate(.79)}
.service-hero-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 68% 42%,#4a98ce24,transparent 37%),linear-gradient(180deg,transparent 65%,#07131f)}
.service-hero-inner{min-height:645px;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.5fr);align-items:center;gap:55px;padding:95px 0}
.service-hero-intro{max-width:820px}
.service-hero h1{font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-size:clamp(68px,9vw,144px);font-weight:850;line-height:.87;letter-spacing:-.07em;margin:34px 0 35px}
.service-hero h1 em,.service-section-intro h2 em,.service-process h2 em,.service-inquiry-copy h2 em,.service-home-copy h2 em,.service-success h1 em{font-family:Georgia,serif;font-weight:400;color:#b8e2ff;letter-spacing:-.06em}
.service-hero-intro>p{max-width:580px;color:#c9dcea;font-size:clamp(15px,1.3vw,19px);line-height:1.85}
.service-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:33px}
.service-cta,.service-submit{background:linear-gradient(110deg,#1b75ae,#09456a);border-color:#62bceb;color:white;border-radius:7px;box-shadow:0 8px 35px #13629341,0 0 0 1px #76bce635 inset;font-size:11px;letter-spacing:.11em;font-weight:780;min-height:52px}
.service-cta:hover,.service-submit:hover{background:linear-gradient(110deg,#288ec8,#0e608e);box-shadow:0 12px 43px #2683ce59;transform:translateY(-2px)}
.service-hero-side{align-self:end;justify-self:end;margin-bottom:70px;border-left:1px solid #73bde34f;padding:10px 0 10px 24px;display:flex;flex-direction:column;gap:12px;color:#c4d4df;font-size:10px;letter-spacing:.21em;font-weight:750}
.service-hero-side strong{color:#55aedd;font-size:21px;font-weight:350;line-height:.7}
.service-hero-bottom{border-top:1px solid #91c6eb25;background:#06111dbc}
.service-hero-bottom .wrap{display:flex;justify-content:space-between;gap:20px;padding:20px 0;color:#86a7bf;font-size:9px;letter-spacing:.18em;font-weight:650}
.service-offerings{background:#060f19;padding:110px 0 116px}
.service-section-intro{display:grid;grid-template-columns:1fr 360px;align-items:end;gap:35px;margin-bottom:55px}
.service-section-intro>.service-eyebrow{grid-column:1/-1}
.service-section-intro h2,.service-process h2,.service-inquiry-copy h2{font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;font-size:clamp(52px,6vw,86px);font-weight:840;line-height:.96;margin:0;letter-spacing:-.06em}
.service-section-intro>p{font-size:15px;line-height:1.85;color:#a8bece;margin:0}
.service-offerings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.service-offering{min-height:370px;display:flex;flex-direction:column;padding:34px 28px 25px;position:relative;overflow:hidden;border:1px solid #638daf3b;background:linear-gradient(155deg,#142940 0%,#091724 56%,#06121b 100%);transition:border-color .3s ease, transform .3s ease,box-shadow .3s ease}
.service-offering::before{content:"";position:absolute;top:-80px;right:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,#2c80b026,transparent 70%);pointer-events:none}
.service-offering:hover{border-color:#64b7e09c;transform:translateY(-5px);box-shadow:0 18px 42px #0006}
.service-offer-no{font-size:9px;letter-spacing:.15em;color:#7cbedf;font-weight:800}
.service-offering h3{font-family:"Arial Narrow",Arial,sans-serif;font-size:clamp(30px,2.8vw,43px);letter-spacing:-.04em;font-weight:790;margin:45px 0 21px;line-height:.99}
.service-offering p{font-size:13px;line-height:1.8;color:#b5c7d6;margin:0 0 25px}
.service-offer-foot{font-size:9px;letter-spacing:.13em;color:#80abc2;font-weight:700;margin-top:auto;padding-top:18px;border-top:1px solid #7298b638}
.service-offerings-note{margin:25px 0 0;color:#839db0;font-size:11px;line-height:1.7}
.service-process{padding:105px 0;background:radial-gradient(circle at 18% 35%,#16456a36,transparent 35%),#091827;border-block:1px solid #6387a039}
.service-process>.wrap{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr);gap:65px}
.service-process h2{margin-top:25px}
.service-process-steps{display:grid;gap:0}
.service-process-steps>div{display:grid;grid-template-columns:50px minmax(140px,.42fr) minmax(0,1fr);gap:20px;align-items:start;padding:27px 0;border-top:1px solid #6489a047}
.service-process-steps>div:last-child{border-bottom:1px solid #6489a047}
.service-process-steps span{color:#7ac9eb;font-size:13px;font-weight:780}
.service-process-steps h3{font-size:17px;font-weight:750;letter-spacing:.015em;margin:0}
.service-process-steps p{font-size:13px;color:#acc0d0;line-height:1.75;margin:0}
.service-form-section{padding:125px 0;background:#07131f;scroll-margin-top:98px}
.service-form-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,115px);align-items:start}
.service-inquiry-copy h2{margin:28px 0}
.service-inquiry-copy>p{max-width:400px;font-size:15px;line-height:1.85;color:#acc1d1}
.service-contact-direct{margin-top:35px;padding:30px 0;border-block:1px solid #688ba149;display:grid;gap:12px}
.service-contact-direct span{color:#7aaecd;letter-spacing:.15em;font-size:10px;font-weight:750}
.service-contact-direct a{font-size:15px;color:#d5f0ff;word-break:break-word}
.service-contact-direct a:hover{text-decoration:underline}
.service-faq{margin-top:35px}
.service-faq details{border-bottom:1px solid #688ba143}
.service-faq summary{font-size:13px;padding:22px 24px 22px 0;font-weight:650;color:#d4e4f0;cursor:pointer;position:relative;list-style:none}
.service-faq summary::-webkit-details-marker{display:none}
.service-faq summary::after{content:"+";position:absolute;right:0;top:14px;color:#89cfff;font-size:22px}
.service-faq details[open] summary::after{content:"−"}
.service-faq details p{font-size:13px;line-height:1.85;margin:0 0 22px}
.service-form-shell{border:1px solid #628fad59;background:linear-gradient(180deg,#112439,#081926);box-shadow:0 25px 60px #0005}
.service-form-head{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #759db349;padding:20px 30px;font-size:9px;font-weight:750;letter-spacing:.17em;color:#9ac8e4}
.service-inquiry-form{padding:28px 30px 35px}
.service-form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:21px;row-gap:21px}
.service-field{min-width:0}
.service-field-wide{grid-column:1/-1}
.service-field label{font-size:11px;font-weight:750;letter-spacing:.055em;color:#d3e3ed;display:block;margin-bottom:8px}
.service-field label span{color:#82cbf0}
.service-field input,.service-field select,.service-field textarea{width:100%;min-width:0;background:#071624;color:#e5eef7;border:1px solid #7297b05e;border-radius:5px;padding:14px 13px;font-size:13px;line-height:1.45;transition:border-color .2s,box-shadow .2s;appearance:auto}
.service-field input::placeholder,.service-field textarea::placeholder{color:#869daf}
.service-field :is(input,select,textarea):focus{outline:2px solid #66b9ea;outline-offset:1px;box-shadow:0 0 0 4px #3285b528}
.service-field textarea{resize:vertical;min-height:152px}
.service-field-hint{margin:7px 0 0;color:#8ea5b6;font-size:11px;line-height:1.65}
.service-form-footer{display:flex;flex-direction:column;gap:19px;align-items:stretch;margin-top:22px}
.service-form-privacy{margin:0;font-size:11px;line-height:1.7;color:#8ba8bc}
.service-form-privacy a,.service-preview-notice a{color:#a9e1ff;text-decoration:underline;text-underline-offset:3px}
.service-submit{align-self:start;min-width:245px}
.service-preview-notice{font-size:12px;line-height:1.7;padding:14px 17px;background:#19344c;border:1px solid #8cbad14f;color:#d4e6f3;margin:15px 0 0}
.service-preview-notice[hidden]{display:none}
.service-honeypot{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}
.service-success{min-height:74svh;background:radial-gradient(circle at 85% 38%,#2f87b837,transparent 33%),#071523;padding:130px 0}
.service-success .wrap{max-width:900px}
.service-success h1{font-family:"Arial Narrow",Arial,sans-serif;font-size:clamp(66px,11vw,146px);font-weight:830;line-height:.91;letter-spacing:-.07em;margin:35px 0}
.service-success p{max-width:610px;font-size:16px;line-height:1.85}
.service-success p a{color:#b6e6ff;text-decoration:underline}
.service-success .button{margin-top:26px}
.service-home-section{border-block:1px solid #6389a13e;background:linear-gradient(100deg,#081725 0%,#091d2e 68%,#07131f);overflow:hidden}
.service-home-layout{display:grid;grid-template-columns:1.18fr .82fr;gap:60px;min-height:520px;align-items:center;padding:80px 0}
.service-home-copy h2{font-family:"Arial Narrow",Arial,sans-serif;font-size:clamp(50px,6vw,86px);letter-spacing:-.06em;font-weight:850;line-height:.95;margin:26px 0 30px}
.service-home-copy>p{max-width:540px;font-size:16px;line-height:1.85;color:#adbfcd}
.service-home-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:35px}
.service-home-visual{min-height:350px;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 48%,#185e916a,transparent 65%),linear-gradient(120deg,#10283a,#071523 65%);border:1px solid #749ac14b;overflow:hidden}
.service-home-visual::before,.service-home-visual::after{content:"";position:absolute;width:430px;height:430px;border:1px solid #69b0dc38;border-radius:50%;transform:rotate(-25deg) scaleY(.65)}
.service-home-visual::after{width:270px;height:270px;transform:rotate(30deg) scaleY(.85);border-color:#6bbfe65b}
.service-visual-mark{font-size:clamp(110px,15vw,225px);letter-spacing:-.12em;font-weight:900;color:#b3dfff1b;transform:translateX(-9px);line-height:1}
.service-visual-text{position:absolute;color:#e2f1fb;font-size:10px;font-weight:780;letter-spacing:.27em;bottom:46px;left:36px;right:25px}
.service-visual-code{position:absolute;top:32px;left:36px;right:25px;font-size:9px;letter-spacing:.17em;color:#85b3d0}
@media(max-width:1160px){.service-offerings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-offering{min-height:300px}.service-process>.wrap{gap:35px}.service-form-layout{gap:45px}.service-hero-side{display:none}.service-hero-inner{grid-template-columns:1fr}}
@media(max-width:850px){.service-form-layout{grid-template-columns:1fr}.service-inquiry-copy{max-width:670px}.service-home-layout{grid-template-columns:1fr;gap:40px}.service-home-visual{min-height:300px}.service-section-intro{grid-template-columns:1fr;gap:17px}.service-section-intro>.service-eyebrow{grid-column:1}.service-process>.wrap{grid-template-columns:1fr}}
@media(max-width:650px){.service-hero{min-height:600px}.service-hero-inner{min-height:560px;padding:72px 0}.service-hero h1{font-size:clamp(58px,13vw,88px)}.service-hero-intro>p{font-size:15px}.service-hero-bottom .wrap{font-size:8px;line-height:1.8}.service-hero-bottom .wrap span:last-child{display:none}.service-offerings{padding:80px 0}.service-offerings-grid{grid-template-columns:1fr}.service-offering{min-height:260px}.service-offering h3{margin:26px 0 17px}.service-process{padding:80px 0}.service-process-steps>div{grid-template-columns:40px 1fr;gap:7px 16px}.service-process-steps p{grid-column:2}.service-form-section{padding:85px 0}.service-inquiry-form{padding:23px 18px 30px}.service-form-head{padding:17px 18px}.service-form-grid{grid-template-columns:1fr;gap:19px}.service-field-wide{grid-column:1}.service-submit{align-self:stretch}.service-home-layout{padding:80px 0}.service-home-copy h2{font-size:clamp(48px,12vw,72px)}.service-home-visual{min-height:250px}.service-hero-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.service-offering{transition:none}.service-offering:hover{transform:none}.service-cta:hover,.service-submit:hover{transform:none}}
@media(max-width:390px){.service-process>.wrap>div{min-width:0}.service-process h2{font-size:clamp(43px,11vw,52px);overflow-wrap:break-word}}

/* V10: no-cost on-site FAQ assistant */
/* EDITION XI — STUDIO CONCIERGE / Premium 603 chatbot design */
.studio-chat{--chat-ice:#eaf5ff;--chat-subtle:#9cb5c9;--chat-line:rgba(151,197,227,.20);position:fixed;bottom:max(22px,env(safe-area-inset-bottom));right:max(25px,env(safe-area-inset-right));z-index:86;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--chat-ice);isolation:isolate}
.studio-chat [hidden]{display:none!important}
.studio-chat button,.studio-chat input{font-family:inherit}
.studio-chat-launcher{position:relative;display:flex;align-items:center;min-height:62px;gap:13px;padding:7px 15px 7px 8px;border:1px solid rgba(175,222,255,.62);border-radius:18px;color:#f3faff;background:linear-gradient(125deg,#0b1b2c 10%,#103553 62%,#091b2c 100%);box-shadow:0 18px 53px rgba(0,0,0,.6),0 0 30px rgba(59,148,212,.25),inset 0 1px rgba(223,244,255,.12);letter-spacing:.11em;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;cursor:pointer;overflow:hidden}
.studio-chat-launcher:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 32%,rgba(173,229,255,.10) 49%,transparent 65%);transform:translateX(-100%);animation:studio-chat-sheen 7s ease-in-out infinite}
@keyframes studio-chat-sheen{0%,57%,100%{transform:translateX(-100%)}78%{transform:translateX(110%)}}
.studio-chat-launcher:hover{transform:translateY(-3px);border-color:rgba(194,236,255,.92);box-shadow:0 20px 65px rgba(0,0,0,.62),0 0 40px rgba(66,173,240,.42),inset 0 1px rgba(223,244,255,.17)}
.studio-chat-launcher-emblem{display:grid;place-items:center;flex:0 0 51px;width:51px;height:46px;border-radius:12px;background:radial-gradient(circle at 50% 45%,rgba(82,162,215,.37),rgba(10,26,43,.3) 67%);border:1px solid rgba(176,221,250,.2);box-shadow:inset 0 0 22px rgba(89,164,228,.13)}
.studio-chat-launcher-emblem img{width:47px;height:auto;object-fit:contain;filter:drop-shadow(0 2px 7px rgba(31,164,252,.45))}
.studio-chat-launcher-copy{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;line-height:1.2;min-width:77px}
.studio-chat-launcher-copy strong{font-size:13px;letter-spacing:.17em;color:#edf8ff}
.studio-chat-launcher-copy small{font-size:8px;letter-spacing:.19em;font-weight:750;color:#a5cadf}
.studio-chat-launcher-arrow{margin-left:2px;font-size:15px;color:#acdffc}
.studio-chat-panel{position:absolute;bottom:76px;right:0;display:flex;flex-direction:column;width:min(430px,calc(100vw - 26px));height:min(690px,calc(100dvh - 117px));min-height:370px;overflow:hidden;border:1px solid rgba(134,193,234,.42);border-radius:24px;background:#071421;box-shadow:0 32px 105px rgba(0,0,0,.78),0 0 50px rgba(43,123,184,.15),inset 0 1px rgba(233,248,255,.13);animation:studio-chat-open .24s cubic-bezier(.2,.86,.26,1) both}
.studio-chat-panel:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 15% 0%,rgba(67,139,202,.22),transparent 48%),radial-gradient(ellipse at 110% 50%,rgba(31,88,143,.12),transparent 55%);pointer-events:none}
.studio-chat-panel:after{content:"";position:absolute;top:0;left:22%;right:22%;height:1px;background:linear-gradient(90deg,transparent,#a5e3ff,transparent);box-shadow:0 0 14px rgba(88,196,255,.48);pointer-events:none}
@keyframes studio-chat-open{from{opacity:0;transform:translateY(13px) scale(.97)}to{opacity:1;transform:none}}
.studio-chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:17px 18px 16px;background:linear-gradient(120deg,rgba(20,45,66,.94),rgba(9,26,43,.92));border-bottom:1px solid var(--chat-line)}
.studio-chat-brand{display:flex;align-items:center;gap:12px;min-width:0}
.studio-chat-avatar{width:59px;height:53px;display:grid;place-items:center;flex:0 0 59px;border:1px solid rgba(140,204,244,.37);border-radius:13px;background:linear-gradient(150deg,rgba(37,89,124,.72),rgba(9,28,44,.62));box-shadow:inset 0 1px rgba(255,255,255,.1),0 0 22px rgba(56,169,252,.09)}
.studio-chat-avatar img{display:block;width:55px;height:auto;object-fit:contain;filter:drop-shadow(0 0 9px rgba(80,187,255,.35))}
.studio-chat-brand>div{display:grid;gap:3px;min-width:0}
.studio-chat-eyebrow{font-size:8px;letter-spacing:.2em;font-weight:780;color:#a0cbe5;white-space:nowrap}
.studio-chat-eyebrow>span{color:#54768e;padding:0 4px}
.studio-chat-brand strong{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:22px;line-height:1.05;letter-spacing:-.035em;color:#f3f8ff}
.studio-chat-availability{font-size:10px;color:#acc1cf;letter-spacing:.01em}
.studio-chat-status{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9ddbd3;margin-right:5px;box-shadow:0 0 8px rgba(144,228,221,.3)}
.studio-chat-close{border:1px solid rgba(137,181,209,.22);background:rgba(23,49,70,.64);color:#e2f1fc;display:grid;place-items:center;width:36px;height:36px;min-width:36px;border-radius:10px;font-size:22px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s}
.studio-chat-close:hover{background:rgba(39,82,112,.85);border-color:rgba(175,230,255,.6)}
.studio-chat-feed{flex:1;overflow:auto;overscroll-behavior:contain;min-height:0;display:flex;flex-direction:column;gap:16px;padding:19px 19px 20px;scrollbar-color:#335b76 transparent}
.studio-chat-welcome{position:relative;flex:0 0 auto;padding:6px 2px 15px}
.studio-chat-welcome-overline{font-size:9px;letter-spacing:.17em;font-weight:750;color:#98c7e4}
.studio-chat-welcome-overline span{margin-left:4px;color:#71c3f0}
.studio-chat-welcome h2{font-family:Georgia,"Times New Roman",serif!important;text-transform:none;font-size:clamp(32px,4vw,39px);line-height:1.08;letter-spacing:-.055em;font-weight:400;margin:12px 0 12px;color:#f7faff}
.studio-chat-welcome h2 em{font-style:italic;color:#9acdec;font-weight:400;letter-spacing:-.05em}
.studio-chat-welcome p{font-size:12px;line-height:1.7;color:#aac0cf;max-width:335px;margin:0}
.studio-chat-welcome-rule{display:block;margin-top:20px;width:100%;height:1px;background:linear-gradient(90deg,rgba(142,197,230,.52),transparent)}
.studio-chat-message{display:flex;gap:9px;max-width:100%;min-width:0;align-items:flex-start;animation:studio-chat-message-in .17s ease-out both}
@keyframes studio-chat-message-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.studio-chat-message.is-user{justify-content:flex-end}
.studio-chat-message-avatar{flex:0 0 27px;width:27px;height:27px;display:grid;place-items:center;border:1px solid rgba(116,189,233,.44);border-radius:9px;background:rgba(25,69,96,.64);font-weight:800;font-size:10px;color:#c7efff;letter-spacing:-.05em;margin-top:19px}
.studio-chat-message-body{max-width:calc(100% - 37px);min-width:0;display:flex;flex-direction:column;gap:5px}
.studio-chat-message.is-user .studio-chat-message-body{align-items:flex-end;max-width:88%}
.studio-chat-message-label{font-size:8px;letter-spacing:.17em;color:#8fb8d2;font-weight:780}
.studio-chat-message.is-user .studio-chat-message-label{color:#b4c6d5}
.studio-chat-bubble{max-width:100%;padding:12px 13px 13px;background:linear-gradient(135deg,#153046,#112637);border:1px solid rgba(105,159,190,.31);border-radius:3px 14px 14px 14px;overflow-wrap:anywhere;box-shadow:inset 0 1px rgba(225,246,255,.035)}
.studio-chat-message.is-user .studio-chat-bubble{background:linear-gradient(135deg,#255c82,#194567);border-color:rgba(128,203,250,.4);border-radius:14px 3px 14px 14px}
.studio-chat-bubble p{color:#e2eff8;font-size:12px;line-height:1.7;margin:0;white-space:pre-wrap}
.studio-chat-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.studio-chat-actions a{display:inline-flex;align-items:center;min-height:35px;padding:7px 11px;border:1px solid rgba(110,181,229,.46);border-radius:8px;color:#d5efff;background:rgba(52,113,154,.22);font-size:10px;line-height:1.4;text-decoration:none;font-weight:670;transition:border-color .18s,background .18s}
.studio-chat-actions a:hover{background:rgba(52,113,154,.55);border-color:#9bdcff}
.studio-chat-prompts{flex:0 0 auto;border-top:1px solid rgba(139,191,222,.14);padding:10px 14px 12px;background:linear-gradient(180deg,rgba(12,30,45,.46),rgba(10,25,38,.9))}
.studio-chat-prompts-label{display:flex;align-items:center;justify-content:space-between;color:#8fb4cc;font-size:9px;letter-spacing:.19em;font-weight:800;padding:0 3px 9px}
.studio-chat-prompts-label span{color:#6eabc9}
.studio-chat-prompt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.studio-chat-prompt-grid button{min-width:0;min-height:59px;display:flex;align-items:center;gap:8px;padding:9px 8px;border:1px solid rgba(112,173,213,.26);border-radius:11px;background:linear-gradient(135deg,rgba(25,58,82,.66),rgba(13,35,54,.74));color:#e5f6ff;cursor:pointer;text-align:left;transition:background .2s,border-color .2s,transform .2s}
.studio-chat-prompt-grid button:hover{background:linear-gradient(135deg,rgba(31,90,130,.78),rgba(18,53,82,.86));border-color:rgba(142,210,255,.7);transform:translateY(-1px)}
.studio-chat-prompt-icon{flex:0 0 22px;width:22px;height:28px;display:grid;place-items:center;color:#9bdafa;font-size:17px}
.studio-chat-prompt-grid button>span:nth-child(2){display:grid;gap:2px;min-width:0}
.studio-chat-prompt-grid strong{font-size:11px;font-weight:750;line-height:1.2;white-space:nowrap}
.studio-chat-prompt-grid small{font-size:9px;color:#97b4c7;line-height:1.4;white-space:nowrap}
.studio-chat-prompt-arrow{margin-left:auto;color:#8dbfdb;font-size:11px}
.studio-chat-compose{padding:12px 13px 13px;flex:0 0 auto;background:linear-gradient(180deg,rgba(8,24,37,.94),#071421);border-top:1px solid rgba(128,179,216,.16)}
.studio-chat-form{display:flex;align-items:center;gap:7px;padding:5px 5px 5px 14px;border:1px solid rgba(131,196,240,.44);border-radius:13px;background:rgba(16,43,64,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:border-color .2s,box-shadow .2s}
.studio-chat-form:focus-within{border-color:rgba(170,223,255,.84);box-shadow:0 0 0 3px rgba(73,166,229,.13)}
.studio-chat-form input{height:38px;flex:1;min-width:0;padding:0;border:0;outline:none;background:transparent;font-size:12px;color:#eaf7ff}
.studio-chat-form input::placeholder{color:#94afc1}
.studio-chat-form button{display:grid;place-items:center;flex:0 0 39px;width:39px;height:39px;background:linear-gradient(145deg,#63b1e8,#216f9e);color:#061724;border:1px solid rgba(196,236,255,.36);border-radius:10px;font-size:21px;font-weight:900;cursor:pointer;transition:filter .18s,transform .18s}
.studio-chat-form button:hover{filter:brightness(1.14);transform:translateY(-1px)}
.studio-chat-disclaimer{padding:9px 4px 0;margin:0;font-size:9px!important;line-height:1.6!important;color:#829bad!important}
.studio-chat-disclaimer a{color:#b1e5ff;text-decoration:underline;text-underline-offset:3px}
.studio-chat-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.studio-chat :is(button,a,input):focus-visible{outline:2px solid #b7e8ff!important;outline-offset:3px!important}
@media(max-width:640px){.studio-chat{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}.studio-chat-panel{bottom:72px;width:min(430px,calc(100vw - 24px));height:min(675px,calc(100dvh - 94px));min-height:310px;border-radius:20px}.studio-chat-head{padding:12px 13px}.studio-chat-avatar{height:45px;width:50px;flex-basis:50px}.studio-chat-avatar img{width:48px}.studio-chat-brand strong{font-size:19px}.studio-chat-brand .studio-chat-eyebrow{font-size:7px}.studio-chat-availability{font-size:9px}.studio-chat-feed{padding:13px}.studio-chat-welcome h2{font-size:32px}.studio-chat-welcome p{font-size:11px}.studio-chat-prompts{padding:9px 11px}.studio-chat-prompt-grid{gap:6px}.studio-chat-prompt-grid button{padding:7px 5px;gap:3px;min-height:54px}.studio-chat-prompt-icon{flex-basis:19px;width:19px;font-size:15px}.studio-chat-prompt-grid strong{font-size:10px}.studio-chat-prompt-grid small{font-size:8px}.studio-chat-prompt-arrow{font-size:10px}.studio-chat-compose{padding:9px 11px 10px}.studio-chat-launcher{min-height:54px;padding:5px 12px 5px 6px}.studio-chat-launcher-emblem{width:44px;height:43px;flex-basis:44px}.studio-chat-launcher-emblem img{width:40px}}
@media(max-width:365px){.studio-chat-prompt-arrow{display:none}.studio-chat-panel{height:min(630px,calc(100dvh - 90px))}.studio-chat-brand strong{font-size:18px}}
@media(max-height:560px){.studio-chat-panel{min-height:0;height:calc(100dvh - 89px)}.studio-chat-prompts{padding:6px 11px}.studio-chat-prompt-grid button{min-height:44px}.studio-chat-welcome{padding-bottom:7px}.studio-chat-welcome h2{font-size:30px;margin:8px 0}}
@media(prefers-reduced-motion:reduce){.studio-chat-launcher,.studio-chat-launcher:hover,.studio-chat-panel,.studio-chat-message,.studio-chat-prompt-grid button,.studio-chat-prompt-grid button:hover,.studio-chat-form button,.studio-chat-form button:hover{animation:none!important;transition:none!important;transform:none!important}.studio-chat-launcher:before{animation:none!important;display:none}}


/* V13 — immersive 603 entrance. One opening screen, multiple photo-derived layers. */
.home-splash-depth{
  height:166svh; min-height:1040px; min-height:max(1040px,166svh);
  display:block; overflow:visible; position:relative; isolation:isolate;
  --s-sky-y:0px; --s-sky-scale:1.055; --s-cloud-left-x:0px;
  --s-cloud-right-x:0px; --s-cloud-y:0px; --s-ridge-y:0px;
  --s-trees-y:0px; --s-logo-scale:1; --s-logo-y:0px;
  --s-logo-opacity:1; --s-prompt-opacity:1; --s-rays-opacity:.42;
}
.home-splash-depth .home-splash-stage{
  position:sticky; top:0; left:0; width:100%; height:100svh; min-height:570px;
  isolation:isolate; overflow:hidden; display:grid; place-items:center;
  background:#030911;
}
.home-splash-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.home-splash-depth .home-splash-bg{
  inset:-6%; z-index:0; background-image:url('assets/intro-nh-mountains.webp');
  background-size:cover; background-position:center center;
  will-change:auto; transition:none;
  transform:translate3d(0,var(--s-sky-y),0) scale(var(--s-sky-scale));
}
.home-splash-depth .home-splash-bg:after{content:'';display:block;background:linear-gradient(180deg,#03091133,#03091118 45%,#03091175 100%)}
.home-splash-distant-light{
  position:absolute; inset:-8%; z-index:1;
  background:radial-gradient(ellipse at 84% 20%,#fbc1843b,transparent 35%),radial-gradient(ellipse at 49% 48%,#56aeff22,transparent 35%);
  opacity:var(--s-rays-opacity);mix-blend-mode:screen;
}
.home-splash-depth .home-splash-cloud{
  position:absolute; width:69%; height:auto; max-width:none; z-index:2;
  mix-blend-mode:screen; opacity:.60; filter:blur(6px) saturate(.8);
  pointer-events:none; user-select:none;
}
.home-splash-cloud-left{
  left:-24%; top:35%; transform:translate3d(var(--s-cloud-left-x),var(--s-cloud-y),0) rotate(-3deg);
}
.home-splash-cloud-right{
  right:-25%; top:32%; transform:translate3d(var(--s-cloud-right-x),var(--s-cloud-y),0) rotate(3deg);
}
.home-splash-depth .home-splash-near-mountains{
  position:absolute; z-index:3; inset:-3%; width:106%; height:106%; max-width:none;
  object-fit:cover; object-position:center; opacity:.90;
  transform:translate3d(0,var(--s-ridge-y),0) scale(1.035);
  pointer-events:none; user-select:none;
}
.home-splash-depth .home-splash-trees{
  position:absolute; z-index:4; left:-6%; bottom:-36px;
  width:112%; height:auto; max-width:none; opacity:.55;
  transform:translate3d(0,var(--s-trees-y),0);
  pointer-events:none; user-select:none;
}
.home-splash-depth .home-splash-fog{
  z-index:5; inset:0; background:radial-gradient(ellipse at 20% 70%,#c2dded1f,transparent 37%),radial-gradient(ellipse at 75% 73%,#91bfdf1c,transparent 34%),radial-gradient(ellipse at 50% 50%,#3e8ac229,transparent 30%);
  opacity:.80; filter:blur(20px); mix-blend-mode:screen;
}
.home-splash-shade{
  position:absolute; z-index:6; inset:0;
  background:linear-gradient(180deg,#03091128 0%,transparent 24%,#03091113 54%,#030911ac 100%),radial-gradient(ellipse at 50% 40%,transparent 6%,#03091142 96%);
}
.home-splash-depth .home-splash-inner{
  width:min(100%,1100px); z-index:8; position:relative;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  height:100%; min-height:0; padding:65px 22px 110px; gap:26px;
  transform:none;
}
.home-splash-depth .home-splash-logo{
  width:min(68vw,670px); max-width:100%; height:auto;
  transform:translate3d(0,var(--s-logo-y),0) scale(var(--s-logo-scale));
  opacity:var(--s-logo-opacity); animation:none;
  filter:drop-shadow(0 0 35px #258be57a) drop-shadow(0 0 100px #258be531);
  object-fit:contain; will-change:auto;
}
.home-splash-depth .home-splash-prompt{
  position:relative; opacity:var(--s-prompt-opacity); transform:none;
  letter-spacing:.28em; font-weight:700; font-size:10px; color:#eff9ff;
  text-shadow:0 3px 22px #03080e; border-bottom:1px solid #b5daf17c;
  padding:7px 7px 13px;z-index:10;
}
.home-splash-skip{
  position:absolute;z-index:11;right:clamp(22px,5vw,90px);bottom:clamp(23px,4vh,48px);
  color:#e1f2fe; font-size:10px;letter-spacing:.16em;font-weight:750;
  padding:10px 0;border-bottom:1px solid #8bc3e887;text-shadow:0 2px 12px #000;
}
.home-splash-skip:hover,.home-splash-prompt:hover{color:#fff;border-color:#f1fbff}
.home-splash-skip:focus-visible,.home-splash-prompt:focus-visible{outline:3px solid #c9efff;outline-offset:5px}
.home-splash-counter{position:absolute;left:clamp(22px,5vw,90px);bottom:clamp(34px,5vh,55px);z-index:10;color:#d8e6f3a8;font-size:9px;letter-spacing:.22em;font-weight:750}
.home-splash-depth + .home-header{scroll-margin-top:0}
@media(max-width:760px),(pointer:coarse){
  .home-splash-depth{height:auto;min-height:0;display:block}
  .home-splash-depth .home-splash-stage{height:85svh;min-height:490px;position:relative;top:auto}
  .home-splash-depth .home-splash-bg{inset:-1%;transform:scale(1.02)!important;background-position:52% center}
  .home-splash-depth .home-splash-cloud{width:100%;opacity:.32;filter:blur(6px)}
  .home-splash-cloud-left{left:-52%;top:36%;transform:none!important}
  .home-splash-cloud-right{right:-50%;top:42%;transform:none!important}
  .home-splash-depth .home-splash-near-mountains{inset:0;width:100%;height:100%;transform:none!important;opacity:.65}
  .home-splash-depth .home-splash-trees{width:145%;left:-22%;bottom:-8px;transform:none!important;opacity:.43}
  .home-splash-depth .home-splash-inner{padding:90px 15px 90px;min-height:0}
  .home-splash-depth .home-splash-logo{width:min(90vw,550px);transform:none!important;opacity:var(--s-logo-opacity,1)}
  .home-splash-depth .home-splash-prompt{opacity:1!important;font-size:9px;letter-spacing:.16em}
  .home-splash-skip{right:18px;bottom:18px;font-size:9px}
  .home-splash-counter{left:18px;bottom:30px;font-size:8px;letter-spacing:.12em}
}
@media(prefers-reduced-motion:reduce){
  .home-splash-depth{height:auto!important;min-height:0}
  .home-splash-depth .home-splash-stage{position:relative!important;top:auto!important;min-height:580px;height:90svh}
  .home-splash-depth .home-splash-bg,.home-splash-depth .home-splash-cloud,
  .home-splash-depth .home-splash-trees,.home-splash-depth .home-splash-near-mountains,
  .home-splash-depth .home-splash-logo,.home-splash-depth .home-splash-inner{
    transform:none!important;animation:none!important;transition:none!important;
  }
  .home-splash-depth .home-splash-logo,.home-splash-depth .home-splash-prompt{opacity:1!important}
}


/* V14: clear Netlify's bottom-right UI and finish the cinematic logo fade. */
.studio-chat{
  left:max(18px,env(safe-area-inset-left));
  right:auto;
  bottom:max(24px,env(safe-area-inset-bottom));
}
.studio-chat-panel{
  left:0;
  right:auto;
}
@media(max-width:640px){
  .studio-chat{
    left:max(12px,env(safe-area-inset-left));
    right:auto;
    bottom:max(14px,env(safe-area-inset-bottom));
  }
  .studio-chat-panel{
    left:0;
    right:auto;
  }
}
@media(max-width:365px){
  .studio-chat-panel{max-width:calc(100vw - 24px)}
}


/* V17 — Four Seasons of 603. Matched photographic backgrounds crossfade with scroll.
   Low-cost opacity compositing preserves V16 artwork, site performance, and the V13 parallax. */
.home-splash-depth{height:305svh;min-height:1800px;--season-spring:1;--season-summer:0;--season-autumn:0;--season-winter:0;--season-progress:0%}
.home-splash-depth .home-splash-season{
  position:absolute;inset:-6%;z-index:0;
  background-position:center center;background-repeat:no-repeat;background-size:cover;
  opacity:var(--season-alpha,0);
  transform:translate3d(0,var(--s-sky-y),0) scale(var(--s-sky-scale));
  pointer-events:none;will-change:opacity;
}
.home-splash-depth .season-spring{background-image:url('assets/intro-season-spring.webp')}
.home-splash-depth .season-summer{background-image:url('assets/intro-season-summer.webp')}
.home-splash-depth .season-autumn{background-image:url('assets/intro-season-autumn.webp')}
.home-splash-depth .season-winter{background-image:url('assets/intro-season-winter.webp')}
.home-splash-season-label{
  position:absolute;bottom:clamp(75px,10vh,115px);left:clamp(22px,5vw,90px);z-index:10;
  display:grid;gap:7px;min-width:200px;pointer-events:none;
  text-shadow:0 2px 18px #000;
}
.home-splash-season-eyebrow{font-size:9px;color:#b7cddb;letter-spacing:.19em;font-weight:750}
.home-splash-season-label strong{font-family:Georgia,serif;font-size:clamp(26px,3vw,39px);font-weight:400;letter-spacing:.13em;color:#f4f9ff;line-height:1.1}
.home-splash-season-track{height:2px;width:200px;background:rgba(214,237,255,.2);display:block;overflow:hidden}
.home-splash-season-track>span{height:100%;display:block;width:var(--season-progress,0%);background:linear-gradient(90deg,#88c9ff,#e8f8ff);box-shadow:0 0 10px #b9dffc}
/* Seasonal photo variations already include foliage and snowfall; keep dynamic layers subdued. */
.home-splash-depth .home-splash-near-mountains{opacity:.48}
.home-splash-depth .home-splash-trees{opacity:.42}
@media(max-width:760px),(pointer:coarse){
  /* Mobile scrolls through all seasons via lightweight fades only, no depth transforms. */
  .home-splash-depth{height:215svh!important;min-height:0!important;display:block!important}
  .home-splash-depth .home-splash-stage{position:sticky!important;top:0!important;height:100svh!important;min-height:0!important}
  .home-splash-depth .home-splash-season{inset:-1%;transform:none!important;background-position:52% center;will-change:auto}
  .home-splash-depth .home-splash-season-label{bottom:90px;left:18px;min-width:135px;gap:6px}
  .home-splash-season-label strong{font-size:25px}
  .home-splash-season-eyebrow{font-size:7px;letter-spacing:.12em}
  .home-splash-season-track{width:133px}
  .home-splash-depth .home-splash-near-mountains{opacity:.35}
  .home-splash-depth .home-splash-trees{opacity:.32}
}
@media(prefers-reduced-motion:reduce){
  .home-splash-depth{height:auto!important;min-height:0!important}
  .home-splash-depth .home-splash-stage{position:relative!important;top:auto!important;height:90svh!important;min-height:480px!important}
  .home-splash-depth .home-splash-season{transform:none!important;transition:none!important;will-change:auto}
  .home-splash-depth .season-spring{opacity:1!important}
  .home-splash-depth :is(.season-summer,.season-autumn,.season-winter){opacity:0!important}
  .home-splash-season-label strong{font-size:26px}
}


/* V18 — seasonal cinematic weather, independent from the approved 603 emblem. */
.home-splash-depth .home-splash-weather{position:absolute;inset:0;z-index:7;display:block;width:100%;height:100%;pointer-events:none;user-select:none;contain:strict}
.home-splash-depth .home-splash-season{image-rendering:auto}
@media(max-width:760px),(pointer:coarse){.home-splash-depth .home-splash-weather{opacity:.85}}
@media(prefers-reduced-motion:reduce){.home-splash-depth .home-splash-weather{display:none!important}}
