@font-face{font-family:StudioSerif;src:local('Baskerville');font-display:swap}
:root{--paper:#f4f1e9;--ink:#333e31;--muted:#717267;--line:#d6d5c8;--clay:#8b4837;--sand:#e6e1d5;--serif:StudioSerif,'Iowan Old Style','Palatino Linotype',Georgia,serif;--sans:'Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}em{font-weight:400}h1,h2,h3,.statement{font-family:var(--serif);font-weight:400}a:focus-visible,button:focus-visible{outline:2px solid var(--clay);outline-offset:6px}.skip{position:absolute;left:20px;top:-100px;background:var(--paper);padding:15px;z-index:10}.skip:focus{top:10px}.site-header{display:flex;justify-content:space-between;align-items:center;padding:35px 5.2%;gap:30px}.wordmark{display:inline-flex;flex-direction:column;gap:7px}.wordmark>span{font-family:var(--serif);font-size:31px;letter-spacing:-.8px}.wordmark small{font-size:9px;letter-spacing:3.4px;text-transform:uppercase}.site-header nav{display:flex;gap:38px;font-size:11px;letter-spacing:.6px}.site-header nav a{padding:12px 0;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--ink)}.site-header nav span{padding-left:12px}.hero{padding:46px 5.2% 0;position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:5.4%;align-items:center}.hero-copy{padding-bottom:50px}.eyebrow{text-transform:uppercase;font-size:9px;font-weight:500;letter-spacing:2.25px;line-height:1.8}.hero h1{font-size:clamp(43px,4.6vw,76px);line-height:1.08;letter-spacing:-2.5px;margin:29px -80px 27px 0;position:relative;z-index:1}.hero h1 em{color:var(--clay)}.hero-description{max-width:295px;font-size:13px;line-height:1.85;color:var(--muted)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;font-size:10px;text-transform:uppercase;letter-spacing:1.4px;border-bottom:1px solid var(--ink);padding:15px 0;margin-top:25px;transition:color .2s,gap .2s}.text-link:hover{color:var(--clay);gap:55px}.text-link span{font-size:20px}.hero-image img{aspect-ratio:1.04;max-height:690px;background:var(--sand)}.hero-image figcaption{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.1px;padding-top:15px;text-transform:uppercase}.hero-index{position:absolute;left:5.2%;bottom:1px;display:flex;align-items:center;gap:18px;font-family:var(--serif);font-size:32px;font-style:italic}.hero-index span{font-family:var(--sans);font-size:8px;letter-spacing:1.5px;font-style:normal;text-transform:uppercase}.section-pad{padding:110px 8.8%}.intro{padding-top:125px;padding-bottom:125px;text-align:center;max-width:1100px;margin:auto}.intro .statement{font-size:clamp(30px,3.2vw,48px);line-height:1.3;letter-spacing:-.7px;margin:26px 0}.statement em{color:var(--clay)}.intro-note{max-width:440px;margin:auto;font-size:12px;line-height:1.85;color:var(--muted)}.work{background:#eae6dc;padding-top:55px;padding-bottom:65px}.section-heading{display:flex;justify-content:space-between;border-bottom:1px solid #c9c7b9;padding-bottom:22px}.section-note{font-family:var(--serif);font-size:16px;font-style:italic}.project-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;margin:49px 0}.project-heading h2{font-size:clamp(45px,5.2vw,80px);letter-spacing:-2px}.project-heading>div{max-width:350px;margin-left:auto}.project-location{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;margin-bottom:13px}.project-heading>div>p:last-child{font-size:12px;line-height:1.8;color:#64675f}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:18px}.gallery-toolbar>p{font-size:10px;letter-spacing:.8px}.gallery-filters{display:flex;gap:5px}.gallery-filters button{border:1px solid transparent;color:var(--ink);padding:8px 17px;background:transparent;font-size:11px;border-radius:0}.gallery-filters button:hover{border-color:#979c8f}.gallery-filters button.active{background:var(--ink);color:var(--paper)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 26px;align-items:start}.gallery-item:nth-child(5n+1){grid-column:span 2}.gallery-item{border:0;background:none;color:inherit;text-align:left;padding:0;width:100%}.gallery-image{overflow:hidden;position:relative}.gallery-image img{aspect-ratio:1.38;transition:transform .6s ease;background:var(--sand)}.gallery-item:nth-child(5n+1) img{aspect-ratio:1.8;max-height:720px}.gallery-item:hover img{transform:scale(1.025)}.gallery-image::after{content:'↗';position:absolute;bottom:16px;right:16px;width:32px;height:32px;background:var(--paper);display:grid;place-items:center;font-size:20px;opacity:0;transition:opacity .2s}.gallery-item:hover .gallery-image::after,.gallery-item:focus-visible .gallery-image::after{opacity:1}.gallery-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:12px}.gallery-label .title{font-family:var(--serif);font-size:21px}.gallery-label .stage{font-size:8px;letter-spacing:1.4px;text-transform:uppercase}.photo-credit{font-size:9px;color:var(--muted);margin-top:35px;line-height:1.6}.studio{display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:center}.studio-art{position:relative}.studio-art img{aspect-ratio:.8;background:var(--sand)}.studio-seal{position:absolute;bottom:-22px;right:-30px;width:110px;height:110px;border-radius:50%;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:71px;letter-spacing:-15px;padding-right:13px}.studio-seal span{transform:translateY(-8px)}.studio h2{font-size:clamp(37px,3.6vw,56px);line-height:1.15;letter-spacing:-1.3px;margin:24px 0 27px}.studio-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#65695e;margin-bottom:18px}.approach{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.1fr;gap:10%;padding-top:78px;padding-bottom:100px}.approach h2{font-size:clamp(40px,4vw,60px);line-height:1.1;letter-spacing:-1.5px;margin-top:23px}.approach-list article{display:flex;gap:28px;padding:25px 0;border-bottom:1px solid var(--line)}.approach-list article:first-child{padding-top:0}.approach-list article>span{font-size:9px;letter-spacing:1px;padding-top:9px;color:var(--muted)}.approach h3{font-size:28px;margin-bottom:9px}.approach-list p{font-size:12px;line-height:1.85;color:var(--muted)}.contact{background:var(--ink);color:var(--paper);text-align:center;padding-top:85px;padding-bottom:85px}.contact>.eyebrow{color:#d6d6c5}.contact h2{font-size:clamp(48px,6vw,90px);line-height:1.05;letter-spacing:-2.4px;margin:28px 0 35px}.contact-link{display:inline-flex;gap:55px;align-items:center;border:1px solid #979d8c;padding:15px 23px;text-transform:uppercase;letter-spacing:1.6px;font-size:10px;transition:background .2s,color .2s}.contact-link:hover{background:var(--paper);color:var(--ink)}.contact-link span{font-size:21px}.contact>p:last-child{font-size:10px;color:#c2c8b9;margin-top:22px}footer{padding:35px 5.2%;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-wordmark>span{font-size:25px}.footer-wordmark small{font-size:7px;letter-spacing:2.8px}footer>p,footer>a:last-child{font-size:9px;letter-spacing:.5px;color:var(--muted)}.lightbox{border:0;background:var(--paper);color:var(--ink);width:100vw;max-width:none;height:100dvh;max-height:none;padding:25px 35px;margin:0}.lightbox::backdrop{background:#333e31e8}.lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.lightbox-top p{font-family:var(--serif);font-size:22px}.lightbox-top p span{font-family:var(--sans);font-size:9px;letter-spacing:1px;margin-left:20px;text-transform:uppercase}.lightbox button{border:0;background:transparent;color:var(--ink);padding:10px;font-size:22px}.lightbox-top button{font-size:11px;display:flex;gap:15px;align-items:center}.lightbox-top button span{font-size:30px}.lightbox-stage{display:grid;grid-template-columns:45px 1fr 45px;gap:20px;align-items:center;height:calc(100% - 95px)}.lightbox-stage figure{height:100%;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center}.lightbox-stage img{max-height:calc(100% - 50px);width:auto;max-width:100%;object-fit:contain}.lightbox-stage figcaption{font-size:12px;padding-top:17px;line-height:1.5;text-align:center}.lightbox-count{text-align:center;font-size:10px;letter-spacing:1px}.empty-message{padding:70px 0;grid-column:1/-1;font-family:var(--serif);font-size:26px}
@media(min-width:1600px){.hero,.site-header,footer{padding-left:max(5.2%,calc((100vw - 1440px)/2));padding-right:max(5.2%,calc((100vw - 1440px)/2))}.hero-index{left:max(5.2%,calc((100vw - 1440px)/2))}.section-pad:not(.intro){padding-left:max(8.8%,calc((100vw - 1320px)/2));padding-right:max(8.8%,calc((100vw - 1320px)/2))}}
@media(max-width:900px){.site-header nav{gap:20px}.hero{gap:4%;grid-template-columns:1fr 1fr}.hero h1{font-size:48px;margin-right:-45px}.hero-description{max-width:240px}.section-pad{padding:80px 6%}.hero-index{display:none}.hero-copy{padding-bottom:0}.studio{gap:9%}.studio-seal{right:-15px;width:85px;height:85px;font-size:55px}.project-heading{gap:30px}.project-heading h2{font-size:57px}.approach{gap:6%}}
@media(max-width:620px){.site-header{padding:25px 6%;align-items:flex-start;gap:15px}.wordmark>span{font-size:25px}.wordmark small{font-size:7px;letter-spacing:2.7px}.site-header nav{gap:0}.site-header nav a{font-size:10px}.site-header nav a:not(:last-child){display:none}.site-header nav span{padding-left:4px}.hero{display:flex;flex-direction:column;padding:40px 6% 0;gap:37px;align-items:stretch}.hero h1{font-size:clamp(39px,9.5vw,57px);margin:23px 0;letter-spacing:-1.6px}.hero-description{max-width:300px}.hero-image img{aspect-ratio:1.06}.hero-image figcaption{font-size:8px}.hero .text-link{margin-top:15px}.section-pad{padding:70px 6%}.intro .statement{font-size:32px}.intro-note{font-size:12px}.work{padding-top:35px}.section-note{font-size:14px}.project-heading{display:block;margin:30px 0}.project-heading h2{font-size:54px;margin-bottom:20px}.project-heading>div{margin-left:0;max-width:320px}.gallery-toolbar{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:22px}.gallery-filters{width:100%}.gallery-filters button{flex:1;border-color:var(--line);padding:11px 15px}.gallery{gap:25px 14px}.gallery-item:nth-child(n){grid-column:span 2}.gallery-item:nth-child(n) img{aspect-ratio:1.3}.gallery-label .title{font-size:21px}.gallery-image::after{opacity:1;width:27px;height:27px;bottom:12px;right:12px}.studio{grid-template-columns:1fr;gap:58px}.studio-art{max-width:90%}.studio-art img{aspect-ratio:.98}.studio-copy{max-width:450px}.studio h2{font-size:42px}.approach{grid-template-columns:1fr;gap:45px}.approach h2{font-size:45px}.approach-list article{gap:20px}.contact h2{font-size:50px;letter-spacing:-1.2px}.contact{padding-top:65px;padding-bottom:65px}footer{padding:30px 6%;flex-wrap:wrap;gap:25px}.footer-wordmark{width:100%}.lightbox{padding:15px 10px}.lightbox-top{padding:0 7px}.lightbox-top p span{display:none}.lightbox-stage{grid-template-columns:27px 1fr 27px;gap:4px}.lightbox button{padding:5px}.lightbox-top button{padding:8px}.lightbox-stage figcaption{font-size:11px}.lightbox-stage img{max-height:calc(100% - 75px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.gallery-item[data-stage="before"]{grid-column:span 1}.gallery-item[data-stage="before"] img{aspect-ratio:4/3}.gallery[data-filter="before"]{max-width:1100px}.photo-credit{max-width:700px}@media(max-width:620px){.gallery-item[data-stage="before"]{grid-column:span 2}}

.gallery[data-filter="compare"] .gallery-item{grid-column:span 1}.gallery[data-filter="compare"] img{aspect-ratio:4/3}.gallery[data-filter="compare"]{max-width:1100px}@media(max-width:620px){.gallery[data-filter="compare"]{gap:25px 10px}.gallery[data-filter="compare"] .gallery-label{display:block}.gallery[data-filter="compare"] .gallery-label .title{font-size:18px;display:block;margin-bottom:6px}.gallery[data-filter="compare"] .gallery-image::after{display:none}}
