@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,ul,ol,dl,dd{margin:0}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}}@layer base{:root{color-scheme:light;--paper:#f7f4ee;--ink:#172d3a;--petrol:#216a70;--petrol-dark:#175157;--muted:#51616b;--line:#cbd2d1;--wash:#e9eff0;--sand:#d6b67b;--content-width:90rem;--page-gutter:clamp(40px, 5vw, 80px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:1.0625rem;line-height:1.75}::selection{color:var(--ink);background:#cce2df}a{color:var(--petrol);text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--petrol);outline-offset:5px;border-radius:2px}h1,h2,h3{text-wrap:balance;line-height:1.16}h1{letter-spacing:-.045em;font-size:clamp(2.6rem,5vw,4.75rem);font-weight:650}h2{letter-spacing:-.035em;font-size:clamp(1.9rem,2.3vw,2.5rem);font-weight:550}h3{letter-spacing:-.02em;font-size:1.4rem;font-weight:600}p{max-width:70ch}[id]{scroll-margin-top:2rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:10;background:var(--ink);color:#fff;padding:.7rem 1rem;position:absolute;top:12px;left:20px;transform:translateY(-170%)}.skip-link:focus{transform:translateY(0)}}@layer layout{.container{width:min(var(--content-width), calc(100% - var(--page-gutter) * 2));margin-inline:auto}.section{padding-block:clamp(64px,5vw,88px)}.editorial-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(48px,5vw,80px);display:grid}.section-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:44px;display:flex}.section-heading>.text-link{flex-shrink:0;margin-bottom:5px}.page-intro{padding-block:clamp(60px,5vw,80px) clamp(48px,4vw,64px)}.page-intro h1{max-width:17ch}.page-intro .lead{margin-top:26px}.prose p+p{margin-top:1.2em}.prose>.text-link{margin-top:25px}.prose{color:var(--muted)}.prose h2,.prose h3{color:var(--ink)}.lead{max-width:68ch;color:var(--muted);font-size:1.2rem;line-height:1.75}}@layer components{.eyebrow{color:var(--petrol);letter-spacing:.12em;text-transform:uppercase;margin-bottom:19px;font-size:.76rem;font-weight:650;line-height:1.6}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:36px;min-height:96px;padding-block:22px;display:flex}.brand{letter-spacing:-.035em;color:var(--ink);align-items:center;gap:11px;font-size:1.48rem;font-weight:650;text-decoration:none;display:inline-flex}.brand-mark{background:var(--petrol);width:34px;height:34px;color:var(--paper);letter-spacing:-.07em;border-radius:50%;place-items:center;padding-bottom:4px;font-family:Georgia,serif;font-size:1.45rem;font-weight:400;display:grid}.main-nav{align-items:center;gap:clamp(28px,2.5vw,40px);padding:0;list-style:none;display:flex}.main-nav a{color:var(--ink);border-bottom:2px solid #0000;padding-block:10px;font-size:1rem;text-decoration:none;display:block}.main-nav a:hover{color:var(--petrol)}.main-nav a[aria-current=page]{border-color:var(--petrol);color:var(--petrol)}.hero{grid-template-columns:minmax(0,1.45fr) minmax(0,.8fr);align-items:center;gap:clamp(40px,4vw,64px);padding-block:clamp(56px,4.2vw,72px);display:grid}.hero h1{letter-spacing:-.055em;max-width:none;font-size:clamp(3.2rem,4.5vw,4.75rem);line-height:1.04}.hero h1 span{white-space:nowrap;display:block}.hero-statement{letter-spacing:-.03em;max-width:none;margin-top:22px;font-size:clamp(1.65rem,2.2vw,2.25rem);font-weight:350;line-height:1.3}.hero-copy{margin-top:26px}.hero-copy>p{color:var(--muted);max-width:64ch;font-size:1.1rem;line-height:1.8}.hero-aside{aspect-ratio:1;background:var(--wash);border-top:3px solid var(--petrol);flex-direction:column;justify-content:center;place-self:center end;align-items:center;width:100%;max-width:400px;padding:36px 24px;display:flex;position:relative;overflow:hidden}.monogram{letter-spacing:-.075em;color:var(--petrol);padding-right:.075em;font:400 clamp(10rem,10vw,14rem)/.9 Georgia,serif}.hero-aside-caption{color:var(--petrol-dark);letter-spacing:.08em;white-space:nowrap;margin:0;font-size:.76rem;position:absolute;bottom:28px}.actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:30px;display:flex}.button{border:1px solid var(--petrol);min-height:52px;color:var(--paper);background:var(--petrol);border-radius:3px;justify-content:center;align-items:center;gap:20px;padding:12px 22px;font-size:.95rem;font-weight:600;line-height:1.4;text-decoration:none;transition:background-color .18s,border-color .18s;display:inline-flex}.button:hover{background:var(--petrol-dark);border-color:var(--petrol-dark)}.button-outline{color:var(--petrol);background:0 0}.button-outline:hover{color:var(--paper)}.button-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button-light:hover{color:var(--ink);background:#e3e8e3;border-color:#e3e8e3}.text-link{align-items:center;gap:12px;min-height:44px;font-size:.95rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}.arrow-icon{flex:none}.expertise-section{border-top:1px solid var(--line);padding-top:49px}.expertise-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.expertise-item{border-left:1px solid var(--line);flex-direction:column;padding-inline:clamp(28px,3vw,40px);display:flex}.expertise-item:first-child{border:0;padding-left:0}.expertise-item:last-child{padding-right:0}.section-number{color:var(--petrol);font-variant-numeric:tabular-nums;letter-spacing:.06em;margin-bottom:18px;font-size:.79rem;display:block}.expertise-item h3{min-height:2.5em;margin-bottom:16px;font-size:clamp(1.4rem,1.4vw,1.5rem)}.expertise-item h3 a{color:var(--ink);text-decoration:none}.expertise-item h3 a:hover{color:var(--petrol);text-decoration:underline}.expertise-item>p{color:var(--muted);margin-bottom:22px;font-size:1rem;line-height:1.75}.expertise-item>.text-link{align-self:start;margin-top:auto}.project-feature{background:var(--wash);padding-block:clamp(64px,5vw,80px)}.project-feature h2{max-width:15ch}.editorial-grid h2{max-width:19ch}.contact-band{background:var(--ink);color:var(--paper);padding-block:62px}.contact-band-inner{justify-content:space-between;align-items:center;gap:65px;display:flex}.contact-band .eyebrow{color:var(--sand)}.contact-band h2{margin-bottom:18px;font-size:clamp(2rem,3.3vw,2.85rem)}.contact-band p:not(.eyebrow){color:#d3dee1;max-width:62ch}.contact-band .button{flex-shrink:0}.contact-band a:focus-visible{outline-color:var(--sand)}.site-footer{padding-block:44px 25px}.footer-grid{grid-template-columns:1.4fr 1fr auto;align-items:start;gap:40px;padding-bottom:31px;display:grid}.footer-name{color:var(--ink);font-size:1rem;font-weight:650;text-decoration:none}.footer-identity p{color:var(--muted);margin-top:7px;font-size:.85rem}.footer-nav{grid-template-columns:auto auto;gap:3px 25px;padding:0;list-style:none;display:grid}.footer-nav a{color:var(--muted);padding-block:5px;font-size:.85rem;text-decoration:none;display:inline-block}.footer-nav a:hover{color:var(--petrol);text-decoration:underline}.footer-linkedin{min-height:33px;padding-top:0;font-size:.85rem}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding-top:18px;font-size:.73rem;display:flex}.cv-layout{grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:clamp(48px,5vw,64px);padding-bottom:88px;display:grid}.cv-summary{background:var(--wash);border-top:3px solid var(--petrol);align-self:start;padding:28px}.cv-summary .eyebrow{margin-bottom:22px;font-size:.7rem}.cv-summary dl>div+div{margin-top:25px}.cv-summary dt{color:var(--muted);margin-bottom:4px;font-size:.8rem}.cv-summary dd{color:var(--ink);font-size:1rem;font-weight:550;line-height:1.5}.cv-summary>.text-link{margin-top:25px;font-size:.85rem}.print-note{color:var(--muted);border-top:1px solid var(--line);margin-top:23px;padding-top:19px;font-size:.78rem;line-height:1.6}.cv-opening{font-size:1.1rem}.cv-section{border-top:1px solid var(--line);margin-top:40px;padding-top:35px}.cv-section h2{margin-bottom:20px;font-size:1.7rem}.cv-section .eyebrow{margin-bottom:10px}.education-list{border-left:1px solid var(--line);margin-left:6px;padding:0;list-style:none}.education-list li{padding-left:27px;position:relative}.education-list li+li{margin-top:31px}.education-list li:before{content:"";background:var(--petrol);border-radius:50%;width:9px;height:9px;position:absolute;top:7px;left:-5px}.education-period{color:var(--petrol);margin-bottom:8px;font-size:.79rem}.education-list h3{margin-bottom:5px;font-size:1.18rem;line-height:1.4}.education-list p+p{margin-top:7px}.education-note{font-size:.9rem}.section-nav{flex-wrap:wrap;gap:6px 28px;margin-top:30px;display:flex}.section-nav a{align-items:center;min-height:44px;font-size:.89rem;font-weight:600;display:inline-flex}.competence-list{padding-bottom:33px}.competence-section{border-top:1px solid var(--line);padding-block:53px 60px}.competence-section h2{font-size:clamp(1.8rem,2.7vw,2.5rem)}.technology-list{flex-wrap:wrap;gap:8px 13px;max-width:340px;margin-top:25px;padding:0;list-style:none;display:flex}.technology-list li{color:var(--petrol);border-bottom:1px solid #adc5c5;padding-bottom:3px;font-size:.77rem}.approach-list{padding-bottom:63px}.approach-step{border-top:1px solid var(--line);grid-template-columns:55px minmax(0,.9fr) minmax(0,1.45fr);align-items:start;gap:35px;padding-block:43px;display:grid}.approach-step .section-number{margin-top:8px}.approach-step h2{font-size:1.9rem}.contact-detail{padding-bottom:80px}.contact-card{background:var(--wash);border-top:3px solid var(--petrol);justify-content:space-between;align-items:center;gap:36px;padding:42px;display:flex}.contact-card h2{margin-bottom:9px;font-size:1.8rem}.contact-card .eyebrow{margin-bottom:13px}.contact-card p:not(.eyebrow){color:var(--muted);font-size:1rem}.contact-card .button{flex-shrink:0}.contact-explore{padding-top:68px}.contact-explore .actions{gap:25px;margin-top:17px}.error-page{padding-block:90px 110px}.error-page h1{max-width:18ch}.error-page .lead{margin-block:26px 32px}}@layer responsive{@media (width>=1100px){.page-intro{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;column-gap:clamp(48px,5vw,80px);display:grid}.page-intro>.eyebrow{grid-column:1/-1}.page-intro h1{grid-area:2/1;font-size:clamp(3rem,3.8vw,3.75rem)}.page-intro .lead{grid-area:2/2;max-width:62ch;margin-top:0}.page-intro .section-nav{grid-column:1/-1}}@media (width>=1600px){.cv-content{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:48px;display:grid}.cv-opening{grid-column:1/-1;max-width:80ch}.cv-section{margin-top:40px}.cv-section h2{max-width:25ch}}@media (width<=1000px){.container{width:calc(100% - 80px)}.main-nav{gap:22px}.editorial-grid{gap:45px}.hero{display:block}.hero h1 span{display:inline}.hero-aside{display:none}.expertise-item{padding-inline:22px}.expertise-item h3{font-size:1.24rem}.cv-layout{grid-template-columns:minmax(220px,.8fr) minmax(0,1.5fr);gap:40px}.cv-summary{padding:23px}.footer-grid{gap:25px}.approach-step{grid-template-columns:35px minmax(0,.85fr) minmax(0,1.35fr);gap:24px}.contact-card{padding:32px}}@media (width<=760px){.container{width:calc(100% - 40px)}.site-header{flex-direction:column;align-items:stretch;gap:12px;padding-block:20px 12px}.brand{align-self:start}.main-nav{flex-wrap:wrap;justify-content:space-between;gap:12px}.main-nav a{padding-block:10px;font-size:.87rem}.hero{padding-block:45px}.hero h1{max-width:13ch;font-size:clamp(2.9rem,8.5vw,4.2rem)}.hero-statement{max-width:23ch;margin-top:23px;font-size:clamp(1.7rem,5vw,2.2rem)}.hero-copy{margin-top:25px}.hero-copy>p{font-size:1.03rem}.section{padding-block:55px}.expertise-section{padding-top:35px}.section-heading{flex-direction:column;align-items:start;gap:12px;margin-bottom:25px}.expertise-grid{grid-template-columns:minmax(0,1fr)}.expertise-item,.expertise-item:first-child,.expertise-item:last-child{border-left:0;border-top:1px solid var(--line);padding:27px 0}.expertise-item:first-child{border-top:0;padding-top:8px}.expertise-item:last-child{padding-bottom:0}.expertise-item h3{min-height:auto;margin-bottom:12px;font-size:1.4rem}.expertise-item .section-number{margin-bottom:10px}.expertise-item>p{margin-bottom:12px}.editorial-grid{grid-template-columns:minmax(0,1fr);gap:25px}.project-feature{padding-block:48px}.contact-band{padding-block:45px}.contact-band-inner{flex-direction:column;align-items:start;gap:25px}.site-footer{padding-top:33px}.footer-grid{grid-template-columns:1fr auto;row-gap:22px}.footer-identity{grid-column:1/-1}.footer-nav{gap:5px 24px}.footer-nav a{padding-block:8px}.footer-linkedin{min-height:40px}.footer-bottom{font-size:.7rem}.page-intro{padding-block:45px 38px}.page-intro h1{font-size:clamp(2.5rem,8vw,3.75rem)}.page-intro .lead{margin-top:22px;font-size:1.08rem}.cv-layout{grid-template-columns:minmax(0,1fr);gap:34px;padding-bottom:55px}.cv-summary{padding:25px}.cv-summary dl{grid-template-columns:1fr 1fr;gap:23px;display:grid}.cv-summary dl>div+div{margin:0}.cv-section{margin-top:30px;padding-top:28px}.competence-section{padding-block:32px 42px}.technology-list{max-width:none;margin-top:20px}.section-nav{gap:4px 22px;margin-top:22px}.approach-list{padding-bottom:26px}.approach-step{grid-template-columns:29px minmax(0,1fr);gap:14px;padding-block:30px}.approach-step h2{font-size:1.65rem}.approach-step .section-number{margin:5px 0 0}.approach-step .prose{grid-column:2}.contact-card{flex-direction:column;align-items:start;gap:24px;padding:27px}.contact-card h2{font-size:1.6rem}.contact-detail{padding-bottom:50px}.contact-explore{padding-top:43px}.error-page{padding-block:55px 75px}}@media (width<=420px){.main-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.main-nav a{width:fit-content}.hero .actions{flex-direction:column;align-items:stretch;gap:12px}.hero .button{width:100%}.hero h1{font-size:2.85rem}.eyebrow{letter-spacing:.09em;font-size:.69rem}.cv-summary dl{grid-template-columns:minmax(0,1fr)}.footer-bottom{flex-direction:column;gap:4px}.footer-grid{grid-template-columns:minmax(0,1fr)}.footer-linkedin{justify-self:start}.contact-card{padding:24px}.contact-card .button{gap:12px;padding-inline:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}}@layer print{@media print{@page{margin:18mm}:root{font-size:10pt}body{color:#000;background:#fff;font-size:10pt;line-height:1.6}.container{width:100%}.site-header,.site-footer,.contact-band,.skip-link,.print-note,.section-nav,.hero-aside{display:none}.page-intro{padding-block:0 20pt;display:block}.page-intro h1{max-width:none;font-size:28pt}.page-intro .lead{margin-top:12pt;font-size:11pt}.eyebrow,.prose,.lead,.section-number,.cv-summary dt,.education-period{color:#222}h2{font-size:18pt}h3{font-size:13pt}h2,h3{break-after:avoid}p{orphans:3;widows:3}a{color:#000;text-decoration:none}a[href^="https://www.linkedin.com/"]:after{content:" (" attr(href) ")";font-size:8pt;font-weight:400}.arrow-icon{display:none}.cv-layout{padding:0;display:block}.cv-content{display:block}.cv-summary{break-inside:avoid;background:0 0;border-top:1pt solid #777;border-bottom:1pt solid #777;margin-bottom:20pt;padding:12pt 0}.cv-summary dl{justify-content:space-between;gap:15pt;display:flex}.cv-summary dl>div+div{margin:0}.cv-summary .eyebrow{margin-bottom:12pt}.cv-summary>.text-link{min-height:0;margin-top:12pt}.cv-opening{font-size:11pt}.cv-section{margin-top:18pt;padding-top:14pt}.cv-section h2{margin-bottom:10pt;font-size:16pt}.education-list li{break-inside:avoid}.section,.project-feature{background:0 0;padding-block:20pt}.editorial-grid,.expertise-grid,.approach-step{display:block}.expertise-item{border:0;padding:10pt 0}.competence-section{padding-block:20pt}.contact-card{background:0 0}.button{color:#000;background:0 0;border:1pt solid #888}}}
