/* RESPONSIVE – breakpoints: 1024 (tablet landscape), 768 (tablet portrait), 480 (phone). */
@media (max-width: 1024px) {
	.site-footer__grid { grid-template-columns: 1fr 1fr; }
	.film-feature { grid-template-columns: minmax(200px, 280px) 1fr; }
}

@media (max-width: 860px) {
	:root { --header-h: 68px; }
	.nav-toggle { display: block; }
	.primary-nav { position: fixed; inset: var(--header-h) 0 0 0; padding: 2rem var(--gutter); background: var(--color-bg); transform: translateX(100%); visibility: hidden; transition: transform .3s ease, visibility .3s; overflow-y: auto; }
	.primary-nav.is-open { transform: none; visibility: visible; }
	.primary-nav__list { flex-direction: column; gap: 0; }
	.primary-nav__list a { display: block; padding-block: 1rem; font-size: 1.1rem; border-bottom: 1px solid var(--color-border); }

	.newsletter__inner, .contact__grid, .studio-intro__inner:has(.studio-intro__media) { grid-template-columns: 1fr; }
	.news-item__link { grid-template-columns: 1fr; gap: .25rem; }
}

@media (max-width: 640px) {
	.site-footer__grid { grid-template-columns: 1fr; gap: 2rem; }
	.film-feature { grid-template-columns: 1fr; }
	.film-feature__poster { max-width: 320px; }
	.section-head { flex-direction: column; align-items: flex-start; }
	.hero { min-height: 78vh; }
	.hero__controls { bottom: 1rem; }
	.topbar__inner { justify-content: center; }
	.site-footer__bottom-inner { flex-direction: column; }
}

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