:root{--hud-bg:rgba(8,16,32,.9);--hud-bg-2:rgba(12,24,46,.92);--hud-line:rgba(127,211,255,.42);--hud-line-soft:rgba(127,211,255,.18);--hud-text:#e8f1ff;--hud-strong:#fff;--hud-fill:#0c1a33;--hud-input:rgba(4,10,22,.7);--hud-hover:rgba(127,211,255,.08);--hud-shadow:0 0 #0000;--hud-well:rgba(4,10,22,.5);--hud-glass:rgba(8,16,32,.72);--hud-solid:rgba(8,16,32,.97);--plan:#f8bf3f;--hud-text-2:#b3c3da;--hud-text-3:#7f93b0;--cyan:#7fd3ff;--ok:#4fd682;--signal:#ff7a3c;--signal-ink:var(--signal);--ink:#0b1424;--ink-2:#22324a;--halo:0 0 2px hsla(0,0%,100%,.9),0 0 14px hsla(0,0%,100%,.95),0 0 32px hsla(0,0%,100%,.75);--night-veil:0;--env-tint:rgba(238,245,251,.08);--intro-bg:#f3f7fc;--paper:#0b1424;--paper-2:var(--hud-bg-2);--canvas:#0b1424;--panel:var(--hud-bg);--panel-2:var(--hud-bg-2);--panel-solid:#0c1830;--line:var(--hud-line-soft);--line-strong:var(--hud-line);--glass-rim:var(--hud-line-soft);--rule:var(--hud-line);--rule-soft:var(--hud-line-soft);--sky:var(--cyan);--sky-soft:rgba(127,211,255,.12);--cobalt:var(--cyan);--cobalt-soft:rgba(127,211,255,.12);--accent:var(--signal);--accent-hover:#ff935f;--accent-soft:rgba(255,122,60,.16);--accent-ink:#0b1424;--signal-soft:rgba(255,122,60,.16);--ink-3:#7f93b0;--on-ink:#0b1424;--glow:rgba(127,211,255,.4);--shadow:none;--shadow-lift:none;--grid:transparent;--grid-strong:transparent;--display:var(--font-display),system-ui,sans-serif;--body:var(--font-body),system-ui,sans-serif;--mono:var(--font-mono),ui-monospace,monospace;--ease-out:cubic-bezier(.2,.8,.2,1);--ease-soft:cubic-bezier(.45,0,.2,1);color-scheme:light}[data-theme=dark]{--ink:#eef3fb;--ink-2:#c3d0e4;--halo:0 1px 2px rgba(3,6,14,.95),0 0 14px rgba(3,6,14,.9),0 0 34px rgba(3,6,14,.75);--night-veil:.74;--env-tint:rgba(3,10,30,.72);--intro-bg:#0b1424;color-scheme:dark}[data-theme=light]{--ink:#14283f;--ink-2:#40556d;--ink-3:#5b7084;--intro-bg:#f2f7fb;--paper:#f2f7fb;--canvas:#f2f7fb;--halo:0 1px 1px hsla(0,0%,100%,.96),0 0 14px hsla(0,0%,100%,.72);--env-tint:rgba(237,245,251,.16);--hud-bg:rgba(250,253,255,.95);--hud-bg-2:rgba(235,243,249,.97);--hud-line:rgba(36,93,145,.3);--hud-line-soft:rgba(36,93,145,.16);--hud-text:#14283f;--hud-text-2:#40556d;--hud-text-3:#5b7084;--hud-strong:#14283f;--hud-input:hsla(0,0%,100%,.97);--hud-hover:rgba(36,93,145,.065);--hud-shadow:0 16px 44px rgba(31,62,91,.09),0 2px 6px rgba(31,62,91,.04);--hud-well:rgba(225,237,247,.52);--hud-glass:rgba(247,251,254,.9);--hud-solid:rgba(247,251,254,.99);--sky-soft:rgba(36,93,145,.1);--cobalt-soft:rgba(36,93,145,.1);--plan:#886118;--cyan:#245d91;--ok:#1d7954;--signal:#ed8748;--signal-ink:#9c421b;--signal-soft:rgba(237,135,72,.12);--accent-soft:var(--signal-soft);--accent-hover:#f19a60;--accent-ink:#14283f}[data-theme=light] :is(.hire-term,.log-print,.infra-hero .tf-log){--hud-bg:rgba(8,16,32,.9);--hud-bg-2:rgba(12,24,46,.92);--hud-line:rgba(127,211,255,.42);--hud-line-soft:rgba(127,211,255,.18);--hud-text:#e8f1ff;--hud-text-2:#b3c3da;--hud-text-3:#7f93b0;--hud-strong:#fff;--hud-fill:#0c1a33;--hud-input:rgba(4,10,22,.7);--hud-hover:rgba(127,211,255,.08);--hud-shadow:0 0 #0000;--hud-well:rgba(4,10,22,.5);--hud-glass:rgba(8,16,32,.72);--hud-solid:rgba(8,16,32,.97);--plan:#f8bf3f;--cyan:#7fd3ff;--ok:#4fd682}:root{--hud-blur:none;--hud-edge:0 0 #0000}@media (hover:hover) and (pointer:fine) and (min-width:900px){:root{--hud-bg:rgba(8,16,32,.58);--hud-bg-2:rgba(12,24,46,.64);--hud-fill:rgba(12,26,51,.5);--hud-well:rgba(4,10,22,.28);--hud-glass:rgba(8,16,32,.42);--hud-blur:blur(18px) saturate(1.25);--hud-edge:inset 0 1px 0 hsla(0,0%,100%,.07)}[data-theme=light]{--hud-bg:rgba(250,253,255,.88);--hud-bg-2:rgba(235,243,249,.92);--hud-fill:hsla(0,0%,100%,.94);--hud-well:rgba(225,237,247,.48);--hud-glass:rgba(247,251,254,.84);--hud-line:rgba(36,93,145,.28);--hud-line-soft:rgba(36,93,145,.15);--hud-input:hsla(0,0%,100%,.96);--hud-blur:blur(18px) saturate(1.12);--hud-edge:inset 0 1px 0 hsla(0,0%,100%,.9);--hud-shadow:0 16px 44px rgba(31,62,91,.09)}}@media not all and (hover:hover) and (pointer:fine) and (min-width:900px){:root{--hud-bg:rgba(8,16,32,.8);--hud-glass:rgba(8,16,32,.62)}[data-theme=light]{--hud-bg:rgba(250,253,255,.96);--hud-bg-2:rgba(235,243,249,.97);--hud-glass:rgba(247,251,254,.94);--hud-fill:hsla(0,0%,100%,.98);--hud-well:rgba(225,237,247,.6)}}.card,.footer,.hud,.kicker,.nav{backdrop-filter:var(--hud-blur)}*{box-sizing:border-box}body,html{overflow-x:hidden;overflow-x:clip}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:#0b1424;color:var(--ink);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}img,svg,video{display:block;max-width:100%}a{color:inherit}h1,h2,h3,h4{margin:0}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}::-moz-selection{background:var(--cyan);color:#0b1424}::selection{background:var(--cyan);color:#0b1424}[data-theme=light] ::-moz-selection{color:#fff}[data-theme=light] ::selection{color:#fff}[data-theme=light] body{background:var(--canvas)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--hud-bg);color:var(--hud-text);border:1px solid var(--cyan);padding:10px 16px;font-family:var(--mono);font-size:.85rem;text-decoration:none;transition:top .3s var(--ease-out)}.skip:focus{top:16px}.env{position:fixed;inset:0;z-index:-1;pointer-events:none;background:#0b1424 url(/hero/env-day.jpg) center 60%/cover no-repeat}[data-theme=dark] .env{background-image:url(/hero/env-night.jpg)}.env:after{content:"";inset:0;background:var(--env-tint);transition:background-color .6s var(--ease-out)}.env:after,.film{position:absolute}.film{inset:-3%;will-change:transform}.film-take{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 60%;object-position:center 60%;opacity:0;transition:opacity .9s var(--ease-out)}.film[data-mode=dark].ready-dark .film-dark,.film[data-mode=light].ready-light .film-light{opacity:1}.film:not(.on) .film-take{display:none}[data-theme=dark] .env:has(.film.ready-dark){--env-tint:rgba(3,10,30,.5)}body.paused *,body.paused :after,body.paused :before{animation-play-state:paused!important}.wrap{width:min(1200px,100% - clamp(40px,8vw,120px));margin:0 auto}.page{padding-top:clamp(116px,16vh,160px);padding-bottom:clamp(72px,10vh,120px)}.section{position:relative;padding:clamp(56px,8vh,104px) 0;scroll-margin-top:56px}.kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;color:var(--cyan);background:var(--hud-bg);border:1px solid var(--hud-line);padding:5px 10px;margin:0 0 16px}.kicker:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}.h1{font-size:clamp(2.6rem,6vw,5rem);line-height:1.02}.h1,.h2{font-family:var(--display);font-weight:600;letter-spacing:-.02em;color:var(--ink);text-shadow:var(--halo)}.h2{font-size:clamp(2.2rem,4.6vw,3.8rem);line-height:1.04;max-width:18ch}.lede{color:var(--ink-2);font-size:clamp(1.06rem,1.35vw,1.2rem);max-width:58ch;margin:16px 0 0;text-shadow:var(--halo)}.muted{color:var(--hud-text-2)}.ruler{display:none}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--mono);font-weight:500;font-size:.84rem;letter-spacing:.03em;padding:12px 18px;text-decoration:none;border:1px solid var(--hud-line);cursor:pointer;background:var(--hud-bg);color:var(--hud-text);transition:border-color .2s var(--ease-out),background-color .2s var(--ease-out),color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.btn:hover{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan),0 0 18px rgba(127,211,255,.35)}.btn-primary{background:var(--signal);border-color:var(--signal);color:var(--accent-ink)}.btn-primary:after{content:"→"}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 0 18px rgba(255,122,60,.45)}.btn-ghost{background:var(--hud-bg)}.btn-sm{padding:8px 14px;font-size:.78rem}@media (pointer:coarse){.btn{min-height:44px}}.link-arrow{font-family:var(--mono);font-size:.82rem;color:var(--cyan);text-decoration:none;border-bottom:1px solid var(--hud-line);padding-bottom:2px;transition:color .2s var(--ease-out),border-color .2s var(--ease-out)}.link-arrow:after{content:" ↗"}.link-arrow:hover{color:var(--hud-strong);border-color:var(--cyan)}.card,.hud{position:relative;background:var(--hud-bg);color:var(--hud-text);border:1px solid var(--hud-line);box-shadow:var(--hud-edge),var(--hud-shadow)}.card:after,.card:before,.hud:after,.hud:before{content:"";position:absolute;width:12px;height:12px;pointer-events:none;border-color:var(--cyan);border-style:solid}.card:before,.hud:before{left:-1px;top:-1px;border-width:2px 0 0 2px}.card:after,.hud:after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}.hud-bar{display:flex;justify-content:space-between;gap:12px;padding:8px 14px;border-bottom:1px solid var(--hud-line-soft);font-family:var(--mono);font-size:.74rem;color:var(--cyan)}.hud-bar,.status{align-items:center}.status{display:inline-flex;gap:6px;color:var(--ok)}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.status.live{color:var(--signal-ink)}.chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.chips li{font-family:var(--mono);font-size:.74rem;color:var(--hud-text-2);padding:4px 9px;border:1px solid var(--hud-line-soft);background:var(--hud-hover)}.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:stretch;justify-content:space-between;background:var(--hud-bg);border-bottom:1px solid var(--hud-line);color:var(--hud-text)}.nav.over-hero{background:var(--hud-glass)}.brand{display:flex;align-items:center;gap:12px;padding:0 clamp(16px,2.4vw,28px);text-decoration:none;font-family:var(--display);font-weight:500;font-size:1.02rem;letter-spacing:-.005em;color:var(--hud-text)}.brand-mark{width:32px;height:32px;border-radius:50%;box-shadow:0 0 0 1px var(--hud-line);transition:transform .4s var(--ease-out),box-shadow .3s var(--ease-out)}.brand:hover .brand-mark{transform:rotate(-8deg) scale(1.06);box-shadow:0 0 0 1px var(--cyan),0 0 14px rgba(127,211,255,.45)}.brand svg{width:26px;height:26px;color:var(--cyan)}.nav-links{list-style:none;margin:0}.nav-links,.nav-links li{display:flex}.nav-links a{display:flex;align-items:center;padding:0 clamp(12px,1.5vw,18px);font-family:var(--mono);font-size:.8rem;color:var(--hud-text-2);text-decoration:none;transition:color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--hud-strong);box-shadow:inset 0 -2px 0 var(--cyan)}.nav-right{display:flex;align-items:stretch}.theme-toggle{width:54px;border:0;border-left:1px solid var(--hud-line-soft);background:transparent;color:var(--hud-text);cursor:pointer;display:grid;place-items:center;transition:color .2s var(--ease-out)}.theme-toggle:hover{color:var(--cyan)}.theme-toggle svg{width:20px;height:20px}.nav-cta{display:flex;align-items:center;padding:0 22px;background:var(--signal);color:var(--accent-ink);font-family:var(--mono);font-size:.82rem;font-weight:500;text-decoration:none;transition:background-color .2s var(--ease-out)}.nav-cta:after{content:"→";margin-left:8px}.nav-cta:hover{background:var(--accent-hover)}.nav-menu-btn{display:none}.nav>*{min-height:56px}@media (max-width:860px){.nav-links{position:fixed;inset:56px 0 auto 0;flex-direction:column;max-height:calc(100svh - 56px);max-height:calc(100dvh - 56px);overflow-y:auto;overscroll-behavior:contain;background:var(--hud-solid);border-bottom:1px solid var(--hud-line);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .25s var(--ease-out),transform .25s var(--ease-out)}.nav-links.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.nav-links li{flex-shrink:0}.nav-links a{width:100%;min-height:56px;padding:16px 20px;border-top:1px solid var(--hud-line-soft);font-size:.92rem}.nav-menu-btn{display:grid}.nav-cta{display:none}.nav:not(.nav-ready){flex-wrap:wrap}.nav:not(.nav-ready) .nav-right{display:none}.nav:not(.nav-ready) .brand{min-height:56px}.nav:not(.nav-ready) .nav-links{position:static;flex-basis:100%;flex-direction:row;overflow-x:auto;opacity:1;visibility:visible;pointer-events:auto;transform:none}.nav:not(.nav-ready) .nav-links a{padding:12px;font-size:.78rem}}.reveal{opacity:1;transform:none;transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transition-delay:var(--d,0s)}.reveal.pending{opacity:0;transform:translateY(26px)}.reveal.in{opacity:1;transform:none}.reveal.done{transition-delay:0s}.footer{background:var(--hud-bg);border-top:1px solid var(--hud-line);font-family:var(--mono);font-size:.76rem;color:var(--hud-text-2)}.footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 0}.footer a{color:var(--cyan);text-decoration:none}.footer a:hover{color:var(--hud-strong)}.cube-field{opacity:1;transform:none;padding:8px 0}.cube-plane{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:clamp(5px,.8vw,9px);max-width:980px;margin:0 auto}.cube{position:relative;aspect-ratio:1;border:1px solid var(--hud-line-soft);background:transparent;transition:background-color .6s var(--ease-out),border-color .6s var(--ease-out),box-shadow .6s var(--ease-out);transition-delay:var(--d,0s)}.cube-field.in .cube{border-color:var(--hud-line);background:rgba(127,211,255,.14)}.cube-field.in .cube.warm{border-color:var(--signal);background:var(--signal);box-shadow:0 0 14px rgba(255,122,60,.6)}.cube:after{display:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;transition-delay:0s!important;scroll-behavior:auto!important}.reveal,.reveal.pending{opacity:1;transform:none}}:root{--sp-bg:#030014;--sp-line:rgba(112,66,248,.4);--sp-line-soft:rgba(112,66,248,.2);--sp-card:rgba(10,6,32,.62);--sp-text:#e6e8f2;--sp-dim:#9aa0b8;--sp-a:#b49bff;--sp-strong:#fff;--sp-body:#b8bdd4;--sp-chip:#cfc6ff;--sp-badge:#c4b2ff;--sp-b:#4cc9e0}body{background:var(--sp-bg)}.space-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% -10%,#1a0b4a 0,var(--sp-bg) 60%)}.stars{position:absolute;inset:0}.stars canvas{display:block}.space-home{color:var(--sp-text);overflow-x:clip}.sp-wrap{width:min(1180px,100% - 40px);margin-inline:auto}.sp-section{position:relative;padding:clamp(72px,10vw,130px) 0}.sp-grad{background:linear-gradient(90deg,#c9a2ff,#6ee7f9);-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-background-clip:text;background-clip:text;color:transparent}.sp-badge{display:inline-flex;align-items:center;gap:10px;width:-moz-max-content;width:max-content;max-width:100%;padding:8px 16px;border:1px solid var(--sp-line);border-radius:32px;font-size:.8rem;font-family:var(--mono);background:rgba(20,10,60,.4);backdrop-filter:blur(6px);box-shadow:inset 0 -7px 11px rgba(164,143,255,.12)}.sp-badge,.sp-spark{color:var(--sp-a)}.sp-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;margin-bottom:48px}.sp-h2{margin:0;font-family:var(--display);font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.15;color:var(--sp-strong);max-width:20ch}.sp-sub{margin:0;max-width:56ch;color:var(--sp-dim);font-size:1.02rem}.sp-h3{margin:72px 0 24px;text-align:center;font-family:var(--display);font-size:1.5rem;color:var(--sp-strong)}.sp-hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:110px 0 70px;overflow:hidden}.sp-hero:before{inset:0;background:linear-gradient(90deg,rgba(3,0,20,.88),rgba(3,0,20,.55) 45%,transparent 75%)}.sp-hero:after,.sp-hero:before{content:"";position:absolute;z-index:-1}.sp-hero:after{inset:auto 0 0 0;height:30%;background:linear-gradient(transparent,var(--sp-bg))}.sp-hero-grid{display:grid}.sp-hero-copy{display:flex;flex-direction:column;gap:22px}.sp-h1{margin:0;font-family:var(--display);font-weight:600;font-size:clamp(2.4rem,5.6vw,4.2rem);line-height:1.08;color:var(--sp-strong);max-width:14ch}.sp-lede{margin:0;max-width:52ch;font-size:1.1rem;color:var(--sp-body)}.sp-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}.sp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border:1px solid var(--sp-line);border-radius:10px;color:var(--sp-strong);text-decoration:none;font-size:.95rem;background:rgba(113,47,255,.12);box-shadow:inset 0 0 12px rgba(191,151,255,.24);transition:background-color .2s,box-shadow .2s,transform .2s}.sp-btn:hover{background:rgba(113,47,255,.28);box-shadow:inset 0 0 14px rgba(191,151,255,.45);transform:translateY(-1px)}.sp-btn-primary{background:linear-gradient(180deg,rgba(60,8,126,0),rgba(60,8,126,.5)),rgba(113,47,255,.3)}.sp-btn:focus-visible,.sp-link:focus-visible{outline:2px solid var(--sp-b);outline-offset:3px}.sp-card{padding:22px;border:1px solid var(--sp-line-soft);border-radius:14px;background:var(--sp-card);backdrop-filter:blur(8px);transition:border-color .25s,transform .25s}.sp-card:hover{border-color:var(--sp-line)}.sp-card h3,.sp-card h4{margin:0 0 10px;font-family:var(--display);font-size:1.05rem;color:var(--sp-strong)}.sp-card p{margin:0 0 12px;color:var(--sp-dim);font-size:.95rem}.sp-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.sp-chips li{padding:4px 11px;border:1px solid var(--sp-line-soft);border-radius:999px;font-size:.74rem;color:var(--sp-chip);background:rgba(112,66,248,.1)}.sp-chips li,.sp-when{font-family:var(--mono)}.sp-when{font-size:.76rem!important;color:var(--sp-b)!important;margin:0 0 6px!important}.sp-link,.sp-project-foot a{color:var(--sp-b);text-decoration:none;font-size:.9rem}.sp-link:hover,.sp-project-foot a:hover{text-decoration:underline}.sp-center{text-align:center;margin-top:32px}.sp-secure,.sp-skills{overflow:hidden}.sp-lock{display:flex;flex-direction:column;align-items:center;margin:-8px 0 36px}.sp-lock-top{margin-bottom:-26px;animation:sp-lock 3.2s ease-in-out infinite}@keyframes sp-lock{50%{transform:translateY(-8px)}}.sp-guard{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.sp-projects{display:grid;gap:22px}.sp-project{padding:clamp(20px,3vw,34px);border:1px solid var(--sp-line-soft);border-radius:18px;background:var(--sp-card);backdrop-filter:blur(10px);transition:border-color .25s}.sp-project:hover{border-color:var(--sp-line)}.sp-project h3{margin:6px 0 8px;font-family:var(--display);font-size:clamp(1.4rem,2.6vw,1.9rem);color:var(--sp-strong)}.sp-project-foot,.sp-project-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.sp-path{font-size:.76rem}.sp-path,.sp-status{font-family:var(--mono);color:var(--sp-dim)}.sp-status{padding:2px 10px;border:1px solid var(--sp-line-soft);border-radius:999px;font-size:.72rem}.sp-status.live{color:#4fd682;border-color:rgba(79,214,130,.4)}.sp-project-sum{margin:0 0 20px;color:var(--sp-body)}.sp-flow{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;list-style:none;counter-reset:s}.sp-flow li{counter-increment:s;padding:7px 12px;border:1px solid var(--sp-line-soft);border-radius:8px;font-family:var(--mono);font-size:.76rem;color:var(--sp-chip);background:rgba(112,66,248,.08)}.sp-flow li:before{content:counter(s,decimal-leading-zero) " ";color:var(--sp-dim)}.sp-flow li:not(:last-child):after{content:" →";color:var(--sp-dim)}.sp-flow li.accent{border-color:var(--sp-b);color:var(--sp-b)}.sp-notes{margin:0 0 20px;padding-left:18px;color:var(--sp-dim);font-size:.94rem;display:grid;gap:8px}.sp-notes b{color:var(--sp-text)}.sp-project-foot{margin-top:20px;padding-top:16px;border-top:1px solid var(--sp-line-soft);font-size:.86rem;color:var(--sp-dim)}.sp-earlier{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.sp-term{margin:0 0 14px;padding:12px 14px;border-radius:10px;background:rgba(0,0,0,.45);border:1px solid var(--sp-line-soft);font-family:var(--mono);font-size:.76rem;color:#8ee6b0;overflow-x:auto}.sp-timeline{position:relative;margin:0;padding:0;list-style:none;display:grid;gap:22px;max-width:860px;margin-inline:auto}.sp-timeline:before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--sp-line),transparent)}.sp-tl{position:relative;padding-left:44px}.sp-dot{position:absolute;left:4px;top:26px;width:16px;height:16px;border-radius:50%;background:var(--sp-bg);border:2px solid var(--sp-a)}.sp-tl.now .sp-dot{background:var(--sp-b);border-color:var(--sp-b);box-shadow:0 0 14px var(--sp-b)}.sp-card ul{margin:0;padding-left:18px;color:var(--sp-dim);font-size:.93rem;display:grid;gap:6px}.sp-org{color:var(--sp-dim);font-weight:400}.sp-certs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sp-cert{margin:0;overflow:hidden;border:1px solid var(--sp-line-soft);border-radius:14px;background:var(--sp-card);transition:border-color .25s,transform .25s}.sp-cert:hover{border-color:var(--sp-line);transform:translateY(-3px)}.sp-cert img{display:block;width:100%;height:auto;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover}.sp-cert figcaption{padding:14px 16px;display:grid;gap:4px;font-size:.9rem;color:var(--sp-strong)}.sp-cert figcaption span{font-size:.78rem;color:var(--sp-dim)}@media (max-width:900px){.sp-hero:before{background:linear-gradient(rgba(3,0,20,.2),rgba(3,0,20,.75))}.sp-certs,.sp-guard{grid-template-columns:repeat(2,1fr)}.sp-earlier{grid-template-columns:1fr}}@media (max-width:560px){.sp-certs,.sp-guard{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.sp-lock-top{animation:none}}body.paused .sp-lock-top{animation-play-state:paused}.space-home{font-family:var(--font-grotesk),var(--body)}.space-home :is(.sp-h1,.sp-h2,.sp-h3,.sp-card h3,.sp-card h4,.sp-project h3,.sp-year,.sp-kicker){font-family:var(--font-oswald),Impact,sans-serif;text-transform:uppercase;letter-spacing:.01em}.sp-h2{font-size:clamp(2rem,5vw,3.6rem);line-height:1.05;max-width:22ch}.sp-h2,.sp-h3{font-weight:600}.sp-h1{font-weight:700;font-size:clamp(3.4rem,10vw,8rem);line-height:.92;max-width:none}.sp-kicker{margin:0;color:var(--sp-b);font-size:.95rem;letter-spacing:.14em!important}.sp-meta{display:grid;gap:8px;margin:0;padding:0;list-style:none;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;color:var(--sp-text)}.sp-meta span{display:inline-block;width:1.6em;color:var(--sp-b)}.sp-lede{font-size:1rem;max-width:44ch}.sp-card,.sp-cert,.sp-project{position:relative;border-radius:0;border:1px solid var(--sp-line-soft);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}.sp-card:before,.sp-project:before{left:6px;top:6px;border-left:2px solid var(--sp-b);border-top:2px solid var(--sp-b)}.sp-card:after,.sp-card:before,.sp-project:after,.sp-project:before{content:"";position:absolute;width:12px;height:12px;pointer-events:none}.sp-card:after,.sp-project:after{right:6px;bottom:6px;border-right:2px solid var(--sp-b);border-bottom:2px solid var(--sp-b)}.sp-btn,.sp-chips li{border-radius:0}.sp-btn{text-transform:uppercase;letter-spacing:.08em;font-family:var(--font-oswald),sans-serif;font-weight:500;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));border:0;background:rgba(76,201,224,.16);color:var(--sp-b)}.sp-btn,.sp-btn:hover{box-shadow:inset 0 0 0 1px var(--sp-b)}.sp-btn:hover{background:rgba(76,201,224,.3)}.sp-btn-primary{background:var(--sp-b);color:#03121a;box-shadow:none}.sp-btn-primary:hover{background:#7ae0f2}.sp-badge{border-radius:0;text-transform:uppercase;letter-spacing:.1em}.sp-hero-grid{grid-template-columns:1fr;align-items:center}.sp-tl .sp-card{padding-right:clamp(90px,16vw,200px)}.sp-year{position:absolute;right:20px;top:8px;font-size:clamp(3rem,8vw,6rem);font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(76,201,224,.55);pointer-events:none}.sp-tl.now .sp-year{color:rgba(76,201,224,.18)}.sp-project h3{font-size:clamp(1.8rem,3.4vw,2.6rem)}.sp-card h3{font-size:1.25rem}@media (max-width:900px){.sp-hero-grid{grid-template-columns:1fr}.sp-tl .sp-card{padding-right:22px;padding-top:56px}.sp-year{top:6px;font-size:3rem}}.sp-dissolve{position:absolute;left:0;right:0;top:0;height:34svh;pointer-events:none;z-index:5;--flag-cell:24px}.sp-dissolve canvas{display:block;width:100%;height:100%}@media (max-width:640px){.sp-dissolve{--flag-cell:14px;height:26svh}}.sp-pipe{position:relative;height:calc(var(--n,6) * 62svh + 100svh);--p:0}.sp-pipe-stick{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}.sp-pipe-grid{display:grid;grid-template-columns:1fr minmax(240px,.8fr) 1.2fr;gap:clamp(24px,4vw,64px);align-items:center}.sp-pipe-head{display:grid;gap:14px;align-content:center}.sp-pipe-head .sp-h2{max-width:12ch}.sp-pipe-head .sp-sub{max-width:30ch}.sp-pipe-rail{position:relative;padding:6px 0 6px 40px}.sp-pipe-line,.sp-pipe-run{position:absolute;left:8px;top:0;bottom:0;width:1px}.sp-pipe-line{background:repeating-linear-gradient(var(--sp-line) 0 6px,transparent 6px 12px)}.sp-pipe-run{background:var(--sp-b);bottom:auto;height:calc(var(--p) * 100%)}.sp-pipe-mark{position:absolute;left:3px;top:calc(var(--p) * 100%);width:11px;height:11px;margin-top:-5px;background:var(--sp-b);transform:rotate(calc(var(--p) * 5turn));box-shadow:0 0 14px var(--sp-b)}.sp-pipe-rail ol{display:grid;gap:clamp(14px,3.2svh,30px);margin:0;padding:0;list-style:none}.sp-pipe-rail li{display:flex;gap:14px;align-items:baseline;font-family:var(--font-oswald),sans-serif;font-size:clamp(1rem,2vw,1.35rem);text-transform:uppercase;letter-spacing:.04em;color:rgba(230,232,242,.35);transition:color .3s}.sp-pipe-rail li.done{color:rgba(230,232,242,.7)}.sp-pipe-rail li.on{color:var(--sp-b)}.sp-pipe-no{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em}.sp-pipe-stage{display:grid;gap:12px}.sp-pipe-count{margin:0;font-family:var(--font-oswald),sans-serif;font-size:1.4rem;color:var(--sp-b)}.sp-pipe-count small{color:var(--sp-dim);font-size:1rem}.sp-pipe-big{margin:0;font-family:var(--font-oswald),Impact,sans-serif;font-weight:700;text-transform:uppercase;line-height:.92;font-size:clamp(3rem,9vw,7.5rem);color:transparent;-webkit-text-stroke:1.5px var(--sp-b);animation:sp-stage-in .5s var(--ease-out) both}.sp-pipe-note{margin:0;max-width:46ch;color:var(--sp-body);animation:sp-stage-in .5s .08s var(--ease-out) both}.sp-pipe-note b{color:var(--sp-strong)}@keyframes sp-stage-in{0%{opacity:0;transform:translateY(14px)}}@media (max-width:900px){.sp-pipe-grid{grid-template-columns:1fr;gap:18px}.sp-pipe-head .sp-h2{max-width:none}.sp-pipe-rail ol{grid-template-columns:repeat(3,1fr);gap:10px 8px}.sp-pipe-rail{padding:0}.sp-pipe-line,.sp-pipe-mark,.sp-pipe-run{display:none}}@media (prefers-reduced-motion:reduce){.sp-pipe{height:auto}.sp-pipe-stick{position:static;height:auto;padding:80px 0}.sp-pipe-big,.sp-pipe-note{animation:none}}.sp-contact-grid{display:grid;grid-template-columns:minmax(260px,.7fr) 1.3fr;gap:clamp(28px,5vw,72px);align-items:center}.sp-contact .sp-head{align-items:flex-start;text-align:left}.sp-portrait{margin:0;position:relative;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px));border:1px solid var(--sp-line-soft);background:#05030e}.sp-portrait img{display:block;width:100%;height:auto;filter:grayscale(1) contrast(1.08);mix-blend-mode:lighten}.sp-portrait:after{content:"";position:absolute;inset:0;border:2px solid var(--sp-b);clip-path:inherit;pointer-events:none;opacity:.55}.sp-portrait figcaption{position:absolute;left:14px;bottom:12px;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#e6e8f2;text-shadow:0 1px 8px #000}@media (max-width:900px){.sp-contact-grid{grid-template-columns:1fr}.sp-portrait{max-width:360px}}.space-home h1.sp-h1{font-family:var(--body);text-transform:none;font-weight:500;letter-spacing:-.02em;font-size:clamp(2.6rem,5.6vw,4.6rem);line-height:1.08;max-width:12ch}.space-home .sp-lede{font-family:var(--body);font-size:1.15rem;color:var(--sp-body);max-width:34em}.sp-badge-hero{text-transform:none;letter-spacing:0;border-radius:32px;font-family:var(--body);font-size:.85rem;color:var(--sp-badge);border:1px solid #7042f88b;background:rgba(20,10,60,.35)}.sp-hero{padding-top:120px}.sp-hero:before{display:none}.sp-hero-grid{grid-template-columns:1.05fr .95fr;gap:24px}.sp-hero-copy{gap:26px}.space-home .sp-btn-primary{font-family:var(--body);text-transform:none;letter-spacing:0;font-weight:400;font-size:1rem;color:var(--sp-strong);background:linear-gradient(180deg,rgba(60,8,126,0),rgba(60,8,126,.32)),rgba(113,47,255,.12);box-shadow:inset 0 0 12px #bf97ff3d;clip-path:none;border-radius:10px;min-width:200px}.space-home .sp-btn-primary:hover{background:linear-gradient(180deg,rgba(60,8,126,0),rgba(60,8,126,.42)),rgba(113,47,255,.24);box-shadow:inset 0 0 12px #bf97ff70}.sp-hero-art{display:grid;place-items:center}.sp-orbit-stage{position:relative;width:min(560px,100%);aspect-ratio:1}.sp-orbit-grid{position:absolute;inset:0;width:100%;height:100%;color:rgba(190,170,255,.28);animation:sp-grid-spin 120s linear infinite}@keyframes sp-grid-spin{to{transform:rotate(1turn)}}.sp-tile{position:absolute;aspect-ratio:1;display:grid;place-items:center;border-radius:14%;background:linear-gradient(145deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.03));border:1px solid rgba(190,170,255,.18);box-shadow:0 10px 30px rgba(0,0,0,.35);color:#f2f0ff;backdrop-filter:blur(6px);animation:sp-float 6s ease-in-out var(--fd,0s) infinite alternate}.sp-tile svg{width:52%;height:52%}@keyframes sp-float{to{transform:translateY(-10px)}}.nav{background:linear-gradient(180deg,rgba(3,0,20,.85),rgba(3,0,20,.35));border-bottom:0;align-items:center;padding:0 clamp(16px,6vw,110px)}.nav.over-hero{background:linear-gradient(180deg,rgba(3,0,20,.7),transparent)}.nav.solid{background:rgba(3,0,20,.82)}.nav .brand{font-family:var(--body);font-size:1.05rem}.nav-links{background:rgba(32,18,80,.45);border:1px solid rgba(190,170,255,.14);border-radius:999px;padding:0 14px;box-shadow:inset 0 0 14px rgba(160,120,255,.12);height:46px;align-self:center;min-height:0}.nav-links a{font-family:var(--body);font-size:1rem;color:#e6e8f2;box-shadow:none!important}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--sp-strong);box-shadow:none}.nav-right{align-items:center;gap:6px}.nav-social{display:grid;place-items:center;width:40px;height:40px;color:var(--sp-strong);font-size:1.5rem;text-decoration:none;opacity:.9;transition:opacity .2s,transform .2s}.nav-social:hover{opacity:1;transform:translateY(-2px)}@media (max-width:860px){.nav-links{border-radius:0;background:var(--hud-solid);height:auto;border:0;padding:0}.nav-social{display:none}}@media (max-width:900px){.sp-hero-grid{grid-template-columns:1fr}.sp-hero-art{order:2}}@media (prefers-reduced-motion:reduce){.sp-orbit-grid,.sp-tile{animation:none}}@media (max-width:900px){.sp-hero{min-height:0;display:block;padding:112px 0 16px}.sp-hero:after{display:none}.sp-hero-copy{gap:20px}.space-home h1.sp-h1{font-size:clamp(2.4rem,11vw,3.4rem);max-width:11ch}.space-home .sp-lede{font-size:1.02rem}.space-home .sp-btn-primary{width:100%}.sp-hero-grid{gap:34px}.sp-orbit-stage{width:min(340px,92%);margin-inline:auto}.sp-hero-art{order:2}.sp-section{padding:64px 0}.sp-head{margin-bottom:32px;gap:12px}.sp-h2{font-size:clamp(1.9rem,9vw,2.6rem);max-width:none}.sp-sub{font-size:.95rem}.sp-project{padding:20px 18px}.sp-flow li{font-size:.7rem;padding:6px 9px}.sp-earlier{gap:14px}.sp-contact .sp-head{margin-bottom:24px}.sp-portrait{max-width:300px;margin-inline:auto}.sp-cert figcaption{padding:12px 14px}.sp-pipe{height:calc(var(--n,6) * 48svh + 100svh)}.sp-pipe-big{font-size:clamp(2.6rem,13vw,4rem)}.sp-pipe-head .sp-sub{max-width:none;font-size:.92rem}.sp-timeline:before{left:7px}.sp-tl{padding-left:32px}.sp-dot{left:0}}@media (max-width:420px){.sp-wrap{width:calc(100% - 32px)}.nav .brand span{font-size:.95rem}.sp-tile{border-radius:16%}}[data-theme=light]{--display:var(--font-oswald),Impact,sans-serif;--body:var(--font-grotesk),system-ui,sans-serif}[data-theme=light] body{background:#f7fafb;color:#090a0b}[data-theme=light] .space-bg{background:#f7fafb}[data-theme=light] .space-home{--sp-bg:#f7fafb;--sp-b:#02d2e3;--sp-a:#067f8d;--sp-text:#1b1d24;--sp-dim:#4d5560;--sp-strong:#090a0b;--sp-body:#4d4d4d;--sp-chip:#2a2d36;--sp-badge:#067f8d;--sp-card:hsla(0,0%,100%,.78);--sp-line:rgba(9,10,11,.3);--sp-line-soft:rgba(9,10,11,.14)}[data-theme=light] .sp-dark{background:#0e0f14;color:#e6e8f2;--sp-b:#4cc9e0;--sp-a:#b49bff;--sp-text:#e6e8f2;--sp-dim:#9aa0b8;--sp-strong:#fff;--sp-body:#b8bdd4;--sp-chip:#cfc6ff;--sp-badge:#c4b2ff;--sp-card:rgba(10,6,32,.62);--sp-line:rgba(112,66,248,.4);--sp-line-soft:rgba(112,66,248,.2);--hud-bg:rgba(8,16,32,.9);--hud-bg-2:rgba(12,24,46,.92);--hud-line:rgba(127,211,255,.42);--hud-line-soft:rgba(127,211,255,.18);--hud-text:#e8f1ff;--hud-text-2:#b3c3da;--hud-text-3:#7f93b0;--hud-strong:#fff;--hud-fill:#0c1a33;--hud-input:rgba(4,10,22,.7);--hud-hover:rgba(127,211,255,.08);--hud-shadow:0 0 #0000;--hud-well:rgba(4,10,22,.5);--hud-glass:rgba(8,16,32,.72);--hud-solid:rgba(8,16,32,.97);--cyan:#7fd3ff;--ok:#4fd682;--signal:#ff7a3c;--signal-ink:#ff7a3c;--accent-ink:#0b1424;--accent-hover:#ff935f;--ink:#eef3fb;--ink-2:#c3d0e4;--halo:0 1px 2px rgba(3,6,14,.95),0 0 14px rgba(3,6,14,.9)}[data-theme=light] .sp-pipe-stick{background:#0e0f14}[data-theme=light] .sp-hero:after,[data-theme=light] .sp-hero:before{display:none}[data-theme=light] .space-home h1.sp-h1{font-family:var(--font-oswald),Impact,sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:.005em;line-height:.95;font-size:clamp(3rem,8.4vw,7rem);max-width:9ch;color:#090a0b}[data-theme=light] .space-home .sp-lede{color:#4d4d4d}[data-theme=light] .sp-badge,[data-theme=light] .sp-badge-hero{color:#067f8d;border-color:rgba(9,10,11,.2);background:hsla(0,0%,100%,.7);box-shadow:none;border-radius:0;text-transform:uppercase;letter-spacing:.1em;font-family:var(--mono);font-size:.74rem}[data-theme=light] .sp-dark .sp-badge{color:#c4b2ff;border-color:rgba(112,66,248,.5);background:rgba(20,10,60,.35)}[data-theme=light] .sp-grad{background:linear-gradient(90deg,#0b7a89,#02b8ca);-webkit-background-clip:text;background-clip:text}[data-theme=light] .sp-dark .sp-grad{background:linear-gradient(90deg,#c9a2ff,#6ee7f9)}[data-theme=light] .sp-orbit-grid{color:rgba(9,10,11,.2)}[data-theme=light] .sp-tile{background:#fff;border-color:rgba(9,10,11,.12);color:#0e0f14;box-shadow:0 12px 28px rgba(9,10,11,.1)}[data-theme=light] .space-home .sp-btn,[data-theme=light] .space-home .sp-btn-primary{background:#0e0f14;color:#02d2e3;box-shadow:inset 0 0 0 1px #02d2e3;font-family:var(--font-oswald),sans-serif;text-transform:uppercase;letter-spacing:.08em;font-weight:500;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));border-radius:0}[data-theme=light] .space-home .sp-btn-primary:hover,[data-theme=light] .space-home .sp-btn:hover{background:#02d2e3;color:#090a0b}[data-theme=light] .sp-card,[data-theme=light] .sp-cert,[data-theme=light] .sp-project{background:hsla(0,0%,100%,.78);box-shadow:0 14px 34px rgba(9,10,11,.06)}[data-theme=light] .sp-dark .sp-card,[data-theme=light] .sp-dark .sp-project{background:rgba(10,6,32,.62);box-shadow:none}[data-theme=light] .sp-chips li{background:rgba(9,10,11,.05)}[data-theme=light] .sp-dark .sp-chips li{background:rgba(112,66,248,.1)}[data-theme=light] .sp-flow li{background:rgba(9,10,11,.04)}[data-theme=light] .sp-flow li.accent{border-color:#0b7a89;color:#0b7a89}[data-theme=light] .sp-when{color:#0b7a89!important}[data-theme=light] .sp-link,[data-theme=light] .sp-project-foot a{color:#0b7a89}[data-theme=light] .sp-year{-webkit-text-stroke-color:rgba(2,170,190,.7)}[data-theme=light] .sp-status.live{color:#1d7954;border-color:rgba(29,121,84,.4)}[data-theme=light] .sp-dark .sp-status.live{color:#4fd682;border-color:rgba(79,214,130,.4)}[data-theme=light] .sp-timeline:before{background:linear-gradient(rgba(9,10,11,.3),transparent)}[data-theme=light] .sp-dot{background:#f7fafb;border-color:#0b7a89}[data-theme=light] .sp-tl.now .sp-dot{background:#02d2e3;border-color:#02d2e3;box-shadow:0 0 12px #02d2e3}[data-theme=light] .nav{background:linear-gradient(180deg,rgba(247,250,251,.92),rgba(247,250,251,.55));color:#090a0b}[data-theme=light] .nav.over-hero{background:linear-gradient(180deg,rgba(247,250,251,.85),transparent)}[data-theme=light] .nav.solid{background:rgba(247,250,251,.92);border-bottom:1px solid rgba(9,10,11,.08)}[data-theme=light] .nav .brand{color:#090a0b}[data-theme=light] .nav-links{background:hsla(0,0%,100%,.75);border-color:rgba(9,10,11,.1);box-shadow:none}[data-theme=light] .nav-links a{color:#1b1d24}[data-theme=light] .nav-links a:hover,[data-theme=light] .nav-links a[aria-current=page]{color:#0b7a89}[data-theme=light] .nav-social,[data-theme=light] .theme-toggle{color:#090a0b}@media (max-width:860px){[data-theme=light] .nav-links{background:rgba(247,250,251,.98)}}.nav-theme{background:transparent;border:0;cursor:pointer;padding:0}@media (max-width:900px){[data-theme=light] .sp-hero{background:none}[data-theme=light] .space-home h1.sp-h1{font-size:clamp(2.8rem,13vw,4.2rem)}[data-theme=light] .sp-hero{padding-top:112px}}@media (max-width:860px){.nav-social.nav-theme{display:grid}}[data-theme=light] .sp-hero{background:linear-gradient(180deg,#f7fafb 62%,#ebeef1)}[data-theme=light] .sp-pipe-stick{background:#090a0b}[data-theme=light] .sp-skills [data-theme=light] #experience{background:#ebeef1}[data-theme=light] .sp-contact{background:#090a0b}[data-theme=light] #experience .sp-card{background:#fff}[data-theme=light] .sp-dark{--sp-a:#7ae9f3;--sp-b:#02d2e3;--sp-badge:#7ae9f3;--sp-chip:#cfe9ee;--sp-card:hsla(0,0%,100%,.04);--sp-line:rgba(2,210,227,.4);--sp-line-soft:hsla(0,0%,100%,.13);--signal:#02d2e3;--signal-ink:#02d2e3;--accent-ink:#090a0b;--accent-hover:#5fe6f1;--signal-soft:rgba(2,210,227,.14);--accent-soft:rgba(2,210,227,.14)}[data-theme=light] .sp-dark .sp-grad{background:linear-gradient(90deg,#b8f3f8,#02d2e3);-webkit-background-clip:text;background-clip:text}[data-theme=light] .sp-dark .sp-badge{color:#7ae9f3;border-color:rgba(2,210,227,.45);background:rgba(2,210,227,.07)}[data-theme=light] .sp-dark .sp-card,[data-theme=light] .sp-dark .sp-project{background:hsla(0,0%,100%,.04)}[data-theme=light] .sp-dark .sp-chips li{background:rgba(2,210,227,.08)}[data-theme=light] .sp-dark .sp-portrait{background:#0e0f14}[data-theme=light] .sp-pipe-line{background:repeating-linear-gradient(hsla(0,0%,100%,.25) 0 6px,transparent 6px 12px)}[data-theme=light]{--hud-bg:hsla(0,0%,100%,.92);--hud-bg-2:#ebeef1;--hud-line:rgba(9,10,11,.26);--hud-line-soft:rgba(9,10,11,.12);--hud-text:#1b1d24;--hud-text-2:#4d5560;--hud-text-3:#6b747d;--hud-strong:#090a0b;--hud-fill:#fff;--hud-input:#fff;--hud-hover:rgba(2,210,227,.1);--hud-glass:rgba(247,250,251,.92);--hud-solid:#f7fafb;--hud-well:#ebeef1;--hud-shadow:0 14px 34px rgba(9,10,11,.06);--cyan:#0b7a89;--sky-soft:rgba(2,210,227,.12);--cobalt-soft:rgba(2,210,227,.12);--signal:#02d2e3;--signal-ink:#0b7a89;--signal-soft:rgba(2,210,227,.14);--accent-soft:rgba(2,210,227,.14);--accent-hover:#5fe6f1;--accent-ink:#090a0b;--ink:#090a0b;--ink-2:#4d5560;--ink-3:#6b747d;--paper:#f7fafb;--canvas:#f7fafb}[data-theme=light] .footer{background:#090a0b;border-top:0;color:#b6c1c8}[data-theme=light] .footer a{color:#02d2e3}[data-theme=light] .footer a:hover{color:#fff}[data-theme=light] .sp-lock img{filter:hue-rotate(-62deg) saturate(1.15)}.sp-field{position:absolute;inset:0;z-index:0;pointer-events:none}.sp-field canvas{position:absolute;inset:0;width:100%;height:100%}.sp-hero .sp-wrap{position:relative;z-index:1}.sp-hero2{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:88px 0 28px;overflow:hidden}.sp-hero2 .sp-h2-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.7fr) minmax(220px,.45fr);align-items:center;gap:24px;flex:1;position:relative;z-index:2}.sp-hero2 .sp-hero-copy{grid-column:1;gap:20px;justify-content:center;align-self:stretch;display:flex;flex-direction:column}.sp-hero2 .sp-kicker{font-size:1rem;letter-spacing:.06em!important;color:var(--sp-dim)}.space-home .sp-hero2 h1.sp-name{font-family:var(--font-oswald),Impact,sans-serif;text-transform:uppercase;font-weight:700;line-height:.94;letter-spacing:.005em;max-width:none;font-size:clamp(3.6rem,9.4vw,9rem);color:var(--sp-strong);display:grid}.sp-hero2 .sp-meta{margin-top:auto;padding-top:40px;font-size:1.05rem;color:var(--sp-text)}.sp-hero2 .sp-hud{grid-column:3;display:grid;gap:34px;align-self:center}.sp-hero-orbit{position:absolute;left:50%;top:50%;width:min(44vw,640px);transform:translate(-50%,-52%);z-index:1;pointer-events:none}.sp-hero-orbit .sp-orbit-stage{width:100%}.sp-hero-orbit .sp-tile{pointer-events:auto}.sp-brk{position:relative;padding:34px 24px;color:var(--sp-strong);background:linear-gradient(currentColor,currentColor) 0 0/12px 1px no-repeat,linear-gradient(currentColor,currentColor) 0 0/1px 12px no-repeat,linear-gradient(currentColor,currentColor) 100% 0/12px 1px no-repeat,linear-gradient(currentColor,currentColor) 100% 0/1px 12px no-repeat,linear-gradient(currentColor,currentColor) 0 100%/12px 1px no-repeat,linear-gradient(currentColor,currentColor) 0 100%/1px 12px no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/12px 1px no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/1px 12px no-repeat}.sp-hk{margin:0 0 14px;font-family:var(--font-oswald),sans-serif;text-transform:uppercase;font-size:.95rem;letter-spacing:.02em;color:var(--sp-b)}[data-theme=light] .sp-hero2 .sp-hk{color:#00b9c9}.sp-ht{margin:0 0 6px;font-family:var(--font-oswald),sans-serif;font-weight:600;font-size:1.25rem;color:var(--sp-strong)}.sp-hs,.sp-ht{text-transform:uppercase}.sp-hs{margin:0 0 3px;font-size:.95rem;color:var(--sp-body)}.sp-hstats{display:flex;gap:28px;margin:0}.sp-hstats div{display:grid;gap:8px}.sp-hstats dt{font-size:.9rem;text-transform:uppercase;color:var(--sp-body)}.sp-hstats dd{margin:0;font-family:var(--font-oswald),sans-serif;font-weight:600;font-size:3.2rem;line-height:1;color:var(--sp-strong)}.sp-hero-foot{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:16px}.sp-cvlink{display:inline-flex;align-items:center;gap:14px;color:var(--sp-strong);text-decoration:none;justify-self:start}.sp-cvlink svg{width:46px;height:46px;flex:none}.sp-cvlink span{display:grid;gap:2px}.sp-cvlink b{font-family:var(--font-oswald),sans-serif;text-transform:uppercase;font-weight:500;letter-spacing:.02em;font-size:1rem}.sp-cvlink small{font-size:.85rem;text-transform:uppercase;color:var(--sp-dim)}.sp-hero-foot .sp-btn{min-width:240px;font-size:1.1rem;justify-content:space-between;padding:0 28px;width:auto}.sp-socials{justify-self:end;display:flex;gap:clamp(24px,5vw,70px);font-family:var(--font-oswald),sans-serif;text-transform:uppercase;letter-spacing:.04em}.sp-socials a{color:var(--sp-strong);text-decoration:none}.sp-socials a:hover{color:var(--sp-b)}.nav{background:transparent!important;border-bottom:0!important;padding:0 clamp(16px,2.6vw,44px)}[data-theme=light] .nav.solid{background:rgba(247,250,251,.92)!important;border-bottom:1px solid rgba(9,10,11,.08)!important}[data-theme=dark] .nav.solid{background:rgba(3,0,20,.82)!important}.nav .brand span{font-family:var(--font-oswald),Impact,sans-serif;font-weight:700;font-size:1.7rem;letter-spacing:.005em}.nav-links{background:none!important;border:0!important;box-shadow:none!important;border-radius:0;height:auto;padding:0;gap:clamp(18px,3.2vw,56px)}.nav-links a{text-transform:uppercase;font-family:var(--font-grotesk),var(--body);font-size:1.05rem;letter-spacing:.01em;padding:0 4px}.nav-cv{display:flex;align-items:center;padding:0 10px;font-family:var(--font-oswald),sans-serif;font-weight:500;text-decoration:none;color:inherit;font-size:1.05rem;letter-spacing:.02em}.nav-cv:hover{color:var(--sp-b,#02d2e3)}[data-theme=light] .nav-cv{color:#090a0b}[data-theme=dark] .nav-cv{color:#fff}@media (max-width:860px){.nav-cv{display:none}}@media (max-width:1100px){.sp-hero2 .sp-h2-grid{grid-template-columns:1fr;gap:28px}.sp-hero2 .sp-hud{grid-column:1;grid-template-columns:1fr 1fr;gap:18px}.sp-hero-orbit{position:relative;left:auto;top:auto;transform:none;width:min(420px,88%);margin:0 auto 12px;order:2}.sp-hero2{padding-top:100px}}@media (max-width:640px){.sp-hero-foot,.sp-hero2 .sp-hud{grid-template-columns:1fr}.sp-hero-foot{justify-items:start;gap:20px}.sp-hero-foot .sp-btn{width:100%}.sp-socials{justify-self:start}.space-home .sp-hero2 h1.sp-name{font-size:clamp(3.2rem,17vw,4.6rem)}.nav .brand span{font-size:1.3rem}}.sp-hero2 .sp-h2-grid{padding-bottom:64px}.sp-hero-orbit{left:61%;width:min(37vw,540px);transform:translate(-50%,-54%)}@media (max-width:1100px){.sp-hero-orbit{left:auto;width:min(420px,88%);transform:none}}[data-theme=light] .sp-skills .space-directory{background:#fff;border-top:1px solid rgba(9,10,11,.16);box-shadow:0 14px 34px rgba(9,10,11,.06)}[data-theme=light] .sp-skills .space-stage{background:radial-gradient(ellipse at 50% 55%,rgba(2,210,227,.1),transparent 62%)}:root{--display:var(--font-oswald),Impact,sans-serif;--body:var(--font-grotesk),system-ui,sans-serif;--mono:var(--font-grotesk),system-ui,sans-serif}body{font-family:var(--body)}:is(.hire-term,.hire-term *,.tf-log,.tf-log *,.log-print,.log-print *,.lp-lines,.lp-lines *,.sp-term,pre,code,kbd,samp){font-family:var(--font-mono),ui-monospace,SFMono-Regular,Menlo,monospace}:is(.h1,.h2,.h-band,.plate-title,.pf-title,.post-card h2,.post-title,.cert-body h2,.prose h2,.log-body h4,.space-detail-title,.brand span){text-transform:uppercase;letter-spacing:.005em;font-weight:600}.h-band,.h1,.h2{font-weight:700;line-height:1.02}:is(.kicker,.link-arrow,.sub-h,.hud-bar,.title-block dt,.toc-title,.post-meta,.contact-list span,.field label,.table-wrap th,.post-figure figcaption,.space-eyebrow,.space-footer,.planet-caption,.marker-index,.st-no){letter-spacing:.06em}:is(.kicker,.hud-bar,.title-block dt,.toc-title,.contact-list span,.field label,.table-wrap th,.space-eyebrow,.space-footer){text-transform:uppercase}.btn,.nav-cta,.nav-cv{font-family:var(--font-oswald),sans-serif;letter-spacing:.06em;text-transform:uppercase}.footer{font-family:var(--font-grotesk),sans-serif;font-size:.85rem}[data-theme=light] .sp-skills .globe-wrap{--c0:#0b7a89;--c1:#c2410c;--c2:#1d7954;--c3:#5b43c9;--c4:#be185d;--c5:#3f4a56;gap:clamp(20px,3vw,40px);align-items:stretch}[data-theme=light] .sp-skills .space-scene{position:relative;padding:18px 18px 12px;background:hsla(0,0%,100%,.72);border:1px solid rgba(9,10,11,.14);box-shadow:0 18px 44px rgba(9,10,11,.07);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}[data-theme=light] .sp-skills .space-scene:before{content:"";position:absolute;left:8px;top:8px;width:14px;height:14px;border-left:2px solid #02d2e3;border-top:2px solid #02d2e3;pointer-events:none}[data-theme=light] .sp-skills .space-scene:after{content:"";position:absolute;right:8px;bottom:8px;width:14px;height:14px;border-right:2px solid #02d2e3;border-bottom:2px solid #02d2e3;pointer-events:none}[data-theme=light] .sp-skills .space-stage{background:radial-gradient(ellipse at 50% 52%,rgba(2,210,227,.2),rgba(2,210,227,.06) 46%,transparent 70%)}[data-theme=light] .sp-skills .space-eyebrow,[data-theme=light] .sp-skills .space-footer{font-size:.76rem;color:#3f4a56;text-shadow:none}[data-theme=light] .sp-skills .space-eyebrow span:first-child{color:#0b7a89;font-weight:500}[data-theme=light] .sp-skills .space-marker{color:#090a0b;text-shadow:none}[data-theme=light] .sp-skills .marker-star{width:30px;height:30px;border:1.5px solid rgba(9,10,11,.55);box-shadow:0 4px 12px rgba(9,10,11,.12)}[data-theme=light] .sp-skills .marker-star i{width:6px;height:6px;background:#090a0b}[data-theme=light] .sp-skills .marker-name{font-family:var(--font-oswald),sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:.95rem;font-weight:500;color:#090a0b}[data-theme=light] .sp-skills .marker-index{font-size:.7rem;opacity:1;color:#3f4a56}[data-theme=light] .sp-skills .space-marker.selected .marker-star{box-shadow:0 0 0 6px rgba(2,210,227,.28)}[data-theme=light] .sp-skills .space-marker.selected .marker-star i{background:#02d2e3;box-shadow:0 0 10px #02d2e3}[data-theme=light] .sp-skills .space-marker.selected .marker-name{color:#0b7a89}[data-theme=light] .sp-skills .planet-caption{font-size:.74rem;color:#3f4a56;text-shadow:none}[data-theme=light] .sp-skills .galaxy-dust{fill:#0b7a89}[data-theme=light] .sp-skills .galaxy-rim{stroke:#090a0b;opacity:.38;stroke-width:1.1}[data-theme=light] .sp-skills .galaxy-rim.inner{opacity:.3}[data-theme=light] .sp-skills .space-star{background:#0b7a89;box-shadow:none}[data-theme=light] .sp-skills .space-crosshair{opacity:.6}[data-theme=light] .sp-skills .orbit-pause{color:#090a0b;font-size:.76rem}[data-theme=light] .sp-skills .space-directory{padding:30px;border:1px solid rgba(9,10,11,.14);border-top:3px solid #02d2e3}[data-theme=light] .sp-skills .space-detail-kicker{font-size:.78rem;color:#3f4a56}[data-theme=light] .sp-skills .space-detail-title{font-family:var(--font-oswald),sans-serif;font-size:clamp(2rem,3.4vw,3rem);color:#090a0b}[data-theme=light] .sp-skills .g-items li{font-size:1.02rem;color:#1b1d24;border-bottom-color:rgba(9,10,11,.14)}[data-theme=light] .sp-skills .g-items li>span{font-size:.72rem;color:#6b747d}[data-theme=light] .sp-skills .space-note{font-size:.8rem;color:#4d5560}[data-theme=light] .sp-skills .space-scene{padding:0;background:none;border:0;box-shadow:none;clip-path:none}[data-theme=light] .sp-skills .space-scene:after,[data-theme=light] .sp-skills .space-scene:before{display:none}[data-theme=light] .sp-skills .space-stage{background:radial-gradient(circle at 50% 50%,rgba(2,210,227,.26) 0,rgba(2,210,227,.1) 30%,transparent 62%)}[data-theme=light] .sp-skills .marker-star{box-shadow:none;background:transparent;border-color:rgba(9,10,11,.6)}[data-theme=light] .sp-skills .space-marker.selected .marker-star{background:#090a0b;box-shadow:0 0 0 7px rgba(2,210,227,.25)}[data-theme=light] .sp-skills .space-directory{padding:6px 0 0 clamp(8px,2vw,28px);background:none;border:0;border-left:1px solid rgba(9,10,11,.18);box-shadow:none;backdrop-filter:none}[data-theme=light] .sp-skills .g-items li:last-child{border-bottom:0}[data-theme=light] .sp-skills .space-detail-title{margin-bottom:12px}@media (max-width:900px){[data-theme=light] .sp-skills .space-directory{border-left:0;border-top:1px solid rgba(9,10,11,.18);padding:22px 0 0}}@media (max-width:1100px){.sp-hero2{position:relative}.sp-hero-orbit{position:absolute;left:50%;top:84px;width:min(560px,118vw);transform:translateX(-50%);margin:0;z-index:0;opacity:.5}.sp-hero-orbit,.sp-hero-orbit .sp-tile{pointer-events:none}.sp-hero-foot,.sp-hero2 .sp-h2-grid{position:relative;z-index:2}}@media (max-width:640px){.sp-hero-orbit{top:96px;width:130vw;opacity:.42}}@media (min-width:721px) and (max-width:900px){.globe-wrap{grid-template-columns:1.15fr 1fr!important;gap:18px!important}.space-detail-title{font-size:1.9rem!important}.g-items{display:block!important}.space-directory{padding:18px!important}}@media (max-width:720px){.globe-wrap{gap:0!important;margin-top:24px}.space-stage{aspect-ratio:1.18!important}.space-scene{width:100%!important}.space-footer{padding-bottom:6px}.space-directory{margin-top:-8px;padding:18px 0 0!important;border-top:1px solid var(--hud-line-soft)!important;background:none!important}.space-detail-title{font-size:1.7rem!important;margin-bottom:12px!important}.g-items li{padding:8px 0!important}}.sp-portrait img{filter:none!important;mix-blend-mode:normal}.sp-portrait figcaption{padding:28px 14px 12px;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.65))}.orbit-flat{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.orbit-ring{fill:none;stroke:var(--space-accent);stroke-width:1;opacity:.4}.orbit-ring.inner{stroke-dasharray:2 9;opacity:.45}.orbit-sat{fill:var(--space-accent)}.orbit-sat.small{opacity:.75}[data-theme=light] .orbit-ring{stroke:#090a0b;opacity:.3}[data-theme=light] .orbit-ring.inner{opacity:.35}[data-theme=light] .orbit-sat{fill:#02d2e3;stroke:#fff;stroke-width:1.5}.orb-float{top:50%!important}.orb-fill{-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 46%,transparent 71%);mask-image:radial-gradient(circle at 50% 50%,#000 46%,transparent 71%)}.planet-caption{top:79%!important}.orb-float{translate:none!important;margin-left:-30%;margin-top:-30%}@media (max-width:480px){.orb-float{margin-left:-31%;margin-top:-31%}}[data-theme=light] #experience{background:rgba(235,238,241,.6)}[data-theme=light] .sp-hero{background:linear-gradient(180deg,transparent 60%,rgba(235,238,241,.7))}.sp-skills .g-items{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:clamp(16px,2.4vw,32px);column-gap:clamp(16px,2.4vw,32px)}.sp-skills .g-items li{padding:8px 0!important;font-size:.96rem!important;line-height:1.35}.sp-skills .space-detail-title{margin-bottom:10px!important}.sp-skills .space-directory{max-height:var(--sp-skill-h,640px);overflow-y:auto;scrollbar-width:thin}.sp-skills .globe-wrap{--sp-skill-h:clamp(480px,74vh,660px)}.sp-skills .space-stage{max-height:var(--sp-skill-h)}@media (max-width:720px){.sp-skills .globe-wrap{--sp-skill-h:none}.sp-skills .space-directory{max-height:none;overflow:visible}.sp-skills .g-items{grid-template-columns:repeat(2,minmax(0,1fr))!important;-moz-column-gap:14px;column-gap:14px}.sp-skills .g-items li{font-size:.86rem!important;grid-template-columns:18px minmax(0,1fr)!important;gap:8px!important}}[data-theme=light] .orb-float{width:50%;margin-left:-25%;margin-top:-25%}@media (max-width:480px){[data-theme=light] .orb-float{width:54%;margin-left:-27%;margin-top:-27%}}[data-theme=light] .orb-fill{-webkit-mask-image:none;mask-image:none}[data-theme=light] .light-globe{position:absolute;inset:0;filter:drop-shadow(0 18px 38px rgba(2,170,190,.28))}[data-theme=light] .orbit-flat,[data-theme=light] .space-crosshair,[data-theme=light] .space-stars{display:none}[data-theme=light] .sp-skills .space-stage{background:radial-gradient(circle at 50% 50%,rgba(2,210,227,.14) 0,rgba(2,210,227,.05) 34%,transparent 62%)}.leaders{display:none}[data-theme=light] .leaders{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}[data-theme=light] .leaders line{stroke:rgba(9,10,11,.26);stroke-width:1;stroke-dasharray:2 6;stroke-linecap:round;vector-effect:non-scaling-stroke}[data-theme=light] .leaders line.on{stroke:#02b8ca;stroke-width:1.5;stroke-dasharray:5 7;animation:sp-signal 1.1s linear infinite}@keyframes sp-signal{to{stroke-dashoffset:-24}}[data-theme=light] .sp-skills .marker-star{width:14px;height:14px;border:2px solid #090a0b;background:#fff;box-shadow:0 0 0 5px rgba(247,250,251,.9);transition:transform .25s,background .25s,box-shadow .25s}[data-theme=light] .sp-skills .marker-star i{display:none}[data-theme=light] .sp-skills .space-marker{gap:7px;min-width:70px;min-height:60px}[data-theme=light] .sp-skills .space-marker:hover .marker-star{transform:scale(1.25);border-color:#0b7a89}[data-theme=light] .sp-skills .space-marker.selected .marker-star{background:#02d2e3;border-color:#090a0b;box-shadow:0 0 0 5px rgba(2,210,227,.28),0 0 18px rgba(2,210,227,.7);transform:scale(1.35)}[data-theme=light] .sp-skills .space-marker.selected .marker-star i{display:none}[data-theme=light] .sp-skills .marker-name{font-size:1rem;letter-spacing:.06em}[data-theme=light] .sp-skills .marker-index{font-size:.68rem;margin-top:-4px}@media (prefers-reduced-motion:reduce){[data-theme=light] .leaders line.on{animation:none}}[data-theme=light] .sp-skills .space-stage{container-type:size}[data-theme=light] .leaders,[data-theme=light] .sp-skills .space-marker{display:none}.orbiters{position:absolute;inset:0;--r:min(39cqw,41cqh);--t:54s;z-index:2}.orbit-track{left:50%;top:50%;width:calc(var(--r)*2);height:calc(var(--r)*2);translate:-50% -50%;border:1px solid rgba(9,10,11,.14);border-radius:50%}.orbit-arm,.orbit-track{position:absolute;pointer-events:none}.orbit-arm{inset:0;animation:orbit-arm var(--t) linear infinite;animation-delay:calc(var(--i)*var(--t)/-6)}.orbit-node{position:absolute;left:50%;top:calc(50% - var(--r));translate:-50% -50%;animation:orbit-node var(--t) linear infinite;animation-delay:calc(var(--i)*var(--t)/-6)}@keyframes orbit-arm{to{transform:rotate(1turn)}}@keyframes orbit-node{to{transform:rotate(-1turn)}}.orbiters.is-paused :is(.orbit-arm,.orbit-node),.orbiters:focus-within :is(.orbit-arm,.orbit-node),.orbiters:hover :is(.orbit-arm,.orbit-node){animation-play-state:paused}.orbit-btn{pointer-events:auto;display:grid;justify-items:center;gap:6px;padding:0;border:0;background:none;cursor:pointer;font:inherit;color:#090a0b}.orbit-disc{display:grid;place-items:center;width:clamp(40px,4.4cqw,56px);aspect-ratio:1;border-radius:50%;background:#fff;border:1px solid rgba(9,10,11,.14);box-shadow:0 10px 24px rgba(9,10,11,.12);font-size:clamp(18px,2.1cqw,26px);color:#090a0b;transition:transform .25s,background .25s,color .25s,box-shadow .25s}.orbit-name{font-family:var(--font-oswald),sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:.9rem;line-height:1;background:rgba(247,250,251,.85);padding:2px 6px}.orbit-btn:focus-visible .orbit-disc,.orbit-btn:hover .orbit-disc{transform:scale(1.12);border-color:#0b7a89}.orbit-btn:focus-visible{outline:2px solid #02d2e3;outline-offset:6px}.orbit-btn.selected .orbit-disc{background:#090a0b;color:#02d2e3;border-color:#090a0b;transform:scale(1.15);box-shadow:0 0 0 6px rgba(2,210,227,.25),0 12px 28px rgba(9,10,11,.25)}.orbit-btn.selected .orbit-name{color:#0b7a89}@media (max-width:720px){.orbiters{--r:min(38cqw,38cqh)}.orbit-name{font-size:.74rem}}@media (prefers-reduced-motion:reduce){.orbit-arm,.orbit-node{animation:none}.orbit-arm{transform:rotate(calc(var(--i)*60deg))}.orbit-node{transform:rotate(calc(var(--i)*-60deg))}}.sp-hero2 .sp-hud{gap:0}.sp-info{padding:26px 0;border-bottom:1px solid var(--sp-line-soft)}.sp-info:first-child{padding-top:0}.sp-info:last-child{border-bottom:0;padding-bottom:0}.sp-info .sp-ht{font-size:1.5rem;line-height:1.15;margin-bottom:8px}.sp-live{display:inline-block;width:9px;height:9px;margin-right:10px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 0 rgba(22,163,74,.5);animation:sp-pulse 2s ease-out infinite;vertical-align:middle}@keyframes sp-pulse{70%{box-shadow:0 0 0 9px rgba(22,163,74,0)}to{box-shadow:0 0 0 0 rgba(22,163,74,0)}}@media (prefers-reduced-motion:reduce){.sp-live{animation:none}}@media (max-width:860px){.nav:has(.nav-links.open){background:var(--sp-menu-bg,#f7fafb)!important;border-bottom:1px solid rgba(9,10,11,.1)!important}[data-theme=dark] .nav:has(.nav-links.open){--sp-menu-bg:#05030f;border-bottom-color:hsla(0,0%,100%,.12)!important}.nav-links{inset:56px 0 auto 0;gap:0!important;padding:6px clamp(16px,2.6vw,44px) 14px!important;background:var(--sp-menu-bg,#f7fafb)!important;border-bottom:1px solid rgba(9,10,11,.1)!important;box-shadow:0 24px 40px rgba(9,10,11,.12)!important;max-height:calc(100dvh - 56px);overflow-y:auto}[data-theme=dark] .nav-links{--sp-menu-bg:#05030f;border-bottom-color:hsla(0,0%,100%,.12)!important;box-shadow:0 24px 40px rgba(0,0,0,.5)!important}.nav-links li{width:100%}.nav-links a{width:100%;min-height:54px;padding:0 4px!important;border-top:1px solid rgba(9,10,11,.1);font-family:var(--font-oswald),sans-serif;font-size:1.25rem!important;letter-spacing:.04em;justify-content:space-between}[data-theme=dark] .nav-links a{border-top-color:hsla(0,0%,100%,.1)}.nav-links li:first-child a{border-top:0}.nav-links a:after{content:"→";font-size:1rem;opacity:.5}[data-theme=light] .nav-links a{color:#090a0b}[data-theme=dark] .nav-links a{color:#fff}.nav-links a:hover,.nav-links a[aria-current=page]{color:#0b7a89}[data-theme=dark] .nav-links a:hover,[data-theme=dark] .nav-links a[aria-current=page]{color:#4cc9e0}}.nav-extra{display:none}@media (max-width:860px){.nav-links{height:calc(100dvh - 56px);max-height:none!important;display:flex;flex-direction:column;box-shadow:none!important;border-bottom:0!important;padding:10px clamp(16px,2.6vw,44px) 28px!important;transform:translateY(-8px)}.nav-links.open{transform:none}.nav-links a{min-height:calc(min(11dvh,76px));font-size:clamp(1.7rem,8.2vw,2.3rem)!important}.nav-links a:after{font-size:1.3rem}.nav-links .nav-extra{display:flex;flex-direction:column;gap:18px;margin-top:auto;padding-top:20px;border-top:1px solid rgba(9,10,11,.1)}[data-theme=dark] .nav-links .nav-extra{border-top-color:hsla(0,0%,100%,.12)}.nav-links .nav-extra a{min-height:0;border:0;width:auto;font-family:var(--font-grotesk),sans-serif;font-size:1rem!important;letter-spacing:.02em}.nav-links .nav-extra a:after{content:none}.nav-links .nav-extra .nav-extra-cv{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;padding:0 18px!important;background:#090a0b;color:#02d2e3!important;font-family:var(--font-oswald),sans-serif;font-size:1.2rem!important;letter-spacing:.08em;text-transform:uppercase;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}[data-theme=dark] .nav-links .nav-extra .nav-extra-cv{background:#02d2e3;color:#05030f!important}.nav-extra-links{display:flex;gap:26px;flex-wrap:wrap}[data-theme=light] .nav-extra-links a{color:#4d5560}[data-theme=dark] .nav-extra-links a{color:#b8bdd4}}.nav-links .nav-extra{display:none}@media (max-width:860px){.nav-links .nav-extra{display:flex}}