@charset "UTF-8";
:root{--paper:#f7f7f2;--white:#fff;--ink:#263c32;--muted:#72786f;--line:#dedfd5;--accent:#566d51;--soft:#e9ecdf;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif;--gutter:clamp(22px,5vw,88px);--header:88px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:#d7dfc7;color:var(--ink)}[hidden]{display:none!important}.skip-link{position:fixed;top:8px;left:16px;padding:12px 20px;background:white;z-index:100;transform:translateY(-160%)}.skip-link:focus{transform:none}.wrap{max-width:1600px;margin:0 auto;padding:0 var(--gutter)}.site-header{height:var(--header);position:sticky;top:0;z-index:30;background:rgba(247,247,242,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:14px;flex-shrink:0}.brand-mark{width:70px;height:50px;overflow:hidden;display:block}.brand-mark img{width:300px;max-width:none;height:50px}.brand-name{font-size:18px;font-weight:600;letter-spacing:-.5px;line-height:1.2}.brand-name small{display:block;font-size:9px;font-weight:400;letter-spacing:2.1px;text-transform:uppercase;margin-top:5px}.main-nav{display:flex;align-items:center;gap:clamp(18px,2.5vw,40px)}.main-nav a{font-size:12px;position:relative;padding:10px 0}.main-nav a::after{content:"";position:absolute;left:0;right:100%;height:1px;background:var(--ink);bottom:4px;transition:right .25s}.main-nav a:hover::after,.main-nav a[aria-current]::after{right:0}.menu-toggle{display:none;border:1px solid var(--line);background:none;width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{width:17px;height:1px;background:currentColor;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.eyebrow{font-size:10px;letter-spacing:2.1px;text-transform:uppercase;font-weight:400}.muted{color:var(--muted)}.hero{padding-top:48px}.hero-topline{display:flex;justify-content:space-between;gap:24px;color:var(--muted)}.hero-heading{display:grid;grid-template-columns:1.6fr 1fr;align-items:end;gap:48px;padding:27px 0 40px}.hero h1{font:400 clamp(58px,7.1vw,112px)/1.03 var(--serif);letter-spacing:-5px;max-width:900px}.hero h1 span{display:block}.hero h1 .company-suffix{font:400 11px var(--sans);letter-spacing:1px;display:inline-block;margin-left:12px;vertical-align:middle}.hero-person{border-left:1px solid var(--line);padding-left:24px;padding-bottom:4px;justify-self:end;min-width:230px}.hero-person p{font:25px/1.3 var(--serif)}.hero-person small{color:var(--muted);font-size:12px}.hero-stage{position:relative;aspect-ratio:2.45;overflow:hidden;background:#e1e4da}.hero-slide{position:absolute;inset:-4% 0;opacity:0;transition:opacity 1s;pointer-events:none}.hero-slide.is-active{opacity:1;z-index:1}.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:50% 52%}.hero-slide.plan img{object-position:center;object-fit:contain;background:#fff}.hero-slide.night img{object-position:50% 58%}.hero-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:18px 0}.hero-caption p{font-size:12px;letter-spacing:.3px}.slider-controls{display:flex;align-items:center;gap:14px}.slide-count{font-size:10px;letter-spacing:2px;min-width:52px}.round-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;background:transparent;font-size:18px;transition:background .2s,color .2s}.round-button:hover{background:var(--ink);color:white}.pause-button{font-size:12px}.section{padding-top:108px;padding-bottom:108px;scroll-margin-top:var(--header)}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:50px;align-items:start;margin-bottom:44px}.section-index{display:flex;gap:16px;align-items:center;color:var(--muted);padding-top:12px}.section-index span:first-child{font-size:11px}.section-index::after{content:"";height:1px;width:45px;background:var(--line)}h2{font:400 clamp(36px,4.1vw,66px)/1.13 var(--serif);letter-spacing:-2px}.section-heading .section-intro{margin-top:20px;font-size:15px;color:var(--muted);max-width:440px}.cv-layout{display:grid;grid-template-columns:1fr 2fr;gap:50px}.cv-portrait{position:sticky;top:120px;align-self:start}.cv-portrait img{aspect-ratio:4/5;object-fit:cover;object-position:40% center;width:100%;filter:saturate(.8)}.image-caption{display:flex;justify-content:space-between;margin-top:12px;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);gap:14px}.cv-list{margin:0}.cv-row{border-top:1px solid var(--line);padding:22px 0;display:grid;grid-template-columns:170px 1fr;gap:25px}.cv-row:last-child{border-bottom:1px solid var(--line)}.cv-row dt{font-size:12px;color:var(--muted)}.cv-row dd{margin:0;font-size:14px;line-height:1.9}.cv-row dd p+p{margin-top:7px}.reference-section{background:var(--soft);position:relative;overflow:hidden}.reference-section::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#52664e08 1px,transparent 1px),linear-gradient(90deg,#52664e08 1px,transparent 1px);background-size:46px 46px;pointer-events:none}.reference-section .wrap{position:relative}.reference-rows{margin-left:calc((100% - 50px)/3 + 50px)}.reference-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #bdc7b5;padding:17px 0;font:21px/1.4 var(--serif);transition:padding .25s}.reference-row:last-of-type{border-bottom:1px solid #bdc7b5}.reference-row:hover{padding-left:8px}.reference-row span:last-child{font:20px var(--sans)}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:12px;border-bottom:1px solid currentColor;padding-bottom:6px;margin-top:30px}.text-link span{font-size:18px}.gallery-section{padding-bottom:90px}.gallery-heading{align-items:end;margin-bottom:34px}.gallery-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-bottom:30px}.filter-list{display:flex;gap:8px;flex-wrap:wrap}.filter-button{background:none;border:1px solid var(--line);border-radius:40px;padding:8px 17px;font-size:11px;transition:all .2s}.filter-button:hover,.filter-button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.gallery-total{font-size:10px;color:var(--muted);white-space:nowrap}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 26px}.album-card{display:block;min-width:0}.album-image{position:relative;overflow:hidden;aspect-ratio:4/3;background:#e8eae1}.album-image>img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s;filter:saturate(.85)}.album-card.is-plan .album-image>img{object-fit:contain;padding:9px;background:#fff}.album-card:hover .album-image>img{transform:scale(1.045);filter:saturate(1)}.album-arrow{position:absolute;bottom:16px;right:16px;background:var(--paper);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .25s;font-size:20px}.album-card:hover .album-arrow{transform:rotate(45deg)}.album-info{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-top:15px}.album-info h3{font:22px/1.3 var(--serif);letter-spacing:-.5px}.album-info p{font-size:10px;color:var(--muted);padding-top:4px;white-space:nowrap}.gallery-empty{color:var(--muted);padding:35px 0}.interlude{height:400px;position:relative;overflow:hidden;background:#d9dfd4}.interlude img{width:100%;height:116%;position:absolute;top:-8%;object-fit:cover;object-position:50% 47%;filter:saturate(.7)}.contact-section{padding-bottom:95px}.contact-layout{display:grid;grid-template-columns:1fr 2fr;gap:50px}.contact-name{font:30px/1.25 var(--serif);max-width:270px}.contact-name small{display:block;font:12px/1.5 var(--sans);margin-top:18px;color:var(--muted)}.contact-links{border-top:1px solid var(--line)}.contact-line{display:grid;grid-template-columns:90px 1fr auto;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding:22px 0}.contact-line small{color:var(--muted);font-size:11px}.contact-line a{font-size:clamp(20px,2.5vw,36px);letter-spacing:-1px;overflow-wrap:anywhere}.contact-line a:hover{color:var(--accent)}.contact-line>span{font-size:26px}.site-footer{border-top:1px solid var(--line);padding:25px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:10px;color:var(--muted)}.footer-inner .footer-brand{color:var(--ink);font-size:12px}.footer-links{display:flex;gap:24px}.back-top{display:flex;gap:12px}.reveal{opacity:1;transform:none}.js .reveal.pending{opacity:0;transform:translateY(24px)}.js .reveal{transition:opacity .8s,transform .8s}.js .reveal.visible{opacity:1;transform:none}.dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-width:min(1160px,94vw);width:100%;max-height:90dvh;overflow:auto}.dialog::backdrop{background:#12221cd9;backdrop-filter:blur(7px)}.dialog-top{display:flex;justify-content:space-between;gap:25px;align-items:center;position:sticky;top:0;z-index:3;background:var(--paper);padding:25px 32px;border-bottom:1px solid var(--line)}.dialog-top h2{font-size:32px;letter-spacing:-1px}.dialog-top .eyebrow{margin-bottom:6px;color:var(--muted)}.dialog-body{padding:26px 32px 32px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-image{border:0;background:white;padding:0;text-align:left;overflow:hidden}.project-image img{width:100%;height:190px;object-fit:contain;transition:transform .5s}.project-image:hover img{transform:scale(1.035)}.project-image span{display:block;padding:12px 5px;font-size:11px;line-height:1.5}.documents-list{margin-top:26px;border-top:1px solid var(--line);padding-top:20px;display:flex;flex-wrap:wrap;gap:10px}.document-link{border:1px solid var(--line);font-size:11px;padding:10px 14px}.document-link:hover{background:var(--soft)}.lightbox{background:#15221c;border:0;padding:0;color:#fff;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;overflow:hidden}.lightbox::backdrop{background:#15221c}.lightbox-header{position:absolute;inset:0 0 auto;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:18px 28px;background:linear-gradient(#0b130ce6,transparent);gap:24px}.lightbox-header p{font-size:12px}.lightbox .round-button{color:white;border-color:#ffffff55}.lightbox .round-button:hover{background:#fff;color:var(--ink)}.lightbox-actions{display:flex;gap:10px}.lightbox-stage{position:absolute;inset:75px 70px 80px;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:pan-y}.lightbox-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:opacity .18s,transform .25s;transform-origin:center;cursor:zoom-in}.lightbox-image.is-zoomed{transform:scale(1.7);cursor:zoom-out}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:#15221c88;width:44px;height:44px}.lightbox-prev{left:15px}.lightbox-next{right:15px}.lightbox-caption{position:absolute;bottom:0;left:0;right:0;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #ffffff20;font-size:12px}.lightbox-caption small{color:#c3c9bc}.reference-page{padding-top:65px;min-height:75vh}.breadcrumb{display:flex;gap:12px;font-size:10px;color:var(--muted);margin-bottom:32px}.reference-page h1,.album-page h1{font:400 clamp(46px,6vw,86px)/1.1 var(--serif);letter-spacing:-3px;margin-bottom:28px}.reference-meta{display:flex;flex-wrap:wrap;gap:12px 32px;font-size:12px;color:var(--muted);padding-bottom:35px;border-bottom:1px solid var(--line)}.reference-layout{display:grid;grid-template-columns:230px 1fr;gap:60px;padding-top:45px;padding-bottom:90px}.reference-toc{align-self:start;position:sticky;top:120px;display:flex;flex-direction:column;gap:13px;font-size:12px}.reference-toc a:hover{color:var(--accent)}.reference-category{scroll-margin-top:120px;margin-bottom:56px}.reference-category h2{font-size:34px;letter-spacing:-1px;padding-bottom:22px;border-bottom:1px solid var(--line)}.reference-list{margin:0;padding:0;list-style:none}.reference-list li{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.7;overflow-wrap:anywhere}.source-date{font-size:11px;color:var(--muted)}.album-page{padding-top:60px;padding-bottom:80px}.album-page .project-grid{margin-top:35px}.album-page .project-image img{height:270px}.album-page .project-image{display:block}.album-page .project-image span{padding:12px}.noscript-note{padding:20px;background:var(--soft);font-size:13px}.print-button{border:1px solid var(--line);background:none;padding:10px 16px;font-size:11px;margin-top:28px}.print-button:hover{background:var(--soft)}
@media(min-width:1600px){.hero-stage{aspect-ratio:2.65}}
@media(max-width:1100px){.main-nav{gap:20px}.brand-name{font-size:16px}.brand{gap:8px}.hero h1{letter-spacing:-3px}.cv-row{grid-template-columns:140px 1fr;gap:18px}.section-heading,.cv-layout,.contact-layout{gap:35px;grid-template-columns:1fr 2fr}.reference-rows{margin-left:calc((100% - 35px)/3 + 35px)}.album-grid{gap:28px 20px}.album-info h3{font-size:19px}.reference-layout{gap:35px;grid-template-columns:190px 1fr}}
@media(max-width:850px){:root{--header:76px}.brand-mark{width:62px;transform:scale(.9);transform-origin:left center;margin-right:-7px}.menu-toggle{display:flex}.js .main-nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--paper);padding:20px var(--gutter) 30px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.js .main-nav.is-open{display:flex}.main-nav a{font-size:16px;padding:14px 0;border-bottom:1px solid var(--line)}.main-nav a::after{display:none}html:not(.js) .site-header{height:auto;position:relative}html:not(.js) .header-inner{flex-wrap:wrap;padding-top:10px;padding-bottom:10px}html:not(.js) .main-nav{flex-wrap:wrap;gap:8px 18px}html:not(.js) .main-nav a{font-size:12px}.hero{padding-top:30px}.hero-heading{grid-template-columns:1fr auto;gap:24px;padding:25px 0 30px}.hero h1{font-size:clamp(52px,8vw,75px);letter-spacing:-3px}.hero-person{min-width:175px;padding-left:18px}.hero-person p{font-size:21px}.hero-person small{font-size:11px}.hero-stage{aspect-ratio:1.85}.section{padding-top:75px;padding-bottom:75px}.section-heading,.cv-layout{grid-template-columns:1fr 2fr;gap:30px}.cv-row{grid-template-columns:1fr;gap:8px;padding:18px 0}.cv-portrait img{aspect-ratio:3/4}.reference-row{font-size:19px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-tools{align-items:start}.interlude{height:300px}.contact-layout{grid-template-columns:1fr 2fr;gap:30px}.contact-line{grid-template-columns:1fr auto;gap:4px}.contact-line small{grid-column:1/-1}.contact-line a{font-size:25px}.contact-name{font-size:25px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-layout{grid-template-columns:1fr;gap:30px}.reference-toc{position:static;flex-direction:row;flex-wrap:wrap;padding-bottom:25px;border-bottom:1px solid var(--line);gap:12px 22px}.footer-links{gap:16px}}
@media(max-width:560px){:root{--gutter:22px}.brand-name{font-size:15px}.brand-name small{font-size:8px}.hero-topline{font-size:9px;letter-spacing:1.1px}.hero-topline span:last-child{max-width:120px;text-align:right}.hero-heading{grid-template-columns:1fr;gap:24px}.hero h1{font-size:64px;letter-spacing:-3.5px}.hero h1 .company-suffix{font-size:10px;margin-left:8px}.hero-person{justify-self:start;padding:0;border:0;display:flex;align-items:baseline;gap:9px}.hero-person p{font:17px var(--sans)}.hero-person small{font-size:10px}.hero-stage{aspect-ratio:1.15;margin-left:calc(-1*var(--gutter));margin-right:calc(-1*var(--gutter))}.hero-slide img{object-position:46% center}.hero-caption{padding:13px 0;gap:8px}.hero-caption p{font-size:10px}.slider-controls{gap:8px}.round-button{width:34px;height:34px}.slide-count{font-size:9px;letter-spacing:1px;min-width:39px}.section{padding-top:60px;padding-bottom:60px}.section-heading{display:block;margin-bottom:28px}.section-index{margin-bottom:23px;padding:0}.section-index .eyebrow{font-size:9px}h2{font-size:42px;letter-spacing:-1.5px}.cv-layout{display:flex;flex-direction:column;gap:30px}.cv-portrait{position:static;width:100%}.cv-portrait img{aspect-ratio:1.35;object-position:center 48%}.cv-row{grid-template-columns:1fr;gap:7px}.cv-row dd{font-size:13px}.cv-row dt{font-size:11px}.reference-rows{margin-left:0}.reference-row{font-size:19px;padding:17px 0}.gallery-tools{flex-direction:column;gap:14px}.filter-list{gap:6px}.filter-button{padding:7px 12px;font-size:10px}.album-grid{gap:25px 14px}.album-image{aspect-ratio:1}.album-info{flex-direction:column;gap:2px;margin-top:10px}.album-info h3{font-size:19px}.album-info p{font-size:9px;padding:0}.album-arrow{width:28px;height:28px;bottom:10px;right:10px;font-size:16px}.interlude{height:240px}.contact-layout{grid-template-columns:1fr;gap:30px}.contact-name{font-size:27px;max-width:none}.contact-name small{margin-top:8px}.contact-line a{font-size:28px}.contact-line{padding:17px 0}.footer-inner{align-items:start;flex-wrap:wrap;gap:18px}.footer-links{width:100%;justify-content:space-between}.dialog{max-width:100vw;width:100vw;max-height:100dvh;height:100dvh;margin:0}.dialog-top{padding:18px 20px;align-items:start}.dialog-top h2{font-size:28px;line-height:1.15}.dialog-top .eyebrow{font-size:8px}.dialog-body{padding:20px}.project-grid{gap:12px}.project-image img{height:140px}.project-image span{font-size:10px}.lightbox-header{padding:15px 16px;align-items:start}.lightbox-header p{font-size:11px;padding-top:6px;max-width:65%}.lightbox-stage{inset:75px 15px 115px}.lightbox-arrow{width:34px;height:34px;top:auto;bottom:61px;transform:none}.lightbox-prev{left:16px}.lightbox-next{right:16px}.lightbox-caption{padding:15px 16px;font-size:10px;gap:12px}.lightbox-caption>span{max-width:75%}.lightbox-caption small{font-size:10px}.lightbox-actions{gap:7px}.reference-page,.album-page{padding-top:35px}.reference-page h1,.album-page h1{font-size:46px;letter-spacing:-2px;overflow-wrap:anywhere}.reference-meta{gap:10px;flex-direction:column;font-size:11px}.reference-layout{padding-top:28px}.reference-toc{font-size:11px}.reference-category h2{font-size:29px}.reference-list li{font-size:12px}.album-page .project-image img{height:155px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.js .reveal.pending{opacity:1;transform:none}.hero-slide,.interlude img{transform:none!important}}
@media print{.site-header,.site-footer,.reference-toc,.print-button,.back-top,.breadcrumb{display:none!important}body{background:white;color:black;font:11pt/1.5 Arial}.wrap{padding:0;max-width:none}.reference-page{padding:0}.reference-page h1{font-size:28pt}.reference-layout{display:block;padding-top:20px}.reference-category{margin-bottom:25px;scroll-margin:0}.reference-category h2{font-size:19pt;break-after:avoid}.reference-list li{font-size:10pt;break-inside:avoid}.reference-meta{font-size:10pt}.reference-category{break-inside:auto}@page{margin:18mm}}
html:not(.js) .slider-controls button,html:not(.js) .filter-list,html:not(.js) .print-button{display:none}
.pdf-cover{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font:48px var(--serif);color:var(--muted)}
@media(max-width:560px){h2{font-size:clamp(32px,10.6vw,42px)}.reference-page h1,.album-page h1{font-size:clamp(32px,9.8vw,46px)}.hero-person{flex-wrap:wrap;gap:4px 9px}}
