@media only screen and (max-width: 1200px) {

	.page-shell{
		grid-template-columns: minmax(0, 1fr) 420px;
		padding: 22px 24px;
	}

	h1{
		font-size: clamp(2.8rem, 5.3vw, 4.2rem);
	}

	.visual-stack{
		grid-template-columns: 1fr;
	}

	.stack-card{
		min-height: 105px;
	}
}

@media only screen and (max-width: 960px) {

	body{
		height: auto;
		min-height: 100vh;
		padding: 0;
		overflow-y: auto;
	}

	.page-shell{
		height: auto;
		min-height: 100vh;
		grid-template-columns: 1fr;
		padding: 28px 20px;
		overflow: visible;
	}

	.page-shell::before{
		inset: 10px;
	}

	.hero-panel{
		padding: 6px 0 0;
	}

	.visual-panel{
		grid-template-rows: auto auto;
	}

	.visual-card-primary{
		min-height: 320px;
	}

	.visual-stack{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.stack-card{
		min-height: 120px;
	}
}

@media only screen and (max-width: 767px) {

	.headline-wrap{
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	.brand-mark{
		width: 72px;
		height: 72px;
		border-radius: 20px;
		font-size: 1.6rem;
	}

	h1{
		max-width: none;
		font-size: clamp(2.7rem, 12vw, 4rem);
	}

	.lead{
		max-width: none;
	}

	.countdown-block{
		padding: 16px;
	}

	.countdown-footer{
		flex-direction: column;
		align-items: flex-start;
	}

	#normal-countdown .time-sec{
		width: calc(50% - 5px);
		min-height: 88px;
	}

	.visual-card-primary{
		min-height: 370px;
	}

	.visual-copy{
		left: 18px;
		right: 18px;
		bottom: 18px;
	}

	.visual-stack{
		grid-template-columns: 1fr;
	}

	.stack-card{
		min-height: 120px;
	}
}

@media only screen and (max-width: 479px) {

	.page-shell{
		padding: 22px 14px;
	}

	.domain-badge{
		font-size: 0.68rem;
		letter-spacing: 0.14em;
	}

	.countdown-label,
	.countdown-note,
	.countdown-status,
	.launch-tag,
	.stack-card span{
		letter-spacing: 0.1em;
	}

	#normal-countdown .time-sec{
		width: 100%;
	}

	.tag-row{
		gap: 8px;
	}

	.launch-tag{
		width: 100%;
	}
}
