@font-face{font-family:Sora;src:url('assets/sora-variable.ttf') format('truetype');font-weight:100 800;font-display:swap}

:root{--paper:#fff;--ink:#000;--muted:#595959;--line:#dedede;--soft:#f5f5f5;--font:Sora,Arial,sans-serif}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
body,button,a{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,figure{margin:0}
p{line-height:1.65}
h1,h2,h3{font-weight:600;letter-spacing:-.055em}
::selection{background:var(--ink);color:var(--paper)}
:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.section-shell{width:min(1320px,calc(100% - 112px));margin-inline:auto}
.section-space{padding-block:112px}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;line-height:1.6}
h2{font-size:clamp(40px,4.4vw,66px);line-height:1.08;text-wrap:balance}
.skip-link{position:fixed;top:10px;left:10px;padding:14px 22px;background:var(--ink);color:white;z-index:100;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
[hidden]{display:none!important}

.site-header{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1320px,calc(100% - 112px));margin:auto;border-bottom:1px solid var(--line);position:relative;z-index:10}
.wordmark{display:inline-flex;gap:4px;align-items:baseline;font-size:21px;font-weight:700;letter-spacing:-1px;min-height:44px;padding-block:10px}
.desktop-nav{display:flex;gap:30px;align-items:center}
.desktop-nav a{font-size:11px;text-transform:uppercase;letter-spacing:.1em;padding-block:16px;transition:color .2s}
.desktop-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.desktop-nav a:last-child{margin-left:20px}
.desktop-nav a span{font-size:18px;margin-left:12px}
.menu-toggle{display:none;border:0;background:transparent;padding:10px 0 10px 16px;min-height:44px}
.menu-toggle span{font-size:24px;margin-left:10px}
.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:18px 24px 24px;border-bottom:1px solid var(--line)}
.mobile-nav a{display:block;padding:15px 0;font-size:21px;letter-spacing:-.04em}

.hero{padding-top:74px}
.hero-copy{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:0 80px;align-items:end;padding:18px 0 82px}
.hero .eyebrow{grid-column:1/-1;margin-bottom:32px}
h1{font-size:clamp(62px,7.1vw,104px);line-height:1.02;letter-spacing:-.055em;font-weight:600}
.hero-summary{min-width:0;max-width:470px;padding-bottom:6px}
.hero-description{font-size:16px;line-height:1.75;max-width:470px;color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 23px;min-height:52px;border:1px solid transparent;border-radius:3px;font-size:12px;font-weight:500;transition:background .2s,color .2s,border-color .2s}
.button span{font-size:21px;font-weight:400;line-height:1}
.button:hover{background:#333;color:#fff;border-color:#333}
.button-dark{background:var(--ink);color:var(--paper)}
.button-outline{border-color:var(--ink)}
.button-light{background:var(--ink);color:var(--paper)}
.microcopy{font-size:10px;color:var(--muted);margin-top:13px;letter-spacing:.015em}
.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:28px;border-block:1px solid var(--line);padding:21px 0}
.hero-foot p{font-size:9px;letter-spacing:.1em;font-weight:500}
.hero-foot p span{color:var(--ink);padding-inline:18px}
.hero-foot a{font-size:11px;color:var(--muted);padding:8px 0;white-space:nowrap}
.hero-foot a span{margin-left:24px;font-size:18px}

.profile{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:48px 80px}
.profile .section-intro{grid-column:1/-1}
.profile-portrait{align-self:start}
.profile-portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.profile-portrait figcaption{display:flex;flex-direction:column;gap:8px;padding-top:18px}
.profile-portrait figcaption strong{font-size:18px;font-weight:600;letter-spacing:-.035em}
.profile-portrait figcaption span{font-size:10px;line-height:1.6;color:var(--muted)}
.section-intro .eyebrow{margin-bottom:30px}
.profile-body{min-width:0;max-width:720px}
.profile-body>p{font-size:14px;color:var(--muted);margin-bottom:18px}
.profile-body .large-copy{font-size:23px;line-height:1.45;letter-spacing:-.035em;color:var(--ink);margin-bottom:23px}
.pill-list{display:flex;gap:6px 20px;flex-wrap:wrap;margin-top:25px}
.pill-list span{padding:5px 0;font-size:11px}
.principle{grid-column:1/-1;display:flex;gap:23px;align-items:center;border-top:1px solid var(--line);padding-top:38px}
.principle p{font-size:18px;line-height:1.5;letter-spacing:-.02em;font-weight:400}
.principle strong{font-weight:600}

