/* Approved cinematic typography and clear header glass. */
.header{position:fixed;inset:0 0 auto;width:100%;background:rgba(255,255,255,.10);border-bottom:0;box-shadow:none;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.hero-copy h1{color:#FFF8F4;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(56px,4vw,64px);font-weight:500;line-height:1.08;letter-spacing:-.015em;margin:0 0 22px;text-shadow:0 2px 16px rgba(124,0,73,.3)}
.hero-copy p{color:#FFF8F4;font-family:Montserrat,sans-serif;font-size:clamp(15px,1.1vw,17px);font-weight:400;line-height:1.55;letter-spacing:0;margin:0;text-shadow:0 1px 10px rgba(124,0,73,.35);transition:opacity .7s}
.hero[data-film="playing"] .hero-copy h1,.hero[data-film="playing"] .hero-copy p{opacity:var(--title-opacity,0)}
.hero-copy .down{margin-top:20px}
@media(min-width:641px){.hero{height:100svh;min-height:640px;max-height:none}.hero-copy{top:auto;bottom:44px}}
@media(max-width:640px){.hero-copy h1{font-size:clamp(32px,9vw,40px);margin-bottom:22px}.hero-copy p{font-size:15px;line-height:1.55}}

.brand .brand-emblem{filter:none;mix-blend-mode:normal;background:transparent;border-radius:0;object-fit:contain}

/* Mobile geometry: reserve header space and size the entrance by its content. */
@media(max-width:640px){
 .header{background:rgba(255,248,243,.88)}
 .hero{padding-top:var(--header-height);height:auto;min-height:0;max-height:none}
 .hero .video-space{position:relative;inset:auto;height:clamp(260px,95vw,430px);width:100%;overflow:hidden}
 .hero .hero-copy{position:relative;inset:auto;margin:-8px 14px 0;padding-bottom:16px}
 .hero .hero-copy h1{margin-bottom:12px}
 .hero[data-film="playing"] .hero-copy p{opacity:1}
 .hero-copy .down{margin-top:10px;min-height:44px}
 .bridge{height:8px}
}
/* A browser-policy fallback belongs to the video, never to the next screen. */
.hero .video-space #video-control{position:absolute;left:50%;top:55%;bottom:auto;transform:translate(-50%,-50%);min-height:44px;white-space:nowrap;z-index:5}

.video-status{position:absolute;z-index:5;left:50%;top:72%;transform:translateX(-50%);max-width:90%;padding:4px 10px;border-radius:12px;background:#FFF8F3E8;color:#87004F;font:12px/1.4 Montserrat,sans-serif;text-align:center;pointer-events:none}.video-status:empty{display:none}
