:root{
  --marinho:#0E2F5A; --marinho-escuro:#081D3A; --ciano:#16A6CC; --ciano-texto:#0B6F8F;
  --agua:#EAF7FB; --borda:#D6E6EE; --borda-2:#B9D9E6; --refletivo:#CDEB3B; --prata:#C9D3DC;
  --texto:#0E2F5A; --texto-2:#26406A; --muted:#43607F; --claro:#D6E6EE; --ciano-claro:#8FDDF0;
  --display:"Unbounded","Arial Black",system-ui,sans-serif;
  --corpo:"Figtree","Segoe UI",system-ui,-apple-system,sans-serif;
  --max:1280px;
}
*{box-sizing:border-box}
html{scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--corpo);font-size:17px;line-height:1.6;color:var(--texto);background:#fff}
img,video{max-width:100%;display:block;height:auto}
picture{display:block}
a{color:var(--ciano-texto)} a:hover{color:var(--marinho)}
h1,h2,h3{font-family:var(--display);line-height:1.12;letter-spacing:-.01em;margin:0}
h1{font-weight:800;font-size:clamp(34px,5vw,58px)}
h2{font-weight:700;font-size:clamp(26px,3.2vw,40px)}
h3{font-family:var(--corpo);font-weight:700;font-size:20px;line-height:1.3}
p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.sec{padding:80px 0}
.sec-agua{background:var(--agua)}
.sec-marinho{background:var(--marinho);color:#fff}
.sec-marinho p{color:var(--claro)}
.head-row{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap;margin-bottom:36px}
.head-row p{max-width:460px;color:var(--muted);font-size:18px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;z-index:100}
.skip:focus{left:8px}

/* header */
.topo{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--borda)}
.topo .wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--marinho)}
.marca b{font-family:var(--display);font-weight:800;font-size:19px;line-height:1}
.marca small{display:block;font-family:var(--display);font-weight:500;font-size:11px;letter-spacing:.08em;color:var(--ciano-texto)}
.menu{display:flex;gap:26px;font-weight:600}
.menu a{text-decoration:none;color:var(--marinho)} .menu a:hover{color:var(--ciano-texto)}
.topo-acoes{display:flex;align-items:center;gap:14px}
.fone{font-weight:700;text-decoration:none;color:var(--marinho);white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:26px;font-weight:700;text-decoration:none;border:2px solid transparent;font-size:17px;cursor:pointer;font-family:inherit}
.btn-refletivo{background:var(--refletivo);color:var(--marinho)} .btn-refletivo:hover{color:var(--marinho);filter:brightness(.96)}
.btn-marinho{background:var(--marinho);color:#fff} .btn-marinho:hover{color:#fff;background:#163E73}
.btn-contorno{border-color:var(--ciano-claro);color:#fff} .btn-contorno:hover{color:#fff;background:rgba(255,255,255,.08)}
.btn-contorno-escuro{border-color:var(--marinho);color:var(--marinho)}
.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}

/* hero */
.hero{background:var(--marinho);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);min-height:640px}
.hero-texto{padding:72px 48px 56px max(24px,calc((100vw - var(--max))/2 + 24px));display:flex;flex-direction:column;justify-content:center;gap:24px}
.hero .selo{color:var(--ciano-claro);font-weight:600;font-size:17px}
.hero h1{color:#fff}
.hero-texto>p{color:var(--claro);font-size:20px;max-width:520px}
.hero-acoes{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
.hero-midia{position:relative;overflow:hidden;min-height:360px}
.hero-midia video,.hero-midia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.legenda{position:absolute;left:24px;bottom:24px;background:#fff;color:var(--marinho);padding:12px 18px;border-radius:14px;font-weight:600;font-size:15px;max-width:340px;line-height:1.4}

/* orçamento */
.orcamento{background:var(--refletivo);border-top:8px solid var(--prata);border-bottom:8px solid var(--prata);padding:36px 0}
.orcamento h2{font-size:26px;margin-bottom:20px}
.orc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:end}
.campo{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:15px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:44px;padding:0 16px;border-radius:22px;border:2px solid var(--marinho);background:#fff;color:var(--marinho);font:600 15px var(--corpo);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--marinho);color:#fff}
.entrada{height:50px;padding:0 14px;border-radius:12px;border:2px solid var(--marinho);background:#fff;font:17px var(--corpo);color:var(--marinho);width:100%}
.orcamento .nota{margin-top:14px;font-size:15px;color:#26406A}

/* números */
.numeros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}
.numeros strong{display:block;font-family:var(--display);font-weight:800;font-size:40px;color:var(--ciano-texto);line-height:1.1;margin-bottom:6px}

/* cards */
.grade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.card-foto{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px;border-radius:22px;overflow:hidden;text-decoration:none;background:var(--marinho)}
.card-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card-foto:hover img{transform:scale(1.04)}
.card-foto span{position:relative;margin:14px;padding:14px 16px;border-radius:14px;background:#fff;color:var(--marinho)}
.card-foto b{display:block;font-family:var(--display);font-size:19px;line-height:1.2}
.card-foto small{display:block;color:var(--muted);font-size:15px;margin-top:4px;line-height:1.4}
.card-alto{grid-row:span 2;min-height:620px}
.card-texto{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:24px;border-radius:22px;background:var(--agua);min-height:300px;text-decoration:none;color:var(--marinho)}
.card-texto b{font-family:var(--display);font-size:19px;line-height:1.2}
.card-texto small{display:block;color:var(--muted);font-size:15px;margin-top:6px}
.card-linha{display:block;padding:22px;border-radius:18px;border:1px solid var(--borda-2);text-decoration:none;color:var(--marinho)}
.card-linha b{display:block;font-family:var(--display);font-size:18px;margin-bottom:6px}
.card-linha span{color:var(--muted);font-size:16px}

/* passos */
.passos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.passos li{border-top:6px solid var(--ciano);padding-top:18px}
.passos strong{display:block;font-family:var(--display);font-size:30px;color:var(--ciano-texto)}
.passos b{display:block;font-size:19px;margin:6px 0}
.passos span{color:var(--muted)}

/* qualidade */
.tres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tres figure{margin:0}
.tres img{width:100%;height:340px;object-fit:cover;border-radius:20px;margin-bottom:14px}
.tres figcaption b{display:block;font-size:19px}
.tres figcaption span{color:var(--muted);font-size:16px}

.duas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;align-items:center}
.fotos-par{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fotos-par img{width:100%;height:560px;object-fit:cover;border-radius:22px}
.texto-longo p+p{margin-top:16px}
.texto-longo p{font-size:18px;color:var(--texto-2)}

.emerg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:56px;align-items:center}
.emerg img{width:100%;height:480px;object-fit:cover;border-radius:22px}
.emerg p{font-size:19px;max-width:620px}

/* cidades */
.cidades-lista{display:flex;flex-wrap:wrap;gap:10px}
.cidades-lista a{min-height:46px;padding:0 18px;display:inline-flex;align-items:center;border-radius:23px;background:#fff;border:1px solid var(--borda-2);color:var(--marinho);font-weight:600;text-decoration:none}
.cidades-lista a:hover{border-color:var(--marinho)}
.regiao+.regiao{margin-top:32px}
.regiao h3{margin-bottom:14px}

/* faq */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px}
.faq details{border-bottom:1px solid var(--borda)}
.faq summary{list-style:none;cursor:pointer;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:700;font-size:19px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:28px;color:var(--ciano-texto);font-weight:500}
.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:22px;color:var(--texto-2);font-size:17px;max-width:680px}

/* cidade */
.migalha{padding-top:18px;padding-bottom:18px;font-size:15px;color:var(--muted)}
.migalha ol{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.migalha li+li::before{content:"/";margin-right:8px}
.cidade-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;padding-top:8px;padding-bottom:72px}
.cidade-hero>div{display:flex;flex-direction:column;gap:22px}
.cidade-hero .sub{font-size:20px;color:var(--texto-2);max-width:620px}
.cidade-hero img{width:100%;height:560px;object-fit:cover;border-radius:22px}
.fatos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:640px}
.fatos div{background:var(--agua);border-radius:16px;padding:16px}
.fatos b{display:block;font-family:var(--display);font-size:19px;color:var(--ciano-texto)}
.fatos span{font-size:15px}
.bairros{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px}
.bairros p{font-size:18px;line-height:1.9}
.galeria{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.galeria img{width:100%;height:420px;object-fit:cover;border-radius:20px}

/* footer */
.rodape{background:var(--marinho-escuro);color:var(--claro);padding:64px 0 110px;font-size:16px;line-height:1.9}
.rodape .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px}
.rodape a{color:var(--claro);text-decoration:none} .rodape a:hover{color:#fff;text-decoration:underline}
.rodape b{color:#fff;display:block;margin-bottom:6px}
.rodape .nome{font-family:var(--display);font-weight:800;font-size:19px;color:#fff}
.rodape nav a{display:block}
.copy{grid-column:1/-1;border-top:1px solid #20395F;padding-top:20px;font-size:14px;color:#9FB6CC}

/* botões fixos */
.fixos{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;gap:10px}
.fixos a{min-height:56px;padding:0 22px;border-radius:28px;display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;box-shadow:0 6px 20px rgba(8,29,58,.25)}
.fixos .f-tel{background:#fff;color:var(--marinho);border:2px solid var(--marinho);display:none}
.fixos .f-whats{background:var(--refletivo);color:var(--marinho)}

.pagina-texto{max-width:820px;padding:56px 24px 80px;margin:0 auto}
.pagina-texto h1{font-size:clamp(30px,4vw,44px);margin-bottom:24px}
.pagina-texto h2{font-size:24px;margin:32px 0 12px}
.pagina-texto p,.pagina-texto li{color:var(--texto-2)}

@media (max-width:1080px){
  .menu{display:none}
  .menu.aberto{display:flex;flex-direction:column;position:absolute;top:76px;left:0;right:0;background:#fff;padding:12px 24px 24px;border-bottom:1px solid var(--borda);gap:0}
  .menu.aberto a{padding:14px 0;border-bottom:1px solid var(--borda)}
  .menu-toggle{display:block}
  .topo .btn,.topo .fone{display:none}
  .hero,.cidade-hero,.duas,.emerg,.faq,.bairros{grid-template-columns:1fr}
  .hero-texto{padding:48px 24px 36px}
  .hero-midia{min-height:420px}
  .orc-grid,.numeros,.passos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grade{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card-alto{grid-row:auto;min-height:300px}
  .tres,.galeria{grid-template-columns:1fr}
  .rodape .wrap{grid-template-columns:1fr 1fr}
  .fotos-par img{height:380px}
  .cidade-hero img{height:380px}
}
@media (max-width:620px){
  body{font-size:16px}
  .sec{padding:56px 0}
  .orc-grid,.numeros,.passos,.grade,.fatos{grid-template-columns:1fr}
  .rodape .wrap{grid-template-columns:1fr}
  .fixos{left:12px;right:12px;bottom:12px}
  .fixos a{flex:1;justify-content:center}
  .fixos .f-tel{display:inline-flex}
  .tres img,.galeria img{height:280px}
  .emerg img{height:320px}
}
@media (prefers-reduced-motion:reduce){.card-foto img{transition:none}}
.marca .logo{height:48px;width:auto}
.rodape .logo-rodape{height:52px;width:auto;margin-bottom:12px}
@media (max-width:620px){.marca .logo{height:40px}}
.menu{gap:22px}.menu a,.btn,.fone{white-space:nowrap}
@media (max-width:1280px){.topo .fone{display:none}}
.orc-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1080px){.orc-grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.orc-grid-3{grid-template-columns:1fr}}
.orc-grid-3{align-items:start}.orc-grid-3 #orc-enviar{align-self:end}
.orc-grid-3 #orc-enviar{grid-column:3}@media (max-width:1080px){.orc-grid-3 #orc-enviar{grid-column:auto}}
