/* Responsive refinements */

@media (max-width: 900px) {
	.breadcrumb {
		display: flex;
		flex-wrap: wrap;
		gap: 0.35rem;
		align-items: center;
	}

	.divisions-grid,
	.program-grid,
	.admissions-grid,
	.visit-grid,
	.footer-grid {
		grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
		gap: var(--spacing-lg);
	}
}

@media (max-width: 768px) {
	.page-header {
		text-align: center;
	}

	.page-header .brand-lockup {
		justify-content: center;
	}

	.page-header .page-subtitle {
		margin: 0 auto;
		max-width: 28rem;
	}

	.home-button {
		left: var(--spacing-sm);
	}

	.section-title {
		margin-bottom: var(--spacing-lg);
	}

	.division-card {
		min-height: auto;
	}

	.card-3d-content {
		gap: var(--spacing-sm);
	}

	.hero-logo img {
		width: 90vw;
		max-width: 520px;
	}

	.btn-primary,
	.btn-secondary,
	.primary-cta,
	.secondary-cta {
		width: 100%;
		justify-content: center;
	}

	.hero,
	.divisions-overview,
	.content-section,
	.kids-section,
	.pre-category-intro {
		padding: var(--spacing-lg) 0;
	}

	.hero-subtitle,
	.page-subtitle {
		max-width: 90vw;
		margin: 0 auto;
	}

	.main-footer {
		padding: var(--spacing-lg) 0 var(--spacing-md);
	}

	.footer-grid {
		grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
		gap: var(--spacing-md);
	}

	.kids-hero {
		padding: 4rem 0 2.5rem;
	}

	.kids-hero-grid {
		grid-template-columns: 1fr;
		gap: var(--spacing-md);
	}

	.hero-left,
	.playful-orbit {
		padding: 1.25rem;
	}

	.hero-cta,
	.cta-stack {
		flex-direction: column;
		align-items: stretch;
	}

	.btn-blob {
		width: 100%;
		justify-content: center;
	}

	.program-grid,
	.admissions-grid,
	.visit-grid {
		grid-template-columns: 1fr;
		gap: var(--spacing-md);
	}

	.address-box {
		margin-top: 0.75rem;
	}
}

@media (max-width: 540px) {
	.cta-row {
		flex-direction: column;
		align-items: stretch;
	}

	.pill-list {
		width: 100%;
	}

	.container {
		padding: 0 var(--spacing-sm);
	}

	.section-title {
		text-align: center;
	}

	h1 {
		font-size: clamp(2rem, 9vw, 2.6rem);
	}

	h2 {
		font-size: clamp(1.6rem, 8vw, 2.1rem);
	}

	h3 {
		font-size: clamp(1.25rem, 6.5vw, 1.6rem);
	}

	.hero,
	.divisions-overview,
	.content-section,
	.kids-section,
	.pre-category-intro {
		padding: var(--spacing-md) 0;
	}

	.division-card,
	.kids-hero .hero-left,
	.kids-section .info-card,
	.program-card {
		padding: 0.95rem;
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
		border-radius: 14px;
	}

	.main-footer {
		padding: var(--spacing-md) 0 var(--spacing-sm);
	}

	.footer-card {
		padding: var(--spacing-sm);
	}

	.hero-left h1,
	.kids-title {
		font-size: clamp(2.1rem, 9vw, 2.6rem);
	}

	.hero-subtitle,
	.page-subtitle,
	.lead,
	p {
		line-height: 1.6;
	}

	.btn-blob,
	.btn-primary,
	.btn-secondary,
	.primary-cta,
	.secondary-cta {
		padding: 0.85rem 1.2rem;
	}
}
