/* ==========================================================================
   SEO Agency Pro — Responsive Breakpoints
   Desktop-first overrides. Tested targets: 1440 / 1280 / 1024 / 768 / 480 / 375
   ========================================================================== */

/* ---- ≤1280px : laptop ---- */
@media (max-width: 1280px) {
	:root { --sap-container: 1080px; --sap-section-space: 5.5rem; }
	.sap-why__grid { grid-template-columns: repeat(3, 1fr); }
	.sap-process__timeline { grid-template-columns: repeat(3, 1fr); }
	.sap-process__step:not(:last-child)::after { display: none; }
}

/* ---- ≤1024px : tablet ---- */
@media (max-width: 1024px) {
	:root { --sap-section-space: 4.5rem; }

	.sap-header__nav { display: none; }
	.sap-menu-toggle { display: flex; flex-shrink: 0; }
	.sap-header__phone span { display: none; }
	.sap-header__phone { padding: .5rem; }
	.custom-logo { max-height: 36px; max-width: 180px; object-fit: contain; }

	.sap-hero__inner { grid-template-columns: 1fr; text-align: center; }
	.sap-hero__text { margin-left: auto; margin-right: auto; }
	.sap-hero__actions { justify-content: center; }
	.sap-hero__visual { margin-top: 3rem; min-height: 0; justify-content: center; }
	.sap-hero__frame { max-width: 340px; }
	.sap-hero__frame-badge { left: 0; }
	.sap-hero__frame-tag { right: .5rem; }

	.sap-about__grid { grid-template-columns: 1fr; gap: 2.5rem; }
	.sap-why2__grid { grid-template-columns: 1fr; gap: 3rem; }
	.sap-why2__dash { width: 46%; }
	.sap-faq__grid { grid-template-columns: 1fr; gap: 2rem; }
	.sap-faq__intro { position: static; }
	.sap-why__grid { grid-template-columns: repeat(2, 1fr); }
	.sap-premium__grid { grid-template-columns: repeat(2, 1fr); }
	.sap-cases__grid { grid-template-columns: repeat(2, 1fr); }
	.sap-process__timeline { grid-template-columns: repeat(2, 1fr); }
	.sap-process__step:not(:last-child)::after { display: none; }
	.sap-testimonial-row { grid-template-columns: repeat(2, 1fr); }
	.sap-counters__grid { grid-template-columns: repeat(2, 1fr); gap: 2.5rem; }
	.sap-pricing__grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
	.sap-pricing-card--highlight { transform: none; }

	.sap-blog-layout.has-sidebar { grid-template-columns: 1fr; }
	.has-sidebar .sap-post-grid { grid-template-columns: repeat(2, 1fr); }
	.sap-post-grid { grid-template-columns: repeat(2, 1fr); }

	.sap-service-layout { grid-template-columns: 1fr; }
	.sap-service-hero__watermark { width: 240px; height: 240px; right: -8%; }
	.sap-contact__info-grid { grid-template-columns: repeat(2, 1fr); }
	.sap-contact__layout { grid-template-columns: 1fr; }
	.sap-mission__grid { grid-template-columns: 1fr; }
	.sap-values__grid { grid-template-columns: repeat(2, 1fr); }

	.sap-services-row { grid-template-columns: 3.5rem 2.75rem 1fr auto; gap: 1.25rem; padding: 1.5rem 1.5rem; }
	.sap-services-row__text { -webkit-line-clamp: 2; }

	.sap-footer__main { grid-template-columns: 1fr 1fr; }
}