.experience{border-top:1px solid var(--line);padding-top:90px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:56px}
.section-heading .eyebrow{margin-bottom:27px}
.section-heading>p{font-size:12px;color:var(--muted);max-width:280px;padding-bottom:4px}
.experience-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:36px;border-top:1px solid var(--line);padding-block:44px 52px}
.experience-label{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:20px}
.status{font-size:10px;color:var(--muted);display:flex;gap:7px;align-items:center;line-height:1.5}
.index{font-size:38px;letter-spacing:-.055em;color:#888;font-weight:400}
.experience-content{max-width:760px;min-width:0}
.experience-content h3{font-size:32px;line-height:1.15;letter-spacing:-.045em;margin-bottom:13px}
.experience-content .role{font-size:12px;font-weight:600;line-height:1.6;margin-bottom:16px;color:var(--ink)}
.experience-content>p{font-size:13px;color:var(--muted);max-width:700px}
.experience-points{list-style:none;margin:18px 0 0;padding:0;color:var(--muted);font-size:12px;line-height:1.7}
.experience-points li{padding-left:14px;position:relative;margin-top:8px}
.experience-points li:before{content:'';position:absolute;left:0;top:9px;width:4px;height:4px;background:var(--ink);border-radius:50%}
.tags{display:flex;flex-wrap:wrap;gap:8px 15px;margin-top:22px}
.tags span{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}

.return-section{background:var(--ink);color:var(--paper);overflow:hidden;position:relative}
.return-section :focus-visible{outline-color:var(--paper)}
.return-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;padding-block:92px}
.return-inner .eyebrow{color:#ccc;margin-bottom:32px}
.return-inner h2{font-size:clamp(40px,4.25vw,62px);line-height:1.1}
.return-inner h2>span{color:inherit}
.return-copy{padding-top:6px}
.return-copy>p:not(.year-line){font-size:13px;color:#ccc;margin-top:19px}
.return-copy .year-line{font-size:39px;letter-spacing:-.055em;line-height:1.1;padding-bottom:12px}
.year-line>span{color:inherit;padding-inline:20px}
.return-copy .formation{font-size:12px!important;line-height:1.8!important;padding-bottom:18px;border-bottom:1px solid #444}
.formation strong{font-weight:400;color:var(--paper)}
.text-link{display:inline-flex;gap:25px;font-size:11px;padding-block:16px;margin-top:12px;border-bottom:1px solid currentColor}
.text-link>span{color:inherit;font-size:17px;line-height:1}

.proposal-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin-bottom:44px}
.proposal-tabs button{display:flex;align-items:center;gap:16px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);text-align:left;padding:23px 20px 20px;font-size:11px;transition:background .2s,color .2s}
.proposal-tabs button+button{border-left:1px solid var(--line)}
.proposal-tabs button span:first-child{font-size:15px;font-weight:500;letter-spacing:-.03em}
.proposal-tabs button span:last-child{margin-left:auto;font-size:22px}
.proposal-tabs button[aria-selected=true]{border-bottom-color:var(--ink);color:var(--ink);background:var(--soft)}
.proposal-tabs button:hover{background:var(--soft);color:var(--ink)}
.proposal-panel{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-bottom:28px}
.proposal-title .eyebrow{color:var(--ink);font-size:10px;margin-bottom:18px}
.proposal-title h3{font-size:36px;line-height:1.15;letter-spacing:-.05em;margin-bottom:18px}
.proposal-title>p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:490px}
.project-outcome{padding:23px 0 0;margin-top:28px;border-top:1px solid var(--line)}
.project-outcome .eyebrow{color:var(--ink);font-size:9px}
.project-outcome p{margin-top:10px;font-size:12px;max-width:440px}
.module-list{margin:0;list-style:none;padding:0}
.module-list li{display:flex;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.module-list li:first-child{padding-top:0}
.module-list li>span{font-size:10px;color:var(--ink);padding-top:4px}
.module-list h4{font-size:16px;font-weight:500;letter-spacing:-.03em;margin-bottom:6px}
.module-list p{font-size:12px;color:var(--muted);max-width:385px}
.proposal-note{font-size:10px;color:var(--muted);padding-top:22px;border-top:1px solid var(--line);margin-top:10px}
.method{padding:0 0 110px}
.method>.eyebrow{margin-bottom:23px}
.method h2{font-size:clamp(38px,4vw,58px)}
.method-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:43px;border-top:1px solid var(--line);gap:36px}
.method-steps>div{padding-top:22px}
.method-steps span{font-size:10px;color:var(--ink)}
.method-steps h3{font-size:22px;letter-spacing:-.035em;margin:22px 0 10px}
.method-steps p{font-size:12px;color:var(--muted);max-width:200px}

