.projects-hero{position:relative;min-height:500px;height:33.854vw;color:#fff}.projects-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.projects-hero:after{content:'';position:absolute;inset:0;background:rgba(20,19,15,.28)}.projects-hero-content{position:relative;z-index:1;padding-top:4.635vw;height:100%;display:flex;flex-direction:column}.projects-hero .eyebrow{color:#fff;font-size:clamp(10px,.729vw,14px)}.projects-hero h1{font-size:clamp(58px,4.583vw,88px);line-height:1;margin-top:30px}.projects-hero-description{font-size:clamp(15px,1.146vw,22px);line-height:1.55;margin-top:26px!important}.projects-hero-caption{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:auto;padding-bottom:24px}.projects-hero-caption p{font-size:clamp(10px,.677vw,13px);letter-spacing:.1em}.projects-hero-caption h2{font-size:clamp(26px,1.979vw,38px);line-height:1.25;margin-top:12px}.projects-hero-caption>a{font-size:clamp(10px,.833vw,16px);letter-spacing:.06em;white-space:nowrap;padding-bottom:8px}.projects-hero a:hover{color:#e1cda7}
.projects-toolbar{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:clamp(32px,4.16vw,80px) 0 32px}.project-filters{display:flex;gap:clamp(20px,3.2vw,62px);flex-wrap:wrap}.project-filters button{border:0;border-bottom:1px solid transparent;padding:0 0 8px;background:transparent;color:var(--muted);font:inherit;font-size:clamp(11px,.833vw,16px);letter-spacing:.08em;cursor:pointer}.project-filters button[aria-pressed=true]{color:var(--ink);border-color:#8a7248}#projects-count{font-size:clamp(10px,.729vw,14px);color:#8a7248;white-space:nowrap}.projects-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:60px 1.667vw;align-items:start}.project-case{scroll-margin-top:180px;min-width:0}.project-case[hidden]{display:none}.case-wide{grid-column:span 12}.case-half{grid-column:span 6}.case-narrow{grid-column:span 3}.case-large{grid-column:span 9}.case-medium{grid-column:span 8}.case-small{grid-column:span 4;padding-top:90px}.project-image{border:0;padding:0;display:block;width:100%;background:#f5f2eb;cursor:zoom-in;overflow:hidden}.project-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-image:hover img{transform:scale(1.025)}.case-wide .project-image{aspect-ratio:1740/820}.case-half .project-image{aspect-ratio:854/720}.case-narrow .project-image{aspect-ratio:450/700}.case-large .project-image{aspect-ratio:1258/820}.case-medium .project-image{aspect-ratio:1168/820}.case-small .project-image{aspect-ratio:540/670}.project-location{font-size:clamp(10px,.625vw,12px);color:#8a7248;letter-spacing:.06em;margin-top:18px!important}.project-case h2{font-size:clamp(28px,2.083vw,40px);line-height:1.1;margin-top:14px}.case-narrow h2,.case-small h2{font-size:clamp(26px,1.667vw,32px)}.project-description{font-size:clamp(14px,.9375vw,18px);color:var(--muted);line-height:1.555;margin-top:14px!important;max-width:950px}.projects-shown{padding:50px 0 36px;font-size:12px;letter-spacing:.08em;color:#8a7248}.projects-grid.is-filtered .project-case{grid-column:span 6;padding-top:0}.projects-grid.is-filtered .project-image{aspect-ratio:854/720}.projects-cta{position:relative;display:grid;grid-template-columns:1fr .55fr;gap:12%;align-items:center;padding-top:60px;padding-bottom:60px;min-height:27.083vw;color:#f7f4ee}.projects-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.projects-cta:after{content:'';position:absolute;inset:0;background:rgba(25,24,19,.48)}.projects-cta>div,.projects-cta>a{position:relative;z-index:1}.projects-cta h2{font-size:clamp(48px,3.958vw,76px);line-height:1.03}.projects-cta p{font-size:clamp(15px,1.094vw,21px);line-height:1.524;color:#f7f4eebf;margin-top:26px;max-width:730px}.projects-cta .button.gold{padding:24px 32px;min-height:64px;height:auto;letter-spacing:.1em}
#project-photo-dialog{border:0;padding:0;background:transparent;max-width:94vw;max-height:94vh;max-height:94dvh}#project-photo-dialog::backdrop{background:#26221ccc}#project-photo-dialog img{display:block;max-width:94vw;max-height:90vh;max-height:90dvh;object-fit:contain}#project-photo-dialog button{position:absolute;right:12px;top:12px;background:#fff;border:0;width:42px;height:42px;font-size:28px;cursor:pointer}.projects-page button:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
@media(max-width:900px){.projects-hero{height:560px}.projects-hero-content{padding-top:45px}.projects-hero-caption{flex-wrap:wrap}.projects-grid{gap:40px 20px}.case-narrow,.case-small,.case-large,.case-medium{grid-column:span 6;padding-top:0}.case-narrow .project-image,.case-small .project-image,.case-large .project-image,.case-medium .project-image{aspect-ratio:4/5}.projects-toolbar{align-items:flex-start}.projects-cta{gap:40px;grid-template-columns:1fr 1fr}}
@media(max-width:600px){.projects-hero{height:580px}.projects-hero h1{font-size:clamp(40px,10vw,56px)}.projects-hero-description{font-size:15px;margin-top:24px!important}.projects-hero-description br{display:none}.projects-hero-caption{gap:16px;padding-bottom:28px}.projects-hero-caption p{line-height:1.7;font-size:9px}.projects-hero-caption h2{font-size:28px;max-width:300px}.projects-toolbar{flex-direction:column;gap:18px;padding:32px 0 26px}.project-filters{gap:18px 22px}.project-filters button{font-size:10px}.projects-grid{display:flex;flex-direction:column;gap:36px}.project-case{width:100%}.projects-grid .project-image,.projects-grid.is-filtered .project-image{aspect-ratio:4/3}.projects-grid .case-narrow .project-image,.projects-grid .case-small .project-image{aspect-ratio:4/5}.project-case h2{font-size:30px}.project-description{font-size:14px;line-height:1.6}.projects-shown{padding:32px 0}.projects-cta{grid-template-columns:1fr;gap:30px;padding-top:40px;padding-bottom:40px}.projects-cta h2{font-size:52px}.projects-cta p{font-size:15px}.projects-cta .button.gold{max-width:100%}}

.real-projects .project-image,.projects-grid.real-projects.is-filtered .project-image{aspect-ratio:auto;background:transparent}
.real-projects .project-image img{height:auto;object-fit:contain}
.real-projects .case-half .project-image img{max-height:680px;width:100%;object-fit:contain}
.project-thumbnails{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.project-thumbnails button{border:1px solid #e3dccb;padding:0;background:#f5f2eb;width:74px;height:90px;cursor:zoom-in}
.project-thumbnails img{display:block;width:100%;height:100%;object-fit:contain}
#project-photo-dialog{background:#26221c;overflow:hidden}
#project-photo-dialog>img{max-height:80vh;max-height:80dvh}
#project-photo-dialog .project-photo-controls{display:flex;align-items:center;justify-content:space-between;padding:12px;color:#f7f4ee;font-size:13px}
#project-photo-dialog .project-photo-controls button{position:static;width:42px;height:36px;color:#f7f4ee;background:transparent;font-size:24px}
@media(max-width:600px){.project-thumbnails button{width:60px;height:74px}.real-projects .case-half .project-image img{max-height:none}}
/* Fit project photographs to the available viewport without cropping. */
.projects-grid.real-projects .project-image,.projects-grid.real-projects.is-filtered .project-image{width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;background:transparent}
.projects-grid.real-projects .project-image img,.projects-grid.real-projects.is-filtered .project-image img{width:auto;height:auto;max-width:100%;max-height:calc(100vh - max(110px,7.890625vw) - 64px);max-height:calc(100dvh - max(110px,7.890625vw) - 64px);object-fit:contain}
@media(max-width:700px){.projects-grid.real-projects .project-image img,.projects-grid.real-projects.is-filtered .project-image img{max-height:calc(100vh - 220px);max-height:calc(100dvh - 220px)}}
.project-detail{padding-top:40px;padding-bottom:64px}.project-back{font-size:11px;letter-spacing:.08em;color:#8a7248!important}.project-detail>.project-location{margin-top:32px!important}.project-detail h1{font-size:clamp(36px,3.3vw,64px);line-height:1.15;margin-top:18px}.project-detail>.project-description{margin-top:20px!important;margin-bottom:32px!important}.project-detail-gallery{display:grid;gap:32px}.project-detail-photo{display:block;width:fit-content;max-width:100%;margin:auto;border:0;padding:0;background:transparent;cursor:zoom-in}.project-detail-photo img{display:block;max-width:100%;width:auto;height:auto;max-height:calc(100vh - max(110px,7.890625vw) - 60px);max-height:calc(100dvh - max(110px,7.890625vw) - 60px);object-fit:contain}.project-detail-contact{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;margin-top:48px;padding-top:32px;border-top:1px solid #e3dccb}.project-detail-contact h2{font-size:clamp(32px,2.4vw,46px)}
@media(max-width:700px){.project-detail{padding-top:26px}.project-detail-photo img{max-height:calc(100vh - 220px);max-height:calc(100dvh - 220px)}}
/* A balanced portfolio grid, with one uncropped cover per project. */
.projects-grid.real-projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px;align-items:start}
.projects-grid.real-projects .project-case,.projects-grid.real-projects.is-filtered .project-case{grid-column:auto;padding:0}
.projects-grid.real-projects .project-image,.projects-grid.real-projects.is-filtered .project-image{display:flex;align-items:flex-end;justify-content:flex-start;width:100%;aspect-ratio:3/4;max-height:calc(100vh - max(110px,7.890625vw) - 80px);max-height:calc(100dvh - max(110px,7.890625vw) - 80px);margin:0;cursor:pointer}
.projects-grid.real-projects .project-image img,.projects-grid.real-projects.is-filtered .project-image img{width:100%;height:100%;max-height:100%;object-fit:contain;object-position:left bottom}
.projects-grid.real-projects .project-image:hover img{transform:none}
.projects-grid.real-projects .project-location{font-size:10px;letter-spacing:.08em;line-height:1.6;margin-top:20px!important}
.projects-grid.real-projects h2{font-size:clamp(27px,1.7vw,34px);line-height:1.15;margin-top:10px}
.projects-grid.real-projects .project-description{font-size:14px;line-height:1.6;margin-top:12px!important;max-width:36em}
.projects-grid.real-projects h2 a:hover{color:#8a7248}
@media(max-width:1100px){.projects-grid.real-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 24px}}
@media(max-width:600px){.projects-grid.real-projects{display:grid;grid-template-columns:1fr;gap:36px}.projects-grid.real-projects .project-image,.projects-grid.real-projects.is-filtered .project-image{height:auto;aspect-ratio:auto;max-height:none}.projects-grid.real-projects .project-image img,.projects-grid.real-projects.is-filtered .project-image img{width:auto;height:auto;max-width:100%;max-height:calc(100vh - 220px);max-height:calc(100dvh - 220px)}.projects-grid.real-projects h2{font-size:30px}}
/* Natural-height masonry: no empty portrait slots above landscape photos. */
.projects-grid.real-projects{display:block;columns:3;column-gap:32px}
.projects-grid.real-projects .project-case{display:inline-block;width:100%;break-inside:avoid;margin:0 0 40px;vertical-align:top}
.projects-grid.real-projects .project-image,.projects-grid.real-projects.is-filtered .project-image{display:block;aspect-ratio:auto;height:auto;max-height:none;width:100%}
.projects-grid.real-projects .project-image img,.projects-grid.real-projects.is-filtered .project-image img{display:block;width:auto;height:auto;max-width:100%;max-height:calc((100vh - max(110px,7.890625vw) - 80px)*.9);max-height:calc((100dvh - max(110px,7.890625vw) - 80px)*.9);object-fit:contain;object-position:left top}
.projects-grid.real-projects .project-case[hidden]{display:none}
@media(max-width:1100px){.projects-grid.real-projects{columns:2;column-gap:24px}}
@media(max-width:600px){.projects-grid.real-projects{display:block;columns:1}.projects-grid.real-projects .project-case{margin-bottom:32px}.projects-grid.real-projects .project-image img,.projects-grid.real-projects.is-filtered .project-image img{max-height:calc((100vh - 220px)*.9);max-height:calc((100dvh - 220px)*.9)}}