:root{--bg:#06121a;--text:#c5dee0;--text-h:#f1f9fa;--muted:#8aa9ad;--accent:#8ce0d4;--sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--heading:"Fraunces", "Cormorant Garamond", Georgia, serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-family:var(--sans);color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.55}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--bg);width:100%;min-height:100svh;margin:0;padding:0}body{overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{color:var(--text-h);background:#8ce0d440}:root{--surface:#09171f9e;--surface-2:#0c1e278c;--border:#8ce0d429;--border-strong:#8ce0d457;--accent-2:#6aa9ff;--grad:linear-gradient(120deg, #8ce0d4, #6aa9ff);--glow:#8ce0d438;--radius:18px;--radius-sm:12px;--maxw:1140px;--nav-h:72px}html{scroll-behavior:smooth}.bg{z-index:0;pointer-events:none;position:fixed;inset:0}.water-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.bg__veil{background:radial-gradient(120% 70% at 50% -10%,#8ce0d40f,#0000 60%),linear-gradient(#06121a33 0%,#06121a6b 55%,#06121aa8 100%);position:absolute;inset:0}main,.nav,.footer{z-index:1;position:relative}.progress{transform-origin:0;background:var(--grad);z-index:60;width:100%;height:3px;box-shadow:0 0 12px var(--glow);will-change:transform;position:fixed;top:0;left:0;transform:scaleX(0)}.nav{z-index:50;justify-content:center;padding:14px 20px;display:flex;position:fixed;top:0;left:0;right:0}.nav__inner{width:100%;max-width:var(--maxw);border:1px solid var(--border);-webkit-backdrop-filter:blur(14px)saturate(120%);background:#07121a8c;border-radius:999px;justify-content:space-between;align-items:center;gap:18px;padding:10px 14px 10px 16px;display:flex}.nav__brand{align-items:center;gap:10px;font-weight:500;display:inline-flex}.nav__mark{width:32px;height:32px;font-family:var(--heading);letter-spacing:.02em;color:#06121a;background:var(--grad);border-radius:10px;place-items:center;font-size:.85rem;display:grid;box-shadow:0 4px 16px #8ce0d440}.nav__name{color:var(--text-h);font-size:.98rem}.nav__links{gap:6px;display:flex}.nav__links a{color:var(--muted);border-radius:999px;padding:8px 14px;font-size:.9rem;transition:color .2s,background .2s}.nav__links a:hover{color:var(--text-h);background:#8ce0d414}.nav__cta{color:var(--text-h);border:1px solid var(--border-strong);white-space:nowrap;border-radius:999px;padding:9px 18px;font-size:.9rem;transition:background .2s,transform .2s}.nav__cta:hover{background:#8ce0d41f;transform:translateY(-1px)}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:9px;padding:13px 22px;font-size:.95rem;font-weight:500;transition:transform .2s,box-shadow .25s,background .2s,border-color .2s;display:inline-flex}.btn svg{transition:transform .2s}.btn--primary{color:#06121a;background:var(--grad);box-shadow:0 10px 30px -10px #8ce0d499}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 38px -10px #8ce0d4bf}.btn--primary:hover svg{transform:translate(3px)}.btn--ghost{color:var(--text-h);border-color:var(--border-strong);background:#8ce0d40d}.btn--ghost:hover{border-color:var(--accent);background:#8ce0d41f;transform:translateY(-2px)}.btn--small{padding:10px 16px;font-size:.85rem}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.section{scroll-margin-top:var(--nav-h);padding:clamp(70px,11vh,130px) 0}.section__head{max-width:720px;margin-bottom:46px}.eyebrow{letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin:0 0 14px;font-size:.82rem;font-weight:500}.section__title{font-family:var(--heading);letter-spacing:-.02em;color:var(--text-h);margin:0;font-size:clamp(2rem,5vw,3.1rem);font-weight:300;line-height:1.05}.section__lead{color:var(--muted);margin:18px 0 0;font-size:clamp(1rem,1.5vw,1.12rem);font-weight:300;line-height:1.7}.accent{color:var(--accent)}.glass{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px)saturate(125%)}.hero{text-align:center;min-height:100svh;padding:calc(var(--nav-h) + 30px) 24px 90px;place-items:center;display:grid;position:relative}.hero__inner{max-width:880px}.hero__eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin:0 0 22px;font-size:.9rem}.hero__title{font-family:var(--heading);letter-spacing:-.025em;color:var(--text-h);text-shadow:0 2px 40px #00000073;margin:0 0 22px;font-size:clamp(3.2rem,11vw,7rem);font-weight:300;line-height:.98}.hero__tagline{max-width:40ch;color:var(--text);text-shadow:0 1px 18px #00000059;margin:0 auto 22px;font-size:clamp(1.1rem,2.3vw,1.5rem);font-weight:300;line-height:1.5}.hero__bio{max-width:58ch;color:var(--muted);margin:0 auto 34px;font-size:clamp(.98rem,1.4vw,1.08rem);font-weight:300;line-height:1.75}.hero__actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:30px;display:flex}.hero__scroll{letter-spacing:.26em;text-transform:uppercase;color:var(--muted);flex-direction:column;align-items:center;gap:4px;font-size:.7rem;display:inline-flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.hero__scroll svg{animation:2.4s ease-in-out infinite bob}@keyframes bob{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(5px)}}.socials{gap:12px;display:inline-flex}.socials--hero{justify-content:center}.socials__link{width:42px;height:42px;color:var(--text);border:1px solid var(--border);background:#8ce0d40d;border-radius:50%;place-items:center;transition:transform .2s,color .2s,border-color .2s,background .2s;display:grid}.socials__link:hover{color:var(--accent);border-color:var(--accent);background:#8ce0d41f;transform:translateY(-3px)}.about{grid-template-columns:1.15fr 1fr;align-items:start;gap:26px;display:grid}.about__text{padding:32px}.about__text p{color:var(--text);margin:0 0 16px;font-size:1.05rem;font-weight:300;line-height:1.8}.about__text p:last-child{margin-bottom:0}.stats{grid-template-columns:1fr 1fr;gap:16px;display:grid}.stat{padding:22px;transition:transform .25s,border-color .25s}.stat:hover{border-color:var(--border-strong);transform:translateY(-4px)}.stat__num{font-family:var(--heading);background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,4vw,2.7rem);font-weight:400;line-height:1;display:block}.stat__label{color:var(--muted);margin-top:10px;font-size:.85rem;line-height:1.5;display:block}.marquee{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.marquee__track{white-space:nowrap;align-items:center;animation:36s linear infinite marquee;display:inline-flex}.marquee__item{font-family:var(--heading);color:var(--text);align-items:center;gap:26px;padding:0 26px;font-size:1.25rem;font-weight:300;display:inline-flex}.marquee__dot{color:var(--accent);font-size:.7rem}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.timeline{gap:22px;padding-left:30px;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(180deg, var(--accent), #6aa9ff40, transparent);width:2px;position:absolute;top:6px;bottom:6px;left:5px}.tl-item{position:relative}.tl-dot{background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 4px #8ce0d426, 0 0 14px var(--glow);border-radius:50%;position:absolute;top:26px;left:-30px}.card{padding:26px 28px;transition:transform .28s,border-color .28s,box-shadow .28s}.card:hover{border-color:var(--border-strong);transform:translateY(-4px);box-shadow:0 22px 50px -28px #000000d9}.card__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.card__title{font-family:var(--heading);color:var(--text-h);margin:0;font-size:1.4rem;font-weight:400}.chip{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--border);white-space:nowrap;background:#8ce0d41a;border-radius:999px;padding:6px 11px;font-size:.72rem}.card__summary{color:var(--text);margin:0 0 18px;font-weight:300;line-height:1.7}.card__list{gap:10px;margin:0 0 18px;padding:0;list-style:none;display:grid}.card__list li{color:var(--muted);gap:11px;font-size:.94rem;line-height:1.6;display:flex}.card__bullet{color:var(--accent);opacity:.85;flex-shrink:0;margin-top:2px}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{font-size:.78rem;font-family:var(--mono);color:var(--text);border:1px solid var(--border);background:#ffffff0a;border-radius:8px;padding:5px 11px}.projects{grid-template-columns:1fr 1fr;gap:24px;display:grid}.project{padding:30px;transition:transform .28s,border-color .28s,box-shadow .28s;position:relative;overflow:hidden}.project:after{content:"";background:var(--accent-grad);opacity:0;mix-blend-mode:overlay;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.project:hover{border-color:var(--border-strong);transform:translateY(-6px);box-shadow:0 30px 60px -30px #000000e6}.project:hover:after{opacity:.08}.project__bar{background:var(--accent-grad);height:4px;position:absolute;inset:0 0 auto}.project__head{justify-content:space-between;align-items:flex-start;gap:14px;margin:6px 0 16px;display:flex}.project__name{font-family:var(--heading);color:var(--text-h);margin:0;font-size:1.8rem;font-weight:400}.project__tagline{color:var(--accent);margin:4px 0 0;font-size:.92rem}.project__platforms{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.pill{letter-spacing:.04em;color:var(--text-h);border:1px solid var(--border);background:#8ce0d41a;border-radius:999px;padding:5px 10px;font-size:.7rem}.project__desc{color:var(--text);margin:0 0 18px;font-weight:300;line-height:1.7}.project__link{color:var(--text-h);border-color:var(--border-strong);z-index:1;background:#8ce0d40f;margin-top:22px;position:relative}.project__link:hover{border-color:var(--accent);background:#8ce0d41f;transform:translateY(-2px)}.project__link:hover svg{transform:translate(2px,-2px)}.skills{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.skill{padding:24px;transition:transform .25s,border-color .25s}.skill:hover{border-color:var(--border-strong);transform:translateY(-4px)}.skill__title{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 16px;font-size:.8rem}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip--skill{text-transform:none;letter-spacing:0;color:var(--text);background:#ffffff0a;font-size:.85rem;transition:color .2s,border-color .2s,background .2s}.chip--skill:hover{color:var(--text-h);border-color:var(--accent);background:#8ce0d41a}.section--contact{padding-bottom:clamp(80px,12vh,150px)}.contact{text-align:center;padding:clamp(34px,6vw,64px)}.contact__title{font-family:var(--heading);letter-spacing:-.02em;color:var(--text-h);margin:12px 0 0;font-size:clamp(2.2rem,6vw,3.6rem);font-weight:300}.contact__lead{max-width:52ch;color:var(--muted);margin:18px auto 30px;font-weight:300;line-height:1.7}.contact__actions{flex-wrap:wrap;justify-content:center;gap:13px;display:flex}.footer{border-top:1px solid var(--border);padding:30px 0 40px}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer__sig{color:var(--muted);align-items:center;gap:10px;font-size:.88rem;display:inline-flex}.footer__dot{background:var(--accent);width:7px;height:7px;box-shadow:0 0 12px var(--accent);border-radius:50%;animation:3.4s ease-in-out infinite pulse}.footer__year{color:var(--muted);font-size:.85rem;font-family:var(--mono)}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(22px)}.reveal--in{opacity:1;transform:none}@media (width<=900px){.about,.projects{grid-template-columns:1fr}.skills{grid-template-columns:1fr 1fr}}@media (width<=720px){.nav__links,.nav__name{display:none}}@media (width<=560px){.stats{grid-template-columns:1fr 1fr}.skills{grid-template-columns:1fr}.project__head{flex-direction:column}.project__platforms{justify-content:flex-start}.card__head{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}.marquee__track,.hero__scroll svg,.footer__dot{animation:none}.btn,.card,.project,.stat,.skill,.socials__link{transition:none}}
