@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-CHSlOQsW.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DMtmJ5ZE.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-Dm3htQBi.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-BZdD_g9V.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-b6lpi8_2.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-Cjtb1TV-.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--background:oklch(99% .01 240);--foreground:oklch(15% .02 240);--primary:oklch(55% .2 263.27);--primary-foreground:oklch(98% .01 240);--secondary:oklch(70% .19 162.5);--secondary-foreground:oklch(15% .05 160);--card:oklch(100% 0 0);--card-foreground:oklch(15% .02 240);--muted:oklch(95% .01 240);--muted-foreground:oklch(45% .02 240);--accent:oklch(92% .04 162.5);--accent-foreground:oklch(40% .15 160);--border:oklch(90% .02 240);--shadow-sm:0 1px 2px 0 oklch(0% 0 0/.05);--shadow:0 4px 6px -1px oklch(0% 0 0/.1), 0 2px 4px -2px oklch(0% 0 0/.1);--shadow-lg:0 20px 25px -5px oklch(0% 0 0/.15), 0 10px 10px -5px oklch(0% 0 0/.08);--radius:.85rem;--radius-lg:1rem;--radius-xl:1.25rem;--container-width:80rem}.dark{--background:oklch(18% .03 260);--foreground:oklch(95% .01 240);--primary:oklch(60% .22 263.27);--primary-foreground:oklch(100% 0 0);--secondary:oklch(75% .2 162.5);--secondary-foreground:oklch(10% .05 160);--card:oklch(22% .03 260);--card-foreground:oklch(95% .01 240);--muted:oklch(28% .03 260);--muted-foreground:oklch(70% .02 240);--accent:oklch(30% .08 162.5/.2);--accent-foreground:oklch(75% .2 162.5);--border:oklch(30% .03 260);--shadow-sm:0 1px 2px 0 oklch(0% 0 0/.3);--shadow:0 4px 6px -1px oklch(0% 0 0/.4), 0 2px 4px -2px oklch(0% 0 0/.4);--shadow-lg:0 24px 32px -12px oklch(0% 0 0/.5)}@keyframes gradient-flow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes pulse-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes menu-slide-in{0%{opacity:0;transform:translateY(-10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-zoom{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);min-height:100vh;color:var(--foreground);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Geist Variable,Geist,ui-sans-serif,system-ui,sans-serif;line-height:1.5;transition:background-color .3s,color .3s,border-color .3s}#root{min-height:100vh}img{max-width:100%;display:block}button,a{color:inherit}button{font:inherit}a{text-decoration:none}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}::selection{background:color-mix(in srgb, var(--primary) 30%, transparent)}.container{width:min(100% - 2rem, var(--container-width));margin-inline:auto}@media (width>=48rem){.container{width:min(100% - 3rem, var(--container-width))}}.site-shell{min-height:100vh}.site-main{display:block}.section-block{padding:6rem 0}.section-block--compact{padding:2rem 0 0}.internal-page{padding:8rem 0 2rem}@media (width>=48rem){.internal-page{padding-top:10rem}}.section-heading{margin-bottom:4rem}.section-heading h1,.section-heading h2{letter-spacing:-.05em;margin:0;font-size:clamp(2.5rem,5vw,4rem);line-height:.95}.section-heading h1 span,.section-heading h2 span{color:var(--primary)}.section-heading p{max-width:42rem;color:var(--muted-foreground);margin:1rem 0 0;font-size:1.125rem}.section-heading--centered{text-align:center}.section-heading--centered p{margin-inline:auto}.section-heading--split{flex-direction:column;gap:1.5rem;display:flex}@media (width>=48rem){.section-heading--split{flex-direction:row;justify-content:space-between;align-items:flex-end}}.section-heading__link{color:var(--primary);align-items:center;font-weight:700;display:none}@media (width>=48rem){.section-heading__link{display:inline-flex}}.section-heading__link:hover{text-underline-offset:.3rem;text-decoration:underline}.section-title-line{align-items:center;gap:1rem;margin-bottom:3rem;display:flex}.section-title-line h2{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,3vw,3rem)}.section-title-line span{background:linear-gradient(to right, var(--border), transparent);flex:1;height:1px}.button{border:1px solid #0000;border-radius:.9rem;justify-content:center;align-items:center;gap:.75rem;padding:.95rem 1.5rem;font-weight:700;transition:transform .3s,background-color .3s,color .3s,border-color .3s,box-shadow .3s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:active{transform:scale(.98)}.button--primary{background:var(--primary);color:var(--primary-foreground);box-shadow:0 0 24px color-mix(in srgb, var(--primary) 28%, transparent)}.button--primary:hover{box-shadow:0 0 32px color-mix(in srgb, var(--primary) 36%, transparent)}.button--inverse{background:var(--foreground);color:var(--background)}.button--inverse:hover{background:var(--primary);color:var(--primary-foreground)}.nav-bar{z-index:50;padding:.5rem 0;position:fixed;inset:0 0 auto}.nav-bar__inner{justify-content:flex-end;padding:.5rem 0;display:flex}@media (width>=48rem){.nav-bar__inner{justify-content:center;padding:1rem 0}}.nav-bar__cluster{align-items:center;gap:.75rem;display:flex;position:relative}.menu-toggle{width:3rem;height:3rem;color:color-mix(in srgb, var(--foreground) 72%, transparent);cursor:pointer;background:0 0;border:0;border-radius:999px;flex-direction:column;justify-content:center;gap:.3rem;padding:0;transition:color .3s,box-shadow .3s;display:inline-flex;position:relative}.menu-toggle span{background:currentColor;border-radius:999px;width:1.15rem;height:2px;margin-inline:auto;transition:transform .3s,opacity .3s;display:block}.menu-toggle:hover{color:var(--primary);box-shadow:0 1px 0 color-mix(in srgb, var(--foreground) 4%, transparent), 0 4px 8px color-mix(in srgb, var(--foreground) 12%, transparent), inset 0 -2px 0 color-mix(in srgb, var(--foreground) 4%, transparent)}.menu-toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width>=48rem){.menu-toggle{display:none}}.nav-menu{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 95%, transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);min-width:12.5rem;box-shadow:var(--shadow-lg);border-radius:1.25rem;flex-direction:column;gap:.5rem;padding:.5rem;display:none;position:absolute;top:calc(100% + .5rem);right:0}.nav-menu.is-open{animation:.4s cubic-bezier(.16,1,.3,1) forwards menu-slide-in;display:flex}@media (width>=48rem){.nav-menu{background:color-mix(in srgb, var(--card) 80%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-width:0;box-shadow:var(--shadow);border-radius:999px;flex-direction:row;align-items:center;gap:.35rem;padding:.35rem;display:flex;position:static}}.nav-link{width:100%;color:var(--muted-foreground);isolation:isolate;border-radius:999px;justify-content:center;padding:.75rem 1.5rem;font-size:.92rem;font-weight:700;transition:color .25s,transform .25s;display:inline-flex;position:relative}.nav-link svg{fill:currentColor}.nav-link:before{content:"";border-radius:inherit;background:var(--primary);box-shadow:0 10px 20px color-mix(in srgb, var(--primary) 20%, transparent);opacity:0;z-index:-1;transition:opacity .3s;position:absolute;inset:0}.nav-link:hover{color:var(--foreground);transform:translateY(-1px)}.nav-link:hover:before{opacity:.12}.nav-link.is-active{color:var(--primary-foreground)}.nav-link.is-active:before{opacity:1}.nav-link--nowrap{white-space:nowrap}.nav-link--icon{color:color-mix(in srgb, var(--foreground) 98%, transparent)}.nav-link--icon svg{display:block}.nav-link--icon-lit{color:var(--foreground)}.nav-link--icon-lit:before,.nav-link--icon-linkedin:before{opacity:.14}.route-fallback{place-items:center;min-height:60vh;padding:7rem 1.5rem 2rem;display:grid}.route-fallback__panel{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 92%, transparent);box-shadow:var(--shadow);color:var(--muted-foreground);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.75rem;padding:.95rem 1.2rem;font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:.72rem;font-weight:700;display:inline-flex}.route-fallback__dot{background:var(--secondary);width:.55rem;height:.55rem;box-shadow:0 0 0 .3rem color-mix(in srgb, var(--secondary) 16%, transparent);border-radius:999px}.theme-toggle{z-index:60;border:1px solid var(--border);background:color-mix(in srgb, var(--card) 90%, transparent);width:3rem;height:3rem;color:var(--secondary);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:transform .3s,border-color .3s,color .3s;display:inline-flex;position:fixed;bottom:1rem;right:1rem}.theme-toggle:hover{border-color:color-mix(in srgb, var(--secondary) 50%, var(--border));transform:translateY(-1px)}.theme-toggle svg{width:1.25rem;height:1.25rem}.hero-section{align-items:center;min-height:90vh;padding:6.5rem 0 3rem;display:flex;position:relative;overflow:hidden}.hero-section__glow{opacity:.3;filter:blur(120px);pointer-events:none;border-radius:999px;width:50%;height:50%;position:absolute}.hero-section__glow--primary{background:var(--primary);top:-10%;left:-10%}.hero-section__glow--secondary{background:var(--secondary);bottom:-10%;right:-10%}.hero-section__inner{z-index:1;text-align:center;position:relative}.status-pill{border:1px solid color-mix(in srgb, var(--secondary) 20%, transparent);background:color-mix(in srgb, var(--secondary) 5%, transparent);color:color-mix(in srgb, var(--foreground) 80%, transparent);letter-spacing:.2em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.75rem;margin-bottom:2.5rem;padding:.5rem 1rem;font-size:.625rem;font-weight:700;display:inline-flex}.status-pill__dot{border-radius:50%;width:.5rem;height:.5rem;position:relative}.status-pill__dot:after{content:"";border-radius:inherit;animation:1.5s cubic-bezier(0,0,.2,1) infinite pulse-ring;position:absolute;inset:0}.status-pill__dot.is-live{background:var(--secondary)}.status-pill__dot.is-live:after{background:color-mix(in srgb, var(--secondary) 75%, transparent)}.status-pill__dot.is-busy{background:#eab308}.status-pill__dot.is-busy:after{background:#eab308b3}.hero-section__copy{margin-bottom:2rem}.hero-section__eyebrow{color:var(--muted-foreground);letter-spacing:-.02em;margin:0 0 1rem;font-size:1.05rem;font-weight:500}.hero-section__title{letter-spacing:-.08em;margin:0;font-size:clamp(3.4rem,11vw,8rem);font-weight:700;line-height:.9}.gradient-text{background:linear-gradient(90deg, var(--primary), var(--secondary), var(--primary));color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:6s infinite gradient-flow;display:inline-block}.hero-section__description{max-width:42rem;color:color-mix(in srgb, var(--muted-foreground) 88%, transparent);margin:1.5rem auto 0;font-size:clamp(1rem,2vw,1.25rem);line-height:1.7}.hero-section__actions{justify-content:center;margin-bottom:4rem;display:flex}.hero-section__cta{padding-block:1.15rem;padding-inline:2rem;position:relative;overflow:hidden}.hero-section__cta:after{content:"";background:#fff3;width:25%;transition:transform .7s;position:absolute;inset:0 auto 0 -25%;transform:skew(-25deg)translate(-200%)}.hero-section__cta:hover:after{transform:skew(-25deg)translate(640%)}.hero-section__cta svg{width:1.25rem;height:1.25rem}.hero-stack{border-top:1px solid color-mix(in srgb, white 5%, var(--border));flex-direction:column;align-items:center;gap:1rem;max-width:64rem;margin:0 auto;padding-top:2rem;display:flex}@media (width>=48rem){.hero-stack{flex-direction:row;justify-content:space-between}}.hero-stack__title{color:var(--muted-foreground);letter-spacing:.3em;text-transform:uppercase;font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:.625rem}.hero-stack__items{flex-wrap:wrap;justify-content:center;gap:1.25rem 2.5rem;display:flex}.hero-stack__item{color:color-mix(in srgb, var(--foreground) 50%, transparent);font-size:.95rem;font-weight:700;transition:color .3s}.hero-stack__item:hover{color:var(--secondary)}.impact-bar{border-block:1px solid color-mix(in srgb, var(--border) 50%, transparent);background:color-mix(in srgb, var(--secondary) 5%, transparent);padding:3rem 0}.impact-bar__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}@media (width>=48rem){.impact-bar__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.impact-stat__value{color:var(--secondary);align-items:baseline;gap:.25rem;font-size:clamp(2rem,4vw,3rem);font-weight:700;display:inline-flex}.impact-stat__label{color:var(--muted-foreground);letter-spacing:.18em;text-transform:uppercase;margin:.25rem 0 0;font-size:.75rem}.skills-grid{gap:1rem;display:grid}@media (width>=48rem){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.skill-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-sm);padding:2rem;transition:transform .3s,border-color .3s,box-shadow .3s;position:relative}.skill-card:hover{border-color:color-mix(in srgb, var(--secondary) 50%, var(--border));box-shadow:var(--shadow-lg);transform:translateY(-4px)}.skill-card h3{margin:0 0 .75rem;font-size:1.25rem}.skill-card p{min-height:6rem;color:var(--muted-foreground);margin:0 0 2rem;font-size:.95rem;line-height:1.7}.skill-card__rail{border-radius:var(--radius) 0 0 var(--radius);background:var(--secondary);width:.25rem;height:0;transition:height .3s;position:absolute;top:0;left:0}.skill-card:hover .skill-card__rail{height:100%}.skill-card__chips{flex-wrap:wrap;gap:.5rem;display:flex}.skill-card__chips span{border:1px solid var(--border);background:var(--muted);border-radius:999px;padding:.45rem .75rem;font-size:.75rem;font-weight:500;transition:background-color .3s,color .3s}.skill-card:hover .skill-card__chips span{background:var(--accent);color:var(--accent-foreground)}.featured-grid,.projects-grid{gap:2rem;display:grid}@media (width>=48rem){.featured-grid,.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-card{animation:.6s both slide-up}.project-card__media{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius);background:var(--muted);cursor:pointer;justify-content:stretch;align-items:stretch;width:100%;margin:0 0 1.5rem;padding:0;transition:border-color .3s;display:flex;position:relative;overflow:hidden}.project-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.project-card__media:hover{border-color:color-mix(in srgb, var(--primary) 50%, var(--border))}.project-card__media:hover img{transform:scale(1.05)}.project-card__placeholder{z-index:1;background:radial-gradient(circle at top right, color-mix(in srgb, var(--secondary) 20%, transparent), transparent 45%), linear-gradient(145deg, color-mix(in srgb, var(--primary) 16%, var(--card)), color-mix(in srgb, var(--secondary) 10%, var(--background)));text-align:left;flex-direction:column;justify-content:flex-end;gap:.65rem;width:100%;height:100%;padding:1.25rem;display:flex;position:relative}.project-card__placeholder strong{letter-spacing:-.04em;max-width:18rem;font-size:1.35rem;line-height:1.2}.project-card__placeholder p{color:color-mix(in srgb, var(--foreground) 76%, transparent);margin:0;font-size:.92rem;line-height:1.5}.project-card__placeholder-label{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);background:color-mix(in srgb, var(--background) 82%, transparent);color:var(--primary);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:.35rem .65rem;font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:.65rem;font-weight:700;display:inline-flex}.project-card__overlay{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 10%, transparent), color-mix(in srgb, var(--secondary) 10%, transparent));opacity:0;transition:opacity .3s;position:absolute;inset:0}.project-card__media:hover .project-card__overlay{opacity:1}.project-card__badge{border:1px solid var(--border);background:color-mix(in srgb, var(--background) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--secondary);border-radius:.45rem;padding:.35rem .55rem;font-size:.65rem;font-weight:700;position:absolute;top:1rem;right:1rem}.project-card__tags{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.project-card__tags span{border:1px solid var(--border);background:var(--card);border-radius:.4rem;padding:.2rem .5rem;font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:.65rem}.project-card__title{color:var(--foreground);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:1.55rem;font-weight:700;transition:color .3s;display:inline-flex}.project-card__title:hover{color:var(--primary);text-underline-offset:.3rem;text-decoration:underline}.project-card__description{color:var(--muted-foreground);line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.75rem 0 0;line-height:1.7;display:-webkit-box;overflow:hidden}.article-grid{gap:1.5rem;display:grid}@media (width>=48rem){.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.article-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.article-card{min-width:0}.article-card__link{border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(circle at top right, color-mix(in srgb, var(--secondary) 10%, transparent), transparent 45%), linear-gradient(180deg, color-mix(in srgb, var(--card) 98%, transparent), var(--card));height:100%;box-shadow:var(--shadow-sm);flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s;display:flex;overflow:hidden}.article-card__link:hover{border-color:color-mix(in srgb, var(--primary) 38%, var(--border));box-shadow:var(--shadow-lg);transform:translateY(-4px)}.article-card__media{aspect-ratio:16/10;background:linear-gradient(145deg, color-mix(in srgb, var(--primary) 20%, var(--card)), color-mix(in srgb, var(--secondary) 18%, var(--background)));position:relative;overflow:hidden}.article-card__media img,.article-card__media .article-card__media-fallback{width:100%;height:100%}.article-card__media img{object-fit:cover;transition:transform .45s}.article-card__link:hover .article-card__media img{transform:scale(1.04)}.article-card__media-fallback{background:radial-gradient(circle at 20% 20%, #ffffff4d, transparent 35%), linear-gradient(140deg, color-mix(in srgb, var(--primary) 45%, transparent), color-mix(in srgb, var(--secondary) 40%, transparent))}.article-card__media-badge{border:1px solid color-mix(in srgb, var(--background) 40%, transparent);background:color-mix(in srgb, var(--background) 82%, transparent);color:var(--foreground);letter-spacing:.18em;text-transform:uppercase;border-radius:999px;padding:.4rem .65rem;font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:.62rem;font-weight:700;position:absolute;top:1rem;left:1rem}.article-card__content{flex-direction:column;flex:1;gap:1rem;padding:1.4rem;display:flex}.article-card__meta{color:var(--muted-foreground);letter-spacing:.12em;text-transform:uppercase;flex-wrap:wrap;gap:.75rem;font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:.68rem;font-weight:700;display:flex}.article-card__copy h3{letter-spacing:-.04em;margin:0;font-size:1.35rem;line-height:1.18}.article-card__copy p{color:var(--muted-foreground);margin:.8rem 0 0;line-height:1.7}.article-card__footer{gap:1rem;margin-top:auto;display:grid}.article-card__tags{flex-wrap:wrap;gap:.5rem;display:flex}.article-card__tags span{border:1px solid color-mix(in srgb, var(--border) 85%, transparent);background:color-mix(in srgb, var(--muted) 82%, transparent);color:var(--muted-foreground);border-radius:999px;padding:.28rem .55rem;font-size:.72rem;font-weight:600}.article-card__cta{color:var(--primary);font-weight:700}.filter-shell{margin-bottom:3rem}.filter-toggle{border:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);border-radius:var(--radius);color:#cbd5e1;cursor:pointer;background:#0f172a;justify-content:space-between;align-items:center;width:100%;margin-bottom:1rem;padding:.95rem 1rem;display:flex}.filter-toggle svg{width:1rem;height:1rem;transition:transform .3s}.filter-toggle.is-open svg{transform:rotate(180deg)}@media (width>=48rem){.filter-toggle{display:none}}.filter-menu{flex-wrap:wrap;gap:.75rem;display:none}.filter-menu.is-open{display:flex}@media (width>=48rem){.filter-menu{display:flex}}.filter-chip{border:1px solid var(--border);background:var(--card);color:var(--foreground);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-radius:999px;padding:.65rem 1.25rem;font-size:.7rem;font-weight:700;transition:border-color .3s,background-color .3s,color .3s}.filter-chip:hover{border-color:var(--primary)}.filter-chip.is-active{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.project-modal{z-index:100;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.project-modal__backdrop{background:color-mix(in srgb, var(--background) 80%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;border:0;position:absolute;inset:0}.project-modal__panel{z-index:1;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);width:min(100%,64rem);max-height:calc(100vh - 2rem);box-shadow:var(--shadow-lg);animation:.3s forwards modal-zoom;position:relative;overflow:auto}.project-modal__toolbar{z-index:2;background:linear-gradient(to bottom, var(--card), transparent);justify-content:flex-end;padding:1rem;display:flex;position:sticky;top:0}.project-modal__close{border:1px solid var(--border);background:var(--background);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;transition:background-color .3s,color .3s;display:inline-flex}.project-modal__close:hover{background:var(--primary);color:var(--primary-foreground)}.project-modal__close svg{width:1rem;height:1rem}.project-modal__content{padding:0 2rem 3rem}@media (width>=40rem){.project-modal__content{padding-inline:3rem}}.project-modal--loading{background:color-mix(in srgb, var(--background) 78%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-modal__loading-panel,.project-modal__state{z-index:1;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);width:min(100%,28rem);box-shadow:var(--shadow-lg);text-align:center;justify-content:center;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:inline-flex;position:relative}.project-modal__loading-panel p,.project-modal__state p{color:var(--muted-foreground);margin:0;line-height:1.7}.project-modal__state{margin-top:1rem}.project-modal__loading-spinner{border:2px solid color-mix(in srgb, var(--primary) 24%, transparent);border-top-color:var(--primary);border-radius:999px;flex-shrink:0;width:1rem;height:1rem;animation:.8s linear infinite spin}.project-modal__header{margin-bottom:2.5rem}.project-modal__header h2{letter-spacing:-.06em;margin:0;font-size:clamp(2.5rem,5vw,4rem);line-height:1}.project-modal__meta{letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;font-size:.75rem;font-weight:700;display:flex}.project-modal__meta span{color:var(--primary);font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace}.project-modal__meta strong{color:var(--secondary)}.project-modal__links{flex-wrap:wrap;gap:1rem;margin-top:1.75rem;display:flex}.project-modal__links a{border:1px solid color-mix(in srgb, var(--primary) 20%, var(--border));background:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--primary);border-radius:.75rem;align-items:center;gap:.5rem;padding:.8rem 1rem;font-size:.9rem;font-weight:700;transition:background-color .3s,color .3s;display:inline-flex}.project-modal__links a:hover{background:var(--primary);color:var(--primary-foreground)}.project-modal__links a svg{width:.95rem;height:.95rem}.markdown-prose{max-width:none}.markdown-prose .markdown-prose__lead,.markdown-prose p{color:var(--muted-foreground);line-height:1.8}.markdown-prose h2,.markdown-prose h3{text-underline-offset:.2rem;text-decoration:underline}.markdown-prose h2{margin-top:2rem;margin-bottom:1rem;font-size:1.4rem}.markdown-prose h3{margin-top:1.5rem;margin-bottom:.75rem;font-size:1.08rem}.markdown-prose ul{margin:1rem 0;padding-left:1.25rem}.markdown-prose li{color:var(--muted-foreground);margin-bottom:.75rem;line-height:1.75}.markdown-prose strong{color:var(--foreground)}.markdown-prose code{background:var(--muted);border-radius:.35rem;padding:.1rem .4rem;font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:.9em}.markdown-prose a{color:#2563eb}.cta-band{border-top:1px solid var(--border);background:var(--card);padding:6rem 0}.cta-band__inner{text-align:center}.cta-band__inner h2{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,4vw,3rem)}.cta-band__inner p{max-width:38rem;color:var(--muted-foreground);margin:1rem auto 2rem}.about-intro{align-items:start;gap:4rem;margin-bottom:6rem;display:grid}@media (width>=64rem){.about-intro{grid-template-columns:repeat(2,minmax(0,1fr))}}.about-intro__visual{position:relative}.about-intro__image-frame{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--muted);position:relative;overflow:hidden}.about-intro__image-frame img:not(.about-intro__avatar){object-fit:cover;width:80%;height:80%}.about-intro__image-frame--profile{background:radial-gradient(circle at top right, color-mix(in srgb, var(--secondary) 16%, transparent), transparent 42%), linear-gradient(150deg, color-mix(in srgb, var(--primary) 14%, var(--card)), color-mix(in srgb, var(--secondary) 8%, var(--background)));flex-direction:column;justify-content:space-between;padding:1.5rem;display:flex}@media (width>=40rem){.about-intro__image-frame--profile{padding:2rem}}.about-intro__image-glow{z-index:0;background:linear-gradient(145deg, color-mix(in srgb, var(--primary) 20%, transparent), color-mix(in srgb, var(--secondary) 10%, transparent));pointer-events:none;position:absolute;inset:0}.about-intro__visual:after{content:"";background:color-mix(in srgb, var(--secondary) 10%, transparent);filter:blur(64px);border-radius:999px;width:8rem;height:8rem;position:absolute;bottom:-1.5rem;right:-1.5rem}.brand-mark{align-items:center;gap:1rem;display:inline-flex;position:relative}.brand-mark__halo{background:color-mix(in srgb, var(--secondary) 24%, transparent);filter:blur(32px);border-radius:999px;width:4rem;height:4rem;position:absolute;left:1.25rem;transform:translate(-50%)}.brand-mark__initials{z-index:1;border:1px solid color-mix(in srgb, var(--primary) 25%, var(--border));background:color-mix(in srgb, var(--background) 86%, transparent);width:4rem;height:4rem;box-shadow:var(--shadow);color:var(--primary);letter-spacing:.18em;text-indent:.18em;border-radius:1.25rem;flex:0 0 4rem;justify-content:center;align-items:center;font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:1.15rem;font-weight:800;display:inline-flex;position:relative}.brand-mark__copy{z-index:1;gap:.2rem;display:grid;position:relative}.brand-mark__copy strong,.brand-mark__copy span{display:block}.brand-mark__copy strong{letter-spacing:-.03em;font-size:1rem}.brand-mark__copy span{color:var(--muted-foreground);font-size:.8rem}.brand-mark--compact .brand-mark__copy{display:none}.about-intro__brand-mark{align-self:flex-start}.about-intro__avatar{z-index:1;border:1px solid color-mix(in srgb, var(--primary) 25%, var(--border));border-radius:var(--radius-xl);background:color-mix(in srgb, var(--background) 86%, transparent);width:clamp(20rem,24vw,11.5rem);max-width:100%;height:auto;box-shadow:var(--shadow);object-fit:cover;align-self:flex-start;position:relative}.about-intro__profile-items{z-index:1;gap:.9rem;margin-top:2rem;display:grid;position:relative}.about-intro__profile-item{border:1px solid color-mix(in srgb, var(--border) 75%, transparent);background:color-mix(in srgb, var(--background) 72%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1rem;gap:.35rem;padding:1rem 1.1rem;display:grid}.about-intro__profile-item span{color:var(--muted-foreground);letter-spacing:.14em;text-transform:uppercase;font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:.68rem;font-weight:700}.about-intro__profile-item strong,.about-intro__profile-item a{color:var(--foreground);overflow-wrap:anywhere;font-size:.96rem;font-weight:600}.about-intro__profile-item a:hover{color:var(--primary)}.about-intro__copy h1{letter-spacing:-.05em;margin:0 0 1.5rem;font-size:clamp(2.4rem,5vw,4rem);line-height:1.04}.about-intro__copy h1 span{color:var(--primary)}.about-intro__copy p{color:var(--muted-foreground);margin:0 0 1.5rem;font-size:1.08rem;line-height:1.85}.highlight-grid{gap:1.5rem;display:grid}@media (width>=48rem){.highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.highlight-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);padding:2rem;transition:border-color .3s}.highlight-card:hover{border-color:color-mix(in srgb, var(--secondary) 50%, var(--border))}.highlight-card h3{color:var(--secondary);margin:0 0 1rem;font-size:1.2rem}.highlight-card p{color:var(--muted-foreground);margin:0;font-size:.95rem;line-height:1.75}.timeline{flex-direction:column;gap:3rem;display:flex;position:relative}.timeline:before{content:"";background:linear-gradient(to bottom, var(--primary), var(--border), transparent);width:1px;position:absolute;top:0;bottom:0;left:1.25rem}@media (width>=48rem){.timeline:before{left:50%;transform:translate(-50%)}}.timeline-item{align-items:flex-start;gap:1.5rem;display:flex;position:relative}@media (width>=48rem){.timeline-item{justify-content:space-between}.timeline-item:nth-child(odd){flex-direction:row-reverse}}.timeline-item__dot{z-index:1;border:1px solid var(--primary);background:var(--background);width:2.5rem;height:2.5rem;box-shadow:var(--shadow);border-radius:999px;flex:0 0 2.5rem;justify-content:center;align-items:center;display:flex;position:relative}.timeline-item__dot span{background:var(--primary);border-radius:50%;width:.5rem;height:.5rem}@media (width>=48rem){.timeline-item__dot{position:absolute;left:50%;transform:translate(-50%)}}.timeline-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--card) 50%, transparent);width:calc(100% - 4rem);padding:2rem;transition:border-color .3s;position:relative;overflow:hidden}.timeline-card:hover{border-color:color-mix(in srgb, var(--primary) 40%, var(--border))}@media (width>=48rem){.timeline-card{width:calc(50% - 2.5rem)}}.timeline-card__glow{background:color-mix(in srgb, var(--primary) 5%, transparent);filter:blur(32px);border-radius:999px;width:6rem;height:6rem;position:absolute;top:-1rem;right:-1rem}.timeline-card__content{z-index:1;position:relative}.timeline-card__content h3{margin:1rem 0 .35rem;font-size:1.25rem}.timeline-card__period{border:1px solid color-mix(in srgb, var(--secondary) 20%, var(--border));background:color-mix(in srgb, var(--secondary) 10%, transparent);color:var(--secondary);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:.35rem .75rem;font-size:.65rem;font-weight:700;display:inline-flex}.timeline-card__company{color:color-mix(in srgb, var(--primary) 80%, transparent);margin:0;font-size:.9rem;font-weight:600}.timeline-card__highlights{margin:1rem 0 0;padding:0;list-style:none}.timeline-card__highlights li{color:var(--muted-foreground);margin-bottom:.75rem;padding-left:1.25rem;font-size:.92rem;line-height:1.75;position:relative}.timeline-card__highlights li:before{content:"";background:color-mix(in srgb, var(--primary) 60%, transparent);border-radius:50%;width:.38rem;height:.38rem;position:absolute;top:.7rem;left:0}.timeline-card__skills{flex-wrap:wrap;gap:.5rem;margin-top:2rem;display:flex}.timeline-card__skills span{border:1px solid color-mix(in srgb, var(--primary) 10%, var(--border));background:color-mix(in srgb, var(--primary) 5%, transparent);color:color-mix(in srgb, var(--primary) 60%, var(--foreground));letter-spacing:-.02em;text-transform:uppercase;border-radius:.35rem;padding:.2rem .45rem;font-size:.56rem;font-weight:700}.education-grid{gap:1.5rem;display:grid}@media (width>=48rem){.education-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.certification-grid{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));justify-items:start;gap:1rem;display:grid}@media (width>=40rem){.certification-grid{grid-template-columns:repeat(auto-fill,minmax(6.25rem,1fr))}}.education-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--card) 50%, transparent);padding:2rem;transition:border-color .3s;position:relative;overflow:hidden}.education-card:hover{border-color:color-mix(in srgb, var(--primary) 40%, var(--border))}.education-card h3{margin:1rem 0 .35rem;font-size:1.25rem}.education-card__glow{background:color-mix(in srgb, var(--primary) 5%, transparent);filter:blur(32px);border-radius:999px;width:6rem;height:6rem;position:absolute;top:-1rem;right:-1rem}.education-card__period{border:1px solid color-mix(in srgb, var(--secondary) 20%, var(--border));background:color-mix(in srgb, var(--secondary) 10%, transparent);color:var(--secondary);letter-spacing:.14em;text-transform:uppercase;z-index:1;border-radius:999px;padding:.35rem .75rem;font-size:.65rem;font-weight:700;display:inline-flex;position:relative}.education-card__school,.education-card__description{z-index:1;position:relative}.education-card__school{color:color-mix(in srgb, var(--primary) 80%, transparent);margin:0;font-size:.9rem;font-weight:600}.education-card__description{color:var(--muted-foreground);margin:1rem 0 0;line-height:1.75}.certification-badge{border-radius:.75rem;justify-content:center;align-items:center;width:5rem;height:5rem;transition:transform .2s,opacity .2s;display:inline-flex}.certification-badge img{object-fit:contain;width:100%;height:100%}a.certification-badge:hover{opacity:.9;transform:translateY(-2px)}.site-footer{border-top:1px solid color-mix(in srgb, var(--border) 50%, transparent);background:color-mix(in srgb, var(--card) 30%, transparent);margin-top:6rem}.site-footer__inner{padding:3rem 0}.site-footer__grid{gap:2.5rem;margin-bottom:2.5rem;display:grid}@media (width>=48rem){.site-footer__grid{grid-template-columns:2fr 1fr 1fr}}.site-footer__logo-link{display:inline-flex}.site-footer__brand-mark{align-items:center}.site-footer__description{max-width:22rem;color:var(--muted-foreground);margin:1rem 0 0;line-height:1.7}.site-footer__heading{letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;font-size:.78rem;font-weight:700}.site-footer__list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.site-footer__contact{flex-direction:column;gap:.75rem;display:inline-flex}.site-footer__location{color:var(--muted-foreground);margin:0}.site-footer__socials{flex-wrap:wrap;gap:1rem;display:flex}.site-footer__link{color:var(--muted-foreground);transition:color .3s}.site-footer__link:hover{color:var(--primary)}.site-footer__bottom{border-top:1px solid color-mix(in srgb, var(--border) 50%, transparent);flex-direction:column;gap:1rem;padding-top:2rem;display:flex}@media (width>=48rem){.site-footer__bottom{flex-direction:row;justify-content:space-between;align-items:center}}.site-footer__copyright,.site-footer__status{color:var(--muted-foreground);letter-spacing:.16em;text-transform:uppercase;font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:.65rem;font-weight:700}.site-footer__status{color:#10b981;align-items:center;gap:.5rem;display:inline-flex}.availability-dot{background:#10b981;border-radius:50%;width:.5rem;height:.5rem;display:inline-flex;position:relative}.availability-dot:after{content:"";border-radius:inherit;background:#34d399bf;animation:1.5s cubic-bezier(0,0,.2,1) infinite pulse-ring;position:absolute;inset:0}.section-heading--projects{margin-bottom:2.5rem}.not-found-page{background:var(--background);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative;overflow:hidden}.not-found-page__glow{background:color-mix(in srgb, var(--primary) 10%, transparent);filter:blur(120px);border-radius:999px;width:16rem;height:16rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.not-found-page__logo-wrap,.not-found-page__content,.not-found-page .button{z-index:1;position:relative}.not-found-page__logo-wrap{margin-bottom:3rem;animation:1s forwards fade-in}.not-found-page__logo-wrap .brand-mark{transition:transform .5s}.not-found-page__logo-wrap .brand-mark__initials{border-radius:1.5rem;flex-basis:5rem;width:5rem;height:5rem;font-size:1.4rem}.not-found-page__logo-wrap:hover .brand-mark{transform:scale(1.08)}.not-found-page__content{gap:2rem;animation:.8s cubic-bezier(.2,.8,.2,1) forwards slide-up;display:grid}.not-found-page__content h1{color:var(--primary);letter-spacing:-.05em;margin:0;font-size:clamp(4rem,12vw,7rem);font-weight:900}.not-found-page__content h2{letter-spacing:.08em;text-transform:uppercase;margin:.25rem 0 0;font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:clamp(1rem,3vw,1.4rem);font-weight:700}.not-found-page__content p{max-width:24rem;color:var(--muted-foreground);margin:0 auto;font-style:italic;line-height:1.8}.not-found-page__command{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);color:var(--primary);flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem;padding:1rem 1.5rem;font-family:Geist Mono Variable,Geist Mono,ui-monospace,monospace;font-size:.85rem;display:inline-flex;position:relative}.not-found-page__command span{color:color-mix(in srgb, var(--secondary) 70%, transparent)}.not-found-page .button{margin-top:3rem;animation:1s .4s forwards fade-in}
