:root{
  --brand:#005d73;
  --ink:#0a3a45;
  --text:#273036;
  --muted:#5b6972;
  --bg1:#f5f7f9;
  --bg2:#ffffff;
  --card:#ffffff;
  --shadow:0 8px 24px rgba(0,0,0,.08);
  --radius:16px;

  /* Spacing presets */
  --flow-xxs:6px;
  --flow-xs:10px;
  --flow-sm:14px;
  --flow-md:18px;
  --flow-lg:24px;

  /* Section paddings */
  --section-pad: clamp(28px, 6vw, 48px);

  /* Hero */
  --hero-gap: clamp(12px, 3vw, 24px);
  --hero-pad: clamp(28px, 6vw, 64px);

  /* Sobre */
  --sobre-bg:#f9fafb;
}

*{box-sizing:border-box}
html,body{height:100%; min-height:100dvh}
body{
  margin:0;
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--text);
  background: linear-gradient(to bottom, var(--bg1), var(--bg2));
  background-color: var(--bg2);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  line-height:1.45;
}
img{max-width:100%; height:auto}
a{color:var(--brand); text-decoration:none}
a:hover,a:focus{text-decoration:underline}
.small{font-size:.9rem; color:var(--muted)}

h1,h2,h3,h4,h5,h6,p,ul,ol{margin-block:0}

.container{width:min(1120px,100%); margin-inline:auto; padding-inline:20px}

/* Skip link */
.skip-to-content{position:absolute; left:-9999px; top:auto}
.skip-to-content:focus{left:16px; top:16px; background:#fff; padding:8px 12px; border-radius:10px; box-shadow:var(--shadow)}

/* Header / Nav */
.site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(180%) blur(8px);
  background:rgba(255,255,255,.92);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; height:64px}
