:root {
    /* Premium Color Palette */
    --bg-primary: #050508;
    --bg-secondary: #0a0a0f;
    --bg-card: rgba(16, 16, 24, 0.5);
    --bg-card-hover: rgba(26, 26, 40, 0.7);
    --bg-glass: rgba(10, 10, 15, 0.75);
    --glass-border: rgba(255, 255, 255, 0.05);

    --gold: #f5c518;
    --gold-dim: #c9a227;
    --gold-glow: rgba(245, 197, 24, 0.15);

    --accent: #e2394b;
    --accent-dim: #b02e3c;
    --accent-glow: rgba(226, 57, 75, 0.2);

    --text-primary: #f0f0f8;
    --text-secondary: #9898b0;
    --text-muted: #5a5a72;

    --border: rgba(255, 255, 255, 0.08);
    --border-glow: rgba(245, 197, 24, 0.3);

    --gradient-hero: linear-gradient(135deg, #0a0a0f 0%, #1a0a1f 50%, #0a0f1a 100%);
    --gradient-gold: linear-gradient(135deg, #f5c518, #c9a227);
    --gradient-card: linear-gradient(180deg, transparent 50%, rgba(10,10,15,0.95) 100%);

    --shadow-card: 0 8px 32px rgba(0,0,0,0.4);
    --shadow-gold: 0 0 20px rgba(245,197,24,0.3);
    --shadow-glow: 0 4px 24px rgba(226,57,75,0.25);

    --radius: 12px;
    --radius-sm: 8px;
    --radius-lg: 20px;
    --radius-xl: 32px;

    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-fast: all 0.15s ease;

    --nav-height: 70px;
}

/* OTT discovery and platform pages */
.ott-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ott-card{display:flex;flex-direction:column;min-height:260px;overflow:hidden;border:1px solid var(--glass-border);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--ott-color) 13%,var(--bg-card)),var(--bg-card));text-decoration:none;transition:transform .2s ease,border-color .2s ease}.ott-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--ott-color) 65%,white)}.ott-card-logo{height:120px;padding:26px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.94)}.ott-card-logo img{width:100%;height:100%;object-fit:contain}.ott-card-logo span,.ott-detail-logo span{display:grid;place-items:center;width:72px;height:72px;border-radius:18px;background:var(--ott-color);color:#fff;font-size:2.25rem;font-weight:800}.ott-card-body{display:flex;flex:1;flex-direction:column;padding:22px}.ott-card-body h3{font-size:1.3rem;margin-bottom:8px}.ott-card-body p{color:var(--text-secondary);line-height:1.6}.ott-card-counts{display:flex;gap:14px;margin-top:auto;padding-top:18px;color:var(--text-muted);font-size:.86rem}.ott-detail-hero{position:relative;overflow:hidden;padding:110px 0 70px;background:radial-gradient(circle at 15% 30%,color-mix(in srgb,var(--ott-color) 32%,transparent),transparent 34%),linear-gradient(135deg,#08080b,#111118)}.ott-detail-hero-inner{display:grid;grid-template-columns:280px minmax(0,1fr);gap:54px;align-items:center}.ott-detail-logo{height:180px;padding:34px;display:flex;align-items:center;justify-content:center;border-radius:24px;background:#fff;box-shadow:0 22px 70px rgba(0,0,0,.35)}.ott-detail-logo img{width:100%;height:100%;object-fit:contain}.ott-detail-hero h1{font-size:clamp(2.8rem,6vw,5rem);margin:10px 0 15px}.ott-detail-hero p{max-width:760px;color:var(--text-secondary);font-size:1.1rem;line-height:1.8}.ott-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.ott-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:54px}.ott-facts>div{padding:20px;border:1px solid var(--glass-border);border-radius:14px;background:var(--bg-card)}.ott-facts span{display:block;margin-bottom:7px;color:var(--text-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.ott-features{margin-bottom:54px}.ott-features ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none}.ott-features li{padding:16px 18px;border:1px solid var(--glass-border);border-radius:12px;background:var(--bg-card)}.ott-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:54px}.ott-plan-grid h3{margin:9px 0}.ott-plan-price{display:block;color:var(--gold);font-size:1.55rem}.ott-plan-price small{color:var(--text-muted);font-size:.8rem}.ott-plan-grid p{margin-top:10px;color:var(--text-muted)}
@media(max-width:900px){.ott-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ott-detail-hero-inner{grid-template-columns:210px minmax(0,1fr);gap:30px}.ott-detail-logo{height:150px}.ott-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.ott-features ul,.ott-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ott-grid{grid-template-columns:1fr}.ott-detail-hero{padding:90px 0 50px}.ott-detail-hero-inner{grid-template-columns:1fr}.ott-detail-logo{width:180px;height:115px;padding:22px}.ott-facts,.ott-features ul,.ott-plan-grid{grid-template-columns:1fr}.ott-card{min-height:230px}}

/* ── Reset & Base ─────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; font-size: 16px; }

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    background: var(--bg-primary);
    color: var(--text-primary);
    line-height: 1.6;
    min-height: 100vh;
    overflow-x: hidden;
}

.sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.skip-link { position:fixed; top:10px; left:12px; z-index:2000; transform:translateY(-160%); background:var(--gold); color:#111; padding:10px 16px; border-radius:8px; font-weight:700; }
.skip-link:focus { transform:translateY(0); }
:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.nav-spacer { height:var(--nav-height); }

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; font-family: inherit; }
ul { list-style: none; }

/* ── Typography ───────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Cinzel', serif;
    font-weight: 700;
    line-height: 1.2;
    color: var(--text-primary);
}

.text-gold { color: var(--gold); }
.text-accent { color: var(--accent); }
.text-muted { color: var(--text-muted); }
.text-secondary { color: var(--text-secondary); }

/* ── Layout ───────────────────────────────────────────────────── */

/* ── Responsive Grids ─────────────────────────────────────────── */
.grid-movies { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 20px; }
.grid-actors { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 16px; }

/* Glassmorphism & UI Utilities */
.glass-panel {
    background: var(--bg-glass);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid var(--glass-border);
    border-radius: var(--radius-lg);
}

.placeholder-avatar {
    width: 100%; height: 100%;
    background: linear-gradient(135deg, #111118, #0a0a0f);
    display: flex; align-items: center; justify-content: center;
    color: var(--text-muted);
}
.placeholder-avatar svg { width: 40%; height: 40%; opacity: 0.5; }

/* Mobile Menu */
.mobile-menu-toggle { display: none; background: none; border: none; color: var(--text-primary); font-size: 1.5rem; cursor: pointer; }
.nav-links.mobile-active { transform: translateY(0); display: flex; }
.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
}

.section { padding: clamp(40px, 8vw, 80px) 0; }
.section-sm { padding: clamp(32px, 5vw, 48px) 0; }

.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.grid-auto { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; }

.flex { display: flex; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.flex-between { display: flex; align-items: center; justify-content: space-between; }
.gap-2 { gap: 8px; }
.gap-3 { gap: 12px; }
.gap-4 { gap: 16px; }

/* ── Navigation ───────────────────────────────────────────────── */
.navbar {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: var(--nav-height);
    background: rgba(10, 10, 15, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border);
    z-index: 1000;
    transition: var(--transition);
}

.navbar .container {
    height: 100%;
}

.navbar.scrolled {
    background: rgba(10, 10, 15, 0.99);
    box-shadow: 0 4px 30px rgba(0,0,0,0.5);
}

.nav-inner {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.nav-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Cinzel', serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--gold);
    text-shadow: var(--shadow-gold);
    flex-shrink: 0;
}

.nav-logo .logo-icon {
    width: 36px; height: 36px;
    background: var(--gradient-gold);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 8px;
}

.nav-link {
    padding: 8px 14px;
    border-radius: var(--radius-sm);
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--text-secondary);
    transition: var(--transition-fast);
    white-space: nowrap;
}

.nav-link:hover,
.nav-link.active {
    color: var(--text-primary);
    background: var(--bg-card);
}

.nav-link.active { color: var(--gold); }

.nav-search {
    display: flex;
    align-items: center;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 40px;
    padding: 8px 16px;
    gap: 8px;
    flex: 1;
    max-width: 280px;
    transition: var(--transition-fast);
}

.nav-search:focus-within {
    border-color: var(--gold-dim);
    box-shadow: 0 0 0 3px var(--gold-glow);
}

.nav-search input {
    background: none;
    border: none;
    outline: none;
    color: var(--text-primary);
    font-size: 0.875rem;
    width: 100%;
}

.nav-search input::placeholder { color: var(--text-muted); }
.nav-search svg { color: var(--text-muted); flex-shrink: 0; }

/* ── Hero ─────────────────────────────────────────────────────── */
.hero {
    min-height: 100vh;
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding-top: var(--nav-height);
}

.hero-bg {
    position: absolute;
    inset: 0;
    background: var(--gradient-hero);
}

.hero-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 60% 40%, rgba(226,57,75,0.08) 0%, transparent 70%),
        radial-gradient(ellipse 60% 80% at 20% 80%, rgba(245,197,24,0.05) 0%, transparent 70%);
}

