:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#06080a;--text:#e9eff1;--text-muted:#9aa7ac;--text-dim:#74838a;--accent:#2dd4bf;--accent-soft:#7ff2e2;--accent-ink:#04120f;--accent-line:#2dd4bf52;--accent-faint:#2dd4bf1a;--grid-line:#2dd4bf33;--border:#e9eff117;--scrollbar-track:#080b0d;--scrollbar-thumb:#1d4f49;--scrollbar-thumb-hover:#2f8a80;--shell:1120px;--gutter:clamp(1.25rem, 4vw, 2.5rem);--header-h:68px;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background-color:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}body{background-color:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:1rem;line-height:1.65;overflow-x:hidden}h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}a{color:inherit}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.site{isolation:isolate;flex-direction:column;min-height:100svh;display:flex;position:relative}.container{width:100%;max-width:var(--shell);padding-inline:var(--gutter);margin-inline:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--accent);color:var(--accent-ink);transition:transform .2s var(--ease);border-radius:8px;padding:.65rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;position:absolute;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}.bg{z-index:-1;pointer-events:none;background-color:var(--bg);position:fixed;inset:0;overflow:hidden}.bg__grid{transform-origin:50% 100%;width:260vw;height:240vh;position:absolute;bottom:-6vh;left:50%;overflow:hidden;transform:translate(-50%)perspective(1200px)rotateX(60deg)}.bg__grid:after{content:"";background:linear-gradient(to top, transparent 0%, transparent 80%, var(--bg) 94%);position:absolute;inset:0}.bg__grid-tiles{background-image:linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);will-change:transform;background-size:72px 72px;animation:30s linear infinite grid-flow;position:absolute;inset:-72px 0 0}@keyframes grid-flow{0%{transform:translateY(0)}to{transform:translateY(72px)}}.bg__fade{background:linear-gradient(to bottom, var(--bg) 0%, var(--bg) 42%, #06080a8c 54%, #06080a00 68%);position:absolute;inset:0}.bg__aura{background:radial-gradient(72% 44% at 50% -14%,#2dd4bf1f,#0000 64%);position:absolute;inset:0}.bg__glow{background:radial-gradient(60% 44% at 50% 104%,#2dd4bf3d,#2dd4bf0f 45%,#0000 72%);animation:26s ease-in-out infinite glow-breathe;position:absolute;inset:0}.bg__vignette{background:radial-gradient(115% 92% at 50% 34%,#0000 40%,#0305066b 78%,#030506c7 100%);position:absolute;inset:0}@keyframes glow-breathe{0%,to{opacity:.72}50%{opacity:1}}.site-header{z-index:20;background-color:#070a0c;border-bottom:1px solid #e9eff10f;position:sticky;top:0}.site-header__inner{max-width:var(--shell);min-height:var(--header-h);padding-inline:var(--gutter);justify-content:space-between;align-items:center;gap:1rem;margin-inline:auto;display:flex}.brand{min-height:44px;color:var(--text);letter-spacing:-.01em;transition:color .2s var(--ease);align-items:center;gap:.7rem;font-size:.925rem;font-weight:600;text-decoration:none;display:inline-flex}.brand:hover{color:var(--accent-soft)}.brand__mark{border:1px solid var(--accent-line);background:var(--accent-faint);width:30px;height:30px;color:var(--accent);font-family:var(--font-mono);letter-spacing:.04em;border-radius:9px;place-items:center;font-size:.7rem;display:grid}.site-nav{align-items:center;gap:clamp(.5rem,2.5vw,1.75rem);display:flex}.site-nav a{min-height:44px;color:var(--text-muted);transition:color .2s var(--ease);align-items:center;padding-inline:.25rem;font-size:.9rem;text-decoration:none;display:inline-flex;position:relative}.site-nav a:hover{color:var(--text)}.site-nav a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .3s var(--ease-out);position:absolute;bottom:.75rem;left:.25rem;right:.25rem;transform:scaleX(0)}.site-nav a:hover:after,.site-nav a:focus-visible:after{transform:scaleX(1)}.hero{min-height:calc(100svh - var(--header-h));align-items:center;padding-block:clamp(3.5rem,11vh,7.5rem) clamp(3rem,7vh,5rem);display:flex}.hero__inner{max-width:46rem}.eyebrow{color:var(--accent);font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:.7rem;font-size:.72rem;display:inline-flex}.eyebrow:before{content:"";opacity:.55;background:currentColor;width:30px;height:1px}.eyebrow--muted{color:var(--text-dim)}.hero__title{letter-spacing:-.035em;text-wrap:balance;margin-top:1.4rem;font-size:clamp(2.3rem,7vw,4.5rem);font-weight:600;line-height:1.03}.hero__role{color:var(--accent);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.65rem;margin-top:1.25rem;font-size:clamp(.8rem,1.6vw,.9rem);display:flex}.hero__role:before{content:"";width:6px;height:6px;box-shadow:0 0 0 4px var(--accent-faint);background:currentColor;border-radius:50%}.hero__description{max-width:34rem;color:var(--text-muted);margin-top:1.6rem;font-size:clamp(1rem,1.3vw,1.075rem);line-height:1.72}.hero__actions{flex-wrap:wrap;align-items:center;gap:.9rem 1.6rem;margin-top:clamp(1.9rem,4vw,2.6rem);display:flex}.hero__socials{align-items:center;gap:1.2rem;display:flex}.btn{letter-spacing:.01em;min-height:48px;transition:background-color .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);background-color:#0000;border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:.55rem;padding:.8rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn svg{transition:transform .25s var(--ease-out)}.btn--primary{color:var(--accent);border-color:#2dd4bf80}.btn--primary:hover,.btn--primary:focus-visible{border-color:var(--accent);background-color:var(--accent-faint);color:var(--accent-soft)}.btn--primary:hover svg{transform:translateY(2px)}.btn--primary:focus-visible{outline-color:var(--accent-soft)}.btn--secondary{color:var(--text-muted);border-color:#e9eff138}.btn--secondary:hover,.btn--secondary:focus-visible{border-color:var(--accent-line);color:var(--accent-soft);background-color:#2dd4bf0f}.btn--secondary svg{opacity:.85}.btn--secondary:hover svg{transform:translateY(2px)}.link-quiet{min-height:44px;color:var(--text-muted);transition:color .2s var(--ease);align-items:center;gap:.4rem;font-size:.9rem;text-decoration:none;display:inline-flex}.link-quiet svg{transition:transform .25s var(--ease-out)}.link-quiet:hover{color:var(--accent-soft)}.link-quiet:hover svg{transform:translate(2px,-2px)}.projects{scroll-margin-top:var(--header-h);padding-block:clamp(3.5rem,9vh,6rem) clamp(4rem,11vh,7.5rem)}.section-title{letter-spacing:-.028em;margin-top:1.1rem;font-size:clamp(1.75rem,4.2vw,2.5rem);font-weight:600;line-height:1.12}.section-intro{max-width:46ch;color:var(--text-muted);margin-top:1rem;font-size:.975rem}.projects__grid{grid-template-columns:1fr;gap:clamp(1rem,2.4vw,1.4rem);margin-top:clamp(2rem,4.5vw,3rem);display:grid}@media (width>=640px){.projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=960px){.projects__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-card{border:1px solid var(--border);min-width:0;transition:transform .35s var(--ease-out), border-color .35s var(--ease);background:linear-gradient(#141e2285,#090e11d9);border-radius:0;flex-direction:column;padding:clamp(1.4rem,3vw,1.7rem);display:flex;position:relative}.project-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:0;height:1px;transition:opacity .4s var(--ease);position:absolute;inset:0 0 auto}.project-card:after{content:"";pointer-events:none;opacity:0;transition:opacity .35s var(--ease);position:absolute;inset:0;box-shadow:0 24px 50px -34px #000000f2,0 20px 50px -38px #2dd4bf8c}.project-card:focus-within{border-color:#2dd4bf42;transform:translateY(-4px)}.project-card:focus-within:after{opacity:1}.project-card:focus-within:before{opacity:.6}@media (hover:hover){.project-card{will-change:transform}.project-card:hover{border-color:#2dd4bf42;transform:translateY(-4px)}.project-card:hover:after{opacity:1}.project-card:hover:before{opacity:.6}}.project-card__status{border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;align-self:flex-start;align-items:center;gap:.45rem;padding:.2rem .55rem;font-size:.68rem;line-height:1.5;display:inline-flex}.project-card__status:before{content:"";background-color:currentColor;border-radius:50%;flex:none;width:5px;height:5px}.project-card__status--accent{color:var(--accent);border-color:#2dd4bf61}.project-card__status--neutral{color:var(--text-muted)}.project-card__status--dim{color:var(--text-dim)}.project-card__title{letter-spacing:-.015em;margin-top:.85rem;font-size:1.2rem;font-weight:600}.project-card__description{color:var(--text-muted);margin-top:.55rem;font-size:.935rem;line-height:1.65}.project-card__tech{flex-wrap:wrap;gap:.45rem;margin-top:1.15rem;margin-bottom:1.4rem;display:flex}.tag{border:1px solid var(--border);color:#a9b6bb;font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;background:#e9eff105;border-radius:999px;padding:.28rem .62rem;font-size:.69rem}.project-card__links{border-top:1px solid #e9eff10f;flex-wrap:wrap;align-items:center;gap:.25rem 1.25rem;margin-top:auto;padding-top:1rem;display:flex}.project-card__link{min-height:44px;color:var(--accent);transition:color .2s var(--ease);align-items:center;gap:.4rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.project-card__link svg{opacity:.9;transition:transform .25s var(--ease-out)}.project-card__link:hover{color:var(--accent-soft)}.project-card__link:hover svg{transform:translate(2px,-2px)}.project-card__link--quiet{color:var(--text-muted)}.project-card__link--quiet:hover{color:var(--text)}.site-footer{border-top:1px solid var(--border);background:#06080a8c;margin-top:auto;padding-block:1.6rem}.site-footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}.site-footer__copy{color:var(--text-dim);font-size:.845rem}.site-footer__links{flex-wrap:wrap;align-items:center;gap:.25rem 1.4rem;display:flex}.site-footer__links a{min-height:44px;color:var(--text-muted);transition:color .2s var(--ease);align-items:center;font-size:.845rem;text-decoration:none;display:inline-flex}.site-footer__links a:hover{color:var(--accent-soft)}.hero__inner>*{animation:rise .85s var(--ease-out) both}.hero__inner>:nth-child(2){animation-delay:60ms}.hero__inner>:nth-child(3){animation-delay:.12s}.hero__inner>:nth-child(4){animation-delay:.18s}.hero__inner>:nth-child(5){animation-delay:.24s}.reveal{opacity:0;transition:opacity .75s var(--ease-out), transform .75s var(--ease-out);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}.reveal.is-visible .project-card{animation:card-in .7s var(--ease-out) backwards}.reveal.is-visible .project-card:nth-child(2){animation-delay:90ms}.reveal.is-visible .project-card:nth-child(3){animation-delay:.18s}.reveal.is-visible .project-card:nth-child(4){animation-delay:.27s}.reveal.is-visible .project-card:nth-child(5){animation-delay:.36s}.reveal.is-visible .project-card:nth-child(n+6){animation-delay:.45s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes card-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (width<=560px){.brand__name{display:none}.hero{min-height:auto}.hero__actions{flex-direction:column;align-items:stretch;gap:.6rem}.hero__actions .btn{width:100%}.hero__actions .hero__socials{align-self:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.bg__glow{opacity:.9;animation:none}.bg__grid-tiles{animation:none}.reveal{opacity:1;transform:none}}
