/* Fill the viewport with each hero film, cropping its edges to fit the screen. */
.landscape-hero,.cellar-hero-landscape{height:100svh;height:100dvh;min-height:0;aspect-ratio:auto;padding:0;display:block;background:#2a2e1f}
.landscape-hero .hero-video,.landscape-hero .hero-poster,.cellar-hero-landscape .cellar-film{inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.cellar-hero-landscape .cellar-film{opacity:1}
.landscape-hero .hero-center{gap:30px}
.hero-film-actions .film-watch{position:static;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border:1px solid #fff8;border-radius:2px;background:#0004;color:#fff;font:inherit;font-size:14px;line-height:1.4;white-space:nowrap}
.hero-film-actions [hidden]{display:none!important}
.cellar-hero-landscape>.hero-film-actions{bottom:26px;right:4%;left:auto}
.cellar-hero-landscape .cellar-hero-bottom{right:auto;max-width:42%}
.cellar-hero-landscape .cellar-hero-bottom>span,.cellar-hero-landscape .cellar-hero-bottom>a:last-child{display:none}
.cellar-hero-landscape .cellar-hero-content{inset:50% 0 auto;transform:translateY(-50%);padding:0 6%;max-width:none;text-align:center}
.cellar-hero-landscape .cellar-hero-content h1{font-size:clamp(3rem,6.5vw,7rem);margin:0}
.cellar-oil-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.film-destination{display:block;color:inherit;text-decoration:none}
.film-destination :is(img,.cms-frame){width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;display:block;background:#2a2e1f}
.film-destination:hover .text-button{text-decoration:underline;text-underline-offset:5px}
.film-destination:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.gallery-film-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-film{width:100%;margin:0;grid-column:auto}
.gallery-film h3{font-size:1.5rem}
.film-viewing .hero-video{z-index:3;opacity:1;background:#000}
.film-viewing :is(.hero-center,.cellar-hero-content,.cellar-hero-bottom,.scroll-cue){visibility:hidden}
.film-viewing .hero-film-actions{z-index:4;top:18px;bottom:auto}
.film-viewing .hero-film-actions :not(.film-watch){display:none}
.hero-video:fullscreen{object-fit:cover;background:#000;opacity:1}
@media(min-width:701px) and (max-width:1100px){
 .landscape-hero .hero-center{top:51%;gap:20px}
 .landscape-hero h1{font-size:clamp(2.2rem,4.6vw,3.5rem)}
 .cellar-hero-landscape .cellar-hero-content h1{font-size:3rem}
}
@media(max-width:700px){
 .landscape-hero:after,.cellar-hero-landscape:after{inset:0;height:auto;background:linear-gradient(180deg,#0003,#0004 50%,#0003)}
 .landscape-hero .hero-center,.cellar-hero-landscape .cellar-hero-content{position:absolute;inset:50% 0 auto;transform:translateY(-50%);padding:0 20px;max-width:none;gap:24px;text-align:center}
 .landscape-hero h1{font-size:clamp(2rem,8.6vw,2.8rem);max-width:100%;margin:0}
 .landscape-hero>.hero-film-actions,.cellar-hero-landscape>.hero-film-actions{position:absolute;inset:auto 20px 24px;justify-content:center;flex-wrap:wrap;gap:8px;padding:0}
 .landscape-hero>.scroll-cue{display:none}
 .hero-film-actions :is(.film-watch,.hero-gallery-link){font-size:13px;padding:9px}
 .cellar-hero-landscape .cellar-hero-content{order:0}
 .cellar-hero-landscape>.hero-film-actions{order:1}
 .cellar-hero-landscape .cellar-hero-bottom{display:none}
 .cellar-hero-landscape .cellar-hero-content h1{font-size:2.8rem}
 .gallery-film-grid{grid-template-columns:1fr;gap:36px}
 .film-viewing .hero-film-actions{position:relative;inset:auto}
 .film-viewing :is(.hero-center,.cellar-hero-content){visibility:visible}
}
@media(prefers-reduced-motion:reduce){.hero-video{transition:none}}

/* Keep the homepage welcome and booking form together at the viewport centre. */
.home-hero:after{inset:0;height:auto;background:linear-gradient(180deg,#0003,#0004 50%,#0003)}
.home-hero .hero-center{position:absolute;inset:50% 0 auto;transform:translateY(-50%);padding:0 20px;gap:24px;max-width:none}
.home-hero h1{font-size:clamp(2rem,4.5vw,4.6rem);max-width:1100px;margin:0;text-wrap:balance}
.home-hero>.hero-film-actions{position:absolute;inset:auto 30px 26px;justify-content:flex-end;padding:0}
@media(max-width:700px){
 .home-hero>.hero-film-actions{inset:auto 20px 24px;justify-content:center}
}
