/* Takeovers: a clear invitation, followed by photographic stories at native ratios. */
:root{--paper:#fff;--concrete:#f5f5f3;--ink-soft:#525252;--black:#080808}
.multipage .hero{background:#fff}.home-heading{margin-bottom:2rem}.home-lead>p,.offer-lead{color:#444}
.multipage .offer-hero{padding-top:1.75rem;padding-bottom:1.5rem}.breadcrumb{margin-bottom:1.5rem}
.offer-opening{grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:clamp(2rem,4vw,4rem)}
.offer-lead{max-width:35ch;font-size:1rem}.multipage .offer-heading h1{font-size:clamp(2.65rem,4.2vw,4.25rem)}
.offer-photo>img{max-height:560px}.multipage .offer-private .offer-photo>img{height:500px}
.multipage section[id]{scroll-margin-top:calc(var(--header-h) + 24px)}
.visual-directory,.visual-intro{padding:clamp(2.25rem,4vw,4rem) 0;background:#fff}
.visual-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.75rem}
.visual-section-heading h2{font-size:clamp(2rem,3.1vw,3.25rem);max-width:26ch;margin:0;line-height:1.18}

/* Venue navigation: a complete row on desktop, balanced pairs on smaller screens.
   Geometry is self-contained; generated photo previews never control the grid. */
.visual-directory .visual-section-heading{align-items:center;gap:1rem 2rem;flex-wrap:wrap;margin-bottom:2rem}
.visual-destinations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,1.5vw,24px);align-items:start}
.category-pair{display:contents}
.visual-destination{display:flex;flex-direction:column;min-width:0;background:#fff;color:var(--black);text-decoration:none;border-radius:6px}
.destination-image{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;flex-shrink:0;background-color:var(--concrete);border-radius:6px}
.multipage .destination-image>img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 48%;transition:transform .35s ease}
.destination--production .destination-image>img{object-position:50% 68%}
.destination-label{min-width:0;padding:1.125rem 0 .25rem}
.destination-title{display:flex;align-items:flex-start;gap:.65rem}
.multipage .destination-label h3{flex:1;min-width:0;color:var(--black);font-size:clamp(1.5rem,1.9vw,1.875rem);line-height:1.22;letter-spacing:-.035em;margin:0;min-height:2.65em;text-wrap:pretty;overflow-wrap:normal}
.destination-label p{font-size:.875rem;line-height:1.6;color:#525252;margin:.5rem 0 0;max-width:32ch}
.destination-label p>span+span::before{content:", ";color:inherit}
.destination-action{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;margin-top:.2rem;background:var(--red);color:#fff;border-radius:50%;font:500 1.5rem/1 var(--display);transition:background .2s ease,transform .2s ease}
.visual-destination:focus-visible,.recording-link:focus-visible{outline:3px solid var(--red);outline-offset:5px}
.recording-link{display:inline-flex;align-items:center;gap:1.1rem;padding:6px 0;color:#111;text-decoration:none;min-height:44px;min-width:0;max-width:100%;flex:0 1 auto}
.recording-link>span:first-child{font:600 1rem/1.5 var(--display);text-decoration:underline;text-decoration-color:#ccc;text-underline-offset:6px;letter-spacing:-.015em}
.recording-link>span:last-child{color:var(--red);font-size:1.8rem;line-height:1}
@media(hover:hover){.visual-destination:hover .destination-image>img{transform:scale(1.025)}.visual-destination:hover .destination-action{background:var(--red-press);transform:translate(1px,-1px)}.visual-destination:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.recording-link:hover>span:first-child{text-decoration-color:var(--red)}}
@media(min-width:768px) and (max-width:1279px){.visual-destinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.5rem}.destination-image{aspect-ratio:3/2}.multipage .destination-label h3{font-size:1.875rem;min-height:0}}

/* Opening scenes stay short; the extensive archive continues after the inquiry. */
.visual-intro .visual-section-heading h2{font-size:clamp(1.55rem,2.3vw,2.25rem);max-width:32ch}
.visual-intro .scene-pair{display:grid;grid-template-columns:1.5fr .66667fr .66667fr;align-items:start;gap:24px}
.visual-intro--agency .scene-pair{grid-template-columns:1.5fr .8fr .8fr}
.visual-intro--private .scene-pair{grid-template-columns:2.79503fr .78947fr .78947fr}
.visual-intro--production .scene-pair{grid-template-columns:1.52542fr .5625fr .66667fr}
.scene-pair>.venue-photo{min-width:0}.multipage .visual-intro .space-photo-button{width:100%;max-width:100%;border-radius:6px}
.multipage .visual-intro .venue-photo img{width:100%;height:auto;max-height:none}
.visual-intro .scene-pair figcaption{font-size:1rem;padding-top:.75rem}
.visual-intro .destination-movie{width:100%;height:auto;max-height:none;align-self:start;border-radius:6px}
.visual-intro .destination-movie>img{width:100%;height:auto}
.multipage .inquiry-section{padding-block:clamp(3rem,5vw,5rem)}.multipage .inquiry-copy{padding-top:0}
.multipage .inquiry-copy h2{font-size:clamp(2.75rem,4.8vw,4.8rem)}.multipage .inquiry-lead{font-size:1rem;line-height:1.65;max-width:34ch}

/* Deliberate sequences: wide views, people, details. Never crop the source frame. */
.photo-story{background:#fff}
.photo-sequence{display:grid;gap:clamp(12px,1.6vw,24px)}
.native-photo-row{display:grid;gap:clamp(12px,1.6vw,24px);align-items:start;width:100%;margin-inline:auto}
.native-photo-row>.venue-photo{min-width:0}
.multipage .native-photo-row .space-photo-button{width:100%;border-radius:6px}
.multipage .native-photo-row img{width:100%;height:auto;max-height:none}
.photo-story .space-photo-affordance{width:32px;height:32px;background:#111b;border:1px solid #ffffff80;backdrop-filter:none;bottom:12px;right:12px}
.photo-story .space-photo-affordance svg{width:17px;height:17px}
.photo-story--recording .visual-section-heading{max-width:40rem}

/* The venue details are illustrated with the destination's own photographs. */
.service-detail{padding-block:clamp(2.75rem,5vw,5rem);background:#fff}
.service-detail--reverse{background:var(--concrete)}
.service-detail-inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(2rem,5.5vw,5.5rem);align-items:center}
.service-detail--portrait .service-detail-inner{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
.service-detail--reverse .service-detail-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}
.service-detail--reverse.service-detail--portrait .service-detail-inner{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
.service-detail--reverse .detail-media{order:2}.service-detail--reverse .service-detail-copy{order:1}
.detail-media{width:100%;min-width:0}
.multipage .detail-media .space-photo-button{display:block;width:100%;border-radius:5px;overflow:hidden}
.multipage .detail-media img{display:block;width:100%;height:auto;max-height:none}
.service-detail-copy{max-width:66ch;min-width:0}
.service-detail-copy h2{font-size:clamp(2rem,3.1vw,3.2rem);line-height:1.14;letter-spacing:-.04em;margin:0 0 1.5rem}
.service-detail-copy>p{font-size:1rem;line-height:1.8;color:#454545;margin:0 0 1rem}
.detail-features{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;list-style:none;margin:1.5rem 0 0;padding:0}
.detail-features li{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:700;line-height:1.6;color:#222}
.detail-features li::before{content:"";height:5px;width:5px;background:var(--red);flex-shrink:0}
.detail-brief{margin-top:1.75rem;border-top:1px solid #ccc;padding-top:1.5rem}
.detail-brief h3{font:600 1.0625rem/1.45 var(--display);margin:0 0 .75rem}
.detail-brief p{font-size:.9375rem;line-height:1.8;color:#454545}
.service-detail-copy>.button{margin-top:1.5rem}

/* Venue information follows the photographs, with a quiet reading rhythm. */
.hub-overview{padding-block:clamp(3rem,6vw,6rem);background:#fff}
.hub-heading,.format-introduction{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:clamp(2rem,6vw,6rem);margin-bottom:2.5rem}
.multipage .hub-heading h2{font-size:clamp(2.5rem,5vw,5rem);line-height:1.12;letter-spacing:-.045em}
.hub-heading p,.hub-story-copy>p,.hub-kitchen p,.format-story-copy p,.community-context p{font-size:1rem;line-height:1.8;color:#454545;max-width:54ch}
.hub-heading p+p{margin-top:.9rem}
.hub-panorama{margin-bottom:clamp(2.5rem,5vw,5rem)}
.multipage .hub-overview .space-photo-button,.multipage .format-story .space-photo-button{display:block;width:100%;max-width:100%;border-radius:5px}
.multipage .hub-overview img,.multipage .format-story img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.hub-stories{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:start;margin-bottom:clamp(3rem,6vw,6rem)}
.hub-story{min-width:0}.hub-story-copy{padding-top:1.6rem;max-width:66ch}
.multipage .hub-story h3,.multipage .hub-kitchen h3{font-size:clamp(1.8rem,2.7vw,2.8rem);line-height:1.18;letter-spacing:-.035em;margin:0 0 1.2rem}
.hub-link{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:44px;font:600 1rem/1.5 var(--display);color:#111;text-decoration:none;border-bottom:1px solid #c9c9c7;margin-top:1rem;max-width:100%}
.hub-link>span{color:var(--red);font-size:1.65rem;line-height:1}.hub-link:hover{border-color:var(--red)}
.hub-kitchen{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,6rem);align-items:center;max-width:1100px;margin:auto}
.format-introduction{margin-bottom:2.5rem}.format-introduction h2{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.16;letter-spacing:-.04em;max-width:23ch}
.format-introduction>p{font-size:1rem;line-height:1.75;color:#454545;max-width:43ch}
.format-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem);align-items:start}
.format-story{min-width:0}.format-story-copy{padding-top:1.6rem;max-width:58ch}
.multipage .format-story-copy h3{font-size:clamp(1.3rem,2vw,2rem);line-height:1.25;letter-spacing:-.025em;margin:0 0 1rem}
.format-story-copy p{max-width:52ch}.format-contact{margin-block:2.5rem 3rem}.format-contact:has(+.photo-sequence:empty){margin-bottom:0}
.photo-sequence:empty{display:none}
.multipage .community-story{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.community-context{min-width:0}.multipage .community-context h3{font-size:clamp(1.8rem,3.1vw,3rem);line-height:1.18;letter-spacing:-.035em;margin-bottom:1.25rem}
.community-context p+p{margin-top:1rem}.multipage .culture-on-white .series-context{margin-top:.75rem;color:#555}

@media(min-width:960px){
 .format-stories{row-gap:1rem}
 .format-story{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:1rem}
 .format-story-copy{display:contents}
 .multipage .format-story-copy h3{margin:0}
 .format-story>.venue-photo{margin-bottom:.5rem}
}
@media(min-width:768px) and (max-width:1279px){
 .photo-story--corporate .format-stories{grid-template-columns:1fr;gap:2.5rem}
 .photo-story--corporate .format-story{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:auto;grid-row:auto;gap:2rem;align-items:center}
 .photo-story--corporate .format-story-copy{display:block;padding:0}
 .multipage .photo-story--corporate .format-story-copy h3{margin-bottom:1rem}
}

@media(min-width:768px) and (max-width:959px){
 .format-stories{grid-template-columns:1fr;gap:2.5rem}
 .format-story{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2rem;align-items:center}
 .format-story-copy{padding-top:0}
 .hub-heading,.format-introduction{gap:2rem}.hub-stories{gap:2rem}
 .multipage .hub-story h3{font-size:1.75rem}
}

/* An invitation with a real place in it, not a paragraph in an empty strip. */
.visit-scene{padding:clamp(2rem,4vw,4rem) 0;background:white}
.visit-card{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;background:var(--red);color:white;border-radius:12px;overflow:hidden}
.visit-picture{align-self:center;min-width:0;background-color:#eeeded}.visit-picture img{width:100%;height:auto;display:block}
.visit-details{padding:clamp(1.5rem,3.4vw,3.5rem);min-width:0}
.visit-brand{font-size:.9375rem;font-weight:700;color:#fff;margin-bottom:1.5rem}
.multipage .visit-details h2{font-size:clamp(2rem,3.5vw,3.7rem);line-height:1.12;max-width:13ch;overflow-wrap:anywhere}
.visit-address{font-size:1rem;line-height:1.6;margin:1.25rem 0 1.5rem;color:#fff}
.visit-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.5rem}
.multipage .visit-actions .button{background:#fff;color:#111;white-space:normal;max-width:100%}.multipage .visit-actions .button:hover{background:#f0f0f0}
.visit-actions .quiet-link{color:#fff;text-decoration-color:#ffffffaa;font-size:.8125rem}
.closing-note{background:#111;color:#fff;padding:clamp(2.5rem,5vw,5rem) 0}
.closing-note>.wrap{display:flex;justify-content:space-between;align-items:center;gap:2rem}
.multipage .closing-note h2{font-size:clamp(2.75rem,5vw,5.5rem);line-height:1.13}
.closing-note p{color:#ccc;font-size:.9375rem;margin-top:1rem}

/* Existing proof and loading system remain source-led. */
.multipage .studio-gallery{background:#fff}.multipage .studio-gallery h2{max-width:none;font-size:clamp(2.25rem,4vw,4rem)}
.studio-gallery .photo-sequence{margin-top:clamp(12px,1.6vw,24px)}
.multipage .gallery-open{background-color:var(--concrete);border-radius:6px}
[data-photo-preview]{background-size:100% 100%;background-position:center;background-repeat:no-repeat}
.multipage .destination-image[data-photo-preview]{background-size:cover}
.multipage [data-photo-preview].photo-loaded{background-image:none!important}
.multipage [data-progressive-photo]{transition:opacity .18s ease}.multipage [data-photo-preview].photo-retry img{opacity:0}
.multipage .gallery-open:focus-visible{outline-offset:4px}
.multipage .partner-section{padding-block:clamp(3rem,5vw,5rem);background:var(--concrete)}.partner-section .section-kicker{display:none}
.partner-section .editorial-heading{margin-bottom:2rem}.partner-section .editorial-heading h2{font-size:clamp(2rem,3.2vw,3rem)}
.partner-section .editorial-heading>p{font-size:.9375rem;max-width:34ch}
.partner-grid{grid-template-columns:repeat(4,minmax(0,1fr));border:0;gap:1.25rem}.partner-grid li{border:0;background:#fff;min-height:135px;padding:1.25rem;gap:.85rem;border-radius:6px}
.partner-grid img{height:46px;width:145px}.partner-grid span{font-size:.75rem}
.multipage .motion-story{background:var(--concrete)}.multipage .motion-story .section-kicker{text-transform:none;letter-spacing:0;font-size:.875rem}
.multipage .culture-on-white{padding-block:clamp(3rem,5vw,5rem)}.multipage .culture-on-white .proof-heading{margin-bottom:2rem}
.multipage .culture-on-white .series-card{border:0;padding-bottom:0}.multipage .culture-on-white .series-card h3{margin-top:1rem;font-size:1.375rem;letter-spacing:-.025em}
.multipage .culture-on-white .series-card>p{font-size:.9375rem}.multipage .culture-on-white .community-story{margin-top:2.5rem;padding-top:2.5rem}
.page-recording .offer-opening{grid-template-columns:.75fr 1.4fr}.page-recording .offer-cover{border:0;padding-bottom:0}.page-recording .offer-hero{padding-bottom:3rem}

@media(max-width:1099px){
 .offer-opening,.page-recording .offer-opening{grid-template-columns:.9fr 1.1fr;gap:1.5rem}.multipage .offer-heading h1{font-size:clamp(2.4rem,4.2vw,3.5rem)}
 .visit-details{padding:1.75rem}.visit-brand{margin-bottom:1rem}
}
@media(max-width:767px){
 .new-home-hero>.wrap{display:flex;flex-direction:column}.new-home-hero .home-heading,.new-home-hero .home-lead{display:contents}
 .new-home-hero h1{order:1;margin-bottom:1rem}.new-home-hero .hero-media-switcher{order:2}.new-home-hero .film-stage{order:3}
 .new-home-hero .home-lead>p{order:4;margin-top:1.25rem}.new-home-hero .hero-actions{order:5;margin-top:1rem}
 .home-heading{margin-bottom:1.5rem}.multipage .hero{padding-top:1.5rem}.multipage .offer-heading h1{font-size:clamp(2.5rem,8vw,3.6rem)}
 .offer-opening,.page-recording .offer-opening{grid-template-columns:1fr;gap:1.25rem}.offer-lead{max-width:40ch;margin-top:.75rem;font-size:1rem}
 .breadcrumb{margin-bottom:1rem;font-size:.75rem}.multipage .offer-hero{padding-bottom:.5rem}
 .multipage .offer-photo>img,.multipage .offer-private .offer-photo>img{max-height:420px;height:auto}.multipage .offer-private .offer-cover{max-width:90%}
 .visual-directory,.visual-intro{padding-block:2rem 2.5rem}.visual-section-heading{margin-bottom:1.25rem}
 .visual-section-heading h2{font-size:clamp(1.85rem,7vw,2.6rem);max-width:20ch}
 .visual-directory .visual-section-heading{gap:.4rem;margin-bottom:1.25rem}.visual-directory .visual-section-heading h2{width:100%}
 .visual-destinations{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(9rem,calc((100% - 14px)/2))),1fr));gap:1.75rem 14px}
 .destination-label{padding:.85rem 0 .125rem}.destination-title{gap:.35rem;position:relative;padding-right:0}
 .multipage .destination-label h3{font-size:clamp(1.125rem,4.8vw,1.55rem);line-height:1.25;min-height:2.75em;padding-right:0;letter-spacing:-.035em}
 .destination-label p{font-size:.8125rem;line-height:1.55;margin-top:.35rem}
 .destination-action{position:absolute;right:8px;bottom:calc(100% + 1.35rem);width:32px;height:32px;min-width:32px;font-size:1.3rem;margin:0;flex-basis:32px}
 .recording-link{gap:.75rem}.recording-link>span:first-child{font-size:.9375rem}
 .visual-intro .visual-section-heading h2{font-size:1.5rem;line-height:1.3;max-width:23ch}
 .visual-intro .scene-pair{gap:12px;grid-template-columns:1fr 1fr}
 .visual-intro--production .scene-pair{grid-template-columns:.5625fr .66667fr}
 .visual-intro .scene-pair>:first-child{grid-column:1/-1}
 .visual-intro .scene-pair figcaption{font-size:.875rem;padding-top:.5rem}
 .multipage .inquiry-copy h2{font-size:clamp(2.4rem,8vw,3.6rem)}.multipage .inquiry-section{padding-block:2.5rem}
 .photo-story{padding-block:2.75rem}.photo-sequence{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}
 .native-photo-row{display:contents}
 .photo-story .space-photo-affordance{width:28px;height:28px;bottom:7px;right:7px}
 .service-detail{padding-block:2.5rem}.multipage .service-detail .service-detail-inner{grid-template-columns:1fr;gap:1.75rem}
 .service-detail .detail-media{order:1}.service-detail .service-detail-copy{order:2;max-width:none}
 .service-detail--portrait .detail-media{width:78%;max-width:330px;justify-self:center}
 .service-detail-copy h2{font-size:clamp(1.9rem,7vw,2.5rem);line-height:1.18;margin-bottom:1.25rem}
 .service-detail-copy>p{line-height:1.75}.detail-features{margin-top:1.25rem;gap:.6rem 1rem}
 .detail-features li{font-size:.875rem}
 .hub-overview{padding-block:2.75rem}.hub-heading,.format-introduction{grid-template-columns:1fr;gap:1.25rem;margin-bottom:1.75rem}
 .multipage .hub-heading h2{font-size:2.5rem}.hub-panorama{margin-bottom:2.5rem}
 .hub-stories,.format-stories{grid-template-columns:1fr;gap:2.75rem;margin-bottom:2.75rem}
 .hub-story-copy,.format-story-copy{padding-top:1.25rem}.multipage .hub-story h3,.multipage .hub-kitchen h3{font-size:1.9rem}
 .hub-kitchen{grid-template-columns:1fr;gap:1.5rem}.hub-kitchen>.venue-photo{width:75%;max-width:330px;justify-self:start}
 .hub-story>.photo-portrait{width:80%;max-width:360px;margin-inline:0}
 .format-story>.venue-photo{width:80%;max-width:360px;margin-inline:0}
 .format-story>.photo-landscape{width:100%;max-width:none}
 .multipage .format-story-copy h3{font-size:1.5rem}.format-story-copy p,.hub-story-copy>p,.hub-kitchen p{line-height:1.75}
 .format-introduction h2{font-size:2rem}.format-stories{margin-bottom:0}.format-contact{margin-block:1.75rem 2.5rem}
 .multipage .community-story{grid-template-columns:1fr;gap:1.75rem}.multipage .community-context h3{font-size:2rem}
 .visit-scene{padding-block:2.5rem}.visit-card,.visit-scene--agency .visit-card{grid-template-columns:1fr}
 .visit-details{padding:1.75rem}.visit-brand{font-size:.875rem;margin-bottom:1rem}.multipage .visit-details h2{font-size:2.5rem;max-width:16ch}
 .visit-address{font-size:.9375rem;margin-block:1rem 1.25rem}.visit-actions{gap:.5rem 1.5rem}.visit-actions .button{min-height:52px}
 .closing-note>.wrap{display:block}.closing-note .button{margin-top:1.5rem}
 .multipage .studio-gallery{padding-block:2.5rem}.multipage .studio-gallery h2{font-size:2.2rem;margin-bottom:1.5rem}
 .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.partner-grid li{min-height:112px;padding:1rem .5rem;gap:.75rem}.partner-grid img{height:34px;width:100px}.partner-grid span{font-size:.6875rem}
 .multipage .culture-on-white{padding-block:2.5rem}.multipage .culture-on-white .proof-heading>p{font-size:1rem}.page-recording .offer-hero{padding-bottom:2rem}
}
@media(prefers-reduced-motion:reduce){.multipage [data-progressive-photo],.visual-destination,.destination-action,.multipage .destination-image>img{transition:none}.visual-destination:hover,.visual-destination:hover .destination-action,.visual-destination:hover .destination-image>img{transform:none}}
