/* Service detail — responsive overrides for tablet (≤1100px) and phone (≤720px). */

@media (max-width: 1100px) {
	.svc-hero-grid,
	.svc-hero-grid--wide-r,
	.svc-hero-grid--xwide-r,
	.svc-split,
	.svc-split--even,
	.svc-explain-grid,
	.svc-results-grid,
	.svc-choose-grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}
	.svc-trust-strip { grid-template-columns: repeat(2, 1fr); }
	.svc-process-grid,
	.svc-formats-grid--4,
	.svc-formats-grid--5 {
		grid-template-columns: repeat(2, 1fr);
	}
	.svc-cards-3,
	.svc-cite-cards,
	.svc-principles {
		grid-template-columns: 1fr;
	}
	.svc-pricing-grid,
	.svc-included-grid,
	.svc-bigstat-pair,
	.svc-faqs,
	.svc-choose-cards {
		grid-template-columns: 1fr;
	}
	.svc-mappack { position: static; }
}

@media (max-width: 720px) {
	.svc-page section,
	.svc-page .svc-section { padding: 64px var(--ms-pad-x); }
	.svc-hero { padding: 32px var(--ms-pad-x) 56px; }
	.svc-hero-title { font-size: 52px; letter-spacing: -2px; }
	.svc-h2 { font-size: 36px; letter-spacing: -1.2px; }
	.svc-final-h { font-size: 40px; letter-spacing: -1.5px; }
	.svc-bigstat-headline { font-size: 64px; letter-spacing: -2px; }
	.svc-bigstat-headline .svc-bigstat-arrow,
	.svc-bigstat-headline .svc-bigstat-rest { font-size: 32px; }
	.svc-bigstat-num { font-size: 88px; letter-spacing: -3px; }
	.svc-choose { padding: 80px var(--ms-pad-x); }
	.svc-choose-h { font-size: 36px; letter-spacing: -1.2px; }
	.svc-trust-strip { grid-template-columns: 1fr 1fr; gap: 24px; }
	.svc-bigstat-cell { padding: 32px; }
	.svc-quote-text { font-size: 22px; }

	/* Phone badge: at narrow viewports the right:-30px offset overflows the page.
	   Pull it inside the phone wrapper so it can't push the body width past 100vw. */
	.svc-phone-wrap { overflow: hidden; }
	.svc-phone-badge { right: -10px; transform: rotate(4deg) scale(0.9); transform-origin: top right; }
}
