:root{--background: #050505;--background-soft: #0b0d10;--surface: #101215;--text: #f4f4f4;--muted: #a7a7a7;--accent: #c8b98c;--accent-blue: #4a6a8a;--line: rgba(244, 244, 244, .14);--font-display: "Avenir Next", "Helvetica Neue", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;--font-body: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--tracking-wide: .22em;--section-padding-inline: clamp(24px, 6vw, 96px);--content-max-width: 620px;--transition-fast: .24s ease}*,*:before,*:after{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:auto}body{margin:0;background:var(--background);color:var(--text);font-family:var(--font-body);font-weight:300;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);font-weight:400;margin:0;color:var(--text)}p{margin:0;color:var(--muted)}img{max-width:100%;display:block}button{font-family:inherit}.skip-link{position:absolute;left:1rem;top:-3rem;background:var(--surface);color:var(--text);padding:.75rem 1.25rem;border:1px solid var(--line);border-radius:4px;z-index:1000;transition:top var(--transition-fast);text-decoration:none}.skip-link:focus{top:1rem}#webgl-canvas{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0;background:var(--background);outline:none}#loading-screen{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;background:var(--background);transition:opacity .7s ease,visibility .7s ease}#loading-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:min(320px,80vw)}.loading-mark{font-family:var(--font-display);letter-spacing:var(--tracking-wide);font-size:.85rem;color:var(--muted);text-transform:uppercase}.loading-bar-track{width:100%;height:1px;background:var(--line);position:relative}.loading-bar-fill{position:absolute;left:0;top:0;height:100%;width:0%;background:var(--accent);transition:width .2s ease-out}.loading-percent{font-size:.75rem;letter-spacing:.1em;color:var(--muted)}#no-webgl-fallback{position:relative;z-index:800;background:var(--background);padding:8vh var(--section-padding-inline)}#no-webgl-fallback[hidden]{display:none}.fallback-inner{max-width:760px;margin:0 auto;text-align:center}.fallback-inner img{border-radius:4px;margin-bottom:2.5rem;width:100%;height:auto}.fallback-inner h1{font-size:clamp(2rem,5vw,3rem);letter-spacing:.08em;margin-bottom:1rem}.fallback-copy{text-align:left;margin-top:3rem;display:grid;gap:1.75rem}.fallback-copy h2{font-size:1.1rem;letter-spacing:.04em;margin-bottom:.5rem;color:var(--accent)}#scroll-space{position:relative;z-index:1}.scene-section{position:relative;min-height:100svh;min-height:100dvh;display:flex;align-items:center;padding:6vh var(--section-padding-inline);pointer-events:none}.scene-section .section-inner,.scene-section button{pointer-events:auto}.section-inner{max-width:var(--content-max-width);display:flex;flex-direction:column;gap:1.25rem;width:100%}.align-center{margin-inline:auto;text-align:center;align-items:center}.align-left{margin-inline-end:auto;text-align:left;align-items:flex-start}.align-right{margin-inline-start:auto;text-align:right;align-items:flex-end}.eyebrow{font-size:.72rem;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--accent)}.scene-section .eyebrow,.scene-section h1,.scene-section h2,.scene-section .lede,.scene-section p{text-shadow:0 2px 24px rgba(0,0,0,.85),0 1px 3px rgba(0,0,0,.9)}.section-inner h1{font-size:clamp(2.4rem,7vw,5rem);letter-spacing:.08em;line-height:1.05}.section-inner h2{font-size:clamp(1.8rem,4.5vw,3rem);letter-spacing:.05em;line-height:1.15}.section-inner .lede,.section-inner p{font-size:clamp(.95rem,1.6vw,1.15rem);font-weight:300;color:var(--muted);max-width:46ch}.align-right p{margin-inline-start:auto}[data-reveal]{opacity:1;transform:none}.js-enabled [data-reveal]{opacity:0;transform:translateY(24px);will-change:transform,opacity}.scroll-hint{margin-top:2rem;display:inline-flex;flex-direction:column;align-items:center;gap:.6rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.scroll-hint-line{width:1px;height:36px;background:linear-gradient(to bottom,var(--accent),transparent);animation:scrollLinePulse 2.4s ease-in-out infinite}@keyframes scrollLinePulse{0%,to{opacity:.25;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}.cta-button{margin-top:1rem;padding:.95em 2.4em;background:transparent;border:1px solid var(--accent);color:var(--text);font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;display:inline-block;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.cta-button:hover,.cta-button:focus-visible{background:var(--accent);color:#14120c}.cta-button:focus-visible{outline:2px solid var(--text);outline-offset:3px}.details-section{position:relative;z-index:1;background:var(--background-soft);border-top:1px solid var(--line);padding:10vh var(--section-padding-inline)}.details-inner{max-width:var(--content-max-width);margin:0 auto;display:grid;gap:1.5rem}.details-inner h2{font-size:clamp(1.6rem,3.5vw,2.2rem);letter-spacing:.04em}.details-inner h3{font-size:1rem;letter-spacing:.06em;color:var(--accent);margin-top:1rem}.details-note{margin-top:2rem;font-size:.8rem;color:var(--muted);opacity:.7}.site-footer{position:relative;z-index:1;background:var(--background-soft);text-align:center;padding:2.5rem 1rem 3rem;font-size:.75rem;color:var(--muted);letter-spacing:.05em}@media (max-width: 900px){.align-left,.align-right{text-align:center;align-items:center;margin-inline:auto}.section-inner .lede,.section-inner p{max-width:34ch;margin-inline:auto}.align-right p{margin-inline:auto}}@media (max-width: 600px){.scene-section{padding:5vh 20px}.section-inner h1{font-size:clamp(2rem,9vw,2.8rem)}.section-inner h2{font-size:clamp(1.5rem,7vw,2rem)}.eyebrow{font-size:.65rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.scroll-hint-line{animation:none;opacity:.5}.js-enabled [data-reveal]{transform:none;transition:opacity .4s ease}#loading-screen,#loading-screen.is-hidden{transition:opacity .2s ease}}
