/* ===== Origem: <style> #41 ===== */
/* SVG icons nos cards de serviço — cor e alinhamento */
#servicos .svc-icon svg {
  width: 22px;
  height: 22px;
  display: block;
  color: var(--brand-accent);
}


/* ===== Origem: <style> #42 ===== */
/* === Desktop-only: Header + hero premium integration final ===
   Limpa o topo, remove a textura do header e faz a hero assumir a integração visual. */
@media (min-width:901px){
  header{
    background:linear-gradient(180deg, rgba(8,12,20,.68) 0%, rgba(8,12,20,.58) 100%) !important;
    backdrop-filter:blur(10px) saturate(135%);
    -webkit-backdrop-filter:blur(10px) saturate(135%);
    border-bottom:1px solid rgba(255,255,255,.06) !important;
    box-shadow:0 10px 30px rgba(2,6,23,.14) !important;
    transition:background-color .18s, backdrop-filter .18s, border-color .18s, box-shadow .18s;
  }

  header::after{
    content:none !important;
    display:none !important;
    background:none !important;
  }

  .topbar{
    min-height:76px !important;
    padding:10px 0 !important;
  }

  .logo img{
    height:54px !important;
  }

  nav ul{
    gap:22px !important;
  }

  nav a:not(.cta-nav){
    color:rgba(255,255,255,.86) !important;
    opacity:1 !important;
  }

  nav a:not(.cta-nav):hover,
  nav a:not(.cta-nav):focus,
  nav a.is-active:not(.cta-nav){
    color:#fff !important;
  }

  .topbar nav a::after{
    left:10px !important;
    right:10px !important;
    bottom:-11px !important;
    height:2px !important;
    opacity:.9 !important;
  }

  .cta-nav{
    min-height:42px !important;
    padding:11px 16px !important;
    border-radius:999px !important;
    background:rgba(229,57,53,.12) !important;
    border:1px solid rgba(229,57,53,.34) !important;
    color:#fff !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
  }

  .cta-nav:hover,
  .cta-nav:focus{
    background:rgba(229,57,53,.92) !important;
    border-color:rgba(229,57,53,.92) !important;
    color:#fff !important;
    box-shadow:0 12px 28px rgba(183,28,28,.22) !important;
    transform:translateY(-1px);
  }

  header.scrolled{
    background:linear-gradient(180deg, rgba(8,12,20,.84) 0%, rgba(8,12,20,.76) 100%) !important;
    backdrop-filter:blur(12px) saturate(145%);
    -webkit-backdrop-filter:blur(12px) saturate(145%);
    border-bottom-color:rgba(255,255,255,.08) !important;
    box-shadow:0 14px 34px rgba(2,6,23,.20) !important;
  }

  header.scrolled .cta-nav{
    background:rgba(229,57,53,.16) !important;
    border-color:rgba(229,57,53,.40) !important;
  }

  #home.hero{
    position:relative;
    overflow:visible;
    background:
      linear-gradient(92deg, rgba(8,12,20,.86) 0%, rgba(8,12,20,.74) 33%, rgba(17,22,34,.42) 58%, rgba(88,14,20,.18) 100%),
      url("/img/hero-zorza-tec.webp") 64% center / cover no-repeat !important;
    padding:66px 0 60px !important;
  }

  #home.hero::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
      linear-gradient(180deg, rgba(8,12,20,.72) 0%, rgba(8,12,20,.42) 14%, rgba(8,12,20,0) 32%),
      radial-gradient(960px 360px at 18% 10%, rgba(255,255,255,.06), rgba(255,255,255,0) 60%);
    z-index:0;
  }

  #home.hero .inner{
    position:relative;
    z-index:1;
  }
}


/* ===== Origem: <style> #43 ===== */
/* === Desktop-only: polimento premium dos CTAs do hero === */
@media (min-width:901px){
  #home.hero .quick{
    gap: 10px 12px !important;
    align-items: center !important;
  }

  #home.hero .dl-split{
    position: relative;
    order: -10 !important;
  }

  #home.hero .quick .dl-toggle{
    min-height: 42px !important;
    padding: 0 18px !important;
    border-radius: 13px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: -.012em;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 26%),
      linear-gradient(180deg, #ef4a49 0%, #df3535 56%, #c82626 100%) !important;
    box-shadow:
      0 10px 22px rgba(183,28,28,.24),
      inset 0 1px 0 rgba(255,255,255,.20),
      inset 0 -1px 0 rgba(120,8,8,.22) !important;
    text-shadow: 0 1px 0 rgba(0,0,0,.14);
  }

  #home.hero .quick .dl-toggle:hover{
    background:
      linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 24%),
      linear-gradient(180deg, #f25351 0%, #e63a39 58%, #ce2a2a 100%) !important;
    border-color: rgba(255,255,255,.18) !important;
    box-shadow:
      0 14px 28px rgba(183,28,28,.28),
      inset 0 1px 0 rgba(255,255,255,.22),
      inset 0 -1px 0 rgba(120,8,8,.24) !important;
    transform: translateY(-1px) !important;
  }

  #home.hero .quick .dl-toggle:active,
  #home.hero .quick .dl-toggle[aria-expanded="true"]{
    background:
      linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 24%),
      linear-gradient(180deg, #d83434 0%, #c62525 100%) !important;
    transform: translateY(0) !important;
    box-shadow:
      0 7px 16px rgba(183,28,28,.22),
      inset 0 1px 0 rgba(255,255,255,.14) !important;
  }

  #home.hero .quick .btn.btn-gray{
    min-height: 38px !important;
    padding: 0 15px !important;
    border-radius: 11px !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    letter-spacing: -.006em;
    color: rgba(255,255,255,.84) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 34%),
      rgba(255,255,255,.055) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.08),
      0 6px 18px rgba(0,0,0,.10) !important;
    backdrop-filter: blur(10px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(135%) !important;
  }

  #home.hero .quick .btn.btn-gray:hover{
    background:
      linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 34%),
      rgba(255,255,255,.082) !important;
    border-color: rgba(255,255,255,.22) !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.10),
      0 10px 22px rgba(0,0,0,.12) !important;
  }

  #home.hero .quick .btn.btn-gray:active{
    transform: translateY(0) !important;
    background: rgba(255,255,255,.09) !important;
  }

  #home.hero .dl-menu{
    margin-top: 11px !important;
    min-width: 270px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0) 22%),
      rgba(8,12,20,.94) !important;
    box-shadow: 0 24px 48px rgba(0,0,0,.34) !important;
    backdrop-filter: blur(14px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(135%) !important;
  }

  #home.hero .dl-link{
    font-size: 14px !important;
    color: rgba(255,255,255,.88) !important;
    padding: 11px 13px !important;
  }

  #home.hero .dl-link:hover{
    background: rgba(229,57,53,.12) !important;
    color: #fff !important;
  }
}


/* ===== Origem: <style> #44 ===== */
/* === Correção do dropdown Suporte no desktop ===
   Evita que a hero corte visualmente o menu e mantém os 3 links visíveis. */
@media (min-width: 901px){
  #home.hero,
  #home.hero .inner,
  #home.hero .quick,
  #home.hero .dl-split{
    overflow: visible !important;
  }

  #home.hero .dl-split{
    position: relative;
    z-index: 30 !important;
  }

  #home.hero .dl-menu{
    z-index: 120 !important;
  }
}


/* ===== Origem: <style> #45 ===== */
/* === Contato + Rodapé: transição premium contínua === */
footer{
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(900px 240px at 18% -8%, rgba(229,57,53,0.045), transparent 62%),
    radial-gradient(780px 260px at 102% 8%, rgba(59,130,246,0.055), transparent 64%),
    radial-gradient(620px 220px at 50% 0%, rgba(255,255,255,0.020), transparent 72%),
    linear-gradient(180deg, #08111b 0%, #09131f 22%, #0a1521 58%, #09121c 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.03),
    0 -18px 40px rgba(2,6,23,0.08) !important;
}
footer::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.028) 0%, rgba(255,255,255,0.010) 16%, rgba(255,255,255,0) 34%),
    radial-gradient(520px 160px at 18% 0%, rgba(255,255,255,0.040), transparent 72%),
    radial-gradient(420px 170px at 86% 0%, rgba(229,57,53,0.040), transparent 72%) !important;
  opacity:.96 !important;
}
footer::after{
  content:"" !important;
  position:absolute !important;
  top:0 !important; left:0 !important; right:0 !important;
  height:4px !important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(229,57,53,.6) 15%,
    rgba(229,57,53,.95) 50%,
    rgba(229,57,53,.6) 85%,
    transparent 100%
  ) !important;
  z-index:2 !important;
}

.ft-inner{position:relative; z-index:1;}
.ft-body{
  padding:56px 0 40px !important;
  gap:56px !important;
  border-bottom:1px solid rgba(255,255,255,0.06) !important;
}
.ft-col-title{
  margin-bottom:18px !important;
  color:rgba(255,255,255,0.34) !important;
  letter-spacing:.11em !important;
}
.ft-logo-link{
  display:inline-block !important;
  margin-bottom:18px !important;
}
.ft-logo-link img{
  height:72px !important;
  width:auto !important;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.20));
}
.ft-tagline{
  max-width:300px !important;
  margin-bottom:24px !important;
  color:rgba(226,232,240,0.78) !important;
  font-size:14px !important;
  line-height:1.72 !important;
}
.ft-social{gap:12px !important;}
.ft-social a{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:9px 16px !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:rgba(255,255,255,.82) !important;
  font-size:13px !important;
  font-weight:600 !important;
  text-decoration:none !important;
  transition:background .18s, border-color .18s, color .18s, transform .14s !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.ft-social a:hover,
.ft-social a:focus-visible{
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(229,57,53,.35) !important;
  color:#ffffff !important;
  transform:translateY(-2px) !important;
  box-shadow:0 8px 20px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.ft-nav-list{gap:16px !important;}
.ft-nav-list a{
  color:rgba(226,232,240,0.68) !important;
  font-size:15px !important;
  font-weight:500 !important;
  transition:color .18s ease, transform .18s ease, opacity .18s ease !important;
}
.ft-nav-list a:hover,
.ft-nav-list a:focus-visible{
  color:#ffffff !important;
  padding-left:0 !important;
  transform:translateX(3px) !important;
}

.ft-contact-list{gap:14px !important;}
.ft-contact-item{
  gap:14px !important;
  padding:10px 0 !important;
}
.ft-contact-item + .ft-contact-item{
  border-top:1px solid rgba(255,255,255,0.055) !important;
}
.ft-contact-ico{
  width:40px !important; height:40px !important;
  border-radius:13px !important;
  background:rgba(229,57,53,.10) !important;
  border:1px solid rgba(229,57,53,.22) !important;
  box-shadow:0 0 0 3px rgba(229,57,53,.06) !important;
  display:inline-grid !important;
  place-items:center !important;
  flex-shrink:0 !important;
}
.ft-contact-ico svg{
  width:17px !important; height:17px !important;
  color:#f87171 !important;
  stroke:#f87171 !important;
}
.ft-contact-text{gap:4px !important;}
.ft-contact-label{
  color:rgba(255,255,255,0.33) !important;
  font-size:11px !important;
  letter-spacing:.10em !important;
}
.ft-contact-value{
  color:rgba(255,255,255,0.90) !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.5 !important;
}
.ft-contact-value a{
  color:rgba(255,255,255,0.92) !important;
}
.ft-contact-value a:hover,
.ft-contact-value a:focus-visible{
  color:#ffffff !important;
}

.ft-bottom{
  padding:24px 0 28px !important;
  gap:18px !important;
  align-items:center !important;
}
.ft-copy{
  color:rgba(226,232,240,0.52) !important;
  font-size:12.5px !important;
}
.ft-copy strong{
  color:rgba(255,255,255,0.82) !important;
  font-weight:700 !important;
}
.ft-legal{
  gap:16px !important;
}
.ft-legal a{
  color:rgba(203,213,225,0.62) !important;
  font-size:12.5px !important;
}
.ft-legal a:hover,
.ft-legal a:focus-visible{
  color:#ffffff !important;
}
.ft-cnpj{
  color:rgba(203,213,225,0.40) !important;
  font-size:12px !important;
}

@media (max-width: 900px){
  .ft-body{
    gap:34px !important;
    padding:42px 0 32px !important;
  }
  .ft-logo img{height:64px !important;}
}


/* ===== Origem: <style> #46 ===== */
/* === Seção de Serviços — layout limpo (v2) === */
#servicos { background: #fff; }
#servicos .services-v2 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 32px;
}
@media (max-width: 960px) {
  #servicos .services-v2 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 580px) {
  #servicos .services-v2 { grid-template-columns: 1fr; gap: 14px; }
}

/* Card */
#servicos .svc-card {
  border: 1px solid var(--n200);
  border-radius: 20px;
  padding: 24px 22px 20px;
  background: #fff;
  box-shadow: 0 4px 18px rgba(0,0,0,.06);
  display: flex;
  flex-direction: column;
  gap: 0;
  transition: box-shadow .2s, border-color .2s, transform .15s;
}
#servicos .svc-card:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,.10);
  border-color: var(--n300);
  transform: translateY(-2px);
}

/* Cabeçalho do card */
#servicos .svc-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--n200);
}
#servicos .svc-icon {
  width: 42px; height: 42px;
  border-radius: 12px;
  background: rgba(183,28,28,.07);
  border: 1px solid rgba(229,57,53,.18);
  display: grid;
  place-items: center;
  font-size: 20px;
  flex-shrink: 0;
}
#servicos .svc-title {
  font-family: var(--title);
  font-size: 16px;
  font-weight: 700;
  color: var(--n800);
  line-height: 1.25;
  letter-spacing: -.1px;
}

/* Lista de itens */
#servicos .svc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
#servicos .svc-list li {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 9px 0;
  border-bottom: 1px solid var(--n100);
}
#servicos .svc-list li:last-child { border-bottom: none; }

#servicos .svc-list .svc-item-name {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--n800);
  line-height: 1.3;
}
#servicos .svc-list .svc-item-name::before {
  content: "";
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--brand-accent);
  flex-shrink: 0;
  margin-top: 4px;
}
#servicos .svc-list .svc-item-desc {
  font-size: 12.5px;
  color: var(--n500);
  line-height: 1.5;
  padding-left: 14px;
}

/* CTA do card */
#servicos .svc-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  padding: 8px 14px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  color: var(--brand-accent);
  background: rgba(229,57,53,.07);
  border: 1px solid rgba(229,57,53,.22);
  text-decoration: none;
  transition: background .15s, border-color .15s;
  align-self: flex-start;
}
#servicos .svc-cta:hover {
  background: rgba(229,57,53,.13);
  border-color: rgba(229,57,53,.4);
}
#servicos .svc-cta::after { content: "→"; font-size: 13px; }


/* ===== Origem: <style> #47 ===== */
/* === Faixa de Números / Social Proof === */
#numeros {
  background: linear-gradient(120deg, var(--n900), #1a0a0a);
  padding: 52px 0;
}
.numeros-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  text-align: center;
}
.numero-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 20px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  transition: background .2s;
}
.numero-item:hover {
  background: rgba(255,255,255,.07);
}
.numero-valor {
  font-family: var(--title);
  font-size: clamp(32px, 4.5vw, 48px);
  font-weight: 800;
  color: var(--brand-accent);
  line-height: 1;
  letter-spacing: -1px;
}
.numero-label {
  font-size: clamp(13px, 1.4vw, 15px);
  color: rgba(255,255,255,.65);
  font-weight: 500;
  line-height: 1.3;
}
@media (max-width: 700px) {
  .numeros-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
@media (max-width: 380px) {
  .numeros-grid { grid-template-columns: 1fr; }
}


/* ===== Origem: <style> #48 ===== */
/* === Casos de Sucesso — grid de cards (v2) === */
#cases { background: var(--n100); padding: 64px 0; }
#cases > .container > .lead { color: var(--n600); margin-bottom: 36px; }

.cases-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
@media (max-width: 900px) { .cases-grid { grid-template-columns: 1fr; gap: 16px; } }

.case-card {
  background: #fff;
  border: 1px solid var(--n200);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0,0,0,.06);
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s, transform .15s;
}
.case-card:hover {
  box-shadow: 0 10px 32px rgba(0,0,0,.10);
  transform: translateY(-3px);
}

