/* ==========================================================================
   Disktrans | Landing Page
   Paleta oficial Disktrans: Azul #004C96, Laranja #F4941D, Navy #022064.
   Tipografia: Barlow (display) + Inter (corpo de texto), self-hosted.
   ========================================================================== */

@font-face{ font-family:"Barlow"; src:url("../fonts/barlow-700.woff2") format("woff2"); font-weight:700; font-style:normal; font-display:optional; }
@font-face{ font-family:"Barlow"; src:url("../fonts/barlow-800.woff2") format("woff2"); font-weight:800; font-style:normal; font-display:optional; }
@font-face{ font-family:"Inter"; src:url("../fonts/inter-variable.woff2") format("woff2"); font-weight:400 700; font-style:normal; font-display:optional; }

:root{
  --blue:      #004c96;   /* primário */
  --blue-dk:   #003b75;   /* hover primário */
  --navy:      #022064;   /* fundo escuro institucional */
  --blue-lt:   #0a7ac9;   /* links, ícones, azul claro */
  --orange:    #f4941d;   /* CTA e destaques */
  --orange-dk: #de7f0a;
  --char:      #2c303e;   /* carvão: rodapé, títulos escuros */
  --bg:        #f5f6f8;   /* fundo cinza neutro */
  --muted:     #556274;   /* texto secundário */
  --rail:      #dce4ef;   /* divisórias e trilhos */
  --wash:      #e8f0f8;   /* azul lavado */
  --white:     #ffffff;
  --ink:       #1b2333;

  --warn:      #b42318;
  --warn-bg:   #fef3f2;
  --wa:        #25d366;   /* WhatsApp */
  --wa-dk:     #1da851;

  --ff-display:"Barlow", "Segoe UI", Arial, sans-serif;
  --ff-text:   "Inter", "Segoe UI", Arial, sans-serif;
  --ff-mono:   ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --wrap:1180px;
  --gut:20px;
  --r-sm:6px;
  --r:12px;
  --r-lg:18px;
  --sec-y:64px;
  --sh-sm:0 2px 4px rgba(2,32,100,.05), 0 4px 12px rgba(2,32,100,.05);
  --sh:   0 12px 30px rgba(2,32,100,.09);
  --sh-lg:0 24px 56px rgba(2,32,100,.16);
  --hd-h:72px;

  --grad:    linear-gradient(90deg, #0a5daf 0%, #0a7ac9 45%, #22b0e6 100%);
  --grad-dk: linear-gradient(90deg, #7fd0ff 0%, #d6f1ff 100%);
}

/* ===== RESET & BASE ===== */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--hd-h) + 16px); }
body{ margin:0; font-family:var(--ff-text); font-size:16px; line-height:1.6; color:var(--ink); background:var(--white); -webkit-font-smoothing:antialiased; }
img,svg{ max-width:100%; display:block; }
a{ color:var(--blue); text-decoration:none; }
a:hover{ color:var(--blue-lt); text-decoration:underline; }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:var(--ff-display); margin:0; line-height:1.15; letter-spacing:-.01em; font-weight:700; color:var(--navy); }
p{ margin:0; }
button,input,select,textarea{ font:inherit; color:inherit; }
code{ font-family:var(--ff-mono); font-size:.88em; }
:focus-visible{ outline:3px solid var(--orange); outline-offset:2px; border-radius:4px; }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation:none; transition:none; }
  .rv{ opacity:1; transform:none; }
}

.skip{ position:absolute; left:-9999px; top:0; z-index:200; background:var(--blue); color:#fff; padding:12px 18px; border-radius:0 0 var(--r-sm) 0; }
.skip:focus{ left:0; }

/* ===== LAYOUT & UTILITÁRIOS ===== */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut); }
.sec{ padding-block:var(--sec-y); position:relative; }
.sec--tint{ background:var(--bg); }
.sec__hd{ max-width:740px; margin-bottom:36px; }
.sec__hd h2{ font-size:clamp(1.75rem,5.2vw,2.5rem); }
.sec__sub{ margin-top:12px; color:var(--muted); font-size:1.02rem; max-width:62ch; }

