.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:60;background:var(--header-bg);backdrop-filter:blur(16px) saturate(145%);border-bottom:1px solid var(--border)}.nav-wrap[data-astro-cid-3ef6ksr2]{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:.85rem;text-decoration:none}.brand-mark[data-astro-cid-3ef6ksr2]{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:15px;color:var(--blue);border:1px solid color-mix(in srgb,var(--blue) 26%,transparent);background:color-mix(in srgb,var(--blue) 10%,transparent);font-weight:700;letter-spacing:.08em}.brand-copy[data-astro-cid-3ef6ksr2]{display:grid;gap:.14rem}.brand-name[data-astro-cid-3ef6ksr2]{font-weight:650}.brand-role[data-astro-cid-3ef6ksr2]{color:var(--muted-2);font-size:.82rem}.nav-cluster[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.5rem}.nav-links[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.4rem}.nav-link[data-astro-cid-3ef6ksr2],.resume-link[data-astro-cid-3ef6ksr2]{text-decoration:none;color:var(--nav-link);padding:.6rem .95rem;border-radius:999px;font-size:.95rem;transition:color .2s ease,background .2s ease,border-color .2s ease;border:1px solid transparent}.nav-link[data-astro-cid-3ef6ksr2]:hover,.resume-link[data-astro-cid-3ef6ksr2]:hover{color:var(--text);background:var(--hover-soft)}.nav-link[data-astro-cid-3ef6ksr2].is-active{color:var(--blue);background:color-mix(in srgb,var(--blue) 9%,transparent);border-color:color-mix(in srgb,var(--blue) 20%,transparent)}.resume-link[data-astro-cid-3ef6ksr2]{color:var(--text);border-color:color-mix(in srgb,var(--blue) 28%,transparent)}.icon-btn[data-astro-cid-3ef6ksr2]{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--border);background:var(--hover-soft);color:var(--text);cursor:pointer;transition:border-color .2s ease,transform .2s ease,background .2s ease}.icon-btn[data-astro-cid-3ef6ksr2]:hover{border-color:color-mix(in srgb,var(--blue) 35%,transparent);transform:translateY(-1px)}.theme-toggle[data-astro-cid-3ef6ksr2] .icon-sun[data-astro-cid-3ef6ksr2]{display:none}.theme-toggle[data-astro-cid-3ef6ksr2] .icon-moon[data-astro-cid-3ef6ksr2]{display:block}:root[data-theme=light] .theme-toggle[data-astro-cid-3ef6ksr2] .icon-sun[data-astro-cid-3ef6ksr2]{display:block}:root[data-theme=light] .theme-toggle[data-astro-cid-3ef6ksr2] .icon-moon[data-astro-cid-3ef6ksr2]{display:none}.nav-toggle[data-astro-cid-3ef6ksr2]{display:none}.nav-toggle-bars[data-astro-cid-3ef6ksr2]{display:grid;gap:4px}.nav-toggle-bars[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .25s ease,opacity .2s ease}.nav-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .nav-toggle-bars[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .nav-toggle-bars[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]:nth-child(2){opacity:0}.nav-toggle[data-astro-cid-3ef6ksr2][aria-expanded=true] .nav-toggle-bars[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]:nth-child(3){transform:translateY(-6px) rotate(-45deg)}@media(max-width:860px){.nav-toggle[data-astro-cid-3ef6ksr2]{display:inline-flex}.nav-links[data-astro-cid-3ef6ksr2]{position:fixed;inset:74px 0 auto;flex-direction:column;align-items:stretch;gap:.25rem;padding:1rem;background:var(--panel-strong);border-bottom:1px solid var(--border);box-shadow:var(--shadow);transform:translateY(-12px);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .25s ease}.nav-links[data-astro-cid-3ef6ksr2].is-open{transform:translateY(0);opacity:1;pointer-events:auto}.nav-link[data-astro-cid-3ef6ksr2],.resume-link[data-astro-cid-3ef6ksr2]{padding:.85rem 1rem;font-size:1rem}.resume-link[data-astro-cid-3ef6ksr2]{margin-top:.35rem;text-align:center}}@media(prefers-reduced-motion:reduce){.icon-btn[data-astro-cid-3ef6ksr2],.nav-links[data-astro-cid-3ef6ksr2],.nav-toggle-bars[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{transition:none}}.site-footer[data-astro-cid-sz7xmlte]{padding:1.6rem 0 2.7rem}.footer-wrap[data-astro-cid-sz7xmlte]{border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-title[data-astro-cid-sz7xmlte]{margin:0 0 .38rem;font-weight:650}.footer-copy[data-astro-cid-sz7xmlte]{margin:0;color:var(--muted-2);max-width:560px;line-height:1.7}.footer-links[data-astro-cid-sz7xmlte]{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--muted);text-decoration:none}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--text)}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--bg: #060b16;--bg-soft: #0b1324;--body-grad: radial-gradient(circle at top right, rgba(56, 189, 248, .08), transparent 22%), linear-gradient(180deg, #050914 0%, #081020 35%, #050914 100%);--panel-grad: linear-gradient(180deg, rgba(16, 25, 46, .9), rgba(8, 12, 24, .98));--panel: rgba(12, 19, 36, .88);--panel-strong: rgba(9, 14, 27, .98);--card-bg: rgba(8, 13, 25, .75);--header-bg: rgba(5, 9, 20, .8);--border: rgba(255, 255, 255, .08);--border-soft: rgba(255, 255, 255, .05);--hover-soft: rgba(255, 255, 255, .04);--nav-link: rgba(226, 232, 240, .74);--text: #f8fafc;--muted: rgba(226, 232, 240, .68);--muted-2: rgba(226, 232, 240, .46);--pill-bg: rgba(15, 23, 42, .78);--blue: #38bdf8;--amber: #f59e0b;--green: #22c55e;--purple: #a855f7;--max: 1140px;--radius: 24px;--shadow: 0 30px 80px rgba(0, 0, 0, .34);color-scheme:dark}:root[data-theme=light]{--bg: #eef2f9;--bg-soft: #e3e9f3;--body-grad: radial-gradient(circle at top right, rgba(56, 189, 248, .12), transparent 24%), linear-gradient(180deg, #f4f7fc 0%, #e9eef7 45%, #f4f7fc 100%);--panel-grad: linear-gradient(180deg, #ffffff, #f3f6fc);--panel: rgba(255, 255, 255, .92);--panel-strong: rgba(255, 255, 255, .98);--card-bg: rgba(255, 255, 255, .78);--header-bg: rgba(244, 247, 252, .82);--border: rgba(15, 23, 42, .1);--border-soft: rgba(15, 23, 42, .07);--hover-soft: rgba(15, 23, 42, .04);--nav-link: rgba(30, 41, 59, .74);--text: #0f172a;--muted: rgba(30, 41, 59, .74);--muted-2: rgba(30, 41, 59, .52);--pill-bg: rgba(15, 23, 42, .05);--shadow: 0 24px 60px rgba(15, 23, 42, .12);color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--body-grad);background-attachment:fixed;color:var(--text);transition:background .4s ease,color .3s ease}body.nav-locked{overflow:hidden}a{color:inherit}img{max-width:100%;display:block}button,input,textarea{font:inherit}main{min-height:calc(100svh - 180px)}h1,h2,h3,.display-title,.section-title{font-family:Space Grotesk,Inter,system-ui,sans-serif}:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}.skip-link{position:fixed;top:-100px;left:1rem;z-index:200;padding:.7rem 1.1rem;border-radius:10px;background:var(--blue);color:#05111d;font-weight:600;text-decoration:none;transition:top .2s ease}.skip-link:focus{top:1rem}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:80;background:transparent;pointer-events:none}.scroll-progress__bar{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--blue),var(--purple));box-shadow:0 0 12px #38bdf880}.back-to-top{position:fixed;right:1.25rem;bottom:1.25rem;z-index:70;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid var(--border);background:var(--panel-strong);color:var(--text);cursor:pointer;box-shadow:var(--shadow);transition:transform .2s ease,border-color .2s ease,opacity .25s ease}.back-to-top[hidden]{display:none}.back-to-top:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--blue) 40%,transparent)}.container{width:min(var(--max),calc(100% - 2rem));margin:0 auto}.page-shell{padding:5.15rem 0 4rem}.eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:1rem;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--blue)}.eyebrow:before{content:"";width:30px;height:1px;background:color-mix(in srgb,var(--blue) 75%,transparent)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 #22c55e80;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%{box-shadow:0 0 #22c55e73}70%{box-shadow:0 0 0 8px #22c55e00}to{box-shadow:0 0 #22c55e00}}.display-title{margin:0;font-size:clamp(2.2rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.05em}.section-title{margin:0 0 1rem;font-size:clamp(2rem,4vw,3.3rem);line-height:1.08;letter-spacing:-.04em}.section-copy,.muted,.lead{color:var(--muted);line-height:1.8}.lead{font-size:1.05rem;max-width:760px}.grid-2{display:grid;grid-template-columns:1.15fr .85fr;gap:1.5rem}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.panel{position:relative;background:var(--panel-grad);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--blue) 28%,transparent),transparent)}.panel-pad{padding:1.5rem}.panel-pad-lg{padding:1.9rem}.card{background:var(--card-bg);border:1px solid var(--border-soft);border-radius:20px}.tag,.pill{display:inline-flex;align-items:center;justify-content:center;padding:.58rem .9rem;border-radius:999px;border:1px solid var(--border);background:var(--pill-bg);color:var(--muted);font-size:13px;line-height:1;text-decoration:none}.btn,.btn-ghost,.btn-cta{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:52px;padding:.95rem 1.35rem;border-radius:999px;text-decoration:none;font-weight:600;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}.btn{background:var(--blue);color:#05111d;border:1px solid transparent}.btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px #38bdf847;background:#7dd3fc}.btn-ghost,.btn-cta{border:1px solid var(--border);background:var(--hover-soft);color:var(--text)}.btn-ghost:hover,.btn-cta:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--blue) 36%,transparent)}.page-header{margin-bottom:2.25rem}.list-clean{list-style:none;margin:0;padding:0}.accent-blue{color:var(--blue)}.accent-amber{color:var(--amber)}.accent-green{color:var(--green)}.accent-purple{color:var(--purple)}.accent-border-blue{border-color:color-mix(in srgb,var(--blue) 28%,transparent)}.accent-border-amber{border-color:color-mix(in srgb,var(--amber) 28%,transparent)}.accent-border-green{border-color:color-mix(in srgb,var(--green) 28%,transparent)}.accent-border-purple{border-color:color-mix(in srgb,var(--purple) 28%,transparent)}.spacer-1{height:1rem}.spacer-2{height:2rem}.spacer-3{height:3rem}.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.8rem}.filter-chip{padding:.55rem 1.05rem;border-radius:999px;border:1px solid var(--border);background:var(--pill-bg);color:var(--muted);font-size:.9rem;font-weight:500;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.filter-chip:hover{color:var(--text);border-color:color-mix(in srgb,var(--blue) 30%,transparent)}.filter-chip.is-active{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 45%,transparent);background:color-mix(in srgb,var(--blue) 12%,transparent)}.filter-card{transition:opacity .3s ease,transform .3s ease}.filter-card.is-hidden{display:none}@media(max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}}@media(max-width:720px){.page-shell{padding:4.6rem 0 3rem}.lead{font-size:1rem}.grid-3,.grid-4{grid-template-columns:1fr}.panel-pad,.panel-pad-lg{padding:1.2rem}.container{width:min(var(--max),calc(100% - 1rem))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.status-dot{animation:none}*{transition-duration:.01ms!important}}[data-animate]{opacity:0;will-change:opacity,transform}[data-animate=fade-up]{transform:translateY(28px);transition:opacity .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1)}[data-animate=fade-right]{transform:translate(-28px);transition:opacity .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1)}[data-animate=fade-left]{transform:translate(28px);transition:opacity .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1)}[data-animate=fade]{transition:opacity .65s cubic-bezier(.4,0,.2,1)}[data-animate=scale-up]{transform:scale(.92);transition:opacity .55s cubic-bezier(.34,1.56,.64,1),transform .55s cubic-bezier(.34,1.56,.64,1)}[data-animate].appeared{opacity:1;transform:none!important}.delay-0{transition-delay:0ms!important}.delay-80{transition-delay:80ms!important}.delay-160{transition-delay:.16s!important}.delay-240{transition-delay:.24s!important}.delay-320{transition-delay:.32s!important}.delay-400{transition-delay:.4s!important}.section-divider{width:100%;height:1px;background:linear-gradient(to right,transparent,rgba(56,189,248,.25) 30%,rgba(56,189,248,.25) 70%,transparent);margin:5rem auto;max-width:800px}.skill-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;font-size:12px;font-weight:500;border-radius:99px;background:#ffffff0a;color:#e2e8f0a6;border:1px solid rgba(255,255,255,.08);transition:background .2s,color .2s,border-color .2s,transform .2s;cursor:default}.skill-tag:hover{background:#38bdf81a;color:#38bdf8;border-color:#38bdf84d;transform:translateY(-2px)}.stat-counter-card{position:relative;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:1.5rem;overflow:hidden;transition:border-color .3s,background .3s}.stat-counter-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--card-accent, #38bdf8);border-radius:14px 14px 0 0;transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.4,0,.2,1)}.stat-counter-card.counted:before{transform:scaleX(1)}.stat-counter-card:hover{border-color:var(--card-accent, rgba(56, 189, 248, .35));background:#38bdf80a}.stat-counter-card .count-num{font-size:2.5rem;font-weight:700;letter-spacing:-.03em;color:#f1f5f9;font-variant-numeric:tabular-nums;line-height:1;margin-bottom:.5rem}.stat-counter-card .count-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:#e2e8f066}.progress-track{width:100%;height:3px;background:#ffffff12;border-radius:99px;overflow:hidden;margin-top:6px}.progress-fill{height:100%;border-radius:99px;background:var(--progress-color, #38bdf8);width:0%;transition:width 1.1s cubic-bezier(.4,0,.2,1)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 8px #38bdf866}50%{box-shadow:0 0 24px #38bdf8cc}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1a,#ffffff0a 75%);background-size:200% 100%;animation:shimmer 1.8s infinite}:focus-visible{outline:2px solid #38bdf8;outline-offset:3px;border-radius:4px}html{scroll-behavior:smooth}section[id],div[id]{scroll-margin-top:80px}@media(prefers-reduced-motion:reduce){[data-animate],[data-animate].appeared{opacity:1!important;transform:none!important;transition:none!important}.progress-fill{transition:none!important}.stat-counter-card:before{transition:none!important;transform:scaleX(1)}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}html:not(.js) [data-animate]{opacity:1!important;transform:none!important}@media(prefers-reduced-motion:reduce){[data-animate]{opacity:1!important;transform:none!important;transition:none!important}}
