/* Omni Tecnologia — estilos do site
   Escala: no desktop o tamanho base (rem) acompanha a ALTURA da janela,
   para que cada seção caiba inteira na tela. */
:root{
  --verde-900:#07372A;--verde-700:#0A4F3A;--verde-500:#1F8F6E;--menta:#6EE1BE;
  --off:#F4F5F1;--branco:#FFFFFF;--texto:#0B3D2C;--texto-suave:#44594F;--texto-mudo:#4B6A5D;
  --linha:#D3D8D0;--claro-sobre-escuro:#CFE0D8;--mudo-sobre-escuro:#A9C4B8;
  --ease:cubic-bezier(.22,.8,.24,1);
}
*{box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (min-width:901px){
  html{font-size:clamp(10px,2.25vh,17px);scroll-snap-type:y proximity}
  .snap{scroll-snap-align:start}
}
body{margin:0;font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--branco);color:var(--texto);line-height:1.5;overflow-x:hidden}
img{max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--menta);outline-offset:0.1875rem}
.skip{position:absolute;left:-999px;top:0;background:var(--branco);color:var(--verde-900);padding:0.625rem 1rem;z-index:100;border-radius:0 0 0.75rem 0}
.skip:focus{left:0}
.wrap{max-width:min(94vw,1500px);margin:0 auto;width:100%;padding:0 2rem}
.eyebrow{font-size:0.75rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
h1,h2,h3,p{margin:0}
.wave{display:block;width:100%;position:relative;z-index:1}

/* ---------- animações de entrada ---------- */
.js .rv{opacity:0;transform:translateY(1.75rem);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s);will-change:opacity,transform}
.js .rv.in{opacity:1;transform:none}
.js .rv-l{transform:translateX(-32px)}
.js .rv-s{transform:scale(.94)}
@keyframes omni-drift{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-36px,1.75rem,0) scale(1.06)}100%{transform:translate3d(0,0,0) scale(1)}}
@keyframes omni-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes omni-in{from{opacity:0;transform:translateY(1.125rem)}to{opacity:1;transform:none}}
@keyframes omni-zoom{from{transform:scale(1.1)}to{transform:scale(1)}}

