/* Shared video hero composition across desktop, tablet and phone. */
.landing-film{height:155svh;min-height:720px;background:#fff9ed}
.landing-film .film-sticky{height:100svh;min-height:720px}
.landing-visual{position:absolute;inset:0;isolation:isolate}
.landing-film .landing-scene{position:absolute;inset:0;background:#f1f4f3;opacity:var(--landing-opacity,1);transform:none;will-change:opacity}
.landing-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center}
.landing-film .film-shade{background:linear-gradient(90deg,rgba(12,23,30,.88),rgba(12,23,30,.69) 30%,rgba(12,23,30,.15) 55%,transparent 72%);opacity:var(--landing-opacity,1)}
.landing-film .film-sticky:after{height:90px;background:linear-gradient(transparent,#fff9ed);z-index:1;pointer-events:none}
.landing-film .film-subtitles{display:none}
.landing-film .film-copy{inset:0 auto 0 6%;width:43%;max-width:560px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;transform:none;padding:132px 0 90px;opacity:var(--landing-copy-opacity,1);visibility:visible;color:#fff}
.landing-film .scene-eyebrow{font-size:.875rem;letter-spacing:.06em;line-height:1.7;margin-bottom:18px}
.landing-film .film-copy h1{font-size:clamp(2.625rem,4.7vw,4.5rem);line-height:1.2;letter-spacing:-.025em;margin:0}
.landing-film .sub-slogan{font-size:clamp(1.125rem,1.6vw,1.4375rem);line-height:1.5;margin:16px 0 0}
.landing-film .film-intro{font-size:1.0625rem;line-height:1.8;max-width:410px;margin:18px 0 24px;color:#fff}
.landing-film .cinema-button{min-height:48px;max-width:100%;padding:12px 24px;font-size:1rem;line-height:1.6;text-align:center}
.landing-controls{position:absolute;right:4%;top:var(--header-clearance,120px);z-index:5;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:90%}
.landing-controls button{min-height:44px;padding:10px 18px;border:1px solid #ffffff9c;border-radius:30px;background:#172a30e6;color:#fff;font:inherit;font-size:.875rem;line-height:1.4;backdrop-filter:blur(12px);cursor:pointer;transition:background .2s}
.landing-controls button:hover{background:#29434c}
.landing-controls button:focus-visible{outline:3px solid #ffd066;outline-offset:4px}
.landing-controls button:disabled{cursor:default;opacity:.65}
.landing-film .film-bottom{bottom:22px;font-size:.875rem;line-height:1.5;letter-spacing:.025em;color:#19372f;text-shadow:0 1px 8px #fff9ed;align-items:center}
.landing-film .film-bottom>span:last-child{font-size:.75rem;white-space:nowrap}
::view-transition-old(root){animation:landing-page-out .3s ease both}
::view-transition-new(root){animation:landing-page-in .5s ease both}
@keyframes landing-page-out{to{opacity:0}}
@keyframes landing-page-in{from{opacity:0}to{opacity:1}}

/* Keep the desktop video-and-copy composition on tablet and phone. */
@media(max-width:1023px){
  .landing-film{height:155svh;min-height:760px}
  .landing-film .film-sticky{height:100svh;min-height:760px}
  .landing-visual{position:absolute;inset:0;overflow:hidden}
  .landing-video{object-fit:cover;object-position:58% center}
  .landing-film .film-shade{display:block;background:linear-gradient(0deg,rgba(12,23,30,.94),rgba(12,23,30,.72) 45%,rgba(12,23,30,.15) 78%)}
  .landing-film .film-copy{position:absolute;inset:auto var(--page-gutter) 100px;width:auto;max-width:640px;margin:0;padding:0;justify-content:flex-end;color:#fff}
  .landing-film .film-copy h1{font-size:clamp(2rem,6vw,3rem);line-height:1.25}
  .landing-film .film-intro{font-size:1rem;line-height:1.8;max-width:410px;color:#fff;margin:16px 0 20px}
  .landing-film .scene-eyebrow{margin-bottom:14px}
  .landing-film .sub-slogan{font-size:1.125rem;margin-top:12px}
  .landing-controls{top:var(--header-clearance);bottom:auto;right:var(--page-gutter);max-width:calc(100% - 2 * var(--page-gutter))}
  .landing-controls button{padding:10px 14px}
  .landing-film .film-bottom{position:absolute;inset:auto var(--page-gutter) 22px;max-width:none;padding:0;flex-wrap:wrap;gap:8px}
}
@media(max-height:620px) and (min-width:1024px){
  .landing-film .film-sticky{min-height:720px}
}
@media(max-width:760px){
  body[data-page="home"] .cinema-header{padding:10px;gap:8px;min-height:68px}
  body[data-page="home"] .cinema-header .logo,body[data-page="home"] .cinema-header .logo img{width:76px;max-width:76px;flex-basis:76px}
  body[data-page="home"] .cinema-header .header-tools{gap:4px;min-width:0}
  body[data-page="home"] .cinema-header .motion-toggle{font-size:.875rem;line-height:1.3;max-width:92px;padding:6px 8px}
  body[data-page="home"] .cinema-header .language-picker select{font-size:.875rem;min-width:48px;padding:7px 3px 7px 6px}
  body[data-page="home"] .cinema-header .menu-toggle{min-width:46px;padding:8px 3px;font-size:.875rem}
  .landing-film .film-copy h1{font-size:clamp(2rem,7.4vw,2.75rem)}
}
@media(max-width:360px){
  body[data-page="home"] .cinema-header .logo,body[data-page="home"] .cinema-header .logo img{width:62px;max-width:62px;flex-basis:62px}
  body[data-page="home"] .cinema-header .motion-toggle{max-width:82px;padding:6px}
  .landing-film .film-copy,.landing-film .film-bottom{left:20px;right:20px}
  .landing-controls{right:20px;gap:6px}
  .landing-controls button{padding:9px 12px}
}
@media(prefers-reduced-motion:reduce){
  .landing-film{height:auto}
  .landing-film .film-sticky{position:relative}
  .landing-film .landing-scene{will-change:auto}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
  html{scroll-behavior:auto}
}