/* Faixa de métrica no topo */
.case-metric {
  background: linear-gradient(120deg, var(--n900) 0%, #1a0a0a 100%);
  padding: 20px 22px 18px;
  display: flex;
  align-items: flex-end;
  gap: 14px;
}
.case-metric-value {
  font-family: var(--title);
  font-size: clamp(34px, 4vw, 44px);
  font-weight: 800;
  color: var(--brand-accent);
  line-height: 1;
  letter-spacing: -1.5px;
}
.case-metric-label {
  font-size: 12.5px;
  color: rgba(255,255,255,.6);
  font-weight: 500;
  line-height: 1.35;
  padding-bottom: 3px;
}

/* Corpo do card */
.case-body {
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 14px;
}

/* Segmento / tag */
.case-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--brand-accent);
  background: rgba(229,57,53,.08);
  border: 1px solid rgba(229,57,53,.2);
  border-radius: 8px;
  padding: 4px 9px;
  align-self: flex-start;
}

.case-card h3 {
  font-family: var(--title);
  font-size: clamp(15px, 2vw, 17px);
  font-weight: 700;
  color: var(--n800);
  margin: 0;
  line-height: 1.3;
  letter-spacing: -.15px;
}

/* Problema */
.case-problem {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  background: rgba(239,68,68,.05);
  border-left: 3px solid rgba(239,68,68,.35);
  border-radius: 0 8px 8px 0;
  padding: 8px 10px;
}
.case-problem-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: rgba(220,38,38,.7);
  white-space: nowrap;
  margin-top: 1px;
}
.case-problem p {
  font-size: 13px;
  color: var(--n600);
  line-height: 1.5;
  margin: 0;
}

/* Resultados */
.case-results {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.case-results-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--n500);
  margin-bottom: 2px;
}
.case-result-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  color: var(--n700);
  line-height: 1.45;
}
.case-result-item::before {
  content: "✓";
  font-size: 12px;
  font-weight: 800;
  color: #16a34a;
  flex-shrink: 0;
  margin-top: 1px;
}


/* ===== Origem: <style> #49 ===== */
/* === Desktop hero rebalance v2 ===
   Mantém a base mais premium, mas reduz a sensação de crop
   abrindo mais a composição e diminuindo a massa visual. */
@media (min-width:901px){
  #home.hero{
    background:
      radial-gradient(920px 420px at 10% 18%, rgba(255,255,255,.06), rgba(255,255,255,0) 52%),
      linear-gradient(92deg, rgba(8,13,22,.86) 0%, rgba(9,14,24,.74) 34%, rgba(35,10,10,.34) 64%, rgba(183,28,28,.12) 100%),
      url("/img/hero-zorza-tec.webp") 64% center / cover no-repeat !important;
    padding: 64px 0 60px !important;
  }

  #home.hero .inner{
    grid-template-columns: minmax(0,1fr) minmax(320px,.72fr) !important;
    gap: 64px !important;
    align-items: center !important;
    padding: 0 !important;
  }

  #home.hero .inner > div:first-child{
    max-width: 560px !important;
  }

  #home.hero h1{
    font-size: clamp(34px, 3.5vw, 46px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.03em !important;
    max-width: 10.5ch;
    margin: 0 0 16px !important;
    text-wrap: balance;
  }

  #home.hero p{
    max-width: 33rem !important;
    font-size: 17px !important;
    line-height: 1.55 !important;
    color: rgba(255,255,255,.84) !important;
    margin: 0 0 22px !important;
  }

  #home.hero .quick{
    gap: 10px 12px !important;
    align-items: center !important;
  }

  #home.hero .quick .btn,
  #home.hero .quick .dl-toggle{
    min-height: 46px !important;
    padding: 0 14px !important;
    border-radius: 15px !important;
    font-size: 14px !important;
  }

  #home.hero .hero-side{
    max-width: 350px !important;
    margin-left: auto !important;
    padding: 20px 20px 16px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.06)),
      rgba(255,255,255,.08) !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.22) !important;
    backdrop-filter: blur(12px) saturate(108%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(108%) !important;
  }

  #home.hero .hero-side::before{
    background: radial-gradient(220px 96px at 18% 0%, rgba(255,255,255,.14), rgba(255,255,255,0) 68%) !important;
    opacity: .72 !important;
  }

  #home.hero .hero-side strong{
    font-size: 13px !important;
    letter-spacing: .07em !important;
    margin-bottom: 10px !important;
  }

  #home.hero .hero-side .t-quote{
    font-size: 16px !important;
    line-height: 1.5 !important;
    margin-bottom: 10px !important;
  }

  /* Atribuição: hierarquia em dois níveis */
  #home.hero .t-author{
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
  }
  #home.hero .t-name{
    font-size: 13px !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,.90) !important;
    line-height: 1.3 !important;
  }
  #home.hero .t-role{
    font-size: 12px !important;
    color: rgba(255,255,255,.45) !important;
    line-height: 1.3 !important;
  }

  /* Aspas decorativas */
  #home.hero .t-item{
    position: relative !important;
  }
  #home.hero .t-item::before{
    content: '\201C' !important;
    position: absolute !important;
    top: -10px !important;
    right: 0 !important;
    font-size: 72px !important;
    line-height: 1 !important;
    font-style: normal !important;
    color: rgba(255,255,255,.08) !important;
    pointer-events: none !important;
    font-family: Georgia, serif !important;
  }

  /* Progress bars */
  #home.hero .hero-side .t-dots{
    margin-top: 14px !important;
    gap: 6px !important;
  }
  #home.hero .t-dots button{
    width: 28px !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.20) !important;
    position: relative !important;
    overflow: hidden !important;
    padding: 0 !important;
    cursor: pointer !important;
  }
  #home.hero .t-dots button::after{
    content: '' !important;
    position: absolute !important;
    left: 0 !important; top: 0 !important;
    height: 100% !important;
    width: 0 !important;
    background: rgba(255,255,255,.85) !important;
    border-radius: 999px !important;
  }
  #home.hero .t-dots button[aria-current="true"]::after{
    animation: t-progress 6.5s linear forwards !important;
  }
  #home.hero .hero-side.t-paused .t-dots button[aria-current="true"]::after{
    animation-play-state: paused !important;
  }
  @keyframes t-progress{
    from{ width: 0 }
    to{ width: 100% }
  }
}


/* ===== Origem: <style> #50 ===== */
/* === Desktop hero title fix v3 ===
   Corrige o aspecto espremido do H1 sem mexer no restante do hero. */
@media (min-width:901px){
  #home.hero .inner{
    grid-template-columns: minmax(0,1.08fr) minmax(320px,.72fr) !important;
    gap: 58px !important;
  }

  #home.hero .inner > div:first-child{
    max-width: 660px !important;
  }

  #home.hero h1{
    font-size: clamp(32px, 3.15vw, 44px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.028em !important;
    max-width: 13.6ch !important;
    text-wrap: balance !important;
    margin: 0 0 18px !important;
  }

  #home.hero p{
    max-width: 36rem !important;
  }
}


/* ===== Origem: <style> #51 ===== */
/* ================================================================
   SUPORTE COMO BOTÃO PRINCIPAL — Desktop only
   - Corrije transparência no :active do dl-toggle e cta-nav
   - Corrije fundo transparente do dl-menu
   - Eleva "Baixar Suporte" como CTA primário no hero
   - Adiciona botão Suporte no nav
   ================================================================ */
@media (min-width: 901px) {

  /* --- NAV: Botão Suporte — vermelho sólido, destaque máximo --- */
  nav ul .cta-suporte {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: var(--brand-accent) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    min-height: 42px;
    border-radius: 999px !important;
    padding: 10px 18px !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    letter-spacing: -.01em;
    box-shadow:
      0 6px 20px rgba(183,28,28,.32),
      inset 0 1px 0 rgba(255,255,255,.14) !important;
    transition: background .15s, transform .12s, box-shadow .15s;
    position: relative;
    overflow: hidden;
  }
  nav ul .cta-suporte::after {
    content: none !important; /* remove underline nav hover */
  }
  nav ul .cta-suporte:hover {
    background: var(--brand-dark) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 26px rgba(183,28,28,.42), inset 0 1px 0 rgba(255,255,255,.12) !important;
    text-decoration: none !important;
    opacity: 1 !important;
  }
  nav ul .cta-suporte:active {
    background: #7a1010 !important;
    transform: translateY(0) !important;
    box-shadow: 0 4px 12px rgba(183,28,28,.24) !important;
  }

  /* Nav WhatsApp: secundário/ghost para não competir */
  .cta-nav {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    color: rgba(255,255,255,.70) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    min-height: 38px !important;
    padding: 8px 13px !important;
    box-shadow: none !important;
  }
  .cta-nav:hover, .cta-nav:focus {
    background: rgba(255,255,255,.07) !important;
    border-color: rgba(255,255,255,.32) !important;
    color: rgba(255,255,255,.92) !important;
    transform: translateY(-1px) !important;
    box-shadow: none !important;
  }
  .cta-nav:active {
    background: rgba(255,255,255,.11) !important;
    transform: translateY(0) !important;
    box-shadow: none !important;
  }

  /* --- HERO: "Baixar Suporte" — botão primário absoluto --- */
  .dl-split {
    order: -10 !important;
  }
  
  /* Suporte: Mais fino e elegante, mantendo o destaque da cor */
  #home.hero .quick .dl-toggle {
    background: var(--brand-accent) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    color: #fff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 6px 18px rgba(183,28,28,.30) !important;
    min-height: 42px !important;
    padding: 0 20px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    border-radius: 12px !important;
    letter-spacing: -.01em;
  }
  #home.hero .quick .dl-toggle:hover {
    background: var(--brand-dark) !important;
    border-color: rgba(255,255,255,.22) !important;
    box-shadow: 0 10px 26px rgba(183,28,28,.42) !important;
    transform: translateY(-1px) !important;
  }
  /* CORREÇÃO BUG: estado active sem transparência */
  #home.hero .quick .dl-toggle:active,
  #home.hero .quick .dl-toggle[aria-expanded="true"] {
    background: #7a1010 !important;
    transform: translateY(0) !important;
    box-shadow: 0 4px 12px rgba(183,28,28,.24) !important;
  }

  /* Botões cinza: Terciários — bem mais finos e discretos */
  #home.hero .quick .btn.btn-gray {
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    color: rgba(255,255,255,.68) !important;
    min-height: 36px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  #home.hero .quick .btn.btn-gray:hover {
    background: rgba(255,255,255,.11) !important;
    border-color: rgba(255,255,255,.22) !important;
    color: rgba(255,255,255,.88) !important;
    transform: translateY(-1px) !important;
  }
  #home.hero .quick .btn.btn-gray:active {
    transform: translateY(0) !important;
    background: rgba(255,255,255,.14) !important;
  }

  /* --- CORREÇÃO BUG: dl-menu sem flash transparente --- */
  .dl-menu {
    background: rgba(10,14,22,.96) !important;
    backdrop-filter: blur(12px) saturate(140%);
    -webkit-backdrop-filter: blur(12px) saturate(140%);
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 48px rgba(0,0,0,.38) !important;
  }
  .dl-menu::before {
    background: rgba(10,14,22,.96) !important;
  }
  .dl-link {
    color: rgba(255,255,255,.85) !important;
    font-size: 14px !important;
    padding: 10px 12px !important;
    border-radius: 9px !important;
  }
  .dl-link:hover {
    background: rgba(229,57,53,.14) !important;
    color: #fff !important;
  }
  .dl-link:focus-visible {
    background: rgba(229,57,53,.10) !important;
    outline: 2px solid var(--brand-accent) !important;
    outline-offset: -2px !important;
  }

}


