/* ==========================================================================
   Atacadão Garden — design system
   Cores extraídas do logotipo: azul #35639A · laranja #FF7900
   ========================================================================== */

:root {
  --blue-900:#132a44; --blue-800:#1c3d61; --blue-700:#264f7c;
  --blue-600:#35639A; --blue-500:#4479b4; --blue-300:#8fb0d3;
  --blue-100:#dde8f4; --blue-50:#f1f6fb;

  --orange-700:#c25c00; --orange-600:#e66d00; --orange-500:#FF7900;
  --orange-300:#ffb066; --orange-100:#ffe8d1; --orange-50:#fff5eb;

  --green-600:#2f7a4f; --green-50:#eef7f1;

  --ink:#16202b; --ink-2:#41525f; --ink-3:#6b7c8a;
  --line:#e2e8ee; --line-2:#eef2f6;
  --bg:#ffffff; --bg-2:#f7f9fb;

  --wrap:1180px;
  --r-sm:8px; --r:14px; --r-lg:22px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(19,42,68,.06), 0 2px 8px rgba(19,42,68,.05);
  --sh-2:0 4px 14px rgba(19,42,68,.09), 0 12px 32px rgba(19,42,68,.07);
  --sh-3:0 18px 50px rgba(19,42,68,.16);
  --ease:cubic-bezier(.22,.61,.36,1);
  --font:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{
  margin:0; font-family:var(--font); color:var(--ink); background:var(--bg);
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--blue-600); text-decoration:none}
a:hover{color:var(--orange-500)}
h1,h2,h3,h4{margin:0 0 .5em; line-height:1.18; letter-spacing:-.02em; color:var(--blue-900); font-weight:800}
h1{font-size:clamp(2rem,1.3rem + 2.9vw,3.35rem)}
h2{font-size:clamp(1.55rem,1.15rem + 1.5vw,2.3rem)}
h3{font-size:clamp(1.12rem,1rem + .45vw,1.35rem); font-weight:700}
p{margin:0 0 1.1em}
ul,ol{margin:0 0 1.1em; padding-left:1.15em}
li{margin-bottom:.4em}
strong{font-weight:700; color:var(--blue-900)}
hr{border:0; border-top:1px solid var(--line); margin:2.5rem 0}
:focus-visible{outline:3px solid var(--orange-500); outline-offset:3px; border-radius:4px}

