@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--bg:#fbf9f6;--ink:#2b2526;--muted:#786f70;--rose:#9e817c;--line:#e5dbd8;--sans:'DM Sans',Arial,sans-serif;--serif:'Playfair Display',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--rose);outline-offset:4px}img{max-width:100%;display:block}
.bespoke-head{height:93px;position:sticky;top:0;z-index:40;background:rgba(251,249,246,.97);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:0 clamp(20px,4.2vw,76px)}
.signature{min-width:223px;display:flex;align-items:flex-end;gap:7px}.signature img{width:92px;height:65px;object-fit:contain}.signature small{font-size:8px;letter-spacing:.24em;margin:0 0 14px 0;white-space:nowrap}.main-nav{display:flex;justify-content:center;align-items:center;gap:clamp(14px,1.6vw,29px);font-size:12px}.main-nav a{white-space:nowrap;padding:12px 0;border-bottom:1px solid transparent}.main-nav a:hover,.main-nav .active{border-color:var(--rose)}.head-end{display:flex;gap:21px;align-items:center;white-space:nowrap;font-size:12px}.head-end .language{color:#ac9895}.language a[aria-current=page]{color:var(--ink);font-weight:700}.menu-btn{display:none;border:0;background:transparent;font-size:24px}.mobile-nav[hidden]{display:none}
main{max-width:1600px;margin:auto}.page-hero{padding:64px clamp(24px,5vw,86px) 44px;display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(40px,7vw,140px);align-items:end}.crumb{font-size:11px;color:#7f7776;margin-bottom:32px}.crumb span{padding:0 9px}.hero-kicker{font-size:10px;letter-spacing:.18em;font-weight:700;margin:0 0 8px}.page-hero h1{font:400 clamp(69px,7.3vw,124px)/1.08 var(--serif);letter-spacing:-.06em;margin:0;white-space:nowrap}.page-hero em{color:var(--rose);font-weight:400}.hero-blurb{border-left:1px solid #beaaa6;padding:14px 0 6px 34px}.hero-blurb p{color:var(--muted);font-size:16px;max-width:565px;margin:0 0 23px}.hero-blurb a,.closing-cta a{display:inline-flex;border:1px solid #7b6d6a;padding:13px 19px;align-items:center;gap:39px;font-size:12px;transition:.2s}.hero-blurb a:hover,.closing-cta a:hover{color:white;background:var(--ink)}
.section-index{margin:0 clamp(24px,5vw,86px) 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;padding:18px 0}.section-index a{font:400 13px/1.4 var(--sans);white-space:nowrap}.section-index a:hover{color:var(--rose)}.section-index small{font-size:10px;color:var(--rose);margin-right:6px}
.bespoke-category{margin:0 clamp(24px,5vw,86px);padding:66px 0 74px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(250px,29%) minmax(0,1fr);gap:clamp(35px,5vw,80px);align-items:start}.section-intro{position:sticky;top:125px}.category-number{font-size:10px;letter-spacing:.13em;color:var(--rose);font-weight:700;display:flex;gap:14px;align-items:center}.category-number i{height:1px;width:25px;background:var(--rose)}.section-intro h2{font:400 clamp(33px,3.25vw,55px)/1.21 var(--serif);letter-spacing:-.045em;margin:20px 0 20px}.section-intro p{max-width:380px;color:var(--muted);font:400 13px/1.9 var(--sans);margin:0 0 30px}.project-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid #857b78;padding-bottom:7px;font-size:12px}.project-link:hover{color:var(--rose)}.detail-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px 15px;align-items:start}.detail-tile{margin:0;min-width:0}.tile-button{padding:0;border:0;background:#e7e3de;display:block;width:100%;height:clamp(167px,16vw,277px);overflow:hidden}.tile-button img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1)}.tile-button:hover img{transform:scale(1.035)}.detail-tile figcaption{display:flex;justify-content:space-between;gap:7px;flex-wrap:wrap;padding-top:10px;font-size:11px;line-height:1.4}.detail-tile figcaption small{font-size:9px;color:#9e928d;letter-spacing:.025em}.photo-note{max-width:980px;margin:30px auto 55px;padding:0 20px;color:#8d817d;font-size:11px;text-align:center}
.closing-cta{margin:95px clamp(24px,5vw,86px) 40px;padding:55px 35px;display:flex;align-items:center;justify-content:space-between;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.closing-cta h2{font:400 clamp(44px,4.3vw,65px)/1.2 var(--serif);margin:5px 0 13px}.closing-cta h2 em{color:var(--rose)}.closing-cta p:not(.hero-kicker){max-width:530px;margin:0 auto 23px;color:var(--muted)}.closing-cta .ornament{color:#dac5bb;font-size:66px;font-weight:400}.site-foot{border-top:1px solid var(--line);padding:35px clamp(20px,4vw,70px);display:flex;align-items:center;justify-content:space-between;gap:28px;color:#817877;font-size:11px}.site-foot .foot-sig{min-width:auto}.site-foot .foot-sig img{width:72px}.site-foot>div{display:flex;gap:18px}.site-foot small{white-space:nowrap}.visual-dialog{max-width:min(1000px,90vw);max-height:94vh;border:0;padding:15px;background:var(--bg);box-shadow:0 16px 80px #0005}.visual-dialog::backdrop{background:#211b1cba}.visual-dialog>img{max-height:79vh;max-width:85vw;margin:auto;object-fit:contain}.visual-dialog #close-visual{position:absolute;top:7px;right:8px;border:0;background:#f8f5f2;color:#292226;font-size:28px;width:40px;height:40px}.visual-dialog p{text-align:center;color:var(--muted);font-size:12px;margin:12px 5px 0}
@media(max-width:1250px){.main-nav{gap:15px}.signature{min-width:160px}.signature small{display:none}.page-hero h1{font-size:clamp(58px,7.3vw,94px)}.detail-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-button{height:245px}}
@media(max-width:980px){.main-nav{display:none}.menu-btn{display:inline-block}.mobile-nav{position:fixed;z-index:39;top:92px;left:0;right:0;background:var(--bg);box-shadow:0 20px 30px #0002;padding:25px;display:grid;gap:16px}.page-hero{gap:25px;grid-template-columns:1fr}.hero-blurb{max-width:680px}.section-index{overflow:auto;justify-content:flex-start;gap:27px}.bespoke-category{grid-template-columns:1fr;gap:26px}.section-intro{position:static}.section-intro h2{max-width:680px}.section-intro p{max-width:700px}.detail-tiles{grid-template-columns:repeat(3,1fr)}.tile-button{height:240px}}
@media(max-width:620px){.bespoke-head{height:76px;padding:0 18px}.signature{min-width:auto}.signature img{width:76px;height:56px}.head-end{gap:12px}.head-end .basket{display:none}.mobile-nav{top:75px}.page-hero{padding:44px 21px 37px}.page-hero h1{font-size:clamp(53px,12vw,80px);white-space:normal}.hero-blurb{border-left:0;padding:0}.hero-blurb p{font-size:14px}.section-index{margin:0 21px}.bespoke-category{margin:0 21px;padding:48px 0 51px}.section-intro h2{font-size:38px}.detail-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 11px}.tile-button{height:clamp(154px,43vw,220px)}.detail-tile figcaption{display:block}.detail-tile figcaption small{display:block;margin-top:3px}.closing-cta{margin:58px 20px 10px;padding:38px 8px}.closing-cta .ornament{display:none}.closing-cta h2{font-size:42px}.site-foot{flex-wrap:wrap;gap:15px}.site-foot>div{width:100%;flex-wrap:wrap}}

/* V7.4 - no fixed/sticky paragraph: photographs and words remain in their own blocks. */
.section-intro{position:static!important;top:auto!important;align-self:start}
.bespoke-category{gap:clamp(30px,4.5vw,75px);padding:77px 0 90px}
.detail-tiles{gap:29px 18px;align-items:stretch}
.detail-tile{overflow:hidden}
.tile-button{height:auto;aspect-ratio:1.13/1;background:#eeeae7}
.tile-button img{width:100%;height:100%;object-fit:cover;object-position:center}
.tile-original .tile-button{background:#f0ece8}.tile-original img{object-fit:contain!important;padding:8px}
.tile-portrait .tile-button img{object-fit:cover;object-position:center 42%}
.detail-tile figcaption{font-size:12px;padding-top:12px;min-height:43px}
.detail-tile figcaption small{letter-spacing:.02em;font-size:10px}
.editorial-intro{margin:0 clamp(24px,5vw,86px) 48px;background:#efe7e2;display:grid;grid-template-columns:1fr 1.07fr;align-items:stretch;min-height:330px;overflow:hidden}
.editorial-intro>div{padding:clamp(30px,4.2vw,68px);align-self:center}
.editorial-intro span{letter-spacing:.17em;font-size:10px;font-weight:700;color:#8f7570}
.editorial-intro strong{display:block;max-width:420px;font:400 clamp(32px,3.1vw,51px)/1.12 var(--serif);letter-spacing:-.035em;margin:20px 0}
.editorial-intro p{max-width:420px;color:#716767;font-size:14px;line-height:1.85}
.editorial-intro img{height:100%;width:100%;object-fit:cover;object-position:center 48%;max-height:520px}
.bespoke-videos{padding:44px clamp(24px,5vw,86px) 95px}
.videos-intro h2{font:400 clamp(35px,4vw,58px)/1.15 var(--serif);margin:10px 0}
.videos-intro h2 em{color:var(--rose)}
.videos-intro>p:last-child{color:var(--muted);font-size:13px}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.video-grid figure{margin:0}.hover-video-wrap{position:relative;aspect-ratio:16/10;background:#e3dad6;overflow:hidden}
.hover-video{display:block;width:100%;height:100%;object-fit:cover;cursor:pointer}
.play-indicator{position:absolute;pointer-events:none;right:13px;bottom:12px;background:#fbf9f6dc;padding:5px 10px;font-size:10px}
.video-grid figcaption{padding-top:13px;font:400 15px var(--serif)}.video-grid figcaption small{font:400 10px var(--sans);color:var(--muted);margin-left:10px}
@media(max-width:980px){.editorial-intro{margin-bottom:28px}.detail-tiles{gap:22px 12px}}
@media(max-width:720px){.editorial-intro{grid-template-columns:1fr;margin:0 20px 25px}.editorial-intro>div{padding:26px 24px}.editorial-intro img{height:270px}.detail-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.video-grid{grid-template-columns:1fr}.bespoke-category{padding:55px 0 60px}.tile-button{aspect-ratio:1/1}.detail-tile figcaption{font-size:11px}.detail-tile figcaption small{font-size:9px}}