/* ===== Origem: <style> #52 ===== */
/* === Desktop-only premium correction: header integrado à hero === */
@media (min-width:901px){
  header{
    position: sticky !important;
    top: 0;
    z-index: 60 !important;
    background: linear-gradient(180deg, rgba(7,11,18,.74), rgba(7,11,18,.56)) !important;
    backdrop-filter: blur(12px) saturate(145%);
    -webkit-backdrop-filter: blur(12px) saturate(145%);
    border-bottom: 1px solid rgba(255,255,255,.032) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.14) !important;
  }

  header::after{
    content: none !important;
    display: none !important;
    background: none !important;
    opacity: 0 !important;
  }

  .topbar{
    min-height: 78px;
    padding: 0 !important;
  }

  .logo img{
    height: 56px !important;
    width: auto;
  }

  nav a{
    color: rgba(255,255,255,.78) !important;
    opacity: 1 !important;
    text-decoration: none !important;
    transition: color .16s ease, opacity .16s ease;
  }
  nav a:hover,
  nav a:focus,
  nav a[aria-current="page"],
  nav a.is-active{
    color: #fff !important;
  }

  .topbar nav a::after{
    left: 6px !important;
    right: 6px !important;
    bottom: -15px !important;
    height: 2px !important;
    border-radius: 999px;
    background: var(--brand-accent) !important;
    opacity: .95;
  }

  .cta-nav{
    background: rgba(255,255,255,.045) !important;
    color: rgba(255,255,255,.88) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    min-height: 40px !important;
    padding: 9px 16px !important;
    border-radius: 999px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
    backdrop-filter: blur(8px) saturate(135%);
    -webkit-backdrop-filter: blur(8px) saturate(135%);
  }
  .cta-nav:hover,
  .cta-nav:focus{
    background: rgba(255,255,255,.09) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.22) !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.12) !important;
  }

  header.scrolled{
    background: linear-gradient(180deg, rgba(7,11,18,.88), rgba(7,11,18,.78)) !important;
    backdrop-filter: blur(14px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(150%) !important;
    border-bottom-color: rgba(255,255,255,.045) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.18) !important;
  }

  header.scrolled .cta-nav{
    background: rgba(255,255,255,.065) !important;
    border-color: rgba(255,255,255,.16) !important;
    color: #fff !important;
  }

  /* ═══════════════════════════════════════════════════
     MELHORIA PREMIUM — Foto de fundo + Card + Tipografia
     ═══════════════════════════════════════════════════ */

  /* ── FOTO DE FUNDO: gradiente com profundidade e toque de marca ── */
  #home.hero{
    position: relative !important;
    z-index: 3;
    margin-top: -79px !important;
    padding-top: 151px !important;
    padding-bottom: 84px !important;
    /* Camada 1: gradiente direcional forte da esquerda (texto) para a direita (foto)
       Camada 2: toque vermelho da marca emergindo do canto inferior esquerdo
       Camada 3: a foto, ligeiramente deslocada para a direita para dar espaço ao texto */
    background:
      linear-gradient(105deg,
        rgba(3,7,14,.96)  0%,
        rgba(5,10,20,.88) 22%,
        rgba(7,13,24,.72) 40%,
        rgba(9,14,24,.38) 60%,
        rgba(10,14,23,.12) 80%,
        rgba(10,14,22,.04) 100%
      ),
      url("/img/hero-zorza-tec.webp") 62% center / cover no-repeat !important;
    overflow: visible;
  }

  /* Camada extra: vinheta + brilho vermelho sutil no canto inferior esquerdo */
  #home.hero::before{
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
      /* vinheta topo escuro (integra com o header) */
      linear-gradient(180deg, rgba(3,7,14,.72) 0%, rgba(3,7,14,.18) 18%, rgba(3,7,14,0) 36%),
      /* acento vermelho da marca — sutil, emergindo do canto inferior esquerdo */
      radial-gradient(ellipse 55% 65% at -4% 110%, rgba(183,28,28,.28) 0%, rgba(183,28,28,0) 65%),
      /* reflexo frio no centro-direita para dar profundidade à foto do servidor */
      radial-gradient(ellipse 60% 80% at 85% 40%, rgba(20,50,100,.12) 0%, rgba(20,50,100,0) 60%);
  }

  /* Textura de grão sutil sobre toda a hero para aparência premium */
  #home.hero::after{
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: .28;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
    background-size: 200px 200px;
    mix-blend-mode: overlay;
  }

  #home.hero .inner{
    position: relative;
    z-index: 1;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* ── TIPOGRAFIA DO HERO: Sora com presença e elegância ── */
  #home.hero h1{
    font-family: 'Sora', system-ui, sans-serif !important;
    font-size: clamp(36px, 4.2vw, 54px) !important;
    font-weight: 800 !important;
    line-height: 1.04 !important;
    letter-spacing: -.038em !important;
    color: #ffffff !important;
    text-shadow: 0 2px 32px rgba(0,0,0,.32) !important;
    margin: 0 0 16px !important;
  }

  #home.hero p{
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    font-size: clamp(16px, 1.7vw, 18px) !important;
    font-weight: 400 !important;
    line-height: 1.68 !important;
    color: rgba(255,255,255,.78) !important;
    letter-spacing: .002em !important;
    max-width: 52ch !important;
    margin: 0 0 28px !important;
  }

  /* ── CARD DE DEPOIMENTO: glassmorphism premium ── */
  #home.hero .hero-side{
    position: relative;
    z-index: 1;
    max-width: 390px;
    margin-left: auto;
    padding: 26px 24px 20px !important;
    border-radius: 26px !important;

    /* Vidro fosco com camadas: gradiente interno + transparência */
    background:
      linear-gradient(150deg, rgba(255,255,255,.13) 0%, rgba(255,255,255,.05) 60%, rgba(255,255,255,.02) 100%) !important;
    border: 1px solid rgba(255,255,255,.18) !important;

    /* Sombra profunda + brilho interno sutil no topo */
    box-shadow:
      0 32px 72px rgba(0,0,0,.38),
      0 8px 24px rgba(0,0,0,.22),
      inset 0 1px 0 rgba(255,255,255,.22),
      inset 0 -1px 0 rgba(255,255,255,.04) !important;

    backdrop-filter: blur(18px) saturate(130%) brightness(105%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(130%) brightness(105%) !important;
    overflow: hidden;
  }

  /* Brilho vermelho sutil no topo do card — "acento de marca" */
  #home.hero .hero-side::before{
    content: "" !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    height: 2px !important;
    border-radius: 26px 26px 0 0 !important;
    background: linear-gradient(90deg,
      rgba(229,57,53,.9) 0%,
      rgba(229,57,53,.55) 50%,
      rgba(229,57,53,0) 100%
    ) !important;
    opacity: 1 !important;
    z-index: 2 !important;
  }

  /* Aspas decorativas gigantes em segundo plano */
  #home.hero .hero-side::after{
    content: "\201C" !important;
    position: absolute !important;
    top: -12px !important; right: 16px !important;
    font-family: 'Sora', Georgia, serif !important;
    font-size: 110px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: rgba(255,255,255,.06) !important;
    pointer-events: none !important;
    z-index: 0 !important;
    user-select: none !important;
  }

  /* Título do card — "O QUE CLIENTES DIZEM" */
  #home.hero .hero-side strong{
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
    color: rgba(255,255,255,.58) !important;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
  }

  /* Bolinha vermelha antes do título */
  #home.hero .hero-side strong::before{
    content: "" !important;
    display: inline-block !important;
    width: 6px !important;
    height: 6px !important;
    border-radius: 999px !important;
    background: var(--brand-accent) !important;
    box-shadow: 0 0 0 3px rgba(229,57,53,.22) !important;
    flex-shrink: 0 !important;
  }

  /* Texto da citação */
  #home.hero .hero-side .t-quote{
    position: relative !important;
    z-index: 1 !important;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    font-style: italic !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.62 !important;
    color: rgba(255,255,255,.94) !important;
    margin-bottom: 16px !important;
    letter-spacing: .003em !important;
  }

  /* Linha separadora antes do autor */
  #home.hero .hero-side .muted{
    position: relative !important;
    z-index: 1 !important;
    padding-top: 14px !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(255,255,255,.6) !important;
    line-height: 1.5 !important;
    letter-spacing: .005em !important;
  }

  /* Dots de navegação — mais elegantes */
  #home.hero .hero-side .t-dots{
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    gap: 6px !important;
    margin-top: 14px !important;
    align-items: center !important;
  }

  #home.hero .hero-side .t-dots button{
    height: 5px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.22) !important;
    border: none !important;
    transition: width .25s ease, background .25s ease !important;
    cursor: pointer !important;
    width: 18px !important;
  }

  #home.hero .hero-side .t-dots button[aria-current="true"]{
    background: rgba(255,255,255,.88) !important;
    width: 32px !important;
  }
}


/* ===== Origem: <style> #53 ===== */
@media (min-width: 901px){
  /* mantém o dropdown livre e acima da hero */
  #home.hero,
  #home.hero .inner,
  #home.hero .quick,
  #home.hero .dl-split{
    overflow: visible !important;
  }

  #home.hero .dl-split{
    position: relative !important;
    z-index: 160 !important;
  }

  #home.hero .quick .dl-toggle{
    min-height: 40px !important;
    padding: 0 18px !important;
    border-radius: 12px !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    letter-spacing: -.01em;
    background:
      linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #ea4948 0%, #d93635 58%, #ba2020 100%) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    color: #fff !important;
    box-shadow:
      0 10px 24px rgba(183,28,28,.24),
      inset 0 1px 0 rgba(255,255,255,.18),
      inset 0 -1px 0 rgba(97,10,10,.24) !important;
  }

  #home.hero .quick .dl-toggle:hover{
    background:
      linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0) 28%),
      linear-gradient(180deg, #f15150 0%, #e23c3b 58%, #c72626 100%) !important;
    border-color: rgba(255,255,255,.22) !important;
    box-shadow:
      0 14px 30px rgba(183,28,28,.29),
      inset 0 1px 0 rgba(255,255,255,.22),
      inset 0 -1px 0 rgba(97,10,10,.26) !important;
    transform: translateY(-1px) !important;
  }

  #home.hero .quick .dl-toggle:active,
  #home.hero .quick .dl-toggle[aria-expanded="true"]{
    background:
      linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 24%),
      linear-gradient(180deg, #d13232 0%, #b81f1f 100%) !important;
    box-shadow:
      0 6px 18px rgba(183,28,28,.22),
      inset 0 1px 0 rgba(255,255,255,.12) !important;
    transform: translateY(0) !important;
  }

  #home.hero .dl-menu{
    top: calc(100% + 12px) !important;
    left: 0 !important;
    min-width: 294px !important;
    padding: 8px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background:
      radial-gradient(120% 90% at 12% 0%, rgba(229,57,53,.12) 0%, rgba(229,57,53,0) 40%),
      linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 20%),
      rgba(8,12,20,.94) !important;
    box-shadow:
      0 26px 56px rgba(0,0,0,.42),
      inset 0 1px 0 rgba(255,255,255,.05) !important;
    backdrop-filter: blur(14px) saturate(138%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(138%) !important;
    z-index: 220 !important;
    overflow: visible !important;
  }

  #home.hero .dl-menu::before{
    top: -11px !important;
    left: 22px !important;
    width: 22px !important;
    height: 11px !important;
    background: rgba(11,15,24,.97) !important;
    filter: drop-shadow(0 6px 8px rgba(0,0,0,.12));
  }

  #home.hero .dl-menu::after{
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: 17px;
    pointer-events: none;
    border: 1px solid rgba(255,255,255,.04);
  }

  #home.hero .dl-link{
    position: relative;
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-height: 46px;
    padding: 12px 16px 12px 18px !important;
    border-radius: 12px !important;
    border: 1px solid transparent;
    background: transparent !important;
    color: rgba(255,255,255,.88) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.35;
    text-decoration: none !important;
    transition: transform .14s ease, background .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease;
  }

  #home.hero .dl-link + .dl-link{
    margin-top: 6px !important;
  }

  #home.hero .dl-link::before{
    content: "";
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: linear-gradient(180deg, #ff6a67, #cf2626);
    box-shadow: 0 0 0 4px rgba(229,57,53,.10);
  }

  #home.hero .dl-link::after{
    content: "›";
    margin-left: auto;
    color: rgba(255,255,255,.34);
    font-size: 18px;
    font-weight: 700;
    transition: transform .14s ease, color .14s ease;
  }

  #home.hero .dl-link:first-child{
    background: linear-gradient(180deg, rgba(229,57,53,.10), rgba(229,57,53,.04)) !important;
    border-color: rgba(229,57,53,.16) !important;
    color: #fff !important;
  }

  #home.hero .dl-link:hover,
  #home.hero .dl-link:focus-visible{
    background: rgba(255,255,255,.055) !important;
    border-color: rgba(255,255,255,.10) !important;
    color: #fff !important;
    transform: translateX(2px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    outline: none !important;
  }

  #home.hero .dl-link:hover::after,
  #home.hero .dl-link:focus-visible::after{
    color: rgba(255,255,255,.82);
    transform: translateX(2px);
  }

  #home.hero .dl-link:focus-visible{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.05),
      0 0 0 1px rgba(229,57,53,.18) !important;
  }
}


/* ================================================================
   SEÇÃO SOBRE — v6 ajustes premium finais
   ================================================================ */

#sobre {
  position: relative;
  overflow: hidden;
  padding: 52px 0 64px; /* topo mais compacto */
  background:
    radial-gradient(800px 280px at 92% -30px, rgba(229,57,53,.045), transparent 55%),
    linear-gradient(180deg, #fafafa 0%, #f5f6f8 100%);
  color: var(--n900);
}

/* Linha vermelha de separação — marcante */
#sobre::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(229,57,53,.6) 15%,
    rgba(229,57,53,.95) 50%,
    rgba(229,57,53,.6) 85%,
    transparent 100%
  );
  z-index: 2;
}

/* Textura pontilhada sutil */
#sobre::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(0,0,0,.045) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: .4;
}

/* Layout 2 colunas — alinhadas pelo topo */
.sobre-grid {
  position: relative;
  z-index: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

@media (max-width: 900px) {
  .sobre-grid { grid-template-columns: 1fr; gap: 36px; }
}

.sobre-copy { display: flex; flex-direction: column; }

/* Kicker */
.sobre-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  padding: 6px 13px;
  border-radius: 999px;
  background: rgba(229,57,53,.07);
  border: 1px solid rgba(229,57,53,.20);
  color: var(--brand-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
  width: fit-content;
}

.sobre-kicker-dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--brand-accent);
  box-shadow: 0 0 0 3px rgba(229,57,53,.16);
  flex-shrink: 0;
}

/* Título */
.sobre-title {
  font-family: var(--title);
  font-size: clamp(30px, 3.4vw, 46px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -.036em;
  color: var(--n900);
  margin: 0 0 20px;
  text-wrap: balance;
}

.sobre-title em {
  font-style: normal;
  background: linear-gradient(135deg, #e53935 0%, #b71c1c 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.sobre-lead {
  font-size: clamp(15px, 1.6vw, 17px);
  line-height: 1.72;
  color: var(--n700);
  margin: 0 0 12px;
}

.sobre-body {
  font-size: 14.5px;
  line-height: 1.78;
  color: var(--n500);
  margin: 0 0 30px;
}

/* Botão vermelho */
.sobre-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 12px;
  background: var(--brand-accent);
  border: 1px solid transparent;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  width: fit-content;
  transition: background .18s, transform .14s, box-shadow .18s;
  box-shadow: 0 8px 22px rgba(229,57,53,.22);
}

.sobre-cta:hover {
  background: var(--brand-dark);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(183,28,28,.28);
}

.sobre-cta svg { transition: transform .18s; flex-shrink: 0; }
.sobre-cta:hover svg { transform: translateX(3px); }

/* Grade de pilares — fundo branco puro, sem tom acinzentado */
.sobre-pilares {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.pilar {
  display: flex;
  gap: 13px;
  align-items: flex-start;
  padding: 20px 18px;
  background: #ffffff;
  border: 1px solid rgba(17,24,39,.13);
  border-radius: 16px;
  box-shadow: 0 3px 14px rgba(17,24,39,.09), 0 1px 3px rgba(17,24,39,.06);
  transition: box-shadow .2s, border-color .2s, transform .18s;
}

.pilar:hover {
  box-shadow: 0 10px 28px rgba(17,24,39,.10);
  border-color: rgba(229,57,53,.22);
  transform: translateY(-3px);
}

.pilar-icon {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: rgba(229,57,53,.10);
  border: 1px solid rgba(229,57,53,.22);
  box-shadow: 0 0 0 3px rgba(229,57,53,.06);
  color: var(--brand-accent);
}

.pilar-icon svg { width: 20px; height: 20px; display: block; }

.pilar-text { display: flex; flex-direction: column; gap: 4px; }

.pilar-text strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--n900);
  line-height: 1.3;
}

.pilar-text span {
  font-size: 12px;
  color: var(--n400);
  line-height: 1.6;
}

/* Mobile */
@media (max-width: 580px) {
  #sobre { padding: 48px 0 52px; }
  .sobre-pilares { grid-template-columns: 1fr; }
}


/* ================================================================
   FIX DROPDOWN SUPORTE — definitivo
   ================================================================ */
@media (min-width: 901px) {
  #home.hero,
  #home.hero .inner,
  #home.hero .quick,
  #home.hero .dl-split {
    overflow: visible !important;
  }

  #home.hero .dl-split {
    position: relative !important;
    z-index: 160 !important;
  }

  #home.hero .dl-menu {
    position: absolute !important;
    z-index: 200 !important;
  }
}

#home.hero .dl-link-disabled{
  cursor: default;
  color: rgba(255,255,255,.62) !important;
  opacity: .74;
}

#home.hero .dl-link-disabled::before{
  background: linear-gradient(180deg, rgba(255,255,255,.38), rgba(255,255,255,.18));
  box-shadow: 0 0 0 4px rgba(255,255,255,.05);
}

#home.hero .dl-link-disabled::after{
  content: none;
}

#home.hero .dl-link-disabled:hover,
#home.hero .dl-link-disabled:focus-visible{
  background: transparent !important;
  border-color: transparent !important;
  color: rgba(255,255,255,.62) !important;
  transform: none;
  box-shadow: none;
}

#home.hero .dl-link-disabled:hover::after,
#home.hero .dl-link-disabled:focus-visible::after{
  transform: none;
}

#home.hero .dl-split-mobile-visible{
  order: 0 !important;
}

