:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#090908;--color-surface:#171512;--color-accent:#f5c26b;--color-text:#f7f2ea;--color-muted:#b9b0a3;--color-destructive:#ff6b5f;--font-sans:"Circular", "Avenir Next", "Inter", "Segoe UI", system-ui, sans-serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:10px;--radius-md:18px;--radius-lg:32px;--content-max:1180px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f5efe3;--color-surface:#fffaf0;--color-accent:#a86f16;--color-text:#17120d;--color-muted:#655b4d;--color-destructive:#b83c34}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-bg);min-width:320px}body{min-width:320px;color:var(--color-text);background:var(--color-bg);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.5}::selection{color:var(--color-bg);background:color-mix(in srgb, var(--color-accent), var(--color-bg) 12%)}::selection{color:var(--color-bg);background:color-mix(in srgb, var(--color-accent), var(--color-bg) 12%)}::-webkit-selection{color:var(--color-bg);background:color-mix(in srgb, var(--color-accent), var(--color-bg) 12%)}a{color:inherit;-webkit-text-decoration-color:color-mix(in srgb, var(--color-accent), transparent 45%);text-decoration-color:color-mix(in srgb, var(--color-accent), transparent 45%);text-underline-offset:.22em}a:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}img,svg{max-width:100%;display:block}p,h1,h2,h3,dl,dd,ol,ul{margin:0}ul,ol{padding:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}#app{background:radial-gradient(circle at 78% 12%, color-mix(in srgb, var(--color-accent), transparent 84%), transparent 24rem), linear-gradient(145deg, var(--color-bg) 0%, color-mix(in srgb, var(--color-surface), var(--color-bg) 50%) 42%, var(--color-bg) 100%);min-height:100vh;overflow-x:clip}.skip-link{top:var(--space-md);left:var(--space-md);z-index:30;border:1px solid var(--color-accent);padding:var(--space-sm) var(--space-md);background:var(--color-bg);color:var(--color-text);border-radius:999px;transition:transform .16s;position:fixed;transform:translateY(-180%)}.skip-link:focus-visible{transform:translateY(0)}.app-shell{z-index:1;isolation:isolate;position:relative}.three-background{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.three-background:before{content:"";background:radial-gradient(circle at calc(72% + var(--pointer-x,0) * 7%) calc(20% - var(--pointer-y,0) * 5%), color-mix(in srgb, var(--color-accent), transparent 86%), transparent 30rem), radial-gradient(circle at calc(16% - var(--pointer-x,0) * 5%) calc(70% + var(--pointer-y,0) * 4%), color-mix(in srgb, var(--color-text), transparent 94%), transparent 24rem);opacity:.74;transition:opacity .22s;position:absolute;inset:-20%}:root[data-theme=light] .three-background:before{opacity:1;background:radial-gradient(circle at calc(72% + var(--pointer-x,0) * 7%) calc(20% - var(--pointer-y,0) * 5%), #8f5b165c, transparent 30rem), radial-gradient(circle at calc(16% - var(--pointer-x,0) * 5%) calc(70% + var(--pointer-y,0) * 4%), #3f2f2038, transparent 24rem)}.three-background__canvas{opacity:.78;mix-blend-mode:screen;width:100%;height:100%;position:absolute;inset:0}:root[data-theme=light] .three-background__canvas{opacity:.92;filter:contrast(1.36)saturate(1.22);mix-blend-mode:multiply}.preferences-panel{top:var(--space-lg);right:var(--space-lg);z-index:26;gap:var(--space-xs);pointer-events:none;flex-wrap:wrap;justify-content:flex-end;max-width:min(420px,100vw - 32px);display:flex;position:fixed}.preferences-panel__item{gap:var(--space-xs);border:1px solid color-mix(in srgb, var(--color-accent), transparent 74%);padding:var(--space-xs);background:radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--color-accent), transparent 86%), transparent 64%), color-mix(in srgb, var(--color-surface), var(--color-bg) 32%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;border-radius:999px;display:flex;box-shadow:0 18px 52px #00000047}:root[data-theme=light] .preferences-panel__item{border-color:color-mix(in srgb, var(--color-accent), transparent 58%);background:radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--color-accent), transparent 82%), transparent 62%), color-mix(in srgb, var(--color-surface), var(--color-bg) 8%);box-shadow:0 18px 52px #6b5a442e}.preferences-panel__button{min-height:36px;padding:var(--space-xs) var(--space-sm);background:color-mix(in srgb, var(--color-bg), transparent 18%);color:var(--color-muted);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;font-size:12px;font-weight:600;transition:background .16s,border-color .16s,color .16s,transform .16s}:root[data-theme=light] .preferences-panel__button{background:color-mix(in srgb, var(--color-surface), var(--color-bg) 36%)}.preferences-panel__button:hover,.preferences-panel__button--active{border-color:color-mix(in srgb, var(--color-accent), transparent 36%);background:color-mix(in srgb, var(--color-accent), var(--color-surface) 70%);color:var(--color-text)}:root[data-theme=light] .preferences-panel__button:hover,:root[data-theme=light] .preferences-panel__button--active{background:color-mix(in srgb, var(--color-accent), var(--color-surface) 74%)}.preferences-panel__button:hover{transform:translateY(-1px)}.preferences-panel__button--language{min-width:38px}.theme-preference-backdrop{z-index:31;background:radial-gradient(circle at 50% 50%, transparent 0 12rem, color-mix(in srgb, var(--color-bg), transparent 52%) 32rem), color-mix(in srgb, var(--color-bg), transparent 68%);-webkit-backdrop-filter:blur(1px)saturate();backdrop-filter:blur(1px)saturate();place-items:center;padding:clamp(18px,4vw,44px);display:grid;position:fixed;inset:0}:root[data-theme=light] .theme-preference-backdrop{background:radial-gradient(circle at 50% 50%, transparent 0 12rem, color-mix(in srgb, var(--color-bg), transparent 36%) 32rem), color-mix(in srgb, var(--color-bg), transparent 54%)}.theme-preference{border:1px solid color-mix(in srgb, var(--color-accent), transparent 58%);width:min(420px,100vw - 32px);padding:var(--space-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--color-surface), transparent 4%), color-mix(in srgb, var(--color-bg), transparent 2%)), radial-gradient(circle at 16% 10%, color-mix(in srgb, var(--color-accent), transparent 72%), transparent 42%);-webkit-backdrop-filter:blur(22px)saturate(1.12);backdrop-filter:blur(22px)saturate(1.12);isolation:isolate;border-radius:32px;position:relative;overflow:hidden;box-shadow:0 34px 96px #0000007a,inset 0 1px #ffffff24}:root[data-theme=light] .theme-preference{border-color:color-mix(in srgb, var(--color-accent), transparent 42%);background:linear-gradient(135deg, color-mix(in srgb, var(--color-surface), transparent 1%), color-mix(in srgb, var(--color-bg), transparent 0%)), radial-gradient(circle at 16% 10%, color-mix(in srgb, var(--color-accent), transparent 68%), transparent 42%);box-shadow:0 34px 96px #6b5a444d,inset 0 1px #ffffffb8}.theme-preference:before{content:"";z-index:-1;border-radius:inherit;background:linear-gradient(120deg, #ffffff1f, transparent 34%), repeating-linear-gradient(90deg, color-mix(in srgb, var(--color-text), transparent 95%) 0 1px, transparent 1px 18px);opacity:.7;position:absolute;inset:1px;-webkit-mask-image:linear-gradient(140deg,#000,#0000 62%);mask-image:linear-gradient(140deg,#000,#0000 62%)}.theme-preference__orb{z-index:-1;filter:blur(2px);opacity:.88;border-radius:999px;animation:7s ease-in-out infinite alternate theme-orb-drift;position:absolute}.theme-preference__orb--dark{width:128px;height:128px;box-shadow:0 0 46px color-mix(in srgb, var(--color-accent), transparent 42%);background:radial-gradient(circle at 32% 28%,#ffe2a0,#a9691e 34%,#241306 72%);top:-34px;right:-34px}.theme-preference__orb--light{opacity:.42;background:radial-gradient(circle at 34% 32%,#fff,#e9c889 34%,#8b6229 74%);width:148px;height:148px;animation-delay:-2.4s;bottom:-42px;left:-28px}.theme-preference__content{position:relative}.theme-preference__eyebrow{margin:0 0 var(--space-xs);color:var(--color-accent);letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:500}.theme-preference h2{letter-spacing:.14em;text-transform:uppercase;max-width:none;margin:0;font-size:15px;font-weight:500;line-height:1.2}.theme-preference__actions{margin-top:var(--space-lg);grid-template-columns:1fr 1fr;gap:10px;display:grid}.theme-preference__button{gap:var(--space-xs);border:1px solid color-mix(in srgb, var(--color-muted), transparent 82%);min-height:112px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:18px;padding:8px;font-weight:500;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.theme-preference__button:before{content:none;display:none}.theme-preference__button:hover,.theme-preference__button:focus-visible,.theme-preference__button--selected{border-color:color-mix(in srgb, var(--color-accent), transparent 48%);box-shadow:0 10px 24px color-mix(in srgb, var(--color-accent), transparent 88%);transform:translateY(-1px)}.theme-preference__button--selected{outline:2px solid color-mix(in srgb, var(--color-accent), transparent 34%);outline-offset:3px}.theme-preference__button--dark{background:color-mix(in srgb, #08090b, var(--color-surface) 8%);color:#fff4d6}.theme-preference__button--light{color:#2d2114;background:#fff7e6}.theme-preference__preview{border:1px solid color-mix(in srgb, currentColor, transparent 78%);min-height:62px;box-shadow:none;border-radius:13px;display:block;position:relative;overflow:hidden}.theme-preference__preview:before{content:"";border-radius:999px;width:24px;height:24px;position:absolute;top:14px;right:14px}.theme-preference__preview--dark{background:linear-gradient(90deg,#ffd68b1f 0 1px,#0000 1px 100%) 0 0/18px 100%,linear-gradient(160deg,#090a0d,#1b1309)}.theme-preference__preview--dark:before{background:#d7a548;box-shadow:0 0 22px #d7a54857}.theme-preference__preview--light{background:linear-gradient(90deg,#70491614 0 1px,#0000 1px 100%) 0 0/18px 100%,linear-gradient(160deg,#fffaf0,#e8d5b6)}.theme-preference__preview--light:before{background:#9b6a25;box-shadow:0 0 18px #9b6a2538}.theme-preference__preview-dot{opacity:.38;background:currentColor;border-radius:999px;width:6px;height:6px;position:absolute;top:16px;left:14px}.theme-preference__skeleton{display:block;position:absolute;inset:0}.theme-preference__skeleton span{opacity:.24;background:currentColor;border-radius:999px;display:block;position:absolute}.theme-preference__skeleton span:first-child{width:54%;height:4px;bottom:17px;left:14px}.theme-preference__skeleton span:nth-child(2){opacity:.16;width:36%;height:4px;bottom:29px;left:14px}.theme-preference__skeleton span:nth-child(3){opacity:.5;width:7px;height:7px;bottom:17px;right:14px}.theme-preference__button-label{z-index:1;justify-content:center;align-items:center;min-height:34px;font-size:13px;display:inline-flex;position:relative}.theme-preference__button-icon{margin-right:var(--space-xs);position:relative}.theme-preference__apply{width:100%;min-height:48px;margin-top:var(--space-md);border:1px solid color-mix(in srgb, var(--color-accent), transparent 32%);background:linear-gradient(135deg, color-mix(in srgb, var(--color-accent), var(--color-surface) 64%), color-mix(in srgb, var(--color-accent), var(--color-bg) 72%));color:var(--color-text);font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;box-shadow:0 18px 44px color-mix(in srgb, var(--color-accent), transparent 78%);border-radius:999px;place-items:center;font-size:13px;font-weight:500;transition:transform .18s,box-shadow .18s,border-color .18s;display:inline-grid}.theme-preference__apply:hover,.theme-preference__apply:focus-visible{border-color:color-mix(in srgb, var(--color-accent), transparent 12%);box-shadow:0 22px 58px color-mix(in srgb, var(--color-accent), transparent 70%);transform:translateY(-1px)}.theme-preference-apply-enter-active,.theme-preference-apply-leave-active{transition:opacity .22s,transform .28s cubic-bezier(.22,1,.36,1),max-height .28s,margin .28s}.theme-preference-apply-enter-from,.theme-preference-apply-leave-to{opacity:0;max-height:0;margin-top:0;transform:translateY(-8px)scale(.98)}.theme-preference-apply-enter-to,.theme-preference-apply-leave-from{opacity:1;max-height:64px;transform:translateY(0)scale(1)}.theme-preference-enter-active,.theme-preference-leave-active{transition:opacity .26s,-webkit-backdrop-filter .42s,backdrop-filter .42s}.theme-preference-enter-active .theme-preference,.theme-preference-leave-active .theme-preference{transition:transform .42s cubic-bezier(.22,1,.36,1),filter .42s}.theme-preference-enter-from,.theme-preference-leave-to{opacity:0;-webkit-backdrop-filter:blur()saturate();backdrop-filter:blur()saturate()}.theme-preference-enter-from .theme-preference,.theme-preference-leave-to .theme-preference{filter:blur(10px);transform:translateY(26px)scale(.94)rotate(-1deg)}@keyframes theme-orb-drift{0%{transform:translate(-4px,3px)scale(.98)}to{transform:translate(6px,-5px)scale(1.04)}}.mobile-section-nav{display:none}.portfolio-section{width:min(100% - clamp(32px, 6vw, 96px), var(--content-max));scroll-margin-top:var(--space-xl);margin:0 auto;padding:clamp(64px,10vw,144px) 0;position:relative}.hero-section{align-items:end;min-height:min(920px,100svh);padding-top:clamp(80px,12vw,152px);display:flex}.hero-section__content{max-width:880px}.hero-section__identity{gap:clamp(var(--space-md), 3vw, var(--space-xl));grid-template-columns:minmax(0,max-content) minmax(112px,.28fr);align-items:end;width:min(100%,980px);display:grid;position:relative}.section-kicker,.section-heading__index,.card-label,.timeline-card__period{color:var(--color-accent);letter-spacing:.12em;text-transform:uppercase;font-size:14px;font-weight:600}.hero-section__title{max-width:10ch;margin-top:var(--space-md);letter-spacing:-.085em;font-size:clamp(42px,9.2vw,108px);font-weight:600;line-height:.82}.hero-portrait{aspect-ratio:.74;border:1px solid color-mix(in srgb, var(--color-accent), transparent 46%);background:linear-gradient(145deg, color-mix(in srgb, var(--color-accent), transparent 80%), transparent 44%), color-mix(in srgb, var(--color-surface), transparent 8%);width:clamp(112px,15vw,188px);box-shadow:0 28px 82px #00000061, inset 0 0 0 1px color-mix(in srgb, var(--color-text), transparent 90%);isolation:isolate;border-radius:999px 999px 42px 42px;margin:0 0 clamp(8px,1.2vw,18px);position:relative;overflow:hidden}.hero-portrait:before,.hero-portrait:after{content:"";z-index:2;pointer-events:none;border:1px solid color-mix(in srgb, var(--color-accent), transparent 42%);border-radius:inherit;mix-blend-mode:screen;position:absolute;inset:9px}.hero-portrait:after{background:linear-gradient(90deg, transparent, var(--color-accent), transparent);opacity:.84;border:0;border-radius:0;height:1px;inset:auto 16px 16px}.hero-portrait img{object-fit:cover;object-position:50% 24%;filter:saturate(.86)contrast(1.06)sepia(.08);width:100%;height:100%;transform:scale(1.03)}:root[data-theme=light] .hero-portrait img{filter:saturate(.8)contrast(1.04)sepia(.18)}.hero-section__role{max-width:68ch;margin-top:var(--space-lg);color:var(--color-text);font-size:clamp(18px,1.8vw,25px);font-weight:600;line-height:1.2}.hero-section__intro,.hero-section__location,.hero-section__meta,.section-lead,.prose-stack,.contact-section__panel>p:not(.section-lead){max-width:68ch;color:var(--color-muted)}.hero-section__intro{margin-top:var(--space-md);font-size:clamp(16px,1.55vw,20px)}.hero-section__location{margin-top:var(--space-sm);color:var(--color-accent);font-size:clamp(14px,1.25vw,17px);font-weight:600}.hero-section__meta{margin-top:var(--space-md);gap:var(--space-xs);display:grid}.hero-section__meta span{color:var(--color-text);font-weight:600}.hero-section__meta small{color:var(--color-muted);font-size:.92em}.section-heading{gap:var(--space-sm);margin-bottom:var(--space-2xl);display:grid}.section-heading h2{letter-spacing:-.045em;font-size:clamp(28px,4vw,56px);font-weight:600;line-height:1.02}.section-grid{gap:clamp(var(--space-xl), 6vw, 88px);grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);display:grid}.section-grid--timeline{grid-template-columns:minmax(0,1fr);margin-left:min(38vw,430px)}.career-section__sticky-intro{float:left;width:min(33vw,360px);max-height:calc(100vh - 180px);padding-right:var(--space-xl);position:sticky;top:clamp(88px,14vh,150px);overflow:visible}.career-section__sticky-intro .section-heading{margin-bottom:var(--space-xl)}.career-section__sticky-intro .section-lead,.tech-section__sticky-intro .section-lead{font-size:clamp(19px,2.25vw,28px);line-height:1.18}.section-lead{color:var(--color-text);letter-spacing:-.035em;font-size:clamp(22px,3vw,34px);font-weight:600;line-height:1.15}.prose-stack{gap:var(--space-md);display:grid}.fact-grid,.capability-grid,.project-grid,.timeline-list{gap:var(--space-md);list-style:none;display:grid}.fact-grid{margin-top:var(--space-lg);grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.fact-card,.timeline-card,.capability-card,.project-card,.contact-section__panel,.contact-form{border:1px solid color-mix(in srgb, var(--color-muted), transparent 82%);border-radius:var(--radius-lg);padding:clamp(var(--space-lg), 3vw, var(--space-xl));background:color-mix(in srgb, var(--color-surface), transparent 10%);box-shadow:0 24px 80px #00000047}.fact-card dt,.timeline-card__company{color:var(--color-muted);font-size:14px}.fact-card dd,.timeline-card h3,.capability-card h3,.project-card h3{margin-top:var(--space-xs);color:var(--color-text);letter-spacing:-.03em;font-size:clamp(20px,2vw,28px);font-weight:600;line-height:1.15}.mini-stack-list{gap:var(--space-xs);margin-top:var(--space-md);flex-wrap:wrap;list-style:none;display:flex}.mini-stack-list li{border:1px solid color-mix(in srgb, var(--color-muted), transparent 80%);color:var(--color-muted);border-radius:999px;padding:3px 8px;font-size:12px;font-weight:600}.timeline-card,.capability-card,.project-card{gap:var(--space-md);display:grid}.timeline-card__bullets{gap:var(--space-sm);color:var(--color-muted);padding-left:1.1rem;display:grid}.project-card__highlights{gap:var(--space-sm);color:var(--color-muted);padding-left:1.1rem;line-height:1.6;display:grid}.timeline-card__bullets li::marker{color:var(--color-accent)}.project-card__highlights li::marker{color:var(--color-accent)}.capability-grid,.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tech-section{display:flow-root}.tech-section__sticky-intro{float:right;width:min(33vw,360px);max-height:calc(100vh - 180px);padding-left:var(--space-xl);position:sticky;top:clamp(88px,14vh,150px)}.tech-section__sticky-intro .section-heading{margin-bottom:var(--space-xl)}.tech-section .capability-grid{grid-template-columns:minmax(0,1fr);width:calc(100% - min(38vw,430px))}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pill-list,.signal-list,.social-links{gap:var(--space-sm);flex-wrap:wrap;list-style:none;display:flex}.pill-list{align-items:center}.capability-card .pill-list,.timeline-card .pill-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pill-list li,.signal-list li{border:1px solid color-mix(in srgb, var(--color-muted), transparent 78%);min-height:30px;padding:var(--space-xs) var(--space-sm);text-align:center;color:var(--color-muted);border-radius:999px;justify-content:center;align-items:center;gap:6px;font-size:14px;display:inline-flex}.capability-card .pill-list li,.timeline-card .pill-list li{width:100%}.capability-card .technology-pill__content,.timeline-card .technology-pill__content{min-width:0}.capability-card .technology-pill__content span,.timeline-card .technology-pill__content span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.technology-pill{padding:0;transition:border-color .22s,background .22s,box-shadow .22s,color .22s;position:relative;overflow:hidden}.technology-pill__content{width:100%;min-height:30px;padding:var(--space-xs) var(--space-sm);color:inherit;justify-content:center;align-items:center;gap:6px;text-decoration:none;transition:padding .26s cubic-bezier(.22,1,.36,1);display:inline-flex}.technology-pill--linked:after{content:"↗";color:var(--color-accent);opacity:0;transition:opacity .24s,transform .26s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;right:10px;transform:translate(-6px,-50%)}.technology-pill--linked:hover,.technology-pill--linked:focus-within{border-color:color-mix(in srgb, var(--color-accent), transparent 32%);background:color-mix(in srgb, var(--color-accent), transparent 88%);color:var(--color-text);padding-right:0;box-shadow:0 12px 30px #0000003d}.technology-pill--linked:hover .technology-pill__content,.technology-pill--linked:focus-within .technology-pill__content{padding-right:calc(var(--space-sm) + 24px)}.technology-pill--linked:hover:after,.technology-pill--linked:focus-within:after{opacity:1;transform:translateY(-50%)}.tech-icon{width:15px;height:15px;color:color-mix(in srgb, var(--color-accent), var(--color-text) 18%);opacity:.9;flex:none;place-items:center;display:inline-grid}.tech-icon svg{width:100%;height:100%}:root[data-theme=light] .tech-icon{color:color-mix(in srgb, var(--color-accent), var(--color-text) 24%);opacity:.82}.todo-note{color:var(--color-muted);font-size:14px}.social-links{margin-top:var(--space-xl);justify-content:flex-start}.social-links--compact{margin-top:var(--space-lg);justify-content:flex-start}.hero-scroll-hint{left:50%;bottom:clamp(var(--space-lg), 5vh, var(--space-3xl));z-index:3;align-items:center;gap:var(--space-sm);border:1px solid color-mix(in srgb, var(--color-muted), transparent 78%);padding:var(--space-xs) var(--space-md);background:color-mix(in srgb, var(--color-bg), transparent 12%);color:var(--color-muted);letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex;position:absolute;transform:translate(-50%)}.hero-scroll-hint svg{width:18px;height:18px;stroke:var(--color-accent);stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;animation:1.45s ease-in-out infinite scroll-hint-bounce}@keyframes scroll-hint-bounce{0%,to{transform:translateY(-2px)}50%{transform:translateY(4px)}}.social-link{border:1px solid color-mix(in srgb, var(--color-muted), transparent 78%);min-width:44px;min-height:44px;padding:var(--space-sm) var(--space-md);background:color-mix(in srgb, var(--color-surface), transparent 24%);border-radius:999px;align-content:center;text-decoration:none;transition:border-color .22s,background .22s,box-shadow .22s,padding .26s cubic-bezier(.22,1,.36,1),transform .22s;display:grid;position:relative;overflow:hidden}.social-link:hover,.social-link:focus-visible{border-color:color-mix(in srgb, var(--color-accent), transparent 32%);background:color-mix(in srgb, var(--color-accent), transparent 88%);padding-right:calc(var(--space-md) + 28px);box-shadow:0 16px 38px #00000047}.social-link:after{content:"↗";color:var(--color-accent);opacity:0;transition:opacity .24s,transform .26s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;right:16px;transform:translate(-6px,-50%)}.social-link,.social-link:after,.technology-pill,.technology-pill__content,.technology-pill:after{will-change:transform, opacity}.social-link:hover:after,.social-link:focus-visible:after{opacity:1;transform:translateY(-50%)}.social-link span{color:var(--color-text);font-weight:600}.social-link small{color:var(--color-muted)}.section-progress{top:50%;right:var(--space-lg);z-index:20;gap:var(--space-sm);display:grid;position:fixed;transform:translateY(-50%)}.section-progress__marker{justify-content:center;justify-self:end;align-items:center;gap:var(--space-sm);border:1px solid color-mix(in srgb, var(--color-muted), transparent 82%);background:color-mix(in srgb, var(--color-bg), transparent 8%);width:44px;min-height:44px;color:var(--color-muted);white-space:nowrap;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;padding:0;font-size:12px;font-weight:600;text-decoration:none;transition:width .42s cubic-bezier(.22,1,.36,1),border-color .22s,color .22s,transform .42s cubic-bezier(.22,1,.36,1),background .22s;display:inline-flex;position:relative;overflow:hidden}.section-progress__marker--active{border-color:var(--color-accent);width:fit-content;max-width:min(260px,46vw);color:var(--color-accent);background:color-mix(in srgb, var(--color-surface), transparent 8%);justify-content:flex-end;padding:0 18px;transform:translate(-4px);box-shadow:0 18px 48px #0000006b}.section-progress__marker:not(.section-progress__marker--active):hover,.section-progress__marker:not(.section-progress__marker--active):focus-visible{border-color:color-mix(in srgb, var(--color-muted), transparent 28%);width:fit-content;max-width:min(260px,46vw);color:var(--color-muted);background:color-mix(in srgb, var(--color-surface), transparent 14%);justify-content:flex-end;padding:0 18px;transform:translate(-4px)}.section-progress__number{place-items:center;width:24px;transition:opacity .24s,transform .42s cubic-bezier(.22,1,.36,1);display:grid;position:absolute;left:50%;transform:translate(-50%)}.section-progress__label{max-width:0;color:var(--color-text);text-align:right;opacity:0;transition:max-width .42s cubic-bezier(.22,1,.36,1),opacity .24s,transform .42s cubic-bezier(.22,1,.36,1);display:block;overflow:hidden;transform:translate(-12px)}.section-progress__marker--active .section-progress__number{opacity:0;transform:translate(-50%)scale(.72)}.section-progress__marker--active .section-progress__label,.section-progress__marker:not(.section-progress__marker--active):hover .section-progress__label,.section-progress__marker:not(.section-progress__marker--active):focus-visible .section-progress__label{opacity:1;max-width:200px;transform:translate(0)}.section-progress__marker:not(.section-progress__marker--active):hover .section-progress__number,.section-progress__marker:not(.section-progress__marker--active):focus-visible .section-progress__number{opacity:0;transform:translate(-50%)scale(.72)}.visual-layer{inset:clamp(var(--space-lg), 4vw, var(--space-2xl)) 0 auto auto;z-index:-1;aspect-ratio:1;pointer-events:none;opacity:.8;width:min(44vw,520px);position:absolute}:root[data-theme=light] .visual-layer{opacity:.96}:root[data-theme=light] .visual-layer__orb{border-color:color-mix(in srgb, var(--color-accent), transparent 36%);background:radial-gradient(circle, color-mix(in srgb, var(--color-accent), transparent 82%), transparent 62%)}:root[data-theme=light] .visual-layer__line{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-accent), transparent 32%), transparent)}.visual-layer__orb,.visual-layer__line{display:block;position:absolute}.visual-layer__orb{border:1px solid color-mix(in srgb, var(--color-accent), transparent 68%);background:radial-gradient(circle, color-mix(in srgb, var(--color-accent), transparent 91%), transparent 62%);border-radius:42% 58% 48% 52%;inset:12%}.visual-layer__line{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-accent), transparent 50%), transparent);height:1px;top:50%;left:0;right:0;transform:rotate(-18deg)}.visual-layer--rail{width:min(36vw,360px);left:-12vw;right:auto}.visual-layer--field{opacity:.48}.contact-section{padding-bottom:clamp(88px,12vw,160px)}.contact-section__panel{gap:var(--space-md);display:grid}.contact-section__layout{gap:clamp(var(--space-xl), 6vw, 88px);grid-template-columns:minmax(0,.82fr) minmax(320px,1.18fr);align-items:start;display:grid}.contact-form{gap:var(--space-md);display:grid}.contact-form__eyebrow{color:var(--color-accent);letter-spacing:.12em;text-transform:uppercase;font-size:14px;font-weight:600}.contact-form__field{gap:var(--space-sm);color:var(--color-muted);font-size:14px;font-weight:600;display:grid}.contact-form__field--hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.contact-form input,.contact-form textarea{border:1px solid color-mix(in srgb, var(--color-muted), transparent 76%);border-radius:var(--radius-md);width:100%;padding:14px var(--space-md);background:color-mix(in srgb, var(--color-bg), transparent 22%);color:var(--color-text);font:inherit;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:color-mix(in srgb, var(--color-accent), transparent 28%);outline:none}.contact-form__button{border:1px solid color-mix(in srgb, var(--color-accent), transparent 28%);min-height:48px;padding:var(--space-sm) var(--space-xl);background:color-mix(in srgb, var(--color-accent), transparent 86%);color:var(--color-text);font:inherit;cursor:pointer;border-radius:999px;font-weight:600;transition:opacity .16s,transform .16s,background .16s}.contact-form__button:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent), transparent 76%);transform:translateY(-1px)}.contact-form__button:disabled{cursor:not-allowed;opacity:.48}.contact-form__status{color:var(--color-muted)}.contact-form__status--success{color:var(--color-accent)}.contact-form__status--error{color:var(--color-destructive)}@media (width<=860px){:root[data-theme=light] .three-background__canvas{opacity:.68}.mobile-section-nav{top:var(--space-lg);left:var(--space-md);z-index:28;display:block;position:fixed}.mobile-section-nav__toggle{z-index:2;border:1px solid color-mix(in srgb, var(--color-muted), transparent 76%);background:color-mix(in srgb, var(--color-bg), transparent 8%);width:46px;height:46px;color:var(--color-text);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;border-radius:999px;place-items:center;display:grid;position:relative;box-shadow:0 18px 52px #00000047}.mobile-section-nav__icon{width:19px;height:15px;display:block;position:relative}.mobile-section-nav__icon span{transform-origin:50%;background:currentColor;border-radius:999px;width:100%;height:2px;transition:top .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1),opacity .16s,background .16s;position:absolute;left:0}.mobile-section-nav__icon span:first-child{top:0}.mobile-section-nav__icon span:nth-child(2){width:70%;top:6.5px}.mobile-section-nav__icon span:nth-child(3){top:13px}.mobile-section-nav--open .mobile-section-nav__toggle{border-color:color-mix(in srgb, var(--color-accent), transparent 36%);background:color-mix(in srgb, var(--color-accent), transparent 86%)}.mobile-section-nav--open .mobile-section-nav__icon span:first-child{top:6.5px;transform:rotate(45deg)}.mobile-section-nav--open .mobile-section-nav__icon span:nth-child(2){opacity:0;transform:scaleX(.2)}.mobile-section-nav--open .mobile-section-nav__icon span:nth-child(3){top:6.5px;transform:rotate(-45deg)}.mobile-section-nav__panel{top:calc(100% + var(--space-sm));border:1px solid color-mix(in srgb, var(--color-muted), transparent 78%);width:min(320px,100vw - 32px);padding:var(--space-sm);background:color-mix(in srgb, var(--color-bg), transparent 4%);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);opacity:0;pointer-events:none;transform-origin:0 0;border-radius:28px;transition:opacity .22s,transform .26s cubic-bezier(.22,1,.36,1);position:absolute;left:0;transform:translateY(-10px)scale(.96);box-shadow:0 28px 82px #0000006b}.mobile-section-nav--open .mobile-section-nav__panel{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.mobile-section-nav__link{border-bottom:1px solid color-mix(in srgb, var(--color-muted), transparent 82%);min-height:54px;padding:var(--space-sm) var(--space-lg) var(--space-sm) var(--space-md);color:inherit;border-radius:18px;align-content:center;text-decoration:none;display:grid;position:relative}.mobile-section-nav__link:last-child{border-bottom:0}.mobile-section-nav__link:before{content:"";top:var(--space-sm);bottom:var(--space-sm);background:var(--color-accent);opacity:.62;border-radius:999px;width:2px;display:none;position:absolute;left:0}.mobile-section-nav__link span{color:var(--color-accent);font-size:13px;font-weight:600}.mobile-section-nav__link strong{color:var(--color-text);font-size:18px;font-weight:600}.portfolio-section{width:min(100% - 32px, var(--content-max));padding:clamp(64px,14vw,96px) 0}.preferences-panel{top:var(--space-lg);right:var(--space-md);max-width:calc(100vw - 16px)}.theme-preference{width:min(100%,420px);padding:var(--space-md);border-radius:28px}.theme-preference-backdrop{padding:var(--space-sm)}.theme-preference h2{white-space:nowrap;max-width:none}.theme-preference__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.theme-preference__button{min-height:126px}.theme-preference__preview{min-height:72px}.hero-section{align-items:start;min-height:auto;padding-top:132px}.hero-section__title{max-width:8ch;font-size:clamp(38px,14vw,64px)}.hero-scroll-hint{display:none}.hero-section__identity{grid-template-columns:1fr}.hero-portrait{width:clamp(104px,34vw,152px);margin-bottom:var(--space-md);grid-row:1}.section-grid,.section-grid--timeline,.fact-grid,.capability-grid,.project-grid,.contact-section__layout{grid-template-columns:1fr}.contact-section{padding-bottom:clamp(116px,22vw,164px)}.tech-section__sticky-intro{float:none;width:auto;max-height:none;margin-bottom:var(--space-2xl);padding-left:0;position:static}.tech-section .capability-grid{width:auto}.section-grid--timeline{margin-left:0}.career-section__sticky-intro{float:none;width:auto;max-height:none;margin-bottom:var(--space-2xl);padding-right:0;position:static}.section-progress{top:auto;right:var(--space-lg);left:var(--space-lg);bottom:var(--space-lg);z-index:24;gap:var(--space-xs);grid-template-columns:repeat(6,1fr);transform:none}.section-progress__marker{background:color-mix(in srgb, var(--color-bg), transparent 2%);justify-self:center;width:44px;min-height:44px}.section-progress__marker--active{z-index:3;justify-self:center;width:fit-content;max-width:min(180px,42vw);padding:0 14px}.section-progress__marker--active:first-child{justify-self:start}.section-progress__marker--active:last-child{justify-self:end}.section-progress__marker--active .section-progress__label{text-align:center}.section-progress__marker:not(.section-progress__marker--active):hover,.section-progress__marker:not(.section-progress__marker--active):focus-visible{width:fit-content;max-width:min(180px,42vw);padding:0 14px}.section-progress__marker--active{transform:translateY(-14px)}.visual-layer{opacity:.42;width:82vw}}@media (width<=860px),(hover:none),(pointer:coarse){.technology-pill--linked:hover,.technology-pill--linked:focus-within{border-color:color-mix(in srgb, var(--color-muted), transparent 78%);box-shadow:none;color:var(--color-muted);background:0 0;padding-right:0}.technology-pill--linked:hover .technology-pill__content,.technology-pill--linked:focus-within .technology-pill__content{padding-right:var(--space-sm)}.technology-pill--linked:hover:after,.technology-pill--linked:focus-within:after{opacity:0;transform:translate(-6px,-50%)}.social-link:hover,.social-link:focus-visible{border-color:color-mix(in srgb, var(--color-muted), transparent 78%);background:color-mix(in srgb, var(--color-surface), transparent 24%);box-shadow:none;padding-right:var(--space-md);transform:none}.social-link:hover:after,.social-link:focus-visible:after{opacity:0;transform:translate(-6px,-50%)}.section-progress__marker:not(.section-progress__marker--active):hover,.section-progress__marker:not(.section-progress__marker--active):focus-visible{border-color:color-mix(in srgb, var(--color-muted), transparent 82%);width:44px;max-width:44px;color:var(--color-muted);background:color-mix(in srgb, var(--color-bg), transparent 2%);justify-content:center;padding:0;transform:none}.section-progress__marker:not(.section-progress__marker--active):hover .section-progress__number,.section-progress__marker:not(.section-progress__marker--active):focus-visible .section-progress__number{opacity:1;transform:translate(-50%)}.section-progress__marker:not(.section-progress__marker--active):hover .section-progress__label,.section-progress__marker:not(.section-progress__marker--active):focus-visible .section-progress__label{opacity:0;max-width:0;transform:translate(-12px)}}@media (width<=420px){.capability-card .pill-list,.timeline-card .pill-list{grid-template-columns:1fr}.section-progress{right:var(--space-md);left:var(--space-md);bottom:var(--space-lg)}.section-progress__marker{width:44px;padding:0}.section-progress__marker--active{justify-self:center;width:fit-content;max-width:min(172px,100vw - 96px);padding:0 12px}.section-progress__marker:not(.section-progress__marker--active):hover,.section-progress__marker:not(.section-progress__marker--active):focus-visible{width:44px;padding:0}.section-progress__marker--active .section-progress__number{opacity:0;transform:translate(-50%)scale(.72)}.section-progress__marker:not(.section-progress__marker--active):hover .section-progress__number,.section-progress__marker:not(.section-progress__marker--active):focus-visible .section-progress__number{opacity:1;transform:translate(-50%)}.section-progress__marker:not(.section-progress__marker--active):hover .section-progress__label,.section-progress__marker:not(.section-progress__marker--active):focus-visible .section-progress__label{opacity:0;max-width:0}.section-progress__marker--active .section-progress__label{opacity:1;max-width:128px;transform:translate(0)}.social-link{width:100%}}@media (prefers-reduced-motion:reduce){.three-background{display:none}.section-progress__marker,.section-progress__number,.section-progress__label,.theme-preference-backdrop,.theme-preference,.theme-preference__orb,.theme-preference__button,.theme-preference__button:before{transition:none;animation:none}}
