/* Onetis — estilos do site estático.
   Medidas e cores replicam o layout Elementor original (desktop >= 1025px, tablet 768–1024px, mobile <= 767px). */

@font-face { font-family: Poppins; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/poppins-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: Poppins; font-style: italic; font-weight: 400; font-display: swap; src: url(/assets/fonts/poppins-latin-400-italic.woff2) format("woff2"); }
@font-face { font-family: Poppins; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/poppins-latin-500-normal.woff2) format("woff2"); }
@font-face { font-family: Poppins; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/fonts/poppins-latin-700-normal.woff2) format("woff2"); }
@font-face { font-family: Poppins; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/poppins-latin-800-normal.woff2) format("woff2"); }
@font-face { font-family: Roboto; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/roboto-latin-500-normal.woff2) format("woff2"); }

:root {
  --c-primary: #263351;
  --c-text: #7a7a7a;
  --c-accent: #f65d21;
  --c-bg: #f7f7f7;
  --c-light: #f5f5f5;
  --c-gray: #ececec;
  --c-white: #fff;
  --font: Poppins, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
  margin: 0;
  background: var(--c-bg);
  color: var(--c-text);
  font-family: var(--font);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
img, svg { display: block; max-width: 100%; height: auto; }
a { color: var(--c-accent); text-decoration: none; }
p { margin: 0 0 14.4px; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-weight: 500; line-height: 1; }
b, strong { font-weight: 700; }
button, input, textarea { font: inherit; }
[id] { scroll-margin-top: 20px; }

/* Barra de rolagem personalizada (vinha do CSS do kit Elementor) */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--c-bg); }
::-webkit-scrollbar-thumb { background: var(--c-accent); border-radius: 15px; }

.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip-link { position: absolute; left: 8px; top: -60px; z-index: 100; padding: 10px 16px; background: var(--c-primary); color: #fff; border-radius: 3px; }
.skip-link:focus { top: 8px; }
:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 2px; }

.icon { display: inline-block; width: 1em; height: 1em; fill: currentColor; flex: none; }

