:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07090c;--bg-elevated:#0e1218;--bg-card:#121820;--bg-card-hover:#171e28;--border:#ffffff14;--border-strong:#ffffff24;--text:#f2f5f8;--text-muted:#9aa6b2;--text-subtle:#84919f;--accent:#3dd6c6;--accent-soft:#3dd6c624;--accent-glow:#3dd6c659;--accent-deep:#1a9e90;--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.25rem;--radius-xl:1.75rem;--radius-pill:999px;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--shadow-card:0 1px 0 #ffffff0a inset, 0 18px 48px #00000059;--max:1120px;--nav-h:4rem;--ease:cubic-bezier(.22, 1, .36, 1);--duration:.22s}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 1rem)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{min-height:100vh;font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6}#root{min-height:100vh}img,svg{max-width:100%;display:block}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{color:var(--accent)}button,input,textarea{font:inherit}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.15}p{margin:0}ul{margin:0;padding:0;list-style:none}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{z-index:1000;background:var(--accent);color:#04120f;border-radius:var(--radius-sm);transition:transform var(--duration) var(--ease);padding:.65rem 1rem;font-weight:600;position:absolute;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.container{width:min(100% - 2rem, var(--max));margin-inline:auto}.section{padding-block:clamp(4rem,8vw,6.5rem)}.section-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.8125rem;font-weight:600;display:inline-flex}.section-eyebrow:before{content:"";background:var(--accent);border-radius:1px;width:1.25rem;height:2px}.section-heading{max-width:22ch;margin-bottom:1rem;font-size:clamp(1.75rem,4vw,2.5rem)}.section-lede{color:var(--text-muted);max-width:58ch;font-size:1.0625rem}.btn{border-radius:var(--radius-pill);cursor:pointer;min-height:2.75rem;transition:background var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease), box-shadow var(--duration) var(--ease), transform var(--duration) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{color:inherit;text-decoration:none}.btn--primary{background:var(--accent);color:#04120f;box-shadow:0 0 0 0 var(--accent-glow), 0 8px 28px var(--accent-glow)}.btn--primary:hover{color:#04120f;box-shadow:0 0 24px var(--accent-glow), 0 10px 32px var(--accent-glow);background:#55e0d1;transform:translateY(-1px)}.btn--ghost{color:var(--text);border-color:var(--border-strong);background:0 0}.btn--ghost:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.chip{border-radius:var(--radius-pill);border:1px solid var(--border-strong);color:var(--text-muted);background:#ffffff08;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.875rem;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:50;height:var(--nav-h);-webkit-backdrop-filter:blur(14px);transition:border-color var(--duration) var(--ease);background:#07090cb8;border-bottom:1px solid #0000;position:sticky;top:0}.site-header.is-scrolled{border-bottom-color:var(--border)}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;height:100%;display:flex}.logo{letter-spacing:-.03em;color:var(--text);font-size:1.0625rem;font-weight:700;text-decoration:none}.logo span{color:var(--accent)}.nav{align-items:center;gap:.25rem;display:none}.nav a{border-radius:var(--radius-sm);color:var(--text-muted);padding:.45rem .75rem;font-size:.9375rem;font-weight:500;text-decoration:none}.nav a:hover,.nav a[aria-current=true]{color:var(--text);background:#ffffff0a}.nav-toggle{border-radius:var(--radius-sm);border:1px solid var(--border);width:2.75rem;height:2.75rem;color:var(--text);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.nav-toggle__bars{flex-direction:column;gap:5px;width:1.15rem;display:flex}.nav-toggle__bars span{height:2px;transition:transform var(--duration) var(--ease), opacity var(--duration) var(--ease);background:currentColor;border-radius:1px;display:block}.nav-toggle[aria-expanded=true] .nav-toggle__bars span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle__bars span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] .nav-toggle__bars span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-nav{border-bottom:1px solid var(--border);background:var(--bg-elevated);padding:.75rem 0 1rem;display:none}.mobile-nav.is-open{display:block}.mobile-nav a{border-bottom:1px solid var(--border);color:var(--text);padding:.85rem 0;font-weight:500;text-decoration:none;display:block}.mobile-nav a:last-child{border-bottom:0}@media (width>=768px){.nav{display:flex}.nav-toggle{display:none}.mobile-nav{display:none!important}}.hero{padding-block:clamp(4.5rem,12vw,7.5rem) clamp(5rem,10vw,8rem);position:relative;overflow:hidden}.hero__bg{pointer-events:none;background:radial-gradient(70% 50% at 50% -10%,#3dd6c629,#0000 60%),radial-gradient(40% 30% at 80% 40%,#7aa2ff14,#0000 50%);position:absolute;inset:0}.hero__grid{transform-origin:bottom;opacity:.55;background-image:linear-gradient(90deg,#3dd6c61f 1px,#0000 1px),linear-gradient(#3dd6c61f 1px,#0000 1px);background-size:48px 48px;height:42%;position:absolute;inset:auto 0 0;transform:perspective(600px)rotateX(58deg)scale(1.4);-webkit-mask-image:linear-gradient(#0000,#0000008c);mask-image:linear-gradient(#0000,#0000008c)}@media (prefers-reduced-motion:reduce){.hero__grid{opacity:.25;transform:none}}.hero__content{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;display:flex;position:relative}.hero h1{letter-spacing:-.035em;max-width:16ch;font-size:clamp(2.15rem,6vw,3.75rem)}.hero__sub{color:var(--text-muted);max-width:42ch;font-size:clamp(1rem,2.2vw,1.175rem)}.hero__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.5rem;display:flex}.hero__meta{color:var(--text-subtle);flex-wrap:wrap;justify-content:center;gap:.5rem 1.25rem;margin-top:1.5rem;font-size:.875rem;display:flex}.hero__meta span:before{content:"·";color:var(--border-strong);margin-right:1.25rem}.hero__meta span:first-child:before{content:none;margin:0}.about__grid{gap:2.5rem;display:grid}@media (width>=900px){.about__grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:3.5rem}}.about__body{color:var(--text-muted);flex-direction:column;gap:1rem;font-size:1.0625rem;display:flex}.about__highlights{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.about__highlight{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);padding:1rem 1.1rem}.about__highlight dt{text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);margin-bottom:.35rem;font-size:.75rem}.about__highlight dd{margin:0;font-size:.9375rem;font-weight:600}.skills{margin-top:2.5rem}.skills__label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle);margin-bottom:.85rem;font-size:.8125rem;font-weight:600}.skills__list{flex-wrap:wrap;gap:.5rem;display:flex}.skill-tag{border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--text-muted);background:#ffffff05;padding:.45rem .85rem;font-size:.875rem}.work-grid{gap:1rem;margin-top:2rem;display:grid}@media (width>=720px){.work-grid{grid-template-columns:1fr 1fr}}.work-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card);min-height:100%;box-shadow:var(--shadow-card);transition:border-color var(--duration) var(--ease), background var(--duration) var(--ease), transform var(--duration) var(--ease);flex-direction:column;padding:1.5rem;display:flex;position:relative;overflow:hidden}.work-card:hover{border-color:var(--border-strong);background:var(--bg-card-hover)}@media (prefers-reduced-motion:reduce){.work-card:hover{transform:none}}.work-card__top{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.work-card h3{font-size:1.2rem}.work-card p{color:var(--text-muted);flex:1;font-size:.9375rem}.work-card__tags{flex-wrap:wrap;gap:.4rem;margin-top:1.25rem;display:flex}.work-card__tag{border-radius:var(--radius-pill);color:var(--text-subtle);background:#ffffff0a;padding:.3rem .6rem;font-size:.75rem}.work-card__preview{border-radius:var(--radius-md);border:1px solid var(--border);background:linear-gradient(145deg,#ffffff0a,#0000 50%),repeating-linear-gradient(-12deg,#0000,#0000 10px,#ffffff05 10px 11px);height:8.5rem;margin-top:1.5rem;position:relative;overflow:hidden}.work-card__preview:after{content:"";background:color-mix(in srgb, var(--card-accent,var(--accent)) 18%, var(--bg-elevated));border:1px solid color-mix(in srgb, var(--card-accent,var(--accent)) 35%, transparent);border-radius:.5rem .5rem 0 0;height:42%;position:absolute;inset:auto 12% 18%;box-shadow:0 8px 24px #00000040}.work-note{color:var(--text-subtle);margin-top:1.25rem;font-size:.875rem}.exp-layout{gap:2.5rem;margin-top:2rem;display:grid}@media (width>=900px){.exp-layout{grid-template-columns:1.4fr .85fr;gap:2rem}}.exp-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);flex-direction:column;gap:0;list-style:none;display:flex;overflow:hidden}.exp-item{border-bottom:1px solid var(--border);padding:1.35rem 1.5rem}.exp-item:last-child{border-bottom:0}.exp-item__head{flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem;margin-bottom:.35rem;display:flex}.exp-item__role{font-size:1.05rem;font-weight:600}.exp-item__period{color:var(--text-subtle);white-space:nowrap;font-size:.875rem}.exp-item__company{color:var(--accent);margin-bottom:.5rem;font-size:.9375rem;font-weight:500}.exp-item__summary{color:var(--text-muted);font-size:.9375rem}.badge{border-radius:var(--radius-pill);letter-spacing:.04em;text-transform:uppercase;color:#f0b429;vertical-align:middle;background:#f0b42926;align-items:center;margin-left:.5rem;padding:.15rem .45rem;font-size:.6875rem;font-weight:600;display:inline-flex}.side-panel{flex-direction:column;gap:1rem;display:flex}.side-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card);padding:1.35rem 1.5rem}.side-card h3{letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);margin-bottom:1rem;font-size:.8125rem;font-weight:600}.side-card li+li{border-top:1px solid var(--border);margin-top:.85rem;padding-top:.85rem}.side-card__title{font-size:.9375rem;font-weight:600}.side-card__meta{color:var(--text-muted);font-size:.875rem}.contact{position:relative}.contact__panel{border-radius:var(--radius-xl);border:1px solid var(--border);background:radial-gradient(ellipse 60% 80% at 10% 20%, #3dd6c61a, transparent 50%), radial-gradient(ellipse 50% 60% at 90% 80%, #7aa2ff1a, transparent 50%), var(--bg-card);text-align:center;padding:clamp(2rem,5vw,3rem);position:relative;overflow:hidden}.contact__panel .section-heading{max-width:18ch;margin-inline:auto}.contact__panel .section-lede{margin-inline:auto}.contact__links{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.75rem;display:flex}.contact__details{color:var(--text-muted);flex-wrap:wrap;justify-content:center;gap:.75rem 1.5rem;margin-top:1.5rem;font-size:.9375rem;display:flex}.contact__details a{color:var(--text-muted);text-decoration:none}.contact__details a:hover{color:var(--accent)}.site-footer{border-top:1px solid var(--border);padding-block:1.75rem}.site-footer__inner{color:var(--text-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;font-size:.875rem;display:flex}.site-footer a{color:var(--text-muted);text-decoration:none}.site-footer a:hover{color:var(--accent)}