.contact{background:var(--paper);border-top:1px solid var(--line);padding-block:65px 0}
.contact-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:39px}
.contact-top>span{font-size:10px}
.contact h2{font-size:clamp(48px,5.2vw,76px);line-height:1.08;letter-spacing:-.055em}
.contact-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:35px 0 47px}
.contact-bottom p{font-size:13px;line-height:1.6}
.contact-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:36px}
.contact-links a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px 15px;min-width:0;min-height:105px;padding:24px 0;border-top:1px solid var(--line);transition:background .2s}
.contact-label{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.contact-value{grid-column:1;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.contact-icon{grid-column:2;grid-row:1/3;align-self:center;font-size:23px;line-height:1}
.contact-links a:hover{background:var(--soft)}
footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:27px;font-size:9px;color:var(--muted)}
footer>p:first-child{color:var(--ink);font-weight:500}
footer>p:first-child span{font-weight:400;color:var(--muted);margin-left:14px}
footer>a{padding-block:10px}
footer>a span{margin-left:20px;font-size:15px}

@media(min-width:1600px){.hero{padding-top:100px}
.hero-copy{padding-bottom:100px}
h1{font-size:96px}
}

@media(max-width:1100px){.section-shell,.site-header{width:calc(100% - 72px)}
.hero{padding-top:55px}
.hero-copy{gap:0 45px}
.hero-actions{gap:10px}
.button{padding:15px 18px;gap:14px;font-size:11px}
.experience-row{grid-template-columns:115px minmax(0,1fr);gap:24px}
.profile{gap:45px}
.return-inner{gap:45px}
.proposal-panel{gap:50px}
}

@media(max-width:800px){.section-shell,.site-header{width:calc(100% - 48px)}
.section-space{padding-block:74px}
.site-header{min-height:78px}
.desktop-nav{gap:17px}
.desktop-nav a{font-size:9px}
.desktop-nav a:last-child{margin-left:0}
.wordmark{font-size:18px}
.hero{padding-top:42px}
.hero-copy{display:block;padding:12px 0 45px}
h1{font-size:clamp(52px,8.5vw,68px);margin-bottom:30px}
.hero-description{font-size:15px}
.hero .eyebrow{font-size:8px;margin-bottom:22px}
.hero-actions{align-items:flex-start;margin-top:23px}

.hero-foot{padding-block:14px}
.hero-foot p{font-size:7px}
.hero-foot p span{padding-inline:9px}
.hero-foot a{font-size:9px}
.hero-foot a span{margin-left:10px}
.profile{gap:35px;grid-template-columns:minmax(0,230px) minmax(0,1fr)}
.profile h2{font-size:38px}
.profile-body .large-copy{font-size:20px}
.profile-body>p{font-size:12px}
.section-heading>p{font-size:11px}
.experience-row{grid-template-columns:100px 1fr;gap:22px}
.experience-content h3{font-size:29px}
.return-inner{gap:35px;padding-block:70px}
.return-inner h2{font-size:38px}
.return-copy .year-line{font-size:33px}
.return-copy>p:not(.year-line){font-size:12px}
.proposal-panel{gap:35px}
.proposal-title h3{font-size:30px}
.proposal-tabs button{gap:10px;padding:20px 12px 17px}
.proposal-tabs button span:first-child{font-size:12px}
.module-list li{gap:16px}
.module-list h4{font-size:15px}
.module-list p{font-size:11px}
.contact h2{font-size:58px}
.contact-links{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.method{padding-bottom:75px}
.method-steps{gap:22px}
.method-steps p{font-size:11px}
}

@media(max-width:600px){html{scroll-padding-top:24px}
.section-shell,.site-header{width:calc(100% - 40px)}
.site-header{min-height:76px}
.desktop-nav{display:none}
.menu-toggle:not([hidden]){display:flex;align-items:center}
.hero{padding-top:33px}
.hero .eyebrow{font-size:8px;letter-spacing:.09em;margin-bottom:24px}
.hero-copy{padding:0 0 39px}
h1{font-size:clamp(45px,10.7vw,64px);line-height:1.05;letter-spacing:-.065em;margin-bottom:24px}
.hero-description{font-size:14px;max-width:410px}
.hero-actions{flex-direction:row;gap:10px;margin-top:25px}
.hero-actions .button{min-width:0;padding:14px 16px;font-size:10px;gap:14px;min-height:49px}
.hero-actions .button span{font-size:17px}
.microcopy{font-size:9px;margin-top:12px}
.hero-foot{display:block;padding-block:17px}
.hero-foot p{font-size:7px;letter-spacing:.05em;text-align:center;line-height:1.8}
.hero-foot p span{padding-inline:8px}
.hero-foot a{display:none}
.section-space{padding-block:63px}
.profile{display:block}
.profile-portrait{width:72%;max-width:240px;margin-top:30px}
.section-intro .eyebrow{margin-bottom:22px}
h2,.profile h2{font-size:39px}
.profile-body{padding-top:28px}
.profile-body .large-copy{font-size:22px;line-height:1.4;max-width:400px}
.profile-body>p{font-size:13px}
.pill-list span{font-size:10px}
.principle{margin-top:35px;padding-top:30px;gap:18px;align-items:flex-start}
.principle p{font-size:15px}
.section-heading{display:block;margin-bottom:32px}
.section-heading .eyebrow{margin-bottom:22px}
.section-heading>p{margin-top:23px;font-size:12px;max-width:100%}
.section-heading>p br{display:none}
.experience-row{display:block;padding-block:30px 35px}
.experience-label{flex-direction:row;align-items:center;margin-bottom:24px}
.index{font-size:22px}
.experience-content h3{font-size:30px}
.experience-content .role{font-size:12px}
.experience-content>p{font-size:13px}
.experience-points{font-size:12px}
.tags{gap:9px 14px}
.tags span{font-size:8px}
.return-inner{display:block;padding-block:58px}
.return-inner .eyebrow{margin-bottom:25px}
.return-inner h2{font-size:42px}
.return-copy{padding-top:35px}
.return-copy .year-line{font-size:37px}
.return-copy>p:not(.year-line){font-size:13px}
.return-copy .formation{font-size:11px!important}
.proposal-tabs{margin-bottom:32px;gap:0}
.proposal-tabs button{flex-direction:column;align-items:flex-start;gap:10px;padding:16px 9px 13px;font-size:9px}
.proposal-tabs button span:first-child{font-size:11px;line-height:1.4;letter-spacing:-.03em}
.proposal-tabs button span:last-child{display:none}
.proposal-panel{display:block;padding-bottom:5px}
.proposal-title h3{font-size:32px}
.proposal-title>p:not(.eyebrow){font-size:13px}
.project-outcome{margin-top:22px;padding-top:21px}
.project-outcome p{font-size:12px}
.module-list{margin-top:30px}
.module-list li{gap:22px;padding:19px 0}
.module-list h4{font-size:16px}
.module-list p{font-size:12px}
.proposal-note{font-size:10px;line-height:1.7}
.method{padding-bottom:65px}
.method>.eyebrow{font-size:9px}
.method h2{font-size:37px}
.method-steps{grid-template-columns:1fr 1fr;gap:28px 24px;margin-top:31px}
.method-steps>div{padding-top:18px}
.method-steps h3{margin-top:13px;font-size:22px}
.method-steps p{font-size:12px}
.contact{padding-top:40px}
.contact-top{margin-bottom:30px}
.contact-top>span{display:none}
.contact h2{font-size:clamp(45px,11.2vw,68px);line-height:1.08}
.contact-bottom{display:block;padding:25px 0 35px}
.contact-bottom p{font-size:12px}
.contact-bottom .button{margin-top:22px;font-size:12px;padding:15px 23px}
.contact-links{grid-template-columns:minmax(0,1fr)}
.contact-links a{padding:21px 0;min-height:96px}
footer{flex-wrap:wrap;gap:4px 20px;font-size:8px;padding-block:20px}
footer>p:nth-child(2){order:3;flex-basis:100%}
footer>a{margin-left:auto}
footer>a span{margin-left:12px}
}


@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
}

@media print{.site-header,.hero-actions,.profile-portrait,.hero-foot,.proposal-tabs,.contact,footer,.skip-link{display:none!important}
body{background:white;color:black}
.section-shell{width:100%;margin:0}
.section-space{padding:24px 0}
.hero{display:block;padding:0}
.hero-copy{display:block;padding-bottom:24px}
h1{font-size:40px}
h2{font-size:28px}
.profile,.return-inner,.proposal-panel{display:block}
.return-section{background:white;color:black}
.return-inner{padding:24px 0}
.return-inner h2{font-size:28px}
.return-copy>p{color:black!important}
.formation strong{color:black}
.proposal-panel[hidden]{display:block!important}
.proposal-panel{margin:24px 0;break-inside:avoid}
.experience-row{grid-template-columns:90px 1fr;break-inside:avoid}
.experience-row>div:last-child:not(.experience-content){display:none}
.section-heading{margin-bottom:24px}
.method{padding-bottom:20px}
.microcopy{display:none}
}