/* ---- ≤768px : large mobile / small tablet ---- */
@media (max-width: 768px) {
	.sap-hero { padding-top: calc(var(--sap-header-height) + 2rem); }
	.sap-why__grid { grid-template-columns: 1fr; }
	.sap-cases__grid { grid-template-columns: 1fr; }
	.sap-process__timeline { grid-template-columns: 1fr; }
	.sap-values__grid { grid-template-columns: 1fr; }

	.sap-premium__grid { grid-template-columns: 1fr; }
	.sap-loc-points__grid { grid-template-columns: 1fr; }

	.sap-services-row { grid-template-columns: 2.75rem 1fr auto; padding: 1.5rem 1.25rem; gap: 1rem; }
	.sap-services-row__num { display: none; }
	.sap-services-row__text { -webkit-line-clamp: 2; }
	.sap-services-row:hover { padding-left: 1.25rem; }

	.sap-testimonial-row { grid-template-columns: 1fr; }
	.sap-counters__grid { grid-template-columns: 1fr 1fr; }
	.sap-post-grid, .has-sidebar .sap-post-grid { grid-template-columns: 1fr; }
	.sap-contact__info-grid { grid-template-columns: 1fr; }
	.sap-service-capstrip__inner { flex-direction: column; align-items: flex-start; }
	.sap-service-hero__watermark { display: none; }
	.sap-footer__main { grid-template-columns: 1fr; gap: 2.5rem; }
	.sap-footer__cta { flex-direction: column; align-items: flex-start; text-align: left; }
	.sap-footer__bottom-inner { flex-direction: column; text-align: center; }
	.sap-article__footer { flex-direction: column; align-items: flex-start; }
	.sap-post-nav { flex-direction: column; }
}

/* ---- ≤480px : mobile ---- */
@media (max-width: 480px) {
	.sap-container { padding: 0 1.25rem; }
	h1 { font-size: 2rem; }
	h2 { font-size: 1.6rem; }
	.sap-logo-text { font-size: 1.05rem; }
	.custom-logo { max-height: 30px; max-width: 130px; object-fit: contain; }
	.sap-header__actions { gap: .6rem; }
	.sap-header__actions .sap-btn--sm { padding: .6rem .9rem; font-size: .85rem; }
	.sap-hero__actions { flex-direction: column; width: 100%; }
	.sap-hero__actions .sap-btn { width: 100%; }
	.sap-hero__frame { max-width: 280px; }
	.sap-hero__frame-border { inset: 14px -14px -14px 14px; }
	.sap-hero__frame-tag { top: 1.1rem; padding: .45rem .85rem; font-size: .7rem; }
	.sap-hero__frame-badge { padding: .8rem 1.05rem; gap: .65rem; bottom: 1.25rem; }
	.sap-hero__frame-badge-icon { width: 38px; height: 38px; }
	.sap-hero__frame-badge-title { font-size: .85rem; }
	.sap-hero__frame-badge-sub { font-size: .72rem; }
	.sap-counters__grid { grid-template-columns: 1fr; }
	.sap-404__actions { flex-direction: column; }
	.sap-404__actions .sap-btn { width: 100%; }
	.sap-trust__logos { gap: 1.75rem; }
	.sap-why2__stat { right: 0; top: -1rem; padding: .8rem 1.1rem; }
	.sap-why2__dash { width: 60%; right: .5rem; bottom: -1.5rem; }
	.sap-float-stack { left: 1rem; bottom: 1rem; }
	.sap-float-cta { padding: .85rem; }
	.sap-float-btn { width: 46px; height: 46px; }
	.sap-float-btn svg { width: 22px; height: 22px; }
	.sap-back-to-top { right: 1rem; bottom: 1rem; width: 40px; height: 40px; }
}

/* ---- ≤375px : small phones ---- */
@media (max-width: 375px) {
	.sap-eyebrow { font-size: .72rem; }
	.sap-hero__frame { max-width: 240px; }
	.sap-testimonial-card { padding: 1.75rem; }
	.sap-pricing-card { padding: 1.75rem; }
}

/* Reduce motion-heavy visuals on small screens to protect performance. */
@media (max-width: 600px) {
	.sap-hero__blob { filter: blur(36px); }
	.sap-float { animation-duration: 7s; }
}
