:root{
  --teal-950:#042a2a;
  --teal-900:#0a3b3c;
  --teal-800:#0f4c4e;
  --teal-700:#1a5e60;
  --teal-600:#2a7375;
  --mint-400:#7fb4ad;
  --mint-300:#9bc7c1;
  --mint-200:#b8d7d3;
  --bg:var(--teal-900);
  --fg:#ffffff;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.container{width:min(1200px,92%);margin-inline:auto}
.btn{display:inline-block;padding:10px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.18);transition:.2s;backdrop-filter:blur(6px)}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:linear-gradient(135deg,var(--mint-400),var(--teal-700));border:none;color:#062a2a;font-weight:800}
.btn.ghost{background:transparent}
.btn.sm{padding:8px 12px;border-radius:10px}

.topbar{background:#0d2f2f;color:#cfe6e3}
.topbar .container{display:flex;align-items:center;justify-content:space-between;padding:6px 0}

.header{position:sticky;top:0;background:rgba(6,31,31,.7);backdrop-filter:blur(8px);z-index:50;border-bottom:1px solid rgba(255,255,255,.08)}
.header .container{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:40px}
.nav{display:flex;gap:22px;align-items:center}
.nav-toggle{display:none;background:none;border:0;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px 0}

.hero{position:relative;overflow:hidden;padding:90px 0 60px;background:radial-gradient(1200px 600px at 20% -10%,rgba(127,180,173,.3),transparent 60%)}
.grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(30px,5vw,56px);line-height:1.06;margin:0}
.hero h1 span{background:linear-gradient(135deg,var(--mint-200),#fff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{opacity:.9;max-width:58ch}
.actions{display:flex;gap:12px;margin:18px 0}
.trust{display:flex;gap:14px;opacity:.85;list-style:none;padding:0;margin:8px 0 0}
.panel{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.shape::after{content:'';position:absolute;right:-15%;bottom:-40%;width:800px;height:800px;border-radius:50%;background:radial-gradient(closest-side,rgba(26,94,96,.5),transparent 65%)}

/* Impostômetro com tamanho estável */
.impostometro{display:grid;gap:10px;max-width:520px;min-height:170px}
.imp-valor{font-weight:800;font-size:42px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.02em;
  background:linear-gradient(135deg,var(--mint-200),#fff);-webkit-background-clip:text;background-clip:text;color:transparent;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.imp-legenda{opacity:.8;margin:0}

.section{padding:70px 0}
.section.alt{background:linear-gradient(180deg,rgba(255,255,255,.04),transparent)}
.grid-40-60{display:grid;grid-template-columns:.45fr .55fr;gap:30px}
.grid-60-40{display:grid;grid-template-columns:.6fr .4fr;gap:30px}

.values{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.values article{display:grid;gap:6px;justify-items:start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px}
.vicon{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--mint-400),var(--teal-700));box-shadow:0 3px 10px rgba(0,0,0,.25);position:relative}
.vicon::after{content:'';position:absolute;inset:6px;background:#062a2a;border-radius:6px}
.v-org::after{clip-path:polygon(0% 20%, 70% 20%, 70% 0%, 100% 50%, 70% 100%, 70% 80%, 0% 80%);} /* seta/fluxo */
.v-int::after{clip-path:polygon(50% 0%, 100% 30%, 100% 70%, 50% 100%, 0% 70%, 0% 30%);} /* escudo */
.v-resp::after{clip-path:polygon(10% 70%, 30% 50%, 45% 62%, 70% 30%, 90% 48%, 45% 90%);} /* check/handshake estilizado */

.bullets{display:flex;gap:14px;margin-top:10px;flex-wrap:wrap}
.b{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:8px 12px;text-align:center}
.b strong{display:block;font-size:18px}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.services-cards .s-card{display:grid;gap:10px;align-content:start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px}
.s-card figure{margin:0;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
.s-card figure img{display:block;width:100%;height:auto}
.s-card h3{margin:6px 0 0}
.s-card p{opacity:.9;margin:2px 0 0}

.tech .rows{display:grid;gap:10px;margin-top:10px}
.tech .row{display:flex;justify-content:space-between;padding:10px 12px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.1);border-radius:10px}

.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pillars article{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:16px}

.results .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:10px 0 16px}
.results .metrics .m{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px;text-align:center}
.results .metrics strong{font-size:22px;display:block}
.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rcard{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px}
.rcard .i{width:54px;height:54px;border-radius:12px;background:linear-gradient(135deg,var(--mint-400),var(--teal-700))}
.rcard h4{margin:0 0 4px}

.faq details{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px}
.faq details+details{margin-top:10px}
.faq summary{cursor:pointer;font-weight:700}

.contact{background:linear-gradient(180deg,rgba(255,255,255,.04),transparent)}
.contact .contact-form{display:grid;gap:12px;margin-top:12px}
.contact .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact input,.contact select,.contact textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 14px;color:#fff;outline:none}
.contact input:focus,.contact select:focus,.contact textarea:focus{border-color:var(--mint-400)}
.note{margin-top:8px;opacity:.85}
.contact-aside{align-self:start;max-width:420px;padding:16px}
.contact-aside .info{display:grid;gap:8px;margin:6px 0 10px}
.contact-aside .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--mint-400);margin-right:6px;vertical-align:middle}
.contact .grid-60-40{align-items:start}

.footer{margin-top:30px;background:rgba(0,0,0,.18);border-top:1px solid rgba(255,255,255,.1)}
.fgrid{display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:16px;padding:26px 0}
.copy{text-align:center;padding:14px 0;border-top:1px solid rgba(255,255,255,.1);opacity:.8}

@media (max-width:980px){
  .grid,.grid-40-60,.grid-60-40{grid-template-columns:1fr}
  .values{grid-template-columns:1fr 1fr}
  .cards{grid-template-columns:1fr 1fr}
  .pillars{grid-template-columns:1fr 1fr}
  .nav{display:none}
  .nav-toggle{display:block}
}
