:root{--bg: #050505;--ink: #f0ebe0;--gold: #c9a96e;--gold-soft: rgba(201, 169, 110, .55);--muted: #3a3a3a;--muted-ink: #8a8378;--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-mono: "DM Mono", "SFMono-Regular", Menlo, Consolas, monospace;--ease-cine: cubic-bezier(.16, 1, .3, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-display);overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{cursor:none}@media(pointer:coarse){body{cursor:auto}}#stage{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:1}#scenes{position:fixed;inset:0;z-index:2}.scene{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,5vw,6rem);opacity:0;visibility:hidden;pointer-events:none;will-change:opacity,transform}.scene.is-active{visibility:visible;pointer-events:auto}.grain-svg{position:absolute;width:0;height:0}.grain{position:fixed;inset:-50%;width:200%;height:200%;z-index:50;pointer-events:none;opacity:.05;filter:url(#grain);animation:grain-shift .6s steps(2) infinite}@keyframes grain-shift{0%{transform:translate(0)}50%{transform:translate(-3%,2%)}to{transform:translate(2%,-2%)}}.vignette{position:fixed;inset:0;z-index:40;pointer-events:none;background:radial-gradient(120% 120% at 50% 50%,transparent 55%,rgba(0,0,0,.55) 100%)}.flash{position:fixed;inset:0;z-index:60;background:#fff;opacity:0;pointer-events:none}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:100;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%);mix-blend-mode:difference}.cursor-dot{width:6px;height:6px;background:var(--ink)}.cursor-ring{width:34px;height:34px;border:1px solid var(--gold-soft);transition:width .3s var(--ease-cine),height .3s var(--ease-cine),border-color .3s var(--ease-cine),opacity .3s var(--ease-cine)}.cursor-ring.is-hover{width:56px;height:56px;border-color:var(--gold)}@media(pointer:coarse){.cursor-dot,.cursor-ring{display:none}}.kicker{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;color:var(--gold)}.mono{font-family:var(--font-mono);color:var(--muted-ink)}.display{font-family:var(--font-display);font-weight:400;line-height:.95;letter-spacing:.01em}.gold{color:var(--gold)}.italic{font-style:italic}.enter-btn{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.4em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid var(--muted);padding:1rem 2.4rem;cursor:none;transition:border-color .4s var(--ease-cine),color .4s var(--ease-cine),letter-spacing .4s var(--ease-cine)}.enter-btn:hover{border-color:var(--gold);color:var(--gold);letter-spacing:.55em}.enter-btn .caret{animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.cine-link{font-family:var(--font-mono);font-size:1rem;letter-spacing:.12em;color:var(--ink);text-decoration:none;position:relative;transition:color .35s var(--ease-cine),padding-left .35s var(--ease-cine)}.cine-link:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold);transition:width .4s var(--ease-cine)}.cine-link:hover{color:var(--gold);padding-left:6px}.cine-link:hover:after{width:100%}.scroll-cue{position:absolute;bottom:clamp(1.5rem,4vh,3rem);left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;color:var(--muted-ink);display:flex;flex-direction:column;align-items:center;gap:.6rem}.scroll-cue .line{width:1px;height:38px;background:linear-gradient(var(--gold),transparent);animation:cue 2s var(--ease-cine) infinite}@keyframes cue{0%,to{transform:scaleY(.4);opacity:.4;transform-origin:top}50%{transform:scaleY(1);opacity:1;transform-origin:top}}.corner{position:absolute;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;color:var(--muted-ink)}.corner.br{right:clamp(1.5rem,4vw,3rem);bottom:clamp(1.5rem,4vw,3rem);text-align:right}.corner.bl{left:clamp(1.5rem,4vw,3rem);bottom:clamp(1.5rem,4vw,3rem)}#chrome{position:fixed;z-index:70;inset:0;pointer-events:none}.sound-toggle{position:absolute;top:clamp(1.5rem,4vw,2.4rem);right:clamp(1.5rem,4vw,2.4rem);pointer-events:auto;display:flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted-ink);background:none;border:none;cursor:none;transition:color .3s var(--ease-cine)}.sound-toggle:hover{color:var(--gold)}.sound-bars{display:inline-flex;align-items:flex-end;gap:2px;height:14px}.sound-bars span{width:2px;background:currentColor;height:100%;transform-origin:bottom;animation:eq 1s ease-in-out infinite}.sound-bars span:nth-child(2){animation-delay:.2s}.sound-bars span:nth-child(3){animation-delay:.4s}.sound-bars span:nth-child(4){animation-delay:.1s}.sound-toggle.is-muted .sound-bars span{animation-play-state:paused;height:30%}@keyframes eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.scene-progress{position:absolute;left:clamp(1.5rem,4vw,2.4rem);top:50%;transform:translateY(-50%);pointer-events:auto;display:flex;flex-direction:column;gap:1rem}.scene-progress button{display:flex;align-items:center;gap:.7rem;background:none;border:none;cursor:none;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);transition:color .3s var(--ease-cine)}.scene-progress button .dot{width:6px;height:6px;border-radius:50%;border:1px solid var(--muted);transition:all .3s var(--ease-cine)}.scene-progress button .label{opacity:0;transform:translate(-6px);transition:all .3s var(--ease-cine)}.scene-progress button:hover{color:var(--ink)}.scene-progress button:hover .label{opacity:1;transform:translate(0)}.scene-progress button.is-active{color:var(--gold)}.scene-progress button.is-active .dot{background:var(--gold);border-color:var(--gold);transform:scale(1.4)}.scene-progress button.is-active .label{opacity:1;transform:translate(0)}.enter-btn:active{border-color:var(--ink);color:var(--ink)}.cine-link:active,.wk-close:active,.sound-toggle:active,.sk-label:active{opacity:.65}.scene-progress button:active .dot{background:var(--gold-soft)}.scene-progress:before,.scene-progress:after{content:"";position:absolute;left:3px;top:8px;width:1px;pointer-events:none}.scene-progress:before{bottom:8px;background:var(--muted);opacity:.5}.scene-progress:after{height:calc((100% - 16px) * var(--journey, 0));background:var(--gold);transition:height .6s var(--ease-cine)}.scene-progress button .idx{font-size:.5rem;letter-spacing:.14em;opacity:.55;min-width:1.4em}.chapter-label{position:absolute;left:clamp(1.5rem,4vw,3rem);bottom:calc(clamp(1.5rem,4vw,3rem) + 1.6rem);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-ink);opacity:.7}.scene-indicator{position:absolute;bottom:1.3rem;left:50%;transform:translate(-50%);font-size:.6rem;letter-spacing:.3em;color:var(--muted-ink);display:none}@media(max-width:860px){.scene-indicator{display:block}.chapter-label{display:none}}@media(pointer:coarse){.enter-btn,.sound-toggle,.scene-progress button,.cine-link{cursor:pointer}}@media(prefers-reduced-motion:reduce){.grain,.scroll-cue .line,.sound-bars span,.caret{animation:none!important}.grain{opacity:.03}}.scene-gateway{flex-direction:column;justify-content:flex-end;padding-bottom:clamp(6rem,17vh,10rem)}.gw-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}.gw-name{font-size:1.1rem;font-weight:500;letter-spacing:.5em;padding-left:.5em;color:var(--gold)}@media(min-width:861px){.gw-name{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.gw-role{font-size:clamp(.62rem,1.6vw,.82rem);letter-spacing:.22em;text-transform:uppercase;text-align:center;max-width:90vw;line-height:1.6}.gw-boot{font-size:.6rem;letter-spacing:.34em;text-transform:uppercase}.gw-hint{position:absolute;bottom:clamp(1.5rem,4vh,2.6rem);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;opacity:0}.scene-identity{perspective:1200px}.id-stage{display:flex;flex-direction:column;align-items:center;gap:clamp(.8rem,2vh,1.7rem);transform-style:preserve-3d;width:min(960px,92vw);transform:translateY(-2vh)}.id-name{display:flex;flex-direction:column;align-items:center;line-height:.95;gap:clamp(.05rem,.4vh,.35rem);text-align:center;transform-style:preserve-3d}.id-word{font-size:clamp(2.3rem,min(8.5vw,12vh),7rem);font-weight:500;letter-spacing:.04em;transform-style:preserve-3d;text-shadow:0 2px 30px rgba(0,0,0,.6)}.id-word[data-depth="2"]{color:var(--gold)}.id-line{font-size:clamp(.82rem,min(1.4vw,2vh) + .2rem,1.05rem);letter-spacing:.1em;color:var(--ink);text-align:center;max-width:min(46ch,90vw);text-shadow:0 1px 16px rgba(0,0,0,.5)}.id-bio{max-width:min(52ch,88vw);font-size:clamp(.8rem,min(1.1vw,1.7vh) + .3rem,1rem);line-height:1.6;letter-spacing:.015em;text-align:center;color:var(--ink);opacity:0;padding:clamp(.5rem,1.5vh,1rem) clamp(.8rem,3vw,1.8rem);background:radial-gradient(ellipse 130% 120% at 50% 50%,#05050599,#05050500 72%)}@media(max-height:540px){.id-stage{transform:none;gap:clamp(.4rem,1.4vh,.9rem)}.id-bio{line-height:1.45}}.mi-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,6rem);align-items:center;width:min(1200px,100%)}.mi-left{display:flex;flex-direction:column;gap:1.6rem}.mi-statement{font-size:clamp(1.8rem,4.2vw,3.6rem);line-height:1.1;font-weight:400}.mi-right{display:flex;flex-direction:column;gap:2.2rem}.mi-stats{display:flex;gap:1.2rem;flex-wrap:wrap}.mi-stat{flex:1 1 0;min-width:96px;border:1px solid var(--muted);padding:1.4rem 1.2rem;display:flex;flex-direction:column;gap:.5rem;background:#ffffff04;transform-style:preserve-3d;will-change:transform}.mi-val{font-size:clamp(2rem,4vw,3rem);color:var(--gold);line-height:1}.mi-label{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase}.mi-terminal{display:flex;flex-direction:column;gap:.4rem;font-size:.8rem;line-height:1.5;border-left:1px solid var(--gold-soft);padding-left:1.2rem}.scene-work{perspective:1400px}.wk-kicker{position:absolute;top:clamp(5rem,14vh,8rem);left:50%;transform:translate(-50%)}.wk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,3vw,2.4rem);width:min(1180px,100%);transform-style:preserve-3d}.wk-card{position:relative;border:1px solid var(--muted);background:#08080894;padding:clamp(1.5rem,2.4vw,2.4rem);min-height:clamp(220px,30vh,300px);display:flex;flex-direction:column;justify-content:space-between;transform-style:preserve-3d;will-change:transform;transition:border-color .4s var(--ease-cine),box-shadow .4s var(--ease-cine);outline:none}.wk-card:hover,.wk-card:focus-visible{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold-soft),0 30px 80px -40px #c9a96e99}.wk-year{font-size:.66rem;letter-spacing:.2em;color:var(--gold)}.wk-name{font-size:clamp(1.8rem,3vw,2.8rem);margin:.6rem 0}.wk-tag{font-size:.78rem;line-height:1.5;color:var(--muted-ink)}.wk-open{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin-top:1rem;transition:color .3s var(--ease-cine),letter-spacing .3s var(--ease-cine)}.wk-card:hover .wk-open,.wk-card:focus-visible .wk-open{color:var(--gold);letter-spacing:.3em}@media(min-width:861px){.scene-work{justify-content:flex-start}.wk-kicker{left:clamp(3rem,9vw,10rem);transform:none}.wk-grid{grid-template-columns:1fr;width:min(440px,38vw);margin-left:clamp(3rem,9vw,10rem);gap:1.1rem}.wk-card{min-height:0;padding:1.5rem 1.9rem}.wk-name{font-size:clamp(1.7rem,2.2vw,2.2rem);margin:.4rem 0}.wk-open{margin-top:.8rem}}.wk-overlay{position:fixed;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;padding:clamp(1.5rem,5vw,5rem);background:#050505d1;backdrop-filter:blur(8px);opacity:0;pointer-events:none}@media(min-width:861px){.wk-overlay{justify-content:flex-start;padding-left:clamp(3rem,9vw,10rem);background:linear-gradient(100deg,#050505ed,#050505c7 48%,#05050559);backdrop-filter:none}}.wk-overlay.is-open{pointer-events:auto}.wk-detail{position:relative;max-width:640px;width:100%;border:1px solid var(--gold-soft);background:#0a0a0a;padding:clamp(2rem,4vw,3.4rem);display:flex;flex-direction:column;gap:1rem}.wk-close{position:absolute;top:1.4rem;right:1.4rem;background:none;border:none;color:var(--muted-ink);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;cursor:none;transition:color .3s var(--ease-cine)}.wk-close:hover{color:var(--gold)}.wk-detail-year{font-size:.66rem;letter-spacing:.2em;color:var(--gold)}.wk-detail-name{font-size:clamp(2.4rem,5vw,3.6rem)}.wk-detail-tag{font-size:1.05rem}.wk-detail-desc{font-family:var(--font-display);font-size:1.15rem;line-height:1.55;color:var(--ink)}.wk-pills{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}.wk-pill{font-size:.66rem;letter-spacing:.12em;padding:.4rem .8rem;border:1px solid var(--muted);color:var(--muted-ink)}.wk-links{display:flex;gap:1.8rem;margin-top:1rem}.sg-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2rem}.sg-head{font-size:clamp(2.4rem,6.5vw,6rem);line-height:1.02;max-width:16ch}.sg-rule{width:clamp(80px,12vw,160px);height:1px;background:var(--gold);transform-origin:center}.sg-links{display:flex;gap:clamp(1.6rem,4vw,3.2rem);flex-wrap:wrap;justify-content:center}.sg-resume{margin-top:.6rem;text-decoration:none}.sk-kicker{position:absolute;top:clamp(5rem,14vh,8rem);left:50%;transform:translate(-50%)}.sk-labels{position:absolute;inset:0}.sk-label{position:absolute;top:0;left:0;background:none;border:none;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-ink);cursor:none;padding:.4rem .6rem;white-space:nowrap;transition:color .3s var(--ease-cine),opacity .3s var(--ease-cine)}.sk-label:hover,.sk-label:focus-visible{color:var(--gold);outline:none}.sk-label.is-dim{opacity:.3}.sk-caption{position:absolute;bottom:clamp(4rem,10vh,6rem);left:50%;transform:translate(-50%);font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;color:var(--gold);min-height:1.2em}@media(pointer:coarse){.sk-label{cursor:pointer;padding:.6rem .8rem}}@media(max-width:860px){.mi-grid{grid-template-columns:1fr;gap:2.4rem}.scene-work{flex-direction:column;justify-content:flex-start;padding-top:clamp(4.5rem,11vh,7rem)}.wk-kicker{position:static;transform:none;margin-bottom:1.4rem;flex-shrink:0}.wk-grid{grid-template-columns:1fr;max-width:460px;gap:.9rem}.wk-card{min-height:0;padding:1.1rem 1.4rem}.wk-name{font-size:clamp(1.5rem,6vw,1.9rem);margin:.35rem 0}.wk-open{margin-top:.7rem}.scene-progress,.scene-identity .scroll-cue,.scene-identity .corner,.scene-signal .corner{display:none}}