/* ---------- topo / hero ---------- */
.dark{position:relative;overflow:hidden;color:#F2F6F3;background:var(--verde-900)}
.hero{display:flex;flex-direction:column;background:
  radial-gradient(56.25rem 32.5rem at 82% 18%,rgba(60,203,158,.34),transparent 62%),
  radial-gradient(51.25rem 32.5rem at 6% 96%,rgba(42,143,176,.28),transparent 62%),var(--verde-900)}
.glow{position:absolute;top:7.5rem;right:6%;width:32.5rem;height:32.5rem;border-radius:50%;background:radial-gradient(circle,rgba(110,225,190,.30),transparent 68%);pointer-events:none;animation:omni-drift 18s ease-in-out infinite}
.hero > .wrap,.page-top > .wrap{position:relative;z-index:1}
.hero > .wrap{flex:1;display:flex;flex-direction:column}
.header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;padding:1.5rem 0;animation:omni-in .9s var(--ease) both}
.header .logo img{height:2.625rem;width:auto;display:block}
.nav{display:flex;flex-wrap:wrap;gap:0.75rem 2.25rem;font-size:0.9375rem;font-weight:500;color:#E3EEE8}
.nav a{position:relative;padding-bottom:0.25rem}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--menta);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{color:#fff}
.hero-main{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:2rem 3.5rem;padding:1rem 0}
.hero-text{flex:1.5 1 27.5rem;min-width:0;display:flex;flex-direction:column;gap:1.375rem}
.hero-text .eyebrow{font-weight:500;color:var(--mudo-sobre-escuro)}
.hero h1{font-size:clamp(2.125rem,3.4vw + 1vh,3.75rem);line-height:1.08;font-weight:600;letter-spacing:-.01em}
.hero .lead{font-size:1.0625rem;line-height:1.6;color:var(--claro-sobre-escuro);max-width:38.75rem}
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:3.125rem;padding:0 2rem;font:inherit;font-weight:600;font-size:1rem;border-radius:62.4375rem;border:0;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:0 0.625rem 1.75rem rgba(0,0,0,.22)}
.btn:active{transform:translateY(0)}
.btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);transition:left .7s var(--ease)}
.btn:hover::after{left:130%}
.btn-claro{background:var(--off);color:var(--verde-700)}
.btn-verde{background:var(--verde-700);color:#F2F6F3}
.hero-art{flex:1 1 17.5rem;min-width:0;display:flex;justify-content:center}
.hero-art img{width:100%;max-width:27.5rem;height:auto;display:block;animation:omni-float 8s ease-in-out infinite}
.stats{display:flex;flex-wrap:wrap;gap:1.25rem 0;padding:1.375rem 0 1.75rem;border-top:1px solid rgba(242,246,243,.16)}
.stat{flex:1 1 13.75rem;min-width:0;display:flex;flex-direction:column;gap:0.25rem;padding-right:1.75rem}
.stat:last-child{padding-right:0}
.stat strong{font-size:1.5rem;font-weight:600;line-height:1.3}
.stat strong span{font-size:inherit;color:inherit;line-height:inherit}
.stat span{font-size:0.875rem;line-height:1.5;color:var(--mudo-sobre-escuro)}

/* ---------- seções que ocupam a tela ---------- */
@media (min-width:901px){
  .hero,.sobre,.solucoes,.segmentos,.page-top{min-height:100vh;min-height:100svh}
}

/* ---------- quem somos ---------- */
.sobre{background:var(--off);display:flex;align-items:center;padding:1.5rem 0 2.5rem}
.sobre .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:2.5rem 5.5rem}
.sobre-text{flex:1 1 25rem;min-width:0;display:flex;flex-direction:column;gap:1.375rem}
.sobre-text .eyebrow,.sec-head .eyebrow{color:var(--texto-mudo)}
h2.titulo{font-size:clamp(1.625rem,2.2vw + 1.2vh,2.625rem);line-height:1.18;font-weight:600}
.sobre-text p{font-size:1.0625rem;line-height:1.65;color:var(--texto-suave)}
.pilares{flex:1 1 26.25rem;min-width:0;list-style:none;margin:0;padding:0}
.pilar{display:flex;gap:1.5rem;padding:1.5rem 0.75rem;border-top:1px solid var(--linha);transition:background .3s,transform .4s var(--ease)}
.pilar:last-child{border-bottom:1px solid var(--linha)}
.pilar:hover{background:rgba(255,255,255,.7);transform:translateX(0.5rem)}
.pilar .n{font-size:0.875rem;font-weight:600;color:var(--verde-500);min-width:1.75rem}
.pilar h3{font-size:1.25rem;font-weight:600;margin-bottom:0.25rem}
.pilar p{font-size:0.9375rem;line-height:1.6;color:var(--texto-suave)}

