/* ----------------------------------------------------------------------
   responsive.css — breakpoint overrides (768 / 1024 / 1280)
---------------------------------------------------------------------- */

/* Mobile tightening */
@media (max-width: 767px) {
	body { padding-top: 60px; } /* main-row only, top-row collapsed */

	.section { padding: var(--s-64) 0; }
	.section + .section { padding-top: var(--s-48); }
	.section--special { padding: var(--s-48) 0; }

	.hero { padding: var(--s-80) 0 var(--s-56); }
	.hero__plate-inner img { aspect-ratio: 4/3; }
	.hero__ornament { margin-top: var(--s-48); }

	h1 { font-size: clamp(2.25rem, 8vw, 2.75rem); }
	h2 { font-size: clamp(1.625rem, 5.5vw, 2rem); }

	.card {
		padding: var(--s-24) var(--s-20, var(--s-24)) var(--s-20, var(--s-24)) var(--s-32);
	}
	.card::before { left: var(--s-12); top: var(--s-24); bottom: var(--s-20, var(--s-16)); }

	.filter-bar { gap: var(--s-4); }
	.filter-btn { padding: var(--s-8) var(--s-12); font-size: 0.75rem; }

	.tabs { gap: var(--s-16); }
	.tab { padding: var(--s-12) 0; font-size: 0.875rem; }

	.footer__inner { padding: var(--s-48) var(--s-16) var(--s-32); }
	.footer__cols { margin-bottom: var(--s-40); gap: var(--s-32); }

	.pull-quote { font-size: 1.25rem; }
	.ornament { margin: var(--s-40) auto; }
	.rule-paired { margin: var(--s-40) 0; }

	.hero__ctas { gap: var(--s-12); }
	.hero__ctas .btn { flex: 1 1 100%; }
}

/* Tablet adjustments */
@media (min-width: 768px) and (max-width: 1023px) {
	body { padding-top: 60px; } /* top-row still hidden until desktop */

	.footer__inner { padding: var(--s-64) var(--s-24) var(--s-40); }
}

/* Wide-screen fine-tuning */
@media (min-width: 1280px) {
	.container,
	.hero__inner,
	.footer__inner { padding-left: 0; padding-right: 0; }
}

/* Accessibility: reduce motion */
@media (prefers-reduced-motion: reduce) {
	* {
		transition-duration: 0ms !important;
		animation-duration: 0ms !important;
	}
	.card:hover::before { width: 3px; }
}
