@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Noto+Sans+JP:wght@400;600;800;900&display=swap');

:root{--navy:#061a23;--cyan:#00a4b3;--cream:#f2ecde;--ink:#101719;--orange:#ff7830;--pink:#ed5fa7;--line:rgba(242,236,222,.28);--pad:clamp(18px,3.4vw,58px);--mono:'IBM Plex Mono',monospace;--jp:'Noto Sans JP',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--navy)}body{margin:0;background:var(--navy);color:var(--cream);font-family:var(--jp);overflow-x:hidden}
@media(pointer:fine){body{cursor:none}}
@media(pointer:coarse){.cursor{display:none}}a,button{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}.noise,.scanlines{position:fixed;inset:0;pointer-events:none;z-index:90}.noise{opacity:.045;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='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.scanlines{opacity:.07;background:repeating-linear-gradient(0deg,transparent 0 3px,#000 4px)}
.cursor{position:fixed;width:28px;height:28px;border:1px solid var(--cyan);border-radius:50%;z-index:200;pointer-events:none;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s}.cursor:after{content:'';position:absolute;left:50%;top:50%;width:4px;height:4px;background:var(--cyan);transform:translate(-50%,-50%)}.cursor.hot{width:52px;height:52px;background:rgba(0,164,179,.16)}
.loader{position:fixed;inset:0;background:var(--cream);color:var(--navy);z-index:300;display:grid;align-content:space-between;padding:var(--pad);transition:clip-path 1.1s cubic-bezier(.77,0,.18,1);clip-path:inset(0)}.loader.done{clip-path:inset(0 0 100% 0);pointer-events:none}.loader-mark img{width:clamp(240px,52vw,760px);height:auto;display:block}.loader-bottom{display:flex;justify-content:space-between;font:11px var(--mono);letter-spacing:.18em}.loadbar{position:absolute;left:var(--pad);right:var(--pad);bottom:15%;height:1px;background:rgba(6,26,35,.2)}.loadbar span{display:block;height:100%;background:var(--cyan);animation:load 1.4s both}@keyframes load{from{width:0}to{width:100%}}
.site-head{position:fixed;z-index:100;left:0;right:0;top:0;padding:20px var(--pad);display:flex;justify-content:space-between;align-items:center;pointer-events:none}.site-head>*{pointer-events:auto}.brand{text-decoration:none;display:block;mix-blend-mode:difference}.brand img{height:17px;width:auto;display:block}.head-actions{display:flex;gap:10px;align-items:center}.sound-toggle{display:flex;align-items:center;gap:10px;border:0;background:var(--pink);color:#fff;border-radius:999px;padding:9px 16px;cursor:none;box-shadow:0 8px 26px rgba(237,95,167,.4);transition:background .3s}.sound-toggle:hover{background:var(--cyan)}.sound-toggle:before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 12px rgba(255,255,255,.9)}.sound-toggle.is-on:before{animation:pulse 1.4s infinite}.sound-toggle .jp{font-size:12px;font-weight:700}.sound-toggle .en{font:8px var(--mono);letter-spacing:.18em;color:rgba(255,255,255,.85)}
.menu-btn{border:0;background:var(--pink);color:#fff;border-radius:999px;font:11px var(--mono);letter-spacing:.18em;padding:9px 18px;cursor:none;box-shadow:0 8px 26px rgba(237,95,167,.4);transition:background .3s}.menu-btn:hover{background:var(--cyan)}.realm-index{position:fixed;z-index:80;right:var(--pad);top:50%;transform:translateY(-50%);display:grid;gap:11px;font:10px var(--mono);text-align:right}.realm-index a{text-decoration:none;opacity:.34;transition:.3s}.realm-index a.active{opacity:1;color:var(--cyan)}
.nav-panel{position:fixed;z-index:150;inset:0;background:var(--cream);color:var(--navy);padding:calc(var(--pad) + 40px) var(--pad) var(--pad);transform:translateY(-100%);transition:transform .7s cubic-bezier(.77,0,.18,1)}.nav-panel.open{transform:none}.nav-close{position:absolute;right:var(--pad);top:24px;border:0;background:var(--pink);color:#fff;border-radius:999px;padding:9px 18px;font:11px var(--mono);letter-spacing:.2em;box-shadow:0 8px 26px rgba(237,95,167,.35)}.nav-links{display:grid}.nav-links a{font-size:clamp(48px,11vw,150px);font-weight:900;letter-spacing:-.08em;line-height:.92;text-decoration:none;border-bottom:1px solid rgba(6,26,35,.16);transition:padding .3s,color .3s}.nav-links a:hover{padding-left:4vw;color:var(--cyan)}
.hero,.world{position:relative;min-height:100svh;overflow:hidden}.hero-media,.world-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-media{filter:saturate(.7) contrast(1.12);animation:drift 14s ease-in-out infinite alternate}
@media(prefers-reduced-motion:reduce){.hero-media,.orbit{animation:none}}@keyframes drift{to{transform:scale(1.08) translate3d(-1%,1%,0)}}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,26,35,.86),rgba(6,26,35,.08) 58%,rgba(6,26,35,.4)),linear-gradient(0deg,rgba(6,26,35,.8),transparent 55%)}
.telemetry{position:absolute;inset:0;pointer-events:none}.cross{position:absolute;width:34px;height:34px}.cross:before,.cross:after{content:'';position:absolute;background:var(--cyan)}.cross:before{left:50%;top:0;width:1px;height:100%}.cross:after{top:50%;left:0;width:100%;height:1px}.cross.a{left:12%;top:24%}.cross.b{right:18%;bottom:24%;transform:scale(.6)}.orbit{position:absolute;width:min(46vw,600px);aspect-ratio:1;border:1px solid rgba(0,164,179,.42);border-radius:50%;right:-12%;top:14%;animation:spin 24s linear infinite}.orbit:before,.orbit:after{content:'';position:absolute;border:1px solid rgba(0,164,179,.22);border-radius:50%;inset:10%}.orbit:after{inset:28%}@keyframes spin{to{transform:rotate(360deg)}}
.hero-content{position:relative;z-index:2;min-height:100svh;padding:18vh var(--pad) 5vh;display:flex;flex-direction:column;justify-content:space-between}.kicker,.micro{font:10px var(--mono);letter-spacing:.2em;text-transform:uppercase}.hero h1{font-size:clamp(70px,15vw,230px);font-weight:900;line-height:.75;letter-spacing:-.09em;margin:0;max-width:5ch}.hero h1 span{display:block;color:var(--cyan);font-size:.5em;letter-spacing:-.05em;margin-left:14vw}.hero-foot{display:flex;justify-content:space-between;align-items:end;gap:30px}.hero-foot p{max-width:34ch;margin:0;font-size:clamp(14px,1.4vw,20px)}.media-slot{font:9px var(--mono);letter-spacing:.16em;border-left:2px solid var(--orange);padding-left:10px;color:rgba(242,236,222,.72)}
.manifesto{min-height:100svh;background:var(--cream);color:var(--navy);padding:15vh var(--pad);position:relative;display:grid;align-items:center}.manifesto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92;filter:saturate(.85) contrast(1.04)}.manifesto:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(242,236,222,.88) 0%,rgba(242,236,222,.55) 46%,rgba(242,236,222,.12) 100%)}.manifesto h2{position:relative;z-index:2;margin:0;font-size:clamp(44px,8.2vw,130px);line-height:.98;letter-spacing:-.06em;max-width:11ch;text-shadow:0 1px 0 rgba(242,236,222,.5)}.manifesto h2 i{color:var(--cyan);font-style:normal}.side-note{position:absolute;z-index:2;right:var(--pad);bottom:8vh;writing-mode:vertical-rl;font:10px var(--mono);letter-spacing:.16em}
.realms{background:#040d12}.realm-head{min-height:70vh;padding:15vh var(--pad) 8vh;display:flex;align-items:end;justify-content:space-between;gap:30px}.realm-head h2{font-size:clamp(62px,13vw,190px);line-height:.74;letter-spacing:-.08em;margin:0}.realm-head h2 span{display:block;color:var(--cyan);font-size:.17em;line-height:1;margin:0 0 25px 8px;letter-spacing:.1em}.realm-head p{max-width:26ch;color:rgba(242,236,222,.6)}
.world{display:block;text-decoration:none;background:#000}.world-media{transition:transform 1.2s cubic-bezier(.2,.7,.1,1),filter .8s}.world:hover .world-media{transform:scale(1.04);filter:saturate(1.2)}.world-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,13,18,.94),transparent 65%)}.world-copy{position:absolute;z-index:3;left:var(--pad);right:var(--pad);bottom:7vh;display:grid;grid-template-columns:1fr auto;align-items:end}.world-copy h3{font-size:clamp(52px,10vw,145px);letter-spacing:-.07em;line-height:.82;margin:0}.world-copy h3 small{display:block;font:10px var(--mono);letter-spacing:.18em;color:var(--cyan);margin-bottom:20px}.enter{width:110px;height:110px;background:var(--pink);border:1px solid var(--pink);color:#fff;border-radius:50%;display:grid;place-items:center;font:10px var(--mono);letter-spacing:.08em;box-shadow:0 10px 34px rgba(237,95,167,.4);transition:.35s}.world:hover .enter{background:var(--cyan);border-color:var(--cyan);color:var(--navy);transform:rotate(15deg);box-shadow:0 10px 34px rgba(0,164,179,.4)}
.world--riso{background:#efe9dc;min-height:100svh}.riso-stage{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(120% 90% at 50% 30%,#f6f1e6,#e7dfcd)}.riso-layer{position:absolute;height:min(86svh,860px);width:auto;max-width:74vw;object-fit:contain;mix-blend-mode:multiply;opacity:0;transition:opacity .25s linear,transform .25s linear}.riso-layer--final{mix-blend-mode:normal}.world--riso .world-overlay{background:linear-gradient(0deg,rgba(4,13,18,.55),transparent 42%)}.world--riso .world-copy h3{color:var(--cream)}.world--riso .world-copy h3 small{color:#ffb03a}.tokiwa{background:var(--cyan);color:var(--navy);min-height:100svh;display:grid;grid-template-columns:1.15fr .85fr;overflow:hidden}.tokiwa-visual{position:relative;min-height:85svh}.tokiwa-visual img,.tokiwa-visual video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center}.tokiwa-visual img{mix-blend-mode:luminosity}.tokiwa-copy{padding:12vh var(--pad);display:flex;flex-direction:column;justify-content:space-between}.tokiwa-copy h2{font-size:clamp(58px,10vw,150px);line-height:.76;letter-spacing:-.08em;margin:0}.tokiwa-copy p{max-width:30ch;font-size:clamp(16px,1.4vw,20px)}.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 0 rgba(255,120,48,.6);animation:pulse 2s infinite}@keyframes pulse{70%{box-shadow:0 0 0 18px transparent}}
.contact{min-height:100svh;background:var(--cream);color:var(--navy);padding:15vh var(--pad) 6vh;display:flex;flex-direction:column;justify-content:space-between}.contact h2{font-size:clamp(54px,11vw,160px);line-height:.83;letter-spacing:-.08em;margin:0}.contact a.email{font:clamp(18px,3vw,44px) var(--mono);text-decoration:none;color:var(--pink);border-bottom:3px solid var(--pink);align-self:flex-start;transition:color .3s,border-color .3s}.contact a.email:hover{color:var(--cyan);border-color:var(--cyan)}.footline{display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.15em}

/* project */.project-hero .hero-media{animation:none}.project-title{font-size:clamp(76px,16vw,240px)!important}.project-title span{font-size:.22em!important;letter-spacing:.06em!important;margin:30px 0 0!important}.project-intro{padding:16vh var(--pad);background:var(--cream);color:var(--navy);display:grid;grid-template-columns:.35fr 1fr;gap:8vw}.project-intro .num{font:clamp(80px,14vw,190px) var(--mono);color:var(--cyan);line-height:.8}.project-intro h2{font-size:clamp(34px,5vw,72px);line-height:1.05;margin:0}.project-intro p{max-width:54ch;line-height:1.9}.cinema{height:100svh;position:relative;overflow:hidden;background:#000}.cinema img{width:100%;height:100%;object-fit:cover}.cinema .caption{position:absolute;left:var(--pad);bottom:5vh;font:10px var(--mono);letter-spacing:.18em}.cinema .annotation{position:absolute;right:8vw;top:20vh;max-width:22ch;font:11px var(--mono);line-height:1.7}.cinema .annotation:before{content:'';display:block;width:120px;height:1px;background:var(--cyan);margin-bottom:12px}.spread{background:var(--cream);padding:12vh var(--pad)}.spread img{width:100%}.spread-grid{display:grid;grid-template-columns:1fr 1fr;gap:2vw}.next{min-height:70vh;background:var(--cyan);color:var(--navy);padding:10vh var(--pad);display:flex;align-items:end;justify-content:space-between;text-decoration:none}.next h2{font-size:clamp(50px,10vw,140px);letter-spacing:-.07em;line-height:.85;margin:0}
@media(max-width:760px){body{cursor:auto}.cursor{display:none}.realm-index{display:none}.site-head{padding-top:14px}.hero-content{padding-top:20vh}.hero-foot{align-items:start}.hero h1 span{margin-left:3vw}.realm-head{align-items:start;flex-direction:column;justify-content:end}.world-copy{grid-template-columns:1fr}.enter{width:72px;height:72px;margin-top:26px}.tokiwa{grid-template-columns:1fr}.tokiwa-copy{min-height:70vh}.project-intro{grid-template-columns:1fr}.spread-grid{grid-template-columns:1fr}.next{align-items:start;flex-direction:column;justify-content:end}.nav-links a{padding:8px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media,.orbit,.pulse,.loadbar span{animation:none}.loader{display:none}*{transition:none!important}}

/* NUNAI FLIGHT CORRIDOR */
.flight{height:100svh;position:relative;overflow:hidden;background:#020b10;color:var(--cream)}#flight-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.flight>video{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.flight-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 48%,transparent 18%,rgba(2,11,16,.22) 46%,rgba(2,11,16,.92) 100%),linear-gradient(0deg,rgba(2,11,16,.82),transparent 40%)}.flight-ui{position:absolute;inset:0;z-index:2;padding:76px var(--pad) 30px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.flight-top,.flight-readout{display:flex;justify-content:space-between;gap:20px;color:rgba(242,236,222,.58)}.signal i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cyan);margin-right:9px;box-shadow:0 0 14px var(--cyan)}.flight-title{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);text-align:center;width:100%}.flight-title span{display:block;font-size:clamp(12px,1.15vw,17px);font-weight:700;letter-spacing:.45em;margin-bottom:1vh}.flight-title strong{display:block;font-size:clamp(92px,18vw,280px);font-weight:900;line-height:.68;letter-spacing:-.095em;text-shadow:0 0 55px rgba(0,164,179,.12)}.flight-title em{display:block;color:var(--cyan);font:clamp(8px,.8vw,12px) var(--mono);letter-spacing:.3em;font-style:normal;margin-top:3vh}.portal-nav{position:absolute;left:var(--pad);right:var(--pad);top:50%;display:flex;justify-content:space-between;align-items:center}.portal-nav a{pointer-events:auto;width:clamp(95px,11vw,170px);aspect-ratio:1;border:1px solid rgba(242,236,222,.22);border-radius:50%;display:flex;flex-direction:column;justify-content:center;text-align:center;text-decoration:none;font:clamp(14px,1.4vw,22px) var(--mono);letter-spacing:.12em;backdrop-filter:blur(5px);transition:.45s cubic-bezier(.2,.8,.2,1)}.portal-nav a small{font-size:8px;color:var(--cyan);margin-bottom:7px}.portal-nav a:nth-child(2){transform:translateY(26vh)}.portal-nav a:hover{background:rgba(0,164,179,.22);border-color:var(--cyan);transform:scale(1.12)}.portal-nav a:nth-child(2):hover{transform:translateY(26vh) scale(1.12)}.launch{pointer-events:auto;position:absolute;left:50%;bottom:8vh;transform:translateX(-50%);display:flex;align-items:center;gap:24px;font:9px var(--mono);letter-spacing:.22em;text-decoration:none}.launch b{width:44px;height:44px;border:1px solid var(--cyan);border-radius:50%;display:grid;place-items:center;color:var(--cyan);font-size:17px;transition:.3s}.launch:hover b{background:var(--cyan);color:var(--navy);transform:translateY(6px)}
@media(max-width:760px){.flight-ui{padding-top:64px}.flight-top span:nth-child(2){display:none}.flight-title{top:41%}.portal-nav{top:auto;bottom:19vh;gap:8px}.portal-nav a{width:29vw;max-width:110px}.portal-nav a:nth-child(2){transform:none}.portal-nav a:nth-child(2):hover{transform:scale(1.06)}.flight-readout span:not(:first-child){display:none}.launch{bottom:6vh}.portal-nav a:hover{transform:scale(1.06)}}

/* ═══ v3 additions — shot reel, production data, heroines ═══ */
.reel-sec{background:var(--navy);padding:14vh 0 10vh}
.reel-head{padding:0 var(--pad);display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:38px}
.reel-head h2{margin:0;font-size:clamp(36px,6vw,92px);font-weight:900;letter-spacing:-.06em;line-height:.95}
.reel-head h2 small{display:block;color:var(--cyan);font:10px var(--mono);letter-spacing:.24em;margin-bottom:14px}
.reel{display:flex;gap:clamp(14px,2vw,30px);overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--pad) 26px;scrollbar-width:thin;scrollbar-color:var(--cyan) transparent}
.reel figure{flex:0 0 min(74vw,900px);margin:0;scroll-snap-align:start}
.reel img{width:100%;display:block;filter:saturate(.92) contrast(1.05)}
.reel figcaption{margin-top:12px;font:9px var(--mono);letter-spacing:.2em;color:rgba(242,236,222,.6)}
.reel figcaption b{color:var(--cyan);font-weight:500}
.data-strip{display:flex;flex-wrap:wrap;gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:8vh}
.data-strip div{flex:1 1 160px;background:var(--navy);padding:22px var(--pad)}
.data-strip .k{font:9px var(--mono);letter-spacing:.2em;color:rgba(242,236,222,.5);text-transform:uppercase}
.data-strip .v{font:15px var(--mono);color:var(--cyan);margin-top:8px}
.heroines{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line)}
.heroines div{background:var(--navy);padding:8vh var(--pad)}
.heroines .micro{color:var(--cyan)}
.heroines h3{margin:16px 0 10px;font-size:clamp(30px,3.6vw,54px);font-weight:900;letter-spacing:-.05em}
.heroines h3 small{display:block;font:10px var(--mono);letter-spacing:.22em;color:var(--orange);font-weight:500;margin-top:8px}
.heroines p{margin:0;font-size:14px;color:rgba(242,236,222,.72);max-width:30ch}
@media(max-width:760px){.heroines{grid-template-columns:1fr}.reel figure{flex-basis:86vw}}
/* panorama */
.pano{position:relative;height:100svh;background:#0a1216;overflow:hidden}
#pano-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab}
#pano-canvas.dragging{cursor:grabbing}
.pano-chrome{position:absolute;left:var(--pad);bottom:8vh;z-index:3;pointer-events:none;max-width:640px}
.pano-chrome h2{font-size:clamp(40px,6.4vw,96px);line-height:.95;letter-spacing:-.06em;margin:14px 0 10px;text-shadow:0 2px 30px rgba(6,26,35,.7)}
.pano-sub{font:10px var(--mono);letter-spacing:.2em;color:rgba(242,236,222,.75);margin:0 0 26px}
.btn-pink{pointer-events:auto;display:inline-flex;align-items:center;gap:14px;background:var(--pink);color:#fff;text-decoration:none;font:11px var(--mono);letter-spacing:.14em;padding:10px 22px;border-radius:999px;box-shadow:0 12px 40px rgba(237,95,167,.45);transition:.3s}
.btn-pink .jp{font-family:var(--jp);font-weight:800;font-size:13px}
.btn-pink:hover{background:var(--cyan);box-shadow:0 12px 40px rgba(0,164,179,.45)}
/* companion */
.companion{background:var(--cream);color:var(--navy);padding:14vh var(--pad) 10vh}
.companion-head{display:grid;grid-template-columns:1.1fr .9fr;gap:6vw;align-items:end;margin-bottom:clamp(30px,5vh,60px)}
.companion-head h2{font-size:clamp(52px,9vw,140px);line-height:.82;letter-spacing:-.07em;margin:14px 0 0}
.companion-head p{max-width:44ch;line-height:2}
.companion-head p small{display:block;margin-top:14px;color:rgba(6,26,35,.55)}
.companion .micro{color:var(--pink)}
.companion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2vw}
.companion-grid figure{margin:0;border:2px solid var(--navy);background:#fff}
.companion-grid img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover}
.companion-grid figcaption{padding:10px 12px;font-size:10px;letter-spacing:.14em;border-top:2px solid var(--navy)}
.companion .data-strip{margin-top:clamp(30px,5vh,56px)}
@media(max-width:860px){.companion-head{grid-template-columns:1fr}.companion-grid{grid-template-columns:1fr}}

.heroines figure.g{margin:0 0 16px;border:2px solid rgba(242,236,222,.25)}.heroines figure.g img{width:100%;display:block;aspect-ratio:21/10;object-fit:cover}
/* cinema overlay */
.cinema-overlay{position:fixed;inset:0;z-index:400;background:rgba(2,11,16,.95);display:grid;place-items:center;cursor:auto}
.cinema-overlay[hidden]{display:none}
.cinema-overlay video{max-width:92vw;max-height:80vh;box-shadow:0 30px 120px rgba(0,0,0,.7);background:#000}
.cinema-close{position:absolute;right:var(--pad);top:24px;border:0;background:var(--pink);color:#fff;border-radius:999px;padding:10px 20px;font:11px var(--mono);letter-spacing:.2em;cursor:pointer;box-shadow:0 8px 26px rgba(237,95,167,.4)}
.cinema-close:hover{background:var(--cyan)}
/* film watch button inside sequence */
.film-watch{position:absolute;z-index:28;left:50%;transform:translateX(-50%);bottom:16vh;opacity:0;pointer-events:none}
/* pano walk/run controls */
.pano-controls{display:flex;gap:10px;margin:0 0 18px;pointer-events:auto}
.pano-pad{width:46px;height:46px;border:1px solid rgba(242,236,222,.55);background:rgba(2,11,16,.55);color:var(--cream);border-radius:50%;font-size:15px;cursor:pointer;transition:.2s;display:grid;place-items:center;touch-action:none;user-select:none}
.pano-pad.is-held,.pano-pad:active{background:var(--pink);border-color:var(--pink);color:#fff;box-shadow:0 8px 26px rgba(237,95,167,.5)}
.pano-run{border:1px solid rgba(242,236,222,.55);background:rgba(2,11,16,.55);color:var(--cream);border-radius:999px;padding:9px 18px;font:10px var(--mono);letter-spacing:.14em;cursor:pointer;transition:.25s;display:flex;gap:8px;align-items:center}
.pano-run .jp{font-family:var(--jp);font-weight:800;font-size:12px}
.pano-run.is-on{background:var(--pink);border-color:var(--pink);color:#fff;box-shadow:0 8px 26px rgba(237,95,167,.5)}
/* virtual assistant */
.assistant{background:var(--navy);color:var(--cream);padding:14vh var(--pad) 12vh;border-top:2px solid rgba(242,236,222,.12)}
.assistant .companion-head{margin-bottom:0}
.assistant .micro{color:var(--pink)}
.assistant h2{font-size:clamp(52px,9vw,140px);line-height:.82;letter-spacing:-.07em;margin:14px 0 0}
.assistant p{max-width:44ch;line-height:2}
.assistant p small{display:block;margin-top:14px;color:rgba(242,236,222,.55)}
.assistant .btn-pink{margin-top:26px}
.assistant-hint{margin-top:18px;font-size:9px;letter-spacing:.16em;color:rgba(242,236,222,.45)}
/* hand-drawn storyboard reel */
.reel--drawn{flex-direction:column;overflow-x:visible;scroll-snap-type:none}
.reel--drawn figure{flex:0 0 auto;width:100%;background:#f6f2e8;border:2px solid var(--navy)}
.reel--drawn img{width:100%;display:block;filter:none}
.reel--drawn figcaption{padding:10px 14px;border-top:2px solid var(--navy);color:var(--navy);background:#f6f2e8}