#home.hero .quick .btn.btn-gray,
#home.hero .quick .dl-split-mobile-visible .dl-toggle{
  min-height: 38px !important;
  padding: 0 15px !important;
  border-radius: 11px !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  letter-spacing: -.006em;
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,0) 34%),
    rgba(13,19,30,.56) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: rgba(255,255,255,.86) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 8px 18px rgba(0,0,0,.13) !important;
  backdrop-filter: blur(12px) saturate(118%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(118%) !important;
  text-shadow: none !important;
  appearance: none;
  -webkit-appearance: none;
}

#home.hero .quick .btn.btn-gray:hover,
#home.hero .quick .dl-split-mobile-visible .dl-toggle:hover{
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 34%),
    rgba(16,23,36,.62) !important;
  border-color: rgba(255,255,255,.18) !important;
  color: #fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    0 10px 22px rgba(0,0,0,.14) !important;
  transform: translateY(-1px) !important;
}

#home.hero .quick .btn.btn-gray:active,
#home.hero .quick .dl-split-mobile-visible .dl-toggle:active,
#home.hero .quick .dl-split-mobile-visible .dl-toggle[aria-expanded="true"]{
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,0) 34%),
    rgba(18,25,39,.66) !important;
  border-color: rgba(255,255,255,.18) !important;
  color: #fff !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 8px 18px rgba(0,0,0,.13) !important;
  transform: translateY(0) !important;
}

#home.hero .dl-menu{
  top: calc(100% + 8px) !important;
  min-width: 262px !important;
  padding: 7px !important;
  border-radius: 17px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.058), rgba(255,255,255,.012) 16%, rgba(255,255,255,0) 32%),
    linear-gradient(180deg, rgba(7,12,21,.958), rgba(8,14,24,.942) 56%, rgba(9,15,26,.935)) !important;
  box-shadow:
    0 18px 36px rgba(3,8,18,.28),
    0 8px 18px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter: blur(16px) saturate(126%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(126%) !important;
  overflow: hidden;
  isolation: isolate;
}

#home.hero .dl-menu::before{
  left: 24px !important;
  background: rgba(8,13,22,.95) !important;
  filter: drop-shadow(0 7px 10px rgba(0,0,0,.10));
}

#home.hero .dl-menu::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(120% 90% at 0% 0%, rgba(60,120,255,.065), transparent 42%),
    radial-gradient(110% 88% at 100% 100%, rgba(30,78,150,.05), transparent 46%);
  opacity: .76;
  z-index: 0;
}

#home.hero .dl-menu > *{
  position: relative;
  z-index: 1;
}

#home.hero .dl-link{
  min-height: 40px;
  align-items: center;
  gap: 0;
  padding: 11px 13px !important;
  border-radius: 12px !important;
  border: 1px solid transparent;
  background: transparent !important;
  color: rgba(255,255,255,.90) !important;
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease, transform .16s ease;
}

#home.hero .dl-link + .dl-link{
  margin-top: 2px !important;
}

#home.hero .dl-link:first-child{
  background: transparent !important;
  border-color: transparent !important;
  color: rgba(255,255,255,.90) !important;
  box-shadow: none !important;
}

#home.hero .dl-link::before{
  content: none;
}

#home.hero .dl-link::after{
  content: none;
}

#home.hero .dl-link:hover,
#home.hero .dl-link:focus-visible{
  background: rgba(255,255,255,.048) !important;
  border-color: rgba(255,255,255,.075) !important;
  transform: none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 5px 12px rgba(2,8,18,.10) !important;
  outline: none !important;
}

#home.hero .dl-link:hover::after,
#home.hero .dl-link:focus-visible::after{
  color: inherit !important;
  transform: none !important;
}

#home.hero .dl-link:focus-visible{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 5px 12px rgba(2,8,18,.10) !important;
}

#home.hero .dl-link-copy{
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

#home.hero .dl-link-title{
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .01em;
  color: rgba(255,255,255,.96);
}

#home.hero .dl-link-meta{
  display: none;
}

#home.hero .dl-link-badge{
  align-self: center;
  margin-left: auto;
  padding: 3px 7px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.045);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.48);
}

#home.hero .dl-menu-access{
  min-width: 274px !important;
  padding: 7px !important;
}

#home.hero .dl-menu-access .dl-link-rich{
  align-items: center;
  padding: 11px 13px !important;
}

#home.hero .dl-link-disabled{
  color: rgba(255,255,255,.72) !important;
}

#home.hero .dl-menu-access .dl-link-rich::before{
  content: none;
}

#home.hero .dl-menu-access .dl-link-rich::after{
  content: none;
}

@media (max-width: 900px) {
  #home.hero .dl-split-mobile-visible {
    display: inline-block !important;
  }
}


/* ================================================================
   SEÇÃO SERVIÇOS — dark premium
   ================================================================ */

#servicos {
  position: relative;
  overflow: hidden;
  padding: 88px 0 80px;
  background:
    radial-gradient(900px 300px at 100% -40px, rgba(229,57,53,.06), transparent 58%),
    radial-gradient(700px 320px at -8% 110%, rgba(229,57,53,.05), transparent 60%),
    linear-gradient(180deg, #0a1220 0%, #0c1525 55%, #091019 100%);
  color: #fff;
}

/* Fade de saída na base da seção */
#servicos::before {
  content: "";
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 100px;
  background: linear-gradient(to bottom, transparent, rgba(0,0,0,.28));
  pointer-events: none;
  z-index: 0;
}

/* Linha vermelha de separação */
#servicos::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(229,57,53,.6) 15%,
    rgba(229,57,53,.95) 50%,
    rgba(229,57,53,.6) 85%,
    transparent 100%
  );
  z-index: 2;
}

/* ── Cabeçalho da seção ── */
#servicos .container > .svc-kicker,
#servicos .container > .svc-section-title,
#servicos .container > .svc-section-lead {
  position: relative;
  z-index: 1;
}

.svc-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
  color: rgba(255,255,255,.62);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
  width: fit-content;
}

.svc-kicker-dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff6b6b, #dc2626);
  box-shadow: 0 0 0 3px rgba(229,57,53,.18);
  flex-shrink: 0;
}

.svc-section-title {
  font-family: var(--title);
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.032em;
  color: #fff;
  margin: 0 0 16px;
  text-wrap: balance;
}

.svc-section-lead {
  font-size: clamp(15px, 1.6vw, 17px);
  line-height: 1.72;
  color: rgba(255,255,255,.60);
  margin: 0 0 40px;
  max-width: 540px;
}

/* ── Grid de cards ── */
#servicos .services-v2 {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 0;
}

@media (max-width: 960px) {
  #servicos .services-v2 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 580px) {
  #servicos .services-v2 { grid-template-columns: 1fr; gap: 12px; }
}

/* ── Card ── */
#servicos .svc-card {
  background:
    linear-gradient(160deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,.04) 100%);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  padding: 24px 22px 20px;
  display: flex;
  flex-direction: column;
  box-shadow:
    0 4px 28px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.07);
  transition: border-color .2s, box-shadow .2s, transform .18s;
}

#servicos .svc-card:hover {
  border-color: rgba(229,57,53,.30);
  box-shadow:
    0 8px 32px rgba(0,0,0,.24),
    0 0 0 1px rgba(229,57,53,.12);
  transform: translateY(-3px);
}

/* ── Cabeçalho do card ── */
#servicos .svc-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

#servicos .svc-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: linear-gradient(160deg, rgba(229,57,53,.28), rgba(229,57,53,.12));
  border: 1px solid rgba(229,57,53,.38);
  color: #f87171;
  box-shadow:
    0 4px 16px rgba(229,57,53,.20),
    inset 0 1px 0 rgba(255,255,255,.08);
}

#servicos .svc-icon svg {
  width: 20px;
  height: 20px;
  display: block;
  color: #f87171;
}

#servicos .svc-title {
  font-family: var(--title);
  font-size: 15px;
  font-weight: 700;
  color: rgba(255,255,255,.92);
  line-height: 1.25;
  letter-spacing: -.01em;
}

/* ── Lista de itens ── */
#servicos .svc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  flex: 1;
}

#servicos .svc-list li {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.10);
}

#servicos .svc-list li:last-child {
  border-bottom: none;
}

#servicos .svc-list .svc-item-name {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 600;
  color: rgba(255,255,255,.85);
  line-height: 1.3;
}

#servicos .svc-list .svc-item-name::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: linear-gradient(180deg, var(--brand-accent), var(--brand-dark));
  box-shadow: 0 0 0 3px rgba(229,57,53,.14);
  flex-shrink: 0;
  margin-top: 4px;
}

#servicos .svc-list .svc-item-desc {
  font-size: 12px;
  color: rgba(255,255,255,.42);
  line-height: 1.55;
  padding-left: 24px;
}

/* ── CTA do card ── */
#servicos .svc-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 18px;
  padding: 9px 16px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 700;
  color: #f87171;
  background: rgba(229,57,53,.10);
  border: 1px solid rgba(229,57,53,.28);
  text-decoration: none;
  transition: background .15s, border-color .15s, color .15s, box-shadow .15s;
  align-self: flex-start;
}

#servicos .svc-cta::after {
  content: "→";
  font-size: 13px;
}

#servicos .svc-cta:hover {
  background: rgba(229,57,53,.20);
  border-color: rgba(229,57,53,.50);
  color: #fff;
  box-shadow: 0 0 0 3px rgba(229,57,53,.10);
}

/* Mobile */
@media (max-width: 580px) {
  #servicos { padding: 60px 0 56px; }
}


/* ================================================================
   SEÇÃO NÚMEROS — premium refinado
   ================================================================ */

#numeros {
  position: relative;
  overflow: hidden;
  padding: 72px 0 68px;
  background:
    radial-gradient(800px 300px at 50% 120%, rgba(229,57,53,.08), transparent 60%),
    linear-gradient(180deg, #060d16 0%, #080f1a 50%, #060d16 100%);
}

/* Linha separadora no topo — diferencia de Serviços */
#numeros::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(229,57,53,.20) 20%,
    rgba(229,57,53,.45) 50%,
    rgba(229,57,53,.20) 80%,
    transparent 100%
  );
}

/* Brilho central sutil no rodapé */
#numeros::after {
  content: "";
  position: absolute;
  bottom: -60px; left: 50%;
  transform: translateX(-50%);
  width: 600px; height: 120px;
  border-radius: 999px;
  background: rgba(229,57,53,.06);
  filter: blur(40px);
  pointer-events: none;
}

/* ── Header da seção ── */
.numeros-header {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 48px;
}

.numeros-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 16px;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
  color: rgba(255,255,255,.55);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.numeros-kicker-dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff6b6b, #dc2626);
  box-shadow: 0 0 0 3px rgba(229,57,53,.18);
  flex-shrink: 0;
}

.numeros-title {
  font-family: var(--title);
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.03em;
  color: #fff;
  margin: 0;
  text-wrap: balance;
}

/* ── Grid de números ── */
#numeros .numeros-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

@media (max-width: 700px) {
  #numeros .numeros-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

@media (max-width: 380px) {
  #numeros .numeros-grid { grid-template-columns: 1fr; }
}

/* ── Card de número ── */
#numeros .numero-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  padding: 28px 20px 24px;
  border-radius: 20px;
  background:
    linear-gradient(160deg, rgba(255,255,255,.055) 0%, rgba(255,255,255,.02) 100%);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 8px 32px rgba(0,0,0,.22);
  transition: border-color .2s, transform .18s, box-shadow .2s;
  position: relative;
  overflow: hidden;
}

/* Brilho interno no topo de cada card */
#numeros .numero-item::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent, rgba(255,255,255,.14) 40%,
    rgba(255,255,255,.14) 60%, transparent
  );
}

#numeros .numero-item:hover {
  border-color: rgba(229,57,53,.28);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.28), 0 0 0 1px rgba(229,57,53,.10);
}

/* Valor — número grande */
#numeros .numero-valor {
  font-family: var(--title);
  font-size: clamp(42px, 5vw, 58px);
  font-weight: 800;
  color: var(--brand-accent);
  line-height: 1;
  letter-spacing: -2px;
  text-shadow: 0 0 40px rgba(229,57,53,.25);
}

/* Label — nome do número */
#numeros .numero-label {
  font-size: clamp(13px, 1.4vw, 15px);
  font-weight: 700;
  color: rgba(255,255,255,.88);
  line-height: 1.3;
  letter-spacing: -.01em;
}

/* Detalhe — descrição pequena */
#numeros .numero-detalhe {
  font-size: 11.5px;
  color: rgba(255,255,255,.38);
  line-height: 1.5;
  font-weight: 400;
  max-width: 160px;
}

/* Mobile */
@media (max-width: 580px) {
  #numeros { padding: 52px 0 48px; }
  .numeros-header { margin-bottom: 32px; }
  #numeros .numero-item { padding: 22px 16px 18px; }
  #numeros .numero-valor { font-size: 42px; }
}


/* ================================================================
   SEÇÃO CASES — fundo claro premium com cards dark
   ================================================================ */

#cases {
  position: relative;
  overflow: hidden;
  padding: 88px 0 80px;
  background:
    radial-gradient(800px 280px at 90% -30px, rgba(229,57,53,.045), transparent 55%),
    radial-gradient(600px 260px at -6% 108%, rgba(229,57,53,.035), transparent 58%),
    linear-gradient(180deg, #ffffff 0%, #f7f8fa 55%, #f2f4f7 100%);
  color: var(--n900);
}

/* Textura pontilhada sutil */
#cases::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(0,0,0,.045) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: .4;
}

/* Linha vermelha — padrão dark→light */
#cases::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(229,57,53,.6) 15%,
    rgba(229,57,53,.95) 50%,
    rgba(229,57,53,.6) 85%,
    transparent 100%
  );
  z-index: 2;
}

/* ── Cabeçalho ── */
.cases-kicker {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  padding: 6px 13px;
  border-radius: 999px;
  background: rgba(229,57,53,.07);
  border: 1px solid rgba(229,57,53,.20);
  color: var(--brand-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
  width: fit-content;
}

.cases-kicker-dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--brand-accent);
  box-shadow: 0 0 0 3px rgba(229,57,53,.16);
  flex-shrink: 0;
}

.cases-title {
  position: relative;
  z-index: 1;
  font-family: var(--title);
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.032em;
  color: var(--n900);
  margin: 0 0 14px;
  text-wrap: balance;
}

.cases-lead {
  position: relative;
  z-index: 1;
  font-size: clamp(15px, 1.5vw, 17px);
  color: var(--n600);
  line-height: 1.7;
  margin: 0 0 44px;
  max-width: 620px;
}

/* ── Grid ── */
#cases .cases-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

@media (max-width: 900px) {
  #cases .cases-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ── Card ── */
#cases .case-card {
  background: #ffffff;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,.30), 0 2px 8px rgba(0,0,0,.18);
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s, transform .18s, border-color .2s;
}

#cases .case-card:hover {
  box-shadow: 0 12px 36px rgba(17,24,39,.12);
  border-color: rgba(229,57,53,.18);
  transform: translateY(-4px);
}

/* ── Faixa de métrica — dark com gradiente ── */
#cases .case-metric {
  background: linear-gradient(135deg, #0d1525 0%, #111827 55%, #1a0608 100%);
  padding: 24px 24px 20px;
  display: flex;
  align-items: flex-end;
  gap: 14px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

/* Brilho sutil no canto */
#cases .case-metric::before {
  content: "";
  position: absolute;
  top: -30px; left: -30px;
  width: 120px; height: 120px;
  border-radius: 999px;
  background: rgba(229,57,53,.12);
  filter: blur(30px);
  pointer-events: none;
}

#cases .case-metric-value {
  font-family: var(--title);
  font-size: clamp(38px, 4vw, 52px);
  font-weight: 800;
  color: var(--brand-accent);
  line-height: 1;
  letter-spacing: -2px;
  text-shadow: 0 0 30px rgba(229,57,53,.30);
  position: relative;
  z-index: 1;
}