.brand{display:flex; align-items:center; gap:10px; font-weight:700; color:var(--ink)}
.brand-logo{width:34px; height:34px}
.site-nav ul{list-style:none; display:flex; gap:18px; padding:0}
.site-nav a{font-weight:500; color:var(--text)}
.menu-toggle{display:none; background:#fff; border:1px solid #dbe6ea; border-radius:10px; padding:10px}
.menu-line{display:block; width:22px; height:2px; background:#34444d; margin:4px 0}

/* Sections */
.section{padding-block:var(--section-pad)}
.section-header h2{font-size:clamp(1.4rem, 4.5vw, 2rem); margin:0 0 var(--flow-xs) 0; color:var(--ink)}
.section-header p{color:var(--muted)}

/* === CONTAINER 1: HERO === */
.hero{
  padding-block: var(--hero-pad);
  background: linear-gradient(180deg, rgba(10,58,69,0.00) 0%, rgba(10,58,69,0.03) 100%);
}
.hero-inner{display:grid; align-items:center; justify-items:start; gap:var(--hero-gap)}
.hero-logo{width:clamp(110px,24vw,150px); filter:drop-shadow(0 6px 18px rgba(0,0,0,.06))}
.hero-copy h1{margin:0; font-size:clamp(1.8rem,4.8vw,2.8rem); line-height:1.08; color:var(--brand); letter-spacing:.3px}
.hero-copy .lead{margin-top:6px; font-size:clamp(1rem,2.6vw,1.15rem); color:var(--muted)}
.hero .cta{margin-top:10px; display:flex; flex-wrap:wrap; gap:10px}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 16px; border-radius:999px; font-weight:600; border:1px solid transparent}
.btn-primary{background:var(--brand); color:#fff; box-shadow:var(--shadow)}
.btn-outline{background:#ebf4f6; color:var(--brand); border-color:#d7e6ea}

/* Desktop grid for hero */
@media (min-width:700px){
  .hero-inner{grid-template-columns:170px 1fr; gap:clamp(16px,4vw,28px)}
}
@media (max-width:699px){
  .hero-inner{justify-items:center; text-align:center}
  .hero .cta{justify-content:center}
}

/* === CONTAINER 2: SOBRE === */
#sobre{background:var(--sobre-bg); padding-block:clamp(32px,6vw,72px)}
.about-grid{display:grid; gap:clamp(16px,4vw,28px); align-items:start}
.about-text{max-width:62ch}
.about-text p{margin-block:.5em}
.about-text ul{padding-left:18px; margin:.5em 0 0}
.about-text li{margin:4px 0; color:var(--muted)}
.about-aside{display:grid; gap:12px}
.highlight{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:16px; display:grid; place-items:center}
.kpi{font-size:2rem; font-weight:700; color:var(--brand)}
.kpi-caption{color:var(--muted)}
@media (min-width:800px){
  .about-grid{grid-template-columns:1.4fr .9fr}
}

/* === CONTAINER 3: SERVIÇOS === */
.cards{display:grid; gap:var(--flow-sm)}
.card{background:var(--card); border-radius:var(--radius); box-shadow:var(--shadow); padding:18px; min-height:140px; display:grid; align-content:start; gap:6px}
.card .icon{font-size:1.4rem; line-height:1}
.card h3{margin:8px 0 4px; color:var(--brand)}
@media (min-width:700px){
  .cards{grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--flow-md)}
}

/* === CONTAINER 4: DIFERENCIAIS === */
.feature-list{display:grid; gap:10px; list-style:none; padding:0; margin:0}
.feature-list li{display:flex; align-items:flex-start; gap:8px}
.check{display:inline-grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#e6f3f6; color:var(--brand)}

/* === CONTAINER 5: AVALIAÇÕES (FIX QR) === */
.reviews-inner{
  display:grid;
  grid-template-columns:1fr minmax(120px,200px);
  align-items:center;
  gap:clamp(12px,4vw,32px);
}
.reviews-media{display:grid; justify-items:center; align-content:center}
.reviews-media .qr{width:clamp(110px,12vw,160px); border-radius:12px; box-shadow:var(--shadow)}
.reviews-media .muted{margin-top:8px; text-align:center; max-width:18ch}
@media (max-width:880px){
  .reviews-inner{grid-template-columns:1fr}
}

/* === CONTAINER 6: CONTATO === */
.contact-grid{display:grid; gap:var(--flow-md)}
.contact-block h3{margin-bottom:6px}
.contact-list{list-style:none; padding:0; margin:0}
.contact-list li{margin:6px 0}
.map-wrap{margin-top:10px; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow)}
.map-wrap iframe{border:0; width:100%; height:300px}
@media (min-width:700px){
  .contact-grid{grid-template-columns:1fr 1fr}
  .map-wrap iframe{height:340px}
}

/* Footer */
.site-footer{background:#0f1920; color:#b7c2c9; padding:24px 0; margin-top:20px}
.footer-inner{display:grid; gap:6px; text-align:center}

/* Mobile Nav (drawer) */
@media (max-width:900px){
  .site-nav{display:none; position:fixed; inset:64px 0 auto 0; background:rgba(255,255,255,.98); border-top:1px solid #e7edf1}
  .site-nav ul{flex-direction:column; gap:0}
  .site-nav a{display:block; padding:12px 20px; border-bottom:1px solid #eef4f7}
  .menu-toggle{display:inline-block}
  .site-nav.open{display:block}
}

/* Utilities */
.wrap-any{overflow-wrap:anywhere; word-break:break-word}

/* ====== FIX GERAL DE FUNDOS POR CONTAINER ====== */
/* Por padrão, todo container tem fundo sólido branco */
.section{ background-color:#fff; }

/* Sobre (container 2) mantém o cinza claro */
#sobre{ background: var(--sobre-bg) !important; }

/* Serviços e Diferenciais com branco sólido (evita faixas) */
#servicos{ background:#fff !important; }
#diferenciais{ background:#fff !important; }

/* Avaliações com leve cinza para separar visualmente */
.reviews-cta{ background:#f7f9fb !important; }

/* Contato com branco */
#contato{ background:#fff !important; }

/* === AJUSTE CONTATO (mais espaço entre mapa e atendimento) === */
.contact-grid{
  gap: clamp(20px, 4vw, 40px);  /* aumenta o espaçamento entre as colunas */
}

.contact-block{
  display: flex;
  flex-direction: column;
  gap: 12px; /* garante respiro interno entre títulos e listas */
}

/* em telas menores, deixa ainda mais confortável */
@media (max-width: 699px){
  .contact-grid{
    gap: 28px;
  }
}

