/**
 * Forged Warrior — responsive.css
 * RULE 11: This file contains ONLY @media blocks. No standalone rules.
 * Loaded after main.css.
 */

/* ============ TABLET / SMALL DESKTOP — 1024px ============ */
@media (max-width: 1024px) {
	.about::before { font-size: 22rem; right: -2rem; }
	.proof__grid { gap: 1.25rem; }
	.stack__item { grid-template-columns: 50px 1fr 150px; gap: 1.5rem; }
}

/* ============ TABLET — 900px ============ */
@media (max-width: 900px) {
	.hero { padding: 6.25rem 0 2.5rem; }
	.hero__grid { grid-template-columns: 1fr; gap: 2rem; }
	.hero__visual { margin: 0 auto; max-width: 380px; }

	.problem__grid { grid-template-columns: 1fr; gap: 2rem; }
	.problem__photo { max-width: 320px; justify-self: start; }

	.about::before { font-size: 17.5rem; right: -1.875rem; }
	.about__grid { grid-template-columns: 1fr; gap: 2.5rem; }
	.about__stats { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }

	.proof { padding: 4.375rem 0; }
	.proof__grid { grid-template-columns: 1fr; gap: 1.25rem; }

	.tiers__grid { grid-template-columns: 1fr; gap: 1.25rem; }

	.guarantee__grid { grid-template-columns: 1fr; gap: 1rem; }
}

/* ============ MOBILE — 768px ============ */
@media (max-width: 768px) {
	.topbar { padding: 0.625rem 1rem; }
	.topbar__brand { font-size: 1rem; gap: 0.5rem; }
	.topbar__brand-sub { display: none; }
	.topbar__cta { padding: 0.625rem 0.875rem; font-size: 0.6875rem; }

	.ripped__row { grid-template-columns: 80px 1fr; gap: 1rem; padding: 1rem 0; }

	.stack__item {
		grid-template-columns: 1fr;
		gap: 0.75rem;
		padding: 1.5rem 0;
	}
	.stack__item:hover { padding-left: 0; }
	.stack__item-num { padding-top: 0; }
	.stack__item-value { text-align: left; padding-top: 0; }

	.stack__total { padding: 2rem; }
	.stack__total-grid { grid-template-columns: 1fr; gap: 1.5rem; }

	.footer__grid { grid-template-columns: 1fr; gap: 2rem; }

	.mobile-cta { display: block; }
	body { padding-bottom: 4rem; } /* breathing room above mobile CTA */
}

/* ============ SMALL MOBILE — 640px ============ */
@media (max-width: 640px) {
	.proof__head { text-align: left; max-width: 100%; }
	.proof__head .section-tag { justify-content: flex-start; }
	.proof__head .section-tag::before { display: block; }
	.proof__head .body-text { margin-left: 0; margin-right: 0; }
	.proof__pair { padding: 1.25rem; }
	.proof__compare {
		grid-template-columns: 1fr;
		gap: 0.875rem;
		justify-items: stretch;
	}
	.proof__arrow {
		transform: rotate(90deg);
		justify-self: center;
		font-size: 2rem;
	}
	.proof__shot-img { aspect-ratio: 4/5; }
}

/* ============ EXTRA SMALL — 540px ============ */
@media (max-width: 540px) {
	.stack__feature-row { grid-template-columns: 1fr; gap: 1.25rem; margin-bottom: 2.5rem; }
	.stack__card { grid-template-columns: 1fr; gap: 1rem; }
	.stack__card-img { max-width: 240px; margin: 0; }

	.moment__qr { display: none; }
	.moment__check-value { display: block; margin-left: 0; margin-top: 0.25rem; }
}

/* ============ LARGE SCREENS — 1440px+ ============ */
@media (min-width: 1440px) {
	.hero__grid { gap: 4rem; }
	.about__grid { gap: 5rem; }
}