.wrap{width:100%; max-width:var(--wrap); margin:0 auto; padding:0 22px}
.skip-link{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--blue-900); color:#fff; padding:12px 20px; border-radius:0 0 var(--r-sm) 0;
}
.skip-link:focus{left:0; color:#fff}

.ico{width:1em; height:1em; fill:currentColor; flex:0 0 auto}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55em;
  font:inherit; font-weight:700; line-height:1.2; cursor:pointer;
  padding:.85em 1.5em; border-radius:var(--r-pill); border:2px solid transparent;
  transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease), color .18s var(--ease);
  text-align:center; white-space:nowrap;
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-lg{padding:1em 1.9em; font-size:1.05rem}
.btn-primary{background:var(--blue-600); color:#fff; box-shadow:var(--sh-1)}
.btn-primary:hover{background:var(--blue-700); color:#fff; box-shadow:var(--sh-2)}
.btn-wa{background:var(--orange-500); color:#fff; box-shadow:0 4px 14px rgba(255,121,0,.32)}
.btn-wa:hover{background:var(--orange-600); color:#fff; box-shadow:0 10px 26px rgba(255,121,0,.4)}
.btn-ghost{background:transparent; color:var(--blue-600); border-color:var(--blue-100)}
.btn-ghost:hover{background:var(--blue-50); color:var(--blue-700); border-color:var(--blue-300)}
.btn-ghost-light{background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.45)}
.btn-ghost-light:hover{background:#fff; color:var(--blue-800); border-color:#fff}

/* ---------- Topbar ---------- */
.topbar{background:var(--blue-900); color:#c9d9e9; font-size:.82rem}
.topbar-inner{display:flex; flex-wrap:wrap; gap:.4rem 1.6rem; align-items:center; min-height:40px; padding-block:.4rem}
.topbar-item{display:inline-flex; align-items:center; gap:.45em}
.topbar-link{color:#c9d9e9; margin-left:auto}
.topbar-link:hover{color:var(--orange-300)}

/* ---------- Header ---------- */
.site-header{position:sticky; top:0; z-index:100; background:rgba(255,255,255,.94); backdrop-filter:saturate(180%) blur(12px); border-bottom:1px solid var(--line); box-shadow:0 1px 0 rgba(19,42,68,.03)}
.header-inner{display:flex; align-items:center; gap:1.5rem; min-height:82px}
.brand img{width:190px; height:auto}
.nav{margin-left:auto; display:flex; align-items:center; gap:1.7rem}
.nav ul{display:flex; align-items:center; gap:1.55rem; list-style:none; margin:0; padding:0}
.nav li{margin:0}
.nav a{color:var(--blue-800); font-weight:600; font-size:.94rem; position:relative; padding-block:.35rem}
.nav a::after{content:""; position:absolute; left:0; right:100%; bottom:0; height:2.5px; background:var(--orange-500); border-radius:2px; transition:right .25s var(--ease)}
.nav a:hover::after, .nav a[aria-current="page"]::after{right:0}
.nav a[aria-current="page"]{color:var(--blue-600)}
.nav-cta{font-size:.9rem; padding:.7em 1.25em}
.nav-toggle{display:none; margin-left:auto; flex-direction:column; justify-content:center; gap:5px; width:46px; height:42px; background:var(--blue-50); border:1px solid var(--line); border-radius:var(--r-sm); cursor:pointer}
.nav-toggle span{display:block; height:2.5px; width:22px; margin:0 auto; background:var(--blue-700); border-radius:2px; transition:.2s var(--ease)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ---------- Breadcrumb ---------- */
.breadcrumb{background:var(--bg-2); border-bottom:1px solid var(--line-2); font-size:.85rem}
.breadcrumb ol{display:flex; flex-wrap:wrap; gap:.5rem; list-style:none; margin:0; padding:.8rem 0}
.breadcrumb li{margin:0; display:flex; align-items:center; gap:.5rem; color:var(--ink-3)}
.breadcrumb li+li::before{content:"/"; color:var(--blue-300)}
.breadcrumb a{color:var(--ink-2)}
.breadcrumb a:hover{color:var(--orange-500)}
.breadcrumb [aria-current]{color:var(--blue-900); font-weight:600}

/* ---------- Seções ---------- */
.section{padding:clamp(3rem,2rem + 4vw,5.5rem) 0}
.section-alt{background:var(--bg-2)}
.section-head{max-width:760px; margin-bottom:2.6rem}
.section-head.center{margin-inline:auto; text-align:center}
.section-head p{color:var(--ink-2); font-size:1.06rem; margin-bottom:0}
.eyebrow{
  display:inline-flex; align-items:center; gap:.5em; font-size:.76rem; font-weight:800;
  letter-spacing:.13em; text-transform:uppercase; color:var(--orange-600);
  background:var(--orange-50); border:1px solid var(--orange-100);
  padding:.45em 1em; border-radius:var(--r-pill); margin-bottom:1.1rem;
}
.lead{font-size:1.15rem; color:var(--ink-2)}

/* ---------- Hero ---------- */
.hero{
  position:relative; overflow:hidden; color:#fff;
  background:
    radial-gradient(1100px 520px at 12% -10%, rgba(255,121,0,.28), transparent 62%),
    radial-gradient(900px 520px at 92% 8%, rgba(68,121,180,.55), transparent 60%),
    linear-gradient(155deg, var(--blue-800) 0%, var(--blue-900) 58%, #0d1e33 100%);
}
.hero::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.09) 1px, transparent 1px);
  background-size:26px 26px; mask-image:linear-gradient(to bottom, #000, transparent 78%);
}
.hero-inner{position:relative; z-index:1; display:grid; grid-template-columns:1.12fr .88fr; gap:3.4rem; align-items:center; padding:clamp(3rem,2rem + 4.5vw,5.6rem) 0}
.hero h1{color:#fff; margin-bottom:1rem; text-wrap:balance}
.hero h1 .hl{color:var(--orange-300)}
.hero .eyebrow{color:#fff; background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.25)}
.hero-sub{font-size:1.16rem; color:#d3e1f0; max-width:46ch; margin-bottom:1.9rem}
.hero-actions{display:flex; flex-wrap:wrap; gap:.9rem; margin-bottom:2.2rem}
.hero-facts{display:flex; flex-wrap:wrap; gap:.55rem}
.fact{display:inline-flex; align-items:center; gap:.5em; font-size:.87rem; font-weight:600; color:#eaf1f8; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); padding:.5em 1em; border-radius:var(--r-pill); backdrop-filter:blur(4px)}
.fact svg{fill:var(--orange-300)}

/* Cartão “resposta direta” — bloco pensado para AEO/IA */
.answer-card{background:#fff; color:var(--ink); border-radius:var(--r-lg); padding:1.9rem; box-shadow:var(--sh-3); border-top:5px solid var(--orange-500)}
.answer-card h2{font-size:1.16rem; margin-bottom:.9rem; display:flex; align-items:center; gap:.55rem}
.answer-card h2 svg{fill:var(--orange-500); width:1.15em; height:1.15em}
.answer-card p{font-size:.99rem; color:var(--ink-2); margin-bottom:1.1rem}
.answer-card dl{margin:0; display:grid; gap:.7rem}
.answer-card .row{display:grid; grid-template-columns:112px 1fr; gap:.75rem; font-size:.92rem; padding-bottom:.7rem; border-bottom:1px dashed var(--line)}
.answer-card .row:last-child{border-bottom:0; padding-bottom:0}
.answer-card dt{font-weight:700; color:var(--blue-700)}
.answer-card dd{margin:0; color:var(--ink-2)}

/* ---------- Grids e cards ---------- */
.grid{display:grid; gap:1.5rem}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

.card{background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:1.7rem; box-shadow:var(--sh-1); transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease); height:100%}
.card:hover{transform:translateY(-4px); box-shadow:var(--sh-2); border-color:var(--blue-100)}
.card h3{margin-bottom:.5rem}
.card p{color:var(--ink-2); font-size:.96rem; margin-bottom:1rem}
.card p:last-child{margin-bottom:0}
.card-icon{width:52px; height:52px; border-radius:14px; display:grid; place-items:center; margin-bottom:1.1rem; background:var(--blue-50); color:var(--blue-600); border:1px solid var(--blue-100)}
.card-icon svg{width:26px; height:26px; fill:currentColor}
.card-icon.orange{background:var(--orange-50); color:var(--orange-600); border-color:var(--orange-100)}
.card-icon.green{background:var(--green-50); color:var(--green-600); border-color:#d3e8db}
.card-link{font-weight:700; font-size:.94rem; display:inline-flex; align-items:center; gap:.4em}
.card-link::after{content:"→"; transition:transform .2s var(--ease)}
.card-link:hover::after{transform:translateX(4px)}

/* Card de produto com “imagem” em gradiente (troque por foto real) */
.prod-card{display:flex; flex-direction:column; overflow:hidden; padding:0}
.prod-media{aspect-ratio:4/3; display:grid; place-items:center; position:relative; overflow:hidden; background:linear-gradient(140deg,var(--blue-50),var(--blue-100))}
.prod-media img{width:100%; height:100%; object-fit:cover}
.prod-media svg{width:38%; height:auto; fill:var(--blue-300); opacity:.85}
.prod-media.pinus{background:linear-gradient(140deg,#f3e7d8,#e0c9ad)}
.prod-media.pinus svg{fill:#a97f52}
.prod-media.espuma{background:linear-gradient(140deg,var(--green-50),#cfe6d8)}
.prod-media.espuma svg{fill:#63a37e}
.prod-body{padding:1.5rem; display:flex; flex-direction:column; flex:1}
.prod-body h3{margin-bottom:.45rem}
.prod-body p{flex:1}
.tag{display:inline-block; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--blue-700); background:var(--blue-50); border:1px solid var(--blue-100); padding:.3em .75em; border-radius:var(--r-pill); margin-bottom:.75rem}

/* ---------- Marcas ---------- */
.brand-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:1.1rem}
.brand-chip{display:flex; flex-direction:column; gap:.35rem; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:1.25rem 1.35rem; box-shadow:var(--sh-1); transition:transform .2s var(--ease), box-shadow .2s var(--ease)}
.brand-chip:hover{transform:translateY(-3px); box-shadow:var(--sh-2)}
.brand-chip strong{font-size:1.06rem; color:var(--blue-800)}
.brand-chip span{font-size:.88rem; color:var(--ink-3); line-height:1.5}

/* ---------- Tabelas de especificação ---------- */
.table-wrap{overflow-x:auto; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-1); background:#fff; margin-bottom:1.6rem}
table{width:100%; border-collapse:collapse; font-size:.94rem; min-width:520px}
caption{text-align:left; padding:1.1rem 1.25rem .3rem; font-weight:700; color:var(--blue-900)}
th,td{padding:.9rem 1.25rem; text-align:left; border-bottom:1px solid var(--line-2); vertical-align:top}
thead th{background:var(--blue-50); color:var(--blue-800); font-weight:700; font-size:.86rem; letter-spacing:.02em; border-bottom:1px solid var(--blue-100); white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--bg-2)}
td strong{color:var(--blue-800)}

/* ---------- Listas de checagem ---------- */
.check-list{list-style:none; padding:0; margin:0 0 1.4rem}
.check-list li{position:relative; padding-left:2rem; margin-bottom:.85rem; color:var(--ink-2)}
.check-list li::before{
  content:""; position:absolute; left:0; top:.36em; width:1.15rem; height:1.15rem; border-radius:50%;
  background:var(--orange-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FF7900'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/.8rem no-repeat;
  border:1px solid var(--orange-100);
}

/* ---------- Prosa ---------- */
.prose{max-width:none}
.prose h2{margin-top:2.6rem}
.prose h3{margin-top:1.9rem}
.prose > *:first-child{margin-top:0}
.prose p, .prose li{color:var(--ink-2)}
.layout-2col{display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:3.2rem; align-items:start}
.aside-sticky{position:sticky; top:104px; display:grid; gap:1.2rem}
.aside-box{background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r); padding:1.5rem}
.aside-box h3{font-size:1.04rem; margin-bottom:.7rem}
.aside-box p, .aside-box li{font-size:.92rem; color:var(--ink-2)}
.aside-box .btn{width:100%; margin-top:.4rem}
.aside-box ul{padding-left:1.1em; margin-bottom:0}

.callout{background:var(--blue-50); border-left:4px solid var(--blue-600); border-radius:0 var(--r-sm) var(--r-sm) 0; padding:1.3rem 1.5rem; margin:1.8rem 0}
.callout p:last-child{margin-bottom:0}
.callout.orange{background:var(--orange-50); border-left-color:var(--orange-500)}

/* ---------- Passos ---------- */
.steps{counter-reset:s; list-style:none; padding:0; display:grid; gap:1.3rem}
.steps li{counter-increment:s; position:relative; padding-left:3.7rem; margin:0}
.steps li::before{
  content:counter(s); position:absolute; left:0; top:-.15em; width:2.6rem; height:2.6rem; border-radius:50%;
  display:grid; place-items:center; font-weight:800; font-size:1.05rem;
  background:var(--blue-600); color:#fff; box-shadow:0 4px 12px rgba(53,99,154,.3);
}
.steps h3{margin-bottom:.3rem; font-size:1.08rem}
.steps p{margin-bottom:0; color:var(--ink-2); font-size:.96rem}

/* ---------- FAQ ---------- */
.faq{padding:clamp(3rem,2rem + 4vw,5rem) 0}
.faq > h2{max-width:760px}
.faq-list{display:grid; gap:.9rem; margin-top:2rem}
.faq-item{background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-1); overflow:hidden; transition:border-color .2s var(--ease), box-shadow .2s var(--ease)}
.faq-item[open]{border-color:var(--blue-100); box-shadow:var(--sh-2)}
.faq-item summary{cursor:pointer; padding:1.25rem 3.3rem 1.25rem 1.5rem; position:relative; list-style:none; display:block}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary h3{margin:0; font-size:1.04rem; color:var(--blue-800); font-weight:700; line-height:1.45}
.faq-item summary::after{
  content:""; position:absolute; right:1.5rem; top:1.5rem; width:.68rem; height:.68rem;
  border-right:2.5px solid var(--orange-500); border-bottom:2.5px solid var(--orange-500);
  transform:rotate(45deg); transition:transform .25s var(--ease);
}
.faq-item[open] summary::after{transform:rotate(-135deg)}
.faq-item summary:hover h3{color:var(--orange-600)}
.faq-answer{padding:0 1.5rem 1.4rem}
.faq-answer p{margin:0; color:var(--ink-2); font-size:.98rem}

/* ---------- Mapa / contato ---------- */
.map-embed{border-radius:var(--r); overflow:hidden; border:1px solid var(--line); box-shadow:var(--sh-1); background:var(--bg-2)}
.map-embed iframe{display:block; width:100%; height:420px; border:0}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:start}
.info-list{list-style:none; padding:0; margin:0; display:grid; gap:1.3rem}
.info-list li{display:flex; gap:1rem; align-items:flex-start; margin:0}
.info-ico{width:44px; height:44px; flex:0 0 auto; border-radius:12px; display:grid; place-items:center; background:var(--blue-50); color:var(--blue-600); border:1px solid var(--blue-100)}
.info-ico svg{width:21px; height:21px; fill:currentColor}
.info-list strong{display:block; margin-bottom:.15rem; color:var(--blue-900)}
.info-list span, .info-list address{font-style:normal; color:var(--ink-2); font-size:.96rem; line-height:1.55}

/* ---------- Faixa de CTA ---------- */
.cta-band{background:linear-gradient(135deg,var(--blue-700),var(--blue-900) 70%); color:#fff; position:relative; overflow:hidden}
.cta-band::before{content:""; position:absolute; width:520px; height:520px; right:-140px; top:-220px; border-radius:50%; background:radial-gradient(circle,rgba(255,121,0,.32),transparent 68%)}
.cta-band-inner{position:relative; z-index:1; display:grid; grid-template-columns:1.35fr auto; gap:2.5rem; align-items:center; padding:clamp(2.6rem,2rem + 2.4vw,3.8rem) 0}
.cta-band h2{color:#fff; margin-bottom:.5rem}
.cta-band p{color:#cfdeee; margin:0; max-width:60ch}
.cta-band-actions{display:flex; flex-wrap:wrap; gap:.9rem}

/* ---------- Footer ---------- */
.site-footer{background:var(--blue-900); color:#a9c0d6; font-size:.94rem; padding-top:clamp(2.8rem,2rem + 2.4vw,4rem)}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.25fr; gap:2.5rem; padding-bottom:2.8rem}
.footer-col h3{color:#fff; font-size:1rem; margin-bottom:1.1rem; font-weight:700}
.footer-col ul{list-style:none; padding:0; margin:0}
.footer-col li{margin-bottom:.6rem}
.footer-col a{color:#a9c0d6}
.footer-col a:hover{color:var(--orange-300)}
.footer-brand img{width:180px; background:#fff; padding:.55rem .8rem; border-radius:var(--r-sm); margin-bottom:1.1rem}
.footer-brand p{color:#a9c0d6}
.social{display:inline-flex; align-items:center; gap:.5em; font-weight:600; color:#fff}
.social:hover{color:var(--orange-300)}
.site-footer address{font-style:normal; line-height:1.65}
.site-footer address strong{color:#fff}
.footer-hours strong{color:#fff}
.footer-phone{font-weight:800; font-size:1.12rem; color:#fff}
.footer-phone:hover{color:var(--orange-300)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); padding:1.5rem 0; display:flex; flex-wrap:wrap; gap:.4rem 2rem; justify-content:space-between; font-size:.85rem}
.footer-bottom p{margin:0}
.footer-note{color:#7f9ab4}

/* ---------- Botão flutuante ---------- */
.wa-float{
  position:fixed; right:18px; bottom:18px; z-index:120;
  display:inline-flex; align-items:center; gap:.55em;
  background:#25D366; color:#fff; font-weight:700; font-size:.95rem;
  padding:.85em 1.3em; border-radius:var(--r-pill);
  box-shadow:0 8px 26px rgba(37,211,102,.42);
  transition:transform .2s var(--ease), box-shadow .2s var(--ease);
}
.wa-float:hover{color:#fff; transform:translateY(-3px) scale(1.03); box-shadow:0 14px 34px rgba(37,211,102,.5)}
.wa-float svg{width:1.35em; height:1.35em; fill:currentColor}

/* ==========================================================================
   Responsivo
   ========================================================================== */
@media (max-width:1000px){
  .hero-inner{grid-template-columns:1fr; gap:2.6rem}
  .layout-2col{grid-template-columns:1fr; gap:2.4rem}
  .aside-sticky{position:static; grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr; gap:2.2rem}
}
@media (max-width:900px){
  body{font-size:16px}
  .nav-toggle{display:flex}
  .nav{
    position:absolute; left:0; right:0; top:100%;
    flex-direction:column; align-items:stretch; gap:0;
    background:#fff; border-bottom:1px solid var(--line); box-shadow:var(--sh-2);
    padding:.5rem 22px 1.3rem; margin:0;
    display:none;
  }
  .nav.is-open{display:flex}
  .nav ul{flex-direction:column; align-items:stretch; gap:0}
  .nav li{border-bottom:1px solid var(--line-2)}
  .nav a{display:block; padding:.95rem 0; font-size:1rem}
  .nav a::after{display:none}
  .nav-cta{margin-top:1.1rem; width:100%}
  .grid-3, .grid-2{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr; gap:2rem}
  .cta-band-inner{grid-template-columns:1fr; gap:1.6rem}
  .topbar-inner{font-size:.78rem; gap:.3rem 1.1rem}
  .topbar-link{margin-left:0}
}
@media (max-width:620px){
  .grid-4{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr; gap:2rem}
  .brand img{width:158px}
  .header-inner{min-height:70px}
  .answer-card{padding:1.4rem}
  .answer-card .row{grid-template-columns:1fr; gap:.15rem}
  .hero-actions .btn{width:100%}
  .wa-float span{display:none}
  .wa-float{padding:1em; border-radius:50%}
  .wa-float svg{width:1.6em; height:1.6em}
  .map-embed iframe{height:320px}
  .steps li{padding-left:3.2rem}
  .footer-bottom{flex-direction:column}
}

@media print{
  .topbar,.nav,.nav-toggle,.wa-float,.cta-band,.breadcrumb{display:none}
  body{font-size:12pt}
  .hero{background:none; color:#000}
  .hero h1,.hero-sub{color:#000}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important; scroll-behavior:auto !important}
  .btn:hover,.card:hover,.wa-float:hover{transform:none}
}
