/* Three separate compositions. Shared controls and photography remain consistent. */
html:has(.pd-page){scroll-padding-top:0;scroll-behavior:smooth}
.pd-page #main{padding-top:var(--header-h);background:#0b1116;min-height:80vh}
.pd-page #main :is(h1,h2,h3,p,dd,a){overflow-wrap:break-word;hyphens:auto}
.pd-page #main :is(h1,h2,h3){text-wrap:balance}
.pd-switcher{display:flex;align-items:center;justify-content:space-between;gap:20px;width:92%;max-width:1700px;margin:auto;padding:18px 0;border-bottom:1px solid #94aab631;font-size:11px;line-height:1.4;color:#b2c4ce}
.pd-switcher>div{display:flex;gap:30px}.pd-switcher a{display:flex;align-items:center;gap:9px;padding:5px 0;min-height:32px}.pd-switcher b{font:500 12px/1 var(--body);width:21px;height:21px;border:1px solid #8ba1ae60;display:grid;place-items:center;border-radius:50%}.pd-switcher a[aria-current=page]{color:#e7f2f6}.pd-switcher a[aria-current=page] b{background:#c6e0e8;color:#15232b;border-color:#c6e0e8}.pd-compare{border-bottom:1px solid transparent}.pd-compare:hover{border-color:currentColor}
.pd-kicker{font:500 10px/1.6 var(--body);letter-spacing:.12em;text-transform:uppercase}
.pd-photo{position:relative;display:block;overflow:hidden;width:100%;background:#eeeae3;isolation:isolate;line-height:0;touch-action:pan-y pinch-zoom}
.pd-photo img{width:100%;height:auto;object-fit:contain;transition:transform .65s cubic-bezier(.2,.65,.3,1);transform:translate3d(0,var(--photo-y,0px),0);pointer-events:none}
.pd-photo:hover .pd-zoom{background:#eff9fa;color:#15232a;transform:rotate(45deg)}
.pd-zoom{position:absolute;right:17px;bottom:17px;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;color:#e8f1f4;background:#14232ce0;font:400 22px/1 var(--body);transition:background .25s,transform .25s;box-shadow:0 0 0 1px #c4d1d440}
.pd-enquire{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;line-height:1.5;padding:14px 0;border-bottom:1px solid currentColor;min-height:48px;width:100%}.pd-enquire>span:last-child{font-size:24px;line-height:1}
.pd-details{margin:24px 0 12px;font-size:12px;line-height:1.8}.pd-details>div{padding:12px 0;border-top:1px solid #94aab629}.pd-details dt{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#92a8b3;margin-bottom:5px}.pd-details dd{margin:0;color:#bbccd4}
.pd-end{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:65px;padding:60px 0 80px;border-top:1px solid #91b3c333}.pd-end h2{font-size:clamp(28px,3.8vw,54px);max-width:600px}.pd-end a{display:flex;align-items:center;gap:40px;font-size:14px;border-bottom:1px solid #8ba6b3;padding-bottom:13px}.pd-end a>span:last-child{font-size:33px;color:#afcedd}
/* A — the gallery: a fixed quiet index, large objects, alternating visual balance. */
.pg-shell{width:92%;max-width:1700px;margin:auto;color:#dcebf0}.pg-intro{padding:32px 0 35px;display:grid;grid-template-columns:1fr auto;gap:10px 40px;align-items:end}.pg-intro>.pd-kicker{grid-column:1/-1;color:#a1b7c3}.pg-intro h1{font-size:clamp(38px,4.8vw,76px);color:#bcdeeb;line-height:1.07}.pg-intro>p:last-child{font-size:13px;color:#97aeb9;max-width:250px;padding-bottom:4px}
.pg-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:5%}.pg-index{position:sticky;top:calc(var(--header-h) + 24px);align-self:start;padding-top:6px;display:flex;flex-direction:column}.pg-index a{display:flex;gap:12px;align-items:baseline;font-size:11px;line-height:1.6;color:#a0b3be;padding:12px 0;border-bottom:1px solid #9bb4bf20}.pg-index a>span:first-child{font-size:9px;color:#738b98;min-width:16px;font-variant-numeric:tabular-nums}.pg-index a:hover,.pg-index a[aria-current=true]{color:#d4f1fb}.pg-index a[aria-current=true]>span:first-child{color:#c0e6f6}
.pg-item{display:grid;grid-template-columns:minmax(0,.74fr) minmax(0,1.3fr);gap:5%;align-items:center;padding:0 0 75px;margin-bottom:75px;border-bottom:1px solid #829da72b;scroll-margin-top:calc(var(--header-h) + 30px)}.pg-item:last-child{margin-bottom:0;border:0;padding-bottom:0}.pg-art{grid-column:2;grid-row:1;position:relative}.pg-copy{grid-column:1;grid-row:1;min-width:0}.pg-copy>.pd-kicker{color:#7799ab;margin-bottom:24px}.pg-copy h2{font-size:clamp(29px,3vw,49px);line-height:1.1;letter-spacing:-.045em;color:#c7e1ed}.pg-description{margin-top:23px;font-size:13px;line-height:1.85;color:#a8bfc9}.pg-art>.pd-photo{background:#e9e8e0}.pg-art>.pd-photo img{min-height:360px;object-fit:contain}.pg-detail{width:100%;margin-top:20px;margin-left:auto;display:flex;justify-content:flex-end;gap:16px}.pg-detail>.pd-photo{max-width:48%;align-self:start}.pg-detail .pd-zoom{width:29px;height:29px;right:10px;bottom:10px;font-size:18px}.pg-reverse{grid-template-columns:minmax(0,1.3fr) minmax(0,.74fr)}.pg-reverse .pg-art{grid-column:1}.pg-reverse .pg-copy{grid-column:2}.pg-reverse .pg-detail{margin-left:0}.pg-copy .pd-enquire{color:#bddde9}.pg-collection{min-width:0}
/* C — an efficient numbered catalogue, visually anchored by one red panel. */
.pd-index #main{background:#f1f3f2;color:#202625}.pd-index .pd-switcher{color:#5d6766;border-color:#1b292825}.pd-index .pd-switcher a[aria-current=page]{color:#b32c2c}.pd-index .pd-switcher a[aria-current=page] b{background:#bd3030;border-color:#bd3030;color:white}.pi-shell{width:92%;max-width:1700px;margin:auto;padding-bottom:70px}.pi-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;padding:32px 0 36px;border-bottom:1px solid #29353024}.pi-heading .pd-kicker{color:#a12929;margin-bottom:15px}.pi-heading h1{font-size:clamp(35px,4.2vw,63px);line-height:1.05;letter-spacing:-.055em}.pi-heading>p{font-size:12px;line-height:1.7;max-width:240px;color:#65706c}.pi-layout{display:grid;grid-template-columns:185px minmax(0,1fr);gap:38px;padding-top:30px}.pi-sidebar{position:sticky;top:calc(var(--header-h) + 22px);align-self:start}.pi-sidebar>.pd-kicker{display:flex;justify-content:space-between;margin-bottom:19px}.pi-sidebar>.pd-kicker>span:last-child{color:#b72f2c}.pi-index{display:flex;flex-direction:column}.pi-index a{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid #20342920;font-size:11px;line-height:1.5;color:#4f5c56}.pi-index a>span:first-child{font-size:9px;color:#a9b0aa;min-width:16px}.pi-index a[aria-current=true],.pi-index a:hover{color:#ac2727}.pi-index a[aria-current=true]>span:first-child{color:#ac2727}.pi-custom{display:flex;gap:16px;align-items:center;font-size:11px;line-height:1.6;margin-top:34px;color:#9f2f2d}.pi-custom>span:last-child{font-size:25px}.pi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 18px;align-items:stretch}.pi-item{background:#fafbf9;min-width:0;border:1px solid #2b3b2910;scroll-margin-top:calc(var(--header-h) + 24px);display:flex;flex-direction:column}.pi-image{position:relative}.pi-number{position:absolute;top:12px;left:14px;z-index:2;font-size:10px;line-height:24px;text-align:center;min-width:25px;background:#ffffffde;color:#69756e}.pi-image .pd-photo img{aspect-ratio:1.5;object-fit:contain}.pi-image .pd-zoom{height:27px;width:27px;right:10px;bottom:10px;font-size:17px;background:#fbfdfbe8;color:#38473c;box-shadow:none}.pi-copy{padding:19px 17px 12px;display:flex;flex:1;flex-direction:column}.pi-copy h2{font:600 clamp(19px,1.8vw,28px)/1.16 var(--body);letter-spacing:-.04em;min-height:2.35em}.pi-description{font-size:12px;line-height:1.75;color:#53605a;margin-top:14px}.pi-copy .pd-details{margin:17px 0 0;font-size:11px;line-height:1.7}.pi-copy .pd-details>div{border-color:#2a3e3020;padding:10px 0}.pi-copy .pd-details dt{color:#849087;font-size:8px;letter-spacing:.06em}.pi-copy .pd-details dd{color:#515e56}.pi-copy .pd-enquire{margin-top:auto;color:#8f2928;font-size:11px;border-color:#c1353040;padding:12px 0 4px}.pi-copy .pd-enquire>span:last-child{font-size:20px}.pi-final{background:#b93230;color:#fff3e8;padding:28px 24px;display:flex;flex-direction:column;min-height:420px}.pi-final>.pd-kicker{color:#ffd9c7}.pi-final h2{font-size:clamp(28px,2.5vw,40px);line-height:1.12;white-space:pre-line;margin-top:45px}.pi-final-arrow{font-size:80px;font-weight:300;line-height:1;margin:auto 0 15px}.pi-final>span:last-child{font-size:12px}
/* Comparison — real page previews are saved after visual review. */
.pc-shell{width:92%;max-width:1600px;margin:auto;padding:55px 0 65px}.pc-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:22px 10%;align-items:end;margin-bottom:50px}.pc-heading .pd-kicker{grid-column:1/-1;color:#839fae}.pc-heading h1{font-size:clamp(45px,5.3vw,80px);line-height:1.06;white-space:pre-line;color:#c7e1ec}.pc-heading>p:last-child{font-size:14px;line-height:1.85;color:#9eb5c2;max-width:370px;padding-bottom:5px}.pc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.pc-card{display:block;background:#142028;border:1px solid #a7c2ce2a}.pc-preview{position:relative;background:#e8e5df;overflow:hidden;aspect-ratio:1.4}.pc-preview img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s}.pc-card:hover .pc-preview img{transform:scale(1.025)}.pc-preview>span{position:absolute;left:16px;top:16px;display:grid;place-items:center;width:34px;height:34px;background:#152129;border:1px solid #aec4d25c;border-radius:50%;color:#dfeef5;font-size:12px}.pc-card-copy{padding:23px 24px 20px}.pc-card-copy>.pd-kicker{color:#89a4b3;margin-bottom:11px}.pc-card h2{font-size:29px;line-height:1.1;letter-spacing:-.04em}.pc-card-copy>p:not(.pd-kicker){font-size:12px;color:#a0b7c3;line-height:1.8;margin-top:16px;min-height:44px}.pc-open{margin-top:28px;display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #809fb240;padding-top:15px;font-size:12px;color:#c9e2ee}.pc-open>span:last-child{font-size:25px}.pc-bottom{margin-top:65px;border-top:1px solid #a7c2ce2a;padding-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:25px 10%}.pc-bottom h2{font-size:32px;color:#b9d3de;grid-row:1/3}.pc-bottom p{font-size:13px;color:#9eb5c2;max-width:470px}.pc-bottom .pd-enquire{font-size:12px;max-width:370px;color:#bcd8e5}
/* Native dialog provides focus containment and Escape handling. */
.pd-lightbox{max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;margin:0;border:0;padding:18px 3% 14px;background:#091015f5;color:#e8f3f7;overflow:hidden}.pd-lightbox::backdrop{background:#05090be8;backdrop-filter:blur(14px)}.pd-lightbox[open]{display:flex;flex-direction:column;gap:12px}.pd-lightbox-tools{display:flex;gap:20px;align-items:center;justify-content:space-between;min-height:48px}.pd-lightbox-tools p{font-size:13px;line-height:1.5;max-width:80%}.pd-lightbox-tools button{border:1px solid #91a9b651;border-radius:50%;width:44px;height:44px;font-size:27px;flex-shrink:0}.pd-lightbox-image{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.pd-lightbox-image img{height:100%;width:100%;object-fit:contain;max-height:100%;touch-action:pan-x pan-y pinch-zoom}.pd-lightbox-note{font-size:10px;text-align:center;color:#9cb1be;min-height:18px}.pd-modal-open{overflow:hidden}
@media(min-width:1600px){.pg-layout{grid-template-columns:205px minmax(0,1fr)}.pg-art>.pd-photo img{min-height:430px}.pi-layout{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:1100px){.pg-layout{grid-template-columns:145px minmax(0,1fr);gap:4%}.pg-item,.pg-reverse{grid-template-columns:1fr;gap:25px}.pg-art,.pg-copy,.pg-reverse .pg-art,.pg-reverse .pg-copy{grid-column:1;grid-row:auto}.pg-art{grid-row:1}.pg-copy{max-width:650px}.pg-detail{display:none}.pg-art>.pd-photo img{min-height:0}.pg-copy h2{font-size:38px}.pg-copy>.pd-kicker{margin-bottom:13px}.pg-description{margin-top:15px}.pg-copy .pd-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:20px}.pg-copy .pd-enquire{max-width:320px}.pi-layout{grid-template-columns:156px minmax(0,1fr);gap:24px}.pi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pi-final{min-height:300px;grid-column:1/-1}.pi-final h2{margin-top:20px}.pi-final-arrow{align-self:flex-end;margin:-30px 0 0}.pi-final>span:last-child{margin-top:15px}.pc-grid{gap:16px}.pc-card-copy{padding:20px 17px}.pc-card h2{font-size:25px}}
@media(max-width:760px){.pd-switcher{width:88%;display:block;padding:12px 0}.pd-compare{display:inline-flex!important;font-size:10px;min-height:26px!important}.pd-switcher>div{gap:0;justify-content:space-between;margin-top:5px}.pd-switcher>div>a{font-size:9px;gap:5px;max-width:32%}.pd-switcher b{flex-shrink:0;width:18px;height:18px;font-size:10px}.pg-shell,.pi-shell,.pc-shell{width:88%}.pg-intro{display:block;padding:28px 0 25px}.pg-intro h1{font-size:42px;margin-top:14px}.pg-intro>p:last-child{margin-top:15px;font-size:12px;max-width:300px}.pg-layout{display:block}.pg-index{position:sticky;top:var(--header-h);background:#0b1116f5;backdrop-filter:blur(12px);z-index:20;flex-direction:row;overflow:auto;gap:22px;padding:0;margin:0 -6.8% 24px;width:113.6%;padding-inline:6%;border-block:1px solid #9dbbcd28;scrollbar-width:thin;scrollbar-color:#647f8b transparent}.pg-index a{white-space:nowrap;flex-shrink:0;min-height:49px;align-items:center;border:0;padding-block:9px;gap:7px;font-size:10px}.pg-index a>span:first-child{font-size:8px;min-width:12px}.pg-item,.pg-reverse{display:flex;flex-direction:column;gap:24px;padding-bottom:38px;margin-bottom:38px;align-items:stretch;scroll-margin-top:calc(var(--header-h) + 75px)}.pg-art>.pd-photo img{width:100%;height:auto;min-height:0}.pg-copy h2{font-size:34px;line-height:1.14}.pg-copy>.pd-kicker{font-size:9px;margin-bottom:12px}.pg-description{font-size:13px;margin-top:15px}.pg-copy .pd-details{font-size:12px;margin:20px 0 3px;display:block}.pg-copy .pd-enquire{max-width:none}.pd-details dt{font-size:9px}.pd-zoom{width:31px;height:31px;right:12px;bottom:12px;font-size:19px}.pd-end{display:block;padding:35px 0 45px;margin-top:45px}.pd-end h2{font-size:35px}.pd-end a{margin-top:26px;justify-content:space-between;font-size:12px}.pi-heading{display:block;padding:27px 0 25px}.pi-heading h1{font-size:39px;line-height:1.08}.pi-heading>p{margin-top:17px;max-width:310px;font-size:12px}.pi-heading .pd-kicker{font-size:9px;margin-bottom:17px}.pi-layout{display:block;padding-top:0}.pi-sidebar{display:contents}.pi-sidebar>.pd-kicker,.pi-custom{display:none}.pi-index{position:sticky;top:var(--header-h);flex-direction:row;gap:23px;overflow:auto;z-index:20;padding-inline:6%;padding-block:0;margin:0 -6.8% 22px;width:113.6%;background:#f1f3f2f5;backdrop-filter:blur(12px);border-bottom:1px solid #243c3020;scrollbar-width:thin;scrollbar-color:#b7bbb9 transparent}.pi-index a{flex-shrink:0;white-space:nowrap;min-height:50px;align-items:center;border:0;font-size:10px;gap:7px}.pi-index a>span:first-child{min-width:12px;font-size:8px}.pi-grid{grid-template-columns:1fr;gap:22px}.pi-item{scroll-margin-top:calc(var(--header-h) + 75px)}.pi-copy{padding:22px 20px 17px}.pi-copy h2{font-size:27px;min-height:0;line-height:1.16}.pi-description{font-size:13px;margin-top:14px}.pi-copy .pd-details{font-size:12px;margin-top:20px}.pi-copy .pd-details dt{font-size:9px}.pi-copy .pd-enquire{font-size:12px;min-height:50px}.pi-final{grid-column:auto;padding:25px;min-height:310px}.pi-final h2{font-size:36px;max-width:90%;margin-top:30px}.pi-final-arrow{font-size:68px;margin:22px 0 0;align-self:flex-end}.pi-final>span:last-child{margin-top:-20px;max-width:75%}.pi-shell{padding-bottom:45px}.pc-shell{padding-top:35px}.pc-heading{display:block;margin-bottom:35px}.pc-heading h1{font-size:43px;margin-top:20px}.pc-heading>p:last-child{font-size:13px;margin-top:22px;max-width:360px}.pc-heading .pd-kicker{font-size:9px}.pc-grid{grid-template-columns:1fr;gap:30px}.pc-card-copy{padding:25px}.pc-card h2{font-size:31px}.pc-card-copy>p:not(.pd-kicker){min-height:0;font-size:13px}.pc-preview{aspect-ratio:1.5}.pc-bottom{display:block;margin-top:44px}.pc-bottom h2{font-size:32px}.pc-bottom p{margin-top:20px}.pc-bottom .pd-enquire{margin-top:20px}.pd-lightbox{padding-inline:4%}.pd-lightbox-tools p{font-size:12px}.pd-lightbox-note{font-size:9px}}
@media(max-width:360px){.pd-switcher>div>a>span{font-size:8px;line-height:1.3}.pg-intro h1{font-size:36px}.pg-copy h2{font-size:30px}.pi-heading h1{font-size:34px}.pi-copy h2{font-size:25px}.pc-heading h1{font-size:36px}.pi-copy{padding-inline:17px}}
@media(prefers-reduced-motion:reduce){html:has(.pd-page){scroll-behavior:auto}.pd-photo img,.pc-preview img{transform:none!important;transition:none!important}.pd-zoom{transform:none!important}}
