@media (max-width: 1180px) {
    .header-shell { grid-template-columns: auto 1fr; }
    .main-nav { grid-column: 1 / -1; order: 3; overflow-x: auto; padding-bottom: 10px; }
    .search-form { justify-self: end; width: 280px; }
    .poster-grid, .section-short .poster-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .poster-card:nth-child(5) { display: none; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 860px) {
    .section-shell, .header-shell, .footer-grid { width: min(100% - 28px, 1320px); }
    .header-shell { grid-template-columns: 1fr auto; min-height: 68px; }
    .search-form { grid-column: 1 / -1; width: 100%; margin-bottom: 12px; }
    .menu-toggle { display: grid; gap: 4px; width: 42px; height: 42px; place-content: center; border: 1px solid var(--line); border-radius: 10px; background: transparent; }
    .menu-toggle span { display: block; width: 20px; height: 2px; background: white; }
    .main-nav { display: none; }
    .main-nav.is-open { display: flex; }
    .hero-track { aspect-ratio: 4 / 3; min-height: 520px; }
    .hero-copy { top: auto; bottom: 50px; left: 28px; width: calc(100% - 56px); transform: none; }
    .hero-shade { background: linear-gradient(0deg, rgba(4, 6, 13, 0.98) 0%, rgba(4, 6, 13, 0.82) 47%, rgba(4, 6, 13, 0.1) 100%); }
    .poster-grid, .section-short .poster-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .score-showcase, .about-strip, .channel-hero, .detail-hero, .story-panel, .play-info { grid-template-columns: 1fr; }
    .about-strip { align-items: start; }
    .channel-hero aside { min-width: 0; }
    .detail-poster { width: min(280px, 70vw); }
    .rank-board { grid-template-columns: 1fr; }
    .app-panel { grid-template-columns: 1fr; }
    .app-code { width: fit-content; }
    .prose-grid, .guide-steps { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    body { font-size: 16px; }
    .brand img { width: 164px; }
    .hero { margin-top: 16px; }
    .hero-track { min-height: 500px; border-radius: 18px; }
    .hero-copy { bottom: 58px; left: 20px; width: calc(100% - 40px); }
    .hero-copy h2 { font-size: 2.45rem; }
    .hero-intro { -webkit-line-clamp: 2; }
    .hero-arrow { top: 32%; width: 38px; height: 38px; }
    .hero-actions .button { flex: 1; padding-inline: 12px; }
    .hero-dots { right: 20px; bottom: 22px; }
    .ticker > div { animation: ticker 18s linear infinite; }
    .content-section, .score-showcase, .rank-preview, .about-strip, .app-panel, .channel-list, .episode-panel, .story-panel, .stills, .type-links, .watch-shell, .play-info, .quick-picks, .rank-board, .timeline, .prose-grid, .guide-steps, .search-page { margin-top: 48px; }
    .poster-grid, .section-short .poster-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
    .poster-card:nth-child(5) { display: block; }
    .card-copy { min-height: 126px; padding: 12px; }
    .card-copy small { font-size: 0.76rem; }
    .section-movies .poster-card:nth-child(even), .section-movies .poster-card:nth-child(even):hover { transform: none; }
    .section-tv, .section-doc, .score-showcase, .rank-preview, .about-strip { padding: 22px; }
    .score-showcase { gap: 24px; }
    .score-list a { grid-template-columns: 34px 1fr auto; padding-inline: 12px; }
    .rank-preview li a { grid-template-columns: 38px 1fr auto; }
    .rank-preview li span:nth-child(3) { display: none; }
    .app-panel { padding: 26px; }
    .app-code img { width: 140px; }
    .footer-grid { grid-template-columns: 1fr; gap: 28px; }
    .filter-bar { align-items: stretch; flex-direction: column; }
    .filter-row { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
    .filter-row button { white-space: nowrap; }
    .channel-hero, .simple-hero { padding: 28px; }
    .channel-hero h1, .simple-hero h1 { font-size: 2.8rem; }
    .detail-hero { padding: 20px; }
    .detail-poster { width: min(240px, 78vw); margin-inline: auto; }
    .facts { grid-template-columns: 1fr; }
    .still-grid { grid-template-columns: 1fr; }
    .breadcrumb { overflow-x: auto; white-space: nowrap; }
    .watch-heading { align-items: start; flex-direction: column; }
    .watch-nav { grid-template-columns: 1fr; }
    .search-page form > div { flex-direction: column; }
    .search-page form .button { width: 100%; }
}

@keyframes ticker {
    from { transform: translateX(0); }
    to { transform: translateX(-60%); }
}

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