.hero-content {
    position: relative;
    z-index: 1;
    max-width: 650px;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--accent-glow);
    border: 1px solid rgba(226,57,75,0.3);
    border-radius: 40px;
    padding: 6px 14px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--accent);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 20px;
    animation: fadeInDown 0.6s ease;
}

.hero-title {
    font-size: clamp(2.5rem, 5vw, 4rem);
    margin-bottom: 20px;
    animation: fadeInDown 0.7s ease;
    background: linear-gradient(135deg, #f0f0f8 30%, var(--gold) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-text {
    font-size: 1.1rem;
    color: var(--text-secondary);
    margin-bottom: 36px;
    animation: fadeInDown 0.8s ease;
    max-width: 520px;
    line-height: 1.7;
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    animation: fadeInDown 0.9s ease;
}

/* ── Hero Detail (Movies, Series, Actors) ────────────────────────── */
.hero-detail {
    min-height: 500px;
    position: relative;
    padding: 80px 0 40px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.hero-detail-bg {
    position: absolute; inset: 0; 
    background-size: cover; 
    background-position: center; 
    background-color: var(--bg-primary);
    background-image: radial-gradient(circle at top right, rgba(245, 197, 24, 0.08), transparent 60%), radial-gradient(circle at bottom left, rgba(226, 57, 75, 0.05), transparent 60%);
    opacity: 0.4;
    z-index: 0;
}

.hero-detail-gradient {
    position: absolute; inset: 0;
    background: linear-gradient(to top, var(--bg-primary) 0%, transparent 100%),
                linear-gradient(to right, var(--bg-primary) 0%, transparent 100%);
    z-index: 0;
}

.hero-detail-container {
    position: relative; z-index: 1; display: flex; gap: 40px; align-items: center;
    width: 100%;
}
@media (max-width: 768px) {
    .hero-detail-container { flex-direction: column; text-align: center; align-items: center; }
}

.hero-detail-info {
    flex: 1; min-width: 280px; z-index: 1;
}

.hero-featured-image {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 45%;
    height: 85%;
    object-fit: cover;
    border-radius: var(--radius-lg) 0 0 var(--radius-lg);
    opacity: 0.6;
    mask-image: linear-gradient(90deg, transparent, black 30%);
    -webkit-mask-image: linear-gradient(90deg, transparent, black 30%);
}

/* ── Buttons ──────────────────────────────────────────────────── */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 40px;
    font-size: 0.9rem;
    font-weight: 600;
    border: none;
    transition: var(--transition);
    white-space: nowrap;
}

.btn-gold {
    background: var(--gradient-gold);
    color: #000;
    box-shadow: 0 4px 20px var(--gold-glow);
}
.btn-gold:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(245,197,24,0.4);
}

.btn-outline {
    background: transparent;
    color: var(--text-primary);
    border: 1px solid var(--border);
}
.btn-outline:hover {
    border-color: var(--gold-dim);
    color: var(--gold);
    background: var(--gold-glow);
}

.btn-accent {
    background: var(--accent);
    color: #fff;
    box-shadow: var(--shadow-glow);
}
.btn-accent:hover {
    background: var(--accent-dim);
    transform: translateY(-2px);
}

.btn-sm { padding: 8px 16px; font-size: 0.8rem; }
.btn-lg { padding: 16px 32px; font-size: 1rem; }

/* ── Section Headers ──────────────────────────────────────────── */
.section-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 40px;
    gap: 16px;
}

.section-title {
    font-size: 1.75rem;
    position: relative;
    padding-left: 16px;
}

.section-title::before {
    content: '';
    position: absolute;
    left: 0; top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 70%;
    background: var(--gradient-gold);
    border-radius: 4px;
}

.section-link {
    font-size: 0.875rem;
    color: var(--gold);
    display: flex;
    align-items: center;
    gap: 4px;
    transition: var(--transition-fast);
    white-space: nowrap;
}
.section-link:hover { gap: 8px; }

/* ── Movie Card ───────────────────────────────────────────────── */
.movie-card {
    background: var(--bg-card);
    border-radius: var(--radius);
    overflow: hidden;
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: var(--transition);
    position: relative;
    group: true;
}

.movie-card:hover {
    transform: translateY(-8px) scale(1.02);
    border-color: rgba(245,197,24,0.3);
    box-shadow: 0 20px 50px rgba(0,0,0,0.8), 0 0 40px var(--gold-glow);
}

