/* GMK Pro Service LLC — responsive.css
   Mobile first na leitura, breakpoints: 1180 / 1024 / 860 / 640 / 560 / 420.
   Travas de largura obrigatorias: nada mais largo que a viewport. */

img{max-width:100%}
.header-in>*{min-width:0}
.hero,.sec,.page-hero,.site-footer,.cta,.stats,.trust-bar,.area-grid{overflow:hidden}

@media (max-width:1180px){
  :root{--wrap:1040px}
  .nav-list a,.sub-toggle{padding:10px 10px;font-size:.875rem}
  .hero-grid{gap:40px}
  .trust-row{grid-template-columns:repeat(3,1fr);gap:24px}
}

@media (max-width:1024px){
  .nav,.header-phone{display:none}
  .burger{display:block}
  .header-in{gap:16px}
  .brand img{width:140px}
  /* Sem o nav no meio, nada empurra o grupo de acoes: o auto e que
     mantem telefone e menu encostados na direita. */
  .header-cta{margin-left:auto}
  .article{grid-template-columns:1fr;gap:40px}
  .toc{position:static}
  .mosaic{grid-template-columns:repeat(2,1fr)}
  .svc-feature{grid-column:span 2}
  .svc-wide{grid-column:span 2}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(3,1fr)}
  .trust-row{grid-template-columns:repeat(2,1fr)}
  .post-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .gal{columns:2}
  .strip{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:860px){
  /* Rodape empilhado: a logo centralizada equilibra a coluna. */
  .f-brand{text-align:center}
  .f-brand img{margin-left:auto;margin-right:auto;display:block}
  .f-social{justify-content:center}
  .sec{padding:80px 0}
  .sec-tight{padding:64px 0}
  .hero{padding:64px 0 80px}
  .hero-grid,.owner-grid,.cols-2,.contact-grid,.page-hero-grid,
  .post-feature{grid-template-columns:1fr;gap:40px}
  .hero-media{order:-1;max-width:432px;margin-inline:auto;width:100%}
  .float-card{max-width:184px}
  .fc-1{left:-8px}.fc-2{right:-8px}
  .stats-row{grid-template-columns:1fr 1fr}
  .stat{border-left:0;border-top:1px solid var(--border);padding:24px 8px}
  .stat:nth-child(-n+2){border-top:0}
  .svc-feature{flex-direction:column}
  .svc-feature .thumb{width:100%;aspect-ratio:16/10;position:relative}
  .svc-feature .body{padding:32px}
  .post-feature .body{padding:32px}
  .contact-ways{grid-template-columns:1fr 1fr}
  .car-prev{left:8px}.car-next{right:8px}
  .car-btn{width:44px;height:44px}
}

@media (max-width:640px){
  .trust-row{grid-template-columns:1fr;gap:16px}
  .glow-gold,.glow-blue{width:300px;height:300px;filter:blur(70px)}
  body{font-size:1rem}
  .wrap{padding-inline:20px}
  .sec{padding:64px 0}
  .mosaic,.why-grid,.steps,.post-grid,.cols-3,.err-cards,.strip{grid-template-columns:1fr}
  .svc-feature,.svc-wide{grid-column:span 1}
  .svc-wide{flex-direction:column;align-items:flex-start}
  .gal{columns:1}
  form{padding:24px}
  .tst-card{padding:24px}
  .tst-card blockquote{font-size:1.0625rem}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .timeline{padding-left:32px}
  .timeline li::before{left:-32px}
  .author-box{flex-direction:column;text-align:center}
}

@media (max-width:560px){
  /* Header enxuto: botao de telefone circular substitui o botao de texto. */
  :root{--header-h:112px}
  .header-in{gap:12px;min-width:0}
  .brand img{width:132px}
  .phone-round{display:flex}
  .header-cta{gap:8px}
  .burger{width:44px;height:44px}
  .phone-round{width:44px;height:44px}
  .hero-frame{border-radius:var(--r-md)}
  .corner{width:40px;height:40px}
  .contact-ways{grid-template-columns:1fr}
  .float-card{padding:12px 16px;max-width:160px}
  .float-card strong{font-size:1.25rem}
  .fc-3{display:none}
  .btn{width:100%}
  .btn-row{gap:12px}
  .hours-table th,.hours-table td{padding:12px 8px;font-size:.875rem}
}

@media (max-width:420px){
  .wrap{padding-inline:16px}
  .brand img{width:116px}
  .sec{padding:56px 0}
  .card,.why-card,.svc-card,.step{padding:24px}
  .fc-1,.fc-2{position:static;margin-top:16px;max-width:none;animation:none}
  .hero-media .float-card{box-shadow:var(--sh-2)}
}
