/* Shared photographic openings. Owns hero composition, header wordmark and
   the white viewing CTA. Existing form / media behaviour is unchanged. */
.studio-openings{--opening-paper:#f4f2ea;--opening-ink:#1e1e1e;--opening-orange:#c44328}

/* Use the actual ink bounds of the original PNG; preserve the source asset.
   Its transparent canvas is 900 × 215, artwork x=62..842, y=47..170. */
.multipage.studio-openings .site-header .brand{position:relative;width:168px;min-height:44px;flex:0 0 auto;overflow:visible}
.multipage.studio-openings .site-header .brand img{position:absolute;width:115.385%;max-width:none;height:auto;left:-7.949%;top:50%;margin:0;transform:translateY(-50%)}
.multipage.studio-openings .site-header .brand:focus-visible{outline-offset:4px}

/* White surfaces need their own foreground, including descendants and states. */
.multipage.studio-openings .visit-card .visit-actions .button{background:#fff;color:#1e1e1e;border:1px solid #fff}
.multipage.studio-openings .visit-card .visit-actions .button :is(span,svg){color:inherit}
.multipage.studio-openings .visit-card .visit-actions .button:is(:hover,:focus-visible){background:#f4f2ea;color:#1e1e1e;border-color:#f4f2ea}
.multipage.studio-openings .visit-card .visit-actions .button:focus-visible{outline:3px solid #fff;outline-offset:5px}

/* A compact headline-and-invitation row gives the real films the first view. */
.multipage.studio-openings .new-home-hero{padding:clamp(2rem,3.6vw,3.5rem) 0 0;background:var(--opening-paper);overflow:clip}
.multipage.studio-openings .home-heading{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:2rem;align-items:center;margin:0 0 2rem}
.multipage.studio-openings .home-heading h1{font-size:clamp(2.3rem,4.05vw,4.65rem);line-height:1.18;letter-spacing:-.025em;margin:0;padding:.1em 0;max-width:none;text-wrap:initial}
.studio-openings .home-heading h1>span{display:block}
.studio-openings .home-heading .accent{color:var(--opening-orange)}
.studio-openings .home-lead{display:flex;flex-direction:column;gap:0;max-width:43ch}
.studio-openings .new-home-hero .home-lead>p{font-size:1.0625rem;line-height:1.7;color:var(--opening-ink);margin:0;max-width:43ch}
.studio-openings .new-home-hero .hero-actions{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;align-items:center;justify-content:flex-start;margin:1.25rem 0 0}
.studio-openings :is(.new-home-hero,.offer-hero) .hero-actions .button{background:var(--opening-orange);border-color:var(--opening-orange);color:#fff}
.studio-openings :is(.new-home-hero,.offer-hero) .hero-actions .button:hover{background:#a4321c;border-color:#a4321c;color:#fff}
.studio-openings .new-home-hero .hero-actions .quiet-link{background:none;padding:0;min-height:44px;display:inline-flex;align-items:center;border-radius:0;color:var(--opening-ink)}
.studio-openings .opening-actions{min-width:0}
.studio-openings .opening-programme{display:inline-flex;align-items:center;min-height:44px;margin-top:.35rem;color:#51524b;font-size:.8125rem;text-underline-offset:4px}
.studio-openings .opening-programme:hover{color:var(--opening-ink)}
.studio-openings .opening-programme:focus-visible{outline:2px solid var(--opening-ink);outline-offset:3px}

/* A printed orange frame contains the three native-ratio films. */
.studio-openings .opening-cinema{position:relative;width:min(100%,1124px);margin-inline:auto;padding:18px 18px 0;background:var(--opening-orange);border-radius:12px;color:#fff}
.studio-openings .new-home-hero .opening-cinema .film-stage{max-width:1088px;margin:0 auto;gap:12px;background:transparent}
.studio-openings .opening-cinema .film-stage .album-frame{border-radius:4px;box-shadow:none}
.studio-openings .opening-cinema .cinema-caption{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1088px;margin:0 auto;padding:1rem 0;border:0;color:#fff}
.studio-openings .opening-cinema .cinema-caption :is(p,a,span){color:#fff;font-size:.875rem;line-height:1.6;margin:0}
.studio-openings .opening-cinema .cinema-caption a{min-height:44px;display:inline-flex;align-items:center;gap:.65rem;background:transparent;padding:0;border-radius:0;text-decoration-color:currentColor}
.studio-openings .new-home-hero .studio-facts{display:grid;grid-template-columns:1.1fr 1.15fr 1fr;gap:1.5rem;padding:1.5rem 0;margin:0;background:transparent;border-bottom:1px solid #1e1e1e2b}
.studio-openings .studio-facts li{display:grid;gap:.2rem;min-width:0}
.studio-openings .studio-facts span{font-size:.875rem;color:#51524b}
.studio-openings .studio-facts strong{font-size:.9375rem;line-height:1.6;color:var(--opening-ink)}

/* Service opening: headline + useful copy left, full photograph right.
   On a phone useful copy and contact actions precede the photograph. */
.multipage.studio-openings .offer-hero{padding:1.65rem 0 2rem;background:var(--opening-paper)}
.studio-openings .offer-hero .breadcrumb{margin:0 0 2rem;font-size:.8125rem}
.multipage.studio-openings .offer-hero .offer-opening{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);grid-template-rows:auto auto 1fr;grid-template-areas:'title photo' 'copy photo' 'jumps photo';gap:1.5rem clamp(2rem,4vw,4.5rem);align-items:start}
.multipage.studio-openings .offer-headline{grid-area:title;align-self:end;font-size:clamp(1.8rem,3.05vw,3rem);line-height:1.18;letter-spacing:-.025em;margin:0;padding:.08em 0;max-width:none;text-wrap:initial}
.studio-openings .offer-headline>span{display:block}
.studio-openings .offer-headline .accent{color:var(--opening-orange)}
.studio-openings .offer-heading{grid-area:copy;min-width:0}
.studio-openings .offer-hero .offer-lead{font-size:1.0625rem;line-height:1.75;max-width:43ch;margin:0;color:var(--opening-ink)}
.studio-openings .offer-heading .hero-actions{margin-top:1.5rem;gap:.75rem 1.5rem}
.multipage.studio-openings .offer-hero .offer-cover{grid-area:photo;align-self:center;justify-self:end;display:block;width:100%;max-width:100%;margin:0;padding:0;box-shadow:none;border:0;border-radius:8px;overflow:hidden;background:var(--opening-orange)}
.multipage.studio-openings .offer-hero .offer-photo{display:block;width:100%;max-width:100%;height:auto;max-height:none;padding:0;border:0;border-radius:0;background-color:transparent}
.multipage.studio-openings .offer-hero .offer-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;aspect-ratio:var(--opening-photo-ratio);border-radius:0}
.multipage.studio-openings .offer-hero .opening-portrait{width:100%;max-width:397.5px}
.multipage.studio-openings .offer-hero .opening-portrait .offer-photo img{width:100%;max-width:100%;max-height:none}
.studio-openings .opening-visual{grid-area:photo;align-self:center;min-width:0;border-radius:8px;overflow:hidden}
.studio-openings .opening-photo-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:end;gap:16px}
.studio-openings .opening-photo-pair{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);padding-bottom:16px}
.multipage.studio-openings .opening-visual .offer-cover{grid-area:auto;border-radius:0}
.studio-openings .opening-detail{min-width:0;margin:0 0 2.5rem;padding:0}
.studio-openings .opening-detail .space-photo-button{display:block;position:relative;width:100%;padding:0;border:0;border-radius:6px;overflow:hidden;background-color:transparent}
.studio-openings .opening-detail img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:var(--opening-photo-ratio)}
.studio-openings .opening-caption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.25rem 1rem;padding:.5rem 1.1rem;background:var(--opening-orange);color:#fff;font-size:.8125rem;line-height:1.6}
.studio-openings .opening-caption a{display:inline-flex;align-items:center;gap:.65rem;min-height:44px;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.studio-openings .opening-caption svg{width:18px;height:18px;flex:none}
.studio-openings .opening-caption a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.studio-openings .offer-opening>.offer-jump-links{grid-area:jumps;display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;padding:0;margin:0;border:0}
.studio-openings .offer-jump-links a{display:inline-flex;align-items:center;min-height:44px;padding:0;color:var(--opening-ink);font-size:.875rem}
.studio-openings .offer-heading .hero-actions .quiet-link{padding-inline:0;background:transparent}
.multipage.studio-openings:is(.page-corporate,.page-agency,.page-production,.page-private,.page-recording) :is(.visual-section-heading,.service-detail-copy,.format-introduction,.journey-heading,.planning-heading) h2{font-size:clamp(1.7rem,2.6vw,2.5rem);line-height:1.22;letter-spacing:-.02em}

@media(max-width:1100px){
 .multipage.studio-openings .home-heading{grid-template-columns:minmax(0,1fr);gap:1.25rem}
 .multipage.studio-openings .home-heading h1{font-size:clamp(2.4rem,5.5vw,4rem)}
 .studio-openings .home-lead{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:none;align-items:center}
 .studio-openings .new-home-hero .hero-actions{margin:0}
 .multipage.studio-openings .offer-headline{font-size:clamp(1.8rem,3.05vw,3rem)}
}
@media(max-width:767px){
 .multipage.studio-openings .site-header .brand{width:clamp(116px,34vw,144px)}
 .multipage.studio-openings .header-inner{gap:.5rem;min-height:68px;padding-block:6px}
 .multipage.studio-openings .header-actions{gap:4px}
 .multipage.studio-openings .header-cta{font-size:.75rem;padding:.6rem .7rem;min-height:44px;gap:0}
 .multipage.studio-openings .header-cta>span{display:none}
 .multipage.studio-openings .language-link{min-width:28px;font-size:.6875rem;padding-inline:3px}
 .multipage.studio-openings .menu-toggle{width:44px;min-width:44px}
 .multipage.studio-openings .new-home-hero{padding-top:1.5rem}
 .studio-openings .new-home-hero .cinema-wrap{display:block}
 .multipage.studio-openings .home-heading{display:block;margin:0 0 1.5rem}
 .multipage.studio-openings .home-heading h1{font-size:clamp(1.65rem,7.2vw,3.1rem);line-height:1.2;margin:0 0 1rem}
 .studio-openings .home-lead{display:flex;gap:0}
 .studio-openings .new-home-hero .home-lead>p{font-size:1rem;line-height:1.65}
 .studio-openings .new-home-hero .hero-actions{display:flex;margin:1.2rem 0 0;gap:.65rem}
 .studio-openings .new-home-hero .hero-actions .button{width:100%;justify-content:space-between;min-height:52px}
 .studio-openings .opening-cinema{--opening-film-height:clamp(430px,135vw,570px);padding:12px 12px 0;border-radius:10px}
 .studio-openings .new-home-hero .opening-cinema .hero-media-switcher{display:flex;width:100%;margin:0 0 12px;padding:0;gap:4px;background:none;border:0;border-radius:0}
 .studio-openings .opening-cinema .hero-media-switcher button{border:1px solid #ffffff85;border-radius:5px;color:#fff;background:transparent;min-height:44px;font-size:.75rem;font-weight:700;padding:.5rem .25rem}
 .studio-openings .opening-cinema .hero-media-switcher button[aria-pressed=true]{background:#fff;color:#1e1e1e;border-color:#fff}
 .studio-openings .opening-cinema .hero-media-switcher button:focus-visible{outline:2px solid #fff;outline-offset:2px}
 .studio-openings .new-home-hero .opening-cinema .film-stage{display:block;height:var(--opening-film-height);margin:0;background:transparent;overflow:visible;border-radius:0}
 .studio-openings .opening-cinema .film-stage figure{height:var(--opening-film-height);justify-content:center}
 .studio-openings .opening-cinema .film-stage .album-frame{width:auto;max-width:100%;height:var(--opening-film-height);border-radius:4px;box-shadow:none}
 .studio-openings .opening-cinema .film-stage .album-production .album-frame{width:100%;height:auto;aspect-ratio:1}
 .studio-openings .opening-cinema .cinema-caption{gap:.5rem;flex-wrap:wrap;padding:.75rem 0}
 .studio-openings .opening-cinema .cinema-caption p{font-size:.8125rem}
 .studio-openings .opening-cinema .cinema-caption a{display:none}
 .studio-openings .new-home-hero .studio-facts{grid-template-columns:1fr;gap:.75rem;padding:1.25rem 0}
 .studio-openings .studio-facts li{grid-template-columns:7.5rem minmax(0,1fr);align-items:baseline;gap:.75rem}
 .studio-openings .studio-facts strong{font-size:.8125rem}
 .multipage.studio-openings .offer-hero{padding:1.25rem 0 1.5rem}
 .studio-openings .offer-hero .breadcrumb{font-size:.6875rem;margin-bottom:1.5rem}
 .multipage.studio-openings .offer-hero .offer-opening{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;grid-template-areas:'title' 'copy' 'photo' 'jumps';gap:1.4rem}
 .multipage.studio-openings .offer-headline{font-size:clamp(1.5rem,7vw,3rem);line-height:1.22;margin:0;max-width:none}
 .multipage.studio-openings .offer-hero .offer-cover{width:100%;justify-self:stretch;max-width:100%}
 .multipage.studio-openings .offer-hero .opening-portrait .offer-photo{display:flex;justify-content:center;background-color:var(--opening-paper)}
 .multipage.studio-openings .offer-hero .opening-portrait{max-width:225px}
 .multipage.studio-openings .offer-hero .opening-portrait .offer-photo img{max-height:none;width:100%;max-width:100%}
 .studio-openings .opening-photo-layout{gap:12px}
 .studio-openings .opening-photo-pair{padding-bottom:12px}
 .studio-openings .opening-detail{margin-bottom:1rem}
 .studio-openings .opening-caption{padding:.4rem .9rem;gap:0 .75rem;font-size:.75rem}
 .studio-openings .offer-hero .offer-lead{font-size:1rem;line-height:1.7}
 .studio-openings .offer-heading .hero-actions{margin-top:1.25rem;gap:.55rem 1.5rem}
 .studio-openings .offer-heading .hero-actions .button{width:100%;justify-content:space-between}
 .multipage.studio-openings:is(.page-corporate,.page-agency,.page-production,.page-private,.page-recording) :is(.visual-section-heading,.service-detail-copy,.format-introduction,.journey-heading,.planning-heading) h2{font-size:clamp(1.5rem,6.4vw,1.8rem);line-height:1.25}
}
@media(max-width:380px){.multipage.studio-openings .site-header .brand{width:114px}}
/* Text enlargement keeps reading order and never squeezes a long word. */
html[data-studio-large-type] .studio-openings .home-heading,
html[data-studio-large-type] .studio-openings .home-lead{display:block}
html[data-studio-large-type] .studio-openings .offer-hero .offer-opening{grid-template-columns:minmax(0,1fr);grid-template-areas:'title' 'copy' 'photo' 'jumps'}
html[data-studio-large-type] .studio-openings .hero-actions{margin-top:1.5rem}
html[data-studio-large-type] .studio-openings .studio-facts li{display:block}
