/* ============================================================
   RASBOLD — v02
   Identidade: fundo branco, respiro, títulos grandes (Montserrat),
   ciano #00D5D8 dosado, botão-pílula preto #0B0F10. Sem gradientes.
   ============================================================ */
:root{
  --ciano:#00D5D8;
  --preto:#0B0F10;
  --branco:#FFFFFF;
  --cinza:#4B5563;
  --cinza-claro:#F4F7F9;
  --linha:#E5EAF0;
  --erro:#B3261E;
  --ok:#0E7A3D;
  --raio:28px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--preto);background:var(--branco);
  line-height:1.65;font-size:17px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
[id]{scroll-margin-top:100px}
h1,h2,h3,.display{font-family:'Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.08;letter-spacing:-.01em}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
::selection{background:var(--ciano);color:var(--preto)}
:focus-visible{outline:3px solid var(--ciano);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:0;background:var(--preto);color:#fff;padding:.6rem 1rem;z-index:200}
.skip:focus{left:8px;top:8px}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
section{padding:110px 0}
.kicker{
  display:inline-block;font-family:'Montserrat',sans-serif;font-weight:700;
  font-size:.78rem;letter-spacing:.22em;color:#067E81;
  border:1.5px solid var(--ciano);border-radius:999px;padding:.45rem 1rem;margin-bottom:1.6rem;
}
.kicker-claro{color:var(--ciano)}
h2.titulo{font-size:clamp(2rem,4.6vw,3.4rem);font-weight:800;margin-bottom:1.2rem}
h2.titulo .cor{color:var(--ciano)}
.lead{font-size:1.15rem;color:var(--cinza);max-width:640px}
.cor{color:var(--ciano)}

/* ---------- Botão único: pílula ---------- */
.btn{
  display:inline-block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:1rem;
  background:var(--preto);color:var(--branco);text-decoration:none;
  padding:1rem 2.1rem;border-radius:999px;border:2px solid var(--preto);
  cursor:pointer;transition:background .2s,color .2s,border-color .2s;text-align:center;
}
.btn:hover{background:#232B2E;border-color:#232B2E}
.btn-ciano{background:var(--ciano);border-color:var(--ciano);color:var(--preto)}
.btn-ciano:hover{background:#2CE6E9;border-color:#2CE6E9;color:var(--preto)}
.btn-claro{background:var(--branco);border-color:var(--branco);color:var(--preto)}
.btn-claro:hover{background:#E8FBFB;border-color:#E8FBFB}
.btn-block{width:100%}
.link-simples{font-family:'Montserrat',sans-serif;font-weight:700;text-decoration:none;border-bottom:2px solid var(--ciano);padding-bottom:2px}
.link-simples:hover{color:#067E81}

/* ---------- Header ---------- */
header{
  position:fixed;inset:0 0 auto 0;background:rgba(255,255,255,.97);z-index:100;
  border-bottom:1px solid var(--linha);
}
.header-in{display:flex;align-items:center;gap:1.8rem;height:84px}
.logo{display:inline-flex;align-items:center;text-decoration:none;flex-shrink:0}
.logo-header{height:56px;width:auto;display:block}
nav.main{margin-left:auto}
nav.main ul{display:flex;align-items:center;gap:1.6rem;list-style:none}
nav.main a{display:inline-block;text-decoration:none;font-weight:600;font-size:.98rem;color:var(--preto);white-space:nowrap;line-height:1.3}
nav.main a:hover{color:#067E81}
.header-cta{display:flex;align-items:center;gap:1.4rem;flex-shrink:0}
.link-denuncia{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.95rem;text-decoration:none;border-bottom:2px solid var(--ciano);padding-bottom:2px;white-space:nowrap}
.btn-header{padding:.72rem 1.5rem;font-size:.93rem;white-space:nowrap}
.menu-btn{display:none;background:none;border:0;cursor:pointer;padding:11px 10px;min-width:44px;min-height:44px;margin-left:auto}
.menu-btn span{display:block;width:26px;height:3px;background:var(--preto);margin:5px auto;border-radius:2px}
@media(max-width:1180px){
  .header-in{gap:1.1rem}
  .logo-header{height:48px}
  nav.main{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;border-bottom:1px solid var(--linha);padding:.6rem 24px 1.2rem;box-shadow:0 18px 30px rgba(11,15,16,.08)}
  nav.main.aberto{display:block}
  nav.main ul{flex-direction:column;align-items:stretch;gap:.2rem}
  nav.main a{display:block;padding:.7rem 0}
  .header-cta .btn{display:none}
  .header-cta{margin-left:auto}
  .link-denuncia{display:inline-block;padding:.7rem 0}
  .menu-btn{display:block;margin-left:0}
}

/* ---------- Hero ---------- */
.hero{padding:190px 0 90px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center}
.hero h1{font-size:clamp(2.9rem,6.4vw,5.2rem);font-weight:800;margin-bottom:1.6rem}
.hero p{font-size:1.22rem;color:var(--cinza);max-width:520px;margin-bottom:2.4rem}
.hero-acoes{display:flex;align-items:center;gap:1.8rem;flex-wrap:wrap}
.hero-foto img{border-radius:var(--raio);width:100%;height:560px;object-fit:cover;background:var(--cinza-claro)}
.indicadores{
  display:grid;grid-template-columns:repeat(5,1fr);gap:2rem;
  margin-top:90px;padding-top:44px;border-top:1px solid var(--linha);
}
.ind-num{font-family:'Montserrat',sans-serif;font-weight:800;font-size:2.6rem;color:var(--ciano);line-height:1}
.ind-txt{font-weight:600;margin-top:.45rem;font-size:1rem}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .hero-foto img{height:420px}
  .indicadores{grid-template-columns:repeat(2,1fr)}
}

/* ---------- Quem somos ---------- */
.quem{background:var(--cinza-claro)}
.quem-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-bottom:80px}
.quem-grid img{border-radius:var(--raio);width:100%;height:480px;object-fit:cover}
.mvv{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}
.mvv .num{font-family:'Montserrat',sans-serif;font-weight:800;font-size:2rem;color:var(--ciano)}
.mvv h3{font-size:1.45rem;font-weight:800;margin:.7rem 0 .6rem}
.mvv p{color:var(--cinza)}
@media(max-width:900px){.quem-grid,.mvv{grid-template-columns:1fr}}

/* ---------- Serviços: blocos numerados ---------- */
.servico{
  display:grid;grid-template-columns:150px 1fr 300px;gap:2.5rem;align-items:center;
  padding:52px 0;border-top:1px solid var(--linha);
}
.servico:last-of-type{border-bottom:1px solid var(--linha)}
.servico .num{font-family:'Montserrat',sans-serif;font-weight:800;font-size:3.6rem;color:var(--ciano);line-height:1}
.servico h3{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;margin-bottom:.5rem}
.servico p{color:var(--cinza);max-width:560px}
.servico img{border-radius:20px;width:100%;height:190px;object-fit:cover;background:var(--cinza-claro)}
@media(max-width:900px){.servico{grid-template-columns:64px 1fr;padding:40px 0}.servico img{grid-column:1/-1;height:210px}.servico .num{font-size:2.2rem}}

/* ---------- Como fazemos ---------- */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:2.2rem;margin-top:3.2rem}
.passo img{border-radius:20px;width:100%;height:300px;object-fit:cover;margin-bottom:1.3rem;background:var(--cinza-claro)}
.passo .num{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.6rem;color:var(--ciano)}
.passo h3{font-size:1.3rem;font-weight:800;margin:.5rem 0 .5rem}
.passo p{color:var(--cinza);font-size:.99rem}
@media(max-width:1000px){.passos{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.passos{grid-template-columns:1fr}}

/* ---------- Obras e entregas ---------- */
.obras-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;margin-top:3rem}
.obras-grid figure{margin:0}
.obras-grid img{border-radius:22px;width:100%;height:340px;object-fit:cover;background:var(--cinza-claro)}
.obras-grid figcaption{margin-top:.7rem;font-size:.92rem;color:var(--cinza);line-height:1.45}
@media(max-width:900px){.obras-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.obras-grid{grid-template-columns:1fr}}

/* ---------- Clientes ---------- */
.clientes{background:var(--cinza-claro)}
.marquee{
  overflow:hidden;background:var(--branco);border-radius:22px;
  padding:2.1rem 0;margin:2.6rem 0 4.5rem;
}
.marquee-track{display:flex;width:max-content;animation:marquee 42s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-grupo{display:flex;align-items:center;gap:4.2rem;padding-right:4.2rem}
.marquee-item{display:flex;align-items:center;flex-shrink:0}
.marquee-item img{height:48px;width:auto;filter:grayscale(1);opacity:.72;transition:filter .25s,opacity .25s}
.marquee-item:hover img{filter:none;opacity:1}
.marquee-txt{font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.45rem;color:#9AA5B1;letter-spacing:.02em;white-space:nowrap;transition:color .25s}
.marquee-txt:hover{color:var(--preto)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.marquee-track{animation:none;flex-wrap:wrap}}
.william{display:grid;grid-template-columns:380px 1fr;gap:3.5rem;align-items:center}
.william img{border-radius:var(--raio);width:100%;height:460px;object-fit:cover}
.william h3{font-family:'Montserrat',sans-serif;font-size:2rem;font-weight:800}
.william .cargo{color:#067E81;font-weight:700;font-family:'Montserrat',sans-serif;margin:.3rem 0 1.2rem}
.william p{color:var(--cinza);max-width:560px}
.william ul{list-style:none;margin-top:1.4rem}
.william li{font-weight:600;padding:.35rem 0 .35rem 1.6rem;position:relative}
.william li::before{content:"";position:absolute;left:0;top:.85em;width:9px;height:9px;border-radius:3px;background:var(--ciano)}
@media(max-width:900px){.william{grid-template-columns:1fr}}

/* ---------- Equipe ---------- */
.equipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;margin-top:3rem}
.membro img{border-radius:22px;width:100%;height:400px;object-fit:cover;background:var(--cinza-claro)}
.membro p{font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.12rem;margin-top:.9rem}
@media(max-width:900px){.equipe-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.equipe-grid{grid-template-columns:1fr}}

/* ---------- Depoimentos ---------- */
.depoimentos{background:var(--cinza-claro)}
.dep{max-width:820px;padding:2.8rem 0;border-top:1px solid var(--linha)}
.dep:first-of-type{border-top:0;padding-top:1rem}
.dep blockquote{font-family:'Montserrat',sans-serif;font-size:clamp(1.35rem,2.6vw,1.9rem);font-weight:600;line-height:1.4}
.dep blockquote::before{content:"“";color:var(--ciano);font-size:1.4em;margin-right:.05em}
.dep figcaption{margin-top:1.1rem;color:var(--cinza);font-weight:600}
.dep figcaption strong{color:var(--preto);font-family:'Montserrat',sans-serif}

/* ---------- FAQ ---------- */
.faq-lista{max-width:860px;margin-top:2.5rem}
.faq-lista details{border-top:1px solid var(--linha);padding:.95rem 0}
.faq-lista details:last-child{border-bottom:1px solid var(--linha)}
.faq-lista summary{font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.2rem;cursor:pointer;list-style:none;padding:.55rem 2rem .55rem 0}
.faq-lista summary::-webkit-details-marker{display:none}
.faq-lista summary::after{content:"+";float:right;color:var(--ciano);font-size:1.5rem;line-height:1}
.faq-lista details[open ] summary::after{content:"–"}
.faq-lista p{color:var(--cinza);margin-top:.8rem;max-width:700px}

/* ---------- CTA / Contato ---------- */
.cta{background:var(--preto);color:var(--branco)}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.cta h2{font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:800;margin-bottom:1.2rem}
.cta p{color:#C6CDD3;max-width:440px}
.cta .cor{color:var(--ciano)}
@media(max-width:900px){.cta-grid{grid-template-columns:1fr}}

/* ---------- Formulários ---------- */
.campo{margin-bottom:1.15rem}
.campo label{display:block;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.95rem;margin-bottom:.45rem}
.campo .opcional{font-weight:600;color:var(--cinza);font-size:.85rem}
.campo input,.campo select,.campo textarea{
  width:100%;font:inherit;font-size:16px;color:var(--preto);
  background:var(--branco);border:1.5px solid #CBD5E1;border-radius:14px;
  padding:.85rem 1rem;
}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--ciano);outline:3px solid rgba(0,213,216,.35)}
.campo input:disabled,.campo textarea:disabled{background:#EDF1F4;color:#8A94A1}
.campo textarea{resize:vertical;min-height:130px}
.campo .dica{font-size:.88rem;color:var(--cinza);margin-top:.35rem}
.check{display:flex;gap:.7rem;align-items:flex-start;margin:1.3rem 0;padding:.35rem 0}
.check input{width:24px;height:24px;margin-top:1px;accent-color:#067E81;flex-shrink:0;cursor:pointer}
.check label{font-weight:600;cursor:pointer}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.form-claro{background:var(--branco);border-radius:var(--raio);padding:2.2rem;color:var(--preto)}
.aviso{display:none;border-radius:14px;padding:1rem 1.2rem;margin-bottom:1.4rem;font-weight:600}
.aviso.mostrar{display:block}
.aviso-sucesso{background:#E5F6EC;color:var(--ok);border:1px solid #BFE6CF}
.aviso-falha{background:#FDEEEC;color:var(--erro);border:1px solid #F5C6C2}

/* ---------- Denúncia ---------- */
.denuncia-hero{padding:170px 0 60px}
.garantias{display:grid;grid-template-columns:repeat(2,1fr);gap:2.6rem 3rem;margin:3rem 0}
.garantia h3{font-family:'Montserrat',sans-serif;font-size:1.3rem;font-weight:800;margin-bottom:.45rem}
.garantia h3::before{content:"";display:block;width:26px;height:8px;border-radius:4px;background:var(--ciano);margin-bottom:.9rem}
.garantia p{color:var(--cinza)}
.form-wrap{max-width:760px;background:var(--cinza-claro);border-radius:var(--raio);padding:2.4rem}
.protocolo{background:var(--cinza-claro);border-radius:var(--raio);padding:3rem;max-width:680px;text-align:left}
.protocolo .codigo{font-family:'Montserrat',sans-serif;font-weight:800;font-size:clamp(1.9rem,5vw,3rem);color:var(--preto);letter-spacing:.04em;margin:1rem 0}
.protocolo .codigo span{color:#067E81}
@media(max-width:700px){.garantias{grid-template-columns:1fr}.form-wrap{padding:1.5rem}}

/* ---------- Rodapé ---------- */
footer{background:var(--preto);color:#C6CDD3;padding:80px 0 40px}
.logo-rodape{height:104px;width:auto;border-radius:12px}
.rodape-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
footer h4{font-family:'Montserrat',sans-serif;color:#fff;font-size:1.05rem;margin-bottom:1rem}
footer ul{list-style:none}
footer li{margin:.45rem 0}
footer a{color:#C6CDD3;text-decoration:none}
footer a:hover{color:var(--ciano)}
.copyright{border-top:1px solid #232B2E;padding-top:1.6rem;font-size:.92rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
@media(max-width:900px){.rodape-grid{grid-template-columns:1fr}}

/* ============================================================
   RESPONSIVO — consolidação mobile/tablet (2026-11-04)
   Faixas: ≤1024 tablet paisagem · ≤900 tablet retrato ·
   ≤700 intermediário · ≤560 celular · ≤380 celular pequeno
   ============================================================ */
@media(max-width:1024px){
  section{padding:88px 0}
  .hero{padding:158px 0 78px}
  .hero-grid{gap:2.6rem}
  .hero-foto img{height:480px}
}
@media(max-width:900px){
  .indicadores{grid-template-columns:repeat(3,1fr);gap:1.7rem 1.4rem;margin-top:58px;padding-top:34px}
  .ind-num{font-size:2.1rem}
  .quem-grid{gap:2.4rem;margin-bottom:56px}
  .quem-grid img{height:340px}
  .mvv{gap:2.2rem}
  .obras-grid img{height:300px}
  .membro img{height:320px}
  .william{gap:2.4rem}
  .william img{height:380px}
  .cta-grid{gap:2.6rem}
  .rodape-grid{gap:2.2rem}
  footer{padding:64px 0 36px}
}
@media(max-width:700px){
  .denuncia-hero{padding:130px 0 56px}
  .form-wrap{padding:1.6rem}
  .protocolo{padding:1.8rem}
}
@media(max-width:560px){
  .container{padding:0 18px}
  section{padding:54px 0}
  [id]{scroll-margin-top:84px}
  .header-in{height:72px;gap:.8rem}
  .logo-header{height:42px}
  nav.main{top:72px;padding:.5rem 18px 1.1rem}
  .header-cta{gap:.8rem}
  .link-denuncia{font-size:.86rem}
  .kicker{font-size:.66rem;letter-spacing:.15em;padding:.42rem .8rem;margin-bottom:1.2rem}
  h2.titulo{font-size:clamp(1.8rem,8.6vw,2.15rem)}
  .lead{font-size:1.05rem}
  .hero{padding:112px 0 54px}
  .hero h1{font-size:clamp(2.3rem,12.4vw,2.9rem);margin-bottom:1.2rem}
  .hero p{font-size:1.08rem;margin-bottom:1.9rem}
  .hero-acoes{gap:1rem}
  .link-simples{display:inline-block;padding:.65rem 0}
  .btn{padding:.92rem 1.6rem}
  .hero-foto img{height:290px}
  .indicadores{grid-template-columns:repeat(2,1fr);gap:1.3rem;margin-top:42px;padding-top:28px}
  .ind-num{font-size:1.9rem}
  .ind-txt{font-size:.95rem}
  .quem-grid img{height:250px}
  .mvv{gap:1.9rem}
  .servico{grid-template-columns:1fr;gap:.8rem;padding:34px 0}
  .servico .num{font-size:2rem}
  .servico img{height:185px}
  .passos{gap:1.8rem;margin-top:2.2rem}
  .passo img{height:250px;margin-bottom:1rem}
  .obras-grid{gap:1.3rem;margin-top:2.2rem}
  .obras-grid img{height:270px}
  .marquee{padding:1.3rem 0;margin:2rem 0 3.3rem}
  .marquee-track{animation-duration:30s}
  .marquee-grupo{gap:2.4rem;padding-right:2.4rem}
  .marquee-item img{height:34px}
  .marquee-txt{font-size:1.08rem}
  .william img{height:290px}
  .membro img{height:340px}
  .dep{padding:2rem 0}
  .form-claro{padding:1.35rem}
  .denuncia-hero{padding:104px 0 46px}
  .garantias{gap:1.9rem;margin:2.2rem 0}
  .form-wrap{padding:1.2rem}
  .protocolo{padding:1.4rem}
  footer{padding:52px 0 32px}
  .logo-rodape{height:78px}
  footer li a{display:inline-block;padding:.3rem 0}
  .copyright{flex-direction:column;gap:.5rem}
}
@media(max-width:380px){
  .kicker{letter-spacing:.11em}
  .link-denuncia{font-size:.8rem}
  .hero-foto img{height:250px}
  .obras-grid img{height:240px}
}