.hx,.hl{ background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.cta .hx{ background-image:var(--grad-dk); }

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--blue); margin-bottom:12px;
}
.eyebrow::before{ content:""; width:8px; height:8px; flex:none; border-radius:50%; background:var(--orange); }
.eyebrow--on-dark{ color:#fff; }

.lead{ font-size:1.05rem; color:var(--muted); }
.lead strong{ color:var(--blue); }
.lead--on-dark{ color:rgba(255,255,255,.85); }
.lead--on-dark strong{ color:#fff; }

/* ===== BOTÕES ===== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 26px; border:2px solid transparent; border-radius:6px;
  font-family:var(--ff-display); font-weight:700; font-size:1.02rem; letter-spacing:.02em; line-height:1;
  cursor:pointer; text-decoration:none;
  transition:transform .15s, background .18s, box-shadow .18s, color .18s, border-color .18s;
}
.btn:hover{ text-decoration:none; transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
.btn--primary{ background:var(--orange); color:#fff; box-shadow:0 8px 20px rgba(244,148,29,.3); }
.btn--primary:hover{ background:var(--orange-dk); color:#fff; box-shadow:0 12px 26px rgba(222,127,10,.36); }
.btn--ghost{ background:transparent; color:var(--blue); border-color:var(--blue); }
.btn--ghost:hover{ background:var(--blue); color:#fff; }
.btn--wa{
  background:var(--wa);
  color:#fff !important;
  border:1px solid #25d366;
  box-shadow:0 0 14px rgba(37,211,102,.45), 0 4px 14px rgba(0,0,0,.15);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.btn--wa:hover{
  background:var(--wa-dk);
  color:#fff !important;
  box-shadow:0 0 20px rgba(37,211,102,.7), 0 6px 18px rgba(0,0,0,.2);
  text-decoration:none;
}
.btn--wa svg{ width:20px; height:20px; fill:currentColor; flex-shrink:0; }
.btn--sm{ padding:10px 18px; font-size:.92rem; }
.btn--block{ width:100%; }

/* ===== HEADER ===== */
.hd{ position:sticky; top:0; z-index:100; background:#fff; border-bottom:1px solid var(--rail); transition:box-shadow .2s; }
.hd::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--grad); transform:scaleX(0); transform-origin:left; transition:transform .35s ease; }
.hd.is-stuck{ box-shadow:var(--sh-sm); }
.hd.is-stuck::after{ transform:scaleX(1); }
.hd__in{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:var(--hd-h); }

.brand{ display:inline-flex; align-items:center; gap:12px; color:var(--ink); flex-shrink:0; }
.brand:hover{ text-decoration:none; }
.brand__logo{ display:block; height:36px; width:auto; }
.brand__tag{ font-size:.68rem; font-weight:600; color:var(--muted); letter-spacing:.05em; text-transform:uppercase; white-space:normal; padding-left:12px; border-left:1px solid var(--rail); line-height:1.25; max-width:130px; display:inline-block; }

.burger{ width:42px; height:42px; display:grid; place-content:center; gap:5px; background:none; border:1px solid var(--rail); border-radius:6px; cursor:pointer; }
.burger span{ display:block; width:20px; height:2px; background:var(--blue); border-radius:2px; transition:transform .2s, opacity .2s; }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.nav{ position:absolute; left:0; right:0; top:100%; background:#fff; border-bottom:1px solid var(--rail); padding:8px var(--gut) 20px; display:none; box-shadow:var(--sh); }
.nav.is-open{ display:block; }
.nav ul{ display:flex; flex-direction:column; }
.nav a:not(.nav__cta){ display:block; padding:12px 2px; color:var(--char); font-weight:600; border-bottom:1px solid var(--rail); }
.nav a:not(.nav__cta):hover{ color:var(--blue); text-decoration:none; }
.nav__cta{ margin-top:14px; width:100%; }

/* ===== HERO COM FORMULÁRIO NA PRIMEIRA DOBRA ===== */
.hero{
  position:relative; overflow:hidden;
  background:
    radial-gradient(800px 450px at 90% 12%, rgba(10,122,201,.08), transparent 70%),
    linear-gradient(180deg,#f9fbfe 0%,#edf2f9 100%);
  padding-block:40px 56px;
}
.hero__in{ display:grid; gap:36px; position:relative; z-index:1; }
.hero__copy{ display:flex; flex-direction:column; justify-content:center; }
.hero h1{ font-size:clamp(1.95rem,6.8vw,3.1rem); font-weight:800; letter-spacing:-.02em; line-height:1.08; }
.hero .lead{ margin-top:18px; max-width:54ch; }
.hero .lead strong{ color:var(--blue); }
.hero__note{ margin-top:12px; font-size:.78rem; color:var(--muted); }

.hero__pills{ margin-top:24px; display:grid; gap:10px; }
.hero__pill{
  display:flex; align-items:center; gap:10px;
  background:#fff; border:1px solid var(--rail); border-radius:8px;
  padding:9px 14px; font-size:.88rem; font-weight:600; color:var(--char);
  box-shadow:var(--sh-sm);
}
.hero__pill-icon{
  width:24px; height:24px; border-radius:50%; background:var(--wash);
  display:flex; align-items:center; justify-content:center; color:var(--blue);
  flex:none; font-weight:800; font-size:.75rem;
}

.hero__thumb{
  margin-top:20px; display:flex; align-items:center; gap:12px;
  background:rgba(255,255,255,.8); border:1px solid var(--rail);
  border-radius:var(--r); padding:8px 12px;
}
.hero__thumb-img{ width:68px; height:48px; border-radius:6px; object-fit:cover; flex:none; }
.hero__thumb-txt{ font-size:.78rem; line-height:1.35; color:var(--muted); }
.hero__thumb-txt strong{ color:var(--blue); display:block; font-size:.82rem; }

/* Card do formulário no Hero */
.hero__form-card{
  background:#fff; border:1px solid var(--rail); border-top:5px solid var(--orange);
  border-radius:var(--r-lg); padding:24px 20px 20px; box-shadow:var(--sh-lg);
  position:relative;
}
.form-card__hd{ margin-bottom:14px; text-align:center; }
.form-card__tag{
  display:inline-block; font-size:.72rem; font-weight:800; letter-spacing:.12em;
  text-transform:uppercase; color:var(--orange-dk); background:#fff6eb;
  padding:3px 10px; border-radius:4px; margin-bottom:6px;
}
.form-card__t{ font-size:1.35rem; color:var(--blue); line-height:1.15; }
.form-card__sub{ font-size:.85rem; color:var(--muted); margin-top:4px; }

/* SLA Régua Horizontal */
.sla{
  background:#fff; border:1px solid var(--rail); border-top:4px solid var(--orange);
  border-radius:var(--r); padding:24px 20px; box-shadow:var(--sh-sm);
  display:grid; gap:20px;
}
.sla__hd{ display:flex; flex-direction:column; gap:4px; }
.sla__kicker{ font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--orange-dk); }
.sla__title{ font-size:1.22rem; color:var(--blue); }

.rail{ position:relative; display:grid; gap:18px; padding-left:52px; }
.rail::before{ content:""; position:absolute; left:18px; top:18px; bottom:18px; width:3px; background:var(--rail); border-radius:2px; }
.rail__step{ position:relative; min-height:38px; display:flex; flex-direction:column; justify-content:center; }
.rail__dot{
  position:absolute; left:-52px; top:50%; transform:translateY(-50%);
  width:38px; height:38px; border-radius:50%;
  background:linear-gradient(145deg,var(--orange),var(--orange-dk));
  border:3px solid #fff; box-shadow:0 0 0 1px var(--rail);
}
.rail__dot::after{
  content:""; position:absolute; left:50%; top:45%; width:9px; height:5px;
  border-left:2px solid #fff; border-bottom:2px solid #fff;
  transform:translate(-50%,-50%) rotate(-45deg);
}
.rail__step:last-child .rail__dot{ background:linear-gradient(145deg,#0a5daf,var(--blue)); }
.rail__d{ display:block; font-family:var(--ff-display); font-weight:800; font-size:.76rem; letter-spacing:.12em; text-transform:uppercase; color:var(--orange-dk); }
.rail__l{ display:block; font-family:var(--ff-display); font-weight:700; font-size:1rem; color:var(--blue); line-height:1.2; }
.sla__foot{ padding:12px 14px; background:var(--bg); border-radius:6px; font-size:.85rem; color:var(--muted); line-height:1.4; }
.sla__foot strong{ color:var(--blue); }

/* ===== PROVA SOCIAL: CLIENTES / LOGOS ===== */
.logos{ padding-block:36px 40px; background:#fff; border-bottom:1px solid var(--rail); }
.logos__t{ font-family:var(--ff-text); font-weight:700; font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); text-align:center; margin-bottom:22px; }
.logos__grid{
  display:grid; grid-template-columns:repeat(2,1fr);
  border-top:1px solid var(--rail); border-left:1px solid var(--rail);
}
.logos__item{
  display:flex; align-items:center; justify-content:center; min-height:80px; padding:16px;
  border-right:1px solid var(--rail); border-bottom:1px solid var(--rail);
  background:#fff; transition:background .2s ease;
}
.logos__item:hover{ background:var(--bg); }
.logos__item img{
  max-height:38px; max-width:130px; width:auto; height:auto; object-fit:contain;
  filter:grayscale(100%); opacity:.7; transition:all .25s ease;
}
.logos__item:hover img{ filter:grayscale(0%); opacity:1; transform:scale(1.06); }

/* ===== ESTRUTURA E ESCALA OPERACIONAL ===== */
.infra__grid{ display:grid; gap:24px; }
.infra__card{
  background:#fff; border:1px solid var(--rail); border-radius:var(--r-lg);
  overflow:hidden; box-shadow:var(--sh-sm); transition:transform .25s, box-shadow .25s;
  display:flex; flex-direction:column;
}
.infra__card:hover{ transform:translateY(-3px); box-shadow:var(--sh); }
.infra__media{ position:relative; width:100%; height:260px; overflow:hidden; background:var(--wash); }
.infra__media img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.infra__card:hover .infra__media img{ transform:scale(1.04); }
.infra__badge{
  position:absolute; top:14px; left:14px; background:var(--blue); color:#fff;
  font-family:var(--ff-display); font-weight:700; font-size:.74rem; letter-spacing:.08em;
  text-transform:uppercase; padding:5px 12px; border-radius:4px; box-shadow:0 4px 10px rgba(0,76,150,.3);
}
.infra__body{ padding:22px 24px; }
.infra__body h3{ font-size:1.24rem; color:var(--blue); margin-bottom:8px; }
.infra__body p{ font-size:.94rem; color:var(--muted); line-height:1.55; }

.infra__stats{ margin-top:28px; display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.stat{
  background:#fff; border:1px solid var(--rail); border-radius:var(--r);
  padding:18px 16px; text-align:center; border-top:3px solid var(--orange);
  box-shadow:var(--sh-sm);
}
.stat__n{ display:block; font-family:var(--ff-display); font-weight:800; font-size:1.85rem; color:var(--blue); line-height:1.1; margin-bottom:4px; }
.stat__l{ display:block; font-size:.82rem; font-weight:600; color:var(--muted); line-height:1.35; }

/* ===== PORTFÓLIO DE EQUIPAMENTOS (SEM CORTE) ===== */
.cards{ display:grid; gap:24px; }
.card{
  position:relative; background:#fff; border:1px solid var(--rail); border-radius:var(--r-lg);
  overflow:hidden; box-shadow:var(--sh-sm); transition:transform .25s, box-shadow .25s;
  display:flex; flex-direction:column;
}
.card::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .3s ease; }
.card:hover{ transform:translateY(-4px); box-shadow:var(--sh); }
.card:hover::after{ transform:scaleX(1); }

/* AJUSTE ESSENCIAL: contain e padding garantem que NENHUM equipamento seja cortado */
.card__media{
  background:radial-gradient(70% 70% at 50% 60%, #fff 0%, var(--bg) 100%);
  overflow:hidden; display:flex; align-items:center; justify-content:center;
  padding:22px 20px 14px; min-height:240px;
}
.card__media img{
  width:100%; max-height:200px; height:auto; object-fit:contain;
  transition:transform .4s ease;
}
.card:hover .card__media img{ transform:scale(1.05); }

.card__body{ padding:22px 22px 24px; display:flex; flex-direction:column; flex:1; }
.card__body h3{ font-size:1.25rem; margin-bottom:8px; }
.card__body p{ color:var(--muted); font-size:.94rem; }
.card__body .card__specs{ margin-top:auto; padding-top:14px; border-top:1px dashed var(--rail); font-size:.82rem; font-weight:600; color:var(--char); }
.card__body > p:not(.card__specs){ margin-bottom:14px; }

/* ===== COMO FUNCIONA ===== */
.steps{ display:grid; gap:24px; counter-reset:s; }
.step{ position:relative; display:grid; grid-template-columns:3.2rem 1fr; column-gap:16px; align-items:start; }
.step__n{
  grid-row:1 / span 2; position:relative; z-index:1;
  display:grid; place-items:center; width:3.2rem; height:3.2rem;
  border-radius:50%; border:3px solid #fff; box-shadow:0 0 0 1px var(--rail), 0 6px 14px rgba(244,148,29,.25);
  background:linear-gradient(145deg,var(--orange) 0%,var(--orange-dk) 100%);
  color:#fff; font-family:var(--ff-display); font-weight:800; font-size:1.25rem;
  transition:background .25s, transform .25s;
}
.step:hover .step__n{ background:linear-gradient(145deg,#0a5daf 0%,var(--blue) 100%); transform:scale(1.06); }
.step h3{ font-size:1.14rem; margin:.25rem 0 4px; }
.step p{ color:var(--muted); font-size:.92rem; grid-column:2; }
.step::before{ content:""; position:absolute; z-index:0; top:-24px; left:1.6rem; width:3px; height:24px; margin-left:-1.5px; background:var(--rail); border-radius:2px; }
.step:first-child::before{ display:none; }

/* ===== DIFERENCIAIS ===== */
.feats{ display:grid; gap:20px; }
.feat{ position:relative; background:#fff; border:1px solid var(--rail); border-radius:var(--r-lg); padding:26px 22px; box-shadow:var(--sh-sm); transition:transform .25s, box-shadow .25s; }
.feat:hover{ transform:translateY(-3px); box-shadow:var(--sh); }
.feat--hi{ background:var(--blue); border-color:var(--blue); color:#fff; box-shadow:var(--sh-lg); overflow:hidden; }
.feat--hi h3{ color:#fff; }
.feat.feat--hi p{ color:rgba(255,255,255,.88); position:relative; z-index:1; }
.feat__ic{ width:48px; height:48px; padding:10px; margin-bottom:16px; border-radius:10px; background:var(--wash); fill:none; stroke:var(--blue); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.feat--hi .feat__ic{ background:var(--orange); stroke:#fff; }
.feat h3{ font-size:1.18rem; margin-bottom:8px; }
.feat p{ color:var(--muted); font-size:.94rem; }

.feats--sub{ margin-top:40px; padding:28px 22px 24px; background:var(--bg); border-radius:var(--r-lg); display:block; }
.feats__title{ font-family:var(--ff-display); font-weight:700; font-size:1.4rem; color:var(--blue); margin-bottom:20px; text-align:center; }
.feats--icons{ display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); }
.feat--sm{ padding:22px 18px 20px; text-align:center; border-radius:var(--r); }
.feat--sm .feat__ic{ margin:0 auto 12px; width:56px; height:56px; padding:14px; border-radius:50%; background:linear-gradient(145deg,var(--orange),var(--orange-dk)); stroke:#fff; border:3px solid #fff; box-shadow:0 0 0 1px var(--rail); transition:background .25s; }
.feat--sm:hover .feat__ic{ background:linear-gradient(145deg,#0a5daf,var(--blue)); }
.feat--sm h4{ font-size:1.04rem; margin-bottom:4px; }
.feat--sm p{ font-size:.88rem; }
.feats__fonte{ margin-top:16px; font-size:.78rem; color:var(--muted); text-align:center; }
.feats__fonte a{ color:var(--blue); }

/* ===== COMPARATIVO ===== */
.cmp2{ display:grid; gap:22px; }
.cmp2__col{ background:#fff; border:1px solid var(--rail); border-radius:var(--r-lg); padding:26px 24px; }
.cmp2__col h3{ font-size:1.3rem; margin-bottom:18px; color:var(--muted); padding-bottom:14px; border-bottom:1px solid var(--rail); }
.cmp2__col ul{ display:grid; gap:16px; }
.cmp2__col li{ display:flex; align-items:flex-start; gap:12px; }
.cmp2__col li svg{ width:24px; height:24px; flex:none; padding:4px; border-radius:50%; background:#eef0f3; fill:none; stroke:#8a96a8; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }
.cmp2__col li strong{ display:block; font-size:.92rem; color:var(--char); margin-bottom:1px; }
.cmp2__col li span{ display:block; font-size:.88rem; color:var(--muted); }

.cmp2__col--hi{ position:relative; background:var(--blue); border-color:var(--blue); box-shadow:var(--sh-lg); }
.cmp2__col--hi h3{ color:#fff; border-bottom-color:rgba(255,255,255,.18); }
.cmp2__col--hi li svg{ background:var(--orange); stroke:#fff; }
.cmp2__col--hi li strong{ color:#fff; }
.cmp2__col--hi li span{ color:rgba(255,255,255,.82); }
.cmp2__badge{ position:absolute; top:-12px; right:20px; background:var(--orange); color:#fff; font-family:var(--ff-display); font-weight:800; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; padding:5px 12px; border-radius:4px; box-shadow:0 6px 16px rgba(244,148,29,.4); }

/* ===== UNIDADES E MAPA ===== */
.units2{ display:grid; gap:26px; margin-top:8px; }
.units2__map{ position:relative; overflow:hidden; background:linear-gradient(160deg,#fff 0%,var(--bg) 100%); border:1px solid var(--rail); border-radius:var(--r-lg); padding:16px; box-shadow:var(--sh); aspect-ratio:1 / 1; }
.units2__map svg{ position:relative; z-index:1; width:100%; height:100%; }
.map__states path{ fill:#dfe7f1; stroke:#fff; stroke-width:1.2; transition:fill .2s; }
.map__states path:hover{ fill:#cfdbea; }
.map__link{ stroke:var(--blue); stroke-width:.7; stroke-linecap:round; stroke-dasharray:2 4; opacity:.28; animation:linkFlow 22s linear infinite; }
@keyframes linkFlow{ to{ stroke-dashoffset:-300; } }
.map__dot{ fill:var(--blue); stroke:#fff; stroke-width:1; r:4.6px; }
.map__dot--home{ fill:var(--orange); stroke:#fff; stroke-width:1.6; r:7px; animation:mapPing 2.2s ease-out infinite; transform-box:fill-box; transform-origin:center; }
@keyframes mapPing{ 0%{ filter:drop-shadow(0 0 0 rgba(244,148,29,.8)); } 70%{ filter:drop-shadow(0 0 10px rgba(244,148,29,0)); } 100%{ filter:drop-shadow(0 0 0 rgba(244,148,29,0)); } }

.units2__maplabel{ position:absolute; z-index:2; left:16px; bottom:14px; font-family:var(--ff-display); font-weight:800; font-size:.78rem; letter-spacing:.08em; color:#fff; background:var(--blue); padding:6px 12px 6px 26px; border-radius:4px; }
.units2__maplabel::before{ content:""; position:absolute; left:10px; top:50%; width:8px; height:8px; margin-top:-4px; border-radius:50%; background:var(--orange); }
.units2__status{ position:absolute; z-index:2; top:14px; left:14px; display:flex; align-items:center; gap:8px; font-family:var(--ff-display); font-weight:700; font-size:.76rem; letter-spacing:.04em; color:var(--blue); text-transform:uppercase; background:#fff; border:1px solid var(--rail); padding:6px 10px; border-radius:4px; box-shadow:var(--sh-sm); }
.units2__statusdot{ width:8px; height:8px; border-radius:50%; background:var(--orange); flex:none; animation:statusBlink 1.8s ease-in-out infinite; }
@keyframes statusBlink{ 0%,100%{ box-shadow:0 0 0 0 rgba(244,148,29,.55); } 50%{ box-shadow:0 0 0 5px rgba(244,148,29,0); } }

.units2__label{ font-family:var(--ff-display); font-weight:700; font-size:1.02rem; color:var(--blue); margin-bottom:12px; }
.units__grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.units__grid li{ display:flex; align-items:center; justify-content:space-between; gap:8px; background:#fff; border:1px solid var(--rail); border-left:3px solid var(--blue); border-radius:6px; padding:8px 10px; font-size:.85rem; font-weight:600; color:var(--char); transition:border-color .2s, background .2s; }
.units__grid li:first-child{ border-left-color:var(--orange); }
.units__grid li:hover{ background:var(--bg); border-left-color:var(--orange); }
.units__grid li span{ font-family:var(--ff-display); font-weight:800; font-size:.7rem; letter-spacing:.05em; color:var(--blue); flex:none; }
.units__note{ margin-top:16px; font-size:.82rem; color:var(--muted); }
.units__more{ display:none; width:100%; margin-top:10px; padding:11px 14px; background:#fff; border:1px solid var(--blue); border-radius:6px; font-family:var(--ff-display); font-weight:700; font-size:.92rem; color:var(--blue); cursor:pointer; }
.units__more:hover{ background:var(--wash); }

/* ===== FAQ ===== */
.faq{ display:grid; gap:12px; }
.qa{ background:#fff; border:1px solid var(--rail); border-radius:var(--r); overflow:hidden; transition:border-color .2s, box-shadow .2s; }
.qa summary{ list-style:none; cursor:pointer; padding:18px 60px 18px 20px; position:relative; font-family:var(--ff-display); font-weight:700; font-size:1.05rem; color:var(--blue); }
.qa summary::-webkit-details-marker{ display:none; }
.qa summary::before,.qa summary::after{ content:""; position:absolute; right:28px; top:50%; width:11px; height:2.5px; margin-top:-1.25px; background:#fff; border-radius:2px; z-index:1; transition:transform .25s; }
.qa summary::after{ transform:rotate(90deg); }
.qa summary{ background-image:radial-gradient(circle at calc(100% - 33px) 50%, var(--orange) 0 14px, transparent 14.5px); }
.qa[open] summary::after{ transform:rotate(0); }
.qa[open]{ border-color:var(--blue); box-shadow:var(--sh-sm); }
.qa[open] summary{ background-image:radial-gradient(circle at calc(100% - 33px) 50%, var(--blue) 0 14px, transparent 14.5px); }
.qa__a{ padding:0 20px 20px; color:var(--muted); font-size:.95rem; }

/* ===== CTA FINAL ===== */
.cta{ position:relative; overflow:hidden; color:#fff; padding-block:var(--sec-y); background:linear-gradient(115deg, var(--navy) 0%, var(--blue) 60%); }
.cta__in{ display:grid; gap:32px; position:relative; z-index:1; }
.cta__copy h2{ color:#fff; font-size:clamp(1.75rem,5.4vw,2.6rem); font-weight:800; }
.cta__copy .lead{ margin-top:16px; }
.cta__list{ margin-top:22px; display:grid; gap:10px; }
.cta__list li{ position:relative; padding-left:34px; color:#fff; font-size:.95rem; font-weight:500; }
.cta__list li::before{ content:""; position:absolute; left:0; top:.1em; width:22px; height:22px; border-radius:50%; background:var(--orange); }
.cta__list li::after{ content:""; position:absolute; left:6px; top:.46em; width:9px; height:5px; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg); }

/* ===== FORMULÁRIO (PADRÃO OFICIAL) ===== */
.form{
  position:relative; background:#fff; color:var(--ink); border-radius:var(--r);
  padding:18px 16px 14px; text-align:left; scroll-margin-top:calc(var(--hd-h) + 12px);
}
.fld{ margin-bottom:8px; }
.fld label{ display:block; font-size:.8rem; font-weight:600; line-height:1.3; color:var(--char); margin-bottom:3px; }
.fld input,.fld select,.fld textarea{
  width:100%; height:40px; padding:0 12px; background:var(--bg);
  border:1px solid var(--rail); border-radius:6px; font-size:.92rem;
  transition:border-color .16s, background .16s, box-shadow .16s;
}
.fld textarea{ height:68px; padding:8px 12px; resize:vertical; }
.fld input:hover,.fld select:hover,.fld textarea:hover{ border-color:#c5d1e0; }
.fld input:focus,.fld select:focus,.fld textarea:focus{
  outline:none; background:#fff; border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(0,76,150,.14);
}
.fld input[aria-invalid="true"],.fld select[aria-invalid="true"],.fld textarea[aria-invalid="true"]{
  border-color:var(--warn); background:var(--warn-bg);
}
.err{ display:block; font-size:.76rem; color:var(--warn); margin-top:3px; }
.err:empty{ margin-top:0; }

.fld--check{ display:grid; grid-template-columns:auto 1fr; gap:0 10px; align-items:start; margin-top:8px; }
.fld--check input{ width:18px; height:18px; margin-top:2px; accent-color:var(--blue); }
.fld--check label{ font-size:.76rem; font-weight:400; color:var(--muted); line-height:1.45; margin:0; }
.fld--check .err{ grid-column:1 / -1; }

.form .btn--block{ padding-block:14px; font-size:1.02rem; margin-top:6px; }
.form__status:empty{ display:none; }
.form__status{ margin-top:8px; font-size:.85rem; font-weight:600; text-align:center; padding:8px; border-radius:6px; }
.form__status.is-warn{ color:var(--warn); background:var(--warn-bg); border:1px solid rgba(180,35,24,.2); }
.form__status.is-ok{ color:#0a7a3d; background:#edf7ed; border:1px solid rgba(10,122,61,.2); }

/* ===== FOOTER ===== */
.ft{ background:var(--char); color:#b6bcc8; padding-top:52px; }
.ft__in{ display:grid; gap:32px; padding-bottom:36px; }
.ft a{ color:#fff; }
.ft a:hover{ color:var(--orange); text-decoration:none; }
.ft__col h3{ font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; color:var(--orange); margin-bottom:14px; }
.ft__list{ display:grid; gap:8px; font-size:.88rem; }
.ft__list--nav a{ color:#b6bcc8; }
.ft__list--nav a:hover{ color:#fff; }
.brand--ft .brand__logo{ height:38px; }
.brand--ft .brand__tag{ color:#b6bcc8; border-left-color:rgba(255,255,255,.2); }
.ft__slogan{ margin-top:14px; font-family:var(--ff-display); font-weight:700; font-size:1rem; color:#fff; max-width:32ch; line-height:1.3; }
.ft__legal{ border-top:1px solid rgba(255,255,255,.1); padding-block:18px 24px; display:grid; gap:6px; font-size:.78rem; color:#a3aab8; }

/* ===== WHATSAPP FLUTUANTE & BARRA MOBILE ===== */
.wafab{
  position:fixed; right:16px; bottom:16px; z-index:90; width:56px; height:56px; border-radius:50%;
  display:grid; place-items:center; background:var(--wa); color:#fff;
  border:2px solid #25d366;
  box-shadow:0 0 16px rgba(37,211,102,.55), 0 8px 24px rgba(0,0,0,.25);
  transition:transform .18s, background .18s, opacity .2s, box-shadow .18s;
}
.wafab:hover{ transform:translateY(-2px); background:var(--wa-dk); color:#fff; text-decoration:none; box-shadow:0 0 24px rgba(37,211,102,.75), 0 10px 28px rgba(0,0,0,.3); }
.wafab svg{ width:28px; height:28px; fill:currentColor; position:relative; z-index:1; }
.wafab::before{ content:""; position:absolute; inset:0; border-radius:50%; background:var(--wa); animation:wafabPulse 2.4s ease-out infinite; pointer-events:none; }
@keyframes wafabPulse{ 0%{ opacity:.5; transform:scale(1); } 100%{ opacity:0; transform:scale(1.8); } }

.mbar{ display:none; }

/* ===== REVEAL ON SCROLL ===== */
.rv{ opacity:0; transform:translateY(16px); transition:opacity .55s ease, transform .55s ease; }
.rv.is-in{ opacity:1; transform:none; }
.card.rv.is-in:hover,.feat.rv.is-in:hover{ transform:translateY(-4px); }

/* ==========================================================================
   BREAKPOINTS & RESPONSIVIDADE
   ========================================================================== */
@media (max-width:759px){
  .brand{ flex-direction:column; align-items:flex-start; gap:2px; }
  .brand__logo{ height:28px; }
  .brand__tag{ padding-left:0; border-left:0; font-size:.6rem; letter-spacing:.04em; }
  .brand--ft{ flex-direction:row; align-items:center; gap:12px; }
  .brand--ft .brand__tag{ padding-left:12px; border-left:1px solid rgba(255,255,255,.2); font-size:.68rem; }

  .js .units__grid:not(.is-open) li:nth-child(n+9){ display:none; }
  .js .units__more{ display:block; }

  .mbar{
    display:flex; gap:10px; align-items:center;
    position:fixed; left:0; right:0; bottom:0; z-index:95;
    padding:10px var(--gut) calc(10px + env(safe-area-inset-bottom));
    background:#fff; border-top:1px solid var(--rail); box-shadow:0 -8px 24px rgba(2,32,100,.12);
    transform:translateY(110%); transition:transform .25s ease;
  }
  .mbar.is-on{ transform:none; }
  .mbar__cta{ flex:1; padding-block:14px; box-shadow:none; }
  .mbar__wa{ flex:none; width:48px; height:48px; border-radius:6px; display:grid; place-items:center; background:var(--wa); color:#fff; border:1px solid #25d366; box-shadow:0 0 10px rgba(37,211,102,.5); }
  .mbar__wa svg{ width:26px; height:26px; fill:currentColor; }
  .mbar__wa:hover{ background:var(--wa-dk); color:#fff; }
  body.has-mbar{ padding-bottom:72px; }
  body.has-mbar .wafab,body.is-form .wafab{ opacity:0; pointer-events:none; }
}

@media (min-width:560px){
  .logos__grid{ grid-template-columns:repeat(3,1fr); }
  .ft__legal{ grid-template-columns:1fr auto; align-items:center; }
}

@media (min-width:760px){
  :root{ --sec-y:84px; --gut:28px; }
  .cards{ grid-template-columns:repeat(2,1fr); }
  .infra__grid{ grid-template-columns:repeat(2,1fr); }
  .infra__stats{ grid-template-columns:repeat(4,1fr); }
  .feats{ grid-template-columns:repeat(3,1fr); }
  .feats--sub{ padding:36px 32px 28px; }
  .ft__in{ grid-template-columns:repeat(2,1fr); }
  .units__grid{ grid-template-columns:repeat(3,1fr); }
  .cmp2{ grid-template-columns:repeat(2,1fr); align-items:center; gap:28px; }
  .cmp2__col--hi{ padding:36px 32px; }
  .hero__form-card{ padding:28px 28px 22px; }
}

@media (min-width:980px){
  :root{ --hd-h:78px; }
  .burger{ display:none; }
  .nav,.nav.is-open{ position:static; display:flex; align-items:center; gap:26px; background:none; border:0; box-shadow:none; padding:0; }
  .nav ul{ flex-direction:row; gap:28px; }
  .nav a:not(.nav__cta){ position:relative; padding:6px 0; border:0; font-size:.95rem; }
  .nav a:not(.nav__cta)::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--orange); transform:scaleX(0); transition:transform .2s; }
  .nav a:not(.nav__cta):hover::after{ transform:scaleX(1); }
  .nav__cta{ margin-top:0; margin-left:10px; width:auto; }
  .brand__logo{ height:40px; }

  .hero{ padding-block:56px 72px; }
  .hero__in{ grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
  .hero h1{ font-size:2.85rem; }

  /* SLA em faixa horizontal abaixo do hero */
  .hero .sla{ grid-column:1 / -1; display:grid; grid-template-columns:.9fr 2fr 1fr; gap:36px; align-items:center; padding:24px 30px; margin-top:20px; }
  .hero .sla__title{ margin-bottom:0; }
  .hero .sla__foot{ margin-top:0; }
  .hero .rail{ grid-template-columns:repeat(3,1fr); gap:16px; padding-left:0; text-align:center; }
  .hero .rail::before{ left:16.6%; right:16.6%; top:19px; bottom:auto; width:auto; height:3px; }
  .hero .rail__step{ padding-top:48px; min-height:0; justify-content:flex-start; }
  .hero .rail__dot{ left:50%; top:0; transform:translateX(-50%); }

  .logos__grid{ grid-template-columns:repeat(6,1fr); }
  .cards{ grid-template-columns:repeat(3,1fr); }

  .steps{ grid-template-columns:repeat(4,1fr); gap:0 28px; }
  .step{ display:block; text-align:center; }
  .step__n{ margin:0 auto 16px; width:4rem; height:4rem; font-size:1.45rem; }
  .step h3{ margin:0 0 6px; }
  .step::before{ top:2rem; left:calc(-50% - 14px); right:50%; width:auto; height:3px; margin:-1.5px 0 0; }

  .cta__in{ grid-template-columns:1.2fr .8fr; gap:64px; align-items:center; }
  .ft__in{ grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; }

  .units2{ grid-template-columns:.9fr 1.1fr; align-items:stretch; gap:44px; }
  .units2__map{ aspect-ratio:auto; height:auto; min-height:500px; }
  .units2 .units__grid{ grid-template-columns:repeat(3,1fr); }
}

/* ===== Ajustes pós-review 14/10: cabeçalho numa linha e aviso de cookies ===== */
.nav a{ white-space:nowrap; }
@media (min-width:980px) and (max-width:1399px){
  .nav,.nav.is-open{ gap:16px; }
  .nav ul{ gap:16px; }
  .nav a:not(.nav__cta){ font-size:.88rem; }
  .hd .brand__tag{ display:inline-block; max-width:115px; }
}
.logos__item img{ max-height:44px; max-width:140px; }
.cookie{ position:fixed; left:16px; right:16px; bottom:16px; z-index:60; max-width:720px; margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; padding:14px 18px; background:#fff; color:var(--char); border:1px solid var(--rail); border-radius:10px; box-shadow:var(--sh); font-size:.88rem; line-height:1.45; }
.cookie[hidden]{ display:none; }
.cookie p{ margin:0; flex:1 1 320px; }
.cookie .btn{ min-height:44px; }

/* ===== Contraste AA e textos >= 12 px (16/10/2026) ===== */
.cmp2__badge{ color:var(--navy); }
.btn--primary, .btn--primary:hover, .btn--primary:focus{ color:#fff !important; }
.form-card__tag, .sla__kicker{ color:#b45309; }
.brand__tag, .eyebrow, .form-card__tag, .sla__kicker, .infra__badge, .cmp2__badge{ font-size:.76rem; }
@media (max-width:759px){ .brand__tag{ font-size:.75rem; white-space:normal; max-width:190px; } }
.fld--check input{ width:22px; height:22px; }
.ft a{ display:inline-block; padding-block:6px; }
.rail__d{ color:#b45309; }
.logos__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (min-width:560px){ .logos__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:980px){ .logos__grid{ grid-template-columns:repeat(6,minmax(0,1fr)); } }
.logos__item img{ max-width:100%; }
.fld--check a, .cookie a, .hero__note a{ text-decoration:underline; text-underline-offset:2px; }
