:root{
  --black:#030303;
  --teal:#007b7d;
  --dark-teal:#075d5d;
  --cyan:#00d6e8;
  --light:#f1f1f1;
  --text:#111;
  --white:#fff;
  --wrap:1690px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#111;color:var(--text);font-family:Roboto, Arial, Helvetica, sans-serif}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.page-shell{width:100%;max-width:1920px;margin:0 auto;background:#fff;overflow:hidden}
.site-header{height:93px;background:#020202;display:flex;align-items:center;justify-content:space-between;padding:0 116px 0 116px;position:relative;z-index:5}
.brand img{width:345px;height:auto}
.top-nav{display:flex;align-items:center;gap:42px;color:#fff;font-size:14px;font-weight:400;letter-spacing:.03em}
.nav-button{border:1px solid #fff;border-radius:14px;padding:8px 18px;font-size:12px;line-height:1}
.hero{height:870px;background:#020202;position:relative;display:grid;grid-template-columns:47% 53%;align-items:stretch;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#020202 0%,#020202 35%,rgba(2,2,2,.55) 52%,rgba(2,2,2,0) 78%);pointer-events:none}
.hero-image{background-image:url('assets/hero-right.jpg');background-size:cover;background-position:center right;min-height:100%;position:relative;z-index:0}
.hero-copy{position:relative;z-index:2;color:#fff;padding-left:116px;padding-top:128px;max-width:720px}
.hero h1{font-family:'Roboto Condensed',Arial,sans-serif;font-weight:800;font-size:86px;line-height:.95;margin:0 0 60px;letter-spacing:-.03em}
.hero h1 span{color:var(--cyan)}
.hero p{font-size:28px;line-height:1.25;font-weight:300;margin:0;max-width:590px}
.verticals{background:#f3f3f3;min-height:900px;padding:54px 115px 42px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.eyebrow{font-weight:500;margin:0 0 20px;font-size:30px;line-height:1;color:var(--teal)}
.eyebrow.teal{color:#147b7f}.eyebrow.cyan{color:var(--cyan)}.eyebrow.white{color:#fff}
.verticals h2,.partners h2{font-family:'Roboto Condensed',Arial,sans-serif;font-size:49px;line-height:.92;margin:0;font-weight:800;letter-spacing:-.025em}
.section-description{font-size:30px;line-height:1.05;margin:17px 0 0;max-width:620px;font-weight:300;color:#1a1a1a}
.carousel{margin-top:118px;width:100%}
.carousel-mask{overflow:hidden;width:100%}
.carousel-track{display:flex;gap:48px;width:max-content;animation:slideLoop 22s linear infinite;padding:0 0 8px}
.carousel:hover .carousel-track{animation-play-state:paused}
.vertical-card{width:300px;height:489px;border-radius:23px;overflow:hidden;position:relative;flex:0 0 auto;background:#111;box-shadow:0 2px 10px rgba(0,0,0,.14)}
.vertical-card img{width:100%;height:100%;object-fit:cover}
.vertical-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.72))}
.vertical-card span{position:absolute;left:0;right:0;bottom:28px;text-align:center;color:#fff;font-size:25px;font-weight:300;z-index:2}
.dots{display:flex;justify-content:center;gap:17px;margin-top:23px}.dots span{width:15px;height:15px;border-radius:50%;background:#d6d6d6}.dots .active{background:#007d7b}
@keyframes slideLoop{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 24px))}}
.operation{height:890px;position:relative;background:#071416;overflow:hidden;color:#fff}
.operation::before{content:"";position:absolute;inset:0;background-image:url('assets/factory-wide.jpg');background-size:cover;background-position:center;z-index:0}
.operation-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.operation::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.58) 28%,rgba(0,0,0,.02) 65%);z-index:2}
.operation-copy{position:relative;z-index:3;padding-left:116px;padding-top:96px;max-width:520px}
.operation h2{font-family:'Roboto Condensed',Arial,sans-serif;font-size:70px;line-height:.92;margin:0 0 58px;font-weight:800;letter-spacing:-.025em}
.operation p:not(.eyebrow){font-size:25px;line-height:1.05;font-weight:300;margin:0;color:#fff}
.features{background:#f3f3f3;display:grid;grid-template-columns:repeat(4,1fr);gap:110px;padding:96px 115px 72px;min-height:385px}
.feature img{width:76px;height:76px;object-fit:contain;margin-bottom:26px}.feature h3{font-family:'Roboto Condensed',Arial,sans-serif;color:#007e88;font-size:27px;line-height:.95;margin:0 0 28px;font-weight:800}.feature p{font-size:18px;line-height:1.15;margin:0;color:#101010;font-weight:300;max-width:210px}
.partners{background:#fff;padding:92px 116px 120px;min-height:703px}.partners .eyebrow{font-size:28px;font-weight:700;margin-bottom:20px}.partners h2{margin-bottom:70px}.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:48px}.partner-card{height:250px;border-radius:23px;background:#fff;box-shadow:0 0 28px rgba(0,0,0,.18);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:45px 28px 26px}.partner-card img{height:75px;max-width:280px;object-fit:contain;margin-bottom:36px}.partner-card:nth-child(3) img{height:85px;margin-top:-8px}.partner-card:nth-child(4) img{height:75px}.partner-card p{text-align:center;font-size:26px;line-height:1.03;margin:0;font-weight:300;color:#050505}
.solutions{background:#075d5d;color:#fff;padding:116px 116px 113px;min-height:2150px}.solutions-title{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:142px}.solutions-title .eyebrow{font-size:25px;font-weight:700;margin-bottom:31px}.solutions-title h2{font-family:'Roboto Condensed',Arial,sans-serif;color:var(--cyan);font-size:44px;line-height:1;margin:0;font-weight:800}.solutions-title img{width:145px;height:auto;margin-right:260px}.solution-row{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:0 0 78px;margin-bottom:82px;border-bottom:1px solid rgba(255,255,255,.25)}.solution-row.last{border-bottom:0;margin-bottom:0;padding-bottom:0}.solution-left .eyebrow{font-size:24px;margin-bottom:54px}.solution-left h3{font-family:'Roboto Condensed',Arial,sans-serif;font-size:62px;line-height:.96;margin:0;font-weight:800;letter-spacing:-.025em}.solution-right{padding-top:108px}.solution-right p{font-size:25px;line-height:1.05;margin:0 0 43px;font-weight:300;max-width:630px}.solution-right img{width:390px;height:auto}.solution-row:nth-child(3) .solution-right img{width:380px}.solution-row:nth-child(4) .solution-right img{width:380px}
.contact{background:#e8e8e8;padding:80px 116px 70px;min-height:760px}.contact-title{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:33px}.contact-title .eyebrow{font-size:25px;font-weight:800;margin-bottom:20px}.contact-title p:not(.eyebrow){font-size:26px;line-height:1.08;margin:0;max-width:730px;font-weight:300}.contact-title img{width:94px;margin-right:6px}.contact-form{display:flex;flex-direction:column;gap:27px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact input,.contact textarea{width:100%;border:0;border-radius:10px;background:#fff;min-height:55px;font-size:22px;padding:10px 18px;outline:0}.contact textarea{min-height:178px;resize:vertical}.contact button{align-self:flex-end;background:#007b7d;color:#fff;border:0;border-radius:12px;min-width:214px;height:50px;font-size:20px;cursor:pointer}
.footer{background:#fff;min-height:357px;display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:45px;align-items:center;padding:72px 115px}.footer-logo{width:375px}.address{display:flex;gap:18px;align-items:flex-start;border-left:2px solid #0c8a8a;padding-left:35px;min-height:100px}.address img{width:70px;height:auto}.address p{font-size:18px;line-height:1.18;margin:3px 0 0;color:#111}.address strong{font-size:20px}
@media (max-width:1400px){.site-header{padding:0 70px}.brand img{width:280px}.top-nav{gap:28px;font-size:12px}.hero-copy,.operation-copy{padding-left:70px}.verticals,.features,.partners,.solutions,.contact,.footer{padding-left:70px;padding-right:70px}.hero h1{font-size:70px}.hero p{font-size:23px}.vertical-card{width:240px;height:391px}.carousel-track{gap:35px}.solutions-title img{margin-right:100px}.solution-left h3{font-size:52px}.features{gap:60px}}
@media (max-width:980px){.page-shell{max-width:none}.site-header{height:auto;min-height:82px;padding:20px 28px;gap:22px;flex-wrap:wrap}.brand img{width:250px}.top-nav{width:100%;justify-content:flex-start;gap:18px;overflow-x:auto;padding-bottom:4px}.hero{height:auto;min-height:720px;display:block;background:#020202}.hero-image{position:absolute;inset:0;background-position:center right;opacity:.58}.hero::after{background:linear-gradient(90deg,#020202 0%,rgba(2,2,2,.82) 52%,rgba(2,2,2,.2) 100%)}.hero-copy{padding:90px 32px 110px;max-width:620px}.hero h1{font-size:56px}.hero p{font-size:21px}.verticals{min-height:auto;padding:50px 32px}.two-col{grid-template-columns:1fr;gap:22px}.section-description{font-size:24px}.carousel{margin-top:52px}.vertical-card{width:220px;height:358px}.features{grid-template-columns:repeat(2,1fr);gap:56px;padding:70px 32px}.partners{padding:70px 32px}.partner-grid{grid-template-columns:repeat(2,1fr);gap:30px}.solutions{padding:75px 32px;min-height:auto}.solutions-title{margin-bottom:70px}.solutions-title img{margin-right:0;width:110px}.solution-row{grid-template-columns:1fr;gap:0;margin-bottom:60px;padding-bottom:60px}.solution-right{padding-top:34px}.solution-left h3{font-size:44px}.solution-right p{font-size:22px}.contact{padding:60px 32px}.footer{grid-template-columns:1fr 1fr;padding:52px 32px}.footer-logo{width:280px}.address{padding-left:22px}}
@media (max-width:620px){.top-nav{font-size:11px}.nav-button{white-space:nowrap}.hero-copy{padding:74px 24px 90px}.hero h1{font-size:42px;margin-bottom:34px}.hero p{font-size:18px}.verticals h2,.partners h2{font-size:38px}.eyebrow{font-size:22px}.section-description{font-size:20px}.carousel-track{gap:22px;animation-duration:18s}.vertical-card{width:180px;height:293px;border-radius:18px}.vertical-card span{font-size:19px}.features{grid-template-columns:1fr;padding:55px 24px}.feature p{max-width:none}.partner-grid{grid-template-columns:1fr}.partner-card{height:230px}.solutions-title{align-items:center}.solutions-title h2{font-size:32px}.solutions-title img{width:80px}.solution-left h3{font-size:36px}.solution-right img{width:270px}.form-row{grid-template-columns:1fr}.contact-title{gap:20px}.contact-title p:not(.eyebrow){font-size:20px}.contact-title img{width:72px}.contact button{width:100%}.footer{grid-template-columns:1fr;gap:28px}.address{border-left:2px solid #0c8a8a}}


/* === AJUSTE DE LOGOTIPOS TRANSPARENTES / FIDELIDADE DO LAYOUT === */
.brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.brand img{
  width:345px;
  max-height:58px;
  height:auto;
  object-fit:contain;
  object-position:left center;
  display:block;
  background:transparent !important;
}

.partner-card{
  overflow:visible;
}
.partner-card img{
  display:block;
  width:auto;
  height:auto;
  max-width:78%;
  max-height:86px;
  object-fit:contain;
  object-position:center;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}
.partner-card:nth-child(1) img{
  max-width:185px;
  max-height:64px;
  margin-top:4px;
  margin-bottom:34px;
}
.partner-card:nth-child(2) img{
  max-width:220px;
  max-height:64px;
  margin-top:4px;
  margin-bottom:34px;
}
.partner-card:nth-child(3) img{
  max-width:236px;
  max-height:86px;
  margin-top:-6px;
  margin-bottom:26px;
}
.partner-card:nth-child(4) img{
  max-width:230px;
  max-height:82px;
  margin-top:-4px;
  margin-bottom:28px;
}

.solution-right img{
  display:block;
  height:auto;
  max-height:125px;
  object-fit:contain;
  object-position:left center;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}
.solution-row:nth-of-type(1) .solution-right img{
  width:390px;
  max-width:100%;
}
.solution-row:nth-of-type(2) .solution-right img{
  width:390px;
  max-width:100%;
}
.solution-row:nth-of-type(3) .solution-right img{
  width:380px;
  max-width:100%;
}

@media (max-width:1400px){
  .brand img{width:280px;max-height:52px}
}
@media (max-width:980px){
  .brand img{width:250px;max-height:48px}
  .partner-card img{max-width:76%;max-height:80px}
}
@media (max-width:620px){
  .brand img{width:220px;max-height:43px}
  .partner-card img{max-width:72%;max-height:72px}
  .solution-right img{width:270px !important;max-width:100%}
}


/* === PARALLAX MODERNO / EFEITOS DINÂMICOS === */
:root{
  --motion-soft:cubic-bezier(.22,.61,.36,1);
}



.site-header{
  backdrop-filter:saturate(120%) blur(8px);
}

.hero,
.operation{
  isolation:isolate;
}

.hero-image,
.operation-video{
  will-change:transform;
  backface-visibility:hidden;
}

.hero-image{
  transform:translate3d(0,0,0) scale(1.04);
}

.operation-video{
  transform:translate3d(0,0,0) scale(1.04);
}

.hero-copy,
.operation-copy{
  animation:copyEnter .9s var(--motion-soft) both;
}

@keyframes copyEnter{
  from{
    opacity:0;
    transform:translate3d(0,28px,0);
  }
  to{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

.reveal-section,
.reveal-item,
.partner-card,
.feature,
.solution-row{
  opacity:0;
  transform:translate3d(0,36px,0);
  transition:
    opacity .8s var(--motion-soft),
    transform .8s var(--motion-soft);
}

.reveal-section.is-visible,
.reveal-item.is-visible,
.partner-card.is-visible,
.feature.is-visible,
.solution-row.is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}

.feature:nth-child(2),
.partner-card:nth-child(2){
  transition-delay:.08s;
}
.feature:nth-child(3),
.partner-card:nth-child(3){
  transition-delay:.16s;
}
.feature:nth-child(4),
.partner-card:nth-child(4){
  transition-delay:.24s;
}

.vertical-card,
.partner-card{
  transition:
    transform .45s var(--motion-soft),
    box-shadow .45s var(--motion-soft),
    filter .45s var(--motion-soft);
  will-change:transform;
}

.vertical-card:hover{
  transform:translate3d(0,-10px,0) scale(1.025);
  box-shadow:0 18px 38px rgba(0,0,0,.26);
  filter:saturate(1.08) contrast(1.03);
}

.partner-card:hover{
  transform:translate3d(0,-8px,0);
  box-shadow:0 22px 42px rgba(0,0,0,.2);
}

.carousel-track{
  animation-duration:24s;
}

.carousel-mask{
  position:relative;
}

.carousel-mask::before,
.carousel-mask::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:80px;
  z-index:3;
  pointer-events:none;
}

.carousel-mask::before{
  left:0;
  background:linear-gradient(90deg,#f3f3f3,rgba(243,243,243,0));
}

.carousel-mask::after{
  right:0;
  background:linear-gradient(270deg,#f3f3f3,rgba(243,243,243,0));
}

.operation::after{
  background:
    radial-gradient(circle at 78% 28%, rgba(0,214,232,.16), rgba(0,0,0,0) 28%),
    linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.58) 30%,rgba(0,0,0,.04) 68%);
}

.hero::after{
  background:
    radial-gradient(circle at 70% 25%, rgba(0,214,232,.10), rgba(0,0,0,0) 32%),
    linear-gradient(90deg,#020202 0%,#020202 35%,rgba(2,2,2,.55) 52%,rgba(2,2,2,0) 78%);
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.001ms !important;
  }

  .hero-image,
  .operation-video{
    transform:none !important;
  }

  .reveal-section,
  .reveal-item,
  .partner-card,
  .feature,
  .solution-row{
    opacity:1 !important;
    transform:none !important;
  }
}

@media (max-width:980px){
  .hero-image,
  .operation-video{
    transform:none !important;
  }

  .vertical-card:hover,
  .partner-card:hover{
    transform:none;
  }

  .carousel-mask::before,
  .carousel-mask::after{
    width:42px;
  }
}






/* === HEADER FIXO REAL NO VIEWPORT === */
html,
body{
  overflow-x:hidden;
}

body{
  padding-top:0 !important;
}

.site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  max-width:none !important;
  height:93px !important;
  transform:none !important;
  z-index:2147483647 !important;
  background:rgba(2,2,2,.96) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.28);
  backdrop-filter:saturate(130%) blur(8px);
  -webkit-backdrop-filter:saturate(130%) blur(8px);
}

/* Mantém o conteúdo rolando por baixo do header, sem empurrar a página */
.page-shell{
  padding-top:0 !important;
  overflow:hidden;
}

.hero{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* Ancora interna considerando o header fixo */
section[id]{
  scroll-margin-top:110px;
}

@media (max-width:980px){
  .site-header{
    height:auto !important;
    min-height:82px !important;
  }
}

@media (max-width:620px){
  .site-header{
    min-height:92px !important;
  }
}


/* === CORREÇÃO DA ÁREA ECOSSISTEMA DE SOLUÇÕES === */
/* Remove a linha extra animada do parallax e mantém apenas a divisão original entre blocos */
.solution-row{
  position:relative;
  border-top:0 !important;
  border-bottom:1px solid rgba(255,255,255,.28) !important;
  margin-bottom:82px;
  padding-bottom:78px;
}

.solution-row::before,
.solution-row::after{
  display:none !important;
  content:none !important;
}

.solution-row.last{
  border-bottom:0 !important;
  margin-bottom:0;
  padding-bottom:0;
}

/* Mantém o respiro como no layout-base, sem abrir vãos grandes em zoom */
.solution-right{
  padding-top:108px;
}

@media (max-width:980px){
  .solution-row{
    margin-bottom:60px;
    padding-bottom:60px;
  }

  .solution-right{
    padding-top:34px;
  }
}


/* === CORREÇÃO DO ESPAÇO EXCESSIVO NO TOPO DA ÁREA DE SOLUÇÕES === */
.solutions{
  padding-top:72px !important;
}

.solutions-title{
  margin-bottom:34px !important;
  padding-bottom:0 !important;
}

.solutions-title h2{
  margin:0 !important;
  line-height:1.02;
}

.solutions-title .eyebrow{
  margin:0 0 12px 0 !important;
}

.solutions .solution-row:first-of-type{
  margin-top:0 !important;
  padding-top:0 !important;
}

.solutions .solution-row:first-of-type .solution-left{
  padding-top:6px !important;
}

.solutions .solution-row:first-of-type .solution-right{
  padding-top:26px !important;
}

@media (max-width:980px){
  .solutions{
    padding-top:56px !important;
  }

  .solutions-title{
    margin-bottom:26px !important;
  }

  .solutions .solution-row:first-of-type .solution-left,
  .solutions .solution-row:first-of-type .solution-right{
    padding-top:0 !important;
  }
}


/* === AJUSTE FINAL: ESPAÇOS DA ÁREA VERDE + ÍCONES PNG === */
.solutions{
  min-height:0 !important;
  padding-top:92px !important;
  padding-bottom:105px !important;
}

.solutions-title{
  margin-bottom:74px !important;
}

.solution-row{
  margin-bottom:70px !important;
  padding-bottom:66px !important;
  border-bottom:1px solid rgba(255,255,255,.28) !important;
}

.solution-row.last{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  border-bottom:0 !important;
}

.solution-left .eyebrow{
  margin-bottom:42px !important;
}

.solution-right{
  padding-top:86px !important;
}

.solution-right p{
  margin-bottom:34px !important;
}

.feature img,
.contact-title img{
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.feature img{
  width:76px !important;
  height:76px !important;
  max-width:76px !important;
  max-height:76px !important;
}

.contact-title img{
  width:94px !important;
  height:auto !important;
  max-height:74px !important;
}

@media (max-width:1400px){
  .solutions{
    padding-top:76px !important;
    padding-bottom:82px !important;
  }

  .solutions-title{
    margin-bottom:58px !important;
  }

  .solution-row{
    margin-bottom:56px !important;
    padding-bottom:54px !important;
  }

  .solution-right{
    padding-top:58px !important;
  }
}

@media (max-width:980px){
  .solutions{
    min-height:0 !important;
    padding-top:56px !important;
    padding-bottom:64px !important;
  }

  .solutions-title{
    margin-bottom:38px !important;
  }

  .solution-row{
    margin-bottom:48px !important;
    padding-bottom:48px !important;
  }

  .solution-left .eyebrow{
    margin-bottom:26px !important;
  }

  .solution-right{
    padding-top:26px !important;
  }
}

@media (max-width:620px){
  .solutions{
    padding-top:48px !important;
    padding-bottom:54px !important;
  }

  .solutions-title{
    margin-bottom:30px !important;
  }

  .solution-row{
    margin-bottom:42px !important;
    padding-bottom:42px !important;
  }

  .feature img{
    width:66px !important;
    height:66px !important;
  }

  .contact-title img{
    width:72px !important;
    max-height:62px !important;
  }
}


/* === AJUSTE FINAL: DISTÂNCIAS, ÍCONE CÂMERA E LOGO DO RODAPÉ === */
/* Reduz aproximadamente 30% o respiro entre a área de formulário e o rodapé */
.contact{
  min-height:532px !important;
  padding-bottom:42px !important;
}

.footer{
  min-height:250px !important;
  padding-top:50px !important;
  padding-bottom:50px !important;
}

/* Ícone câmera da seção Soluções, sem caixa e sem corte */
.solutions-title img{
  width:145px !important;
  height:auto !important;
  max-height:120px !important;
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

/* Logo preto do rodapé, com proporção fiel */
.footer-logo{
  width:375px !important;
  height:auto !important;
  max-height:70px !important;
  object-fit:contain !important;
  object-position:left center !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

@media (max-width:1400px){
  .contact{
    min-height:500px !important;
    padding-bottom:38px !important;
  }

  .footer{
    min-height:230px !important;
    padding-top:44px !important;
    padding-bottom:44px !important;
  }
}

@media (max-width:980px){
  .contact{
    min-height:auto !important;
    padding-bottom:44px !important;
  }

  .footer{
    min-height:auto !important;
    padding-top:42px !important;
    padding-bottom:42px !important;
  }

  .solutions-title img{
    width:110px !important;
    max-height:95px !important;
  }

  .footer-logo{
    width:280px !important;
    max-height:58px !important;
  }
}

@media (max-width:620px){
  .solutions-title img{
    width:82px !important;
    max-height:78px !important;
  }

  .footer-logo{
    width:235px !important;
    max-height:52px !important;
  }
}






/* === ÍCONE CÂMERA ALINHADO COM A BORDA DIREITA DO BOX SYAC === */
.solutions-title{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:60px !important;
  margin-bottom:74px !important;
}

.solutions-title > div{
  flex:0 1 auto !important;
}

.solutions-title img{
  flex:0 0 auto !important;
  width:145px !important;
  height:auto !important;
  max-height:120px !important;
  margin-left:auto !important;
  margin-right:0 !important;
  margin-top:0 !important;
  transform:none !important;
  object-fit:contain !important;
  object-position:center !important;
}

@media (max-width:1400px){
  .solutions-title img{
    margin-right:0 !important;
    width:128px !important;
  }
}

@media (max-width:980px){
  .solutions-title{
    gap:24px !important;
  }

  .solutions-title img{
    margin-right:0 !important;
    width:110px !important;
    max-height:95px !important;
  }
}

@media (max-width:620px){
  .solutions-title img{
    width:82px !important;
    max-height:78px !important;
  }
}


/* === AJUSTE DE ESPAÇO ENTRE PARCEIROS E SOLUÇÕES + CÂMERA MENOR === */
.partners{
  padding-bottom:56px !important;
  min-height:auto !important;
}

.solutions{
  padding-top:58px !important;
}

.solutions-title{
  margin-bottom:48px !important;
}

.solutions-title img{
  width:108px !important;
  max-height:90px !important;
  height:auto !important;
  margin-right:0 !important;
  object-fit:contain !important;
  object-position:center !important;
}

@media (max-width:1400px){
  .partners{
    padding-bottom:48px !important;
  }

  .solutions{
    padding-top:52px !important;
  }

  .solutions-title{
    margin-bottom:42px !important;
  }

  .solutions-title img{
    width:96px !important;
    max-height:82px !important;
  }
}

@media (max-width:980px){
  .partners{
    padding-bottom:40px !important;
  }

  .solutions{
    padding-top:46px !important;
  }

  .solutions-title{
    margin-bottom:34px !important;
  }

  .solutions-title img{
    width:82px !important;
    max-height:72px !important;
  }
}

@media (max-width:620px){
  .partners{
    padding-bottom:34px !important;
  }

  .solutions{
    padding-top:38px !important;
  }

  .solutions-title{
    margin-bottom:28px !important;
  }

  .solutions-title img{
    width:72px !important;
    max-height:64px !important;
  }
}


/* === ALINHAMENTO DA COLUNA DE TEXTOS À DIREITA === */
/* Coluna direita das soluções: largura e alinhamento mais fiéis ao layout */
.solution-row{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) !important;
  column-gap:70px !important;
  align-items:start !important;
}

.solution-right{
  width:100% !important;
  max-width:510px !important;
  justify-self:end !important;
  text-align:left !important;
  padding-top:86px !important;
}

.solution-right p{
  width:100% !important;
  max-width:510px !important;
  margin:0 0 34px 0 !important;
  text-align:left !important;
}

.solution-right img{
  display:block !important;
  margin-left:0 !important;
  margin-right:auto !important;
  align-self:flex-start !important;
}

/* Ajuste fino de cada logo para seguir a borda esquerda do texto */
.solution-row:nth-of-type(1) .solution-right img{
  width:310px !important;
}

.solution-row:nth-of-type(2) .solution-right img{
  width:265px !important;
}

.solution-row:nth-of-type(3) .solution-right img{
  width:360px !important;
}

/* Texto de apoio no topo da área de verticais */
.verticals .intro-text,
.verticals .verticals-copy,
.verticals .verticals-top-right,
.verticals .verticals-description{
  max-width:470px !important;
  justify-self:end !important;
  text-align:left !important;
}

/* Caso a área use um seletor mais genérico para o texto da direita */
.verticals > .top-row p,
.verticals .section-intro p{
  max-width:470px !important;
}

@media (max-width:1400px){
  .solution-row{
    column-gap:56px !important;
  }

  .solution-right{
    max-width:470px !important;
    padding-top:58px !important;
  }

  .solution-right p{
    max-width:470px !important;
  }

  .solution-row:nth-of-type(1) .solution-right img{width:280px !important;}
  .solution-row:nth-of-type(2) .solution-right img{width:240px !important;}
  .solution-row:nth-of-type(3) .solution-right img{width:330px !important;}
}

@media (max-width:980px){
  .solution-row{
    grid-template-columns:1fr !important;
    row-gap:0 !important;
  }

  .solution-right{
    max-width:none !important;
    width:100% !important;
    justify-self:stretch !important;
    padding-top:26px !important;
  }

  .solution-right p{
    max-width:none !important;
  }

  .solution-row:nth-of-type(1) .solution-right img,
  .solution-row:nth-of-type(2) .solution-right img,
  .solution-row:nth-of-type(3) .solution-right img{
    width:auto !important;
    max-width:100% !important;
  }
}


/* === ALINHAMENTO DO TEXTO SUPERIOR DIREITO DA ÁREA DE VERTICAIS === */
.verticals .section-head,
.verticals .verticals-head,
.verticals .top-row{
  align-items:start !important;
}

.verticals .section-head p,
.verticals .verticals-head p,
.verticals .top-row p{
  max-width:470px !important;
  width:100% !important;
  justify-self:end !important;
  margin-left:auto !important;
  margin-right:0 !important;
  text-align:left !important;
}

/* fallback para estruturas com 2 colunas */
.verticals > div:first-child p{
  max-width:470px !important;
  margin-left:auto !important;
  margin-right:0 !important;
  text-align:left !important;
}

@media (max-width:980px){
  .verticals .section-head p,
  .verticals .verticals-head p,
  .verticals .top-row p,
  .verticals > div:first-child p{
    max-width:none !important;
    margin-left:0 !important;
  }
}


/* === ALINHAMENTO À ESQUERDA DOS TÍTULOS DA ÁREA DE VERTICAIS === */
.verticals .section-head,
.verticals .two-col{
  align-items:start !important;
}

.verticals .section-head > div,
.verticals .two-col > div:first-child{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  text-align:left !important;
}

.verticals .section-head .eyebrow,
.verticals .two-col .eyebrow{
  margin:0 0 20px 0 !important;
  padding:0 !important;
  text-align:left !important;
  align-self:flex-start !important;
}

.verticals .section-head h2,
.verticals .two-col h2{
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
  align-self:flex-start !important;
}

@media (max-width:980px){
  .verticals .section-head > div,
  .verticals .two-col > div:first-child{
    width:100% !important;
  }
}


/* === DISTRIBUIÇÃO SIMÉTRICA DOS 4 BLOCOS DE RECURSOS === */
.features{
  display:grid !important;
  grid-template-columns:repeat(4, 215px) !important;
  justify-content:space-between !important;
  align-items:start !important;
  gap:0 !important;
  padding:96px 116px 72px !important;
}

.feature{
  width:215px !important;
  justify-self:start !important;
}

.feature:last-child{
  justify-self:end !important;
}

.feature h3,
.feature p{
  max-width:100% !important;
}

/* tablet */
@media (max-width:1400px){
  .features{
    grid-template-columns:repeat(4, 200px) !important;
    padding:86px 90px 68px !important;
  }

  .feature{
    width:200px !important;
  }
}

/* mobile/tablet menor */
@media (max-width:980px){
  .features{
    grid-template-columns:repeat(2, minmax(220px, 1fr)) !important;
    justify-content:stretch !important;
    gap:48px 42px !important;
    padding:72px 32px 56px !important;
  }

  .feature,
  .feature:last-child{
    width:auto !important;
    justify-self:stretch !important;
  }
}

@media (max-width:620px){
  .features{
    grid-template-columns:1fr !important;
    gap:34px !important;
    padding:56px 24px 42px !important;
  }
}


/* === REMOVE OS DOTS DO CARROSSEL === */
.dots{
  display:none !important;
}


/* === AJUSTE: TEXTO DO HERO UM POUCO MAIS BAIXO === */
.hero-copy{
  padding-top:170px !important;
}

@media (max-width:1400px){
  .hero-copy{
    padding-top:145px !important;
  }
}

@media (max-width:980px){
  .hero-copy{
    padding-top:118px !important;
  }
}

@media (max-width:620px){
  .hero-copy{
    padding-top:96px !important;
  }
}


/* === CORREÇÃO DA ÁREA DO VÍDEO: SEM IMAGEM ATRÁS E SEM FAIXA SUPERIOR === */
.operation{
  background:#000 !important;
  overflow:hidden !important;
}

.operation::before{
  display:none !important;
  content:none !important;
  background:none !important;
  background-image:none !important;
}

.operation-video{
  top:0 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  transform:none !important;
  scale:1 !important;
}

/* Desativa o deslocamento parallax só no vídeo para não abrir fresta no topo */
.operation-video[data-parallax-speed]{
  transform:none !important;
}


/* === CORREÇÃO DOS ÍCONES DO RODAPÉ === */
.address img{
  width:auto !important;
  height:auto !important;
  max-width:56px !important;
  max-height:42px !important;
  object-fit:contain !important;
  object-position:left center !important;
  display:block !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.address:nth-child(2) img{ /* Brasil */
  max-width:40px !important;
  max-height:40px !important;
}

.address:nth-child(3) img{ /* Itália */
  max-width:34px !important;
  max-height:42px !important;
}

.address:nth-child(4) img{ /* EUA */
  max-width:48px !important;
  max-height:30px !important;
}

@media (max-width:980px){
  .address img{
    max-width:44px !important;
    max-height:34px !important;
  }
}


/* === FORMULÁRIO FUNCIONAL === */
.contact input::placeholder,
.contact textarea::placeholder{
  color:rgba(0,0,0,.35);
}

.contact input,
.contact textarea{
  font-family:Roboto, Arial, Helvetica, sans-serif;
}

.contact button{
  transition:transform .25s ease, background .25s ease;
}

.contact button:hover{
  background:#006b6c;
  transform:translateY(-1px);
}


/* === FORM COM RÓTULOS ACIMA DOS CAMPOS === */
.contact-form{
  gap:20px !important;
}

.form-field{
  display:flex;
  flex-direction:column;
  gap:8px;
  width:100%;
}

.form-field span{
  font-family:Roboto, Arial, Helvetica, sans-serif;
  font-size:18px;
  line-height:1;
  font-weight:500;
  color:#111;
}

.contact input,
.contact textarea{
  color:#111;
}

.contact input::placeholder,
.contact textarea::placeholder{
  color:transparent;
}

.contact textarea{
  min-height:178px;
}

.form-row{
  align-items:start;
}

@media (max-width:620px){
  .form-field span{
    font-size:16px;
  }
}


/* === CAMPO WHATSAPP === */
.form-field input[type="tel"]::placeholder{
  color:rgba(0,0,0,.35);
}


/* === FORMULÁRIO FINAL CONFORME REFERÊNCIA === */
.contact{
  background:#e8e8e8 !important;
  padding:80px 86px 72px !important;
}

.contact-title{
  margin-bottom:54px !important;
}

.contact-title .eyebrow{
  color:#007b7d !important;
  font-size:28px !important;
  font-weight:800 !important;
  margin-bottom:26px !important;
}

.contact-title p:not(.eyebrow){
  max-width:760px !important;
  font-size:28px !important;
  line-height:1.03 !important;
  font-weight:400 !important;
  color:#111 !important;
}

.contact-title img{
  width:84px !important;
  max-height:66px !important;
  margin-top:24px !important;
}

.contact-form-v2{
  display:flex !important;
  flex-direction:column !important;
  gap:22px !important;
}

.contact-form-v2 .form-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:22px 28px !important;
}

.contact-form-v2 .form-field{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  width:100% !important;
}

.contact-form-v2 .form-field span{
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:21px !important;
  line-height:1 !important;
  font-weight:400 !important;
  color:#111 !important;
}

.contact-form-v2 input,
.contact-form-v2 textarea{
  width:100% !important;
  border:0 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#111 !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:21px !important;
  padding:10px 16px !important;
  outline:0 !important;
}

.contact-form-v2 input{
  min-height:44px !important;
}

.contact-form-v2 textarea{
  min-height:100px !important;
  resize:vertical !important;
}

.contact-form-v2 button{
  align-self:flex-end !important;
  background:#007b7d !important;
  color:#fff !important;
  border:0 !important;
  border-radius:10px !important;
  min-width:150px !important;
  height:42px !important;
  font-size:23px !important;
  line-height:1 !important;
  cursor:pointer !important;
  margin-top:0 !important;
}

.contact-form-v2 button:hover{
  background:#006b6c !important;
}

@media (max-width:980px){
  .contact{
    padding:64px 32px 58px !important;
  }

  .contact-title{
    margin-bottom:36px !important;
  }

  .contact-title p:not(.eyebrow){
    font-size:23px !important;
    max-width:100% !important;
  }

  .contact-form-v2 .form-grid{
    grid-template-columns:1fr !important;
  }

  .contact-form-v2 button{
    width:100% !important;
  }
}

@media (max-width:620px){
  .contact{
    padding:54px 24px 48px !important;
  }

  .contact-title{
    gap:18px !important;
  }

  .contact-title .eyebrow{
    font-size:24px !important;
  }

  .contact-title p:not(.eyebrow){
    font-size:20px !important;
  }

  .contact-form-v2 .form-field span{
    font-size:18px !important;
  }
}


/* === FORMULÁRIO FIEL À REFERÊNCIA ENVIADA === */
.contact{
  background:#e7e7e7 !important;
  padding:72px 40px 42px !important;
  min-height:auto !important;
}

.contact-title{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto !important;
  align-items:start !important;
  gap:24px !important;
  margin-bottom:48px !important;
}

.contact-title .eyebrow{
  color:#0a7c82 !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:25px !important;
  line-height:1 !important;
  font-weight:700 !important;
  margin:0 0 28px 0 !important;
  text-transform:uppercase !important;
}

.contact-title p:not(.eyebrow){
  max-width:950px !important;
  margin:0 !important;
  color:#111 !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:25px !important;
  line-height:1.02 !important;
  font-weight:400 !important;
}

.contact-title img{
  width:78px !important;
  max-width:78px !important;
  max-height:none !important;
  height:auto !important;
  margin:10px 12px 0 0 !important;
  justify-self:end !important;
  align-self:start !important;
  object-fit:contain !important;
  object-position:center !important;
}

.contact-form-v2{
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
  margin-top:0 !important;
}

.contact-form-v2 .form-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  column-gap:24px !important;
  row-gap:16px !important;
}

.contact-form-v2 .form-field{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  width:100% !important;
  margin:0 !important;
}

.contact-form-v2 .form-field span{
  color:#111 !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}

.contact-form-v2 input,
.contact-form-v2 textarea{
  width:100% !important;
  border:0 !important;
  border-radius:12px !important;
  background:#ffffff !important;
  box-shadow:none !important;
  outline:none !important;
  color:#111 !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:18px !important;
  line-height:1.2 !important;
  padding:12px 16px !important;
}

.contact-form-v2 input{
  height:42px !important;
  min-height:42px !important;
}

.contact-form-v2 textarea{
  min-height:97px !important;
  height:97px !important;
  resize:vertical !important;
}

.contact-form-v2 .message-field{
  margin-top:0 !important;
}

.contact-form-v2 button{
  align-self:flex-start !important;
  margin-top:4px !important;
  width:142px !important;
  height:40px !important;
  min-width:142px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#0a7c82 !important;
  color:#fff !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:21px !important;
  line-height:1 !important;
  font-weight:400 !important;
  cursor:pointer !important;
}

.contact-form-v2 button:hover{
  background:#086c70 !important;
}

.contact-form-v2 input::placeholder,
.contact-form-v2 textarea::placeholder{
  color:transparent !important;
}

@media (max-width:980px){
  .contact{
    padding:56px 28px 38px !important;
  }

  .contact-title{
    grid-template-columns:1fr auto !important;
    gap:20px !important;
    margin-bottom:34px !important;
  }

  .contact-title .eyebrow{
    font-size:22px !important;
    margin-bottom:20px !important;
  }

  .contact-title p:not(.eyebrow){
    font-size:21px !important;
    max-width:100% !important;
  }

  .contact-title img{
    width:64px !important;
    max-width:64px !important;
  }

  .contact-form-v2 .form-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .contact-form-v2 button{
    width:100% !important;
    min-width:0 !important;
  }
}

@media (max-width:620px){
  .contact{
    padding:48px 22px 34px !important;
  }

  .contact-title{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .contact-title img{
    justify-self:start !important;
    margin:0 !important;
  }

  .contact-title .eyebrow{
    font-size:20px !important;
  }

  .contact-title p:not(.eyebrow){
    font-size:18px !important;
    line-height:1.1 !important;
  }

  .contact-form-v2 .form-field span{
    font-size:16px !important;
  }

  .contact-form-v2 input,
  .contact-form-v2 textarea{
    font-size:16px !important;
  }

  .contact-form-v2 button{
    font-size:19px !important;
  }
}


/* === MENU HAMBÚRGUER MOBILE === */
.menu-toggle{
  display:none;
  width:46px;
  height:40px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:10px;
  background:transparent;
  padding:9px 10px;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
}

.menu-toggle span{
  display:block;
  width:22px;
  height:2px;
  border-radius:2px;
  background:#fff;
  transition:transform .28s ease, opacity .28s ease;
}

.menu-toggle.is-open span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

.menu-toggle.is-open span:nth-child(2){
  opacity:0;
}

.menu-toggle.is-open span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

@media (max-width:980px){
  .site-header{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    flex-wrap:nowrap !important;
    gap:18px !important;
    min-height:82px !important;
    height:82px !important;
    padding:16px 28px !important;
  }

  .brand{
    position:relative;
    z-index:10001;
  }

  .brand img{
    width:230px !important;
    max-height:46px !important;
  }

  .menu-toggle{
    display:flex !important;
    position:relative;
    z-index:10001;
    flex:0 0 auto;
  }

  .top-nav{
    position:fixed !important;
    top:82px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    padding:10px 28px 22px !important;
    background:rgba(2,2,2,.97) !important;
    border-top:1px solid rgba(255,255,255,.14);
    box-shadow:0 18px 34px rgba(0,0,0,.34);
    transform:translateY(-16px);
    opacity:0;
    pointer-events:none;
    visibility:hidden;
    transition:opacity .28s ease, transform .28s ease, visibility .28s ease;
    overflow:visible !important;
    z-index:10000 !important;
  }

  .top-nav.is-open{
    opacity:1;
    pointer-events:auto;
    visibility:visible;
    transform:translateY(0);
  }

  .top-nav a{
    display:block !important;
    width:100%;
    color:#fff !important;
    font-size:14px !important;
    line-height:1 !important;
    padding:16px 0 !important;
    border-bottom:1px solid rgba(255,255,255,.14);
    letter-spacing:.04em;
  }

  .top-nav .nav-button{
    width:100%;
    text-align:center;
    border:1px solid rgba(255,255,255,.8) !important;
    border-radius:18px !important;
    padding:13px 18px !important;
    margin-top:16px;
    border-bottom:1px solid rgba(255,255,255,.8) !important;
  }
}

@media (max-width:620px){
  .site-header{
    height:76px !important;
    min-height:76px !important;
    padding:14px 22px !important;
  }

  .brand img{
    width:196px !important;
    max-height:40px !important;
  }

  .menu-toggle{
    width:42px;
    height:38px;
  }

  .top-nav{
    top:76px !important;
    padding:8px 22px 20px !important;
  }
}


/* === HEADER DESKTOP 100% FIEL À REFERÊNCIA === */
@media (min-width:981px){
  .site-header{
    position:fixed !important;
    top:0 !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:100% !important;
    max-width:1920px !important;
    height:112px !important;
    min-height:112px !important;
    padding:0 140px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    background:#020202 !important;
    box-shadow:none !important;
    border:0 !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    z-index:99999 !important;
  }

  .brand{
    display:flex !important;
    align-items:center !important;
    flex:0 0 auto !important;
    height:112px !important;
  }

  .brand img{
    width:456px !important;
    max-width:456px !important;
    height:auto !important;
    max-height:72px !important;
    object-fit:contain !important;
    object-position:left center !important;
    display:block !important;
    background:transparent !important;
  }

  .top-nav{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:58px !important;
    position:static !important;
    width:auto !important;
    height:auto !important;
    padding:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
    overflow:visible !important;
  }

  .top-nav a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    color:#ffffff !important;
    font-family:Roboto, Arial, Helvetica, sans-serif !important;
    font-size:18px !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:.01em !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
  }

  .top-nav .nav-button{
    border:1.5px solid rgba(255,255,255,.82) !important;
    border-radius:22px !important;
    padding:12px 28px !important;
    font-size:16px !important;
    line-height:1 !important;
    font-weight:700 !important;
    min-width:auto !important;
    height:auto !important;
    margin-left:8px !important;
    text-align:center !important;
  }

  .menu-toggle{
    display:none !important;
  }

  .hero{
    padding-top:0 !important;
  }
}

/* Ajuste para notebooks menores sem quebrar a composição */
@media (min-width:981px) and (max-width:1500px){
  .site-header{
    height:94px !important;
    min-height:94px !important;
    padding:0 86px !important;
  }

  .brand{
    height:94px !important;
  }

  .brand img{
    width:330px !important;
    max-width:330px !important;
    max-height:58px !important;
  }

  .top-nav{
    gap:34px !important;
  }

  .top-nav a{
    font-size:13px !important;
  }

  .top-nav .nav-button{
    font-size:12px !important;
    padding:9px 18px !important;
    border-radius:17px !important;
  }
}

/* Ajuste intermediário para telas largas próximas do layout */
@media (min-width:1501px) and (max-width:1800px){
  .site-header{
    padding:0 120px !important;
  }

  .brand img{
    width:400px !important;
    max-width:400px !important;
  }

  .top-nav{
    gap:44px !important;
  }

  .top-nav a{
    font-size:16px !important;
  }
}


/* === HEADER DESKTOP IGUAL À REFERÊNCIA ANEXADA === */
@media (min-width:981px){
  .site-header{
    position:fixed !important;
    top:12px !important;
    left:0 !important;
    right:0 !important;
    transform:none !important;
    width:100% !important;
    max-width:none !important;
    height:132px !important;
    min-height:132px !important;
    padding:0 54px !important;
    background:#000 !important;
    box-shadow:none !important;
    border:0 !important;
    display:grid !important;
    grid-template-columns:auto 1fr auto !important;
    align-items:center !important;
    z-index:99999 !important;
  }

  /* Mantém o logo no header, mas sem interferir no alinhamento do miolo */
  .brand{
    justify-self:start !important;
    align-self:center !important;
    height:auto !important;
    min-width:255px !important;
  }

  .brand img{
    width:250px !important;
    max-width:250px !important;
    max-height:44px !important;
    height:auto !important;
    object-fit:contain !important;
    object-position:left center !important;
    opacity:1 !important;
  }

  .top-nav{
    justify-self:center !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:48px !important;
    position:static !important;
    padding:0 !important;
    margin:0 auto !important;
    width:auto !important;
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .top-nav a{
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    margin:0 !important;
    color:#fff !important;
    font-family:Roboto, Arial, Helvetica, sans-serif !important;
    font-size:20px !important;
    line-height:1 !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
    border:0 !important;
  }

  /* Quadradinhos turquesa nos 3 primeiros itens */
  .top-nav a:not(.nav-button)::after{
    content:"" !important;
    width:10px !important;
    height:10px !important;
    margin-left:10px !important;
    background:#007b83 !important;
    display:inline-block !important;
    vertical-align:middle !important;
  }

  .top-nav .nav-button{
    margin-left:8px !important;
    padding:13px 24px !important;
    min-width:300px !important;
    height:44px !important;
    border:1px solid #00a9b5 !important;
    border-radius:16px !important;
    color:#fff !important;
    font-family:Roboto, Arial, Helvetica, sans-serif !important;
    font-size:18px !important;
    line-height:1 !important;
    font-weight:400 !important;
    text-transform:uppercase !important;
    background:transparent !important;
  }

  .top-nav .nav-button::after{
    display:none !important;
    content:none !important;
  }

  .menu-toggle{
    display:none !important;
  }
}

@media (min-width:981px) and (max-width:1400px){
  .site-header{
    top:10px !important;
    height:118px !important;
    min-height:118px !important;
    padding:0 34px !important;
    grid-template-columns:auto 1fr auto !important;
  }

  .brand{
    min-width:210px !important;
  }

  .brand img{
    width:205px !important;
    max-width:205px !important;
    max-height:38px !important;
  }

  .top-nav{
    gap:30px !important;
  }

  .top-nav a{
    font-size:16px !important;
  }

  .top-nav a:not(.nav-button)::after{
    width:8px !important;
    height:8px !important;
    margin-left:8px !important;
  }

  .top-nav .nav-button{
    min-width:238px !important;
    height:38px !important;
    padding:10px 18px !important;
    border-radius:14px !important;
    font-size:14px !important;
  }
}


/* === AJUSTE HEADER: SEM + E ALINHADO À DIREITA DO BOX SYAC === */
@media (min-width:981px){
  .site-header{
    padding-left:116px !important;
    padding-right:116px !important;
    grid-template-columns:auto 1fr !important;
  }

  .brand{
    justify-self:start !important;
  }

  .top-nav{
    justify-self:end !important;
    margin-left:auto !important;
    margin-right:0 !important;
    gap:48px !important;
  }

  .top-nav a:not(.nav-button)::after{
    margin-left:12px !important;
  }

  .top-nav .nav-button{
    margin-left:4px !important;
  }
}

@media (min-width:981px) and (max-width:1400px){
  .site-header{
    padding-left:70px !important;
    padding-right:70px !important;
  }

  .top-nav{
    gap:30px !important;
  }
}


/* === AJUSTE FINAL: HEADER ENCOSTADO NO TOPO + FORM ALINHADO AO GRID DOS BOXES === */
@media (min-width:981px){
  .site-header{
    top:0 !important;
  }
}

/* O formulário volta a obedecer as mesmas margens horizontais dos cards de parceiros:
   esquerda do box Reco e direita do box SYAC */
.contact{
  padding-left:116px !important;
  padding-right:116px !important;
}

.contact-title,
.contact-form-v2{
  max-width:none !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Botão no tamanho padrão, alinhado à esquerda (desktop) */
@media (min-width:981px){
  .contact-form-v2 button{
    align-self:flex-start !important;
    width:142px !important;
    min-width:142px !important;
  }
}

@media (min-width:981px) and (max-width:1400px){
  .site-header{
    top:0 !important;
  }

  .contact{
    padding-left:70px !important;
    padding-right:70px !important;
  }
}

@media (max-width:980px){
  .contact{
    padding-left:32px !important;
    padding-right:32px !important;
  }
}

@media (max-width:620px){
  .contact{
    padding-left:24px !important;
    padding-right:24px !important;
  }
}


/* === MOVIMENTO SUTIL NOS BOTÕES DO HEADER === */
@media (min-width:981px){
  .top-nav{
    perspective:700px;
  }

  .top-nav a{
    --mx:0px;
    --my:0px;
    --rx:0deg;
    --ry:0deg;
    transform:translate3d(var(--mx), var(--my), 0) rotateX(var(--rx)) rotateY(var(--ry));
    transition:
      transform .28s cubic-bezier(.22,.61,.36,1),
      color .28s ease,
      text-shadow .28s ease;
    will-change:transform;
  }

  .top-nav a:not(.nav-button)::before{
    content:"";
    position:absolute;
    left:0;
    right:22px;
    bottom:-12px;
    height:2px;
    background:#00d6e8;
    transform:scaleX(0);
    transform-origin:left center;
    opacity:.95;
    transition:transform .35s cubic-bezier(.22,.61,.36,1);
  }

  .top-nav a:not(.nav-button):hover{
    color:#00d6e8 !important;
    text-shadow:0 0 18px rgba(0,214,232,.42);
  }

  .top-nav a:not(.nav-button):hover::before{
    transform:scaleX(1);
  }

  .top-nav a:not(.nav-button)::after{
    transition:
      transform .35s cubic-bezier(.22,.61,.36,1),
      background .28s ease,
      box-shadow .28s ease;
  }

  .top-nav a:not(.nav-button):hover::after{
    transform:rotate(45deg) scale(1.18);
    background:#00d6e8 !important;
    box-shadow:0 0 16px rgba(0,214,232,.72);
  }

  .top-nav .nav-button{
    position:relative !important;
    overflow:hidden !important;
    transition:
      transform .28s cubic-bezier(.22,.61,.36,1),
      border-color .28s ease,
      box-shadow .28s ease,
      background .28s ease !important;
  }

  .top-nav .nav-button::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:-70%;
    width:52%;
    background:linear-gradient(90deg, rgba(255,255,255,0), rgba(0,214,232,.22), rgba(255,255,255,0));
    transform:skewX(-18deg);
    transition:left .65s cubic-bezier(.22,.61,.36,1);
    pointer-events:none;
  }

  .top-nav .nav-button:hover{
    border-color:#00d6e8 !important;
    box-shadow:0 0 22px rgba(0,214,232,.32), inset 0 0 18px rgba(0,214,232,.08);
    background:rgba(0,214,232,.045) !important;
  }

  .top-nav .nav-button:hover::before{
    left:118%;
  }

  .top-nav .nav-button:active,
  .top-nav a:active{
    transform:translate3d(var(--mx), calc(var(--my) + 1px), 0) scale(.985);
  }
}

@media (prefers-reduced-motion: reduce){
  .top-nav a{
    transform:none !important;
    transition:none !important;
  }

  .top-nav a::before,
  .top-nav a::after{
    transition:none !important;
  }
}


/* === POLIMENTO FINAL DO CARROSSEL E ACABAMENTO GERAL === */
.vertical-card{
  background:#061010 !important;
  box-shadow:0 12px 28px rgba(0,0,0,.14) !important;
  transform:translateZ(0);
  backface-visibility:hidden;
}

.vertical-card img{
  image-rendering:auto;
  transform:scale(1.005);
  transition:transform .65s cubic-bezier(.22,.61,.36,1), filter .65s cubic-bezier(.22,.61,.36,1);
}

.vertical-card:hover img{
  transform:scale(1.045);
  filter:saturate(1.08) contrast(1.03);
}

.vertical-card::after{
  height:48% !important;
  background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.68)) !important;
}

.vertical-card span{
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}

.carousel-mask{
  overflow:hidden !important;
}

.carousel-track{
  will-change:transform;
}

img{
  -webkit-font-smoothing:antialiased;
}

.site-header,
.hero,
.verticals,
.operation,
.features,
.partners,
.solutions,
.contact,
.footer{
  transform:translateZ(0);
}

@media (max-width:980px){
  .vertical-card:hover img{
    transform:scale(1.005);
    filter:none;
  }
}


/* === RODAPÉ: ENDEREÇOS ATUALIZADOS E FIEL À REFERÊNCIA === */
.footer{
  background:#fff !important;
  min-height:210px !important;
  display:grid !important;
  grid-template-columns:1.05fr 1fr 1fr 1fr !important;
  gap:34px !important;
  align-items:center !important;
  padding:42px 116px 42px !important;
}

.footer-logo{
  width:300px !important;
  max-width:300px !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:left center !important;
}

.address{
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  column-gap:18px !important;
  align-items:start !important;
  border-left:2px solid #007b7d !important;
  padding-left:34px !important;
  min-height:120px !important;
}

.address img{
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:left top !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  margin-top:0 !important;
}

.address:nth-of-type(1) img{
  max-width:50px !important;
  max-height:48px !important;
}

.address:nth-of-type(2) img{
  max-width:42px !important;
  max-height:54px !important;
}

.address:nth-of-type(3) img{
  max-width:58px !important;
  max-height:38px !important;
}

.address p{
  margin:0 !important;
  color:#111 !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:19px !important;
  line-height:1.22 !important;
  font-weight:400 !important;
}

.address strong{
  display:inline-block !important;
  font-size:22px !important;
  line-height:1 !important;
  font-weight:800 !important;
  margin-bottom:17px !important;
}

@media (max-width:1400px){
  .footer{
    grid-template-columns:1fr 1fr 1fr 1fr !important;
    gap:28px !important;
    padding-left:70px !important;
    padding-right:70px !important;
  }

  .footer-logo{
    width:250px !important;
    max-width:250px !important;
  }

  .address{
    padding-left:24px !important;
    column-gap:14px !important;
  }

  .address p{
    font-size:16px !important;
  }

  .address strong{
    font-size:19px !important;
  }
}

@media (max-width:980px){
  .footer{
    grid-template-columns:1fr 1fr !important;
    gap:32px !important;
    padding:44px 32px !important;
  }

  .footer-logo{
    width:260px !important;
    max-width:260px !important;
  }

  .address{
    min-height:auto !important;
  }
}

@media (max-width:620px){
  .footer{
    grid-template-columns:1fr !important;
    gap:28px !important;
    padding:38px 24px !important;
  }

  .address{
    padding-left:22px !important;
  }
}


/* === ENDEREÇO DO BRASIL COM QUEBRAS EXATAS === */
.address .address-line{
  display:block !important;
}


/* === AJUSTE FINAL MOBILE: HERO MAIS CURTO E MENU HAMBÚRGUER COM VISUAL DA WEB === */
@media (max-width:980px){
  .hero{
    height:760px !important;
    min-height:760px !important;
    grid-template-columns:1fr !important;
    background:#000 !important;
    overflow:hidden !important;
  }

  .hero::after{
    background:linear-gradient(90deg, rgba(0,0,0,.95) 0%, rgba(0,0,0,.78) 34%, rgba(0,0,0,.30) 66%, rgba(0,0,0,0) 100%) !important;
  }

  .hero-image{
    background-position:74% 0% !important;
    background-size:cover !important;
    min-height:100% !important;
  }

  .hero-copy{
    padding-left:28px !important;
    padding-right:24px !important;
    padding-top:96px !important;
    max-width:560px !important;
  }

  .hero h1{
    font-size:58px !important;
    line-height:.95 !important;
    margin:0 0 26px !important;
  }

  .hero p{
    font-size:22px !important;
    line-height:1.15 !important;
    max-width:540px !important;
  }

  /* menu aberto com o mesmo visual da web */
  .top-nav{
    top:76px !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:22px !important;
    padding:24px 22px 26px !important;
    background:#000 !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 18px 30px rgba(0,0,0,.28) !important;
  }

  .top-nav a{
    width:auto !important;
    padding:0 !important;
    border-bottom:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#fff !important;
    font-family:Roboto, Arial, Helvetica, sans-serif !important;
    font-size:18px !important;
    line-height:1 !important;
    font-weight:700 !important;
    text-transform:uppercase !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
  }

  .top-nav a:not(.nav-button)::after{
    content:"" !important;
    width:10px !important;
    height:10px !important;
    margin-left:10px !important;
    background:#007b83 !important;
    display:inline-block !important;
  }

  .top-nav a:not(.nav-button)::before{
    display:none !important;
  }

  .top-nav .nav-button{
    width:auto !important;
    min-width:312px !important;
    max-width:100% !important;
    margin-top:2px !important;
    padding:13px 24px !important;
    height:44px !important;
    border:1px solid #00a9b5 !important;
    border-radius:16px !important;
    background:transparent !important;
    color:#fff !important;
    font-size:18px !important;
    font-weight:400 !important;
    text-align:center !important;
  }

  .top-nav .nav-button::after{
    display:none !important;
    content:none !important;
  }
}

@media (max-width:620px){
  .hero{
    height:610px !important;
    min-height:610px !important;
  }

  .hero-image{
    background-position:72% 2% !important;
  }

  .hero-copy{
    padding-left:28px !important;
    padding-right:18px !important;
    padding-top:88px !important;
    max-width:92% !important;
  }

  .hero h1{
    font-size:44px !important;
    margin-bottom:22px !important;
  }

  .hero p{
    font-size:18px !important;
    line-height:1.22 !important;
    max-width:96% !important;
  }

  .top-nav{
    top:76px !important;
    gap:18px !important;
    padding:20px 16px 24px !important;
  }

  .top-nav a{
    font-size:15px !important;
  }

  .top-nav a:not(.nav-button)::after{
    width:9px !important;
    height:9px !important;
    margin-left:8px !important;
  }

  .top-nav .nav-button{
    min-width:100% !important;
    height:40px !important;
    padding:11px 18px !important;
    border-radius:15px !important;
    font-size:15px !important;
  }
}


/* === AJUSTE FINAL: MENU MOBILE ALINHADO À ESQUERDA === */
@media (max-width:980px){
  .top-nav{
    align-items:flex-start !important;
    justify-content:flex-start !important;
  }

  .top-nav a{
    justify-content:flex-start !important;
    text-align:left !important;
  }

  .top-nav .nav-button{
    width:100% !important;
    min-width:100% !important;
    text-align:center !important;
    justify-content:center !important;
  }
}

@media (max-width:620px){
  .top-nav{
    align-items:flex-start !important;
  }

  .top-nav a{
    justify-content:flex-start !important;
    text-align:left !important;
  }

  .top-nav .nav-button{
    width:100% !important;
    min-width:100% !important;
  }
}


/* === SEGURANÇA E PRIVACIDADE DO FORMULÁRIO === */
.form-honeypot{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.privacy-consent a{
  color:#0a7c82 !important;
  font-weight:700 !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
}

.privacy-consent{
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  width:100% !important;
  margin:0 !important;
  color:#111 !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:16px !important;
  line-height:1.35 !important;
}

.contact-form-v2 .privacy-consent input[type="checkbox"]{
  appearance:auto !important;
  flex:0 0 18px !important;
  width:18px !important;
  min-width:18px !important;
  height:18px !important;
  min-height:18px !important;
  margin:1px 0 0 !important;
  padding:0 !important;
  border-radius:3px !important;
  accent-color:#0a7c82 !important;
}

.privacy-consent span{
  display:block !important;
  color:#111 !important;
  font-size:16px !important;
  line-height:1.35 !important;
}

/* Checkbox de aceite e botão Enviar na mesma linha, encostados à esquerda */
.consent-row{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:20px !important;
  width:100% !important;
  flex-wrap:wrap !important;
}

.consent-row .privacy-consent{
  width:auto !important;
  flex:0 1 auto !important;
}

.contact-form-v2 .consent-row button{
  align-self:center !important;
  margin-top:0 !important;
  margin-left: auto;
}

.form-status{
  min-height:22px !important;
  color:#111 !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:15px !important;
  line-height:1.35 !important;
}

.form-status:empty{
  display:block !important;
}

.form-status.is-success{
  color:#086c70 !important;
  font-weight:700 !important;
}

.form-status.is-error{
  color:#9f1d1d !important;
  font-weight:700 !important;
}

.contact-form-v2 .has-error input,
.contact-form-v2 .has-error textarea,
.privacy-consent.has-error input[type="checkbox"]{
  outline:2px solid #9f1d1d !important;
  outline-offset:2px !important;
}

.contact-form-v2 button:disabled{
  cursor:not-allowed !important;
  opacity:.68 !important;
  transform:none !important;
}

@media (max-width:620px){
  .privacy-consent,
  .privacy-consent span,
  .form-status{
    font-size:14px !important;
  }
}


/* === PÁGINA DE POLÍTICA DE PRIVACIDADE === */
.policy-page{
  background:#e7e7e7 !important;
}

.policy-header{
  position:relative !important;
}

.policy-nav{
  display:flex !important;
  position:static !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}

.privacy-content{
  max-width:980px !important;
  margin:0 auto !important;
  padding:72px 32px 90px !important;
  color:#111 !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
}

.privacy-content h1{
  margin:0 0 26px !important;
  color:#111 !important;
  font-family:"Roboto Condensed", Roboto, Arial, Helvetica, sans-serif !important;
  font-size:58px !important;
  line-height:.95 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
}

.privacy-content h2{
  margin:34px 0 10px !important;
  color:#0a7c82 !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:22px !important;
  line-height:1.2 !important;
}

.privacy-content p{
  margin:0 0 16px !important;
  max-width:820px !important;
  font-size:18px !important;
  line-height:1.55 !important;
}

.privacy-back{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  margin-top:28px !important;
  padding:0 22px !important;
  border-radius:12px !important;
  background:#0a7c82 !important;
  color:#fff !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:17px !important;
  line-height:1 !important;
  text-decoration:none !important;
}

@media (max-width:980px){
  .policy-header{
    min-height:auto !important;
  }

  .policy-nav{
    display:none !important;
  }

  .privacy-content{
    padding:52px 24px 70px !important;
  }

  .privacy-content h1{
    font-size:44px !important;
  }
}