#cases .case-metric-label {
  font-size: 13px;
  color: rgba(255,255,255,.65);
  font-weight: 500;
  line-height: 1.4;
  padding-bottom: 4px;
  position: relative;
  z-index: 1;
}

/* ── Corpo do card ── */
#cases .case-body {
  padding: 22px 22px 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 14px;
}

/* Tag de segmento */
#cases .case-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--brand-accent);
  background: rgba(229,57,53,.07);
  border: 1px solid rgba(229,57,53,.18);
  border-radius: 8px;
  padding: 4px 9px;
  align-self: flex-start;
}

#cases .case-card h3 {
  font-family: var(--title);
  font-size: clamp(15px, 1.8vw, 17px);
  font-weight: 700;
  color: var(--n800);
  margin: 0;
  line-height: 1.3;
  letter-spacing: -.015em;
}

/* Problema */
#cases .case-problem {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  background: rgba(239,68,68,.05);
  border-left: 3px solid rgba(239,68,68,.35);
  border-radius: 0 10px 10px 0;
  padding: 10px 12px;
}

#cases .case-problem-label {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: rgba(220,38,38,.75);
  white-space: nowrap;
  margin-top: 1px;
}

#cases .case-problem p {
  font-size: 13px;
  color: var(--n600);
  line-height: 1.55;
  margin: 0;
}

/* Resultados */
#cases .case-results {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: auto;
}

#cases .case-results-label {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--n500);
  margin-bottom: 4px;
}

#cases .case-result-item {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 13px;
  color: var(--n700);
  line-height: 1.45;
}

#cases .case-result-item::before {
  content: "✓";
  font-size: 11px;
  font-weight: 800;
  color: #16a34a;
  flex-shrink: 0;
  margin-top: 1px;
  background: rgba(22,163,74,.10);
  border-radius: 999px;
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
}

#cases .case-result-item:last-child {
  font-weight: 700;
  color: var(--n800);
}

/* Mobile */
@media (max-width: 580px) {
  #cases { padding: 60px 0 56px; }
  .cases-lead { margin-bottom: 32px; }
}


/* ================================================================
   SEÇÃO FAQ — dark premium com painel CTA
   ================================================================ */

#faq {
  position: relative;
  overflow: hidden;
  padding: 88px 0 80px;
  background:
    radial-gradient(900px 280px at 92% -40px, rgba(229,57,53,.06), transparent 58%),
    radial-gradient(700px 300px at -8% 110%, rgba(229,57,53,.05), transparent 60%),
    linear-gradient(180deg, #0a1220 0%, #0c1525 55%, #091019 100%);
  color: #fff;
}

/* Linha vermelha no fundo da seção dark — gruda na borda inferior */
#faq::before {
  content: "";
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(229,57,53,.6) 15%,
    rgba(229,57,53,.95) 50%,
    rgba(229,57,53,.6) 85%,
    transparent 100%
  );
  z-index: 10;
  pointer-events: none;
}

/* Linha vermelha — padrão light→dark */
#faq::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(229,57,53,.6) 15%,
    rgba(229,57,53,.95) 50%,
    rgba(229,57,53,.6) 85%,
    transparent 100%
  );
}

/* ── Layout 2 colunas ── */
.faq-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 64px;
  align-items: start;
}

@media (max-width: 960px) {
  .faq-grid { grid-template-columns: 1fr; gap: 40px; }
}

/* ── Cabeçalho ── */
.faq-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
  color: rgba(255,255,255,.55);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
  width: fit-content;
}

.faq-kicker-dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff6b6b, #dc2626);
  box-shadow: 0 0 0 3px rgba(229,57,53,.18);
  flex-shrink: 0;
}

.faq-title {
  font-family: var(--title);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.032em;
  color: #fff;
  margin: 0 0 32px;
  text-wrap: balance;
}

/* ── Lista de perguntas ── */
.faq-lista {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ── Item do accordion ── */
.faq-item {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.05);
  overflow: hidden;
  transition: border-color .2s, background .2s;
}

.faq-item[open] {
  border-color: rgba(229,57,53,.30);
  background: rgba(229,57,53,.07);
}

.faq-item:hover:not([open]) {
  border-color: rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
}

/* Summary */
.faq-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  color: rgba(255,255,255,.88);
  line-height: 1.4;
  list-style: none;
  user-select: none;
  transition: color .18s;
}

.faq-summary::-webkit-details-marker { display: none; }

.faq-item[open] .faq-summary {
  color: #fff;
  padding-bottom: 14px;
}

.faq-summary:focus-visible {
  outline: 2px solid var(--brand-accent);
  outline-offset: 3px;
  border-radius: 12px;
}

/* Chevron animado */
.faq-chevron {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  color: rgba(255,255,255,.35);
  transition: transform .25s ease, color .2s;
}

.faq-item[open] .faq-chevron {
  transform: rotate(180deg);
  color: var(--brand-accent);
}

/* Resposta */
.faq-resposta {
  padding: 0 20px 18px;
  animation: faqFade .22s ease-out;
}

.faq-resposta p {
  font-size: 14.5px;
  color: rgba(255,255,255,.72);
  line-height: 1.72;
  margin: 0;
  padding-top: 4px;
  border-top: 1px solid rgba(255,255,255,.06);
}

@keyframes faqFade {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Painel CTA direito ── */
.faq-col-cta {
  position: sticky;
  top: 100px;
}

.faq-cta-card {
  padding: 32px 28px;
  border-radius: 24px;
  background:
    linear-gradient(160deg, rgba(255,255,255,.11) 0%, rgba(255,255,255,.05) 100%);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 20px 48px rgba(0,0,0,.32), 0 4px 12px rgba(0,0,0,.18);
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  overflow: hidden;
}

/* Brilho vermelho sutil no canto superior */
.faq-cta-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg,
    rgba(229,57,53,.9) 0%,
    rgba(229,57,53,.5) 60%,
    transparent 100%
  );
}

.faq-cta-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: linear-gradient(160deg, rgba(229,57,53,.18), rgba(229,57,53,.08));
  border: 1px solid rgba(229,57,53,.22);
  color: #f87171;
  margin-bottom: 20px;
}

.faq-cta-title {
  font-family: var(--title);
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -.02em;
  margin: 0 0 10px;
}

.faq-cta-text {
  font-size: 14px;
  color: rgba(255,255,255,.55);
  line-height: 1.65;
  margin: 0 0 24px;
}

.faq-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 14px 20px;
  border-radius: 14px;
  background: linear-gradient(180deg, #25d366, #1aab53);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(37,211,102,.22);
  transition: transform .16s, box-shadow .16s;
  margin-bottom: 18px;
}

.faq-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(37,211,102,.28);
}

.faq-cta-detalhe {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.07);
}

.faq-cta-detalhe span {
  font-size: 12.5px;
  color: rgba(255,255,255,.40);
  font-weight: 500;
}

/* Mobile */
@media (max-width: 580px) {
  #faq { padding: 60px 0 56px; }
  .faq-col-cta { position: static; }
  .faq-cta-card { padding: 24px 20px; }
}


/* ================================================================
   FAQ — correção de conflito com CSS global de details/summary
   ================================================================ */

/* Zerar regras globais dentro do FAQ */
#faq details,
#faq details:hover,
#faq .faq-item,
#faq .faq-item:hover {
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 16px !important;
  padding: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
}

#faq .faq-item[open] {
  background: rgba(229,57,53,.04) !important;
  border-color: rgba(229,57,53,.22) !important;
}

#faq .faq-item:hover:not([open]) {
  background: rgba(255,255,255,.05) !important;
  border-color: rgba(255,255,255,.12) !important;
}

#faq details + details {
  margin-top: 8px !important;
}

/* Summary */
#faq summary,
#faq .faq-summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 18px 20px !important;
  cursor: pointer !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.88) !important;
  line-height: 1.4 !important;
  list-style: none !important;
  background: transparent !important;
  min-height: unset !important;
  border-radius: 16px !important;
}

#faq summary::-webkit-details-marker,
#faq .faq-summary::-webkit-details-marker { display: none !important; }

/* Remover seta padrão do CSS base */
#faq summary::before,
#faq .faq-summary::before { display: none !important; content: none !important; }

#faq .faq-item[open] .faq-summary {
  color: #fff !important;
  padding-bottom: 14px !important;
}

/* Resposta */
#faq details > *:not(summary),
#faq .faq-resposta {
  padding: 0 20px 18px !important;
  background: transparent !important;
}

#faq .faq-resposta p,
#faq details p {
  font-size: 14.5px !important;
  color: rgba(255,255,255,.58) !important;
  line-height: 1.72 !important;
  margin: 0 !important;
  padding-top: 4px !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  font-weight: 400 !important;
}

/* Chevron */
#faq .faq-chevron {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  color: rgba(255,255,255,.35) !important;
  transition: transform .25s ease, color .2s !important;
  margin-left: auto !important;
}

#faq .faq-item[open] .faq-chevron {
  transform: rotate(180deg) !important;
  color: var(--brand-accent) !important;
}


/* ================================================================
   FOOTER — refinamento premium
   ================================================================ */

footer {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(700px 200px at 20% 0%, rgba(229,57,53,.04), transparent 60%),
    linear-gradient(180deg, #060c14 0%, #070e18 60%, #060c14 100%) !important;
  box-shadow: none !important;
}

/* Linha separadora no topo — padrão 4px */
footer::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(229,57,53,.6) 15%,
    rgba(229,57,53,.95) 50%,
    rgba(229,57,53,.6) 85%,
    transparent 100%
  ) !important;
  z-index: 2 !important;
}

footer::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: repeating-linear-gradient(
    -52deg,
    rgba(255,255,255,.012) 0 1px,
    transparent 1px 28px
  ) !important;
  opacity: 1 !important;
}

/* ── Corpo do footer ── */
.ft-inner {
  position: relative;
  z-index: 1;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 20px;
}

.ft-body {
  display: grid !important;
  grid-template-columns: 1.3fr 1fr 1.4fr !important;
  gap: 52px !important;
  padding: 52px 0 40px !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
}

@media (max-width: 900px) {
  .ft-body { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
  .ft-col-brand { grid-column: 1 / -1 !important; }
}

@media (max-width: 560px) {
  .ft-body { grid-template-columns: 1fr !important; }
}

/* ── Coluna marca ── */
.ft-logo { display: block !important; margin-bottom: 14px !important; }
.ft-logo img { height: 58px !important; width: auto !important; }

.ft-tagline {
  font-size: 13.5px !important;
  line-height: 1.68 !important;
  color: rgba(255,255,255,.44) !important;
  max-width: 260px !important;
  margin-bottom: 20px !important;
}

/* Redes sociais */
.ft-social { display: flex !important; gap: 10px !important; }

.ft-social a {
  display: inline-grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 11px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  background: rgba(255,255,255,.04) !important;
  color: rgba(255,255,255,.55) !important;
  transition: background .18s, border-color .18s, color .18s, transform .15s !important;
  box-shadow: none !important;
}

.ft-social a:hover {
  background: rgba(229,57,53,.14) !important;
  border-color: rgba(229,57,53,.30) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}

.ft-social svg { width: 17px !important; height: 17px !important; }

/* ── Coluna navegação ── */
.ft-col-title {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.28) !important;
  margin-bottom: 18px !important;
}

.ft-nav-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 11px !important;
}

.ft-nav-list a {
  color: rgba(255,255,255,.55) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  transition: color .15s, transform .15s !important;
  display: inline-block !important;
}

.ft-nav-list a:hover {
  color: #fff !important;
  transform: translateX(3px) !important;
}

/* ── Coluna contato ── */
.ft-contact-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.ft-contact-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.05) !important;
}

.ft-contact-item:first-child { padding-top: 0 !important; }
.ft-contact-item:last-child { border-bottom: none !important; }

.ft-contact-icon {
  width: 34px !important;
  height: 34px !important;
  border-radius: 9px !important;
  display: grid !important;
  place-items: center !important;
  flex-shrink: 0 !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  margin-top: 1px !important;
  box-shadow: none !important;
}

.ft-contact-icon svg {
  width: 15px !important;
  height: 15px !important;
  color: rgba(229,57,53,.80) !important;
}

.ft-contact-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.ft-contact-label {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.28) !important;
}

.ft-contact-value {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.80) !important;
  line-height: 1.45 !important;
}

.ft-contact-value a {
  color: rgba(255,255,255,.80) !important;
  text-decoration: none !important;
  transition: color .15s !important;
}

.ft-contact-value a:hover { color: #fff !important; }

/* ── Barra inferior ── */
.ft-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 18px 0 24px !important;
  flex-wrap: wrap !important;
}

.ft-copy {
  font-size: 12px !important;
  color: rgba(255,255,255,.28) !important;
}

.ft-copy strong {
  color: rgba(255,255,255,.42) !important;
  font-weight: 600 !important;
}

.ft-legal {
  display: flex !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
}

.ft-legal a {
  font-size: 12px !important;
  color: rgba(255,255,255,.28) !important;
  text-decoration: none !important;
  transition: color .15s !important;
}

.ft-legal a:hover { color: rgba(255,255,255,.65) !important; }

.ft-cnpj {
  font-size: 11px !important;
  color: rgba(255,255,255,.18) !important;
}

@media (max-width: 700px) {
  .ft-bottom { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
}


/* ================================================================
   CONTATO — versão claro premium
   ================================================================ */

section#contato {
  position: relative !important;
  overflow: hidden !important;
  padding: 64px 0 80px !important;
  background:
    radial-gradient(800px 280px at 90% -30px, rgba(229,57,53,.05), transparent 55%),
    radial-gradient(600px 260px at -6% 108%, rgba(229,57,53,.035), transparent 58%),
    linear-gradient(180deg, #ffffff 0%, #f7f8fa 55%, #f2f4f7 100%) !important;
  color: var(--n900) !important;
}

/* Textura pontilhada sutil */
section#contato::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background-image: radial-gradient(rgba(0,0,0,.045) 1px, transparent 1px) !important;
  background-size: 28px 28px !important;
  opacity: .35 !important;
}

/* Linha no fundo do #faq — sem necessidade de linha aqui */
section#contato::after {
  display: none !important;
}

/* Layout 2 colunas */
section#contato .contact-final-shell {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: 1fr minmax(360px, .85fr) !important;
  gap: 72px !important;
  align-items: center !important;
}

@media (max-width: 900px) {
  section#contato .contact-final-shell {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
}

/* Kicker */
section#contato .contact-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 0 20px !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  background: rgba(229,57,53,.07) !important;
  border: 1px solid rgba(229,57,53,.20) !important;
  color: var(--brand-dark) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
  width: fit-content !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}

section#contato .contact-kicker::before {
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: var(--brand-accent) !important;
  box-shadow: 0 0 0 3px rgba(229,57,53,.16) !important;
  flex-shrink: 0 !important;
}

/* Título */
section#contato h2 {
  font-family: var(--title) !important;
  font-size: clamp(32px, 3.8vw, 52px) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: -.038em !important;
  color: var(--n900) !important;
  margin: 0 0 18px !important;
  text-wrap: balance !important;
  text-shadow: none !important;
}

/* Lead */
section#contato .lead {
  font-size: clamp(15px, 1.6vw, 17px) !important;
  color: var(--n600) !important;
  line-height: 1.72 !important;
  margin: 0 0 24px !important;
  max-width: 520px !important;
}

/* Tags de assurance */
section#contato .contact-assurance {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 30px !important;
}

