/* Responsive layers — mobile-first refinements */
@media (max-width:1024px){
  .grid-4{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .step:nth-child(2)::after{display:none}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .split,.contact-grid{grid-template-columns:1fr}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .logo-text small{display:none}
  .nav-toggle{display:flex}
  .primary-nav{position:fixed;inset:var(--header-h) 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 40px rgba(15,25,45,.12);padding:1rem 20px 1.5rem;transform:translateY(-14px);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease;max-height:calc(100dvh - var(--header-h));overflow-y:auto}
  .primary-nav.open{opacity:1;transform:none;pointer-events:auto}
  .primary-nav ul{flex-direction:column;gap:0}
  .primary-nav li{border-bottom:1px solid var(--line)}
  .primary-nav a{display:block;padding:.95rem 0;font-size:1rem}
  .primary-nav a::after{display:none}
  .nav-cta{margin-top:1rem;width:100%}
}
@media (max-width:720px){
  .grid-2,.grid-3,.grid-4,.steps{grid-template-columns:1fr}
  .step::after{display:none!important}
  .badge-row{gap:.6rem 1.2rem}
  .badge{font-size:.82rem}
  .hero{min-height:auto}
  .hero-actions .btn{flex:1 1 100%}
  .float-call{display:inline-flex}
  .float-estimate{right:auto;left:50%;transform:translateX(-50%);bottom:88px}
  .float-estimate:hover{transform:translateX(-50%) translateY(-3px)}
  .back-to-top{bottom:24px}
  .footer-grid{grid-template-columns:1fr;gap:1.75rem}
  .footer-bottom{justify-content:center;text-align:center}
  .map-wrap iframe{height:320px}
}
@media (max-width:420px){
  .container{padding-inline:16px}
  .logo-text strong{font-size:1.15rem}
  .float-btn{font-size:.85rem;padding:.75rem 1.05rem}
}
@media print{.site-header,.float-btn,.back-to-top,.cta-band{display:none!important}}
