:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080812;--surface:#ffffff17;--surface-strong:#ffffff29;--text:#fff9ee;--muted:#c7c1d6;--line:#ffffff2e;--accent:#ff3d81;--accent-2:#22f0c6;--accent-3:#ffd15c;--accent-4:#7c5cff;--accent-5:#4cc9ff;--ink:#15121a;--shadow:0 14px 38px #0000003d;--glow:0 0 28px #22f0c629;--radius:8px;--ease:cubic-bezier(.2, .8, .2, 1)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff8ef;--surface:#1110150f;--surface-strong:#1110151c;--text:#18141f;--muted:#635b70;--line:#18141f24;--accent:#d9176d;--accent-2:#087f73;--accent-3:#d88900;--accent-4:#5943d2;--accent-5:#0277aa;--ink:#fffaf0;--shadow:0 14px 34px #6345231f;--glow:0 0 24px #087f7324}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--accent-4) 40%, transparent), transparent 28rem), radial-gradient(circle at 88% 14%, color-mix(in srgb, var(--accent-2) 30%, transparent), transparent 30rem), radial-gradient(circle at 42% 92%, color-mix(in srgb, var(--accent) 28%, transparent), transparent 34rem), linear-gradient(135deg, var(--bg), color-mix(in srgb, var(--bg) 76%, #20123f));min-height:100vh;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}.aurora-field{z-index:0;pointer-events:none;height:740px;position:absolute;top:0;left:0;right:0;overflow:hidden}.aurora-field span{aspect-ratio:1;background:radial-gradient(circle at 35% 35%, var(--accent-5), transparent 58%);opacity:.16;border-radius:42% 58% 64% 36%/46% 35% 65% 54%;width:46vw;min-width:360px;position:absolute}.aurora-field span:first-child{background:radial-gradient(circle at 35% 35%, var(--accent), transparent 60%);top:4%;left:-4%}.aurora-field span:nth-child(2){background:radial-gradient(circle at 45% 45%, var(--accent-2), transparent 62%);top:20%;right:-6%}.aurora-field span:nth-child(3){background:radial-gradient(circle at 45% 45%, var(--accent-4), transparent 62%);bottom:-8%;left:28%}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--accent-3);outline-offset:4px}.skip-link{z-index:20;border-radius:var(--radius);background:var(--text);color:var(--bg);padding:.7rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.site-shell{z-index:1;width:min(1180px,100% - 32px);margin:0 auto;padding:18px 0 56px;position:relative}.topbar{z-index:10;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg, color-mix(in srgb, var(--surface-strong) 70%, transparent), color-mix(in srgb, var(--bg) 82%, transparent)), color-mix(in srgb, var(--bg) 82%, transparent);box-shadow:var(--shadow);grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:10px;display:grid;position:sticky;top:14px}.brand,.topbar nav,.theme-toggle,.button{border:1px solid var(--line);border-radius:var(--radius)}.brand{align-items:center;gap:.6rem;padding:.45rem .7rem;display:inline-flex}.brand span{background:linear-gradient(135deg, var(--accent), var(--accent-3), var(--accent-2));color:#fff;border-radius:6px;place-items:center;width:2rem;height:2rem;font-size:.78rem;font-weight:900;display:grid}.topbar nav{background:var(--surface);justify-self:center;gap:.2rem;padding:.25rem;display:flex}.topbar nav a{color:var(--muted);border-radius:6px;padding:.55rem .75rem;font-size:.9rem}.topbar nav a:hover{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-4) 18%, transparent), var(--surface-strong));color:var(--text)}.theme-toggle{background:var(--surface);width:2.8rem;height:2.8rem;color:var(--text);cursor:pointer;transition:transform .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease);place-items:center;display:grid}.theme-toggle:hover{border-color:color-mix(in srgb, var(--accent-2) 70%, var(--line));background:color-mix(in srgb, var(--accent-2) 14%, var(--surface));transform:rotate(12deg)scale(1.04)}.hero{grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);align-items:stretch;gap:1.5rem;min-height:calc(100vh - 98px);padding:52px 0 24px;display:grid}.hero-copy,.hero-visual,.metrics,.section{animation:rise-in .72s var(--ease) both}.hero-copy{align-self:center}.availability,.section-heading span,.project-card>p{color:var(--accent-2);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .85rem;font-size:.78rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:820px;margin-bottom:1rem;font-size:clamp(4rem,11vw,8.6rem);line-height:.86}h1 span{color:#0000;background:linear-gradient(90deg, var(--accent), var(--accent-3), var(--accent-2), var(--accent-5));background-size:180% 100%;-webkit-background-clip:text;background-clip:text;display:block}.hero-lede,.large-copy,.contact-section>p{max-width:720px;color:var(--muted);font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.65}.hero-actions,.contact-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.8rem;display:flex}.button{text-align:center;white-space:nowrap;min-height:46px;transition:transform .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease);justify-content:center;align-items:center;padding:0 1.12rem;font-weight:800;line-height:1;display:inline-flex}.button:hover,.project-card:hover{transform:translateY(-3px)}.button.primary{background:linear-gradient(135deg, var(--accent), var(--accent-3), var(--accent-2));color:#171017;box-shadow:var(--glow);background-size:180% 100%;border-color:#0000}.button.ghost{background:linear-gradient(135deg, var(--surface), color-mix(in srgb, var(--accent-4) 10%, var(--surface)));color:var(--text)}.hero-visual{place-items:center;display:grid}.portrait-card{aspect-ratio:.82;border:1px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 24% 18%, color-mix(in srgb, var(--accent-3) 70%, transparent), transparent 26%), radial-gradient(circle at 76% 28%, color-mix(in srgb, var(--accent-2) 62%, transparent), transparent 32%), radial-gradient(circle at 44% 78%, color-mix(in srgb, var(--accent-4) 62%, transparent), transparent 34%), linear-gradient(145deg, color-mix(in srgb, var(--accent) 48%, transparent), transparent 42%), var(--surface);width:min(100%,390px);box-shadow:var(--shadow), var(--glow);position:relative;overflow:hidden}.portrait-card:before{border:1px solid color-mix(in srgb, var(--text) 22%, transparent);border-radius:inherit;content:"";position:absolute;inset:18px}.portrait-orbit{border:1px solid color-mix(in srgb, var(--text) 36%, transparent);border-radius:50%;animation:18s linear infinite orbit-spin;position:absolute;inset:22%}.portrait-orbit:after{background:var(--accent-3);content:"";border-radius:50%;width:16px;height:16px;position:absolute;top:-8px;left:48%}.portrait-initials{color:#0000;background:linear-gradient(135deg, var(--text), var(--accent-3), var(--accent-2));filter:drop-shadow(0 10px 24px #0000004d);animation:lt-reveal .76s var(--ease) both;-webkit-background-clip:text;background-clip:text;place-items:center;font-size:clamp(5rem,12vw,9rem);font-weight:950;display:grid;position:absolute;inset:0}.portrait-caption{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--bg) 78%, transparent);gap:.35rem;padding:1rem;display:grid;position:absolute;bottom:18px;left:18px;right:18px}.portrait-caption span,.portrait-caption strong{overflow-wrap:anywhere}.metrics{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:0;display:grid}.metrics div,.section,.about-panels article,.project-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg, color-mix(in srgb, var(--surface-strong) 52%, transparent), transparent 64%), var(--surface);box-shadow:0 8px 22px #0000001f}.metrics div{position:relative;overflow:hidden}.metrics div:before,.section:before,.project-card:before{pointer-events:none;content:"";position:absolute;inset:0}.metrics div:before{background:radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--accent-2) 12%, transparent), transparent 70%)}.metrics div{padding:1rem}.metrics dt{font-size:2rem;font-weight:950}.metrics dd{color:var(--muted);margin:0}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding-top:1rem;display:grid}.section{min-height:340px;padding:clamp(1.2rem,3vw,2rem);position:relative;overflow:hidden}.section.wide,.contact-section{grid-column:1/-1}.section-heading h2{max-width:760px;font-size:clamp(2rem,4vw,4rem);line-height:1}.about-panels,.project-grid{gap:1rem;display:grid}.about-panels{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.4rem}.about-panels article{padding:1rem}.about-panels p,.project-card span,.timeline p{color:var(--muted);line-height:1.6}.skill-cloud{flex-wrap:wrap;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.skill-cloud li,.project-card li{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-strong) 86%, transparent);color:var(--text);border-radius:999px;font-weight:800}.skill-cloud li{transition:transform .18s var(--ease), border-color .18s var(--ease), background .18s var(--ease);padding:.72rem .95rem}.skill-cloud li:nth-child(3n+1){border-color:color-mix(in srgb, var(--accent) 42%, var(--line))}.skill-cloud li:nth-child(3n+2){border-color:color-mix(in srgb, var(--accent-2) 42%, var(--line))}.skill-cloud li:nth-child(3n){border-color:color-mix(in srgb, var(--accent-4) 42%, var(--line))}.skill-cloud li:hover{background:color-mix(in srgb, var(--accent-2) 14%, var(--surface-strong));transform:translateY(-2px)rotate(-1deg)}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-card{min-height:340px;animation:rise-in .65s var(--ease) both;animation-delay:var(--delay);transition:transform .18s var(--ease), border-color .18s var(--ease), background .18s var(--ease), box-shadow .18s var(--ease);flex-direction:column;gap:1rem;padding:1.1rem;display:flex;position:relative;overflow:hidden}.project-card:before{background:radial-gradient(circle at 84% 12%, color-mix(in srgb, var(--accent-5) 24%, transparent), transparent 34%)}.project-card:hover{border-color:color-mix(in srgb, var(--accent) 62%, var(--line));background:var(--surface-strong);box-shadow:var(--shadow)}.project-card h3{font-size:1.65rem}.project-card ul{flex-wrap:wrap;gap:.45rem;margin:auto 0 0;padding:0;list-style:none;display:flex}.project-card li{padding:.42rem .62rem;font-size:.78rem}.project-card a{color:var(--accent-3);align-self:flex-start;font-weight:900}.timeline{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.timeline li{border-bottom:1px solid var(--line);transition:border-color .18s var(--ease), transform .18s var(--ease);grid-template-columns:8.2rem 1fr;gap:1rem;padding-bottom:1rem;display:grid}.timeline li:hover{border-color:color-mix(in srgb, var(--accent-3) 54%, var(--line));transform:translate(4px)}.timeline time{color:var(--accent-3);font-weight:900}.timeline h3{margin-bottom:.25rem}.timeline-place{margin-bottom:.4rem;font-weight:800;color:var(--accent-2)!important}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes lt-reveal{0%{opacity:0;filter:drop-shadow(0 0 #0000);transform:translateY(10px)scale(.94)}to{opacity:1;filter:drop-shadow(0 10px 24px #0000004d);transform:translateY(0)scale(1)}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@media (max-width:960px){.hero,.content-grid,.project-grid{grid-template-columns:1fr}.hero,.section{min-height:auto}}@media (max-width:760px){.site-shell{width:min(100% - 20px,1180px);padding-bottom:28px}.topbar{grid-template-columns:1fr auto;position:static}.topbar nav{grid-column:1/-1;justify-self:stretch;overflow-x:auto}.topbar nav a{white-space:nowrap}.hero{padding-top:34px}.aurora-field span{opacity:.12;min-width:280px}h1{font-size:clamp(3.2rem,19vw,5rem)}.metrics,.about-panels{grid-template-columns:1fr}.timeline li{grid-template-columns:1fr;gap:.35rem}.button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