section#contato .contact-assurance span {
  display: inline-flex !important;
  align-items: center !important;
  padding: 6px 14px 6px 24px !important;
  border-radius: 999px !important;
  background: rgba(229,57,53,.06) !important;
  border: 1px solid rgba(229,57,53,.18) !important;
  color: var(--brand-dark) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  position: relative !important;
  box-shadow: none !important;
}

section#contato .contact-assurance span::before {
  content: "" !important;
  position: absolute !important;
  left: 10px !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: var(--brand-accent) !important;
  box-shadow: 0 0 0 3px rgba(229,57,53,.12) !important;
}

/* Botões */
section#contato .quick {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

section#contato .btn.btn-primary {
  background: linear-gradient(180deg, #ff4b50, #d92323) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(220,38,38,.22) !important;
  min-height: 50px !important;
  padding: 0 22px !important;
  border-radius: 14px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

section#contato .btn.btn-primary:hover {
  background: linear-gradient(180deg, #ff5b60, #c81e1e) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 32px rgba(220,38,38,.26) !important;
}

section#contato .btn.btn-gray {
  background: rgba(17,24,39,.05) !important;
  border: 1px solid rgba(17,24,39,.12) !important;
  color: var(--n800) !important;
  backdrop-filter: none !important;
  min-height: 50px !important;
  padding: 0 22px !important;
  border-radius: 14px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

section#contato .btn.btn-gray:hover {
  background: rgba(17,24,39,.08) !important;
  border-color: rgba(17,24,39,.18) !important;
  transform: translateY(-1px) !important;
}

/* Painel de contato — claro com sombra */
section#contato .contact-final-panel {
  position: relative !important;
  padding: 32px 32px !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  border: 1px solid rgba(17,24,39,.13) !important;
  box-shadow:
    0 8px 32px rgba(17,24,39,.11),
    0 2px 6px rgba(17,24,39,.07),
    0 1px 0 rgba(255,255,255,.8) inset !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Linha vermelha no topo do painel */
section#contato .contact-final-panel::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 3px !important;
  border-radius: 24px 24px 0 0 !important;
  background: linear-gradient(90deg,
    rgba(229,57,53,.9) 0%,
    rgba(229,57,53,.5) 60%,
    transparent 100%
  ) !important;
}

/* Linhas de contato */
section#contato .contact-lines {
  display: flex !important;
  flex-direction: column !important;
}

section#contato .contact-line {
  display: grid !important;
  grid-template-columns: 44px 1fr !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 18px 0 !important;
  text-decoration: none !important;
  color: inherit !important;
  border-top: 1px solid rgba(17,24,39,.06) !important;
  transition: transform .16s !important;
}

section#contato .contact-line:first-child {
  padding-top: 0 !important;
  border-top: none !important;
}

section#contato a.contact-line:hover {
  transform: translateX(3px) !important;
}

section#contato .contact-line:hover .contact-line-value,
section#contato .contact-line:hover .contact-line-label {
  color: inherit !important;
}

section#contato .contact-line-ico {
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(229,57,53,.10) !important;
  border: 1px solid rgba(229,57,53,.22) !important;
  box-shadow: 0 0 0 3px rgba(229,57,53,.06) !important;
  color: var(--brand-accent) !important;
}

section#contato .contact-line-ico svg {
  width: 19px !important;
  height: 19px !important;
  stroke: var(--brand-accent) !important;
}

section#contato .contact-line-label {
  display: block !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  color: var(--n500) !important;
  margin-bottom: 4px !important;
}

section#contato .contact-line-value {
  display: block !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--n900) !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
}

section#contato .contact-line-value.is-small {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--n700) !important;
  letter-spacing: -.01em !important;
}

@media (max-width: 900px) {
  section#contato { padding: 64px 0 56px !important; }
  section#contato .contact-final-panel { padding: 24px 22px !important; }
  section#contato .btn { width: 100% !important; justify-content: center !important; }
}


/* ================================================================
   FOOTER — premium elegante, fechamento sofisticado
   ================================================================ */

footer {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(900px 320px at 15% 0%, rgba(229,57,53,.055), transparent 55%),
    radial-gradient(700px 280px at 95% 100%, rgba(229,57,53,.04), transparent 58%),
    linear-gradient(180deg, #07101c 0%, #090f1a 40%, #070e18 100%) !important;
  color: rgba(226,232,240,.85);
}

/* Textura diagonal ultra-sutil */
footer::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: repeating-linear-gradient(
    -55deg,
    rgba(255,255,255,.014) 0 1px,
    transparent 1px 30px
  ) !important;
  opacity: 1 !important;
}

/* Linha de acento no topo — transição do Contato */
footer::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(229,57,53,.20) 15%,
    rgba(229,57,53,.55) 40%,
    rgba(229,57,53,.55) 60%,
    rgba(229,57,53,.20) 85%,
    transparent 100%
  ) !important;
  opacity: 1 !important;
}

/* ── Estrutura interna ── */
.ft-inner {
  position: relative !important;
  z-index: 1 !important;
  max-width: var(--maxw) !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

.ft-body {
  display: grid !important;
  grid-template-columns: 1.3fr 1fr 1.4fr !important;
  gap: 56px !important;
  padding: 56px 0 44px !important;
  border-bottom: 1px solid rgba(255,255,255,.055) !important;
}

@media (max-width: 900px) {
  .ft-body {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
    padding: 44px 0 36px !important;
  }
  .ft-col-brand { grid-column: 1 / -1 !important; }
}

@media (max-width: 560px) {
  .ft-body { grid-template-columns: 1fr !important; }
}

/* ── Coluna marca ── */
.ft-logo {
  display: block !important;
  margin-bottom: 16px !important;
}

.ft-logo img {
  height: 48px !important;
  width: auto !important;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.18)) !important;
}

.ft-tagline {
  font-size: 13px !important;
  line-height: 1.72 !important;
  color: rgba(255,255,255,.38) !important;
  max-width: 250px !important;
  margin: 0 0 22px !important;
  font-weight: 400 !important;
  letter-spacing: .005em !important;
}

/* Redes sociais */
.ft-social {
  display: flex !important;
  gap: 8px !important;
}

.ft-social a {
  display: inline-grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.035) !important;
  color: rgba(255,255,255,.45) !important;
  transition: background .2s, border-color .2s, color .2s, transform .15s !important;
  box-shadow: none !important;
}

.ft-social a:hover {
  background: rgba(229,57,53,.14) !important;
  border-color: rgba(229,57,53,.28) !important;
  color: rgba(255,255,255,.90) !important;
  transform: translateY(-2px) !important;
}

.ft-social svg {
  width: 16px !important;
  height: 16px !important;
}

/* ── Coluna navegação ── */
.ft-col-title {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.22) !important;
  margin: 0 0 20px !important;
}

.ft-nav-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 13px !important;
}

.ft-nav-list a {
  color: rgba(255,255,255,.48) !important;
  text-decoration: none !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  letter-spacing: .005em !important;
  transition: color .18s, transform .18s !important;
  display: inline-block !important;
}

.ft-nav-list a:hover {
  color: rgba(255,255,255,.88) !important;
  transform: translateX(3px) !important;
}

/* ── Coluna contato ── */
.ft-contact-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.ft-contact-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 13px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.045) !important;
}

.ft-contact-item:first-child { padding-top: 0 !important; }
.ft-contact-item:last-child { border-bottom: none !important; }

.ft-contact-icon {
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px !important;
  display: grid !important;
  place-items: center !important;
  flex-shrink: 0 !important;
  background: rgba(229,57,53,.08) !important;
  border: 1px solid rgba(229,57,53,.12) !important;
  margin-top: 1px !important;
  box-shadow: none !important;
}

.ft-contact-icon svg {
  width: 14px !important;
  height: 14px !important;
  color: rgba(229,57,53,.75) !important;
}

.ft-contact-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.ft-contact-label {
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.22) !important;
}

.ft-contact-value {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.68) !important;
  line-height: 1.5 !important;
}

.ft-contact-value a {
  color: rgba(255,255,255,.68) !important;
  text-decoration: none !important;
  transition: color .15s !important;
}

.ft-contact-value a:hover {
  color: rgba(255,255,255,.92) !important;
}

/* ── Barra inferior ── */
.ft-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 20px 0 26px !important;
  flex-wrap: wrap !important;
}

.ft-copy {
  font-size: 11.5px !important;
  color: rgba(255,255,255,.22) !important;
  font-weight: 400 !important;
}

.ft-copy strong {
  color: rgba(255,255,255,.34) !important;
  font-weight: 600 !important;
}

.ft-legal {
  display: flex !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}

.ft-legal a {
  font-size: 11.5px !important;
  color: rgba(255,255,255,.22) !important;
  text-decoration: none !important;
  transition: color .15s !important;
}

.ft-legal a:hover {
  color: rgba(255,255,255,.55) !important;
}

.ft-cnpj {
  font-size: 11px !important;
  color: rgba(255,255,255,.14) !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: .02em !important;
}

@media (max-width: 700px) {
  .ft-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
}


/* ================================================================
   FOOTER — chave de ouro, versão final premium
   ================================================================ */

#footer {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(ellipse 80% 40% at 50% 0%, rgba(229,57,53,.065), transparent 55%),
    radial-gradient(ellipse 60% 50% at 10% 100%, rgba(229,57,53,.04), transparent 60%),
    radial-gradient(ellipse 50% 60% at 90% 50%, rgba(15,30,60,.5), transparent 65%),
    linear-gradient(180deg, #060d18 0%, #080f1c 35%, #070c17 70%, #050b14 100%) !important;
  color: rgba(226,232,240,.75);
}

/* Wordmark decorativo de fundo */
.ft-wordmark {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--title);
  font-size: clamp(80px, 14vw, 180px);
  font-weight: 800;
  letter-spacing: -.04em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,.028);
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  z-index: 0;
  line-height: 1;
}

/* Textura diagonal ultra-sutil */
#footer::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: repeating-linear-gradient(
    -55deg,
    rgba(255,255,255,.012) 0 1px,
    transparent 1px 32px
  ) !important;
  z-index: 0 !important;
}

/* Linha acento vermelho no topo */
#footer::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(229,57,53,.15) 10%,
    rgba(229,57,53,.55) 35%,
    rgba(229,57,53,.70) 50%,
    rgba(229,57,53,.55) 65%,
    rgba(229,57,53,.15) 90%,
    transparent 100%
  ) !important;
  z-index: 1 !important;
}

/* Wrapper interno */
.ft-wrap {
  position: relative;
  z-index: 1;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 20px;
}

/* ── Topo: logo + social ── */
.ft-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
  padding: 52px 0 36px;
}

@media (max-width: 700px) {
  .ft-top { flex-direction: column; gap: 24px; padding: 40px 0 28px; }
}

.ft-brand { display: flex; flex-direction: column; gap: 0; }

.ft-logo-link { display: inline-block; margin-bottom: 14px; }
.ft-logo-link img {
  height: 46px;
  width: auto;
  display: block;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.22));
}

.ft-tagline {
  font-size: 13px;
  line-height: 1.75;
  color: rgba(255,255,255,.35);
  max-width: 280px;
  margin: 0;
  font-weight: 400;
  letter-spacing: .01em;
}

/* Social */
.ft-social-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

@media (max-width: 700px) {
  .ft-social-wrap { align-items: flex-start; }
}

.ft-social-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(255,255,255,.20);
}

.ft-social {
  display: flex;
  gap: 8px;
}

.ft-social-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.03);
  color: rgba(255,255,255,.45);
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 500;
  transition: background .2s, border-color .2s, color .2s, transform .15s;
}

.ft-social-link svg { width: 15px; height: 15px; flex-shrink: 0; }

.ft-social-link span { display: none; }

@media (min-width: 600px) {
  .ft-social-link span { display: inline; }
}

.ft-social-link:hover {
  background: rgba(229,57,53,.12);
  border-color: rgba(229,57,53,.24);
  color: rgba(255,255,255,.85);
  transform: translateY(-2px);
}

/* ── Divisor ── */
.ft-divider {
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(255,255,255,.06) 20%,
    rgba(255,255,255,.06) 80%,
    transparent 100%
  );
  margin: 0;
}

/* ── Miolo: nav + contato ── */
.ft-mid {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 56px;
  padding: 40px 0 36px;
}

@media (max-width: 720px) {
  .ft-mid { grid-template-columns: 1fr; gap: 32px; padding: 32px 0 28px; }
}

.ft-nav-title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(255,255,255,.20);
  margin: 0 0 18px;
}

/* Nav */
.ft-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ft-nav-list a {
  color: rgba(255,255,255,.42);
  text-decoration: none;
  font-size: 13.5px;
  font-weight: 400;
  letter-spacing: .008em;
  transition: color .18s, transform .18s;
  display: inline-block;
}

.ft-nav-list a:hover {
  color: rgba(255,255,255,.82);
  transform: translateX(4px);
}

/* Contato */
.ft-contact-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

@media (max-width: 560px) {
  .ft-contact-list { grid-template-columns: 1fr; }
}

.ft-contact-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px 14px 0;
  border-bottom: 1px solid rgba(255,255,255,.04);
  text-decoration: none;
  color: inherit;
  transition: transform .16s;
}

a.ft-contact-row:hover { transform: translateX(3px); }

.ft-contact-row:nth-child(odd) {
  border-right: 1px solid rgba(255,255,255,.04);
  padding-right: 24px;
}

.ft-contact-row:nth-last-child(-n+2) { border-bottom: none; }

.ft-contact-ico {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: rgba(229,57,53,.07);
  border: 1px solid rgba(229,57,53,.10);
  color: rgba(229,57,53,.70);
  margin-top: 1px;
}

.ft-contact-ico svg { width: 13px; height: 13px; }

.ft-contact-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.ft-contact-lbl {
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(255,255,255,.18);
}

.ft-contact-val {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,.60);
  line-height: 1.4;
}

/* ── Barra inferior ── */
.ft-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 0 28px;
  flex-wrap: wrap;
}

.ft-copy {
  font-size: 11.5px;
  color: rgba(255,255,255,.18);
  font-weight: 400;
}

.ft-copy strong {
  color: rgba(255,255,255,.30);
  font-weight: 600;
}

.ft-legal {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.ft-legal a {
  font-size: 11.5px;
  color: rgba(255,255,255,.18);
  text-decoration: none;
  transition: color .18s;
}

.ft-legal a:hover { color: rgba(255,255,255,.52); }

.ft-cnpj {
  font-size: 10.5px;
  color: rgba(255,255,255,.12);
  font-variant-numeric: tabular-nums;
  letter-spacing: .03em;
}

@media (max-width: 700px) {
  .ft-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
}


/* ================================================================
   FOOTER — chave de ouro v3 (estrutura sólida + detalhes premium)
   ================================================================ */

footer,
#footer {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(ellipse 70% 50% at 50% -10%, rgba(229,57,53,.07), transparent 55%),
    radial-gradient(ellipse 40% 60% at 8% 90%, rgba(229,57,53,.04), transparent 55%),
    linear-gradient(180deg, #060d18 0%, #080f1c 40%, #060c16 100%) !important;
}

/* Linha vermelha topo — padrão 4px */
footer::after, #footer::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(229,57,53,.6) 15%,
    rgba(229,57,53,.95) 50%,
    rgba(229,57,53,.6) 85%,
    transparent 100%
  ) !important;
  z-index: 2 !important;
}

/* Textura diagonal */
footer::before, #footer::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: repeating-linear-gradient(
    -55deg,
    rgba(255,255,255,.011) 0 1px,
    transparent 1px 32px
  ) !important;
  z-index: 0 !important;
  opacity: 1 !important;
}