.movie-card-poster {
    position: relative;
    aspect-ratio: 2/3;
    overflow: hidden;
    background: linear-gradient(90deg, var(--bg-card) 25%, var(--bg-card-hover) 50%, var(--bg-card) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

.movie-card-poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.movie-card:hover .movie-card-poster img { transform: scale(1.05); }

.movie-card-overlay {
    position: absolute;
    inset: 0;
    background: var(--gradient-card);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 16px;
    opacity: 0;
    transition: var(--transition);
}

.movie-card:hover .movie-card-overlay { opacity: 1; }

.movie-card-badge {
    position: absolute;
    top: 10px; right: 10px;
    background: var(--gradient-gold);
    color: #000;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 6px;
    text-transform: uppercase;
}

.movie-card-rating {
    position: absolute;
    top: 10px; left: 10px;
    background: rgba(10,10,15,0.85);
    border: 1px solid var(--gold-dim);
    color: var(--gold);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.movie-card-body {
    padding: 14px;
}

.movie-card-title {
    font-size: 0.95rem;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    margin-bottom: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.movie-card-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.75rem;
    color: var(--text-muted);
    flex-wrap: wrap;
}

.movie-card-genre {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.7rem;
    color: var(--text-secondary);
}

/* ── Actor Card ───────────────────────────────────────────────── */
.actor-card {
    background: var(--bg-card);
    border-radius: var(--radius);
    overflow: hidden;
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: var(--transition);
    text-align: center;
}

.hero-detail-poster {
    width: 240px; min-width: 240px; border-radius: var(--radius-lg); overflow: hidden;
    box-shadow: 0 30px 60px rgba(0,0,0,0.8), 0 0 40px rgba(255,255,255,0.05);
    border: 1px solid var(--glass-border);
    background: linear-gradient(90deg, var(--bg-card) 25%, var(--bg-card-hover) 50%, var(--bg-card) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

.actor-card-photo {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    background: linear-gradient(90deg, var(--bg-card) 25%, var(--bg-card-hover) 50%, var(--bg-card) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

.actor-card:hover {
    transform: translateY(-6px);
    border-color: var(--gold-dim);
    box-shadow: 0 15px 35px rgba(0,0,0,0.6), var(--shadow-gold);
    background: var(--bg-card-hover);
}


.actor-card-body {
    padding: 14px 12px;
}

.actor-card-name {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 0.95rem;
    margin-bottom: 4px;
}

.actor-card-role {
    font-size: 0.75rem;
    color: var(--text-muted);
}

/* ── OTT Badge ────────────────────────────────────────────────── */
.ott-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    border: 1px solid var(--border);
    background: var(--bg-card);
    transition: var(--transition-fast);
}

.ott-badge:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-card);
}

.ott-badge img { width: 20px; height: 20px; object-fit: contain; border-radius: 4px; }

/* ── Rating Display ───────────────────────────────────────────── */
.rating-display {
    display: flex;
    align-items: center;
    gap: 8px;
}

.rating-score {
    font-size: 2.5rem;
    font-weight: 700;
    font-family: 'Cinzel', serif;
    color: var(--gold);
    line-height: 1;
}

.rating-stars {
    display: flex;
    gap: 3px;
    color: var(--gold);
}

.rating-count { color: var(--text-muted); font-size: 0.85rem; }

/* ── Quiz Card ────────────────────────────────────────────────── */
.quiz-card {
    background: var(--bg-card);
    border-radius: var(--radius);
    padding: 24px;
    border: 1px solid var(--border);
    transition: var(--transition);
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.quiz-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: var(--gradient-gold);
    transform: scaleX(0);
    transition: var(--transition);
}

.quiz-card:hover {
    border-color: var(--gold-dim);
    transform: translateY(-4px);
    box-shadow: var(--shadow-card), var(--shadow-gold);
}

.quiz-card:hover::before { transform: scaleX(1); }

.quiz-card-type {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--gold);
    margin-bottom: 10px;
}

.quiz-card-title {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 12px;
    line-height: 1.4;
}

.quiz-card-meta {
    display: flex;
    gap: 16px;
    font-size: 0.8rem;
    color: var(--text-muted);
}

/* ── Blog Card ────────────────────────────────────────────────── */
.blog-card {
    background: var(--bg-card);
    border-radius: var(--radius);
    overflow: hidden;
    border: 1px solid var(--border);
    transition: var(--transition);
    display: flex;
    flex-direction: column;
}

.blog-card:hover {
    border-color: rgba(245,197,24,0.2);
    transform: translateY(-4px);
    box-shadow: var(--shadow-card);
}

.blog-card-image {
    aspect-ratio: 16/9;
    overflow: hidden;
    background: var(--bg-secondary);
}

.blog-card-image img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.blog-card:hover .blog-card-image img { transform: scale(1.05); }

.blog-card-body {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.blog-card-cat {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--accent);
    margin-bottom: 8px;
}

.blog-card-title {
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 10px;
}

.blog-card-excerpt {
    font-size: 0.85rem;
    color: var(--text-secondary);
    line-height: 1.6;
    flex: 1;
}

.blog-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
    font-size: 0.75rem;
    color: var(--text-muted);
}

/* ── Tags & Badges ────────────────────────────────────────────── */
.tag {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 500;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    color: var(--text-secondary);
    transition: var(--transition-fast);
}

.tag:hover { border-color: var(--gold-dim); color: var(--gold); }

.badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.badge-gold { background: var(--gold-glow); color: var(--gold); border: 1px solid rgba(245,197,24,0.3); }
.badge-accent { background: var(--accent-glow); color: var(--accent); border: 1px solid rgba(226,57,75,0.3); }
.badge-blue { background: rgba(59,130,246,0.1); color: #60a5fa; border: 1px solid rgba(59,130,246,0.2); }
.badge-green { background: rgba(34,197,94,0.1); color: #4ade80; border: 1px solid rgba(34,197,94,0.2); }

/* ── Forms ────────────────────────────────────────────────────── */
.form-group { margin-bottom: 20px; }

.form-label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.form-control {
    width: 100%;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 12px 16px;
    color: var(--text-primary);
    font-size: 0.9rem;
    font-family: inherit;
    outline: none;
    transition: var(--transition-fast);
}

.form-control:focus {
    border-color: var(--gold-dim);
    box-shadow: 0 0 0 3px var(--gold-glow);
}

.form-control::placeholder { color: var(--text-muted); }

textarea.form-control { resize: vertical; min-height: 120px; }

select.form-control {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235a5a72' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 40px;
}

/* ── Footer ───────────────────────────────────────────────────── */
.footer {
    background: var(--bg-secondary);
    border-top: 1px solid var(--border);
    padding: 60px 0 30px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.8fr repeat(4, 1fr);
    gap: 48px;
    margin-bottom: 48px;
}

.footer-brand-logo {
    font-family: 'Cinzel', serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 12px;
}

.footer-brand-text {
    font-size: 0.875rem;
    color: var(--text-muted);
    line-height: 1.7;
    max-width: 300px;
}

.footer-heading {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-secondary);
    margin-bottom: 16px;
}

.footer-links { display: flex; flex-direction: column; gap: 10px; }

.footer-link {
    font-size: 0.875rem;
    color: var(--text-muted);
    transition: var(--transition-fast);
}

.footer-link:hover { color: var(--gold); padding-left: 4px; }

.footer-bottom {
    border-top: 1px solid var(--border);
    padding-top: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.8rem;
    color: var(--text-muted);
    flex-wrap: wrap;
    gap: 12px;
}

/* ── Animations ───────────────────────────────────────────────── */
@keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes shimmer {
    from { background-position: -200% center; }
    to { background-position: 200% center; }
}

@keyframes pulse-gold {
    0%, 100% { box-shadow: 0 0 0 0 var(--gold-glow); }
    50% { box-shadow: 0 0 0 8px transparent; }
}

.animate-in { animation: fadeInUp 0.6s ease both; }
.animate-in-1 { animation-delay: 0.1s; }
.animate-in-2 { animation-delay: 0.2s; }
.animate-in-3 { animation-delay: 0.3s; }
.animate-in-4 { animation-delay: 0.4s; }

/* ── Scroll Animations ────────────────────────────────────────── */
.reveal { opacity:1; transform:none; transition:opacity .35s ease, transform .35s ease; }
.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ── Loading Skeleton ─────────────────────────────────────────── */
.skeleton {
    background: linear-gradient(90deg, var(--bg-card) 25%, var(--bg-card-hover) 50%, var(--bg-card) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
    border-radius: var(--radius-sm);
}

/* ── Ad Slot ──────────────────────────────────────────────────── */
.ad-slot {
    background: var(--bg-secondary);
    border: 1px dashed var(--border);
    border-radius: var(--radius);
    padding: 16px;
    text-align: center;
    color: var(--text-muted);
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}
.ad-slot:empty { display:none; }

/* Content quality and readability */
.page-heading { margin-bottom:32px; }
.page-heading p { max-width:720px; margin-top:10px; color:var(--text-secondary); }
.empty-state { max-width:620px; margin:40px auto; padding:56px 24px; text-align:center; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-lg); color:var(--text-secondary); }
.filter-bar { display:flex; gap:12px; margin-bottom:36px; padding:16px; flex-wrap:wrap; align-items:end; background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); }
.filter-field { display:grid; gap:6px; }
.filter-field label { font-size:.75rem; font-weight:700; color:var(--text-secondary); }
.prose { max-width:780px; margin-inline:auto; color:var(--text-secondary); line-height:1.85; }
.prose h2 { margin:2rem 0 .75rem; font-size:1.5rem; }
.prose p, .prose ul, .prose ol { margin-bottom:1rem; }
.prose ul, .prose ol { padding-left:1.25rem; }
.prose ul { list-style:disc; }
.trust-note { padding:14px 16px; border-left:3px solid var(--gold); background:var(--gold-glow); color:var(--text-secondary); border-radius:0 8px 8px 0; }

/* Reusable editorial page heroes */
.page-hero { position:relative; isolation:isolate; overflow:hidden; padding:clamp(72px,10vw,128px) 0 clamp(56px,8vw,96px); background:linear-gradient(135deg,#08080e 0%,#170b1b 55%,#0d101c 100%); border-bottom:1px solid var(--border); }
.page-hero::after { content:""; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(to bottom,black,transparent); }
.page-hero-orb { position:absolute; z-index:-1; border-radius:999px; filter:blur(10px); opacity:.55; }
.page-hero-orb-one { width:360px; height:360px; right:8%; top:-130px; background:radial-gradient(circle,rgba(226,57,75,.3),transparent 70%); }
.page-hero-orb-two { width:300px; height:300px; left:28%; bottom:-200px; background:radial-gradient(circle,rgba(245,197,24,.22),transparent 70%); }
.page-hero-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:48px; }
.page-hero-copy { max-width:780px; }
.page-hero-eyebrow { display:inline-flex; gap:8px; align-items:center; padding:7px 12px; margin-bottom:20px; border:1px solid rgba(245,197,24,.25); border-radius:999px; color:var(--gold); background:rgba(245,197,24,.07); font-size:.74rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.page-hero h1 { max-width:850px; font-size:clamp(2.35rem,6vw,5rem); letter-spacing:-.035em; }
.page-hero-copy>p { max-width:680px; margin-top:20px; color:#b9b9ca; font-size:clamp(1rem,1.8vw,1.2rem); line-height:1.8; }
.page-hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.page-hero-stats { display:grid; grid-template-columns:repeat(2,minmax(110px,1fr)); gap:1px; min-width:290px; padding:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-card); }
.page-hero-stats>div { padding:20px; background:rgba(8,8,14,.92); }
.page-hero-stats dt { color:var(--text-muted); font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.page-hero-stats dd { margin-top:4px; color:var(--gold); font-family:'Cinzel',serif; font-size:1.65rem; font-weight:700; }
.page-hero-inner--media { grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr); align-items:center; }
.page-hero-inner--media .page-hero-copy { max-width:720px; }
.page-hero-inner--media h1 { font-size:clamp(2.35rem,4.5vw,4.5rem); }
.page-hero-visual { min-width:0; }
.page-hero-media { position:relative; margin:0; aspect-ratio:1200/630; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:clamp(18px,2vw,28px); background:#09090f; box-shadow:0 28px 70px rgba(0,0,0,.45); }
.page-hero-media::after { content:""; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 0 0 1px rgba(255,255,255,.04); }
.page-hero-media img { display:block; width:100%; height:100%; object-fit:cover; }
.page-hero-visual .page-hero-stats { width:calc(100% - 32px); min-width:0; margin:-18px auto 0; position:relative; z-index:1; }
.page-hero-visual .page-hero-stats>div { padding:16px 18px; }
.page-hero-visual .page-hero-stats dd { font-size:clamp(1rem,1.6vw,1.35rem); overflow-wrap:anywhere; }
.support-section { padding:clamp(56px,8vw,96px) 0; border-top:1px solid var(--border); background:linear-gradient(180deg,var(--bg-primary),var(--bg-secondary)); }
.support-intro { max-width:760px; margin-bottom:32px; }
.support-intro>span { color:var(--gold); font-size:.72rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.support-intro h2 { margin-top:8px; font-size:clamp(1.7rem,4vw,2.75rem); }
.support-intro p { margin-top:12px; color:var(--text-secondary); line-height:1.8; }
.support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.support-card { min-height:230px; padding:26px; background:rgba(16,16,24,.7); border:1px solid var(--border); border-radius:var(--radius-lg); transition:var(--transition); }
.support-card:hover { transform:translateY(-4px); border-color:rgba(245,197,24,.3); background:var(--bg-card-hover); }
.support-card-icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:20px; border-radius:12px; color:var(--gold); background:var(--gold-glow); }
.support-card h3 { font-size:1.08rem; }
.support-card p { margin-top:10px; color:var(--text-secondary); font-size:.92rem; line-height:1.7; }
.support-card a { display:inline-block; margin-top:18px; color:var(--gold); font-weight:700; font-size:.86rem; }
.support-faqs { max-width:900px; margin-top:56px; }
.support-faqs>h2 { margin-bottom:18px; }
.support-faqs details { padding:18px 0; border-bottom:1px solid var(--border); }
.support-faqs summary { cursor:pointer; font-weight:700; }
.support-faqs details p { padding-top:12px; color:var(--text-secondary); line-height:1.75; }

.ad-slot::before {
    content: 'ADVERTISEMENT';
    position: absolute;
    top: 4px;
    font-size: 0.6rem;
    letter-spacing: 0.1em;
    opacity: 0.5;
}

#ad-sidebar {
    width: 300px;
    min-height: 600px;
    margin: 0 auto;
}

#ad-in-article {
    width: 100%;
    min-height: 250px;
    margin: clamp(20px, 4vw, 40px) 0;
}

/* ── Quiz Engine ──────────────────────────────────────────────── */
.quiz-container {
    max-width: 720px;
    margin: 0 auto;
}

.quiz-progress-bar {
    height: 4px;
    background: var(--bg-card);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 32px;
}

.quiz-progress-fill {
    height: 100%;
    background: var(--gradient-gold);
    border-radius: 4px;
    transition: width 0.4s ease;
}

.quiz-question-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 40px;
    margin-bottom: 24px;
}

.quiz-question-number {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--gold);
    margin-bottom: 16px;
}

.quiz-question-text {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 32px;
}

.quiz-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.quiz-option {
    background: var(--bg-secondary);
    border: 2px solid var(--border);
    border-radius: var(--radius);
    padding: 16px 20px;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--text-primary);
    cursor: pointer;
    transition: var(--transition);
    text-align: left;
    display: flex;
    align-items: center;
    gap: 12px;
}

