:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#090a0c;color:#f3f3f1}*{box-sizing:border-box}body{margin:0;min-height:100svh;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:1px solid #e3e3e3;outline-offset:6px}#background,.veil{position:fixed;inset:0;pointer-events:none}.lightfall-container,.lightfall-canvas{width:100%;height:100%;display:block}.lightfall-container{position:relative;overflow:hidden}#background{background:#090a0c}.veil{background:radial-gradient(ellipse at center,rgba(6,7,9,.65) 0%,rgba(6,7,9,.16) 42%,rgba(6,7,9,.4) 100%);z-index:1}header{position:fixed;top:0;left:0;right:0;display:flex;justify-content:flex-end;padding:35px 46px;z-index:4}nav{position:relative}#projects-toggle{display:flex;align-items:center;gap:18px;padding:12px 0 12px 18px;border:0;background:transparent;font-size:13px;letter-spacing:.02em;color:#d5d6d8}#projects-toggle:hover{color:#fff}#projects-toggle svg{transition:transform .2s}#projects-toggle[aria-expanded=true] svg{transform:rotate(180deg)}#projects{position:absolute;right:0;top:53px;width:210px;background:rgba(15,16,19,.92);backdrop-filter:blur(24px);border:1px solid #ffffff22;box-shadow:0 20px 60px #0005;padding:6px;border-radius:14px}.project{text-decoration:none;color:inherit;display:flex;justify-content:space-between;align-items:center;text-align:left;width:100%;border:0;background:none;padding:11px 16px;font-size:14px;border-radius:9px}.project:hover,.project:focus-visible{background:#ffffff0a}.project small{display:block;font-size:10px;color:#8e9096;margin-top:7px}.project>span:last-child{color:#9c9da2;font-size:12px}main{position:relative;z-index:2;min-height:100svh;display:grid;place-items:center;pointer-events:none}h1{font-size:clamp(36px,6.5vw,110px);font-weight:400;letter-spacing:.22em;line-height:1.2;text-align:center;margin:0 0 0 .22em;white-space:nowrap;text-shadow:0 2px 50px #0008;animation:title-settle 4.8s cubic-bezier(.16,1,.3,1) both}h1 .word{display:inline-block}h1 .letter{display:inline-block;animation:letter-emerge 3.3s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.45s + var(--i)*.095s)}.motion{position:fixed;z-index:3;bottom:26px;left:34px;border:0;background:transparent;opacity:.4;padding:12px;display:grid;place-items:center}.motion:hover{opacity:1}dialog{background:rgba(14,15,18,.97);color:#ededeb;border:1px solid #ffffff24;padding:52px 42px;width:min(450px,calc(100vw - 40px));box-shadow:0 40px 120px #000b}dialog::backdrop{background:#0008;backdrop-filter:blur(8px)}#close-dialog{position:absolute;right:15px;top:10px;background:none;border:0;font-size:25px;padding:8px;color:#aaa}.eyebrow{font-size:9px;letter-spacing:.18em;color:#92949b}h2{font-weight:400;font-size:32px;margin:28px 0 18px}#project-description{font-size:14px;line-height:1.8;color:#b8bac0}.status{font-size:10px;color:#777b84;margin-top:30px}@keyframes appear{from{opacity:0;transform:translateY(8px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}@media(max-width:600px){header{padding:20px 25px}h1{font-size:clamp(29px,7.1vw,44px);letter-spacing:.15em}.motion{left:16px;bottom:16px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

@keyframes title-settle{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes letter-emerge{0%{opacity:0;filter:blur(20px);transform:translateY(24px) scale(1.14);text-shadow:0 0 35px #ffffff66}35%{opacity:.28}65%{opacity:.85;filter:blur(3px);text-shadow:0 0 18px #ffffff30}100%{opacity:1;filter:blur(0);transform:none;text-shadow:0 0 0 transparent}}
#background{animation:scene-emerge 3.8s ease-out both}
@keyframes scene-emerge{0%,12%{opacity:0}100%{opacity:1}}
header{animation:controls-emerge 2s 1.8s both}
@keyframes controls-emerge{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:600px){@keyframes title-settle{from{transform:scale(1.05)}to{transform:scale(1)}}}

h1{pointer-events:auto;cursor:default}
h1:focus-visible{outline:1px solid #ffffff35;outline-offset:18px;border-radius:4px}
h1 .letter{position:relative}
.cipher-glyph{position:absolute;left:0;top:0;display:none;transform-origin:left center}
.is-encrypted .original-glyph{visibility:hidden}
.is-encrypted .cipher-glyph{display:block}

.cipher-glyph{pointer-events:none}