/* Wrapper */
.ft-wrap {
  position: relative !important;
  z-index: 1 !important;
  max-width: var(--maxw) !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

/* ── Grid 3 colunas ── */
.ft-body {
  display: grid !important;
  grid-template-columns: 1.2fr 0.9fr 1.4fr !important;
  gap: 52px !important;
  padding: 54px 0 44px !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  align-items: start !important;
}

@media (max-width: 900px) {
  .ft-body {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
    padding: 44px 0 36px !important;
  }
  .ft-col-brand { grid-column: 1 / -1 !important; }
}

@media (max-width: 520px) {
  .ft-body { grid-template-columns: 1fr !important; }
}

/* ── Coluna marca ── */
.ft-col-brand {}

.ft-logo-link {
  display: inline-block !important;
  margin-bottom: 15px !important;
}

.ft-logo-link img,
.ft-col-brand .ft-logo img,
footer .ft-logo img {
  height: 56px !important;
  width: auto !important;
  display: block !important;
  filter: drop-shadow(0 3px 10px rgba(0,0,0,.25)) !important;
}

.ft-tagline {
  font-size: 13px !important;
  line-height: 1.72 !important;
  color: rgba(255,255,255,.34) !important;
  max-width: 255px !important;
  margin: 0 0 22px !important;
  font-weight: 400 !important;
}

/* Botões sociais */
.ft-social {
  display: flex !important;
  gap: 8px !important;
}

.ft-soc-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 7px 13px !important;
  border-radius: 9px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.035) !important;
  color: rgba(255,255,255,.45) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: background .2s, border-color .2s, color .2s, transform .15s !important;
  white-space: nowrap !important;
}

.ft-soc-btn:hover {
  background: rgba(229,57,53,.12) !important;
  border-color: rgba(229,57,53,.24) !important;
  color: rgba(255,255,255,.85) !important;
  transform: translateY(-2px) !important;
}

.ft-soc-btn svg { flex-shrink: 0 !important; }

/* ── Coluna navegação ── */
.ft-col-title {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.20) !important;
  margin: 0 0 18px !important;
}

.ft-nav-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.ft-nav-list a {
  color: rgba(255,255,255,.44) !important;
  text-decoration: none !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  display: inline-block !important;
  transition: color .18s, transform .18s !important;
}

.ft-nav-list a:hover {
  color: rgba(255,255,255,.84) !important;
  transform: translateX(4px) !important;
}

/* ── Coluna contato ── */
.ft-col-contact {}

.ft-contact-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.ft-contact-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 11px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.05) !important;
  text-decoration: none !important;
  color: inherit !important;
  transition: transform .16s !important;
}

.ft-contact-item:first-child { padding-top: 0 !important; }
.ft-contact-item:last-child { border-bottom: none !important; }

a.ft-contact-item:hover { transform: translateX(3px) !important; }

.ft-contact-ico {
  width: 30px !important;
  height: 30px !important;
  border-radius: 8px !important;
  display: grid !important;
  place-items: center !important;
  flex-shrink: 0 !important;
  background: rgba(229,57,53,.08) !important;
  border: 1px solid rgba(229,57,53,.12) !important;
  color: rgba(229,57,53,.72) !important;
  margin-top: 1px !important;
}

.ft-contact-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.ft-contact-label {
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.20) !important;
}

.ft-contact-value {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.62) !important;
  line-height: 1.45 !important;
}

/* ── Barra inferior ── */
.ft-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 18px 0 28px !important;
  flex-wrap: wrap !important;
}

.ft-copy {
  font-size: 11.5px !important;
  color: rgba(255,255,255,.18) !important;
}

.ft-copy strong {
  color: rgba(255,255,255,.30) !important;
  font-weight: 600 !important;
}

.ft-legal {
  display: flex !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
}

.ft-legal a {
  font-size: 11.5px !important;
  color: rgba(255,255,255,.18) !important;
  text-decoration: none !important;
  transition: color .18s !important;
}

.ft-legal a:hover { color: rgba(255,255,255,.52) !important; }

.ft-cnpj {
  font-size: 10.5px !important;
  color: rgba(255,255,255,.12) !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: .03em !important;
}

@media (max-width: 700px) {
  .ft-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }
}


/* ── Fix botões sociais do footer ── */
.ft-soc-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 14px !important;
  border-radius: 9px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.035) !important;
  color: rgba(255,255,255,.50) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
  transition: background .2s, border-color .2s, color .2s, transform .15s !important;
  line-height: 1 !important;
}

.ft-soc-btn svg {
  flex-shrink: 0 !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
}

.ft-soc-btn:hover {
  background: rgba(229,57,53,.12) !important;
  border-color: rgba(229,57,53,.26) !important;
  color: rgba(255,255,255,.88) !important;
  transform: translateY(-2px) !important;
}

.ft-social {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}


/* ============================================================
   FOOTER PREMIUM — override final consolidado
   Zorzaneli Tecnologia · v2026
   ============================================================ */

/* ── Wrapper ── */
.ft-wrap {
  position: relative !important;
  z-index: 1 !important;
  max-width: var(--maxw, 1180px) !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
}

/* ── Linha de topo — padrão 4px ── */
footer::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(229,57,53,.6) 15%,
    rgba(229,57,53,.95) 50%,
    rgba(229,57,53,.6) 85%,
    transparent 100%
  ) !important;
  z-index: 2 !important;
}

/* ── Grid body ── */
.ft-body {
  display: grid !important;
  grid-template-columns: 1.15fr 0.85fr 1.4fr !important;
  gap: 0 !important;
  padding: 56px 0 48px !important;
  border-bottom: none !important;
  align-items: start !important;
  position: relative !important;
}

/* Separador bottom do body com gradiente de marca */
.ft-body::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  height: 1px !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,.04) 10%,
    rgba(229,57,53,.18) 40%,
    rgba(229,57,53,.26) 50%,
    rgba(229,57,53,.18) 60%,
    rgba(255,255,255,.04) 90%,
    transparent 100%
  ) !important;
}

/* Divisores verticais entre colunas */
.ft-col-nav,
.ft-col-contact {
  padding-left: 52px !important;
  border-left: 1px solid rgba(255,255,255,.045) !important;
}

/* ── Logo ── */
.ft-logo-link {
  display: inline-block !important;
  margin-bottom: 18px !important;
}
.ft-logo-link img,
.ft-col-brand .ft-logo img,
footer .ft-logo img {
  height: 56px !important;
  width: auto !important;
  display: block !important;
  filter: drop-shadow(0 2px 10px rgba(0,0,0,.28)) !important;
}

/* ── Tagline ── */
.ft-tagline {
  font-size: 13px !important;
  line-height: 1.76 !important;
  color: rgba(255,255,255,.30) !important;
  max-width: 240px !important;
  margin: 0 0 24px !important;
  font-weight: 400 !important;
  letter-spacing: .012em !important;
}

/* ── Botões sociais ── */
.ft-social {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}
.ft-social a,
.ft-soc-btn {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  padding: 7px 13px 7px 10px !important;
  border-radius: 9px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  background: rgba(255,255,255,.038) !important;
  color: rgba(255,255,255,.44) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: background .2s, border-color .2s, color .2s, transform .15s, box-shadow .2s !important;
}
.ft-social a svg,
.ft-soc-btn svg {
  flex-shrink: 0 !important;
  display: block !important;
  width: 15px !important;
  height: 15px !important;
  opacity: .55 !important;
  transition: opacity .2s !important;
}
.ft-social a:hover,
.ft-soc-btn:hover {
  background: rgba(229,57,53,.09) !important;
  border-color: rgba(229,57,53,.28) !important;
  color: rgba(255,255,255,.88) !important;
  transform: translateY(-2px) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 8px 20px rgba(183,28,28,.14) !important;
}
.ft-social a:hover svg,
.ft-soc-btn:hover svg { opacity: 1 !important; }

/* ── Título de coluna ── */
.ft-col-title {
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.18) !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
}

/* ── Lista de navegação ── */
.ft-nav-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 11px !important;
}
.ft-nav-list a {
  color: rgba(255,255,255,.38) !important;
  text-decoration: none !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  display: inline-block !important;
  transition: color .18s, transform .18s !important;
  letter-spacing: .005em !important;
  width: auto !important;
  height: auto !important;
}
.ft-nav-list a:hover {
  color: rgba(255,255,255,.80) !important;
  transform: translateX(4px) !important;
}

/* ── Lista de contato ── */
.ft-contact-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.ft-contact-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 13px !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.045) !important;
  text-decoration: none !important;
  color: inherit !important;
  transition: transform .16s !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
.ft-contact-item:first-child { padding-top: 0 !important; }
.ft-contact-item:last-child  {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
a.ft-contact-item:hover { transform: translateX(3px) !important; }

.ft-contact-ico,
.ft-contact-icon {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  border-radius: 9px !important;
  display: grid !important;
  place-items: center !important;
  flex-shrink: 0 !important;
  background: rgba(229,57,53,.07) !important;
  border: 1px solid rgba(229,57,53,.14) !important;
  color: rgba(229,57,53,.68) !important;
  margin-top: 2px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.ft-contact-ico svg,
.ft-contact-icon svg {
  width: 14px !important;
  height: 14px !important;
  display: block !important;
}

.ft-contact-text {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}
.ft-contact-label {
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.18) !important;
  line-height: 1.2 !important;
}
.ft-contact-value {
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.72) !important;
  line-height: 1.45 !important;
}

/* ── Barra inferior ── */
.ft-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 20px 0 32px !important;
  flex-wrap: wrap !important;
}
.ft-copy {
  font-size: 11px !important;
  color: rgba(255,255,255,.16) !important;
  letter-spacing: .01em !important;
  font-weight: 400 !important;
}
.ft-copy strong {
  color: rgba(255,255,255,.26) !important;
  font-weight: 600 !important;
}

.ft-legal {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  flex-wrap: wrap !important;
}
.ft-legal a {
  font-size: 11px !important;
  color: rgba(255,255,255,.22) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
  transition: color .18s !important;
  padding: 0 12px !important;
  position: relative !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  border-radius: 0 !important;
  display: inline !important;
  transform: none !important;
}
.ft-legal a:first-child { padding-left: 0 !important; }
.ft-legal a + a::before {
  content: "·" !important;
  position: absolute !important;
  left: -1px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: rgba(255,255,255,.10) !important;
  font-size: 14px !important;
  pointer-events: none !important;
}
.ft-legal a:hover {
  color: rgba(255,255,255,.54) !important;
  transform: none !important;
  background: none !important;
  border-color: transparent !important;
}

.ft-cnpj {
  font-size: 10px !important;
  color: rgba(255,255,255,.10) !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: .05em !important;
  font-weight: 400 !important;
}

/* ── Responsivo ── */
@media (max-width: 900px) {
  .ft-body {
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    padding: 44px 0 36px !important;
  }
  .ft-col-brand { grid-column: 1 / -1 !important; }
  .ft-col-nav { padding-left: 0 !important; border-left: none !important; }
  .ft-col-contact {
    padding-left: 28px !important;
    border-left: 1px solid rgba(255,255,255,.045) !important;
  }
}
@media (max-width: 520px) {
  .ft-body { grid-template-columns: 1fr !important; }
  .ft-col-contact { padding-left: 0 !important; border-left: none !important; }
  .ft-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding-bottom: 24px !important;
  }
  .ft-legal a { padding: 0 8px !important; font-size: 10.5px !important; }
  .ft-legal a:first-child { padding-left: 0 !important; }
}


/* =====================================================
   MOBILE PREMIUM — hero conversão (≤ 900px)
   Tudo consolidado em um único bloco.
   Desktop: intocado.
   ===================================================== */

/* ── Elementos mobile-only: ocultos no desktop ── */
@media (min-width: 901px) {
  .mobile-hero-cta,
  .mobile-trust-note,
  .mobile-hero-secondary-actions {
    display: none !important;
  }
}

@media (max-width: 900px) {

  /* ── Fundo: overlay escuro denso, foto vira textura ── */
  #home.hero {
    background:
      linear-gradient(180deg,
        rgba(6,9,18,.94) 0%,
        rgba(8,12,22,.90) 55%,
        rgba(10,14,26,.88) 100%
      ),
      url("/img/hero-mobile6-1080x1920.webp") center 10% / cover no-repeat !important;
    background-attachment: scroll !important;
    padding-top: calc(20px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 64px !important;
    min-height: 88vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    position: relative !important;
  }

  /* ── Layout interno: conteúdo ancorado na base ── */
  #home.hero .inner {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    min-height: auto !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 1 !important;
  }

  /* ── Gradiente suave na base da hero ── */
  #home.hero::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    height: 80px !important;
    background: linear-gradient(to bottom, rgba(8,12,22,0), rgba(8,12,22,.18)) !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  /* ── Depoimentos: ocultos no mobile ── */
  #home.hero .desktop-only-testimonial,
  #home.hero .hero-side {
    display: none !important;
  }

  /* ── Botões de painel e suporte: ocultos no mobile ── */
  #home.hero .btn-gray,
  #home.hero .dl-split {
    display: none !important;
  }

  /* ── Título ── */
  #home.hero h1 {
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.1 !important;
    letter-spacing: -.028em !important;
    color: #fff !important;
    margin: 0 0 14px !important;
    text-shadow: 0 2px 24px rgba(0,0,0,.30);
    max-width: 16ch;
  }

  /* ── Linha vermelha acima do título ── */
  #home.hero h1::before {
    content: "";
    display: block;
    width: 36px;
    height: 3px;
    border-radius: 999px;
    background: #e53535;
    margin-bottom: 16px;
    box-shadow: 0 0 12px rgba(229,57,53,.55);
  }

  /* ── Subtítulo ── */
  #home.hero p {
    font-size: 15.5px !important;
    line-height: 1.62 !important;
    color: rgba(255,255,255,.68) !important;
    margin: 0 0 28px !important;
    max-width: 42ch !important;
  }

  /* ── Wrapper CTA ── */
  #home.hero .quick {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    margin-top: 0 !important;
    width: 100%;
  }

  /* ── Botão CTA principal ── */
  .mobile-hero-cta {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 19px 24px;
    border-radius: 16px;
    font-size: 17px;
    font-weight: 800;
    color: #fff !important;
    text-decoration: none !important;
    letter-spacing: -.014em;
    line-height: 1.2;
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #e44543 0%, #d33434 54%, #b72424 100%) !important;
    box-shadow:
      0 14px 28px rgba(84,10,10,.30),
      0 4px 10px rgba(84,10,10,.18),
      inset 0 1px 0 rgba(255,255,255,.18),
      inset 0 -1px 0 rgba(75,0,0,.18) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.18);
    transition: transform .16s ease, box-shadow .16s ease;
    -webkit-tap-highlight-color: transparent;
  }

  .mobile-hero-cta::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 44%;
    border-radius: 16px 16px 0 0;
    background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0));
    pointer-events: none;
  }

  .mobile-hero-cta svg,
  .mobile-hero-cta span {
    position: relative;
    z-index: 1;
  }

  .mobile-hero-cta svg {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    filter: drop-shadow(0 1px 3px rgba(0,0,0,.22));
  }

  .mobile-hero-cta:active {
    transform: scale(.97) translateY(2px) !important;
    box-shadow:
      0 6px 14px rgba(84,10,10,.20),
      inset 0 1px 0 rgba(255,255,255,.10) !important;
  }

  /* ── Nota de confiança abaixo do CTA ── */
  .mobile-trust-note {
    display: block !important;
    text-align: center;
    font-size: 12px;
    color: rgba(255,255,255,.55);
    margin-top: 12px;
    letter-spacing: .01em;
  }
}


