/* ==============================================================================
   POORVAM FILMS — HERO LANDING
   Dark cinematic canvas, Fraunces typography, dynamic aurora, embers
   ============================================================================== */

.films-page-wrapper {
    --ink: #0A0E1C;
    --indigo: #131A36;
    --gold: #F0A93B;
    --teal: #2BA39B;
    --parch: #F3ECDD;
    --mute: #A9A8B8;
    --line: rgba(243, 236, 221, 0.14);
    --disp: 'Fraunces', Georgia, serif;
    --body: 'Figtree', system-ui, -apple-system, sans-serif;

    background: var(--ink);
    color: var(--parch);
    font: 400 16px/1.55 var(--body);
    -webkit-font-smoothing: antialiased;
    position: relative;
    overflow-x: hidden;
}

.films-page-wrapper *,
.films-page-wrapper *::before,
.films-page-wrapper *::after {
    box-sizing: border-box;
}

.films-page-wrapper a {
    color: inherit;
}

.films-page-wrapper :focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 3px;
}

/* --- Hero Section --- */
.films-hero {
    position: relative;
    /* Fills the viewport below the main site header (adjust 64px to match its height) */
    min-height: calc(100vh - 64px);
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    isolation: isolate;
    padding: clamp(60px, 8vh, 120px) 0 clamp(48px, 9vh, 96px);
}

.films-hero video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -3;
}

.films-aurora {
    position: absolute;
    inset: -20%;
    z-index: -4;
    background:
        radial-gradient(40% 40% at 25% 35%, rgba(240, 169, 59, 0.35), transparent 70%),
        radial-gradient(45% 45% at 75% 60%, rgba(43, 163, 155, 0.28), transparent 70%),
        var(--indigo);
    animation: films-drift 22s ease-in-out infinite alternate;
}

@keyframes films-drift {
    to { transform: translate3d(6%, -4%, 0) scale(1.12); }
}

.films-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(0deg, var(--ink) 2%, rgba(10, 14, 28, 0.55) 38%, rgba(10, 14, 28, 0.15) 70%),
        linear-gradient(90deg, rgba(10, 14, 28, 0.78), transparent 62%);
}

#films-embers {
    position: absolute;
    inset: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.films-heroin {
    padding: 0 clamp(18px, 4vw, 56px);
    max-width: 900px;
    animation: films-rise 1.2s cubic-bezier(.2, .7, .2, 1) both;
}

@keyframes films-rise {
    from { opacity: 0; transform: translateY(28px); }
}

.films-badge {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    font-weight: 600;
    font-size: 14px;
    border: 1px solid var(--gold);
    color: var(--gold);
    padding: 6px 14px;
    border-radius: 99px;
    margin-bottom: 18px;
}

.films-badge span {
    font-family: 'Noto Serif Bengali', serif;
    font-weight: 500;
}

.films-badge i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gold);
    animation: films-pulse 1.8s infinite;
}

@keyframes films-pulse {
    50% { opacity: 0.25; }
}

.films-hero h1 {
    font: 800 clamp(38px, 7.5vw, 92px)/0.96 var(--disp);
    letter-spacing: -0.025em;
    margin: 0 0 18px;
    color: var(--parch);
    text-wrap: balance;
}

.films-lede {
    font-size: clamp(17px, 1.6vw, 21px);
    max-width: 580px;
    color: #DCD5C6;
    margin: 0;
    line-height: 1.5;
}

.films-vctl {
    position: absolute;
    right: clamp(18px, 4vw, 56px);
    bottom: clamp(48px, 9vh, 96px);
    border: 1px solid var(--line);
    background: rgba(10, 14, 28, 0.55);
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    color: var(--parch);
    cursor: pointer;
}

/* --- Responsive & Accessibility --- */
@media (max-width: 760px) {
    .films-vctl {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .films-page-wrapper * {
        animation: none !important;
        transition: none !important;
    }
    #films-embers {
        display: none;
    }
}