/* ---------- soluções ---------- */
.solucoes{background:var(--branco);display:flex;flex-direction:column}
.solucoes .wrap{flex:1;display:flex;flex-direction:column;justify-content:center;gap:1.125rem;padding-top:0.75rem;padding-bottom:2.25rem}
.sec-head{display:flex;flex-direction:column;gap:0.625rem}
.carousel{display:flex;flex-direction:column;gap:1rem}
.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem 1.5rem}
.chips{display:flex;flex-wrap:wrap;gap:0.5rem}
.chip{font-size:0.875rem;font-weight:500;padding:0.5rem 1.125rem;border-radius:62.4375rem;cursor:pointer;background:var(--branco);color:var(--texto);border:1px solid #C9CFC6;transition:background .25s,color .25s,transform .25s var(--ease),border-color .25s}
.chip:hover{transform:translateY(-2px);border-color:var(--verde-700)}
.chip[aria-selected="true"]{background:var(--verde-700);color:#F2F6F3;border-color:var(--verde-700)}
.nav-car{display:flex;align-items:center;gap:1rem}
.counter{font-size:0.875rem;font-weight:500;letter-spacing:.08em;color:var(--texto-mudo);min-width:3.5rem;text-align:right}
.arrows{display:flex;gap:0.625rem}
.arrow{width:2.75rem;height:2.75rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;border:1px solid #C9CFC6;background:#fff;transition:transform .25s var(--ease),background .25s}
.arrow:hover{transform:scale(1.08)}
.arrow.next{border:0;background:var(--verde-700)}
.arrow svg{width:1.25rem;height:1.25rem;fill:none;stroke:var(--verde-700);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.arrow.next svg{stroke:#F2F6F3}
.viewport{overflow:hidden;border-radius:1.75rem;background:var(--off)}
.track{display:flex;transition:transform .7s var(--ease)}
.slide{flex:0 0 100%;min-width:0;display:flex;flex-wrap:wrap}
.slide-img{flex:1 1 22.5rem;min-width:0;min-height:13rem;position:relative;overflow:hidden;background:#DCEEE5}
.slide-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.slide.is-active .slide-img img{animation:omni-zoom 1.6s var(--ease) both}
.slide-body{flex:1 1 26.25rem;min-width:0;padding:1.75rem 2.5rem;display:flex;flex-direction:column;gap:0.75rem;justify-content:center}
.slide.is-active .slide-body > *{animation:omni-in .8s var(--ease) both}
.slide.is-active .slide-body > *:nth-child(2){animation-delay:.08s}
.slide.is-active .slide-body > *:nth-child(3){animation-delay:.16s}
.slide.is-active .slide-body > *:nth-child(4){animation-delay:.24s}
.slide.is-active .slide-body > *:nth-child(5){animation-delay:.32s}
.slide-tag{font-size:0.75rem;font-weight:600;letter-spacing:.2em;color:var(--verde-500)}
.slide h3{font-size:clamp(1.375rem,1.6vw + 1.2vh,2rem);line-height:1.18;font-weight:600}
.slide-lead{font-size:0.9375rem;line-height:1.55;color:var(--texto-suave)}
.slide ul{list-style:none;margin:0;padding:2px 0;display:flex;flex-direction:column;gap:0.5rem}
.slide li{display:flex;gap:0.75rem;align-items:flex-start;font-size:0.875rem;line-height:1.5;color:#2F4A3F}
.slide li::before{content:"";flex:none;width:0.4375rem;height:0.4375rem;margin-top:0.5rem;border-radius:50%;background:var(--verde-500)}
.fact{align-self:flex-start;padding:0.4375rem 1rem;border-radius:62.4375rem;background:#DCEEE5;color:var(--verde-700);font-size:0.8125rem;font-weight:600}

/* ---------- segmentos ---------- */
.segmentos{display:flex;flex-direction:column;background:
  radial-gradient(47.5rem 30rem at 92% 38%,rgba(60,203,158,.26),transparent 62%),
  radial-gradient(47.5rem 30rem at 4% 12%,rgba(42,143,176,.22),transparent 62%),var(--verde-900)}
.segmentos .wrap{flex:1;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:2rem;padding-top:0.75rem;padding-bottom:3.5rem}
.segmentos .eyebrow{color:var(--mudo-sobre-escuro)}
.glass{display:flex;flex-wrap:wrap;border-radius:1.75rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(1.125rem);backdrop-filter:blur(1.125rem)}
.seg{flex:1 1 15rem;min-width:0;padding:2rem 1.75rem;display:flex;flex-direction:column;gap:0.625rem;transition:background .35s}
.seg:hover{background:rgba(255,255,255,.07)}
.seg + .seg{border-left:1px solid rgba(255,255,255,.14)}
.seg .n{font-size:0.875rem;font-weight:600;color:var(--menta)}
.seg h3{font-size:1.25rem;font-weight:600}
.seg p{font-size:0.9375rem;line-height:1.6;color:var(--claro-sobre-escuro)}

/* ---------- rodapé (home, claro) ---------- */
.footer{position:relative;overflow:hidden;background:var(--branco);color:var(--texto)}
.footer .wrap{position:relative;z-index:1;padding-top:1.25rem;padding-bottom:1.75rem;display:flex;flex-direction:column;gap:2rem}
.footer-top{display:flex;flex-wrap:wrap;gap:2rem 4rem}
.footer-brand{flex:2 1 18.75rem;min-width:0;display:flex;flex-direction:column;gap:1rem}
.footer-brand img{height:2.625rem;width:auto;align-self:flex-start;display:block}
.footer-brand p{max-width:22.5rem;font-size:0.9375rem;line-height:1.6;color:var(--texto-mudo)}
.footer-col{flex:1 1 12.5rem;min-width:0;display:flex;flex-direction:column;gap:0.625rem;font-size:0.9375rem}
.footer-col a{transition:color .2s,transform .3s var(--ease);align-self:flex-start}
.footer-col a:hover{color:var(--verde-500);transform:translateX(0.25rem)}
.footer-col .eyebrow{color:var(--texto-mudo)}
.footer-col span.mudo{color:var(--texto-mudo)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:center;text-align:center;gap:0.75rem 2rem;font-size:0.8125rem;line-height:1.6;color:var(--texto-mudo);border-top:1px solid #DCE2DA;padding-top:1.125rem}

/* ---------- página de contato ---------- */
.page-top{display:flex;flex-direction:column;background:
  radial-gradient(53.75rem 30rem at 84% 10%,rgba(60,203,158,.32),transparent 62%),
  radial-gradient(48.75rem 30rem at 4% 100%,rgba(42,143,176,.26),transparent 62%),var(--verde-900)}
.page-top .glow{top:5rem;right:8%;width:28.75rem;height:28.75rem;background:radial-gradient(circle,rgba(110,225,190,.28),transparent 68%)}
.page-top > .wrap{flex:1;display:flex;flex-direction:column}
.contato-grid{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:2rem 4rem;padding:0.5rem 0 2.5rem}
.contato-info{flex:1 1 23.75rem;min-width:0;display:flex;flex-direction:column;gap:1.125rem}
.contato-info .eyebrow{font-weight:500;color:var(--mudo-sobre-escuro)}
.contato-info h1{font-size:clamp(2.125rem,3.2vw + 1vh,3.5rem);line-height:1.08;font-weight:600;letter-spacing:-.01em}
.contato-info .lead{font-size:1.0625rem;line-height:1.6;color:var(--claro-sobre-escuro);max-width:32.5rem}
.canais{display:flex;flex-direction:column;font-size:1rem;line-height:1.5;max-width:32.5rem;margin-top:0.375rem}
.canal{display:flex;flex-direction:column;gap:2px;padding:0.875rem 0;border-top:1px solid rgba(255,255,255,.16);transition:padding .35s var(--ease),background .3s}
.canal:last-child{border-bottom:1px solid rgba(255,255,255,.16)}
.canal:hover{padding-left:0.75rem}
.canal small{font-size:0.8125rem;color:var(--mudo-sobre-escuro)}
.canal span{font-weight:500;overflow-wrap:anywhere}
.sociais{display:flex;flex-wrap:wrap;gap:0.5rem 1.75rem;font-size:0.875rem;color:var(--mudo-sobre-escuro)}
.form{flex:1.1 1 30rem;min-width:0;padding:1.875rem 2.125rem;border-radius:1.75rem;display:flex;flex-direction:column;gap:1rem;background:var(--branco);color:var(--texto);box-shadow:0 1.875rem 5rem rgba(0,0,0,.28)}
.form > .field{flex:none}
.row{display:flex;flex-wrap:wrap;gap:1rem}
.field{flex:1 1 13.75rem;min-width:0;display:flex;flex-direction:column;gap:0.375rem}
.field label{font-size:0.875rem;font-weight:500}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:0.9375rem;color:var(--texto);background:var(--off);border:1px solid #C9CFC6;border-radius:0.75rem;padding:0 0.875rem;transition:border-color .2s,box-shadow .2s}
.field input,.field select{height:2.875rem}
.field textarea{padding:0.75rem 0.875rem;min-height:5.75rem;line-height:1.5;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--verde-700);box-shadow:0 0 0 0.1875rem rgba(10,79,58,.18)}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg{font-size:0.875rem;line-height:1.5;padding:0.75rem 0.875rem;border-radius:0.75rem;background:#DCEEE5;color:var(--verde-700)}
.form-msg[hidden]{display:none}
.footer-dark{position:relative;overflow:hidden;color:#F2F6F3;background:#052b20}
.footer-dark .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem 2rem;padding-top:1.375rem;padding-bottom:1.375rem}
.footer-dark img{height:2.125rem;width:auto;display:block}
.footer-dark span{font-size:0.875rem;color:var(--mudo-sobre-escuro)}

/* ---------- celular / tablet ---------- */
@media (max-width:900px){
  .slide-img{min-height:16rem}
}
@media (max-width:720px){
  .wrap{padding:0 1.25rem}
  .header{padding:1.25rem 0}
  .header .logo img{height:2.25rem}
  .nav{gap:0.625rem 1.375rem;font-size:0.875rem}
  .hero-main{padding:1.5rem 0;gap:1.75rem}
  .hero .lead{font-size:1rem}
  .hero-art{order:-1}
  .hero-art img{max-width:15rem}
  .stat{padding-right:0}
  .sobre{padding:2.5rem 0 1.5rem}
  .slide-img{min-height:13.75rem;flex-basis:100%}
  .slide-body{padding:1.5rem 1.25rem;flex-basis:100%}
  .viewport{border-radius:1.375rem}
  .seg{padding:1.5rem 1.375rem}
  .seg + .seg{border-left:0;border-top:1px solid rgba(255,255,255,.14)}
  .solucoes .wrap{padding-bottom:3.5rem}
  .segmentos .wrap{padding-bottom:3rem}
  .form{padding:1.5rem 1.25rem;border-radius:1.375rem}
  .contato-grid{padding-bottom:2rem}
  .wave{height:3.5rem!important}
  .toolbar{flex-direction:column;align-items:stretch}
  .nav-car{justify-content:space-between}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .js .rv{opacity:1;transform:none}
}

/* ---------- celular: primeira tela centralizada ---------- */
@media (max-width:720px){
  .header{flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px 0 8px}
  .nav{justify-content:center;gap:6px 18px;font-size:.8125rem;text-align:center}
  .hero-main{justify-content:center;text-align:center;gap:20px;padding:12px 0 24px}
  .hero-text{align-items:center;text-align:center;gap:18px}
  .hero-text .eyebrow{letter-spacing:.16em;font-size:.6875rem}
  .hero h1{font-size:clamp(1.9rem,8.4vw,2.4rem)}
  .hero .lead{margin:0 auto;font-size:.9375rem}
  .hero-art img{max-width:11.5rem}
  .stats{justify-content:center;text-align:center}
  .stat{align-items:center;text-align:center}
  .page-top .header{padding-bottom:8px}
  .contato-info{align-items:center;text-align:center}
  .contato-info .lead{margin:0 auto}
  .canais{text-align:left;width:100%}
  .sociais{justify-content:center}
}

/* ---------- rodapé centralizado ---------- */
.footer-top{justify-content:center;align-items:flex-start;text-align:center;gap:2rem 3rem}
.footer-brand{flex:1 1 100%;align-items:center;text-align:center}
.footer-brand img{align-self:center}
.footer-brand p{margin:0 auto}
.footer-col{flex:0 1 20rem;align-items:center;text-align:center}
.footer-col a{align-self:center}
.footer-col a:hover{transform:translateY(-0.125rem)}
@media (max-width:720px){.footer-col{flex:1 1 100%}.footer-top{gap:1.75rem}}

.form ::placeholder{color:#8A9A92;opacity:1;font-weight:400}

/* links de redes sociais */
.sociais a{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:0.25em;transition:color .2s,text-decoration-color .2s}
.sociais a:hover,.sociais a:focus-visible{color:#fff;text-decoration-color:currentColor}
.footer-col span.mudo a{display:inline;align-self:auto;color:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:0.25em;transition:color .2s,text-decoration-color .2s}
.footer-col span.mudo a:hover,.footer-col span.mudo a:focus-visible{color:var(--verde-500);text-decoration-color:currentColor;transform:none}
