/* Keep the full film visible on phones and tablets. */
@media screen and (max-width: 1024px),
    screen and (max-width: 1440px) and (max-aspect-ratio: 3/2) {
    .fv { min-height: 0; height: auto; aspect-ratio: 16 / 9; background: #00273d; }
    .fv::before { display: block; background: linear-gradient(rgba(0, 24, 42, .18), rgba(0, 24, 42, .78)); }
    .fv .fv__movie { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
    .fv .fv__title { position: absolute; inset: auto 0 0; width: 100%; min-width: 0; min-height: 0; margin: 0; padding: 12px 5% 16px; box-sizing: border-box; gap: clamp(5px, 1.2vw, 12px); text-shadow: 0 1px 8px #00182a; }
    .fv .fv__title > h1 { font-size: clamp(24px, 5.8vw, 56px); line-height: 1.15; overflow-wrap: normal; }
    .fv .fv__title > span { font-size: clamp(13px, 3.5vw, 30px); line-height: 1.4; }
    .fv .fv__title > p { display: block; margin: 0; max-width: 760px; font-size: clamp(10px, 1.5vw, 16px); line-height: 1.6; }
    .fv .fv__title > p br { display: block; }
    .fv .fv__title-deco { display: none; }
}
/* Approved phone layout: short overlay, then the original philosophy in normal flow. */
@media screen and (max-width: 600px) {
    .home .fv { aspect-ratio: auto; height: auto; padding-top: 56.25%; background: #f5fbff; }
    .home .fv::before { height: 56.25vw; background: linear-gradient(transparent 30%, rgba(0, 24, 42, .52)); }
    .home .fv .fv__movie { height: 56.25vw; }
    .home .fv .fv__title { display: contents; }
    .home .fv .fv__title > h1 { position: absolute; top: calc(56.25vw - 63px); left: 6%; z-index: 3; margin: 0; font-size: 22px; line-height: 1.2; letter-spacing: 0; text-shadow: 0 1px 6px #00182a; }
    .home .fv .fv__title > span { position: absolute; top: calc(56.25vw - 31px); left: 6%; z-index: 3; font-size: 12px; line-height: 1.4; text-shadow: 0 1px 6px #00182a; }
    .home .fv .fv__title > p { position: relative; display: block; max-width: none; color: #264452; background: #f5fbff; margin: 0; padding: 24px 6% 28px; font-size: 13px; font-weight: 400; line-height: 1.95; text-shadow: none; line-break: strict; }
    .home .fv .fv__title > p br { display: block; }
    .home .fv .fv__title > p br.sp { display: block; }
}
/* Reserve space for the fixed logo on compact phones without cropping the film. */
@media screen and (max-width: 374px) {
    .home .fv { margin-top: 76px; box-shadow: 0 -76px 0 #00273d; }
    .home .openbtn span { box-shadow: 0 0 0 1px #f5fbff; }
}
