:root{--bg:#e2eae5;--bg-2:#d0ded5;--surface:#d0ded5;--surface-2:#bfcec5;--text:#123e3b;--text-dim:#123e3b;--text-faint:#2f574f;--accent:#123e3b;--deep:#123e3b;--inverse:#e2eae5;--deep-muted:#bfd4c9;--highlight:#91b8a4;--font-display:"Hanken Grotesk", sans-serif;--font-serif:"Hanken Grotesk", sans-serif;--font-sans:"Hanken Grotesk", sans-serif;--maxw:1440px;--gutter:clamp(20px, 2.25vw, 32px);--radius:0;--radius-sm:0;--small:14px;--body:18px;--lead:clamp(21px, 2vw, 28px);--heading:clamp(34px, 4.4vw, 64px);--ease-out:cubic-bezier(.22,1,.36,1);color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:24px}body{background:var(--bg);color:var(--text);font:400 var(--body)/1.5 var(--font-sans);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,summary{cursor:pointer}button{color:inherit}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--text);outline-offset:5px}::selection{background:var(--text);color:var(--bg)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.045em;text-wrap:balance;font-weight:500;line-height:1}h2{font-size:var(--heading)}h3{font-size:var(--lead);letter-spacing:-.025em;line-height:1.1}p{text-wrap:pretty}.container{max-width:var(--maxw);padding-inline:var(--gutter);width:100%;margin-inline:auto}section{padding-block:clamp(72px,9vw,140px);scroll-margin-top:24px}.section-head{max-width:800px;margin-bottom:48px}.section-head p{max-width:62ch;margin-top:24px}.btn{min-height:52px;font-size:var(--body);cursor:pointer;transition:transform .15s var(--ease-out), background-color .18s ease, color .18s ease;border:0;border-radius:0;justify-content:center;align-items:center;gap:32px;padding:14px 24px;font-weight:500;display:inline-flex}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{background:#0b302e}.btn-ghost{background:var(--surface);color:var(--text)}.btn-ghost:hover{background:var(--surface-2)}.btn:active,button:active{transform:scale(.97)}.text-link{text-underline-offset:5px;align-items:center;min-height:44px;text-decoration:underline 1px;transition:opacity .18s;display:inline-flex}.text-link:hover{text-decoration-thickness:2px}.reveal{opacity:1}@keyframes settle{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes arrive{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.reveal.is-visible{animation:settle .8s var(--ease-out) both;animation-delay:var(--reveal-delay,0s)}.work-title.is-visible,.career-item.is-visible{animation-name:arrive}.hero-intro .reveal:nth-child(2){animation-delay:80ms}.hero-description.is-visible{animation-delay:.12s}@supports (animation-timeline:view()){.work-image-wrap img{animation:linear both image-drift view();animation-range:entry exit}@keyframes image-drift{0%{transform:scale(1.035)translateY(-1%)}to{transform:scale(1.035)translateY(1%)}}}}.hero{padding-top:20px;padding-bottom:104px}.hero-intro{justify-content:space-between;align-items:start;gap:24px;margin-bottom:32px;display:flex}.hero-person{font-size:var(--body);font-weight:500}.hero-person span{color:var(--text-faint);font-weight:400;display:block}.hero-specialty{font-size:var(--body)}.hero h1{max-width:20ch;margin:24px 0;font-size:clamp(46px,7vw,104px)}.hero-dossier{background:var(--surface);grid-template-columns:5fr 7fr;gap:32px;padding:24px;display:grid}.hero-note{flex-direction:column;align-items:flex-start;padding:14px 24px 0 0;display:flex}.hero-description{font-size:var(--lead);max-width:27ch;margin-bottom:32px;line-height:1.35}.hero-note .text-link{margin-top:12px}.hero-person .hero-years{display:inline}.hero-art{background:url(/illustrations/hero-systems.svg) 0 100%/contain no-repeat;flex:1 0 clamp(220px,21vw,320px);align-self:stretch;margin:28px -24px -24px}.hero-areas ol{flex:1}.hero-areas li{flex:1;display:flex}.hero-areas li>.hero-area{flex:1}.hero-areas{flex-direction:column;min-width:0;display:flex}.hero-areas-label{font-size:var(--small);color:var(--text-faint);margin:14px 0 16px}.hero-areas ol{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hero-area{background:var(--bg);grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:16px;min-height:88px;padding:18px 24px;transition:background-color .18s;display:grid}.hero-area:hover{background:var(--surface-2)}.hero-area-index{font-size:var(--small);color:var(--text-faint);font-variant-numeric:tabular-nums}.hero-area-text{flex-direction:column;gap:4px;min-width:0;display:flex}.hero-area-title{font-size:clamp(19px,1.6vw,23px);font-weight:500;line-height:1.25}.hero-area-proof{color:var(--text-faint);font-size:15px;line-height:1.4}.hero-area>.icon:last-child{transition:transform .22s var(--ease-out)}.hero-area:hover>.icon:last-child{transform:translate(3px,-3px)}.technology-marquee{background:var(--deep);color:var(--inverse);padding-block:22px;overflow:hidden}.technology-marquee-layout{grid-template-columns:minmax(180px,220px) minmax(0,1fr) auto;align-items:center;gap:28px;display:grid}.technology-marquee h2{letter-spacing:-.01em;font-size:16px;line-height:1.25}.technology-marquee-window{min-width:0}.technology-marquee-track,.technology-marquee-group{align-items:center;display:flex}.technology-marquee-group{flex-wrap:wrap;gap:8px 0;padding:0;list-style:none}.technology-marquee-group[aria-hidden]{display:none}.technology-marquee-group li{white-space:nowrap;align-items:center;gap:24px;padding-right:24px;font-size:20px;font-weight:500;display:inline-flex}.technology-marquee-group li:after{content:"";background:var(--highlight);flex:none;width:4px;height:4px}.technology-marquee-toggle{min-height:44px;color:var(--deep-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:8px 0 8px 12px;font-size:14px}.technology-marquee-toggle:hover{color:var(--inverse);text-underline-offset:4px;text-decoration:underline}.technology-marquee :focus-visible{outline-color:var(--inverse)}.technology-marquee[data-enhanced=true] .technology-marquee-window{overflow:hidden}.technology-marquee[data-enhanced=true] .technology-marquee-track{width:max-content;animation:55s linear infinite technology-drift}.technology-marquee[data-enhanced=true] .technology-marquee-group{flex-wrap:nowrap;flex:none;gap:0}.technology-marquee[data-enhanced=true] .technology-marquee-group[aria-hidden]{display:flex}.technology-marquee[data-running=false] .technology-marquee-track{animation-play-state:paused}@keyframes technology-drift{to{transform:translate(-50%)}}@media (width<=760px){.technology-marquee-layout{grid-template-columns:minmax(0,1fr) auto;gap:12px 20px}.technology-marquee-window{grid-area:2/1/auto/-1}.technology-marquee-toggle{grid-area:1/2}}@media (width<=650px){.technology-marquee{padding-block:20px}.technology-marquee-group li{gap:18px;padding-right:18px;font-size:18px}}.project-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px;display:flex}.project-heading p{max-width:36ch}.project-controls{justify-content:space-between;align-items:center;gap:24px;margin-bottom:56px;display:flex}.filters{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface);min-height:44px;transition:color .18s ease, background-color .18s ease, transform .18s var(--ease-out);border:0;border-radius:0;padding:10px 18px;font-size:16px}.chip[aria-pressed=true]{background:var(--text);color:var(--bg)}.chip:hover{background:var(--surface-2);color:var(--text)}.project-count{font-size:var(--small);color:var(--text-faint)}.work-dossier{grid-template-columns:1fr 2fr;align-items:start;gap:64px;display:grid}.work-spine{top:calc(var(--header-offset,0px) + 40px);transition:top .42s var(--ease-out);max-width:30ch;position:sticky}.work-spine p:first-child{font-size:var(--lead);margin-bottom:24px}.work-spine p:nth-child(2){margin-bottom:24px}.work-entry{padding-bottom:72px;scroll-margin-top:24px}.work-image-wrap{background:var(--surface);overflow:hidden}.work-image-wrap img{aspect-ratio:1.55;object-fit:cover;object-position:top;width:100%}.work-title{justify-content:space-between;align-items:baseline;gap:20px;margin-top:24px;display:flex}.work-title h3{font-size:clamp(28px,3vw,42px)}.work-title>span{font-size:var(--small);color:var(--text-faint)}.work-description{max-width:62ch;margin:20px 0}summary{justify-content:space-between;align-items:center;gap:20px;min-height:52px;font-size:16px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}details:not([open])>div,details:not([open])>.engineering-detail{display:none}summary>span[aria-hidden]{font-size:var(--body);transition:transform .18s}details[open]>summary>span[aria-hidden]{transform:rotate(45deg)}summary:hover{color:#0b302e;text-underline-offset:5px;text-decoration:underline}.work-detail{background:var(--surface);padding:20px}.work-detail p+p{margin-top:16px}.work-visit{margin-top:8px;font-size:16px}.engineering-heading{margin:48px 0 32px}.engineering-heading>p{margin-top:24px}.engineering-browser{background:var(--surface)}.engineering-controls{padding:32px 32px 0}.engineering-picker{justify-content:space-between;align-items:end;gap:32px;margin-top:28px;display:flex}.project-select-field{width:min(100%,520px)}.project-select-field label{margin-bottom:10px;font-size:14px;display:block}.project-select-field select{background:var(--bg);width:100%;min-height:52px;color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:0;padding:12px 16px;display:block}.project-pager{align-items:center;gap:16px;display:flex}.project-pager button{background:var(--bg);border:0;justify-content:center;align-items:center;width:48px;height:48px;transition:background-color .18s,transform .18s;display:inline-flex}.project-pager button:hover{background:var(--text);color:var(--bg)}.project-pager button:disabled{opacity:.45;cursor:default}.project-position{font-variant-numeric:tabular-nums;text-align:center;min-width:52px;font-size:14px}.engineering-entry{padding:14px 32px;scroll-margin-top:30px}.engineering-title{font-size:var(--lead);flex:1;max-width:36ch}.engineering-type{font-size:14px}.engineering-detail{gap:24px;margin:24px 0;display:grid}.engineering-detail p+p{margin-top:20px}.engineering-detail img{width:100%;max-width:680px;margin-block:24px}.engineering-detail ul{margin-top:24px;padding-left:0;list-style:none}.engineering-detail li+li{margin-top:8px}.engineering-meta{max-width:38ch}.engineering-meta>p,.project-full-name{font-size:16px}.project-role-label{color:var(--text-faint);align-items:center;gap:8px;font-size:14px;display:flex}.project-year{align-items:center;gap:8px;display:flex}.engineering-main{max-width:68ch}.work-stack{margin-top:28px;font-size:16px;line-height:1.8}.work-stack .project-role-label{margin-bottom:8px}.confidential{color:var(--text-faint);font-size:14px}.confidential .icon{vertical-align:-.2em;margin-right:8px}[data-enhanced] .engineering-entry{padding-top:32px;padding-bottom:32px}[data-enhanced] .engineering-title{font-size:clamp(28px,3vw,42px)}[data-enhanced] .engineering-detail{grid-template-columns:1fr 1.6fr;gap:56px;padding-top:8px;display:grid}[data-enhanced] .engineering-detail[hidden]{display:none}.ai{background:var(--text);color:var(--bg)}.ai-layout{grid-template-columns:1fr 1fr;gap:64px;display:grid}.ai-layout h2{max-width:12ch}.ai-copy>p{font-size:var(--lead);margin-bottom:36px}.ai-copy ul{flex-wrap:wrap;gap:8px 24px;padding:0;list-style:none;display:flex}.ai-copy li{padding-block:8px;font-size:16px}.ai .text-link{margin-top:32px}.ai :focus-visible{outline-color:var(--bg)}.service-grid{background:var(--surface);flex-direction:column;gap:8px;padding:8px 0;display:flex}.service-card{background:0 0;grid-template-columns:1fr 1.3fr auto;align-items:start;gap:32px;padding:24px;transition:background-color .18s;display:grid}.service-card:hover{background:var(--surface-2)}.service-card h3{font-size:var(--lead)}.service-link{text-underline-offset:4px;align-items:center;min-height:44px;font-size:16px;text-decoration:underline;display:inline-flex}.about-grid{grid-template-columns:1.5fr 1fr;align-items:start;gap:80px;display:grid}.about-main h2{margin-bottom:32px}.about-main p{max-width:60ch}.about-main .lead{font-size:var(--lead);margin-bottom:24px}.about-facts{background:var(--surface);flex-direction:column;gap:32px;padding:32px;display:flex}.about-photo{object-fit:cover;background:var(--surface-2);width:208px;height:208px;display:block}.fact-label{color:var(--text-faint);font-size:var(--small);margin-bottom:8px;display:block}.fact-value{font-size:var(--body)}.timeline{padding:0;list-style:none}.t-note{max-width:70ch;color:var(--text-faint);margin-top:40px;font-size:16px}.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px clamp(24px,3vw,48px);display:grid}.skill-card{border-top:2px solid var(--text);flex-direction:column;gap:20px;padding-top:20px;display:flex}.skill-card h3{font-size:var(--body);font-weight:500}.skill-card ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.skill-card li{background:var(--bg);padding:6px 12px;font-size:16px;line-height:1.4}.contact{background:var(--surface)}.contact-inner{grid-template-columns:1fr 1fr;gap:32px 64px;display:grid}.contact h2{grid-row:span 2}.contact-sub{max-width:46ch}.contact-actions{flex-wrap:wrap;gap:12px;display:flex}.footer{background:var(--deep);color:var(--inverse);padding:clamp(48px,6vw,80px) 0 20px}.footer :focus-visible{outline-color:var(--inverse)}.footer-main{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,56px);display:grid}.footer-brand{min-width:0}.footer-name{width:min(280px,100%);display:inline-block}.footer-name img{width:100%;height:auto}.footer-person{letter-spacing:-.025em;margin-top:20px;font-size:24px;line-height:1.2}.footer-role{color:var(--deep-muted);margin-top:8px;font-size:16px}.footer-email{align-items:center;gap:12px;max-width:100%;min-height:48px;margin-top:8px;font-size:16px;display:inline-flex}.footer-email span{overflow-wrap:anywhere}.footer-email>.icon{flex-shrink:0}.footer-label{color:var(--deep-muted);margin-bottom:12px;font-size:14px}.footer-links{flex-direction:column;align-items:flex-start;display:flex}.footer-links a{align-items:center;gap:12px;min-height:44px;font-size:16px;display:inline-flex}.footer-links a>.icon:last-child{margin-left:8px}.footer-links a>.icon:last-child,.footer-email>.icon:last-child,.footer-top>.icon{transition:transform .22s var(--ease-out)}.footer a:hover{text-underline-offset:5px;text-decoration:underline}.footer a:hover>.icon:last-child{transform:translate(3px,-3px)}.footer-bottom{border-top:1px solid #dcede538;justify-content:space-between;align-items:center;gap:20px;margin-top:48px;padding-top:16px;display:flex}.footer-meta{color:var(--deep-muted);font-size:14px}.footer-credits{flex-wrap:wrap;gap:4px 24px;display:flex}.footer-legal{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.footer-legal :is(a,button){min-height:44px;color:var(--deep-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:14px;display:inline-flex}.footer-legal :is(a,button):hover{color:var(--inverse);text-underline-offset:4px;text-decoration:underline}.footer-top{flex-shrink:0;align-items:center;gap:12px;min-height:44px;font-size:14px;display:inline-flex}@media (width<=1100px){.footer-main{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 32px}.footer-brand{grid-column:1/-1}}@media (width<=650px){.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.footer-legal{border-top:1px solid #dcede538;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;padding-top:20px;display:grid}.footer-legal .footer-label{grid-column:1/-1}.footer-bottom{margin-top:28px}}@media (width<=480px){.footer-bottom{flex-direction:column-reverse;align-items:flex-start;gap:8px}.footer-meta{max-width:32ch}}@media (width<=1000px){.hero h1{margin-block:20px}.hero-dossier{grid-template-columns:1fr 1.3fr;gap:24px;padding:24px}.hero-note{padding-right:0}.work-dossier{grid-template-columns:1fr 2fr;gap:32px}.service-card{grid-template-columns:1fr 1fr}.service-link{grid-column:2}.about-grid{gap:40px}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}}@media (width<=650px){:root{--body:16px;--lead:22px;--heading:clamp(42px, 11.5vw, 70px)}.hero{padding-top:24px;padding-bottom:56px}.hero-intro{display:block}.hero-specialty{margin-top:16px;font-size:14px}.hero h1{margin-block:28px;font-size:clamp(42px,11.5vw,70px)}.hero-dossier{grid-template-columns:1fr;gap:28px;margin-inline:-20px;padding:20px}.hero-description{max-width:30ch;margin-bottom:24px}.hero-note{display:block}.hero-note .text-link{margin:0 0 0 20px}.hero-art{display:none}.hero-areas-label{margin-top:0}.hero-area{grid-template-columns:auto minmax(0,1fr) auto;gap:14px;min-height:0;padding:16px}.hero-area-index{display:none}.project-heading{display:block}.project-heading p{margin-top:24px}.project-controls{margin-bottom:36px;display:block}.filters{gap:4px}.chip{padding-inline:12px;font-size:14px}.project-count{margin-top:16px}.work-dossier{grid-template-columns:1fr;gap:28px}.work-spine{max-width:100%;position:static}.work-spine p:first-child{margin-bottom:12px}.work-entry{padding-bottom:48px}.work-title h3{font-size:var(--lead)}.ai-layout,.about-grid,.skill-grid,.contact-inner{grid-template-columns:1fr;gap:32px}.ai-layout h2{max-width:100%}.service-card{grid-template-columns:1fr;gap:20px;padding:24px}.service-link{grid-column:auto}.contact h2{grid-row:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.career-item{background:0 0;margin-bottom:8px;padding:8px 24px;list-style:none}.career-summary{grid-template-columns:1fr 2fr 28px;gap:32px;padding-block:16px;display:grid}.career-period{color:var(--text-faint);font-size:16px}.career-position>span{display:block}.career-position>span:first-child{font-size:22px;line-height:1.3}.career-company{margin-top:8px;font-size:16px}.career-detail{grid-template-columns:1fr 2fr 28px;gap:32px;padding:16px 0 24px;display:grid}.career-detail ul{grid-column:2;padding-left:20px}.career-detail li+li{margin-top:12px}@media (width<=650px){.career-item{padding-inline:20px}.career-summary{grid-template-columns:1fr 28px;gap:16px}.career-period,.career-position{grid-column:1}.career-summary>span[aria-hidden]{grid-area:1/2/3}.career-detail{display:block}.career-position>span:first-child{font-size:var(--body);font-weight:500}.ai-copy>p{font-size:16px}}.experience{background:var(--deep);color:var(--inverse)}.skills{background:var(--surface-2)}.icon{vertical-align:-.15em;flex:none;display:inline-block}.btn .icon,.text-link .icon,.service-link .icon{transition:transform .24s var(--ease-out)}.text-link{gap:10px}.contact-actions{align-items:center;gap:16px 24px}.contact-actions .text-link{text-decoration:none}.contact-actions .icon{width:22px;height:22px}.fact-label,.skill-card h3,.service-card h3{align-items:flex-start;gap:12px;display:flex}.fact-label{align-items:center}.service-link{gap:8px}.chip{align-items:center;gap:8px;display:inline-flex}.detail-toggle{transition:transform .22s var(--ease-out)}details[open]>summary .detail-toggle{transform:rotate(45deg)}.experience .section-head{margin-bottom:56px}.experience .timeline{padding-left:32px;position:relative}.experience .timeline:before{content:"";background:var(--highlight);width:3px;position:absolute;top:32px;bottom:44px;left:6px}.experience .career-item{padding-left:24px;position:relative}.experience .career-item:before{content:"";background:var(--inverse);border-radius:50%;width:13px;height:13px;position:absolute;top:32px;left:-31px}.experience .career-period{color:var(--inverse);font-size:var(--body);font-variant-numeric:tabular-nums;font-weight:500}.experience .career-company,.experience .t-note{color:var(--deep-muted)}.experience .career-summary,.experience .career-detail{grid-template-columns:240px 1fr 24px}.experience summary{padding-inline:12px;transition:background-color .2s}.experience summary:hover{color:var(--inverse);background:#1b4e47;text-decoration:none}.experience :focus-visible{outline-color:var(--inverse)}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.btn:hover .icon,.service-card:hover .service-link .icon,.work-visit:hover .icon{transform:translate(3px,-3px)}.contact-actions .text-link:hover .icon{transform:translateY(-3px)}.contact-actions .text-link:hover{text-underline-offset:5px;text-decoration:underline}.chip:hover{transform:translateY(-2px)}}@media (prefers-reduced-motion:no-preference){.work-image-wrap.is-visible{animation:image-arrive 1s var(--ease-out) both}@keyframes image-arrive{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:none}}.hero h1.is-visible{animation-duration:1s}.service-card.is-visible{animation-delay:var(--reveal-delay,0s)}}@media (width<=850px){.experience .career-summary,.experience .career-detail{grid-template-columns:160px 1fr 24px;gap:20px}[data-enhanced] .engineering-detail{grid-template-columns:1fr;gap:32px}.engineering-picker{gap:20px}}@media (width<=650px){.engineering-controls{padding:24px 20px 0}.engineering-picker{flex-wrap:wrap;align-items:center}.project-select-field{width:100%}.project-pager{margin-left:auto}.engineering-entry,[data-enhanced] .engineering-entry{padding:24px 20px}.engineering-title,[data-enhanced] .engineering-title{font-size:22px}.engineering-type{display:none}.engineering-heading{margin-top:16px}.experience .timeline{padding-left:20px}.experience .timeline:before{width:3px;left:0}.experience .career-item{padding-left:16px;padding-right:0}.experience .career-item:before{left:-25px}.experience .career-summary{grid-template-columns:1fr 20px;gap:12px;padding-left:8px}.experience .career-period{font-size:var(--body)}.experience .career-position>span:first-child{font-size:16px}.experience .career-detail{padding-left:8px;display:block}.experience .career-company{font-size:14px}.service-card h3 .icon{margin-top:2px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.chip[aria-pressed=true]:hover{background:var(--accent);color:var(--bg)}.career-summary>span[aria-hidden]{transition:transform .32s var(--ease-out);transform-origin:50%}.career-item details[data-expanded=false]>.career-summary>span[aria-hidden]{transform:rotate(0)}.career-item details[data-expanded=true]>.career-summary>span[aria-hidden]{transform:rotate(45deg)}@media (prefers-reduced-motion:no-preference){.experience .career-item.is-visible{animation:career-enter .68s var(--ease-out) both;animation-delay:min(var(--reveal-delay,0s), .21s)}.experience .career-item.is-visible:before{animation:career-node .5s var(--ease-out) both;animation-delay:min(var(--reveal-delay,0s), .21s)}.experience:has(.section-head .is-visible) .timeline:before{transform-origin:top;animation:career-spine 1.2s var(--ease-out) both}@keyframes career-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes career-node{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}@keyframes career-spine{0%{transform:scaleY(0)}to{transform:scaleY(1)}}}@media (prefers-reduced-motion:reduce){.career-summary>span[aria-hidden]{transition:none}}.contact-inner{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}.contact-intro h2{max-width:14ch}.contact-intro .contact-sub{margin-top:24px}.contact-alternate{margin-top:40px;font-size:16px}.contact-actions{align-items:center;gap:8px 20px;margin-top:12px}.contact-actions .btn{gap:12px;min-height:44px;padding:10px 16px;font-size:16px}.contact-actions .text-link{font-size:16px}.lead-form{background:var(--bg);min-width:0;padding:clamp(20px,3vw,40px)}.lead-fields{gap:24px;display:grid}.lead-hint{color:var(--text-faint);font-size:14px}.lead-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid}.lead-field{flex-direction:column;gap:8px;min-width:0;display:flex}.lead-field label{font-size:16px;font-weight:500}.lead-field label span{color:var(--text-faint);font-size:14px;font-weight:400}.lead-field label .lead-asterisk,.lead-check .lead-asterisk{color:var(--text);font-size:20px;font-weight:500;line-height:0}.lead-error{color:var(--text);border-left:3px solid;padding-left:9px;font-size:14px;font-weight:500}.lead-field :is(input,select,textarea){background:var(--surface);width:100%;min-height:48px;color:var(--text);border:0;border-bottom:2px solid var(--text-faint);border-radius:0;padding:12px;font-size:16px}.lead-field textarea{resize:vertical;min-height:148px}.lead-field [aria-invalid=true]{outline:2px solid var(--text);outline-offset:2px}.lead-check{cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;font-size:16px;display:flex}.lead-check input{width:22px;height:22px;accent-color:var(--accent);flex-shrink:0;margin-top:2px}.lead-check input[aria-invalid=true]{outline:2px solid var(--text);outline-offset:3px}.lead-policy-link{text-underline-offset:4px;align-items:center;gap:6px;min-height:44px;margin-left:34px;font-size:14px;text-decoration:underline;display:inline-flex}.lead-policy-link:hover{text-decoration-thickness:2px}.lead-privacy{color:var(--text-faint);font-size:14px}.lead-privacy summary{text-underline-offset:4px;min-height:44px;padding-block:10px;text-decoration:underline}.lead-privacy p{margin-top:12px}.lead-submit{justify-self:start}.lead-submit:disabled{cursor:wait;opacity:.65}.lead-status{background:var(--surface-2);margin-bottom:24px;padding:20px;font-size:18px}.lead-status[data-error=true]{font-weight:500}.lead-trap{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.lead-recaptcha-note{color:var(--text-faint);font-size:14px}.lead-recaptcha-note a{text-underline-offset:3px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}@media (width<=850px){.contact-inner{grid-template-columns:minmax(0,1fr);gap:32px}.contact-intro h2{max-width:100%}}@media (width<=480px){.lead-pair{grid-template-columns:minmax(0,1fr)}.lead-form{margin-inline:-20px;padding:24px 20px}.lead-submit{gap:16px;width:100%}}.lead-form p{max-width:60ch}.legal-page{padding-block:clamp(56px,8vw,112px) 120px}.legal-head{border-bottom:2px solid var(--text);max-width:920px;padding-bottom:clamp(48px,6vw,84px)}.legal-eyebrow,.legal-number{letter-spacing:.12em;color:var(--text-faint);font-size:13px;font-weight:500}.legal-head h1{max-width:15ch;margin-top:24px;font-size:clamp(48px,7vw,96px)}.legal-intro{max-width:54ch;font-size:var(--lead);margin-top:28px;line-height:1.35}.legal-updated{color:var(--text-faint);margin-top:32px;font-size:14px}.legal-layout{grid-template-columns:minmax(180px,270px) minmax(0,1fr);align-items:start;gap:clamp(40px,8vw,120px);padding-top:40px;display:grid}.legal-index{top:calc(var(--header-offset,0px) + 24px);transition:top .42s var(--ease-out);border-top:1px solid var(--text);display:grid;position:sticky}.legal-index a{border-bottom:1px solid var(--surface-2);grid-template-columns:30px 1fr;align-items:center;gap:10px;min-height:48px;padding-block:8px;font-size:15px;display:grid}.legal-index a:hover{text-underline-offset:4px;text-decoration:underline}.legal-index span{color:var(--text-faint);font-size:12px}.legal-sections{max-width:800px}.legal-section{border-bottom:1px solid var(--surface-2);padding-block:24px 48px;scroll-margin-top:32px}.legal-section h2{margin-top:14px;margin-bottom:22px;font-size:clamp(30px,3.5vw,46px)}.legal-section p:not(.legal-number){max-width:70ch;margin-top:16px;font-size:17px;line-height:1.65}.legal-provider-links{flex-wrap:wrap;gap:8px 22px;margin-top:20px;padding:0;list-style:none;display:flex}.legal-provider-links a{text-underline-offset:4px;align-items:center;gap:5px;min-height:44px;font-size:15px;text-decoration:underline;display:inline-flex}.legal-endlinks{flex-wrap:wrap;gap:12px 28px;padding-top:28px;display:flex}.legal-endlinks a{text-underline-offset:4px;align-items:center;gap:8px;min-height:44px;font-size:16px;text-decoration:underline;display:inline-flex}@media (width<=760px){.legal-layout{grid-template-columns:minmax(0,1fr);gap:36px}.legal-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;position:static}.legal-page{padding-bottom:80px}}@media (width<=480px){.legal-index{grid-template-columns:minmax(0,1fr)}.legal-section p:not(.legal-number){font-size:16px}.lead-policy-link{margin-left:0}}.timed-cta{z-index:90;right:var(--gutter);background:var(--deep);width:min(360px,100vw - 40px);max-height:calc(100dvh - 48px);color:var(--inverse);border:1px solid var(--highlight);padding:24px;position:fixed;bottom:24px;overflow:auto}.timed-cta-close{width:44px;height:44px;color:inherit;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:10px;right:10px}.timed-cta-close:hover{background:#2f574f}.timed-cta :focus-visible{outline-color:var(--inverse)}.timed-cta-eyebrow{color:var(--deep-muted);letter-spacing:.12em;padding-right:44px;font-size:12px;font-weight:500}.timed-cta h2{max-width:13ch;margin-top:24px;font-size:clamp(26px,2.6vw,32px);line-height:1.05}.timed-cta-body{margin-top:16px;font-size:16px;line-height:1.45}.timed-cta-action{border-top:1px solid var(--deep-muted);justify-content:space-between;align-items:center;gap:16px;min-height:48px;margin-top:24px;padding-top:12px;font-size:16px;font-weight:500;display:flex}.timed-cta-action:hover span{text-underline-offset:5px;text-decoration:underline}body:has(.cookie-consent:not([hidden])) .timed-cta{display:none}@media (prefers-reduced-motion:no-preference){.timed-cta:not([hidden]){animation:timed-cta-enter .38s var(--ease-out) both}@keyframes timed-cta-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}}@media (width<=480px){.timed-cta{width:min(340px,100vw - 24px);max-height:calc(100dvh - 24px);padding:20px;bottom:12px;right:12px}.timed-cta h2{margin-top:16px}.timed-cta-body{margin-top:12px}.timed-cta-action{margin-top:16px}}.cookie-consent{z-index:120;left:var(--gutter);right:var(--gutter);background:var(--deep);max-width:1120px;color:var(--inverse);border:1px solid var(--highlight);justify-content:space-between;align-items:center;gap:28px;margin-inline:auto;padding:20px 24px;display:flex;position:fixed;bottom:20px}.cookie-consent h2{letter-spacing:-.025em;font-size:22px}.cookie-consent p{max-width:66ch;margin-top:8px;font-size:14px;line-height:1.45}.cookie-consent a{text-underline-offset:4px;text-decoration:underline}.cookie-consent-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.cookie-consent-actions button{border:1px solid var(--inverse);min-height:44px;color:var(--inverse);background:0 0;padding:8px 14px;font-size:14px;font-weight:500}.cookie-consent-actions button:last-child{background:var(--inverse);color:var(--deep)}.cookie-consent-actions button:hover{text-underline-offset:3px;text-decoration:underline}.cookie-consent :focus-visible{outline-color:var(--inverse)}@media (width<=760px){.cookie-consent{max-height:calc(100dvh - 24px);padding:18px;display:block;bottom:12px;left:12px;right:12px;overflow:auto}.cookie-consent-actions{margin-top:18px}}.nav[data-astro-cid-wpvy4v7s]{z-index:100;background:var(--bg);transition:transform .42s var(--ease-out);position:sticky;top:0}.nav[data-astro-cid-wpvy4v7s]:after{content:"";background:var(--text);transform-origin:0;height:2px;transition:transform .64s var(--ease-out);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav[data-astro-cid-wpvy4v7s].is-scrolled:after{transform:scaleX(1)}.nav[data-astro-cid-wpvy4v7s].is-hidden{transform:translateY(-100%)}.nav-inner[data-astro-cid-wpvy4v7s]{justify-content:space-between;align-items:center;gap:24px;min-height:88px;display:flex}.brand[data-astro-cid-wpvy4v7s]{flex-shrink:0;align-items:center;gap:12px;min-height:44px;font-weight:500;display:flex}.brand-mark[data-astro-cid-wpvy4v7s]{width:200px;height:auto;transition:width .36s var(--ease-out)}.nav[data-astro-cid-wpvy4v7s].is-scrolled .brand-mark[data-astro-cid-wpvy4v7s]{width:160px}.brand[data-astro-cid-wpvy4v7s] picture[data-astro-cid-wpvy4v7s]{display:block}.nav-links[data-astro-cid-wpvy4v7s]{align-items:center;gap:24px;font-size:16px;display:flex}.nav-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{align-items:center;min-height:44px;display:flex;position:relative}.nav-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:after{content:"";transform-origin:100%;height:2px;transition:transform .26s var(--ease-out);background:currentColor;position:absolute;bottom:8px;left:0;right:0;transform:scaleX(0)}.nav-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:hover:after,.nav-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:focus-visible:after{transform-origin:0;transform:scaleX(1)}.nav-right[data-astro-cid-wpvy4v7s]{align-items:center;gap:12px;display:flex}.lang-switch[data-astro-cid-wpvy4v7s]{display:flex}.lang-switch[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:14px;transition:background-color .18s;display:inline-flex}.lang-switch[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s].active{background:var(--surface-2)}.lang-switch[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:hover{background:var(--surface)}.menu-toggle[data-astro-cid-wpvy4v7s]{background:var(--surface);border:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;transition:background-color .24s;display:none}.menu-toggle[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s]{background:var(--text);width:20px;height:2px;transition:transform .32s var(--ease-out), background-color .24s ease;display:block}.menu-toggle[data-astro-cid-wpvy4v7s][aria-expanded=true]{background:var(--deep)}.menu-toggle[data-astro-cid-wpvy4v7s][aria-expanded=true] span[data-astro-cid-wpvy4v7s]{background:var(--inverse)}.menu-toggle[data-astro-cid-wpvy4v7s][aria-expanded=true] span[data-astro-cid-wpvy4v7s]:first-child{transform:translateY(4px)rotate(45deg)}.menu-toggle[data-astro-cid-wpvy4v7s][aria-expanded=true] span[data-astro-cid-wpvy4v7s]:last-child{transform:translateY(-4px)rotate(-45deg)}.mobile-menu[data-astro-cid-wpvy4v7s]{padding:16px var(--gutter) 24px;background:var(--surface);display:none}.mobile-menu-links[data-astro-cid-wpvy4v7s]{margin:0;padding:0;list-style:none}.mobile-menu[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{align-items:center;min-height:48px;display:flex}.mobile-menu-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{gap:16px}.mobile-menu-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]>.icon{margin-left:auto}.mobile-menu-index[data-astro-cid-wpvy4v7s]{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:14px}.mobile-menu-mail[data-astro-cid-wpvy4v7s]{gap:12px;margin-top:16px;font-size:16px}@media (width<=1000px){.nav-links[data-astro-cid-wpvy4v7s]{gap:16px;font-size:14px}}@media (width<=600px){.brand-mark[data-astro-cid-wpvy4v7s],.nav[data-astro-cid-wpvy4v7s].is-scrolled .brand-mark[data-astro-cid-wpvy4v7s]{width:44px;height:auto}}@media (width<=760px){.nav-inner[data-astro-cid-wpvy4v7s]{min-height:72px}.nav-links[data-astro-cid-wpvy4v7s]{display:none}[data-astro-cid-wpvy4v7s][data-nav-enhanced] .menu-toggle[data-astro-cid-wpvy4v7s]{display:flex}.mobile-menu[data-astro-cid-wpvy4v7s]{display:grid}[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu[data-astro-cid-wpvy4v7s]{height:calc(100dvh - 72px);padding:32px var(--gutter) 40px;background:var(--deep);color:var(--inverse);clip-path:inset(0 0 100%);visibility:hidden;transition:clip-path .56s var(--ease-out), visibility 0s linear .56s;flex-direction:column;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu[data-astro-cid-wpvy4v7s].open{clip-path:inset(0);visibility:visible;transition:clip-path .62s var(--ease-out), visibility 0s}[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu[data-astro-cid-wpvy4v7s] [data-astro-cid-wpvy4v7s]:focus-visible{outline-color:var(--inverse)}[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu-links[data-astro-cid-wpvy4v7s] li[data-astro-cid-wpvy4v7s]{border-bottom:2px solid #e2eae529}[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{letter-spacing:-.02em;min-height:72px;font-size:clamp(28px,8vw,36px)}[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu-index[data-astro-cid-wpvy4v7s]{color:var(--deep-muted);align-self:flex-start;padding-top:22px}[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu-links[data-astro-cid-wpvy4v7s] li[data-astro-cid-wpvy4v7s],[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu-mail[data-astro-cid-wpvy4v7s]{opacity:0;transition:opacity .2s,transform .2s;transform:translateY(28px)}[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu[data-astro-cid-wpvy4v7s].open .mobile-menu-links[data-astro-cid-wpvy4v7s] li[data-astro-cid-wpvy4v7s],[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu[data-astro-cid-wpvy4v7s].open .mobile-menu-mail[data-astro-cid-wpvy4v7s]{opacity:1;transition:opacity .52s ease calc(.18s + var(--i) * 65ms), transform .68s var(--ease-out) calc(.18s + var(--i) * 65ms);transform:none}[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]>.icon{transition:transform .22s var(--ease-out)}[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:hover>.icon{transform:translate(3px,-3px)}[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu-mail[data-astro-cid-wpvy4v7s]{color:var(--deep-muted);margin-top:auto;padding-top:32px}}@media (width>=761px){.mobile-menu[data-astro-cid-wpvy4v7s].open{display:none}}@media (prefers-reduced-motion:reduce){.nav[data-astro-cid-wpvy4v7s],.nav[data-astro-cid-wpvy4v7s]:after,.brand-mark[data-astro-cid-wpvy4v7s],.menu-toggle[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s],.nav-links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:after{transition:none}.nav[data-astro-cid-wpvy4v7s].is-hidden{transform:none}[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu[data-astro-cid-wpvy4v7s],[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu[data-astro-cid-wpvy4v7s].open,[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu-links[data-astro-cid-wpvy4v7s] li[data-astro-cid-wpvy4v7s],[data-astro-cid-wpvy4v7s][data-nav-enhanced] .mobile-menu-mail[data-astro-cid-wpvy4v7s]{transition:none!important}}.skip-link[data-astro-cid-hkbrpulz]{z-index:200;background:var(--bg-2);color:var(--text);padding:.75rem 1.25rem;position:absolute;top:0;left:-999px}.skip-link[data-astro-cid-hkbrpulz]:focus{left:0}
