::selection{background-color:var(--text-primary);color:var(--bg-color)}:root{--bg-color:#ffffff;--text-primary:#1d1d1f;--text-secondary:#86868b;--accent-color:#0071e3;--icon-color:#1d1d1f;--transition-speed:0.8s;--ease-out-expo:cubic-bezier(0.19, 1, 0.22, 1)}@media(prefers-color-scheme:dark){:root{--bg-color:#000000;--text-primary:#f5f5f7;--text-secondary:#a1a1a6;--accent-color:#2997ff;--icon-color:#f5f5f7}}*{margin:0;padding:0;box-sizing:border-box}*:focus-visible{outline:2px solid var(--accent-color);outline-offset:4px}.skip-link{position:absolute;top:-60px;left:20px;background:var(--text-primary);color:var(--bg-color);padding:12px 24px;z-index:100;transition:top .4s var(--ease-out-expo);text-decoration:none;font-weight:600;border-radius:0 0 8px 8px}.skip-link:focus{top:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,sf pro text,helvetica neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100vh;overflow:hidden;transition:background-color .5s ease}.background-glow{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--bg-color);pointer-events:none}.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:float 12s infinite alternate ease-in-out;will-change:transform}.orb-1{top:-10%;left:-10%;width:50vw;height:50vw;background:#a1c4fd}.orb-2{bottom:-10%;right:-10%;width:60vw;height:60vw;background:#e2ebf0;animation-delay:-6s}@media(prefers-color-scheme:dark){.orb-1{background:#1e3c72;opacity:.25}.orb-2{background:#2a5298;opacity:.15}}@keyframes float{0%{transform:translate3d(0,0,0)scale(1)}100%{transform:translate3d(40px,60px,0)scale(1.05)}}.snap-container{height:100vh;overflow-y:scroll;scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}.snap-container::-webkit-scrollbar{display:none}.snap-section{min-height:100vh;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 24px;scroll-snap-align:start;scroll-snap-stop:always;position:relative}.footer-section{justify-content:space-between}.status-wrapper{flex-grow:1;display:flex;justify-content:center;align-items:center}.headline{font-size:clamp(2.5rem,10vw,5.5rem);font-weight:700;letter-spacing:-.04em;line-height:1.05;margin-bottom:20px;color:var(--text-primary)}.bio-content p{font-size:clamp(1.1rem,2.5vw,1.35rem);font-weight:400;max-width:680px;margin:0 auto 1.75rem;line-height:1.6;color:var(--text-secondary)}.bio-content a:not(.btn){color:var(--text-primary);text-decoration:none;background-image:linear-gradient(var(--text-primary),var(--text-primary));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .3s var(--ease-out-expo);font-weight:500}.bio-content a:not(.btn):hover{background-size:100% 1px}.nav-top{position:absolute;top:40px;left:40px;z-index:10}.btn{display:inline-block;padding:12px 0;color:var(--text-primary);text-decoration:none;font-weight:600;font-size:1.15rem;position:relative;transition:color .3s ease;margin-top:30px}.btn::after{content:'';position:absolute;bottom:6px;left:0;width:100%;height:2px;background-color:var(--accent-color);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out-expo)}.btn:hover{color:var(--accent-color)}.btn:hover::after{transform:scaleX(1)}.btn-secondary{font-size:.95rem;opacity:.7}.footer{padding-bottom:40px;display:flex;flex-direction:column;align-items:center;gap:32px}.social-links{display:flex;gap:clamp(24px,6vw,48px)}.social-links a{color:var(--icon-color);opacity:.5;transition:opacity .3s ease,transform .3s var(--ease-out-expo)}.social-links a:hover{opacity:1;transform:translateY(-4px)}.legal-info p{font-size:.7rem;color:var(--text-secondary);letter-spacing:.1em;text-transform:uppercase;opacity:.6}.icon svg{width:26px;height:26px;stroke-width:1.2px}.reveal{opacity:0;animation:fadeInUp var(--transition-speed)var(--ease-out-expo)forwards;will-change:transform,opacity}.reveal-delayed{opacity:0;animation:fadeInUp var(--transition-speed)var(--ease-out-expo).2s forwards;will-change:transform,opacity}@keyframes fadeInUp{from{opacity:0;transform:translate3d(0,30px,0)}to{opacity:1;transform:translate3d(0,0,0)}}@media(prefers-reduced-motion:reduce){.reveal,.reveal-delayed,.orb{animation:none!important;opacity:1!important;transform:none!important}.snap-container{scroll-behavior:auto!important}}