/* Global footer reference; page content typography remains independent. */
.site-footer.home-footer { position:relative; z-index:7; isolation:isolate; display:block; overflow:hidden; height:auto; min-height:55.322266vw; padding:8.056641vw 0 1.8vw; background:#021d46; color:#f5f5f5; font-family:var(--sans) }
.site-footer.home-footer::before { content:''; position:absolute; z-index:-1; inset:0; pointer-events:none; background-image:linear-gradient(rgba(219,231,245,.08),rgba(219,231,245,.08)),linear-gradient(rgba(219,231,245,.08),rgba(219,231,245,.08)),linear-gradient(rgba(219,231,245,.08),rgba(219,231,245,.08)),linear-gradient(rgba(219,231,245,.08),rgba(219,231,245,.08)),linear-gradient(rgba(219,231,245,.08),rgba(219,231,245,.08)); background-size:1px 100%; background-position:16.4% 0,33.2% 0,50% 0,66.8% 0,83.6% 0; background-repeat:no-repeat }
[data-gallery-unavailable] { cursor:default }
.site-footer.home-footer .home-footer-top { display:grid; grid-template-columns:10.8% 19.1% 19.1% 19.1% 31.9%; align-items:start; width:87.96%; margin-left:6.74%; padding:0 }
.site-footer.home-footer .footer-roundel { position:relative; width:2.083333vw; height:2.083333vw }
.site-footer.home-footer .footer-column { min-width:0; padding:0 }
.site-footer.home-footer .footer-column h3 { margin:0 0 .25vw; color:var(--gold); font:400 clamp(21px,1.5625vw,36px)/1.2 var(--script); text-transform:none }
.site-footer.home-footer .footer-column > a,.site-footer.home-footer .footer-column > button { display:block; width:fit-content; max-width:100%; margin:0; padding:0; border:0; background:none; color:rgba(245,245,245,.57); font:300 clamp(14px,1.083333vw,25px)/1.45 var(--sans); text-align:left; text-transform:none; white-space:normal; letter-spacing:normal }
.site-footer.home-footer .footer-column > :is(a,button):hover,.site-footer.home-footer .footer-column > :is(a,button):focus-visible { color:var(--gold) }
.site-footer.home-footer .footer-column .footer-group-heading { margin-top:2.9vw }
.site-footer.home-footer .footer-column .footer-studio-heading { margin-top:2.5vw }
.site-footer.home-footer .footer-actions { display:grid; gap:1.367188vw }
.site-footer.home-footer .footer-film { position:relative; display:grid; place-items:center; width:100%; height:9.521484vw; padding:0; border:0; overflow:hidden; isolation:isolate; font:400 clamp(18px,1.367188vw,32px)/1.3 var(--serif); text-transform:uppercase }
.site-footer.home-footer .footer-film img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 45%; z-index:-2 }
.site-footer.home-footer .footer-film::after { content:''; position:absolute; inset:0; background:rgba(0,0,0,.3); z-index:-1; transition:background .25s }
.site-footer.home-footer .footer-film:hover::after { background:rgba(0,0,0,.12) }
.site-footer.home-footer .footer-action-pair { display:grid; grid-template-columns:1fr 1fr; gap:.585938vw }
.site-footer.home-footer .footer-action-pair > *,.site-footer.home-footer .footer-action-enquire { display:flex; align-items:center; justify-content:center; min-height:3.808594vw; padding:.7vw; border:0; background:#fff; color:var(--navy); font:400 clamp(18px,1.367188vw,32px)/1.3 var(--serif); text-transform:uppercase; transition:background .25s,color .25s }
.site-footer.home-footer .footer-action-enquire { min-height:3.955078vw; background:var(--gold); color:#fff }
.site-footer.home-footer .footer-action-pair > *:hover { background:var(--gold); color:#fff }
.site-footer.home-footer .footer-action-enquire:hover { background:#fff; color:var(--navy) }
.site-footer.home-footer .footer-wordmark { margin:8.55vw 1% 0; color:#8b9aae; font:600 10.85vw/1 var(--serif); letter-spacing:-.048em; text-transform:uppercase; white-space:nowrap; text-align:center; transform:scaleY(1.12) }
.site-footer.home-footer .home-footer-bottom { position:relative; display:flex; align-items:flex-start; justify-content:space-between; gap:2vw; margin:1.85vw 2.8vw 0 3.6vw; font:300 .96vw/1.6 var(--sans); color:rgba(245,245,245,.57) }
.site-footer.home-footer .social-icons { gap:1.3vw; margin:0; color:#f5f5f5 }
.site-footer.home-footer .social-icons > * { width:1.5625vw; height:1.5625vw; min-width:0; min-height:0; padding:0; border:0; background:none; color:inherit }
.site-footer.home-footer .social-icons img { display:block; width:100%; height:100%; object-fit:contain }
.site-footer.home-footer .footer-slogan { position:absolute; left:50%; transform:translateX(-50%); margin:0; color:var(--gold); font:400 1.08vw/1.5 var(--serif); white-space:nowrap; text-transform:uppercase }
.site-footer.home-footer address { width:30vw; margin:0; font:inherit; text-align:right }
/* Body-level cards remain visible outside the footer clipping boundary. */
.social-qr-popover { position:fixed; z-index:1100; width:248px; max-width:calc(100vw - 24px); padding:12px; border:1px solid rgba(185,155,80,.5); border-radius:4px; background:#fff; color:#021d46; box-shadow:0 12px 36px rgba(0,0,0,.25); text-align:center }
.social-qr-popover[hidden] { display:none }
.social-qr-popover img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain }
.social-qr-popover__caption { display:block; margin-top:8px; font:300 14px/1.4 var(--sans) }
@media(max-width:900px) {
 .site-footer.home-footer { min-height:0; padding:60px 24px 96px }
 .site-footer.home-footer .home-footer-top { grid-template-columns:repeat(3,minmax(0,1fr)); width:auto; margin:0; gap:32px 16px }
 .site-footer.home-footer .footer-roundel { grid-column:1/-1; width:28px; height:28px }
 .site-footer.home-footer .footer-column h3 { margin-bottom:10px; font-size:24px }
 .site-footer.home-footer .footer-column > a,.site-footer.home-footer .footer-column > button { margin-bottom:5px; font-size:14px; line-height:1.5; overflow-wrap:anywhere }
 .site-footer.home-footer .footer-column .footer-group-heading { margin-top:28px }
 .site-footer.home-footer .footer-actions { grid-column:1/-1; gap:14px }
 .site-footer.home-footer .footer-film { height:150px; font-size:22px }
 .site-footer.home-footer .footer-action-pair { gap:12px }
 .site-footer.home-footer .footer-action-pair > *,.site-footer.home-footer .footer-action-enquire { min-height:48px; padding:12px 6px; font-size:18px }
 .site-footer.home-footer .footer-wordmark { margin:58px -16px 0; font-size:10.2vw; letter-spacing:-.065em }
 .site-footer.home-footer .home-footer-bottom { display:grid; grid-template-columns:1fr; justify-items:center; gap:23px; margin:30px 0 0; font-size:14px }
 .site-footer.home-footer .social-icons { gap:20px }
 .site-footer.home-footer .social-icons > * { width:26px; height:26px }
 .site-footer.home-footer .footer-slogan { position:static; transform:none; font-size:17px }
 .site-footer.home-footer address { width:100%; text-align:center }
 .site-footer.home-footer address br { display:none }
}
@media(max-width:480px) {
 .site-footer.home-footer .home-footer-top { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 18px }
 .site-footer.home-footer .footer-studio-column { grid-column:1/-1 }
}
