@font-face{font-family:Manrope;src:url('assets/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--paper:#fbfbf9;--ink:#20211e;--muted:#686b62;--line:#dedfd7;--pad:clamp(28px,7vw,120px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:15px;font-weight:400;line-height:1.75;-webkit-font-smoothing:antialiased}main{outline:none}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer;border-radius:0}a,button{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}::selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid currentColor;outline-offset:7px}.section-anchor:focus{outline:none}[hidden]{display:none!important}.skip-link{position:fixed;top:-80px;left:30px;z-index:200;background:var(--ink);color:var(--paper);padding:12px 20px;font-size:13px}.skip-link:focus{top:20px}
.site-header{position:fixed;left:0;top:0;z-index:80;pointer-events:none}.menu-toggle{position:relative;display:flex;flex-direction:column;justify-content:center;gap:7px;align-items:center;width:48px;height:48px;margin:31px 0 0 35px;background:none;border:0;padding:10px;pointer-events:auto}.menu-toggle>span{display:block;width:29px;height:1px;background:var(--ink);transition:transform .45s var(--ease)}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-4px) rotate(-45deg)}.menu-backdrop{position:fixed;inset:0;z-index:65;background:#20211e30;backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .5s var(--ease)}.menu-open .menu-backdrop{opacity:1;pointer-events:auto}.mobile-nav{display:flex;position:fixed;left:0;top:0;bottom:0;z-index:70;width:min(530px,90vw);background:var(--paper);padding:135px 58px 50px;flex-direction:column;gap:0;transform:translateX(-100%);visibility:hidden;transition:transform .65s var(--ease),visibility .65s;overflow:auto}.mobile-nav.is-open{transform:translateX(0);visibility:visible}.mobile-nav>a{display:block;padding:18px 0;font-size:27px;line-height:1.45;letter-spacing:-.035em;transition:opacity .3s}.mobile-nav>a:hover{opacity:.55}body.menu-open{overflow:hidden}
.splash{width:100%;height:100svh;min-height:100svh;display:flex;justify-content:center;align-items:center;background:var(--paper);padding:60px 0}.hero-logo-wrap{width:min(60vw,720px);background:var(--paper)}.hero-logo{width:100%;height:auto;mix-blend-mode:multiply}.section-anchor{scroll-margin-top:75px}.intro-section{padding:145px var(--pad) 130px}.intro-section h1{font-size:clamp(55px,7.1vw,114px);line-height:1.1;letter-spacing:-.055em;font-weight:400}.experience-block{margin-top:145px;display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end}.experience-block h2{font-size:clamp(37px,4.2vw,66px);line-height:1.2;letter-spacing:-.05em}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:43px;width:fit-content;padding:0 0 9px;border:0;border-bottom:1px solid currentColor;background:none;color:inherit;font-size:14px;line-height:1.5;cursor:pointer}.text-link>span{font-size:22px;line-height:1;transition:transform .4s var(--ease)}.text-link:hover>span{transform:translate(3px,-3px)}.experience-block>.text-link{justify-self:start;margin-bottom:7px}
.studio-section{padding:120px var(--pad) 150px;display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:start}.studio-section>h2{font-size:clamp(40px,4.7vw,75px);letter-spacing:-.055em;line-height:1.2}.studio-copy{max-width:470px;padding-top:7px}.studio-copy p{font-size:18px;line-height:1.9;letter-spacing:-.2px}
.contact-section{padding:100px var(--pad) 140px}.contact-section>h2{font-size:clamp(47px,5.9vw,92px);letter-spacing:-.055em;line-height:1.12;margin-bottom:90px}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:start}.contact-details{min-width:0}.contact-entry{margin-bottom:40px}.field-label{display:block;font-size:13px;color:var(--muted);margin-bottom:9px}.contact-value{min-width:0}.contact-value a{display:flex;align-items:baseline;justify-content:space-between;gap:20px;width:fit-content;max-width:100%;font-size:clamp(24px,2.8vw,44px);line-height:1.5;letter-spacing:-.04em;overflow-wrap:anywhere}.contact-value a>span{font-size:24px;flex-shrink:0}.contact-value.email-value a{font-size:clamp(21px,2vw,31px)}.contact-placeholder{max-width:100%;border:0;border-bottom:1px solid #c7c9bf;padding:0 0 5px;background:none;color:#797d72;font-size:clamp(20px,2vw,30px);letter-spacing:-.025em;line-height:1.5;text-align:left;overflow-wrap:anywhere;transition:color .3s}.contact-placeholder:hover{color:var(--ink)}.email-value .contact-placeholder{font-size:clamp(19px,1.8vw,26px)}.edit-contact{margin-top:3px;font-size:13px}.call-guide{max-width:470px}.call-guide>h3{font-size:23px;line-height:1.4;letter-spacing:-.5px;margin-bottom:28px}.call-guide ol{list-style:none;margin:0;padding:0}.call-guide li{display:flex;gap:23px;padding:22px 0;border-top:1px solid var(--line)}.call-guide li>span{min-width:15px;font-size:13px;color:var(--muted);padding-top:2px}.call-guide li strong{display:block;font-size:15px;font-weight:500;margin-bottom:6px}.call-guide li p{font-size:14px;line-height:1.85;color:var(--muted)}.guide-note{font-size:13px;line-height:1.85;color:var(--muted);margin-top:22px;max-width:410px}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:0 var(--pad);padding:28px 0 32px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.6}.site-footer>button{border:0;background:none;padding:0;color:inherit;font-size:12px;line-height:1.6}.site-footer>button:hover,.site-footer>a:hover{text-decoration:underline}.mobile-call{display:none}body.on-splash .mobile-call,body.menu-open .mobile-call{display:none!important}
.subpage-content{padding:140px var(--pad) 130px;min-height:calc(100svh - 90px)}.back-link{display:inline-block;font-size:13px;color:var(--muted);padding-bottom:5px}.back-link:hover{color:var(--ink)}.subpage-content h1{font-size:clamp(54px,7vw,110px);line-height:1.12;letter-spacing:-.055em;margin-top:65px;margin-bottom:70px}.subpage-content h1.publications-title{font-size:clamp(48px,6.6vw,103px)}.project-archive{max-width:950px}.preparation-note{font-size:14px;color:var(--muted);margin-bottom:33px}.gallery-placeholders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.gallery-placeholder{aspect-ratio:3/2;border:1px solid var(--line);background:#f6f6f3}.publication-drawers{max-width:970px}.publication-drawers details{border-top:1px solid var(--line)}.publication-drawers details:last-child{border-bottom:1px solid var(--line)}.publication-drawers summary{cursor:pointer;display:flex;list-style:none;justify-content:space-between;align-items:center;gap:30px;padding:28px 0;font-size:clamp(21px,2.1vw,32px);letter-spacing:-.035em;line-height:1.5}.publication-drawers summary::-webkit-details-marker{display:none}.publication-drawers summary>span{font-size:30px;line-height:1;font-weight:400;flex-shrink:0;transition:transform .4s var(--ease)}.publication-drawers details[open] summary>span{transform:rotate(45deg)}.publication-drawers details>p{font-size:14px;color:var(--muted);padding:0 45px 30px 0;line-height:1.85}
.contact-dialog{width:min(590px,calc(100% - 40px));max-height:calc(100svh - 50px);overflow:auto;border:1px solid var(--line);padding:36px;background:var(--paper);color:var(--ink);box-shadow:0 20px 90px #15181225}.contact-dialog::backdrop{background:#20211e40;backdrop-filter:blur(4px)}.contact-dialog[open]{animation:dialog-in .35s var(--ease)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px}.small-label{font-size:11px;line-height:1.6;color:var(--muted)}.dialog-close{width:30px;height:30px;flex-shrink:0;border:0;background:none;padding:0;font-size:30px;line-height:1;font-weight:400}.contact-dialog h2{font-size:36px;line-height:1.2;letter-spacing:-1.5px;margin-bottom:18px}.contact-dialog form>p{font-size:13px;line-height:1.85;color:var(--muted);max-width:450px}.contact-dialog label{display:block;font-size:13px;margin-top:25px;margin-bottom:6px}.contact-dialog input{width:100%;min-height:45px;padding:12px 0;border:0;border-bottom:1px solid #aeb4a5;color:var(--ink);background:none;font-size:16px;line-height:1.4}.contact-dialog input::placeholder{color:#858b7d}.contact-dialog .editor-note{font-size:12px;margin-top:25px}.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:30px}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 20px;font-size:13px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);transition:background .3s,color .3s}.primary-button:hover{background:none;color:var(--ink)}.primary-button>span{font-size:20px;line-height:1}.clear-contact{background:none;border:0;border-bottom:1px solid #b4b9aa;padding:0 0 5px;font-size:12px;white-space:nowrap}.storage-warning{margin-top:20px!important;color:#744626!important}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,150px);z-index:150;max-width:calc(100% - 40px);width:max-content;background:var(--ink);color:var(--paper);padding:15px 25px;font-size:13px;line-height:1.6;text-align:center;transition:transform .45s var(--ease);box-shadow:0 5px 20px #20211e15}.toast.is-visible{transform:translate(-50%,0)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform 1s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes dialog-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@view-transition{navigation:auto}::view-transition-old(root){animation:page-out .17s ease both}::view-transition-new(root){animation:page-in .35s var(--ease) both}@keyframes page-out{to{opacity:0}}@keyframes page-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1800px){.intro-section,.studio-section,.contact-section,.subpage-content{max-width:1900px;margin-left:auto;margin-right:auto}.hero-logo-wrap{width:720px}}
@media(max-width:1000px){.experience-block,.studio-section,.contact-grid{grid-template-columns:1.1fr 1fr;gap:55px}.intro-section{padding-top:110px;padding-bottom:100px}.intro-section h1{font-size:7.5vw}.experience-block{margin-top:110px}.experience-block h2{font-size:4.5vw}.studio-section{padding-top:90px;padding-bottom:110px}.studio-copy p{font-size:16px}.studio-section>h2{font-size:5vw}.contact-section{padding-top:80px;padding-bottom:100px}.contact-section>h2{margin-bottom:65px}.contact-placeholder{font-size:23px}.email-value .contact-placeholder{font-size:21px}.call-guide>h3{font-size:21px}.call-guide li{gap:18px}.call-guide li p{font-size:13px}}
@media(max-width:700px){:root{--pad:28px}.menu-toggle{margin:19px 0 0 17px;width:44px;height:44px;gap:7px}.menu-toggle>span{width:26px}.mobile-nav{width:min(480px,92vw);padding:110px 33px 40px}.mobile-nav>a{font-size:25px;padding:20px 0;letter-spacing:-.04em}.hero-logo-wrap{width:80vw}.splash{padding:65px 0;height:100svh;min-height:100svh}.section-anchor{scroll-margin-top:70px}.intro-section{padding-top:80px;padding-bottom:80px}.intro-section h1{font-size:clamp(36px,8.5vw,59px);line-height:1.15;letter-spacing:-.055em}.experience-block{display:block;margin-top:85px}.experience-block h2{font-size:clamp(31px,7vw,43px);line-height:1.2;margin-bottom:28px;letter-spacing:-.05em}.text-link{font-size:13px;gap:35px;padding-bottom:7px}.text-link>span{font-size:20px}.studio-section{padding-top:70px;padding-bottom:90px;display:block}.studio-section>h2{font-size:40px;margin-bottom:35px}.studio-copy{padding:0;max-width:510px}.studio-copy p{font-size:16px;line-height:1.95;letter-spacing:-.15px}.contact-section{padding-top:55px;padding-bottom:85px}.contact-section>h2{font-size:47px;margin-bottom:55px}.contact-grid{display:block}.contact-details{margin-bottom:65px}.contact-entry{margin-bottom:30px}.field-label{font-size:13px;margin-bottom:9px}.contact-placeholder{font-size:23px;line-height:1.5;letter-spacing:-.035em}.email-value .contact-placeholder{font-size:21px}.contact-value a{font-size:29px;gap:15px;letter-spacing:-.045em}.contact-value.email-value a{font-size:23px}.contact-value a>span{font-size:20px}.edit-contact{font-size:13px;margin-top:0}.call-guide{max-width:none}.call-guide>h3{font-size:23px;letter-spacing:-.6px;margin-bottom:24px}.call-guide li{gap:18px;padding:20px 0}.call-guide li strong{font-size:15px}.call-guide li p{font-size:14px;line-height:1.85}.guide-note{font-size:13px;max-width:none;line-height:1.9;margin-top:20px}.site-footer{padding-top:25px;padding-bottom:100px;align-items:start;gap:20px;font-size:11px;flex-wrap:wrap}.site-footer>button{font-size:12px}.mobile-call{display:flex;position:fixed;bottom:17px;left:22px;right:22px;z-index:50;padding:14px 19px;background:var(--paper);border:1px solid #aeb3a4;align-items:center;justify-content:space-between;gap:30px;font-size:13px;line-height:1.6;box-shadow:0 6px 25px #20211e0a;text-align:left}.mobile-call>span{font-size:21px;line-height:1}.subpage-content{padding-top:115px;padding-bottom:85px;min-height:calc(100svh - 130px)}.subpage-content h1{font-size:clamp(40px,10vw,70px);margin-top:55px;margin-bottom:50px;letter-spacing:-.055em}.subpage-content h1.publications-title{font-size:clamp(33px,8.4vw,59px)}.back-link{font-size:13px}.preparation-note{font-size:13px;line-height:1.85;margin-bottom:25px}.project-archive li{font-size:23px;line-height:1.5;padding:22px 0;letter-spacing:-.035em}.publication-drawers summary{font-size:21px;padding:24px 0;gap:25px;letter-spacing:-.035em}.publication-drawers summary>span{font-size:26px}.publication-drawers details>p{font-size:13px;padding:0 30px 25px 0}.contact-dialog{padding:26px;width:calc(100% - 32px);max-height:calc(100svh - 32px)}.dialog-heading{gap:15px;margin-bottom:29px}.small-label{font-size:11px}.contact-dialog h2{font-size:32px;letter-spacing:-1.3px}.contact-dialog form>p{font-size:13px}.contact-dialog label{font-size:13px;margin-top:22px}.contact-dialog input{font-size:16px}.contact-dialog .editor-note{font-size:12px;line-height:1.8}.dialog-actions{gap:18px;margin-top:27px;flex-wrap:wrap}.primary-button{font-size:13px;padding:13px 17px;gap:24px}.clear-contact{font-size:12px}.toast{bottom:82px;padding:14px 20px;font-size:12px}}
@media(max-width:360px){:root{--pad:24px}.hero-logo-wrap{width:81vw}.intro-section h1{font-size:33px}.experience-block h2{font-size:30px}.studio-section>h2{font-size:35px}.studio-copy p{font-size:15px}.contact-section>h2{font-size:43px}.contact-placeholder{font-size:21px}.email-value .contact-placeholder{font-size:20px}.contact-value a{font-size:26px}.contact-value.email-value a{font-size:21px}.call-guide>h3{font-size:21px}.call-guide li{gap:14px}.call-guide li p{font-size:13px}.mobile-nav{padding-left:28px;padding-right:28px}.mobile-nav>a{font-size:23px}.subpage-content h1.publications-title{font-size:30px}.project-archive li{font-size:21px}.publication-drawers summary{font-size:20px;gap:15px}.contact-dialog{padding:23px}.contact-dialog h2{font-size:29px}.site-footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
/* Signature, separate biography and source archive. */
.owner-signature{margin-top:30px;font-size:clamp(20px,2vw,30px);line-height:1.4;letter-spacing:-.025em}
.guide-note-emphasis{font-size:23px!important;line-height:1.4!important;letter-spacing:-.5px;color:var(--ink)!important;margin-top:48px!important;max-width:none;text-align:right}
.guide-note-emphasis>span{display:block;margin-top:15px;font-size:14px;line-height:1.8;letter-spacing:0;color:var(--muted)}
.about-profile{display:grid;grid-template-columns:1fr 1.2fr;gap:85px;margin-bottom:110px;align-items:start}
.about-profile h2{font-size:clamp(35px,4vw,60px);line-height:1.2;letter-spacing:-.045em}
.profile-degree{font-size:14px;color:var(--muted);margin-top:16px}.profile-lead{font-size:21px;line-height:1.8;max-width:650px}
.about-section{display:grid;grid-template-columns:1fr 1.2fr;gap:85px;padding:55px 0 75px;border-top:1px solid var(--line)}
.about-section h2{font-size:clamp(28px,2.7vw,40px);line-height:1.3;letter-spacing:-.035em}.about-section p{margin-bottom:24px;max-width:650px;font-size:16px;line-height:1.95}.about-section .text-link{margin-top:12px}
.source-list{list-style:none;margin:0;padding:0 0 25px}.source-list>li{border-top:1px solid var(--line);padding:23px 0}.source-list>li:first-child{border-top:0;padding-top:5px}.source-list a.source-title{display:flex;justify-content:space-between;align-items:baseline;gap:30px;font-size:18px;line-height:1.55;letter-spacing:-.015em}.source-title>span{flex-shrink:0;font-size:19px}.source-title:hover{text-decoration:underline;text-underline-offset:5px}.source-meta{margin-top:9px;font-size:12px;line-height:1.7;color:var(--muted)}.source-role{margin-top:8px;font-size:14px;line-height:1.7;color:var(--muted)}.archive-note{font-size:13px;line-height:1.8;color:var(--muted);max-width:700px;padding:0 0 30px}.archive-count{font-size:13px;color:var(--muted);margin-left:auto;padding-left:20px}.archive-bw-link{margin-top:35px}
@media(max-width:1000px){.about-profile,.about-section{gap:50px}.profile-lead{font-size:18px}.guide-note-emphasis{font-size:21px!important}}
@media(max-width:700px){.owner-signature{font-size:21px;margin-top:24px}.about-profile{display:block;margin-bottom:65px}.profile-degree{margin-bottom:28px}.about-profile h2{font-size:36px}.profile-lead{font-size:18px}.about-section{display:block;padding-top:35px;padding-bottom:45px}.about-section h2{font-size:29px;margin-bottom:27px}.about-section p{font-size:15px;line-height:1.9}.guide-note-emphasis{font-size:23px!important;margin-top:40px!important}.guide-note-emphasis>span{font-size:13px}.source-list a.source-title{font-size:16px;gap:18px}.source-meta{font-size:12px}.source-role{font-size:13px}.archive-count{font-size:12px;padding-left:5px}.publication-drawers summary{gap:15px}.archive-note{font-size:12px}.source-list>li{padding:20px 0}}
@media(max-width:360px){.owner-signature{font-size:19px}.guide-note-emphasis{font-size:21px!important}}
.experience-block{display:block}.experience-block h2{max-width:850px}.experience-block>.text-link{margin-top:65px;font-size:23px;gap:65px}
@media(max-width:700px){.experience-block>.text-link{margin-top:38px;font-size:20px;gap:45px}}

.source-description{font-size:14px;line-height:1.8;color:var(--muted);max-width:760px;margin-top:12px}.source-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:18px}.source-link{font-size:12px;line-height:1.6;border-bottom:1px solid #b7bab0;padding-bottom:2px}.source-link>span{padding-left:5px}.source-link:hover{color:var(--muted)}.source-list h3{font-weight:400}.source-list li{overflow-wrap:anywhere}

@media(max-width:700px){.gallery-placeholders{grid-template-columns:1fr;gap:24px}}

/* Optical centering follows the visual weight of the supplied mark. */
.hero-logo{transform:translate(4.9%,3.1%)}
.icon-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.icon-arrow-back{margin-right:5px}.contact-placeholder{cursor:default;border:0}.contact-placeholder:hover{color:#797d72}

.phone-reveal{font-size:clamp(20px,2vw,30px);letter-spacing:-.025em}.phone-reveal:disabled{opacity:.5;cursor:default}

/* Keep the complete email on one line, including under browser/text zoom. */
.contact-value.email-value{container-type:inline-size;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:5px}
.contact-value.email-value a{white-space:nowrap;overflow-wrap:normal;word-break:normal;flex-wrap:nowrap;width:max-content;max-width:none;gap:12px;font-size:clamp(12px,4.8cqw,31px)}
.contact-value.email-value a>span{font-size:.95em;flex-shrink:0}

.site-footer{display:flex;flex-direction:column;justify-content:center;gap:22px;text-align:center;padding-top:30px;padding-bottom:28px}
.back-to-top{display:flex;align-items:center;justify-content:center;flex:0 0 80px;width:80px;height:80px;margin:0 auto;color:var(--ink)}
.back-to-top svg{width:44px;height:52px;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.back-to-top.is-visible svg{animation:return-up 2.4s ease-in-out infinite}
@keyframes return-up{0%,100%{transform:translateY(4px)}50%{transform:translateY(-7px)}}
body.at-page-end .mobile-call{visibility:hidden;pointer-events:none}
@media(prefers-reduced-motion:reduce){.back-to-top.is-visible svg{animation:none}}

@media(min-width:701px){
  .contact-details>.contact-entry:first-child .field-label{line-height:22.75px}
  .phone-reveal{display:flex;line-height:1.5;padding-bottom:9px}
  .call-guide>h3{min-height:calc(40.75px + clamp(30px,3vw,45px));margin-bottom:0}
}

.phone-reveal{border-bottom:1px solid var(--line)}
.phone-reveal:disabled{opacity:1;color:#8e8e8b}

.site-footer>a:first-child{align-self:flex-start;text-align:left}