.quiz-option:hover:not(.selected):not(.correct):not(.wrong) {
    border-color: var(--gold-dim);
    background: var(--bg-card);
    transform: translateY(-2px);
}

.quiz-option.selected { border-color: var(--gold); background: var(--gold-glow); }
.quiz-option.correct { border-color: #4ade80; background: rgba(34,197,94,0.1); color: #4ade80; }
.quiz-option.wrong { border-color: var(--accent); background: var(--accent-glow); color: var(--accent); }

.quiz-option-label {
    width: 28px; height: 28px;
    border-radius: 50%;
    border: 2px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 700;
    flex-shrink: 0;
}
}

/* ── Pagination ───────────────────────────────────────────────── */
.pagination-container {
    display: flex;
    justify-content: center;
    margin-top: 40px;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 4px;
}

.pagination {
    display: flex;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.page-item .page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: var(--radius-sm);
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    color: var(--text-secondary);
    font-weight: 500;
    font-size: 0.95rem;
    transition: var(--transition-fast);
    cursor: pointer;
    text-decoration: none;
}

.page-item:not(.disabled):not(.active) .page-link:hover {
    background: var(--bg-card-hover);
    border-color: var(--gold-dim);
    color: var(--text-primary);
    transform: translateY(-2px);
}

.page-item.active .page-link {
    background: var(--gradient-gold);
    border-color: transparent;
    color: var(--bg-primary);
    font-weight: 700;
}

.page-item.disabled .page-link {
    opacity: 0.5;
    cursor: not-allowed;
    background: transparent;
}
}

/* ── Quiz Gamification & UI ────────────────────────────────────── */
@keyframes headshake {
    0% { transform: translateX(0); }
    25% { transform: translateX(-6px); }
    50% { transform: translateX(6px); }
    75% { transform: translateX(-6px); }
    100% { transform: translateX(0); }
}

@keyframes pulse-gold {
    0% { box-shadow: 0 0 0 0 rgba(245, 197, 24, 0.4); }
    70% { box-shadow: 0 0 0 10px rgba(245, 197, 24, 0); }
    100% { box-shadow: 0 0 0 0 rgba(245, 197, 24, 0); }
}

.anim-headshake {
    animation: headshake 0.4s ease-in-out;
}

.anim-pulse-gold {
    animation: pulse-gold 1.5s infinite;
}

.quiz-timer-container {
    width: 100%;
    height: 6px;
    background: var(--bg-card);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 24px;
}

.quiz-timer-fill {
    height: 100%;
    background: #4ade80; /* Green */
    width: 100%;
    transition: width 0.1s linear, background-color 0.3s ease;
}

.ad-interstitial-overlay {
    position: fixed;
    inset: 0;
    background: rgba(10, 10, 15, 0.95);
    backdrop-filter: blur(10px);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease;
}

.ad-interstitial-overlay.active {
    opacity: 1;
    pointer-events: auto;
}

