@media (max-width: 1280px) {
	:root {
		--dsc-container: 1080px;
	}

	.dsc-hero__title {
		letter-spacing: 0.08em;
	}
}

@media (max-width: 1024px) {
	:root {
		--dsc-header: 74px;
	}

	.dsc-header__inner {
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		min-height: 74px;
		padding: 0.4rem 0;
	}

	.dsc-nav-toggle {
		display: inline-flex;
	}

	.dsc-nav {
		position: fixed;
		inset: 74px 0 0 0;
		background: var(--dsc-navy-dark);
		transform: translateX(100%);
		transition: transform 0.3s ease;
		overflow: auto;
		padding: 1rem 1.25rem 2rem;
	}

	.dsc-nav.is-open {
		transform: none;
	}

	.dsc-nav__list {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}

	.dsc-nav__list a {
		display: block;
		padding: 0.85rem 0;
		font-size: 1.05rem;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}

	.dsc-services__grid,
	.dsc-navy__layout,
	.dsc-school__layout,
	.dsc-class-grid,
	.dsc-room-grid,
	.dsc-card-grid,
	.dsc-news__grid {
		grid-template-columns: 1fr 1fr;
	}

	.dsc-navy__copy {
		columns: 1;
	}

	.dsc-gallery__grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 768px) {
	.dsc-container {
		width: min(var(--dsc-container), calc(100% - 2rem));
	}

	.dsc-services__grid,
	.dsc-navy__layout,
	.dsc-school__layout,
	.dsc-class-grid,
	.dsc-room-grid,
	.dsc-card-grid,
	.dsc-news__grid,
	.dsc-gallery__grid {
		grid-template-columns: 1fr;
	}

	.dsc-hero {
		min-height: 70vh;
	}

	.dsc-hero__title {
		letter-spacing: 0.05em;
	}

	.dsc-feature {
		min-height: 260px;
	}

	.dsc-activities,
	.dsc-school,
	.dsc-gallery,
	.dsc-news,
	.dsc-navy,
	.dsc-hotel {
		padding: 3.2rem 0;
	}

	.dsc-school__copy .dsc-ornament {
		justify-content: center;
	}

	.dsc-school__copy {
		text-align: center;
	}

	.dsc-slider__arrow {
		width: 36px;
		height: 36px;
	}
}

@media (max-width: 480px) {
	body {
		font-size: 1rem;
	}

	.dsc-container {
		width: min(var(--dsc-container), calc(100% - 1.5rem));
	}

	.dsc-hero {
		min-height: 62vh;
	}

	.dsc-hero__title {
		letter-spacing: 0.03em;
		font-size: 1.35rem;
	}

	.dsc-hero__actions,
	.dsc-contact__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.dsc-feature__body,
	.dsc-slide__body {
		left: 1rem;
		right: 1rem;
	}

	.dsc-section-head__title {
		letter-spacing: 0.04em;
	}

	.dsc-footer__name {
		letter-spacing: 0.04em;
		font-size: 0.95rem;
	}
}

@media (max-width: 390px) {
	.dsc-logo .custom-logo,
	.dsc-mark {
		width: 48px;
		height: 48px;
	}

	.dsc-hero__title {
		font-size: 1.22rem;
	}
}