/* ---------- Botões ---------- */
.btn {
  display: inline-block;
  padding: 20px 70px;
  border: 0;
  border-radius: 30px;
  background: var(--c-accent);
  color: #fff;
  font-family: var(--font);
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color .3s, color .3s;
}
.btn:hover, .btn:focus-visible { background: var(--c-primary); color: #fff; }
.on-dark .btn:hover, .on-dark .btn:focus-visible { background: #fff; color: var(--c-accent); }
.btn-row { text-align: center; }

/* ---------- Cabeçalho ---------- */
.site-header { position: relative; z-index: 20; padding: 25px 20px; background: var(--c-bg); }
.site-header__inner { display: flex; align-items: center; max-width: 1140px; margin: 0 auto; }
.site-header__logo { flex: 0 0 22.32%; }
.site-header__logo img { width: 191px; height: auto; }
.site-nav { flex: 0 0 54.33%; }
.site-nav ul { display: flex; justify-content: center; margin: 0; padding: 0; list-style: none; }
.site-nav li:not(:last-child) { margin-right: 15px; }
.site-nav a {
  display: block;
  padding: 10px 12px;
  color: #000;
  font-family: Roboto, sans-serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 20px;
  transition: color .3s;
}
.site-nav a:hover, .site-nav a:focus-visible { color: var(--c-accent); }
.site-nav a[aria-current="page"] { color: var(--c-primary); }
.site-header__cta { flex: 1 1 auto; display: flex; justify-content: center; }
.btn--header { padding: 13px 20px 14px; font-size: 15px; }
.nav-toggle { display: none; }

/* ---------- Banner (slider da home e banners das páginas internas) ---------- */
.hero { position: relative; overflow: hidden; background: var(--c-primary); }
.hero__track { display: flex; transition: transform .5s ease; }
.hero__slide { flex: 0 0 100%; display: block; }
.hero__slide img { width: 100%; height: auto; }
.hero__dots { position: absolute; left: 0; right: 0; bottom: 1.5px; display: flex; justify-content: center; gap: 3px; }
/* Área de toque de 24px com o mesmo ponto visual de 15px */
.hero__dot { width: 24px; height: 24px; padding: 4.5px; border: 0; border-radius: 50%; background: var(--c-primary); background-clip: content-box; cursor: pointer; }
.hero__dot[aria-current="true"] { background: var(--c-accent); }

/* ---------- Títulos de seção com sublinhado laranja ---------- */
.sec-title { color: #020202; font-size: 35px; line-height: 1; text-transform: uppercase; }
.sec-rule { display: block; height: 2px; margin: 2px 0 22px; background: var(--c-accent); border: 0; }
.sec-sub { color: var(--c-primary); font-size: 17px; line-height: 1; }
.center { text-align: center; }
.center .sec-rule { margin-left: auto; margin-right: auto; }

/* ---------- Home: Nossos serviços ---------- */
.home-servicos { padding: 70px 0; background: var(--c-light); }
.home-servicos__inner { padding: 10px; }
.home-servicos .sec-title { color: #000; }
.home-servicos .sec-rule { width: 15%; }
.home-servicos .sec-sub { padding: 0 15%; margin-bottom: 20px; }
.cards { display: flex; max-width: 1680px; margin: 0 auto; padding: 30px 20px 0; }
.cards > * { flex: 1 1 0; }
.cards > div:not([class]) { display: flex; }
.cards > div:not([class]) > * { flex: 1; }
.card-segmento {
  margin: 10px;
  padding: 42px 62px;
  border-radius: 80px 25px;
  background: #fff;
  box-shadow: 0 0 5px rgba(0, 0, 0, .1);
  text-align: center;
  transition: box-shadow .3s;
}
.card-segmento:hover { box-shadow: 0 0 8px rgba(0, 0, 0, .5); }
.card-segmento .icon { display: block; width: 60px; height: 60px; margin: 0 auto; color: var(--c-accent); }
.card-segmento h3 { margin: 42.8px 0 5px; color: #000; font-size: 24px; line-height: 1.2; }
.home-servicos .btn-row { margin-top: 40px; }

/* ---------- Home: Sobre nós ---------- */
.sobre { display: flex; padding: 60px 0; background: var(--c-light); }
.sobre__media { flex: 0 0 45%; display: flex; align-items: center; justify-content: center; padding: 10px; }
.lottie { width: 65%; max-width: 408px; aspect-ratio: 816 / 798; }
.lottie > img, .lottie > svg { width: 100%; height: 100%; }
.sobre__text { flex: 0 0 55%; padding: 30px 120px 30px 25px; }
.sobre .sec-rule { width: 20%; }
.sobre h3 { margin-bottom: 20px; color: var(--c-primary); font-size: 25px; line-height: 1; }
.sobre p { font-size: 15px; line-height: 1.5; text-align: justify; }

/* ---------- Home: Por que escolher ---------- */
.porque { padding: 70px 0; background: var(--c-gray); }
.porque .sec-rule { width: 20%; }
.porque .sec-sub { padding: 0 15%; margin-bottom: 20px; }
.porque .cards { max-width: 1680px; }
.porque .cards > .card-diferencial { flex: 0 0 calc(25% - 20px); }
.card-diferencial { margin: 10px; padding: 28px; border-radius: 5px; background: #fff; color: #000; text-align: center; }
.card-diferencial:first-child { padding: 42px; }
.card-diferencial .icon { display: block; width: 50px; height: 50px; margin: 0 auto; color: var(--c-accent); }
.card-diferencial h3 { margin: 14px 0 5px; font-size: 24px; line-height: 1.2; }
.card-diferencial p { margin: 0; padding-top: 21px; line-height: 1.5; }
.card-diferencial p.gap-2 { padding-top: 42px; }
.porque .btn-row { margin-top: 40px; }

/* ---------- Home: Atendimento (formulário) ---------- */
.atendimento { background: var(--c-gray); padding: 70px 10px; }
.atendimento__inner { display: flex; max-width: 1140px; margin: 0 auto; }
.atendimento__info { flex: 0 0 50%; display: flex; flex-direction: column; justify-content: center; padding: 10px; }
.atendimento .sec-rule { width: 25%; }
.atendimento .sec-sub { margin: 0; text-align: left; }
.atendimento__info p:not(.sec-sub) { color: var(--c-primary); }
.atendimento__info .btn { align-self: flex-start; margin-top: 30px; }
.atendimento__info .btn .icon { width: 11px; height: 15px; }
.atendimento__form { flex: 0 0 50%; padding: 10px; }
.form { display: flex; flex-direction: column; gap: 10px; }
.form input, .form textarea {
  width: 100%;
  padding: 8px 16px;
  border: 1px solid rgba(38, 51, 81, .17);
  border-radius: 3px;
  background: #fff;
  color: #1f2124;
  font-size: 15px;
  line-height: 21px;
}
.form input { height: 40px; }
.form textarea { height: 96px; padding: 5px 14px; resize: vertical; }
.form ::placeholder { color: #7a7a7a; opacity: 1; }
.form button {
  height: 45px;
  border: 0;
  border-radius: 3px;
  background: var(--c-accent);
  color: #fff;
  font-size: 15px;
  line-height: 1;
  cursor: pointer;
  transition: background-color .3s;
}
.form button:hover, .form button:focus-visible { background: var(--c-primary); }
.form button[disabled] { opacity: .7; cursor: wait; }
.form__hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form__status { margin: 0; font-size: 14px; }
.form__status:empty { display: none; }
.form__status--ok { color: #1a7f37; }
.form__status--erro { color: #c62828; }
.cf-turnstile:empty { display: none; }

/* ---------- Chamada para contato (faixa azul com mapa) ---------- */
.cta {
  padding: 45px 45px 95px;
  background-color: var(--c-bg);
  background-image: linear-gradient(rgba(38, 51, 81, .92), rgba(38, 51, 81, .92)), url(/assets/img/mapa-pontos.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto, contain;
  color: #fff;
  text-align: center;
}
.cta__body { padding: 106px 35px 35px; }
.cta h2 { margin-bottom: 15px; font-size: 23px; line-height: 1.2; text-transform: uppercase; }
.cta p { margin: 0 0 15px; font-size: 14px; }
.cta .btn { padding: 12px 24px; border: 2px solid var(--c-accent); font-size: 14px; text-transform: none; }
.cta .btn:hover, .cta .btn:focus-visible { border-color: var(--c-primary); }
.cta--servicos { padding: 45px; }
.cta--servicos h2 { font-size: 32px; }
.spacer-20 { height: 20px; }
@media (min-width: 1025px) { .cta { background-attachment: scroll, fixed; } }

/* ---------- Páginas internas: blocos imagem + texto ---------- */
.feature { padding: 130px 0 90px; }
.feature--dark { background: var(--c-primary); color: #fff; }
.feature--white { background: #fff; }
.feature__inner { display: flex; max-width: 1170px; margin: 0 auto; }
.feature__media { flex: 0 0 50%; display: flex; align-items: center; justify-content: center; min-height: 593px; }
.feature__media img { width: 500px; height: 500px; }
.feature__text { flex: 0 0 50%; padding: 50px 50px 0; }
.feature--40-60 .feature__media { flex-basis: 40%; }
.feature--40-60 .feature__text { flex-basis: 60%; }
.feature--full .feature__text { flex-basis: 100%; }
.feature h2 { max-width: 535px; color: var(--c-primary); font-size: 32px; line-height: 1; }
.feature--dark h2 { color: #fff; }
.feature--white h2 { color: #000; }
.feature--full h2 { max-width: none; }
.feature__body { display: flow-root; max-width: 535px; margin-top: 39px; }
.feature__body--mt15 { margin-top: 15px; }
.feature__body--wide { max-width: 708px; margin-top: 0; padding-top: 15px; }
.feature__body--498 { width: 498px; max-width: none; }
.feature--full .feature__body { max-width: none; }
.feature__body p { text-align: justify; }
.feature__body p.lead { text-align: left; }
.feature .btn-row { margin-top: 15px; }
.feature--dark .feature__body { color: #fff; }
.feature--tight { padding-top: 50px; }
.feature--b42 { padding-bottom: 42px; }
.feature--top-only { padding-bottom: 0; }
.feature--pt80 { padding-top: 80px; }

.divisor { display: flex; align-items: center; gap: 40px; padding: 34px 10px; }
.divisor::before, .divisor::after { content: ""; flex: 1; border-top: 1px solid rgba(38, 51, 81, .2); }

/* ---------- Política de privacidade ---------- */
.legal-title { padding: 40px 10px; text-align: center; }
.legal-title h1 { color: var(--c-primary); font-size: 60px; line-height: 1; }
.legal { max-width: 1220px; margin: 40px auto 150px; padding: 20px 40px 0; color: #545c71; font-size: 16px; line-height: 1.5; }
.legal h2 { margin: 0 0 20px; color: #1a1a23; font-size: 32px; line-height: 1; }
.legal .bloco { display: flow-root; margin-bottom: 20px; }
.legal ul { margin: 0; padding-left: 40px; list-style: disc; }
.legal a { font-size: 14px; font-weight: 400; overflow-wrap: break-word; }

/* ---------- Rodapé ---------- */
.site-footer { padding: 80px 60px; border-top: 1px solid var(--c-text); background: var(--c-primary); color: #f7f7f7; }
.site-footer__inner { display: flex; max-width: 1400px; margin: 0 auto; }
.site-footer__col { flex: 0 0 25%; padding: 10px 40px 10px 10px; }
.site-footer__logo { display: block; margin-bottom: 20px; }
.site-footer__logo img { width: 196px; height: 97px; }
.site-footer h2 { margin-bottom: 20px; color: #fff; font-size: 20px; font-weight: 800; line-height: 1; text-transform: uppercase; }
.site-footer__col--servicos h2 { padding-bottom: 3px; }
.footer-list { margin: 0; padding: 0; list-style: none; }
.footer-list li + li { margin-top: 11px; }
.footer-list a { display: flex; align-items: center; color: #fff; transition: color .3s; }
.footer-list .icon { width: 12.5px; height: 10px; margin-right: 20.5px; color: var(--c-accent); }
.footer-list a:hover { color: var(--c-accent); }
.footer-list a:hover .icon { color: #f7f7f7; }
.contato-item { display: flex; align-items: flex-start; margin-bottom: 20px; color: #f7f7f7; }
.contato-item:last-child { margin-bottom: 0; }
.contato-item__icon {
  display: flex; align-items: center; justify-content: center;
  flex: none;
  width: 40px; height: 40px;
  margin-right: 15px;
  border-radius: 50%;
  background: var(--c-accent);
  color: #f7f7f7;
}
.contato-item__icon .icon { width: 20px; height: 20px; }
.contato-item address, .contato-item p { margin: 0; font-style: normal; line-height: 1.5; }
.contato-item p { font-size: 15px; }
.contato-item a { color: #f7f7f7; font-size: 15px; }
.contato-item--endereco address { padding-bottom: 21px; }
.site-footer__base { height: 62px; background: #000; }

/* ======================= Tablet ======================= */
@media (min-width: 768px) and (max-width: 1024px) {
  .site-header__logo { flex: 0 0 30%; }
  .site-header__logo img { width: 100%; height: auto; }
  .site-nav { flex: 0 0 50%; }
  .site-nav ul { flex-wrap: wrap; }
  .site-nav li:not(:last-child) { margin-right: 0; }
  .site-nav a { padding: 25px 29px; }
  .site-header__cta { flex: 0 0 20%; }

  .home-servicos, .porque { padding: 4px 30px 0; }
  .home-servicos .sec-sub, .porque .sec-sub { padding: 0; }
  .cards { flex-wrap: wrap; padding: 30px; }
  .cards > *, .porque .cards > .card-diferencial { flex: 0 0 calc(50% - 10px); margin: 0 0 0 10px; }
  .cards > div:not([class]) > .card-segmento { margin: 0; }
  .porque .cards { padding: 30px; }

  .sobre { display: block; padding: 30px; }
  .sobre__media { padding-bottom: 30px; }
  .lottie { width: 50%; max-width: none; }
  .sobre__text { padding: 30px 30px 30px 25px; }
  .sobre .sec-title, .sobre h3, .sobre p { text-align: center; }
  .sobre .sec-rule { margin-left: auto; margin-right: auto; }

  .atendimento .sec-title, .atendimento .sec-sub { text-align: center; }
  .atendimento .sec-rule { margin-left: auto; margin-right: auto; }

  .cta { margin: 25px 0; }

  .feature, .feature--tight, .feature--pt80 { padding: 97px 30px 0 0; }
  .feature__inner { max-width: none; }
  .feature__media { min-height: 0; height: var(--th, 450px); padding-right: 30px; overflow: hidden; }
  .feature__media img { flex: none; width: 500px; height: 500px; }
  .feature__text { display: flex; flex: 0 0 calc(50% + 30px); flex-direction: column; justify-content: center; margin-right: -30px; padding: 0 0 0 30px; }
  .feature__body, .feature__body--wide { margin-top: 19px; padding-top: 0; }
  .feature__body--narrow { width: auto; max-width: 325px; }
  .feature__body--end { margin-left: auto; }
  .feature--t-center .feature__body p { text-align: center; }
  .feature--t-stack { padding: 97px 30px 0; }
  .feature--t-stack .feature__inner { display: block; }
  .feature--t-stack .feature__text { margin-right: 0; }
  .feature--t-stack.feature--40-60 .feature__text { padding-left: 0; }
  .feature__body--blocos p + p { padding-top: 19px; }
  .feature--t-stack h2, .feature--t-stack .feature__body { max-width: none; text-align: center; }

  .legal-title h1 { font-size: 60px; }

  .site-footer { padding: 8% 4%; }
  .site-footer__inner { flex-wrap: wrap; }
  .site-footer__col { flex: 0 0 33%; margin-top: 30px; padding: 10px; }
  .site-footer__col--enderecos, .site-footer__col--contato { margin-top: 60px; }
  .site-footer__logo img { width: 44%; height: auto; }
  .feature__body p.lead-narrow { max-width: 325px; }
}

/* ======================= Mobile ======================= */
@media (max-width: 767px) {
  .site-header { padding: 10px 0; }
  .site-header__inner { justify-content: space-between; flex-wrap: wrap; }
  .site-header__logo { padding: 10px; }
  .site-header__logo img { width: 234px; height: auto; }
  .site-header__cta { display: none; }
  .nav-toggle {
    display: flex; align-items: center; justify-content: center;
    width: 33px; height: 33px; margin-right: 23px; padding: 0;
    border: 0; border-radius: 3px;
    background: var(--c-accent); color: var(--c-primary);
    cursor: pointer;
  }
  .nav-toggle .icon { width: 22px; height: 22px; }
  .hero__dot[aria-current="true"] { background: #fff; }
  .nav-toggle .icon--fechar, .nav-toggle[aria-expanded="true"] .icon--abrir { display: none; }
  .nav-toggle[aria-expanded="true"] .icon--fechar { display: block; }
  .site-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; box-shadow: 0 10px 20px rgba(0, 0, 0, .08); }
  .site-nav.is-open { display: block; }
  .site-nav ul { display: block; }
  .site-nav li:not(:last-child) { margin-right: 0; }
  .site-nav a { padding: 10px 20px; color: var(--c-primary); font-family: var(--font); font-size: 20px; font-weight: 400; }
  .site-nav a[aria-current="page"] { color: var(--c-accent); }

  .home-servicos { padding: 0; }
  .home-servicos__inner { margin-top: 60px; }
  .center { text-align: left; }
  .center .sec-rule { margin-left: 0; }
  .home-servicos .sec-title { font-size: 30px; }
  .sec-sub { font-size: 28px; }
  .home-servicos .sec-sub, .porque .sec-sub { padding: 0; }
  .cards { display: flex; flex-direction: column; padding: 0 30px 15px; }
  .home-servicos .cards { padding: 0 30px 15px; }
  .porque .cards { padding: 0 0 15px; }
  .card-segmento, .card-diferencial { margin: 15px 0; }
  .home-servicos .btn-row, .porque .btn-row { text-align: center; }

  .sobre { display: block; padding: 70px 30px 0; }
  .sobre__media { padding-bottom: 30px; }
  .sobre__text { padding: 45px 0 0; }
  .sobre h3 { font-size: 28px; }
  .sobre p { text-align: left; }

  .porque { margin-top: 70px; padding: 60px 30px 0; }
  .porque .sec-rule, .sobre .sec-rule { width: 115px; }

  .atendimento { padding: 70px 10px; }
  .atendimento__inner { display: block; }
  .atendimento__info p:not(.sec-sub) { font-size: 17px; line-height: 1.5; }

  .cta { padding: 0; }
  .cta--servicos { padding: 0; }

  .feature, .feature--tight, .feature--pt80 { padding: 67px 20px 69px; }
  .feature--m-pt0 { padding-top: 0; }
  .feature__inner { display: block; padding: 0; }
  .feature__media { min-height: 0; height: var(--mh, 288px); overflow: hidden; }
  .feature__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; }
  .feature__text { padding: 0; margin-top: 28px; }
  .feature h2 { max-width: 100%; }
  .feature__body, .feature__body--wide { max-width: 100%; margin-top: 15px; padding-top: 0; }
  .feature__body--narrow { width: auto; max-width: 325px; }
  .feature__body--end { margin-left: auto; }
  .feature__body--blocos p + p { padding-top: 15px; }
  .feature__body p.lead-narrow { max-width: 325px; }
  .feature__body p { text-align: left; }
  .feature__body--center p { text-align: center; }
  .feature__body--justify p, .feature__body--justify p.lead { text-align: justify; }
  .feature__body p.lead-center { text-align: center; }

  .legal-title { padding: 10px; }
  .legal-title h1 { font-size: 44px; }
  .legal { margin: 0; padding: 20px 24px 0; }
  .legal .bloco:last-child { margin-bottom: 0; }
  .legal h2 { font-size: 28px; }

  .site-footer { padding: 0 20px 60px; }
  .site-footer__inner { display: block; }
  .site-footer__col { margin-top: 30px; padding: 10px; }
  .site-footer__col--marca .site-footer__logo { display: flex; justify-content: center; }
  .site-footer__logo img { width: 202px; height: 99px; }
  .site-footer__col--marca h2 { padding-top: 23px; }
  .site-footer__col--enderecos { width: 50%; }
  .site-footer__col--contato { margin-top: 15px; }
  .contato-item { display: block; }
  .contato-item address { margin-top: 21px; }
  .contato-item p { margin-top: 17px; }
  .site-footer__base { height: 45px; }
}
