/* =============================================
   RESPONSIVE — TABLET (≤1024px)
   ============================================= */
@media (max-width: 1024px) {
    .hero__inner {
        grid-template-columns: 1fr;
        text-align: center;
        padding-block: 4rem;
    }
    .hero__logo-wrap { display: none; }
    .hero__tagline { margin-inline: auto; }
    .platform-badges { justify-content: center; }

    .hosts-teaser__inner { grid-template-columns: 1fr; gap: 3rem; text-align: center; }
    .hosts-teaser__text { max-width: 100%; }
    .hosts-teaser__photos { justify-content: center; }

    .mission-section__inner { grid-template-columns: 1fr; gap: 3rem; }
    .mission-section__badge { display: none; }

    .hosts-grid { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; }

    .newsletter-block { grid-template-columns: 1fr; gap: 3rem; }

    .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
    .footer-brand { grid-column: span 2; }

    .episode-hero__inner { grid-template-columns: 220px 1fr; gap: 2.5rem; }

    .episodes-grid { grid-template-columns: repeat(2, 1fr); }
}

/* =============================================
   RESPONSIVE — MOBILE (≤768px)
   ============================================= */
@media (max-width: 768px) {
    .section { padding-block: 4rem; }
    .page-hero { padding-block: 5rem 3rem; }
    .page-hero--short { padding-block: 4rem 2.5rem; }

    /* Header */
    .site-header__cta { display: none; }

    .site-nav {
        position: fixed;
        top: 72px;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(13, 27, 62, 0.98);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        display: flex;
        align-items: center;
        justify-content: center;
        transform: translateX(100%);
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 99;
    }
    .site-nav.is-open { transform: translateX(0); }

    .site-nav__list {
        flex-direction: column;
        gap: 2.5rem;
        text-align: center;
    }
    .site-nav__list a {
        font-size: 1.5rem;
        color: var(--gold);
    }

    .nav-toggle { display: flex; }

    /* Hamburger → X */
    .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) { opacity: 0; }
    .nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    /* Hero */
    .hero { min-height: 85vh; }

    /* Episodes */
    .episodes-grid { grid-template-columns: 1fr; }

    /* Episode hero */
    .episode-hero__inner { grid-template-columns: 1fr; }
    .episode-hero__thumb { max-width: 260px; margin-inline: auto; }

    /* Episode nav */
    .episode-nav { flex-direction: column; gap: 1.5rem; }
    .episode-nav__link--next { text-align: left; margin-inline-start: 0; }

    /* Hosts teaser */
    .hosts-teaser__photos { flex-direction: column; align-items: center; }

    /* Footer */
    .footer-newsletter__inner { flex-direction: column; text-align: center; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-brand { grid-column: span 1; }
    .footer-bottom { flex-direction: column; text-align: center; gap: 0.5rem; }

    /* Forms */
    .form-row { flex-direction: column; gap: 1.5rem; }

    /* Archive controls */
    .archive-controls { flex-direction: column; align-items: flex-start; gap: 1rem; }

    /* Mission banner */
    .mission-banner { padding-block: 3.5rem; }

    /* Contact */
    .contact-block__header { text-align: left; }
}

/* =============================================
   RESPONSIVE — SMALL MOBILE (≤480px)
   ============================================= */
@media (max-width: 480px) {
    .container { padding-inline: 1rem; }
    .btn { padding: 0.8rem 1.5rem; font-size: 0.82rem; }
    .platform-badges--full { gap: 0.5rem; }
    .platform-badges--full .platform-badge { padding: 0.5rem 1rem; font-size: 0.78rem; }
    .host-avatar { width: 120px; }
    .host-avatar__initials { width: 100px; height: 100px; font-size: 1.75rem; }
}

/* =============================================
   PRINT
   ============================================= */
@media print {
    .site-header, .site-footer, .nav-toggle, .hero__scroll, .btn { display: none !important; }
    body { background: white; color: black; }
    .site-main { padding-top: 0; }
}