/* =====================================================
   MOBILE PREMIUM v5 — hero sem imagem, fundo elegante
   Desktop: absolutamente intocado.
   ===================================================== */
@media (max-width: 900px) {

  /* ── Fundo premium puro — sem imagem ── */
  #home.hero {
    background:
      /* Grain de ruído — textura de filme */
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"),
      /* Acento vermelho — luz distante inferior esquerda */
      radial-gradient(ellipse 80% 45% at 12% 110%, rgba(229,57,53,.18) 0%, transparent 62%),
      /* Clarão branco sutil no topo — dá profundidade */
      radial-gradient(ellipse 70% 30% at 50% -10%, rgba(255,255,255,.04) 0%, transparent 60%),
      /* Base: azul-marinho profundo */
      linear-gradient(160deg, #08091a 0%, #07090f 45%, #0a0810 100%) !important;
    background-attachment: scroll !important;

    /* Posicionamento: conteúdo centrado verticalmente */
    padding-top: calc(80px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 56px !important;
    min-height: 82vh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }

  /* Inner também centralizado */
  #home.hero .inner {
    justify-content: center !important;
  }

  /* ── Grid de pontos sutil — referência tecnológica ── */
  #home.hero::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background-image:
      radial-gradient(circle, rgba(255,255,255,.06) 1px, transparent 1px) !important;
    background-size: 28px 28px !important;
    pointer-events: none !important;
    z-index: 0 !important;
    mask-image: linear-gradient(180deg,
      transparent 0%,
      rgba(0,0,0,.4) 25%,
      rgba(0,0,0,.4) 65%,
      transparent 100%) !important;
    -webkit-mask-image: linear-gradient(180deg,
      transparent 0%,
      rgba(0,0,0,.4) 25%,
      rgba(0,0,0,.4) 65%,
      transparent 100%) !important;
  }

  /* Garantir z-index do conteúdo sobre os pseudo-elementos */
  #home.hero .inner {
    position: relative !important;
    z-index: 1 !important;
  }
}


/* =====================================================
   MOBILE PREMIUM v6 — hero sem imagem, conteúdo no
   terço superior. Desktop: absolutamente intocado.
   ===================================================== */
@media (max-width: 900px) {

  /* ── Fundo 100% CSS — zero imagem ── */
  #home.hero {
    background:
      radial-gradient(ellipse 100% 55% at 0% 115%, rgba(229,57,53,.30) 0%, transparent 55%),
      radial-gradient(ellipse 60% 25% at 88% 0%, rgba(255,255,255,.03) 0%, transparent 55%),
      linear-gradient(170deg, #0b0c1e 0%, #07090f 40%, #090810 100%) !important;
    background-attachment: scroll !important;

    /* Opção B: hero começa ATRÁS do header */
    margin-top: -60px !important;
    padding-top: calc(60px + 56px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 48px !important;
    min-height: auto !important;
    display: block !important;
    position: relative !important;
  }

  /* ── Grid de pontos sutil ── */
  #home.hero::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background-image:
      radial-gradient(circle, rgba(255,255,255,.07) 1px, transparent 1px) !important;
    background-size: 26px 26px !important;
    pointer-events: none !important;
    z-index: 0 !important;
    mask-image: linear-gradient(180deg,
      rgba(0,0,0,.5) 0%,
      rgba(0,0,0,.3) 50%,
      transparent 100%) !important;
    -webkit-mask-image: linear-gradient(180deg,
      rgba(0,0,0,.5) 0%,
      rgba(0,0,0,.3) 50%,
      transparent 100%) !important;
  }

  #home.hero::after {
    display: none !important;
  }

  /* ── Header: sempre transparente, flutua sobre a hero ── */
  header {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
  }

  /* Ao rolar para fora da hero, header ganha fundo ── */
  header.scrolled {
    background: rgba(7,9,15,.95) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,.28) !important;
  }

  /* ── Inner: conteúdo no terço superior ── */
  #home.hero .inner {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 1 !important;
    min-height: auto !important;
  }

  /* ── Depoimentos e botões desnecessários: ocultos ── */
  #home.hero .desktop-only-testimonial,
  #home.hero .hero-side,
  #home.hero .btn-gray,
  #home.hero .dl-split {
    display: none !important;
  }

  /* ── Título ── */
  #home.hero h1 {
    font-size: clamp(27px, 7.8vw, 34px) !important;
    line-height: 1.1 !important;
    letter-spacing: -.026em !important;
    color: #fff !important;
    margin: 0 0 12px !important;
    max-width: 18ch;
    text-shadow: none !important;
  }

  /* Linha vermelha acima do título */
  #home.hero h1::before {
    content: "";
    display: block;
    width: 36px;
    height: 3px;
    border-radius: 999px;
    background: #e53535;
    margin-bottom: 16px;
    box-shadow: 0 0 12px rgba(229,57,53,.55);
  }

  /* ── Subtítulo ── */
  #home.hero p {
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: rgba(255,255,255,.60) !important;
    margin: 0 0 28px !important;
    max-width: 44ch !important;
  }

  /* ── Wrapper CTA ── */
  #home.hero .quick {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    margin-top: 0 !important;
    width: 100%;
  }
}

/* ── Elementos mobile-only: ocultos no desktop ── */
@media (min-width: 901px) {
  .mobile-hero-cta,
  .mobile-trust-note,
  .mobile-hero-secondary-actions {
    display: none !important;
  }
}

/* ── CTA mobile ── */
@media (max-width: 900px) {
  .mobile-hero-secondary-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    margin-top: 16px;
  }

  .mobile-hero-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.12);
    background:
      linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 38%),
      rgba(9,15,26,.62);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.06),
      0 10px 22px rgba(2,8,18,.16);
    color: rgba(255,255,255,.90) !important;
    text-decoration: none !important;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -.01em;
    line-height: 1.2;
    backdrop-filter: blur(10px) saturate(120%);
    -webkit-backdrop-filter: blur(10px) saturate(120%);
    -webkit-tap-highlight-color: transparent;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
  }

  .mobile-hero-secondary:active {
    transform: scale(.98) translateY(1px);
  }

  .mobile-hero-secondary-disabled {
    border-color: rgba(255,255,255,.08);
    background:
      linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0) 40%),
      rgba(9,15,26,.48);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.04),
      0 8px 18px rgba(2,8,18,.12);
    color: rgba(255,255,255,.54) !important;
  }

  .mobile-hero-cta {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 19px 24px;
    border-radius: 16px;
    font-size: 17px;
    font-weight: 800;
    color: #fff !important;
    text-decoration: none !important;
    letter-spacing: -.014em;
    line-height: 1.2;
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, #e44543 0%, #d33434 54%, #b72424 100%) !important;
    box-shadow:
      0 14px 28px rgba(84,10,10,.30),
      0 4px 10px rgba(84,10,10,.18),
      inset 0 1px 0 rgba(255,255,255,.18),
      inset 0 -1px 0 rgba(75,0,0,.18) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    text-shadow: 0 1px 3px rgba(0,0,0,.18);
    transition: transform .16s ease, box-shadow .16s ease;
    -webkit-tap-highlight-color: transparent;
  }

  .mobile-hero-cta::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 44%;
    border-radius: 16px 16px 0 0;
    background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0));
    pointer-events: none;
  }

  .mobile-hero-cta svg,
  .mobile-hero-cta span {
    position: relative;
    z-index: 1;
  }

  .mobile-hero-cta svg {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    filter: drop-shadow(0 1px 3px rgba(0,0,0,.22));
  }

  .mobile-hero-cta:active {
    transform: scale(.97) translateY(2px) !important;
    box-shadow:
      0 6px 14px rgba(84,10,10,.20),
      inset 0 1px 0 rgba(255,255,255,.10) !important;
  }

  /* ── Nota de confiança ── */
  .mobile-trust-note {
    display: block !important;
    text-align: center;
    font-size: 12px;
    color: rgba(255,255,255,.55);
    margin-top: 12px;
    letter-spacing: .01em;
  }
}


/* ── v6 fix: aumentar cobertura do header ── */
@media (max-width: 900px) {
  #home.hero {
    margin-top: -80px !important;
    padding-top: calc(80px + 60px + env(safe-area-inset-top, 0px)) !important;
  }
}


/* =====================================================
   MOBILE PREMIUM — kicker de credibilidade v2
   Apenas mobile. Desktop: absolutamente intocado.
   ===================================================== */

@media (min-width: 901px) {
  .mobile-hero-kicker { display: none !important; }
}

@media (max-width: 900px) {

  /* ── Kicker ── */
  .mobile-hero-kicker {
    display: flex !important;
    align-items: center;
    gap: 7px;
    margin: 0 0 12px !important;
    padding: 0 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,.62) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .mobile-hero-kicker span {
    color: #e53535 !important;
    font-size: 8px !important;
    flex-shrink: 0;
  }

  /* ── Subir conteúdo: menos gap entre header e kicker ── */
  #home.hero {
    padding-top: calc(80px + env(safe-area-inset-top, 0px)) !important;
  }

  /* ── Subtítulo: 2 linhas no máximo ── */
  #home.hero p {
    font-size: 14.5px !important;
    max-width: 46ch !important;
  }
}


/* =====================================================
   MOBILE PREMIUM — seção Sobre v2
   Apenas mobile. Desktop: absolutamente intocado.
   ===================================================== */

@media (max-width: 900px) {

  /* ── Ocultar CTA, segundo parágrafo, pilares 5 e 6 ── */
  #sobre .sobre-cta { display: none !important; }
  #sobre .sobre-body { display: none !important; }
  #sobre .sobre-pilares .pilar:nth-child(5),
  #sobre .sobre-pilares .pilar:nth-child(6) { display: none !important; }

  /* ── Seção: padding reduzido com força máxima ── */
  section#sobre,
  section#sobre > .container {
    padding-top: 28px !important;
    padding-bottom: 32px !important;
  }

  /* ── Grid: colado ao lead, gap mínimo ── */
  #sobre .sobre-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  #sobre .sobre-copy {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* ── Lead: sem margem extra ── */
  #sobre .sobre-copy .sobre-lead {
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: rgba(15,23,42,.62) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* ── Pilares: colados ao lead ── */
  #sobre .sobre-copy ~ .sobre-pilares,
  #sobre .sobre-pilares {
    margin-top: 14px !important;
    padding-top: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  /* ── Card ── */
  #sobre .sobre-pilares .pilar {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 14px !important;
    background: #f8f9fb !important;
    border: 1px solid rgba(17,24,39,.07) !important;
    border-radius: 14px !important;
    box-shadow:
      0 2px 12px rgba(15,23,42,.08),
      0 0 0 1px rgba(229,57,53,.06),
      inset 0 1px 0 rgba(255,255,255,.90) !important;
    margin: 0 !important;
  }

  /* ── Ícone ── */
  #sobre .sobre-pilares .pilar .pilar-icon {
    flex-shrink: 0 !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 11px !important;
    display: grid !important;
    place-items: center !important;
    background: rgba(229,57,53,.14) !important;
    border: 1px solid rgba(229,57,53,.22) !important;
  }

  #sobre .sobre-pilares .pilar .pilar-icon svg {
    width: 18px !important;
    height: 18px !important;
    color: rgba(229,57,53,.80) !important;
    stroke: rgba(229,57,53,.80) !important;
  }

  /* ── Texto ── */
  #sobre .sobre-pilares .pilar .pilar-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
  }

  #sobre .sobre-pilares .pilar .pilar-text strong {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.2 !important;
  }

  #sobre .sobre-pilares .pilar .pilar-text span {
    font-size: 13px !important;
    color: rgba(15,23,42,.54) !important;
    line-height: 1.5 !important;
  }

  /* ── Título ── */
  #sobre .sobre-copy .sobre-title {
    font-size: clamp(28px, 7.5vw, 36px) !important;
    line-height: 1.1 !important;
    margin-top: 10px !important;
    margin-bottom: 12px !important;
  }
}


/* ── Sobre: padding-top mínimo no mobile ── */
@media (max-width: 900px) {
  #sobre,
  #sobre.container,
  section#sobre,
  section#sobre > div.container {
    padding-top: 20px !important;
  }
}


/* ── Mobile: eliminar barras inclinadas do header ── */
@media (max-width: 900px) {
  header,
  header.scrolled {
    background-image: none !important;
  }

  header {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
  }

  header.scrolled {
    background: rgba(7,9,15,.95) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,.28) !important;
  }
}


/* ── Mobile: zerar barras inclinadas do core (linha 46/50 do 00-zor-core.css) ── */
@media (max-width: 900px) {
  header {
    background:
      linear-gradient(180deg, rgba(7,9,15,0), rgba(7,9,15,0)) !important;
    background-image: none !important;
  }

  header::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
  }

  header.scrolled {
    background:
      rgba(7,9,15,.95) !important;
    background-image: none !important;
  }
}


/* =====================================================
   MOBILE PREMIUM — Hero: Mini Testimonial Card v1
   Apenas mobile. Desktop: absolutamente intocado.
   ===================================================== */
@media (max-width: 900px) {

  /* Reativar o aside como card compacto glass — altura fixa para evitar layout shift */
  #home.hero .desktop-only-testimonial,
  #home.hero .hero-side {
    display: block !important;
    margin-top: 22px !important;
    background: rgba(255,255,255,.07) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 16px !important;
    padding: 16px 18px !important;
    position: relative !important;
    max-width: 100% !important;
    min-height: 160px !important;
    overflow: hidden !important;
    box-shadow:
      0 4px 24px rgba(0,0,0,.24),
      inset 0 1px 0 rgba(255,255,255,.10) !important;
  }

  /* Remover pseudo-elementos decorativos do desktop */
  #home.hero .desktop-only-testimonial::before,
  #home.hero .desktop-only-testimonial::after,
  #home.hero .hero-side::before,
  #home.hero .hero-side::after {
    content: none !important;
    display: none !important;
  }

  /* Ocultar label e dots */
  #home.hero .desktop-only-testimonial .t-label,
  #home.hero .hero-side .t-label,
  #home.hero .desktop-only-testimonial .t-dots,
  #home.hero .hero-side .t-dots {
    display: none !important;
  }

  /* Todos os items: no DOM mas invisíveis, sobrepostos — sem reflow */
  #home.hero .desktop-only-testimonial .t-item,
  #home.hero .hero-side .t-item {
    display: block !important;
    position: absolute !important;
    top: 16px !important;
    left: 18px !important;
    right: 18px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .5s ease !important;
    padding: 0 !important;
  }

  /* Item ativo: visível */
  #home.hero .desktop-only-testimonial .t-item.active,
  #home.hero .hero-side .t-item.active {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* Remover aspas decorativas do desktop */
  #home.hero .desktop-only-testimonial .t-item::before,
  #home.hero .hero-side .t-item::before {
    content: none !important;
  }

  /* Quote */
  #home.hero .desktop-only-testimonial .t-quote,
  #home.hero .hero-side .t-quote {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    color: rgba(255,255,255,.80) !important;
    font-style: italic !important;
    margin: 0 0 12px !important;
  }

  /* Autor */
  #home.hero .desktop-only-testimonial .t-author,
  #home.hero .hero-side .t-author {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
  }

  #home.hero .desktop-only-testimonial .t-name,
  #home.hero .hero-side .t-name {
    font-size: 12.5px !important;
    font-weight: 700 !important;
    color: rgba(255,255,255,.90) !important;
  }

  #home.hero .desktop-only-testimonial .t-role,
  #home.hero .hero-side .t-role {
    font-size: 11.5px !important;
    color: rgba(255,255,255,.45) !important;
  }
}
