/* Product film stays inside the hero grid instead of the old floating layers. */
.hero-visual.hero-film-visual {
    min-width: 0;
    width: 100%;
    transform: none;
    margin: 0;
}
.hero-film {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid rgba(61, 36, 214, 0.12);
    border-radius: 18px;
    background: #f4f3fb;
    box-shadow: 0 24px 64px -24px rgba(35, 24, 105, 0.3);
    contain: layout paint;
}
.hero-film-fallback { display:block; width:100%; height:100%; object-fit:contain; }
@media (max-width: 1024px) {
    .hero-visual.hero-film-visual { max-width:800px; margin:0 auto 20px; }
}
@media (max-width: 600px) {
    .hero-film { border-radius:12px; }
}

/* Independent module films share the hero player, without laptop frames. */
.module-film-visual { min-width:0; width:100%; }
.module-film { margin:0; }
@media (max-width:1024px) {
    .module-film-visual { max-width:800px; margin-inline:auto; }
}

/* Concise homepage headings: the highlighted phrase stays on its own line. */
.module-showcase .module-content h3 {
    font-size: clamp(1.75rem, 3.2vw, 2.25rem);
    line-height: 1.2;
    letter-spacing: -0.025em;
}
.module-showcase .module-content h3 .text-gradient {
    display: block;
    white-space: nowrap;
}
@media (max-width:380px) {
    .module-showcase .module-content h3 { font-size:1.5rem; }
}
@media (max-width:380px) {
    .features .feature-card { padding:24px; }
}
