/* Six original photographs in three project chapters; images retain native framing. */
.showcase>.section{padding-bottom:74px}.showcase .section-heading{margin-bottom:80px}.case-chapter{padding:0 0 94px}.case-heading{display:grid;grid-template-columns:110px minmax(0,1fr) 220px;gap:30px;align-items:end;margin-bottom:35px}.case-number{font-family:Georgia,serif;font-size:102px;line-height:.85;font-weight:400;letter-spacing:-.08em;color:#929c87}.case-heading .eyebrow{margin-bottom:17px;color:#647159}.case-heading h3{font-family:var(--display);font-size:clamp(35px,3.8vw,57px);font-weight:400;line-height:1.2;letter-spacing:-.035em}.case-theme{font-size:13px;line-height:1.9;justify-self:end;max-width:180px;color:#606d55}.case-pair{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:4%;align-items:start}.case-shot{min-width:0;margin:0}.case-shot-secondary{padding-top:clamp(95px,13vw,190px)}.case-image-link{display:block;position:relative}.case-media{display:block;background:#cdd0c4}.case-media img{width:100%;height:auto;object-fit:contain;transform:none;transition:none}.case-expand{position:absolute;right:20px;bottom:20px;background:var(--yellow);color:var(--ink);width:50px;height:50px;display:grid;place-items:center;transition:transform .3s var(--ease),background .3s}.case-expand svg{width:23px;height:23px;transform:rotate(-40deg)}.case-image-link:hover .case-expand{background:#ffe36a;transform:translate(3px,-3px)}.case-shot figcaption{display:grid;grid-template-columns:auto 1fr auto;gap:17px;align-items:start;border-bottom:1px solid #c6ceba;padding:20px 0;line-height:1.7;font-size:12px;color:#57634d}.shot-index{font-size:9px;letter-spacing:.07em;white-space:nowrap;padding-top:2px}.shot-view{display:flex;align-items:center;gap:9px;min-height:44px;min-width:44px;justify-content:flex-end;margin-top:-6px;white-space:nowrap;color:var(--ink)}.shot-view svg{width:18px;height:18px}.case-shop{margin:0 calc(-1 * var(--gutter)) 90px;padding:70px var(--gutter) 80px;background:var(--ink);color:#fff}.case-shop .case-number{color:var(--yellow)}.case-shop .case-heading .eyebrow,.case-shop .case-theme,.case-shop figcaption{color:#c5ceba}.case-shop figcaption{border-color:#46503c}.case-shop .shot-view{color:#fff}.case-shop .case-pair{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.case-shop .case-shot-primary{padding-top:110px}.case-shop .case-shot-secondary{padding-top:0}.case-shop a:focus-visible{outline-color:var(--yellow)}.case-office .case-pair{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:7%}.case-office .case-shot-secondary{padding-top:150px}.showcase-end{border-top:1px solid #b8c1ab;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:34px;font-size:18px}.showcase-end a{display:flex;align-items:center;gap:30px;font-size:12px;min-height:44px}.case-shot{transition:opacity .9s var(--ease),transform .9s var(--ease)}
@media(prefers-reduced-motion:no-preference){.motion-ready .case-shot:not(.is-inview){opacity:.15;transform:translateY(54px)}.case-shot-secondary{transition-delay:.1s}}
@media(max-width:950px){.case-heading{grid-template-columns:80px minmax(0,1fr);gap:25px}.case-number{font-size:79px}.case-heading h3{font-size:35px}.case-theme{grid-column:2;justify-self:start;max-width:none;margin-top:-10px}.case-shot figcaption{grid-template-columns:auto 1fr;gap:12px;font-size:12px}.shot-view{grid-column:2;justify-self:end}.case-shop .case-shot-primary{padding-top:80px}.case-office .case-shot-secondary{padding-top:95px}.case-expand{width:44px;height:44px;right:14px;bottom:14px}.case-chapter{padding-bottom:65px}.case-shop{padding-top:55px;margin-bottom:65px}}
@media(max-width:640px){.showcase .section-heading{margin-bottom:52px}.showcase>.section{padding-bottom:60px}.case-heading{grid-template-columns:57px minmax(0,1fr);gap:17px;margin-bottom:26px}.case-number{font-size:59px}.case-heading .eyebrow{font-size:9px!important;margin-bottom:12px}.case-heading h3{font-size:29px}html[lang=en] .case-heading h3{font-size:33px}.case-theme{font-size:12px;margin-top:-5px}.case-pair,.case-shop .case-pair,.case-office .case-pair{display:block}.case-shot-secondary,.case-office .case-shot-secondary{padding-top:34px;width:86%;margin-left:auto}.case-shop .case-shot-primary{padding-top:0}.case-shop .case-shot-secondary{padding-top:34px;width:86%;margin-left:auto}.case-office .case-shot-secondary{width:77%}.case-shot figcaption{grid-template-columns:auto 1fr auto;gap:12px;font-size:12px;padding:16px 0}.shot-view{grid-column:auto;margin-top:-6px;gap:5px;min-height:44px}.shot-view svg{width:16px;height:16px}.case-shot-secondary figcaption{grid-template-columns:auto 1fr}.case-shot-secondary .shot-view{grid-column:2;justify-self:end;margin-top:-6px}.case-chapter{padding-bottom:55px}.case-shop{padding-top:44px;padding-bottom:49px;margin-bottom:54px}.showcase-end{align-items:flex-start;flex-direction:column;gap:16px;padding-top:27px;font-size:16px}.showcase-end a{width:100%;justify-content:space-between}.case-expand{right:12px;bottom:12px}.case-shop .case-heading{gap:17px}.case-shot{transition-duration:.65s}}
@media(prefers-reduced-motion:reduce){.case-shot,.motion-ready .case-shot:not(.is-inview){opacity:1!important;transform:none!important;transition:none!important}.case-expand{transition:none}}
/* User-confirmed WhatsApp contact, kept out of modal and menu surfaces. */
.portfolio .case-theme{max-width:260px}.portfolio .case-heading{grid-template-columns:100px minmax(0,1fr) 260px}.portfolio .case-tai-po{padding:65px var(--gutter) 75px;margin:0 calc(-1 * var(--gutter)) 85px;background:#171817;color:#fff}.case-tai-po .case-number{color:var(--yellow)}.case-tai-po .eyebrow,.case-tai-po .case-theme,.case-tai-po figcaption{color:#c9c9bd}.case-tai-po .shot-view{color:white}.case-tai-po .case-pair{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:8%}.case-tai-po .case-shot-primary{max-width:490px}.archive-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;margin-top:30px;border-bottom:1px solid #7778;font-size:14px}.archive-cta>span:last-child{display:flex;gap:22px;align-items:center;white-space:nowrap}.archive-cta svg{width:22px}.archive-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin:20px 0 45px}.archive-heading h3{font-size:clamp(35px,4.5vw,65px);font-weight:400;line-height:1.17;letter-spacing:-.04em}.archive-heading p{max-width:380px;font-size:14px;line-height:1.9}.archive-heading .eyebrow{margin-bottom:22px;font-size:11px}.archive-filters{display:flex;flex-wrap:wrap;gap:8px}.archive-filters button{border:1px solid #17181766;background:transparent;color:#171817;padding:12px 20px;min-height:46px;font:inherit;font-size:13px;cursor:pointer}.archive-filters button[aria-pressed=true]{background:#171817;color:var(--yellow)}.archive-status{font-size:12px;margin:18px 0 35px;color:#5b5b50}.archive-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:5%;row-gap:65px;margin-bottom:90px}.archive-card[hidden]{display:none}.archive-card:nth-child(even){margin-top:65px}.archive-media{display:block;background:#d1d2c5;aspect-ratio:4/3;overflow:hidden}.archive-media img{width:100%;height:100%;object-fit:cover}.archive-index{position:absolute;top:16px;left:18px;color:white;background:#171817;min-width:38px;height:38px;display:grid;place-items:center;font-size:12px}.archive-card-heading{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-top:23px}.archive-card-heading .eyebrow{font-size:10px;margin-bottom:10px}.archive-card h4{font-size:clamp(24px,2.6vw,38px);line-height:1.25;font-weight:400;letter-spacing:-.025em}.archive-card-heading>span{white-space:nowrap;font-size:12px;padding-top:5px}.archive-description{font-size:13px;line-height:1.8;max-width:460px;margin-top:18px;color:#55594f}.archive-card a:focus-visible,.archive-cta:focus-visible{outline:3px solid #171817;outline-offset:5px}.case-tai-po a:focus-visible{outline-color:var(--yellow)}
@media(max-width:950px){.portfolio .case-heading{grid-template-columns:75px minmax(0,1fr)}.portfolio .case-theme{max-width:100%}.archive-heading{gap:30px}.archive-heading>p{max-width:290px}}
@media(max-width:640px){.portfolio .case-heading{grid-template-columns:55px minmax(0,1fr);gap:17px}.portfolio .case-tai-po{padding-top:45px;margin-bottom:55px}.case-tai-po .case-pair{display:block}.case-tai-po .case-shot-primary{width:87%}.archive-heading{display:block}.archive-heading>p{max-width:none;margin-top:25px}.archive-heading h3{font-size:38px}.archive-grid{grid-template-columns:1fr;gap:45px;margin-bottom:60px}.archive-card:nth-child(even){margin-top:0}.archive-filters button{padding:10px 13px;font-size:12px}.archive-card h4{font-size:28px}.archive-cta{font-size:12px}.archive-cta>span:last-child{gap:10px}.archive-card-heading{margin-top:20px}.archive-description{font-size:13px}.archive-heading{margin-bottom:30px}}
.whatsapp-float{position:fixed;z-index:13;right:24px;bottom:24px;display:flex;align-items:center;gap:12px;padding:15px 21px;background:#075e44;color:#fff;border:1px solid #ffffff70;border-radius:40px;box-shadow:0 5px 20px #0003;font-size:13px;font-weight:700;min-height:56px;transition:background .2s,transform .2s}.whatsapp-float svg{width:26px;height:26px}.whatsapp-float:hover{background:#064c38;transform:translateY(-2px)}.whatsapp-float:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}.dialog-open .whatsapp-float,.menu-open .whatsapp-float{visibility:hidden;pointer-events:none}.back-top{margin-right:175px}
@media(max-width:640px){.whatsapp-float{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));gap:9px;min-height:52px;padding:12px 17px;font-size:12px}.whatsapp-float svg{width:25px;height:25px}.back-top{margin-right:160px}footer{padding-bottom:88px}}
@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none}.whatsapp-float:hover{transform:none}}
.archive-film{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%;background:#171817;color:#fff;margin:20px calc(-1 * var(--gutter)) 70px;padding:65px var(--gutter)}.film-copy .eyebrow{color:var(--yellow);font-size:11px;margin-bottom:28px}.film-copy h3{font-size:clamp(36px,4.5vw,62px);line-height:1.2;font-weight:400;letter-spacing:-.03em}.film-copy p{font-size:14px;line-height:1.9;color:#ccc;margin:28px 0 20px;max-width:400px}.film-copy>span{font-size:11px;color:#bbb}.film-player{position:relative;background:#090909;padding:25px;display:flex;justify-content:center;flex-wrap:wrap}.film-player video{width:100%;max-width:352px;height:auto;aspect-ratio:352/288;display:block}.film-start{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:16px;background:#0004;color:white;font:inherit;font-size:14px;border:0;cursor:pointer}.film-start span{width:60px;height:60px;border:1px solid #fff;display:grid;place-items:center;border-radius:50%;background:#17181799}.film-start[hidden]{display:none}.film-status{font-size:13px;padding-top:20px}.film-status[hidden]{display:none}@media(max-width:640px){.archive-film{grid-template-columns:1fr;gap:30px;padding-top:45px;padding-bottom:45px}.film-player{padding:12px}.film-copy p{margin-top:22px}.film-copy h3{font-size:38px}}
/* Keep the historical-image disclosure clear of the fixed contact control. */
.hero-bottom .concept-caption{margin-right:180px;max-width:55%}
@media(max-width:640px){.hero-bottom .concept-caption{margin-right:0;max-width:64%;transform:translateY(-64px)}}
/* Two editorial features: a one-time reveal, followed by bounded depth on desktop. */
[data-feature-case] .case-heading h3{overflow:hidden;padding-bottom:.08em}
[data-feature-case] .case-heading h3>span{display:block}
[data-feature-case] .case-heading{position:relative;padding-top:28px}
[data-feature-case] .case-heading:before{content:'';position:absolute;left:0;top:0;width:100%;height:1px;background:currentColor;opacity:.3;transform-origin:left}
.photo-jump{display:flex;align-items:center;gap:12px;font-size:11px;margin-top:16px;max-width:100%}.photo-jump select{font:inherit;font-size:12px;color:#eee;background:#20281b;border:1px solid #718062;border-radius:0;min-height:44px;padding:8px 30px 8px 10px;min-width:0;width:min(400px,65vw);max-width:100%}.photo-jump select:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
@media(min-width:960px) and (prefers-reduced-motion:no-preference){.motion-ready [data-feature-case] .case-heading h3>span{transform:translateY(110%);transition:transform 1s cubic-bezier(.2,.7,.2,1)}.motion-ready [data-feature-case] .case-heading.is-inview h3>span{transform:translateY(0)}.motion-ready [data-feature-case] .case-heading:before{transform:scaleX(0);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.motion-ready [data-feature-case] .case-heading.is-inview:before{transform:scaleX(1)}.motion-ready [data-feature-case] .case-media{overflow:hidden;clip-path:inset(0 0 100% 0);transition:clip-path 1.15s cubic-bezier(.2,.7,.2,1)}.motion-ready [data-feature-case] .case-shot.is-inview .case-media{clip-path:inset(0 0 0 0)}.motion-ready [data-feature-case] .case-media img{transform:scale(1.045);transition:transform 1.35s cubic-bezier(.2,.7,.2,1)}.motion-ready [data-feature-case] .case-shot.is-inview .case-media img{transform:scale(1)}.motion-ready [data-feature-case] .case-shot-secondary.is-inview{transform:translateY(var(--case-depth,0px))}}
@media(max-width:959px){[data-feature-case] .case-shot,[data-feature-case] .case-media,[data-feature-case] .case-media img,[data-feature-case] .case-heading h3>span{transform:none!important;clip-path:none!important;opacity:1!important;transition:none!important}.photo-jump{display:block}.photo-jump select{display:block;width:100%;margin-top:6px}}
@media(prefers-reduced-motion:reduce){[data-feature-case] *,[data-feature-case] .case-heading:before{animation:none!important;transition:none!important;transform:none!important;clip-path:none!important}}
/* Coordinated interaction treatment for photography and gallery controls. */
.photo-treatment{display:block;margin-top:7px;font-size:11px;line-height:1.65;letter-spacing:0;color:inherit}.photo-enhancement-note{font-size:12px;line-height:1.7;color:#bac5ae;margin-top:8px}.photo-original{display:inline-flex;align-items:center;min-height:36px;font-size:12px;text-decoration:underline;text-underline-offset:4px;color:#f4d11e}.photo-original[hidden],.photo-enhancement-note[hidden]{display:none}.photo-dialog[open]{animation:none}.photo-flight{border:0;max-width:none;max-height:none;box-shadow:0 18px 60px #0003}.case-hover-label{position:absolute;left:18px;bottom:22px;max-width:calc(100% - 100px);padding:11px 14px;background:#171817ed;color:#fff;font-size:11px;line-height:1.5;letter-spacing:.045em;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .35s var(--ease);pointer-events:none}.case-image-link:after{content:'';position:absolute;inset:0;border:1px solid transparent;pointer-events:none;transition:border-color .3s}.case-image-link:focus-visible:after{border-color:var(--yellow)}.case-image-link:focus-visible .case-hover-label{opacity:1;transform:none}.case-image-link:focus-visible .case-expand{background:#171817;color:var(--yellow)}.archive-media img{transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .45s ease}.case-expand svg{transition:transform .35s var(--ease)}.photo-navigation button{transition:background .2s,color .2s,border-color .2s}.photo-navigation button:hover,.photo-navigation button:focus-visible{background:var(--yellow);border-color:var(--yellow);color:#171817}.photo-navigation button:active{transform:scale(.96)}.archive-cta svg,.shot-view svg,.hero-cta svg,.button svg{transition:transform .3s var(--ease)}.archive-cta:hover svg,.archive-cta:focus-visible svg,.shot-view:hover svg,.shot-view:focus-visible svg,.button:hover svg,.button:focus-visible svg{transform:translateX(4px)}
@media(hover:hover) and (pointer:fine){.case-image-link:hover:after{border-color:var(--yellow)}.case-image-link:hover .case-hover-label{opacity:1;transform:none}.case-image-link:hover .case-expand{background:#171817;color:var(--yellow);transform:translate(0,0)}.case-image-link:hover .case-expand svg,.case-image-link:focus-visible .case-expand svg{transform:rotate(0deg)}.case-image-link:hover .archive-media img,.case-image-link:focus-visible .archive-media img{transform:scale(1.035);filter:brightness(.96)}.motion-ready [data-feature-case] .case-shot.is-inview .case-image-link:hover .case-media img,.motion-ready [data-feature-case] .case-shot.is-inview .case-image-link:focus-visible .case-media img{transform:scale(1.025)}.case-image-link:hover .case-media,.case-image-link:focus-visible .case-media{filter:brightness(.98)}}
@media(hover:none),(pointer:coarse){.case-hover-label{display:none}.case-image-link:active .case-expand{background:#171817;color:var(--yellow)}}
@media(prefers-reduced-motion:reduce){.case-hover-label,.case-image-link:after,.case-expand,.case-expand svg,.archive-media img,.archive-cta svg,.shot-view svg,.button svg,.photo-navigation button{transition:none!important;animation:none!important}.case-image-link:hover .archive-media img,.case-image-link:focus-visible .archive-media img,.photo-navigation button:active{transform:none!important}}
.no-script-nav{position:fixed;top:112px;left:0;width:100%;z-index:20;display:flex;justify-content:center;gap:24px;background:var(--yellow);color:#171817;padding:10px 18px;font-size:13px;min-height:44px}.no-script-nav a{display:flex;align-items:center;min-height:30px}.no-script-film{display:block;padding:40px 20px;color:var(--yellow);text-decoration:underline;text-underline-offset:5px;line-height:1.8}html:not(.has-js) .film-start,html:not(.has-js) .film-player video,html:not(.has-js) .menu-toggle,html:not(.has-js) .archive-filters{display:none}@media(max-width:950px){.no-script-nav{top:80px;gap:18px;font-size:12px}}@media(max-width:640px){.no-script-nav{top:76px;gap:15px;font-size:12px}}
