@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/manrope-latin.woff2)format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/space-grotesk-latin.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand:#b6d973;--brand-hover:#c0df88;--brand-ink:#26351a;--brand-border:#718c3d;--bg:#171b18;--surface:#212722;--text:#f2f4ee;--muted:#c1c9bf;--accent:var(--brand);--line:#3d483e;--header-bg:#171b18;--action-bg:var(--brand);--action-text:var(--brand-ink);--contact-bg:var(--brand);--heading:"Space Grotesk", "Segoe UI", sans-serif;--body:"Manrope", "Segoe UI", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--gutter:clamp(22px, 5vw, 80px);--surface-raised:#272f28;--surface-subtle:#1c211d;--label:var(--brand);--text-body:1rem;--text-small:.875rem;--text-label:.75rem;--radius:12px;--panel-padding:clamp(22px, 2.5vw, 34px)}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#d0d7c9;--surface:#e2e6dc;--text:#202820;--muted:#414c40;--accent:#435d20;--line:#adb8a4;--header-bg:#d5dace;--surface-raised:var(--surface);--surface-subtle:#d4dbcc;--label:var(--accent);--brand-tint:color-mix(in srgb, var(--brand) 28%, var(--surface));--cta-bg:var(--brand);--cta-hover:var(--brand-hover);--cta-text:var(--brand-ink);--interactive-bg:var(--brand);--interactive-text:var(--brand-ink);--interactive-border:var(--brand-border);--interactive-hover:var(--brand-hover)}html[data-theme=light] body{background:radial-gradient(at 12% 0,#e1e6db 0%,#0000 45%),linear-gradient(145deg,#d7dece 0%,#cbd3c4 55%,#d3dbcc 100%)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--bg);color:var(--text);font:450 var(--text-body)/1.7 var(--body);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:wait}a,button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,h1,h2,h3,h4,p,ul,dl{margin:0}ul{padding:0;list-style:none}img,svg{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--heading);font-weight:500;line-height:1.12}h2{letter-spacing:-.035em;font-size:clamp(32px,3.6vw,48px)}h3{letter-spacing:-.7px;font-size:25px}:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:3px}[hidden]{display:none!important}.container{width:min(100% - var(--gutter) * 2, 1240px);margin-inline:auto}.section{padding-block:88px}.icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:24px;height:24px}.small-icon{width:18px;height:18px}.accent{color:var(--accent)}.muted{color:var(--muted)}.mono{font:500 var(--text-small)/1.6 var(--body);letter-spacing:.02em}.eyebrow,.section-label{font:600 var(--text-label)/1.6 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--label);align-items:center;gap:12px;display:flex}.section-label{margin-bottom:22px}.section-label>span:first-child{color:var(--accent);margin-right:5px;display:none}.section-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:36px;display:flex}html[data-theme=light] .section-label:before{content:"";background:var(--brand);border-radius:4px;flex:none;width:22px;height:4px}.section-aside{max-width:340px;color:var(--muted);font-size:var(--text-body);line-height:1.7}.text-link{font-size:var(--text-small);align-items:center;gap:10px;font-weight:600;display:inline-flex}.text-link:hover{color:var(--accent)}.text-link .small-icon{transition:transform .2s}.text-link:hover .small-icon{transform:translate(2px,-2px)}.skip-link{z-index:100;background:var(--accent);color:var(--bg);padding:10px 20px;position:fixed;top:10px;left:20px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.is-typing .role-text{opacity:0}h1{letter-spacing:-3.8px;font-size:clamp(46px,5.4vw,76px);font-weight:500;line-height:1.09}h1>span{display:block}.button{min-height:51px;font-size:var(--text-small);border-radius:5px;justify-content:center;align-items:center;gap:24px;padding:12px 21px;font-weight:700;transition:background .2s,transform .2s;display:inline-flex}.button-primary{background:var(--action-bg);color:var(--action-text)}.button-primary:hover{background:var(--brand-hover);transform:translateY(-2px)}.button-primary:focus-visible{outline-offset:5px}.button .icon{width:19px;height:19px}.brand-mark>span,.footer-brand>span{color:var(--accent)}
.site-header{z-index:20;background:var(--header-bg);border-bottom:1px solid var(--line);position:relative;top:0}.js .site-header{position:sticky}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:100px;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand-mark{border:1px solid var(--line);width:44px;height:44px;font:500 28px/1 var(--heading);letter-spacing:-3px;border-radius:12px;grid-auto-flow:column;place-content:center;padding-right:3px;display:grid}.brand-name{font:500 15px/1.4 var(--heading);letter-spacing:-.3px}html[data-theme=light] .brand-mark{background:var(--brand-tint);border-color:var(--brand-border)}html[data-theme=light] .main-nav>a[aria-current]:after{background:var(--brand);width:22px;height:4px;box-shadow:0 1px 0 var(--brand-border)}.brand-role{font:500 12px/1.7 var(--body);color:var(--muted);letter-spacing:.2px;display:block}.main-nav{align-items:center;gap:24px;margin-left:auto;display:flex}.main-nav>a{color:var(--muted);font-size:var(--text-small);padding-block:14px;font-weight:600;position:relative}.main-nav>a:hover,.main-nav>a[aria-current]{color:var(--text)}.main-nav>a[aria-current]:after{content:"";background:var(--accent);border-radius:3px;width:15px;height:3px;position:absolute;bottom:3px;left:0}.header-tools{align-items:center;gap:18px;display:flex}.language-switch{font:600 var(--text-small) var(--body);color:var(--muted);align-items:center;gap:4px;display:none}.js .language-switch{display:flex}.language-switch button{min-width:34px;min-height:44px;font:inherit;color:var(--muted);background:0 0;border:0;padding:5px}.language-switch button[aria-pressed=true]{color:var(--accent)}.language-switch button:hover{color:var(--text)}.menu-toggle{border:1px solid var(--line);background:0 0;border-radius:6px;width:44px;height:44px;padding:10px;display:none}.menu-toggle span{background:var(--text);width:22px;height:1px;margin-block:6px;transition:transform .2s;display:block}.theme-toggle{border:1px solid var(--line);background:0 0;border-radius:6px;width:44px;height:44px;font-size:17px;display:none}.js .theme-toggle{place-items:center;display:grid}.theme-toggle:hover{color:var(--accent)}.main-nav>.nav-contact{color:var(--text);gap:10px;display:flex}.nav-contact .icon{width:17px;height:17px}html[data-theme=light] .main-nav>.nav-contact{color:var(--muted)}html[data-theme=light] .main-nav>.nav-contact:hover,html[data-theme=light] .main-nav>.nav-contact[aria-current]{color:var(--text)}html[data-theme=light] .language-switch button[aria-pressed=true]{background:var(--interactive-bg);color:var(--interactive-text);border-radius:6px}html[data-theme=light] .theme-toggle:hover,html[data-theme=light] .menu-toggle:hover{background:var(--interactive-bg);color:var(--interactive-text)}
.hero{isolation:isolate;position:relative;overflow:clip}.hero-inner{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;column-gap:46px;padding-top:64px;display:grid}html[data-theme=dark] .hero:before,html[data-theme=dark] .hero:after{content:"";pointer-events:none;position:absolute}html[data-theme=dark] .hero:before{z-index:-2;background:radial-gradient(at 0 28%,#18574740 0%,#0000 56%),radial-gradient(at 100% 14%,#314f3a40 0%,#0000 65%),radial-gradient(at 62% 78%,#173f5933 0%,#0000 60%);inset:0;-webkit-mask-image:linear-gradient(#000 65%,#0000 100%);mask-image:linear-gradient(#000 65%,#0000 100%)}html[data-theme=dark] .hero:after{z-index:-1;opacity:.16;filter:blur(38px);background:url(/assets/img/hero-aurora.svg) 50%/100% 100% no-repeat;width:124%;height:100%;top:-5%;left:-12%;transform:rotate(-8deg)}.hero-copy{min-width:0}.hero h1{letter-spacing:-.045em;overflow-wrap:anywhere;font-size:clamp(80px,8.6vw,124px);line-height:.96}.hero-role{font-family:var(--heading);letter-spacing:-.6px;max-width:540px;margin-top:24px;font-size:clamp(22px,2vw,28px);line-height:1.4;display:grid}.hero-role>span{grid-area:1/1;min-width:0}.hero-eyebrow{color:var(--muted);font-size:var(--text-label);letter-spacing:.1em;margin-bottom:28px}.status-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 5px color-mix(in srgb, var(--brand) 7%, transparent);border-radius:50%;flex:none}html[data-theme=light] .status-dot{background:var(--brand);outline:1px solid var(--brand-border);width:8px;height:8px;box-shadow:0 0 0 5px color-mix(in srgb, var(--brand) 25%, transparent)}.hero-description{max-width:490px;color:var(--muted);margin-top:18px;font-size:1.0625rem;line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:29px;margin-top:32px;display:flex}.hero-actions .text-link{font-size:var(--text-small);gap:8px}.hero-actions .text-link>.icon:first-child{width:19px;height:19px}html[data-theme=light] .hero-actions .button-primary{border:1px solid var(--brand-border);box-shadow:0 5px 16px #507d2726}html[data-theme=light] .hero-actions .button-primary:hover{background:var(--brand-hover);box-shadow:0 7px 20px #507d2738}html[data-theme=light] .hero-actions .text-link{border:1px solid var(--interactive-border);background:var(--interactive-bg);min-height:51px;color:var(--interactive-text);border-radius:6px;padding:12px 14px;transition:background .2s,transform .2s}html[data-theme=light] .hero-actions .text-link:hover{background:var(--interactive-hover);transform:translateY(-2px)}.hero-visual{aspect-ratio:1;justify-self:center;width:100%;max-width:425px;margin-top:-26px;position:relative}.portrait-wrap{background:#28352f;border-radius:50%;width:84%;height:84%;position:absolute;top:7%;left:8%;overflow:hidden}.portrait{object-fit:cover;filter:saturate(.35);width:100%;height:100%}.portrait-orbit{border:1px solid var(--line);border-color:var(--line);border-radius:50%;position:absolute;inset:0}.portrait-orbit:before{content:"";border:1px dashed #353e30;border-color:var(--line);border-radius:50%;position:absolute;inset:14px}.orbit-cross{color:var(--accent);font:24px var(--mono);background:var(--bg);padding:2px 5px;line-height:1;position:absolute}.cross-top{top:8%;left:13%}.cross-bottom{bottom:9%;right:8%}.orbit-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:43%;right:-4px}.visual-tag{z-index:1;border:1px solid var(--line);background:var(--surface);color:var(--text);font:600 var(--text-small)/1.4 var(--body);letter-spacing:.4px;border-radius:5px;padding:10px 14px;position:absolute;box-shadow:0 8px 24px #00000012}.tag-location{background:var(--surface);border-color:var(--line);color:var(--text);align-items:center;gap:7px;display:flex;bottom:17%;left:-6%;transform:rotate(-5deg)}.tag-location .icon{width:13px;height:13px;color:var(--accent)}.portrait-caption{font-size:var(--text-small);align-items:flex-start;gap:12px;line-height:1.7;display:flex;position:absolute;top:104%;left:13%;right:0}.caption-line{background:var(--accent);width:22px;height:1px;margin-top:9px}.caption-sub{color:var(--muted);font-size:var(--text-small);display:block}.hero-stack{color:var(--text);font:600 var(--text-small) var(--body);flex-wrap:wrap;align-items:center;gap:22px;display:flex}.hero-stack>li+li:before{content:"/";color:var(--muted);font-family:var(--mono);font-size:var(--text-small);margin-right:22px;display:none}.scroll-link{font-size:var(--text-small);color:var(--muted);align-items:center;gap:16px;margin-left:auto;display:flex}.scroll-link:hover{color:var(--accent)}.scroll-link .icon{width:16px;height:16px}.hero-footer{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:30px;margin-top:72px;padding-block:28px;display:flex}.hero-footer>.mono{color:var(--muted);font-size:var(--text-label);letter-spacing:.08em}
.section-about{padding-block:88px}.about-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:stretch;gap:24px;display:grid}.about-detail{padding:var(--panel-padding);color:var(--muted);font-size:var(--text-body)}.about-footer{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:20px;margin-top:28px;padding-top:24px;display:flex}.about-footer>.text-link{border:1px solid var(--brand-border);background:var(--brand);max-width:100%;min-height:48px;color:var(--brand-ink);border-radius:8px;margin-top:12px;margin-left:0;padding:12px 16px;transition:background .2s}.about-footer>.text-link:hover{background:var(--brand-hover)}.profile-facts{flex-wrap:wrap;gap:24px 40px;display:flex}.profile-facts dt{font:600 var(--text-label)/1.6 var(--body);letter-spacing:.08em}.profile-facts dd{overflow-wrap:anywhere;color:var(--text);font-size:var(--text-small);margin:5px 0 0}.about-detail .text-link{color:var(--text);font-size:var(--text-small)}.about-detail .text-link:hover{color:var(--accent)}.about-detail>p+p{margin-top:18px}.about-personal{padding:var(--panel-padding)}.about-personal h3{letter-spacing:-.3px;font-size:28px}.about-personal p{color:var(--muted);font-size:var(--text-body);margin-top:12px}.about-profile,.about-personal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0}.about-card-heading{color:var(--accent);align-items:center;gap:12px;margin-bottom:20px;display:flex}.about-card-heading h3{color:var(--text);letter-spacing:-.5px;font-size:22px}.about-profile-intro{color:var(--text);font-size:1.0625rem;line-height:1.75}.about-focus{margin-top:24px}.about-focus>div{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);gap:6px;padding-block:16px;display:grid}.about-focus dt{font-size:var(--text-small);color:var(--text);font-weight:700}.about-focus dd{font-size:var(--text-body);margin:0;line-height:1.7}.about-personal .about-personal-label{color:var(--label);font-size:var(--text-label);letter-spacing:.08em;margin:0 0 16px}.about-personal-intro{max-width:none}.interest-list{margin-top:20px}.interest-list>li{border-top:1px solid var(--line);gap:16px;padding-block:16px;display:flex}.interest-icon{width:28px;height:28px;color:var(--accent);background:0 0;border:0;border-radius:10px;flex:none;place-items:center;display:grid}.interest-list h4{font-size:18px;line-height:1.4}.interest-list p{line-height:1.65;font-size:var(--text-small);margin-top:6px}html[data-theme=light] .about-card-heading>.icon{box-sizing:content-box;background:var(--brand);color:var(--brand-ink);border-radius:8px;padding:8px}html[data-theme=light] .interest-icon{background:var(--brand-tint);color:var(--brand-ink);border-radius:7px}html[data-theme=light] .interest-icon>.icon{width:20px;height:20px}
.current-role{padding-bottom:28px}.current-role-heading{padding:28px var(--panel-padding)}.work-card.current-role h3{max-width:none}.current-role-meta{color:var(--muted);font-size:var(--text-small);margin-top:12px}.role-dates{font:500 var(--text-small)/1.7 var(--body);color:var(--muted)}.current-role .work-card-top{flex-wrap:wrap;gap:15px}.responsibilities{padding:28px var(--panel-padding) 0;border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px;display:grid}.responsibilities h4{font-size:21px;font-weight:600}.responsibilities p{font-size:var(--text-body);color:var(--muted);margin-top:10px;line-height:1.75}.current-role-stack{margin-inline:var(--panel-padding)}.career-row .experience-description{max-width:none}.career-row .tags{margin-top:15px}.experience-name .role-dates{margin-top:12px}.work-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);overflow:hidden}.work-card-top{padding:16px var(--panel-padding);color:var(--label);background:var(--surface-subtle);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.work-card-top .mono{font-size:var(--text-label);letter-spacing:.08em}.work-company{font:700 var(--text-body)/1.5 var(--body);color:var(--label);margin-bottom:10px}.work-card h3{letter-spacing:-.9px;max-width:360px;font-size:29px;line-height:1.15}.tags{flex-wrap:wrap;gap:7px;margin-top:23px;display:flex}.tags>li{font:500 var(--text-label)/1.5 var(--mono);letter-spacing:.1px;border:1px solid var(--line);color:var(--muted);background:var(--surface-subtle);border-radius:3px;padding:5px 9px}.experience-list{gap:16px;margin-top:24px;display:grid}.experience-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:0}.experience-summary{padding:24px var(--panel-padding);border-radius:var(--radius);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;list-style:none;transition:background .2s;display:grid}.experience-summary::-webkit-details-marker{display:none}.experience-summary::marker{content:""}.experience-summary:hover{background:color-mix(in srgb, var(--brand) 9%, var(--surface))}.experience-row[open]>.experience-summary{border-radius:var(--radius) var(--radius) 0 0}.experience-disclosure{background:var(--surface-subtle);width:44px;height:44px;color:var(--accent);border-radius:8px;place-items:center;display:grid}.experience-disclosure .icon{width:22px;height:22px;transition:transform .2s}.experience-row[open]:not([data-expanded=false]) .experience-disclosure .icon{transform:rotate(180deg)}html[data-theme=light] .experience-disclosure{background:var(--brand);color:var(--brand-ink)}.experience-name h3{letter-spacing:-.4px;font-size:22px;font-weight:600}.experience-name>p{font-size:var(--text-small);color:var(--muted);margin-top:5px}.experience-description{color:var(--muted);font-size:var(--text-body);max-width:440px;padding:24px var(--panel-padding);border-top:1px solid var(--line);line-height:1.75}.experience-type{font:600 var(--text-small)/1.5 var(--body);color:var(--label);text-align:left;margin-top:10px;display:inline-block}.experience-meta{flex-wrap:wrap;align-items:center;gap:8px 24px;margin-bottom:16px;display:flex}.experience-meta .experience-type{margin-top:0}.section-work{border-top:1px solid var(--line)}html[data-theme=light] .work-card-top{background:var(--brand-tint)}html[data-theme=light] .work-card-top .mono{align-items:center;gap:8px;display:inline-flex}html[data-theme=light] .work-card-top .mono:before{content:"";background:var(--brand);width:7px;height:7px;box-shadow:0 0 0 1px var(--brand-border);border-radius:50%}html[data-theme=light] .tags>li{background:var(--brand-tint);border-color:color-mix(in srgb, var(--brand-border) 45%, var(--line));color:var(--brand-ink)}
html[data-theme=light] .section-expertise{background:var(--surface-subtle)}.section-expertise{background:var(--surface);border-block:1px solid var(--line)}.expertise-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px;display:grid}.expertise-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:center;flex-direction:column;align-items:center;min-width:0;padding:32px 26px 28px;transition:transform .25s,border-color .25s;display:flex;position:relative}html[data-theme=light] .expertise-item:before{content:"";background:var(--brand);border-radius:0 0 4px 4px;width:48px;height:3px;position:absolute;top:0;left:calc(50% - 24px)}.expertise-icon{color:var(--action-text);width:30px;height:30px;margin:0}.expertise-item h3{font-size:24px;font-weight:600}.expertise-item>p{color:var(--muted);font-size:var(--text-body);margin-block:18px 24px;line-height:1.75}.expertise-item .tags{justify-content:center;gap:6px;margin-top:auto}.expertise-item .tags>li{font-size:var(--text-label);padding:5px 7px}.education-block{border-top:1px solid var(--line);border-color:var(--line);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;margin-top:64px;padding-top:46px;display:grid}.education-block .section-label{font-size:var(--text-small);margin-bottom:19px}.education-block h3{font-size:28px;line-height:1.25}.degree-row{flex-wrap:wrap;align-items:start;gap:17px;padding-block:0 21px;display:flex}.degree-row>.icon{color:var(--accent);margin-top:2px}.degree-row h4{font-size:17px}.degree-row p{color:var(--muted);font-size:var(--text-small);margin-top:7px}.degree-row>.mono{white-space:nowrap;font-size:var(--text-small);color:var(--muted);margin-left:auto;padding-top:3px}.training-details{border-top:1px solid var(--line);border-color:var(--line)}.training-details summary{font-size:var(--text-small);cursor:pointer;justify-content:space-between;align-items:center;gap:15px;padding-block:17px;list-style:none;display:flex}.training-details summary::-webkit-details-marker{display:none}.training-details summary:hover{color:var(--accent)}.training-details summary .icon{width:17px;height:17px;transition:transform .2s}.training-details[open] summary .icon{transform:rotate(45deg)}.training-details li{border-top:1px solid var(--line);color:var(--text);font-size:var(--text-small);justify-content:space-between;gap:20px;padding-block:12px;display:flex}.training-details li>span+span{white-space:nowrap;color:var(--muted);font:var(--text-small)/1.8 var(--mono)}.expertise-icon-wrap{background:var(--action-bg);width:56px;height:56px;box-shadow:none;border-radius:8px;flex:none;place-items:center;margin:0 0 24px;display:grid}
.section-contact{padding-block:96px 48px}.contact-panel{background:var(--contact-bg);color:#1c2514;border-radius:8px;padding:48px 54px 49px;position:relative}.contact-panel .section-label>span:first-child{color:#48602c}.contact-panel .section-label{color:#2f421f;font-size:var(--text-small);margin-bottom:29px}.contact-heading{justify-content:space-between;gap:30px;display:flex}.contact-heading h2{letter-spacing:-3px;font-size:clamp(40px,5.6vw,75px);line-height:1.04}.contact-arrow{stroke-width:.9px;width:99px;height:99px;margin-top:2px}.contact-description{max-width:430px;font-size:var(--text-body);color:#2f421f;margin-top:23px;line-height:1.8}.contact-bottom{border-top:1px solid var(--brand-border);justify-content:space-between;align-items:center;gap:30px;margin-top:30px;padding-top:30px;display:flex}.email-group{align-items:center;gap:14px;min-width:0;display:flex}.email-link{font:500 clamp(17px, 2.4vw, 30px)/1.4 var(--heading);letter-spacing:-.7px;overflow-wrap:anywhere;text-underline-offset:6px}.email-link:hover{text-decoration:underline}.copy-email{border:1px solid var(--brand-border);background:0 0;border-radius:4px;flex:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:10px;display:none}.js .copy-email{display:flex}.copy-email:hover{background:#1c251414}.copy-email>.icon{width:17px;height:17px}.contact-socials{gap:22px;display:flex}.contact-socials a{font-size:var(--text-small);align-items:center;gap:6px;min-height:44px;font-weight:700;display:inline-flex}.contact-socials a:hover{text-underline-offset:4px;text-decoration:underline}html[data-theme=light] .contact-panel{background:linear-gradient(125deg, var(--contact-bg) 20%, #accc70 100%)}html[data-theme=light] .contact-socials{flex-wrap:wrap;gap:12px}html[data-theme=light] .contact-socials a,html[data-theme=light] .copy-email{border:1px solid var(--brand-border);background:var(--cta-bg);color:var(--cta-text);border-radius:6px;transition:background .2s}html[data-theme=light] .contact-socials a{padding:10px 14px}html[data-theme=light] .contact-socials a:hover,html[data-theme=light] .copy-email:hover{background:var(--cta-hover)}.contact-panel :focus-visible{outline-color:#1c2514}.copy-status{min-height:1.8em;font-size:var(--text-small);margin-top:14px}.site-footer{align-items:center;gap:24px;padding-block:0 32px;display:flex}.footer-brand{font:500 33px/1 var(--heading);letter-spacing:-2.5px}.site-footer p{color:var(--muted);font-size:var(--text-small)}.footer-separator{color:var(--muted);margin-inline:13px}.back-to-top{font-size:var(--text-small);align-items:center;gap:10px;margin-left:auto;display:flex}.back-to-top:hover{color:var(--accent)}
@media (hover:hover){.portrait{transition:transform .7s cubic-bezier(.16,1,.3,1),filter .7s}.hero-visual:hover .portrait{filter:saturate(.85);transform:scale(1.035)}.expertise-item:hover{border-color:var(--accent);transform:translateY(-4px)}}@media (min-width:1600px){.hero-inner{padding-top:100px}.hero-footer{margin-top:100px}}@media (max-width:1150px){.header-inner{gap:18px;min-height:88px}.main-nav{gap:18px}.header-tools{gap:10px}.hero-inner{gap:32px;padding-top:64px}.hero h1{font-size:clamp(72px,9.5vw,106px)}.hero-visual{max-width:350px}.hero-footer{gap:22px;margin-top:80px}.hero-stack{gap:16px}.scroll-link{display:none}.expertise-grid{gap:18px}.expertise-item{padding-inline:22px}.education-block{gap:36px}.contact-panel{padding-inline:36px}}@media (max-width:800px){html{scroll-padding-top:95px}.header-inner{flex-wrap:nowrap;gap:8px;min-height:76px}.brand{flex-shrink:0;order:1;gap:8px}.brand-name{font-size:13px}.brand-role{display:none}.brand-mark{border-radius:9px;width:38px;height:38px;font-size:25px}.header-tools{order:2;gap:6px;margin-left:auto}.language-switch{gap:2px;font-size:12px}.language-switch button{min-width:28px;padding:3px}.menu-toggle{flex-shrink:0;order:3}.main-nav{flex-wrap:wrap;justify-content:space-between;gap:12px;width:100%;padding-bottom:16px}.js .main-nav{padding:16px var(--gutter);background:var(--surface);border-bottom:1px solid var(--line);overscroll-behavior:contain;max-height:calc(100svh - 76px);margin:0;display:none;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 20px 24px #00000018}.js .main-nav.is-open{flex-direction:column;align-items:stretch;gap:4px;display:flex}.main-nav>a{font-size:var(--text-body);padding:12px 4px}.main-nav>a[aria-current]:after{width:5px;height:5px;bottom:50%;left:auto;right:8px}.main-nav>.nav-contact{justify-content:space-between;align-items:center}.js .menu-toggle{display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px)rotate(-45deg)}.hero-inner{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px}.hero h1{font-size:clamp(64px,10.5vw,84px)}.hero-role{font-size:23px}.hero-visual{max-width:300px}.section,.section-about{padding-block:64px}.section-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:32px}.section-aside{max-width:560px}h2{font-size:clamp(34px,5.5vw,44px)}.about-grid,.responsibilities{grid-template-columns:minmax(0,1fr)}.experience-type{justify-self:start}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.education-block{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:48px}.contact-heading h2{font-size:clamp(40px,7vw,60px)}.contact-arrow{width:64px;height:64px}.contact-bottom{flex-direction:column;align-items:flex-start;gap:16px}.email-group{justify-content:space-between;width:100%}.email-link{font-size:clamp(18px,3.5vw,28px)}}@media (max-width:580px){:root{--gutter:20px;--panel-padding:20px}html[data-theme=dark] .hero:after{filter:blur(28px);width:140%;height:65%;top:20%;left:-20%}.hero-inner{grid-template-columns:minmax(0,1fr);gap:0;padding-top:32px}.hero h1{font-size:clamp(64px,17.5vw,96px)}.hero-role{margin-top:18px;font-size:22px}.hero-eyebrow{margin-bottom:20px}.hero-description{font-size:var(--text-body);margin-top:14px}.hero-actions{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px;margin-top:24px;display:grid}.hero-actions>a,html[data-theme=light] .hero-actions>.text-link{justify-content:center;gap:8px;height:100%;min-height:48px;padding:10px;display:inline-flex}.hero-actions>.text-link{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px}.hero-actions .text-link>.small-icon{display:none}.hero-visual{width:min(72vw,240px);margin-top:32px}.tag-location{left:0}.portrait-caption{font-size:var(--text-small);width:calc(100vw - var(--gutter) * 2);text-align:center;justify-content:center;max-width:350px;left:50%;right:auto;transform:translate(-50%)}.portrait-caption .caption-line{display:none}.hero-footer{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:14px;margin-top:76px;padding:18px}.hero-stack{width:100%;font:600 var(--text-small)/1.5 var(--body);gap:8px}.hero-stack>li{border:1px solid var(--line);background:var(--surface-subtle);min-height:34px;color:var(--text);border-radius:6px;align-items:center;padding:6px 10px;display:inline-flex}html[data-theme=light] .hero-stack>li{background:var(--brand-tint);color:var(--brand-ink)}.hero-footer>.mono{width:100%;font:600 var(--text-small)/1.5 var(--body);letter-spacing:0;text-transform:lowercase}.hero-footer>.mono:first-letter{text-transform:uppercase}.section,.section-about{padding-block:56px}h2{font-size:clamp(32px,8.5vw,42px)}.section-label{margin-bottom:18px}.about-card-heading h3{font-size:21px}.about-personal h3{font-size:26px}.about-profile-intro{font-size:var(--text-body)}.profile-facts{flex-wrap:wrap;gap:18px}.about-footer{flex-direction:column;align-items:flex-start;gap:20px}.about-footer>.text-link{justify-content:center;width:100%;margin-left:0}.current-role-heading{padding:24px var(--panel-padding)}.work-card h3{font-size:26px}.experience-summary{gap:12px;padding-block:20px}.experience-name h3{font-size:21px}.work-card-top{padding:14px var(--panel-padding)}.responsibilities{gap:24px;padding-top:24px}.expertise-grid{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:28px}.expertise-item{padding:28px 22px}.expertise-item h3{font-size:23px}.education-block h3{font-size:26px}.degree-row{gap:12px}.degree-row>.mono{width:100%;margin-left:36px}.training-details li{flex-wrap:wrap;gap:4px 16px}.section-contact{padding-block:48px 32px}.contact-panel{padding:28px 22px}.contact-heading{gap:12px}.contact-heading h2{letter-spacing:-.035em;font-size:clamp(32px,8vw,44px)}.contact-arrow{width:40px;height:40px}.contact-description{margin-top:20px}.email-group{gap:8px}.email-link{letter-spacing:-.025em;font-size:clamp(15px,4.2vw,23px)}.copy-email{min-width:44px}.contact-socials,html[data-theme=light] .contact-socials{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;display:grid}.contact-socials a{border:1px solid var(--brand-border);border-radius:6px;justify-content:center;padding:10px}.site-footer{grid-template-columns:1fr auto;gap:16px;padding-bottom:24px;display:grid}.site-footer>p{grid-area:2/1/auto/-1}.back-to-top{grid-area:1/2}}@media (max-width:360px){.brand-name{display:none}}
.typed-role{display:none}.is-typing .typed-role{display:block}.typed-role:after{content:"";vertical-align:-.08em;background:var(--accent);width:2px;height:.95em;margin-left:4px;animation:.8s step-end infinite typing-cursor;display:inline-block}@keyframes typing-cursor{50%{opacity:0}}@keyframes reading-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] .site-header:after{display:none}html[data-motion=off] *,html[data-motion=off] :before,html[data-motion=off] :after{transition:none!important;animation:none!important}html[data-motion=off] .is-typing .role-text{opacity:1}html[data-motion=off] .is-typing .typed-role{display:none}html[data-motion=on] .portrait-wrap{animation:1.2s cubic-bezier(.16,1,.3,1) both portrait-settle}html[data-motion=on] [data-entry=done]{animation:.7s cubic-bezier(.16,1,.3,1) backwards enter-once;animation-delay:var(--entry-delay,0s)}@keyframes enter-once{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html:not([data-motion=on]) *,html:not([data-motion=on]) :before,html:not([data-motion=on]) :after{transition:none!important;animation:none!important}}@keyframes portrait-settle{0%{opacity:0;translate:0 16px}to{opacity:1;translate:0}}

