@font-face{font-family:Cormorant;src:url('fonts/cormorant-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Cormorant;src:url('fonts/cormorant-500.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Cormorant;src:url('fonts/cormorant-600.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--paper:#f0ebe2;--ink:#282b27;--walnut:#634b3c;--olive:#71715f;--line:#c8bfb0;--muted:#695e52;--serif:Cormorant,Georgia,'Times New Roman',serif;--gutter:clamp(24px,3.3vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:20px;line-height:1.5;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.047em;line-height:.98}h1{font-size:clamp(48px,6.8vw,105px)}h2{font-size:clamp(34px,4.1vw,66px)}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:auto;max-width:100%;height:auto}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid currentColor;outline-offset:5px}a,button{touch-action:manipulation}::selection{background:#9b8975;color:#fff}main{min-height:40vh}.screen-reader-text,.skip-link{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute!important;white-space:nowrap}.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;top:12px;left:12px;padding:12px 20px;background:var(--ink);color:var(--paper);z-index:100}
.site-header{padding:21px var(--gutter);background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;z-index:3;min-height:84px}.wordmark{font:500 clamp(24px,2.55vw,38px)/1 var(--serif);letter-spacing:.105em;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:clamp(20px,3vw,50px);font-size:18px}.site-header nav>a{padding:7px 0 5px;border-bottom:1px solid transparent}.site-header nav>a[aria-current],.site-header nav>a:hover{border-bottom-color:var(--paper)}.languages{display:flex;gap:13px;margin-left:35px;font:11px/1.5 Arial,sans-serif;letter-spacing:1px}.languages a{padding:10px 0;opacity:.65}.languages a[aria-current]{opacity:1}.languages>span{align-self:center;opacity:.6}.menu-toggle{display:none}.monogram{font-family:var(--serif);font-weight:400;letter-spacing:-.23em;line-height:.7;user-select:none;pointer-events:none;display:block;padding-right:.15em}.eyebrow,.micro-copy{font-family:Arial,sans-serif;font-size:10px;font-weight:400;letter-spacing:2px;line-height:1.8;text-transform:uppercase}.eyebrow{margin-bottom:24px}.micro-copy{font-size:8px;line-height:1.9}.short-rule{display:block;width:46px;height:1px;background:currentColor;opacity:.6;margin:26px 0}.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:11px 23px;border:1px solid currentColor;font-size:21px;line-height:1.4;transition:background .2s,color .2s}.outline-button:hover{background:var(--ink);color:var(--paper)}.text-link,.quiet-link{display:inline-block;padding:4px 0;border-bottom:1px solid currentColor;font-size:18px;line-height:1.4}.quiet-link{font-size:15px}.section{padding:70px var(--gutter)}
.home-intro{display:grid;grid-template-columns:1.55fr 1fr 1fr;align-items:center;padding:47px var(--gutter);gap:34px}.intro-copy h2{font-size:clamp(35px,3.8vw,58px);margin-bottom:13px}.intro-copy p{font-size:21px;line-height:1.35;max-width:540px}.intro-copy .quiet-link{margin-top:18px}.category-door{border-left:1px solid var(--line);padding:29px 0 29px 35px;display:flex;align-items:baseline;justify-content:space-between;gap:20px;font-size:clamp(29px,3.6vw,55px);letter-spacing:-.04em;white-space:nowrap}.category-door>span:first-child{border-bottom:1px solid var(--muted);line-height:1.5}.category-door>span:last-child{font-size:.6em}.category-door:hover{color:var(--walnut)}.reference-strip{background:var(--olive);color:var(--paper);padding:28px var(--gutter);display:grid;grid-template-columns:1.25fr repeat(4,1fr);align-items:center;gap:0;font-size:19px}.reference-strip>a{display:flex;justify-content:space-between;padding-right:25px}.reference-strip>span{border-left:1px solid #aeae96;text-align:center;padding:0 15px}.site-footer{background:var(--ink);color:var(--paper);padding:34px var(--gutter) 18px;overflow:hidden}.footer-main{display:flex;align-items:center;gap:50px;position:relative;min-height:80px;padding-right:13%}.footer-title{font-size:clamp(32px,3.9vw,61px);letter-spacing:-.035em;line-height:1.1}.footer-email{border-left:1px solid #707366;padding:10px 0 10px 45px;font-size:21px;white-space:nowrap}.footer-email>span{margin-left:25px}.footer-main .monogram{position:absolute;right:0;font-size:160px;color:#8c8d73;opacity:.65}.footer-small{border-top:1px solid #494b41;margin-top:22px;padding-top:15px;display:flex;justify-content:space-between;font:10px/1.5 Arial,sans-serif;letter-spacing:.4px;color:#cacabc}.footer-small>div{display:flex;gap:25px}
.page-banner{background:var(--walnut);color:var(--paper);padding:48px var(--gutter) 46px;position:relative;overflow:hidden;display:flex;align-items:center;min-height:255px}.page-banner>div{position:relative;z-index:1;width:100%}.page-banner h1{max-width:1100px;font-size:clamp(48px,6.8vw,102px);line-height:1.02}.page-banner .eyebrow{margin-bottom:12px;opacity:.8}.banner-intro{margin-top:17px;font-size:23px;display:flex;align-items:center;gap:20px}.banner-intro:before{content:'';height:1px;width:45px;background:#aa9482}.page-banner>.monogram{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);font-size:330px;color:#b89980;opacity:.2}.gallery-section{padding:0 var(--gutter) 42px}.gallery-toolbar{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:27px 0}.filters{display:flex;align-items:center;font-size:22px}.filters a{padding:0 32px;border-right:1px solid var(--line);position:relative;white-space:nowrap}.filters a:first-child{padding-left:12px}.filters a:last-child{border:0}.filters a[aria-current]:after{content:'';position:absolute;bottom:-10px;left:25%;right:25%;height:2px;background:var(--olive)}.filters a[aria-current]{font-weight:600}.project-search{display:flex;flex-direction:row-reverse;border:1px solid #aaa18f;width:275px;max-width:40%}.project-search input{border:0;background:transparent;min-width:0;width:100%;font-size:17px;padding:8px 12px 8px 0;outline-offset:2px}.project-search input::placeholder{color:var(--muted);opacity:1}.project-search button{background:none;border:0;width:45px;display:grid;place-items:center;flex-shrink:0}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 30px}.project-card{display:block;min-width:0;position:relative}.project-card:nth-child(odd):after{content:'';position:absolute;top:0;bottom:0;right:-16px;width:1px;background:var(--line)}.project-cover{aspect-ratio:1.45;background:#ddd5c7;overflow:hidden;position:relative}.project-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-card:hover .project-cover img{transform:scale(1.025)}.cover-action{position:absolute;bottom:20px;right:20px;padding:8px 18px;background:var(--paper);color:var(--ink);opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s;font-size:17px}.project-card:hover .cover-action,.project-card:focus-visible .cover-action{opacity:1;transform:none}.cover-placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:110px;letter-spacing:-.2em;color:var(--walnut);opacity:.4}.project-caption{display:flex;align-items:center;gap:20px;margin-top:17px;flex-wrap:wrap}.project-caption h2{font-size:clamp(27px,2.65vw,42px);line-height:1.04;margin-right:auto;flex:1 1 48%;min-width:0;overflow-wrap:anywhere}.project-type{font:9px/1.6 Arial,sans-serif;letter-spacing:1.7px;text-transform:uppercase;border-left:1px solid var(--line);padding:9px 0 9px 15px;color:var(--muted)}.album-link{font-size:17px;border-bottom:1px solid var(--muted);white-space:nowrap}.admin-note{background:#e3dccf;color:#51473c;font:12px/1.6 Arial,sans-serif;padding:13px 17px;border-left:2px solid var(--walnut);margin:0 0 25px}.draft-label{display:block;font:10px/1.5 Arial,sans-serif;color:var(--muted);margin-top:10px}.load-navigation{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:46px;position:relative;min-height:30px}.load-navigation:before,.load-navigation:after{content:'';height:1px;background:var(--line);flex:1}.load-navigation .outline-button{padding:8px 29px;font-size:22px;white-space:nowrap}.load-more[aria-disabled]{opacity:.6;pointer-events:none}.previous-page{font-size:16px}.empty-state{text-align:center;padding:75px 20px}.empty-state h2{font-size:40px}.empty-state p{margin:20px auto;max-width:500px}.error-banner{min-height:65vh}.error-banner h1{margin-bottom:40px;max-width:900px}
.album-banner{padding-top:28px;padding-bottom:30px}.back-link{display:inline-block;font-size:18px;border-bottom:1px solid #bba795;padding-bottom:3px;margin-bottom:23px}.album-banner h1{font-size:clamp(45px,6vw,90px);max-width:1000px;line-height:.97}.album-banner .eyebrow{margin-bottom:12px}.album-body{padding:24px var(--gutter) 23px}.album-image{display:block;position:relative;background:#e2dace;overflow:hidden}.album-image>img{width:100%;height:auto}.album-lead{max-height:none}.album-lead>img{max-height:900px;object-fit:contain}.enlarge{position:absolute;right:15px;bottom:15px;background:var(--paper);border:1px solid var(--walnut);padding:7px 17px;font-size:18px;transition:background .2s,color .2s}.album-image:hover .enlarge{background:var(--walnut);color:var(--paper)}.album-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.album-grid .enlarge{font-size:15px;padding:5px 12px;opacity:0}.album-grid .album-image:hover .enlarge,.album-grid .album-image:focus-visible .enlarge{opacity:1}.detail-heading{display:flex;align-items:center;gap:25px;padding:26px 0 18px}.detail-heading h2{font-size:40px;line-height:1.1}.detail-heading>span{height:1px;background:var(--line);flex:1}.photo-hint{font-size:17px;color:var(--muted);margin-top:13px}.album-description{max-width:880px;margin:35px auto}.album-navigation{display:grid;grid-template-columns:1fr 1fr 1fr;background:var(--walnut);color:var(--paper);padding:22px var(--gutter);font-size:22px}.album-navigation>div:last-child{text-align:right}.album-navigation>a{border-left:1px solid #ad9681;border-right:1px solid #ad9681;text-align:center}.album-navigation>a>span{margin-right:15px}.album-navigation a:hover{text-decoration:underline;text-underline-offset:6px}
.about-hero{display:grid;grid-template-columns:42% 58%;background:var(--walnut);color:var(--paper);max-height:920px;overflow:hidden}.about-panel{padding:65px 12% 45px var(--gutter);position:relative}.about-panel h1{font-size:clamp(110px,13vw,205px);line-height:.77;letter-spacing:-.055em;margin:25px 0 40px;position:relative;z-index:1}.about-intro{font-size:clamp(22px,2vw,30px);max-width:400px;line-height:1.3}.about-panel .micro-copy{margin-top:35px}.portrait img{height:100%;width:100%;object-fit:cover;object-position:center 34%;max-height:920px}.about-story{display:grid;grid-template-columns:42% 58%;padding:65px var(--gutter) 70px;gap:0}.story-heading{position:relative;padding-right:50px;overflow:hidden;min-height:380px}.story-heading h2{font-size:clamp(37px,4.5vw,70px);line-height:.98;max-width:520px}.story-heading .monogram{font-size:250px;color:#c1b5a3;opacity:.5;margin-top:70px}.prose{font-size:21px;line-height:1.65}.prose p{margin:0 0 24px}.prose p:last-child{margin-bottom:0}.prose p:first-child{font-size:26px;line-height:1.4}.prose h2{margin:30px 0 20px}.prose a{text-decoration:underline;text-underline-offset:3px}.about-story .prose{border-left:1px solid var(--line);padding-left:45px}.reference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.reference-grid figure{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px;min-width:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;min-height:230px}.reference-grid img{height:115px;width:100%;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1);transition:filter .2s}.reference-grid figure:hover img{filter:none}.reference-grid figcaption{font-size:17px;text-align:center}.references-page>.prose:not(:empty){margin-top:40px}.contact-hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.contact-heading{background:var(--walnut);color:var(--paper);padding:60px var(--gutter);position:relative;overflow:hidden}.contact-heading h1{font-size:clamp(60px,7vw,105px);margin-bottom:30px;position:relative;z-index:1}.contact-heading>p:not(.eyebrow){max-width:370px;font-size:24px;line-height:1.4;position:relative;z-index:1}.contact-heading .monogram{font-size:300px;position:absolute;bottom:15px;right:25px;opacity:.18;color:#c1a389}.contact-details{padding:60px 8%}.contact-details>div{border-bottom:1px solid var(--line);padding:0 0 27px;margin-bottom:27px}.contact-details .eyebrow{color:var(--muted);margin-bottom:8px}.contact-details>div>a:not(.text-link){font-size:clamp(24px,2.8vw,43px);letter-spacing:-.025em;overflow-wrap:anywhere}.contact-details>div>p:not(.eyebrow){max-width:470px;font-size:22px;line-height:1.4;margin-bottom:18px}.contact-details .contact-social{display:flex;gap:30px;border:0;margin-bottom:0;padding:0}.contact-details .contact-social>a:not(.text-link){font-size:18px;letter-spacing:0}.generic-page{max-width:1150px;margin:auto;min-height:60vh}.generic-page h1{margin-bottom:40px}.journal-item{border-bottom:1px solid var(--line);padding:35px 0}.journal-item h2{font-size:40px;margin-bottom:20px}
.lightbox{position:fixed;inset:0;margin:0;border:0;padding:65px;background:#20221f;color:var(--paper);width:100vw;height:100dvh;max-width:none;max-height:none;overflow:hidden}.lightbox::backdrop{background:#20221f}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.lightbox-stage>img{max-width:100%;max-height:100%;object-fit:contain;width:auto;height:auto;user-select:none}.lightbox button{position:absolute;z-index:2;background:var(--ink);color:var(--paper);border:1px solid #7b7b69;width:44px;height:44px;font:26px/1 Arial,sans-serif;display:grid;place-items:center}.lightbox-close{right:20px;top:15px}.lightbox-prev{left:12px;top:calc(50% - 22px)}.lightbox-next{right:12px;top:calc(50% - 22px)}.lightbox-count{position:absolute;bottom:15px;left:0;right:0;text-align:center;font:12px/1.5 Arial,sans-serif;pointer-events:none}
@media(min-width:1900px){body{max-width:1900px;margin:auto;border-left:1px solid var(--line);border-right:1px solid var(--line)}}
@media(max-width:1100px){.site-header nav{gap:24px;font-size:16px}.languages{margin-left:5px}.home-intro{gap:22px}.category-door{padding-left:22px;font-size:36px}.intro-copy p{font-size:19px}.project-caption{gap:12px}.project-caption h2{flex-basis:100%;font-size:35px}.project-type{padding-left:0;border:0}.album-link{margin-left:auto}.footer-main{gap:25px;padding-right:12%}.footer-email{padding-left:25px;font-size:18px}.footer-email>span{margin-left:10px}.footer-main .monogram{font-size:120px}.about-panel{padding-top:50px;padding-right:10%}.about-panel h1{font-size:150px}.about-intro{font-size:25px}.about-panel .micro-copy{margin-top:20px}.reference-strip{font-size:17px}.reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.site-header{min-height:76px;padding:21px var(--gutter);flex-wrap:wrap;gap:0}.wordmark{font-size:27px}.menu-toggle{display:flex;align-items:center;gap:18px;border:0;background:none;padding:4px 0;font-size:18px}.menu-toggle span{font:24px/1 Arial,sans-serif}.site-header nav{display:none;width:100%;padding-top:28px;align-items:flex-start;gap:17px;font-size:22px}.site-header nav.is-open{display:flex;flex-direction:column}.languages{margin-left:0;margin-top:7px;gap:18px}.home-intro{grid-template-columns:1fr 1fr;gap:25px;padding-top:35px;padding-bottom:35px}.intro-copy{grid-column:1/-1}.intro-copy h2{font-size:45px}.category-door{padding:15px 20px 0 0;border-left:0;border-top:1px solid var(--line);font-size:38px}.reference-strip{grid-template-columns:repeat(2,1fr);gap:17px 0;padding-top:22px;padding-bottom:22px}.reference-strip>a{grid-column:1/-1;border-bottom:1px solid #aaa98e;padding-bottom:12px;padding-right:0;max-width:100%;font-size:19px}.reference-strip>span:nth-child(even){border-left:0;text-align:left;padding-left:0}.footer-title{font-size:40px}.footer-email{font-size:18px;padding-left:20px}.footer-main .monogram{font-size:100px;right:0}.page-banner{padding-top:38px;padding-bottom:35px;min-height:220px}.page-banner h1{font-size:62px}.page-banner>.monogram{font-size:240px}.gallery-toolbar{gap:20px}.filters{font-size:20px}.filters a{padding:0 19px}.filters a:first-child{padding-left:0}.project-search{width:220px}.project-grid{gap:28px 23px}.project-card:nth-child(odd):after{right:-12px}.project-cover{aspect-ratio:1.3}.about-hero{grid-template-columns:45% 55%;max-height:none}.about-panel{padding:40px 24px}.about-panel h1{font-size:120px;margin-top:20px;margin-bottom:28px}.about-intro{font-size:23px}.about-panel .short-rule{margin:23px 0}.about-panel .micro-copy{display:none}.portrait img{max-height:none}.about-story{grid-template-columns:1fr;padding:40px var(--gutter);gap:30px}.story-heading{min-height:0;padding-right:0}.story-heading h2{font-size:47px}.story-heading .monogram{display:none}.about-story .prose{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:30px}.contact-hero{grid-template-columns:1fr 1fr}.contact-heading h1{font-size:66px}.contact-heading{padding:42px 24px}.contact-heading>p:not(.eyebrow){font-size:22px}.contact-details{padding:42px 24px}.contact-details>div>a:not(.text-link){font-size:26px}.contact-details>div>p:not(.eyebrow){font-size:20px}.album-navigation{font-size:19px}.album-navigation>a>span{margin-right:6px}.detail-heading h2{font-size:35px}}
@media(max-width:600px){body{font-size:19px}.home-intro{padding-top:33px;padding-bottom:33px;gap:27px 22px}.intro-copy h2{font-size:43px}.intro-copy p{font-size:21px;line-height:1.4}.intro-copy .quiet-link{font-size:17px;margin-top:16px}.category-door{font-size:34px;gap:12px;padding-right:0}.reference-strip{font-size:18px}.footer-main{display:block;min-height:130px;padding-right:55px}.footer-title{font-size:38px;display:inline-block;max-width:280px;line-height:1.05}.footer-email{font-size:19px;padding:17px 0 0;border:0;display:block;white-space:normal;overflow-wrap:anywhere}.footer-main .monogram{bottom:0;right:0;font-size:85px;opacity:.45}.footer-small{font-size:9px;flex-wrap:wrap;gap:15px;line-height:1.6}.footer-small>div{gap:22px}.site-footer{padding-top:28px}.page-banner{min-height:220px;padding-top:32px;padding-bottom:30px}.page-banner h1{font-size:clamp(45px,12vw,68px);line-height:1}.page-banner>.monogram{font-size:210px;right:15px;opacity:.13}.page-banner .eyebrow{font-size:9px}.banner-intro{font-size:20px;line-height:1.3;gap:13px;margin-top:18px}.banner-intro:before{width:25px;flex-shrink:0}.gallery-toolbar{flex-wrap:wrap;padding:22px 0;gap:24px}.filters{font-size:21px;width:100%;justify-content:space-between}.filters a{padding:0 20px;flex:1;text-align:center}.filters a:first-child{padding-left:0}.filters a:last-child{padding-right:0}.filters a[aria-current]:after{left:20%;right:20%;bottom:-7px}.project-search{width:100%;max-width:none}.project-search input{font-size:18px;padding:10px 12px 10px 0}.project-grid{grid-template-columns:1fr;gap:33px}.project-card:nth-child(odd):after{display:none}.project-cover{aspect-ratio:1.35}.project-caption{margin-top:13px;gap:10px}.project-caption h2{font-size:34px;line-height:1.07}.project-type{font-size:9px;letter-spacing:1.4px}.album-link{font-size:18px}.load-navigation{gap:12px;margin-top:32px}.load-navigation .outline-button{font-size:21px;padding:8px 20px}.load-navigation:has(.previous-page){flex-wrap:wrap}.load-navigation:has(.previous-page):before,.load-navigation:has(.previous-page):after{display:none}.album-banner h1{font-size:clamp(40px,11vw,60px)}.album-banner{padding-top:23px}.back-link{font-size:17px;margin-bottom:20px}.album-body{padding-top:16px;padding-bottom:20px}.album-lead>img{max-height:none}.enlarge{right:8px;bottom:8px;font-size:16px;padding:5px 11px}.detail-heading{padding:23px 0 14px;gap:15px}.detail-heading h2{font-size:31px}.album-grid{grid-template-columns:1fr;gap:15px}.album-grid .enlarge{opacity:1;font-size:15px}.photo-hint{font-size:17px;line-height:1.35}.album-navigation{padding:20px var(--gutter);grid-template-columns:1fr 1fr;font-size:18px;gap:20px}.album-navigation>a{grid-row:2;grid-column:1/-1;border:0;border-top:1px solid #aa9382;padding-top:15px}.album-navigation>div:last-child{grid-column:2;grid-row:1}.about-hero{display:flex;flex-direction:column}.about-panel{padding:40px var(--gutter) 32px}.about-panel .eyebrow{font-size:9px;margin-bottom:15px}.about-panel h1{font-size:90px;line-height:.85;margin:12px 0 25px}.about-panel h1 br{display:none}.about-panel h1 br:after{content:' '}.about-panel h1{word-spacing:-.05em}.about-intro{font-size:24px;max-width:400px}.about-panel .short-rule{display:none}.portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center 27%}.about-story{padding-top:35px;padding-bottom:40px;gap:26px}.story-heading h2{font-size:43px}.story-heading .eyebrow{font-size:9px}.story-heading .short-rule{display:none}.prose{font-size:21px;line-height:1.55}.prose p:first-child{font-size:25px;line-height:1.4}.prose p{margin-bottom:23px}.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-grid figure{min-height:170px;padding:19px 13px;gap:14px}.reference-grid img{height:80px}.reference-grid figcaption{font-size:16px;line-height:1.2}.section{padding:35px var(--gutter)}.contact-hero{grid-template-columns:1fr}.contact-heading{padding:40px var(--gutter);min-height:380px}.contact-heading h1{font-size:75px}.contact-heading>p:not(.eyebrow){max-width:290px}.contact-heading .monogram{font-size:240px;right:20px}.contact-details{padding:35px var(--gutter)}.contact-details>div>a:not(.text-link){font-size:30px}.contact-details>div>p:not(.eyebrow){font-size:22px}.lightbox{padding:65px 40px}.lightbox button{width:34px;height:42px;font-size:21px}.lightbox-prev{left:2px}.lightbox-next{right:2px}.lightbox-close{right:12px}.generic-page h1{font-size:50px}.error-banner{min-height:65vh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.about-panel h1>span{display:block}@media(max-width:600px){.about-panel h1>span{display:inline}.about-panel h1{font-size:clamp(68px,19vw,100px)}}
.lightbox button[hidden]{display:none}

/* A solid panel and a separate image column: text never overlaps photography. */
.home-hero{display:grid;grid-template-columns:minmax(0,44fr) minmax(0,56fr);min-height:700px;background:var(--walnut);color:var(--paper)}
.home-hero-panel{grid-column:1;grid-row:1;min-width:0;padding:65px clamp(32px,4.5vw,86px) 35px var(--gutter);background:var(--walnut);display:flex;flex-direction:column;align-items:flex-start}
.home-hero h1{font-size:clamp(55px,6.5vw,105px);line-height:.96;letter-spacing:-.045em;max-width:100%;width:100%;overflow-wrap:anywhere;text-wrap:initial}
.home-hero-photo{grid-column:2;grid-row:1;min-width:0;position:relative}
.home-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.home-hero .outline-button{font-size:21px;max-width:100%;gap:22px}
.home-hero .outline-button:hover{background:var(--paper);color:var(--walnut)}
.hero-signature{width:100%;flex:1;min-height:110px;display:flex;align-items:flex-end;justify-content:flex-end;padding-top:30px}
.hero-signature .monogram{font-size:130px;color:#bea38a;opacity:.28}
@media(max-width:1100px){.home-hero{min-height:610px}.home-hero-panel{padding-top:55px}.home-hero h1{font-size:clamp(50px,6.5vw,72px)}}
@media(max-width:700px){.home-hero{grid-template-columns:minmax(0,1fr);min-height:0}.home-hero-panel{padding:42px var(--gutter) 30px;grid-column:1;grid-row:1}.home-hero h1{font-size:clamp(52px,12vw,78px);max-width:100%}.home-hero-photo{grid-column:1;grid-row:2;aspect-ratio:1.2}.hero-signature{min-height:65px;padding-top:22px}.hero-signature .monogram{font-size:90px}.home-hero .short-rule{margin:22px 0}.home-hero .outline-button{font-size:20px}}
@media(max-width:400px){.home-intro{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 15px}.intro-copy{min-width:0}.category-door{min-width:0;font-size:29px;gap:10px;padding-right:0}.intro-copy h2{font-size:38px}}

/* 2.2: quieter text panels, more space for photography. */
.home-hero{grid-template-columns:minmax(0,34fr) minmax(0,66fr);min-height:620px}
.home-hero-panel{padding:52px var(--gutter) 30px}
.home-hero h1{font-size:clamp(40px,5.2vw,88px)}
.hero-signature{min-height:85px}
.hero-signature .monogram{font-size:110px}
.home-hero .outline-button{font-size:19px;gap:16px;padding:10px 17px}
.about-hero{width:calc(100% - var(--gutter) * 2);max-width:1040px;margin:40px auto;grid-template-columns:minmax(0,40fr) minmax(0,60fr);max-height:none;overflow:visible;align-items:start;background:var(--paper)}
.about-panel{padding:40px clamp(24px,3vw,40px);min-width:0;background:var(--walnut);align-self:stretch}
.about-panel h1{font-size:clamp(64px,8vw,116px);line-height:.88;margin:24px 0 30px;overflow-wrap:anywhere}
.about-panel .eyebrow{font-size:9px;letter-spacing:1.4px}
.about-intro{font-size:clamp(20px,1.9vw,26px);line-height:1.35}
.portrait{width:100%;aspect-ratio:3/4;align-self:start;min-width:0}
.portrait img{width:100%;height:100%;max-height:none;aspect-ratio:3/4;object-fit:contain;object-position:center}
@media(max-width:700px){.home-hero{grid-template-columns:minmax(0,1fr);min-height:0}.home-hero-panel{padding:38px var(--gutter) 28px}.home-hero h1{font-size:clamp(52px,12vw,78px)}.hero-signature{min-height:65px}.hero-signature .monogram{font-size:90px}}
@media(max-width:600px){.about-hero{display:flex;flex-direction:column;width:calc(100% - 32px);margin:24px auto}.about-panel{width:100%;padding:30px 24px}.about-panel h1{font-size:clamp(62px,16vw,90px);line-height:1;margin:16px 0 22px}.about-intro{font-size:23px}.portrait{width:100%;aspect-ratio:3/4}.portrait img{aspect-ratio:3/4;height:100%;object-fit:contain}.about-story{padding-top:15px}}

/* 2.3: approved larger type; full-width biography with independent 3:4 photo. */
.home-hero{min-height:0;grid-template-columns:minmax(0,36fr) minmax(0,64fr)}
.home-hero-panel{padding:34px clamp(24px,2.5vw,48px) 38px;container-type:inline-size}
.home-hero h1{font-size:clamp(50px,8.3vw,158px);font-size:26cqw;line-height:.94;letter-spacing:-.05em;overflow-wrap:normal}
.home-hero .short-rule{margin:25px 0}
.home-hero .outline-button{font-size:22px;padding:11px 23px}
.about-hero{display:grid;width:100%;max-width:none;margin:0;grid-template-columns:minmax(0,58fr) minmax(0,42fr);align-items:start;background:var(--walnut)}
.about-panel{width:100%;padding:clamp(30px,3.4vw,64px);display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}
.about-panel .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:18px}
.about-panel h1{font-size:clamp(90px,10vw,170px);line-height:.86;margin:0 0 30px;letter-spacing:-.05em}
.about-panel h1>span{display:block}
.about-intro{font-size:clamp(22px,2.1vw,34px);line-height:1.26;max-width:none}
.about-scope{margin-top:23px}
.about-panel .short-rule{display:block;margin:25px 0 16px}
.about-panel .text-link{font-size:22px}
.portrait{width:100%;aspect-ratio:3/4;align-self:start;line-height:0}
.portrait img{display:block;width:100%;height:100%;aspect-ratio:3/4;max-height:none;object-fit:contain}
.home-intro,.about-story,.gallery-section,.album-body,.references-page,.contact-details,.generic-page{color:#000}
.category-door:hover,.project-type,.photo-hint,.project-search input::placeholder{color:#000}
@media(max-width:1000px) and (min-width:701px){.about-panel h1{font-size:clamp(76px,10vw,100px)}.about-panel{padding:28px}.about-intro{font-size:22px}.about-panel .text-link{font-size:20px}}
@media(max-width:700px){.home-hero{grid-template-columns:minmax(0,1fr)}.home-hero-panel{padding:30px 24px}.home-hero h1{font-size:26cqw}.home-hero .outline-button{font-size:21px}.about-hero{display:flex;flex-direction:column;width:100%;margin:0}.about-panel{padding:35px 24px}.about-panel h1{font-size:clamp(88px,22vw,135px)}.about-intro{font-size:24px}.portrait{width:100%}.about-story{padding-top:35px}}
/* Keep the biography text within the height of its uncropped 3:4 portrait. */
@media(min-width:1101px){.about-panel{padding:clamp(30px,2.8vw,53px)}.about-panel h1{font-size:clamp(90px,9.4vw,160px);margin-bottom:24px}.about-intro{font-size:clamp(22px,2vw,32px)}.about-scope{margin-top:20px}.about-panel .short-rule{margin:20px 0 12px}}
@media(max-width:1100px){.about-hero{display:flex;flex-direction:column;width:100%;margin:0}.about-panel{padding:35px 24px}.portrait{width:100%}}

/* Gallery date order beside search; follows filters, search and pagination. */
.gallery-controls{display:flex;align-items:center;gap:12px;margin-left:auto;min-width:0}
.gallery-controls select{font-family:inherit;font-size:18px;line-height:1.3;color:var(--ink);background:transparent;border:1px solid #aaa18f;padding:9px 28px 9px 12px;max-width:100%;min-height:42px}
.gallery-controls .project-search{max-width:none;width:240px}
@media(max-width:1100px){.gallery-toolbar{flex-wrap:wrap}.gallery-controls{margin-left:0}}
@media(max-width:600px){.gallery-controls{width:100%;gap:8px}.gallery-controls select{font-size:16px;max-width:46%;padding-left:8px;padding-right:8px}.gallery-controls .project-search{flex:1;min-width:0;width:auto}.gallery-controls .project-search input{font-size:16px}}