.spinner {
    width: 50px;
    height: 50px;
    border: 3px solid rgba(255,255,255,0.1);
    border-radius: 50%;
    border-top-color: var(--gold);
    animation: spin 1s ease-in-out infinite;
    margin-bottom: 20px;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* ── Responsive ───────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .grid-4 { grid-template-columns: repeat(3, 1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .page-hero-inner--media { grid-template-columns:minmax(0,1fr) minmax(300px,.72fr); gap:32px; }
    .page-hero-inner--media h1 { font-size:clamp(2.25rem,4.9vw,3.7rem); }
}

@media (max-width: 768px) {
    .grid-4, .grid-3 { grid-template-columns: repeat(2, 1fr); }
    .grid-2 { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; }
    .mobile-menu-toggle { display: block; }
    .nav-links { 
        display: none; 
        flex-direction: column; 
        position: absolute; 
        top: var(--nav-height); 
        left: 0; 
        right: 0; 
        background: rgba(10, 10, 15, 0.98);
        backdrop-filter: blur(20px);
        padding: 24px; 
        border-bottom: 1px solid var(--border);
        box-shadow: 0 10px 30px rgba(0,0,0,0.8);
    }
    .nav-links.active { display: flex; }
    .nav-search { max-width: 210px; }
    .hero-featured-image { display: none; }
    .hero-title { font-size: 2rem; }
    .quiz-options { grid-template-columns: 1fr; }
    .quiz-question-card { padding: 24px; }
    .section-header { flex-direction: column; align-items: flex-start; }
    .page-hero-inner { grid-template-columns:1fr; gap:28px; }
    .page-hero-stats { width:100%; min-width:0; }
    .page-hero-inner--media .page-hero-visual { width:100%; }
    .page-hero-inner--media .page-hero-media { width:100%; }
    .page-hero-visual .page-hero-stats { width:calc(100% - 24px); }
    .support-grid { grid-template-columns:1fr; }
}

@media (max-width: 480px) {
    .grid-4, .grid-3, .grid-2 { grid-template-columns: 1fr; }
    .container { padding: 0 16px; }
    .grid-movies { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .grid-actors { grid-template-columns: repeat(3, 1fr); gap: 12px; }
    .nav-search { display:none; }
    .nav-logo { font-size: 1.2rem; }
    .hero-actions { flex-wrap:wrap; gap:10px; }
    .hero-actions .btn { flex:1 1 100%; justify-content:center; }
    .section { padding:36px 0; }
    .filter-bar { padding:12px; }
    .filter-field, .filter-field .form-control { width:100%!important; }
    .pagination-container { justify-content:center; overflow:hidden; }
    .pagination .page-item:not(.active):not(:first-child):not(:last-child) { display:none; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* Homepage editorial landing */
.home-hero { position:relative; isolation:isolate; min-height:700px; display:flex; align-items:center; overflow:hidden; border-bottom:1px solid var(--border); background:#09090f; }
.home-hero-backdrop { position:absolute; inset:0; z-index:-3; background-size:cover; background-position:center; opacity:.38; transform:scale(1.03); }
.home-hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(5,5,8,.99) 0%,rgba(5,5,8,.88) 45%,rgba(5,5,8,.28) 100%),linear-gradient(0deg,#050508 0%,transparent 45%); }
.home-hero-inner { width:100%; display:grid; grid-template-columns:minmax(0,720px) minmax(300px,430px); justify-content:space-between; align-items:center; gap:clamp(36px,6vw,86px); padding-block:82px; }
.home-kicker { display:inline-flex; align-items:center; gap:8px; color:var(--gold); font-size:.76rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.home-hero h1 { margin-top:20px; max-width:760px; font-size:clamp(3rem,6.4vw,5.7rem); line-height:.98; letter-spacing:-.05em; text-wrap:balance; }
.home-hero-copy>p { max-width:650px; margin-top:24px; color:#b8b8c8; font-size:clamp(1rem,1.8vw,1.18rem); line-height:1.8; }
.home-search { max-width:650px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; margin-top:32px; padding:8px 8px 8px 16px; background:rgba(8,8,13,.88); border:1px solid rgba(255,255,255,.13); border-radius:16px; backdrop-filter:blur(16px); }
.home-search svg { color:var(--text-muted); }
.home-search input { min-width:0; padding:10px 0; color:var(--text-primary); background:transparent; border:0; outline:0; font:inherit; }
.home-hero-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
.home-feature { padding:24px; background:rgba(9,9,15,.8); border:1px solid rgba(255,255,255,.13); border-radius:20px; backdrop-filter:blur(18px); box-shadow:var(--shadow-card); transition:var(--transition); }
.home-feature:hover { transform:translateY(-5px); border-color:rgba(245,197,24,.35); }
.home-feature-label { display:block; color:var(--gold); font-size:.68rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.home-feature strong { display:block; margin-top:10px; font-family:'Cinzel',serif; font-size:1.35rem; line-height:1.3; }
.home-feature>span:not(.home-feature-label):not(.home-feature-link) { display:block; margin-top:8px; color:var(--text-secondary); font-size:.85rem; }
.home-feature-link { display:block; margin-top:22px; color:var(--gold); font-weight:700; font-size:.86rem; }
.home-showcase { min-width:0; }
.home-showcase-stage { position:relative; min-height:520px; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:26px; background:#101016; box-shadow:0 30px 80px rgba(0,0,0,.52); }
.home-showcase-stage::before { content:""; position:absolute; inset:12px; z-index:3; pointer-events:none; border:1px solid rgba(255,255,255,.12); border-radius:18px; }
.home-showcase-slide { position:absolute; inset:0; display:block; opacity:0; visibility:hidden; transform:scale(1.035); transition:opacity .8s ease,transform 1.2s ease,visibility .8s; }
.home-showcase-slide.is-active { z-index:1; opacity:1; visibility:visible; transform:scale(1); }
.home-showcase-slide img { width:100%; height:100%; min-height:520px; object-fit:cover; }
.home-showcase-slide.is-contain { background:radial-gradient(circle at 50% 32%,color-mix(in srgb,var(--showcase-color,#222) 58%,#fff),var(--showcase-color,#15151d) 48%,#08080d 82%); }
.home-showcase-slide.is-contain img { padding:70px 48px 180px; object-fit:contain; }
.home-showcase-shade { position:absolute; inset:0; background:linear-gradient(180deg,transparent 24%,rgba(5,5,9,.2) 47%,rgba(5,5,9,.97) 100%); }
.home-showcase-copy { position:absolute; left:0; right:0; bottom:0; z-index:2; display:block; padding:36px; }
.home-showcase-copy small { display:block; color:var(--gold); font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.home-showcase-copy strong { display:block; margin-top:8px; font:700 clamp(1.55rem,3vw,2.25rem)/1.15 'Cinzel',serif; }
.home-showcase-copy>span { display:block; margin-top:8px; color:#c5c5d3; font-size:.82rem; line-height:1.5; }
.home-showcase-copy b { display:block; margin-top:17px; color:var(--gold); font-size:.82rem; }
.home-showcase-progress { display:flex; gap:7px; margin-top:14px; padding-inline:5px; }
.home-showcase-progress span { height:3px; flex:1; overflow:hidden; border-radius:4px; background:rgba(255,255,255,.15); }
.home-showcase-progress span::after { content:""; display:block; width:0; height:100%; background:var(--gold); }
.home-showcase-progress span.is-active::after { width:100%; transition:width 4.5s linear; }
.home-metrics { position:relative; z-index:2; margin-top:-36px; }
.home-metrics-grid { display:grid; grid-template-columns:repeat(4,1fr); padding:1px; gap:1px; background:var(--border); border:1px solid var(--border); border-radius:20px; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.35); }
.home-metrics-grid>div { padding:24px 28px; background:#0a0a10; }
.home-metrics-grid strong { display:block; color:var(--gold); font:700 clamp(1.5rem,3vw,2.2rem)/1 'Cinzel',serif; }
.home-metrics-grid span { display:block; margin-top:7px; color:var(--text-muted); font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.home-section-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:30px; }
.home-section-head>div { max-width:760px; }
.home-section-head span,.home-method-layout>div>span { color:var(--gold); font-size:.72rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.home-section-head h2,.home-method h2 { margin-top:8px; font-size:clamp(1.85rem,4vw,3.1rem); }
.home-section-head p,.home-method-layout>div>p { margin-top:10px; color:var(--text-secondary); line-height:1.75; }
.home-section-head>a { color:var(--gold); font-weight:700; white-space:nowrap; }
.home-poster-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.home-poster-card { min-width:0; transition:var(--transition); }
.home-poster-card:hover { transform:translateY(-5px); }
.home-poster-media { position:relative; aspect-ratio:2/3; overflow:hidden; display:grid; place-items:center; background:var(--bg-card); border:1px solid var(--border); border-radius:16px; }
.home-poster-media img { width:100%; height:100%; object-fit:cover; }
.home-rating { position:absolute; right:8px; bottom:8px; padding:5px 8px; border-radius:8px; color:#111; background:var(--gold); font-size:.7rem; font-weight:800; }
.home-poster-copy { padding:13px 3px; }
.home-poster-copy h3 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:'Inter',sans-serif; font-size:.92rem; }
.home-poster-copy p { margin-top:5px; color:var(--text-muted); font-size:.78rem; }
.home-poster-copy>span { display:block; margin-top:7px; color:var(--text-secondary); font-size:.74rem; line-height:1.5; }
.home-editorial { padding-top:clamp(70px,8vw,110px); }
.home-editorial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.home-editorial-card { min-width:0; overflow:hidden; border:1px solid var(--border); border-radius:20px; background:var(--bg-card); transition:var(--transition); }
.home-editorial-card:hover { transform:translateY(-4px); border-color:rgba(245,197,24,.3); }
.home-editorial-media { display:block; aspect-ratio:1200/630; overflow:hidden; background:linear-gradient(135deg,#16121a,#090b11); }
.home-editorial-media img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.home-editorial-card:hover .home-editorial-media img { transform:scale(1.025); }
.home-editorial-media>span { height:100%; display:grid; place-items:center; color:var(--gold); font-size:2rem; }
.home-editorial-copy { padding:24px; }
.home-editorial-copy>span,.home-quiz-label { color:var(--gold); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.home-editorial-copy h3 { margin-top:9px; font-size:clamp(1.1rem,2vw,1.38rem); line-height:1.35; }
.home-editorial-copy p { margin-top:10px; color:var(--text-secondary); font-size:.88rem; line-height:1.7; }
.home-editorial-copy footer { display:flex; justify-content:space-between; gap:16px; margin-top:20px; padding-top:16px; border-top:1px solid var(--border); color:var(--text-muted); font-size:.72rem; }
.home-ad-wrap { padding-block:0 20px; }
.home-pathways { background:linear-gradient(180deg,#050508,#0b0910); border-block:1px solid var(--border); }
.home-pathway-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--border); border-radius:20px; overflow:hidden; }
.home-pathway-grid>a { min-height:310px; display:flex; flex-direction:column; padding:28px; border-right:1px solid var(--border); transition:var(--transition); }
.home-pathway-grid>a:last-child { border-right:0; }
.home-pathway-grid>a:hover { background:var(--bg-card-hover); }
.home-pathway-grid>a>span { color:var(--gold); font:700 1.45rem 'Cinzel',serif; }
.home-pathway-grid h3 { margin-top:36px; font-size:1.2rem; }
.home-pathway-grid p { margin-top:12px; color:var(--text-secondary); font-size:.9rem; line-height:1.7; }
.home-pathway-grid b { margin-top:auto; padding-top:24px; color:var(--gold); font-size:.84rem; }
.home-section-alt { background:var(--bg-secondary); border-block:1px solid var(--border); }
.home-series-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.home-series-card { min-height:180px; display:grid; grid-template-columns:120px 1fr; overflow:hidden; border:1px solid var(--border); border-radius:18px; background:var(--bg-card); transition:var(--transition); }
.home-series-card:hover { transform:translateY(-4px); border-color:rgba(245,197,24,.28); }
.home-series-card>div { background:#111; }
.home-series-card img { width:100%; height:100%; object-fit:cover; }
.home-series-card section { display:flex; flex-direction:column; align-items:flex-start; padding:22px; }
.home-series-card section>span { color:var(--gold); font-size:.66rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.home-series-card h3 { margin-top:12px; font-size:1.08rem; }
.home-series-card p { margin-top:7px; color:var(--text-muted); font-size:.8rem; }
.home-series-card b { margin-top:auto; color:var(--gold); font-size:.78rem; }
.home-streaming { background:linear-gradient(180deg,#07070b,#0d0910); border-block:1px solid var(--border); }
.home-streaming-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.home-streaming-grid>a { min-width:0; display:grid; grid-template-columns:62px minmax(0,1fr) auto; align-items:center; gap:14px; padding:14px; border:1px solid var(--border); border-radius:16px; background:var(--bg-card); transition:var(--transition); }
.home-streaming-grid>a:hover { transform:translateY(-3px); border-color:color-mix(in srgb,var(--platform-color) 65%,white); }
.home-streaming-logo { width:62px; height:48px; display:grid; place-items:center; overflow:hidden; padding:7px; border-radius:10px; background:#fff; }
.home-streaming-logo img { width:100%; height:100%; object-fit:contain; }
.home-streaming-logo b { display:grid; place-items:center; width:100%; height:100%; border-radius:7px; color:#fff; background:var(--platform-color); }
.home-streaming-grid>a>span:nth-child(2) { min-width:0; }
.home-streaming-grid strong,.home-streaming-grid small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-streaming-grid strong { font-size:.9rem; }
.home-streaming-grid small { margin-top:5px; color:var(--text-muted); font-size:.7rem; }
.home-streaming-grid>a>b { color:var(--gold); }
.home-quizzes { background:var(--bg-secondary); border-bottom:1px solid var(--border); }
.home-quiz-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.home-quiz-grid article { min-width:0; display:flex; flex-direction:column; min-height:270px; padding:24px; border:1px solid var(--border); border-radius:18px; background:var(--bg-card); transition:var(--transition); }
.home-quiz-grid article:hover { transform:translateY(-4px); border-color:rgba(245,197,24,.3); }
.home-quiz-grid h3 { margin-top:13px; font-size:1.08rem; line-height:1.4; }
.home-quiz-grid p { margin-top:12px; color:var(--text-secondary); font-size:.84rem; line-height:1.68; }
.home-quiz-grid footer { display:flex; justify-content:space-between; gap:12px; align-items:end; margin-top:auto; padding-top:22px; color:var(--text-muted); font-size:.7rem; }
.home-quiz-grid footer a { color:var(--gold); font-weight:800; white-space:nowrap; }
.home-method { background:linear-gradient(135deg,#110a14,#080b13); border-block:1px solid var(--border); }
.home-method-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:72px; align-items:start; }
.home-method-layout>div .btn { margin-top:28px; }
.home-method ol { list-style:none; }
.home-method li { display:grid; grid-template-columns:46px 1fr; gap:18px; padding:22px 0; border-bottom:1px solid var(--border); }
.home-method li>span { color:var(--gold); font:700 1rem 'Cinzel',serif; }
.home-method li h3 { font-size:1rem; }
.home-method li p { margin-top:6px; color:var(--text-secondary); font-size:.88rem; line-height:1.7; }
.home-people-stories { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:48px; }
.home-people-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.home-people-grid a { text-align:center; }
.home-people-grid img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:16px; border:1px solid var(--border); }
.home-people-grid span { display:block; margin-top:8px; font-size:.8rem; font-weight:700; }
.home-star-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.home-star-grid>a { min-width:0; }
.home-star-grid img { width:100%; aspect-ratio:1; object-fit:cover; border:1px solid var(--border); border-radius:18px; transition:var(--transition); }
.home-star-grid>a:hover img { transform:translateY(-4px); border-color:rgba(245,197,24,.35); }
.home-star-grid span,.home-star-grid strong,.home-star-grid small { display:block; }
.home-star-grid span { padding:11px 3px 0; }
.home-star-grid strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.86rem; }
.home-star-grid small { margin-top:5px; color:var(--text-muted); font-size:.7rem; line-height:1.45; }
.home-story-list>a,.home-story-empty { display:block; padding:22px 0; border-bottom:1px solid var(--border); }
.home-story-list>a:first-child { padding-top:0; }
.home-story-list>a>span { color:var(--gold); font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.home-story-list h3,.home-story-empty h3 { margin-top:7px; font-size:1.15rem; }
.home-story-list p,.home-story-empty p { margin-top:7px; color:var(--text-secondary); font-size:.86rem; }
.home-story-empty a { display:inline-block; margin-top:16px; color:var(--gold); font-weight:700; }
.home-faq { background:var(--bg-secondary); border-top:1px solid var(--border); }
.home-faq-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px 28px; }
.home-faq details { padding:20px 0; border-bottom:1px solid var(--border); }
.home-faq summary { cursor:pointer; font-weight:700; }
.home-faq details p { padding-top:12px; color:var(--text-secondary); line-height:1.75; }

@media (max-width:1024px) {
    .home-hero-inner { grid-template-columns:minmax(0,1fr) minmax(280px,350px); gap:36px; }
    .home-showcase-stage,.home-showcase-slide img { min-height:460px; }
    .home-poster-grid { grid-template-columns:repeat(3,1fr); }
    .home-pathway-grid { grid-template-columns:repeat(2,1fr); }
    .home-pathway-grid>a:nth-child(2) { border-right:0; }
    .home-pathway-grid>a:nth-child(-n+2) { border-bottom:1px solid var(--border); }
    .home-series-grid { grid-template-columns:repeat(2,1fr); }
    .home-streaming-grid,.home-quiz-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home-star-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:768px) {
    .home-hero { min-height:auto; }
    .home-hero-inner { grid-template-columns:1fr; padding-block:72px; }
    .home-feature,.home-showcase { width:100%; max-width:520px; }
    .home-showcase-stage,.home-showcase-slide img { min-height:440px; }
    .home-metrics { margin-top:0; }
    .home-metrics-grid { grid-template-columns:repeat(2,1fr); border-radius:0; }
    .home-section-head { align-items:flex-start; flex-direction:column; }
    .home-method-layout,.home-people-stories { grid-template-columns:1fr; gap:42px; }
    .home-faq-grid { grid-template-columns:1fr; }
    .home-editorial-grid { grid-template-columns:1fr; }
}
@media (max-width:560px) {
    .home-hero h1 { font-size:clamp(2.45rem,13vw,3.65rem); }
    .home-hero-inner { gap:34px; padding-block:48px; }
    .home-showcase-stage,.home-showcase-slide img { min-height:310px; }
    .home-showcase-slide.is-contain img { padding:44px 34px 118px; }
    .home-showcase-copy { padding:24px; }
    .home-showcase-copy strong { font-size:1.45rem; }
    .home-search { grid-template-columns:auto 1fr; }
    .home-search .btn { grid-column:1/-1; width:100%; justify-content:center; }
    .home-poster-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
    .home-pathway-grid,.home-series-grid { grid-template-columns:1fr; }
    .home-pathway-grid>a { min-height:240px; border-right:0; border-bottom:1px solid var(--border); }
    .home-pathway-grid>a:last-child { border-bottom:0; }
    .home-series-card { grid-template-columns:100px 1fr; }
    .home-streaming-grid,.home-quiz-grid { grid-template-columns:1fr; }
    .home-quiz-grid article { min-height:230px; }
    .home-star-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .home-editorial-copy { padding:20px; }
    .home-editorial-copy footer { align-items:flex-start; flex-direction:column; gap:5px; }
}

/* ── Utilities ────────────────────────────────────────────────── */
.overflow-hidden { overflow: hidden; }
.relative { position: relative; }
.sticky-top { position: sticky; top: calc(var(--nav-height) + 24px); }
.w-full { width: 100%; }
.text-center { text-align: center; }
.mb-2 { margin-bottom: 8px; }
.mb-3 { margin-bottom: 12px; }
.mb-4 { margin-bottom: 16px; }
.mb-5 { margin-bottom: 24px; }
.mb-6 { margin-bottom: 32px; }
.mt-auto { margin-top: auto; }
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.divider { border: none; border-top: 1px solid var(--border); margin: 24px 0; }

/* ── Admin ────────────────────────────────────────────────────── */
.admin-sidebar {
    width: 260px;
    min-height: 100vh;
    background: var(--bg-secondary);
    border-right: 1px solid var(--border);
    padding: 24px 0;
    position: fixed;
    top: 0; left: 0;
    overflow-y: auto;
}

.admin-main {
    margin-left: 260px;
    min-height: 100vh;
    padding: 32px;
    background: var(--bg-primary);
}

.admin-nav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 20px;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-muted);
    transition: var(--transition-fast);
}

.admin-nav-item:hover, .admin-nav-item.active {
    background: var(--bg-card);
    color: var(--gold);
}

.admin-nav-item.active {
    border-right: 3px solid var(--gold);
}

.stat-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 24px;
    transition: var(--transition);
}

.stat-card:hover {
    border-color: var(--gold-dim);
    box-shadow: var(--shadow-gold);
}

.stat-number {
    font-family: 'Cinzel', serif;
    font-size: 2rem;
    font-weight: 700;
    color: var(--gold);
}

.stat-label {
    font-size: 0.8rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.table {
    width: 100%;
    border-collapse: collapse;
}

.table th {
    padding: 12px 16px;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    border-bottom: 1px solid var(--border);
}

.table td {
    padding: 14px 16px;
    font-size: 0.875rem;
    border-bottom: 1px solid rgba(255,255,255,0.04);
    vertical-align: middle;
}

.table tr:hover td { background: var(--bg-card); }

/* Pagination SVG Fix */
nav[role="navigation"] svg { width: 1.25rem; height: 1.25rem; }
nav[role="navigation"] p { margin-top: 1rem; color: var(--text-muted); }

/* Blog Body Styles */
.blog-body p { margin-bottom: 1.5rem; }
.blog-body h2 { font-family: 'Cinzel', serif; color: var(--gold); margin-top: 2rem; margin-bottom: 1rem; }

.breadcrumb-wrap { border-bottom:1px solid var(--border); background:#08080d; }
.breadcrumbs { padding-block:12px; overflow:hidden; }
.breadcrumbs ol { display:flex; align-items:center; gap:8px; min-width:0; list-style:none; color:var(--text-muted); font-size:.78rem; }
.breadcrumbs li { display:flex; align-items:center; min-width:0; }
.breadcrumbs li:not(:last-child)::after { content:"/"; margin-left:8px; color:#3e3e50; }
.breadcrumbs li:last-child { overflow:hidden; color:var(--text-secondary); }
.breadcrumbs li:last-child span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.breadcrumbs a:hover { color:var(--gold); }
.editorial-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.editorial-person-card { display:grid; grid-template-columns:76px minmax(0,1fr); gap:20px; padding:24px; border:1px solid var(--border); border-radius:18px; background:var(--bg-card); }
.editorial-person-card>span { display:grid; place-items:center; width:76px; height:76px; border-radius:20px; color:#111; background:var(--gradient-gold); font:800 1.35rem 'Cinzel',serif; }
.editorial-person-card p:first-child { color:var(--gold); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.editorial-person-card h2 { margin-top:6px; font-size:1.2rem; }
.editorial-person-card h2+p { margin-top:9px; color:var(--text-secondary); font-size:.86rem; line-height:1.7; }
.editorial-person-card a { display:inline-block; margin-top:14px; color:var(--gold); font-size:.82rem; font-weight:700; }
.author-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:48px; align-items:start; }
.author-layout .prose { margin:0; }
.author-layout .prose h2,.policy-prose h2 { margin-bottom:14px; font-size:1.55rem; }
.author-layout .prose p+p { margin-top:18px; }
.author-layout a,.policy-prose a { color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
.author-layout aside p { margin-top:10px; color:var(--text-secondary); line-height:1.7; }
.author-layout aside a { display:inline-block; margin-top:16px; font-weight:700; }
.policy-prose { max-width:860px; margin-inline:auto; }
.policy-prose>section { padding:0 0 38px; margin-bottom:38px; border-bottom:1px solid var(--border); }
.policy-prose p { color:var(--text-secondary); font-size:1.03rem; line-height:1.9; }
.policy-prose p+p { margin-top:18px; }
.policy-related { padding:26px; border:1px solid var(--border); border-radius:18px; background:var(--bg-card); }
.policy-related>div { display:flex; flex-wrap:wrap; gap:10px 22px; }
.policy-related a { font-weight:700; }

/* Responsive content foundation */
.article-shell { width:100%; max-width:800px; min-width:0; margin-inline:auto; }
.article-toc { margin-bottom:32px; overflow:hidden; border:1px solid var(--border); border-radius:var(--radius); background:var(--bg-card); }
.article-toc summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; cursor:pointer; list-style:none; }
.article-toc summary::-webkit-details-marker { display:none; }
.article-toc summary>span:first-child { display:flex; align-items:baseline; gap:10px; min-width:0; }
.article-toc summary small { color:var(--text-muted); font-size:.75rem; font-weight:600; white-space:nowrap; }
.article-toc-toggle { flex:0 0 auto; display:grid; place-items:center; width:30px; height:30px; border-radius:999px; color:var(--gold); background:var(--gold-glow); font-size:1.25rem; transition:transform .2s ease; }
.article-toc[open] .article-toc-toggle { transform:rotate(45deg); }
.article-toc nav { padding:0 24px 22px; border-top:1px solid var(--border); }
.article-toc ol { padding:18px 0 0 1.35rem; }
.article-toc li { padding:.28rem 0 .28rem .2rem; color:var(--text-secondary); }
.article-toc a { display:inline; color:var(--text-primary); line-height:1.55; overflow-wrap:anywhere; }
.article-toc a:hover { color:var(--gold); }
.blog-body { min-width:0; overflow-wrap:anywhere; }
.blog-body section { scroll-margin-top:calc(var(--nav-height) + 20px); }
.blog-body p a, main li a, .prose a, .legal-content a { overflow-wrap:anywhere; word-break:break-word; }
.stat-card, .support-card, .quiz-card, .blog-card { min-width:0; overflow-wrap:anywhere; }
.flex > *, .flex-between > *, .section-header > *, .page-hero-inner > * { min-width:0; }
.table-responsive { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
iframe, video, canvas, embed, object { max-width:100%; }
input, select, textarea, button { max-width:100%; }

@media (max-width:768px) {
    .editorial-card-grid { grid-template-columns:1fr; }
    .author-layout { grid-template-columns:1fr; gap:28px; }
    .hero-detail-container { gap:24px; }
    .hero-detail-info { min-width:0; width:100%; }
    .hero-detail-poster { width:min(240px,72vw); min-width:0; }
    .article-grid, .quiz-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .page-hero { padding:64px 0 48px; }
    .page-hero h1 { font-size:clamp(2rem,8.5vw,3.25rem); overflow-wrap:anywhere; }
    .page-hero-copy>p { line-height:1.65; }
    .page-hero-stats>div { padding:16px; }
    .page-hero-stats dd { font-size:1.35rem; overflow-wrap:anywhere; }
    .footer { padding-top:48px; }
    .table { display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
}

@media (max-width:480px) {
    html { font-size:15px; }
    .container { width:100%; padding-inline:16px; }
    .page-hero { padding:48px 0 38px; }
    .page-hero h1 { font-size:clamp(1.85rem,10vw,2.45rem); line-height:1.08; letter-spacing:-.025em; }
    .page-hero-eyebrow { max-width:100%; white-space:normal; line-height:1.35; }
    .page-hero-stats { grid-template-columns:1fr 1fr; }
    .page-hero-stats>div { padding:13px; }
    .page-hero-stats dd { font-family:'Inter',sans-serif; font-size:1rem; }
    .stat-card { padding:18px; }
    .breadcrumbs { padding-block:10px; }
    .editorial-person-card { grid-template-columns:54px minmax(0,1fr); gap:14px; padding:18px; }
    .editorial-person-card>span { width:54px; height:54px; border-radius:14px; font-size:1rem; }
    .policy-prose p { font-size:1rem; line-height:1.78; }
    .article-toc { margin-bottom:24px; }
    .article-toc summary { padding:16px 18px; }
    .article-toc summary>span:first-child { display:block; }
    .article-toc summary small { display:block; margin-top:2px; }
    .article-toc nav { padding:0 18px 17px; }
    .article-toc ol { padding-left:1.2rem; }
    .blog-body { font-size:1rem!important; line-height:1.78!important; }
    .blog-body h2 { margin-top:2.2rem; font-size:1.45rem; line-height:1.25; overflow-wrap:anywhere; }
    .blog-body p { margin-bottom:1.2rem; }
    .article-grid, .quiz-grid { grid-template-columns:1fr; }
    .grid-actors { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .support-card { padding:20px; }
    .quiz-container { width:100%; }
    .quiz-question-card { padding:18px; }
    .quiz-question-text { font-size:1.12rem; }
    .quiz-option { min-height:52px; padding:12px; }
    .home-metrics-grid>div { padding:18px 16px; }
    .home-pathway-grid>a { min-height:210px; padding:22px; }
    .home-series-card { grid-template-columns:84px minmax(0,1fr); }
    .home-series-card section { padding:17px; }
    .ott-detail-logo { max-width:100%; }
    .ott-card-body, .ott-facts>div, .ott-features li { padding:17px; }
    .btn { white-space:normal; text-align:center; }
}

@media (max-width:340px) {
    .container { padding-inline:12px; }
    .nav-logo { font-size:1.05rem; }
    .nav-logo .logo-icon { width:32px; height:32px; }
    .page-hero-stats { grid-template-columns:1fr; }
    .grid-movies { grid-template-columns:1fr; }
    .home-poster-grid { grid-template-columns:1fr 1fr; }
    .home-series-card { grid-template-columns:1fr; }
    .home-series-card>div { aspect-ratio:16/8; }
}
.archive-pagination { margin-top:40px; }
.load-more-wrap { display:flex; justify-content:center; margin-bottom:18px; }
.pagination-load-more { min-width:170px; justify-content:center; }
.pagination-load-more[aria-busy="true"] { cursor:wait; opacity:.72; }
.sr-only {
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

/* Unified responsive discovery cards */
.grid-movies {
    grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
    gap:clamp(14px,1.8vw,24px);
    align-items:stretch;
}
.movie-card,.actor-card,.quiz-card,.blog-card,.ott-card {
    height:100%;
    color:var(--text-primary);
    box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.movie-card,.actor-card,.quiz-card,.blog-card {
    border-radius:16px;
}
.movie-card:focus-visible,.actor-card:focus-visible,.quiz-card:focus-visible,.blog-card:focus-visible,.ott-card:focus-visible {
    outline:3px solid var(--gold);
    outline-offset:3px;
}
.movie-card-body { display:flex; min-height:104px; flex-direction:column; padding:16px; }
.movie-card-title {
    display:-webkit-box;
    min-height:2.7em;
    margin-bottom:8px;
    overflow:hidden;
    font-size:1rem;
    line-height:1.35;
    white-space:normal;
    text-overflow:initial;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.movie-card-meta { line-height:1.45; }
.movie-card-genre { padding:4px 8px; border-radius:999px; }

.actor-index-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
    gap:clamp(14px,1.7vw,22px);
    align-items:stretch;
}
.actor-card { display:flex; min-width:0; flex-direction:column; }
.actor-card-photo { position:relative; overflow:hidden; }
.actor-card-photo img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.actor-card:hover .actor-card-photo img { transform:scale(1.045); }
.actor-card-placeholder { display:grid; width:100%; height:100%; place-items:center; font-size:2.75rem; }
.actor-card-body { display:flex; min-height:86px; flex:1; flex-direction:column; justify-content:center; padding:15px 13px; }
.actor-card-name { line-height:1.35; }
.actor-card-role {
    display:-webkit-box;
    overflow:hidden;
    line-height:1.45;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.quiz-grid {
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:clamp(16px,2vw,24px);
}
.quiz-card {
    display:flex;
    min-height:278px;
    flex-direction:column;
    padding:26px;
    background:linear-gradient(145deg,rgba(20,20,29,.96),rgba(10,10,16,.98));
}
.quiz-card::after {
    content:'';
    position:absolute;
    top:-45px;
    right:-45px;
    width:130px;
    height:130px;
    border-radius:50%;
    background:var(--gold-glow);
    pointer-events:none;
}
.quiz-card-title {
    display:-webkit-box;
    min-height:2.8em;
    overflow:hidden;
    font-size:1.08rem;
    line-height:1.4;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.quiz-card-description {
    display:-webkit-box;
    margin-bottom:18px;
    overflow:hidden;
    color:var(--text-secondary);
    font-size:.88rem;
    line-height:1.65;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
}
.quiz-card-meta { flex-wrap:wrap; gap:8px 16px; margin-top:auto; line-height:1.4; }
.quiz-card-meta span { white-space:nowrap; }
.quiz-card-action { margin-top:18px; color:var(--gold); font-size:.84rem; font-weight:800; }
.quiz-card-action span { display:inline-block; transition:transform .2s ease; }
.quiz-card:hover .quiz-card-action span { transform:translateX(4px); }

.article-grid {
    grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
    gap:clamp(18px,2.2vw,28px);
}
.blog-card-title {
    display:-webkit-box;
    min-height:2.8em;
    overflow:hidden;
    font-size:1.08rem;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.blog-card-excerpt {
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
}
.blog-card-footer { gap:12px; padding-top:16px; border-top:1px solid var(--border); }

.ott-grid { gap:clamp(16px,2vw,24px); }
.ott-card-body h3 { line-height:1.35; }
.ott-card-body p {
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
}
.ott-card-counts { flex-wrap:wrap; }

@media (hover:none) {
    .movie-card:hover,.actor-card:hover,.quiz-card:hover,.blog-card:hover,.ott-card:hover { transform:none; }
}
@media (max-width:768px) {
    .grid-movies { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .quiz-grid,.article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .actor-index-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:560px) {
    .grid-movies { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .quiz-grid,.article-grid { grid-template-columns:1fr; }
    .actor-index-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .quiz-card { min-height:250px; padding:22px; }
    .movie-card-body { min-height:96px; padding:13px; }
    .movie-card-title { font-size:.94rem; }
    .blog-card-body { padding:17px; }
    .ott-card-logo { height:105px; padding:22px; }
}
@media (max-width:340px) {
    .grid-movies,.actor-index-grid { grid-template-columns:1fr; }
    .movie-card { max-width:260px; margin-inline:auto; }
}
