:root{--bg-top:#10131f;--bg-bottom:#2a2436;--fog:#1b1e2e;--key:#ffe3b0;--rim:#7fb8ff;--accent:#ffc56e;--accent-cool:#9dd0ff;--text:#f6f1e9;--text-muted:#9a9db0;--font-display:"Fraunces", Georgia, serif;--font-body:"Inter", system-ui, sans-serif;--font-mono:"Space Mono", ui-monospace, monospace;--pad:clamp(24px, 6vw, 120px);--maxw:1280px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 100%);min-height:100%;color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-x:hidden}#root{position:relative}.canvas-fixed{z-index:0;pointer-events:none;width:100vw;height:100vh;inset:0;position:fixed!important}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped,html.is-loading,html.is-loading body{overflow:hidden}.content{z-index:1;position:relative}.nav{z-index:3;padding:clamp(18px, 3vw, 34px) var(--pad);pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;inset:0 0 auto}.nav:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#10131f9e,#10131f00);position:absolute;inset:0 0 -44px}.nav a{pointer-events:auto}.wordmark{font-family:var(--font-display);letter-spacing:.06em;color:var(--text);text-shadow:0 1px 12px #00000073;font-size:1.15rem;font-weight:500;text-decoration:none}.nav-links{gap:clamp(14px,2vw,30px);display:flex}.nav-links a{font-family:var(--font-body);letter-spacing:.04em;color:var(--text);text-shadow:0 1px 12px #00000073;opacity:.85;font-size:.92rem;font-weight:500;text-decoration:none;transition:opacity .25s}.nav-links a:hover{opacity:1}.section{min-height:100vh;padding:clamp(80px, 12vh, 160px) var(--pad);display:flex;position:relative}.copy{max-width:46ch;position:relative}.anchor-center-lower{text-align:center;justify-content:center;align-items:flex-end}.anchor-left{justify-content:flex-start;align-items:center}.anchor-right{text-align:right;justify-content:flex-end;align-items:center}.anchor-center-upper{text-align:center;justify-content:center;align-items:flex-start;padding-top:clamp(96px,16vh,200px)}.anchor-center{text-align:center;justify-content:center;align-items:center}.align-center{margin-inline:auto}.align-right{margin-left:auto}.copy:before{content:"";z-index:-1;filter:blur(8px);background:radial-gradient(60% 60%,#10131f80,#10131f00);position:absolute;inset:-14% -22%}.display{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0;font-size:clamp(2.4rem,6vw,4.4rem);font-weight:360;line-height:.99}.section.anchor-center-lower .display{font-size:clamp(3rem,7vw,6.5rem)}.display em{color:var(--key);text-shadow:0 0 28px #ffc56e47;font-style:italic;font-weight:380}.sub{font-family:var(--font-body);color:var(--text-muted);margin:1.4rem 0 0;font-size:clamp(1rem,1.5vw,1.28rem);font-weight:400;line-height:1.5}.anchor-center-lower .sub,.anchor-center .sub,.anchor-center-upper .sub{margin-inline:auto}.features{flex-direction:column;gap:1.4rem;margin:1.8rem 0 0;padding:0;list-style:none;display:flex}.feature{flex-direction:column;gap:.35rem;display:flex}.feature-title{font-family:var(--font-body);letter-spacing:.01em;color:var(--text);font-size:1.05rem;font-weight:500}.feature-body{font-family:var(--font-body);color:var(--text-muted);font-size:.98rem;font-weight:400;line-height:1.45}.scroll-prompt{text-align:center;font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);font-size:.78rem;position:absolute;bottom:clamp(26px,5vh,56px);left:0;right:0}.scroll-prompt .dot{color:var(--accent);margin:0 .4em}.btn{background:var(--key);color:#1a130a;font-family:var(--font-body);letter-spacing:.02em;border-radius:100px;margin-top:2rem;padding:.95rem 1.6rem;font-size:1rem;font-weight:500;text-decoration:none;transition:transform .25s,box-shadow .3s;display:inline-block;box-shadow:0 0 #ffe3b000}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 40px #ffe3b059}.footer-tag{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);opacity:.7;margin:2.2rem auto 0;font-size:.72rem}.footer-credit{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;opacity:.55;margin:.6rem auto 0;font-size:.66rem}.footer-credit a{color:var(--text-muted);text-decoration:none;transition:color .25s,opacity .25s}.footer-credit a:hover{color:var(--key);opacity:1}#contact .copy:before,#materials .copy:before{background:radial-gradient(62% 62%,#10131fb3,#10131f00);inset:-22% -30%}@media (width<=768px){.copy{max-width:92vw}.anchor-left,.anchor-right{text-align:center;justify-content:center}.anchor-right .align-right{margin:0 auto}#materials.anchor-center-upper{padding-top:clamp(120px,20vh,220px)}}@media (height<=640px){.section.anchor-center-lower .display{font-size:clamp(2.2rem,6vw,3.4rem)}.scroll-prompt{bottom:14px}.section{padding-block:clamp(64px,10vh,110px)}}.loader{z-index:50;opacity:1;background:linear-gradient(#10131f 0%,#1a1726 55%,#2a2436 100%);place-items:center;transition:opacity 1s;display:grid;position:fixed;inset:0}.loader--out{opacity:0;pointer-events:none}.loader__inner{flex-direction:column;align-items:center;gap:1.4rem;transition:transform 1s,opacity 1s;display:flex;transform:translateY(0)}.loader--out .loader__inner{opacity:0;transform:translateY(-10px)}.loader__mark{font-family:var(--font-display);letter-spacing:.16em;color:var(--text);padding-left:.16em;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:400}.loader__bar{background:#f6f1e924;border-radius:2px;width:clamp(160px,22vw,240px);height:2px;overflow:hidden}.loader__bar span{transform-origin:0;background:linear-gradient(90deg, var(--accent), var(--key));width:100%;height:100%;transition:transform .4s;display:block}.loader__tag{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem}@media (prefers-reduced-motion:reduce){.loader,.loader__inner{transition:opacity .2s}}
