/* Compatibility between the approved prototypes and the shared CMS shell. */
[hidden]{display:none!important}
#menu{display:none}#mobile-nav{position:fixed;top:64px;left:0;right:0;background:#fff;color:#111;padding:24px;display:flex;flex-direction:column;gap:20px;z-index:30;border-bottom:1px solid #ddd}
.page-home .site-header{height:64px;padding:0 24px;backdrop-filter:none}
.page-home.past-opening .site-header{backdrop-filter:blur(14px)}
.page-home .film-preview .film-caption{padding:0;min-height:0;height:auto}
.page-home .film-preview .film-caption>span{padding-top:0;white-space:normal}
.page-home .news-feed{display:block}.page-home .news-card img{height:100%;width:100%;object-fit:contain}
.page-home .news-heading{padding-top:20px}.page-home .news-heading p{margin:0}
.page-home .news-caption strong{font-weight:400}
.page-home footer>span{width:auto}.page-home #film-dialog{padding:70px 24px 24px;width:100%;height:100svh;max-width:none;max-height:none;margin:0;background:#fff;color:#111}
.page-artists main{padding:0 24px;min-height:0}.page-artists .title h1{font-weight:400}
.page-artists .group h2{line-height:1.4;letter-spacing:normal}.page-artists .preview-caption p{line-height:1.4}
.page-artists footer{align-items:center}.page-artists footer>span{width:auto}
@media(min-width:761px){.page-artists .site-header{height:58px;flex-shrink:0}.page-artists footer{margin:10px 24px 0;padding:12px 0 16px;min-height:46px}}
@media(min-width:761px) and (max-height:650px){.page-artists .site-header{height:50px}}
@media(max-width:760px){.site-header nav,.site-header .header-enquiry{display:none}#menu{display:block;font-size:12px}.page-home .site-header{padding:0 16px}.page-artists main{padding:0 16px}.page-artists .site-header{height:64px}.page-artists footer>span,.page-home footer>span{width:100%}}

.page-home .stage .opening-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}

.page-home a.film-preview:hover{text-decoration:none}
@media(max-width:760px){.page-home .stage .opening-poster{object-position:55% center}}

.page-home .news-caption,.page-home .news-caption-link{display:block}

/* Compact information pages: keep all content visible in a desktop viewport. */
@media(min-width:1000px) and (min-height:680px){
 .page-contact,.page-concierge{min-height:100svh;display:flex;flex-direction:column}
 .page-contact .site-header,.page-concierge .site-header{flex:0 0 64px}
 .page-contact main,.page-concierge main{flex:1;min-height:0;display:flex}
 .page-contact footer,.page-concierge footer{flex:0 0 44px;padding:10px 24px}
 .page-contact .contact-page,.page-concierge .concierge-page{width:100%;min-height:calc(100svh - 108px);box-sizing:border-box}
 .page-contact .contact-page{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);grid-template-rows:auto auto auto auto auto;gap:0 48px;padding:24px;align-content:center}
 .page-contact .contact-intro{grid-column:1;grid-row:1/5;padding-right:16px}
 .page-contact .contact-intro h1{font-size:clamp(34px,3vw,50px);line-height:1.04;letter-spacing:-.04em}
 .page-contact .about-company{display:block;padding:24px 0 0}
 .page-contact .about-company .eyebrow{margin-bottom:10px}
 .page-contact .about-company p{font-size:15px;line-height:1.5;letter-spacing:normal;margin-bottom:12px;max-width:42ch}
 .page-contact .contact-page>.section-label,.page-contact .contacts-grid,.page-contact .offices-grid{grid-column:2}
 .page-contact .section-label{padding:12px 0;gap:16px}
 .page-contact .section-label h2,.page-contact .offices-grid h2{font-size:14px;line-height:1.3}
 .page-contact .section-label>span{font-size:10px}
 .page-contact .contacts-grid{gap:0 22px}
 .page-contact .contacts-grid>div{padding:14px 0}
 .page-contact .contacts-grid .eyebrow{margin-bottom:5px}
 .page-contact .contacts-grid a{font-size:16px;overflow-wrap:anywhere}
 .page-contact .offices-grid{gap:20px;padding:16px 0}
 .page-contact .offices-grid address{font-size:12px;line-height:1.5;margin:10px 0}
 .page-contact .offices-grid a{font-size:12px;white-space:nowrap}
 .page-contact .contact-close{grid-column:1/-1;padding:16px 0 0;margin-top:20px;align-items:center}
 .page-contact .contact-close h2{font-size:18px}
 .page-contact .contact-close a{font-size:12px}
 .page-concierge .concierge-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto;gap:12px 44px;padding:18px 24px;align-content:center}
 .page-concierge .concierge-hero{display:contents}
 .page-concierge .concierge-hero>div{grid-column:1;grid-row:1}
 .page-concierge .concierge-hero .eyebrow{margin-bottom:8px}
 .page-concierge .concierge-hero h1{font-size:46px;line-height:1.04;margin:8px 0 12px}
 .page-concierge .concierge-hero h2{font-size:22px;line-height:1.15;max-width:28ch}
 .page-concierge .concierge-hero p{font-size:13px;line-height:1.5;margin:12px 0 0;max-width:48ch}
 .page-concierge .concierge-hero .line-link{margin-top:10px}
 .page-concierge .concierge-hero figure{grid-column:2;grid-row:1/3;margin:0;display:flex;flex-direction:column;min-height:0;height:100%;gap:8px}
 .page-concierge .concierge-hero img{flex:1;min-height:0;height:0;max-height:none;object-fit:contain}
 .page-concierge .concierge-hero figcaption{font-size:10px;line-height:1.4;margin:0}
 .page-concierge .service-section{grid-column:1;grid-row:2;display:block;padding:14px 0 0}
 .page-concierge .service-section .eyebrow{margin-bottom:8px}
 .page-concierge .service-section h2{font-size:22px;line-height:1.15;max-width:32ch}
 .page-concierge .service-section p{font-size:13px;line-height:1.5;margin:10px 0;max-width:52ch}
 .page-concierge .service-list{font-size:12px;gap:20px;padding:2px 0 6px;flex-wrap:wrap}
 .page-concierge .service-section .line-link{margin-top:4px}
 .page-concierge #enquiry{grid-row:3}
 .page-concierge .portfolio-row{grid-column:2;grid-row:3;padding:10px 0 0}
 .page-concierge .portfolio-row .section-label{padding:0 0 8px}
 .page-concierge .portfolio-row .section-label h2{font-size:11px}
 .page-concierge .campaign-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .page-concierge .campaign-grid .image-frame{height:76px;aspect-ratio:auto;background:#fff}
 .page-concierge .campaign-grid img{object-fit:contain}
 .page-concierge .campaign-grid .caption{padding-top:5px}
 .page-concierge .campaign-grid .caption strong{font-size:10px}
 .page-concierge .campaign-grid .caption .subject,.page-concierge .campaign-grid .caption .credit{font-size:9px;line-height:1.35}
 .page-concierge .line-link{font-size:12px}
}

.concierge-hero figcaption .concierge-talent-credit{display:block;font-size:16px;font-weight:700;line-height:1.3;margin-bottom:6px}

.page-home .news-more{margin-top:16px;padding:14px 0}.page-home footer{margin:8px var(--gutter) 0;padding:18px 0 20px}
