/* Laura's 20 September review and the independent mobile audit.
   Deliberately separate from the deferred video-breaker experiments. */
.gate__foot { justify-content:flex-end; }
.gate__btn { display:inline-flex; align-items:center; min-height:44px; }
.about-rhythm { text-align:center; }
.about-rhythm p { margin-inline:auto; }
.pin--center[aria-labelledby="c-book"] { display:grid; place-items:center; padding:72px var(--gutter); }
.pin .booking-panel { width:min(100%,780px); min-height:0; margin:0; padding:48px 56px; background:rgba(248,245,240,.94); color:var(--ink); }
.collection-details { margin-top:24px; }
.collection-details summary { cursor:pointer; font-size:.8rem; letter-spacing:.04em; padding:12px 0; text-decoration:underline; text-underline-offset:5px; }
.collection-details[open] summary { margin-bottom:12px; }
.field .checks label { display:flex; align-items:center; gap:12px; min-height:44px; width:auto; }
.field .checks input[type="checkbox"] { width:20px; height:20px; min-height:20px; padding:0; margin:0; flex:0 0 20px; accent-color:var(--ink); }
/* Fixed, bounded viewing area: retain the entire photograph without stretching. */
.lightbox { width:min(1080px,94vw); height:min(760px,88svh); max-width:94vw; max-height:88svh; margin:auto; background:var(--ink); overflow:hidden; }
.lightbox::backdrop { background:rgba(25,23,20,.8); }
.lightbox__stage { inset:52px 60px 52px; padding:0; }
.lightbox__stage img { width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; box-shadow:none; }
.lightbox__cap { display:none; }
.lightbox__btn { min-width:44px; min-height:44px; padding:10px; }
.lightbox__close { min-height:44px; top:4px; right:8px; }
.lightbox__btn:focus-visible,.lightbox__close:focus-visible { outline:2px solid white; outline-offset:-4px; }
@media (min-width:861px) {
 .collection-details { margin-top:24px; }
 .collection-details summary { display:none; }
}
@media (max-width:860px) {
 :root { --gutter:24px; }
 body { font-size:16px; }
 h2 { font-size:clamp(28px,6.8vw,38px); line-height:1.2; }
 p { line-height:1.75; }
 .band { padding-block:56px; }
 .section-head { margin-bottom:28px; }
 .head-inner { min-height:84px; }
 .nav-toggle { min-width:48px; min-height:44px; }
 .nav { padding:96px 24px 40px; gap:16px; overflow-y:auto; }
 .nav a { min-height:44px; display:flex; align-items:center; justify-content:center; }
 .nav:not(.is-open) { visibility:hidden; }
 .nav.is-open { visibility:visible; }
 .hero h1 { font-size:clamp(34px,9vw,54px); line-height:1.12; text-wrap:balance; }
 .hero__body { padding-inline:var(--gutter); }
 .hero__tag { font-size:19px; line-height:1.4; }
 .utility__inner { gap:12px; }
 .utility__links { width:100%; flex-wrap:nowrap; gap:18px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; }
 .utility__links a { flex:0 0 auto; min-height:44px; display:flex; align-items:center; padding-bottom:0; }
 .module__media { min-height:0; }
 .module__media > img,.module__media > video { aspect-ratio:4/3; }
 .module__copy { min-height:0; padding:36px var(--gutter) 44px; }
 .module__copy p { font-size:16px; }
 .module:hover .module__media img,.module:hover .module__media video { transform:none; }
 .cards--set { margin-top:32px; gap:36px; }
 .cards--set .card .cta { padding-top:16px; }
 [aria-labelledby="m-names"] .cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; margin-top:28px!important; }
 [aria-labelledby="m-names"] .card--named { padding:22px 0 20px; border-top:1px solid var(--hairline); align-items:center; }
 [aria-labelledby="m-names"] .emblem { width:76px; height:64px; margin:0 auto 12px; }
 [aria-labelledby="m-names"] .emblem img { left:50%; transform:translateX(-50%); max-width:76px; }
 [aria-labelledby="m-names"] .emblem__ghost { opacity:.75; }
 [aria-labelledby="m-names"] .emblem__ink { display:none; }
 [aria-labelledby="m-names"] .unit-name { font-size:22px; margin-bottom:6px; }
 [aria-labelledby="m-names"] .unit-tier { display:block; font-size:11px; margin:4px 0 0; }
 [aria-labelledby="m-names"] .unit-meaning { font-size:16px; line-height:1.3; margin:0; }
 .pin--center[aria-labelledby="c-book"] { padding:40px var(--gutter); min-height:0; }
 .pin .booking-panel { padding:30px 24px; }
 .pin .booking-panel p { font-size:16px; }
 .pin .booking-panel .hero__ctas { gap:16px; }
 .pin__layer { position:absolute; }
 .collection-intro { padding:44px var(--gutter) 36px; }
 .collection-intro > .wrap { padding:0; }
 .collection-intro h2 { font-size:26px; line-height:1.28; }
 .collection-intro h2 br { display:none; }
 .collection-intro__prose { margin-top:24px; }
 .collection-intro__prose p { font-size:16px; line-height:1.7; }
 .collection-intro__prose p+p { margin-top:16px; }
 .collection-details { margin-top:8px; }
 .collection-houses { padding-bottom:48px; }
 .collection-houses .pair,.collection-studios .pair { margin-top:28px; }
 .collection-houses .pair,.collection-studios .pair { grid-template-columns:1fr; gap:28px; border:0; }
 .collection-houses .pair__panel,.collection-studios .pair__panel { display:flex; flex-direction:column; min-height:0; padding:0; border:0; background:var(--shell); overflow:hidden; }
 .collection-houses .pair__panel::after,.collection-studios .pair__panel::after { display:none; }
 .collection-houses .pair__img,.collection-studios .pair__img { position:relative; inset:auto; width:100%; height:auto; aspect-ratio:3/2; opacity:1; transform:none; }
 .collection-houses .pair__img::after,.collection-studios .pair__img::after { display:none; }
 .collection-houses .pair__img img,.collection-studios .pair__img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
 .collection-houses .pair__body,.collection-studios .pair__body { display:grid; grid-template-columns:1fr 62px; grid-template-rows:auto; gap:6px 14px; padding:24px; text-align:left; width:100%; color:var(--ink); transform:none; }
 .collection-houses .pair__emblem,.collection-studios .pair__emblem { grid-column:2; grid-row:1 / 3; width:58px; height:58px; filter:none; opacity:.8; margin:0; }
 .collection-houses .pair__name,.collection-studios .pair__name { grid-column:1; grid-row:1; font-size:28px; margin:0; }
 .collection-houses .pair__meaning,.collection-studios .pair__meaning { grid-column:1; grid-row:2; min-height:0; font-size:11px; line-height:1.5; letter-spacing:.06em; margin:0; color:var(--ink-soft); }
 .collection-houses .pair__line,.collection-studios .pair__line { grid-column:1 / -1; min-height:0; font-size:20px; line-height:1.4; max-width:none; margin:10px 0; color:var(--ink); }
 .collection-houses .pair__go,.collection-studios .pair__go { grid-column:1 / -1; justify-self:start; min-height:36px; display:flex; align-items:center; font-size:11px; color:var(--ink); border-color:var(--hairline); }
 .collection-suites,.collection-studios { padding-block:48px; }
 .collection-suites .cards { gap:32px; margin-top:28px!important; }
 .collection-suites .section-head > p:not(.eyebrow) { margin-top:20px!important; }
 .collection-suites .renders { margin-top:28px; }
 .room-masthead { grid-template-columns:1fr; min-height:0; }
 .room-masthead__image { order:-1; height:66vw; min-height:230px; max-height:420px; }
 .room-masthead__copy { display:grid; grid-template-columns:1fr 60px; column-gap:16px; padding:24px var(--gutter) 32px; text-align:left; justify-items:start; }
 .room-back { grid-column:1 / -1; min-height:36px; margin-bottom:16px; display:inline-flex; align-items:center; font-size:10px; }
 .room-emblem { grid-column:2; grid-row:2 / 5; width:60px; height:60px; margin:0; align-self:center; }
 .room-masthead .eyebrow { grid-column:1; margin:0 0 6px; }
 .room-masthead h1 { grid-column:1; font-size:42px; padding:0; }
 .room-meaning { grid-column:1; font-size:20px; margin:6px 0 0; }
 .room-masthead .unit__actions { grid-column:1 / -1; justify-content:flex-start; margin-top:22px; gap:24px; }
 .room-story { padding-top:32px; }
 .room-prose > p:first-child { font-size:21px; line-height:1.5; }
 .room-prose p+p { margin-top:20px; }
 .room-story__grid { grid-template-columns:1fr; gap:32px; }
 .room-prose { order:-1; }
 .room-included { margin-top:28px; padding-top:24px; }
 .room-wellness { padding-block:36px; }
 .room-wellness__pair { margin-top:28px; }
 .room-gallery__heading { margin-bottom:24px; }
 .gallery button.gallery__more { min-height:44px; }
 .field input,.field select,.field textarea,.newsletter input,.newsletter-dialog input { font-size:16px; }
 .field input,.field select { min-height:48px; }
 .field label { line-height:1.5; }
 .contact-grid { gap:40px; }
 .foot-inner { gap:36px; }
 .site-foot { padding-top:48px; }
 .foot-base { gap:20px; }
 .social a { display:inline-flex; align-items:center; min-height:44px; }
 .lightbox { width:94vw; height:min(620px,80svh); }
 .lightbox__stage { inset:56px 14px 68px; }
 .lightbox__btn { top:auto; bottom:10px; transform:none; }
 .lightbox__btn--prev { left:calc(50% - 60px); }
 .lightbox__btn--next { right:calc(50% - 60px); }
}
@media (max-width:360px) {
 :root { --gutter:20px; }
 .hero h1 { font-size:34px; }
 .collection-intro h2 { font-size:24px; }
 .pin .booking-panel { padding:24px 18px; }
 [aria-labelledby="m-names"] .cards { gap:0 14px; }
 [aria-labelledby="m-names"] .unit-meaning { font-size:15px; }
}
@media (max-width:860px) {
 .collection-houses .pair__body,.collection-studios .pair__body { justify-items:start; max-width:none; }
 .collection-houses .pair__name,.collection-studios .pair__name { padding-left:0; }
 .collection-houses .pair__panel:is(:hover,:focus-visible) .pair__body,
 .collection-studios .pair__panel:is(:hover,:focus-visible) .pair__body,
 .collection-houses .pair__panel:is(:hover,:focus-visible) .pair__line,
 .collection-studios .pair__panel:is(:hover,:focus-visible) .pair__line,
 .collection-houses .pair__panel:is(:hover,:focus-visible) .pair__go,
 .collection-studios .pair__panel:is(:hover,:focus-visible) .pair__go { color:var(--ink); border-color:var(--hairline); }
 .collection-houses .pair__panel:is(:hover,:focus-visible) .pair__meaning,
 .collection-studios .pair__panel:is(:hover,:focus-visible) .pair__meaning { color:var(--ink-soft); }
 .collection-houses .pair__panel:is(:hover,:focus-visible) .pair__emblem,
 .collection-studios .pair__panel:is(:hover,:focus-visible) .pair__emblem { filter:none; }
}
@media (max-width:860px) {
 [aria-labelledby="m-names"] .card--named:is(:hover,:focus-within) .emblem__ghost { opacity:.75; }
}
/* Keep off-screen editorial reveal motion inside its own section. */
.module { overflow:clip; }
#enquiry-status:empty { display:none; }

/* Laura: a softer, translucent sparkle-water page break. */
.band-tex--sparkle .band-tex__layer video { opacity:.5; }

/* Studio description-to-gallery spacing: avoid two full section paddings. */
.room--studio .room-story { padding-bottom:clamp(40px,5vw,80px); }
.room--studio .room-gallery { padding-top:clamp(40px,5vw,80px); }
