/* ============================================================
   INTELI FLORIDA — Landing Page
   Navy #042b6a · Red #9e0b2a · Dark #1a1a1a
   Fonts: Urbanist · DM Sans · Inter · Montserrat
   ============================================================ */

/* ── Variables ─────────────────────────────────────────── */
:root {
  --navy:      #042b6a;
  --navy-dk:   #021e4d;
  --red:       #9e0b2a;
  --red-dk:    #7a0920;
  --white:     #ffffff;
  --off:       #f4f6f9;
  --txt:       #1a1d23;
  --muted:     #5a6478;
  --border:    #dde3ec;
  --dark:      #1a1a1a;
  --dark2:     #242424;
  --sp:        0.3s cubic-bezier(0.16,1,0.3,1);
  --ease:      0.25s ease;
  --r:         6px;
  --pad:       clamp(56px,7vw,100px);
}

/* ── Reset ──────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family:'Inter',sans-serif;
  color:var(--txt);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
img { display:block; max-width:100%; }
button { font-family:inherit; }

/* ── Utility ────────────────────────────────────────────── */
.container { width:100%; max-width:1280px; margin:0 auto; padding:0 clamp(20px,4.7vw,64px); }
.c-red { color:var(--red); }

/* ── Reveal animations ──────────────────────────────────── */
.reveal { opacity:0; transform:translateY(32px); transition:opacity var(--sp),transform var(--sp); }
.reveal.from-left  { transform:translateX(-32px); }
.reveal.from-right { transform:translateX(32px); }
.reveal.visible    { opacity:1; transform:none; }

/* ================================================================
   BUTTONS
================================================================ */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:'Montserrat',sans-serif; font-weight:700;
  font-size:clamp(0.72rem,0.85vw,0.9rem);
  letter-spacing:0.07em; text-transform:uppercase;
  padding:15px 32px; border:none; border-radius:var(--r);
  cursor:pointer; white-space:nowrap;
  transition:transform var(--ease),box-shadow var(--ease),background var(--ease),opacity var(--ease);
}
.btn:active { transform:scale(0.97) !important; }

.btn--red {
  background:var(--red); color:#fff;
  box-shadow:0 4px 18px rgba(158,11,42,.3);
}
.btn--red:hover {
  background:var(--red-dk); color:#fff;
  transform:translateY(-3px);
  box-shadow:0 10px 28px rgba(158,11,42,.45);
}

.btn--white {
  background:#fff; color:var(--navy);
  box-shadow:0 4px 14px rgba(0,0,0,.12);
}
.btn--white:hover {
  background:#f0f4ff; color:var(--navy);
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}

.btn--outline-white {
  background:transparent; color:#fff;
  border:1.5px solid rgba(255,255,255,.45);
  backdrop-filter:blur(6px);
}
.btn--outline-white:hover {
  border-color:#fff; background:rgba(255,255,255,.08);
  transform:translateY(-2px);
}

.btn--outline-dark {
  background:transparent; color:var(--txt);
  border:1.5px solid var(--border);
  font-size:0.82rem;
}
.btn--outline-dark:hover { border-color:var(--txt); transform:translateY(-1px); }

.btn--ghost-sm {
  background:rgba(255,255,255,.08); color:rgba(255,255,255,.75);
  border:1px solid rgba(255,255,255,.2);
  font-size:0.78rem; text-transform:none; letter-spacing:0;
  padding:8px 18px; border-radius:999px;
  backdrop-filter:blur(8px);
}
.btn--ghost-sm:hover { background:rgba(255,255,255,.15); color:#fff; }

/* ================================================================
   NAVBAR
================================================================ */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:200;
  padding:18px 0;
  transition:background .3s,box-shadow .3s,padding .3s,border-color .3s;
  border-bottom:1px solid transparent;
}
.navbar.scrolled {
  background:rgba(2,20,55,.93);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  padding:12px 0;
  box-shadow:0 4px 32px rgba(0,0,0,.3);
  border-bottom-color:rgba(255,255,255,.07);
}
.navbar__inner { display:flex; align-items:center; justify-content:space-between; }
.navbar__logo-img { height:36px; width:auto; filter:brightness(0) invert(1); }

.navbar__links { display:flex; align-items:center; gap:36px; }
.navbar__links a {
  font-size:0.88rem; font-weight:500;
  color:rgba(255,255,255,.75);
  position:relative; padding-bottom:3px;
  transition:color var(--ease);
}
.navbar__links a::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:1.5px; background:var(--red);
  transform:scaleX(0); transform-origin:left;
  transition:transform .3s cubic-bezier(0.16,1,0.3,1);
}
.navbar__links a:not(.btn):hover { color:#fff; }
.navbar__links a:not(.btn):hover::after { transform:scaleX(1); }

.btn--nav {
  background:var(--red); color:#fff;
  padding:10px 22px; font-size:0.78rem;
  box-shadow:0 2px 12px rgba(158,11,42,.35);
}
.btn--nav:hover { background:var(--red-dk); transform:translateY(-2px); }

.navbar__burger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:4px; z-index:201;
}
.navbar__burger span {
  display:block; width:24px; height:2px;
  background:#fff; border-radius:2px;
  transition:transform .3s,opacity .3s;
}

/* ================================================================
   HERO
================================================================ */
.hero {
  position:relative;
  overflow:hidden;
  height:100dvh;
  min-height:600px;
  display:flex;
  align-items:center;
  background-color:#0a1628;
  margin:0; padding:0;
}
.hero__bg-img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
  pointer-events:none;
}

/* Dark overlay so text stays readable over the billboard bg */
.hero::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(
    to right,
    rgba(2,14,40,.85) 0%,
    rgba(2,14,40,.6) 50%,
    rgba(2,14,40,.2) 100%
  );
  pointer-events:none; z-index:1;
}


/* decorative glow (left side) */
.hero__glow {
  position:absolute; top:50%; left:-60px;
  transform:translateY(-50%);
  width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle,rgba(30,90,220,.22) 0%,rgba(4,43,106,.06) 55%,transparent 72%);
  pointer-events:none; z-index:1;
  overflow:hidden;
}

/* left column: text on top of the bg */
.hero__content {
  position:relative; z-index:2;
  display:flex; flex-direction:column; justify-content:center;
  padding:clamp(96px,11vw,130px) clamp(32px,3.5vw,56px) clamp(72px,8vw,100px) clamp(40px,6.5vw,100px);
  color:#fff;
}

.hero__eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-size:0.72rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase;
  color:rgba(255,255,255,.65);
  margin-bottom:24px;
}
.hero__eyebrow::before {
  content:''; width:32px; height:1.5px; background:var(--red);
}

.hero__title {
  font-family:'Urbanist',sans-serif;
  font-size:clamp(2.2rem,3.8vw,4.2rem);
  font-weight:800;
  line-height:1.06;
  letter-spacing:-0.02em;
  color:#fff;
}

.hero__sub {
  font-family:'DM Sans',sans-serif;
  font-size:clamp(0.95rem,1.35vw,1.2rem);
  font-weight:400;
  color:rgba(255,255,255,.8);
  line-height:1.7;
  margin-top:22px;
  max-width:420px;
}

.hero__actions {
  display:flex; flex-wrap:wrap; gap:14px;
  margin-top:40px;
}

.hero__trust {
  display:flex; align-items:center; gap:10px;
  margin-top:40px;
  font-size:0.78rem; color:rgba(255,255,255,.5);
}
.hero__trust::before {
  content:'';
  width:28px; height:1px; background:rgba(255,255,255,.2);
}

/* right column — hidden, bg moved to .hero */
.hero__visual { display:none; }
.hero__billboard { display:none; }

/* scroll indicator — hidden */
.hero__scroll { display:none; }

/* ================================================================
   PARA QUEM É
================================================================ */
.paraquem {
  position:relative;
  display:flex;
  align-items:center;
  background:#fff;
  overflow:visible;
  min-height:520px;
  padding:clamp(60px,7vw,100px) 0;
}

.paraquem__text {
  position:relative;
  z-index:1;
  max-width:45%;
  padding:0 clamp(28px,4vw,60px) 0 clamp(32px,6.5vw,96px);
  display:flex; flex-direction:column; justify-content:center;
}

.tag {
  display:inline-block;
  font-size:0.72rem; font-weight:600; letter-spacing:0.16em; text-transform:uppercase;
  margin-bottom:18px;
}

.paraquem__title {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.6rem,2.4vw,2.75rem);
  font-weight:800; line-height:1.1;
  color:var(--navy);
  margin-bottom:32px;
}

.paraquem__list {
  display:flex; flex-direction:column; gap:13px; margin-bottom:24px;
}
.paraquem__list li {
  display:flex; align-items:center; gap:12px;
  font-family:'DM Sans',sans-serif;
  font-size:clamp(0.9rem,1.1vw,1.15rem);
  color:var(--txt);
}
.diamond {
  flex-shrink:0; width:9px; height:9px;
  background:var(--red); transform:rotate(45deg);
}

.paraquem__note {
  font-family:'DM Sans',sans-serif;
  font-size:clamp(0.85rem,1vw,1.05rem);
  color:var(--muted); line-height:1.6;
  border-top:1px solid var(--border); padding-top:18px;
  margin-top:8px;
}

/* right: billboard image positioned at right */
.paraquem__image {
  position:absolute;
  right:-50px;
  bottom:-187px;
  top:auto;
  transform:none;
  width:auto;
  height:115%;
  z-index:10;
}
.paraquem__image img {
  display:block;
  height:100%;
  width:auto;
}

/* ================================================================
   DADOS — gradient red
================================================================ */
.dados {
  background:linear-gradient(155deg,#c9112f 0%,#7a0a1e 50%,#3e050f 100%);
  padding:var(--pad) 0;
  text-align:center;
  position:relative; overflow:hidden;
}
.dados::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(255,80,80,.08),transparent);
  pointer-events:none;
}
.dados__inner { max-width:800px; margin:0 auto; position:relative; z-index:1; }

.dados__pretitle {
  display:inline-block;
  font-size:0.72rem; font-weight:600; letter-spacing:0.16em; text-transform:uppercase;
  color:rgba(255,255,255,.5); margin-bottom:20px;
}

.dados__title {
  font-family:'DM Sans',sans-serif;
  font-size:clamp(1.6rem,2.4vw,2.75rem);
  font-weight:500; line-height:1.25;
  color:#fff; margin-bottom:28px;
}
.dados__title em { font-style:normal; font-weight:700; }

.dados__body {
  font-family:'Montserrat',sans-serif;
  font-size:clamp(0.88rem,1.1vw,1.1rem); font-weight:400;
  color:rgba(255,255,255,.8); line-height:1.85; margin-bottom:14px;
}
.dados__body strong { font-weight:700; color:#fff; }

/* stats strip */
.dados__stats {
  display:flex; justify-content:center; flex-wrap:wrap; gap:0;
  margin:36px -20px 36px;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
  padding:28px 20px;
}
.dados__stat {
  flex:1; min-width:120px; padding:0 24px;
  border-right:1px solid rgba(255,255,255,.1);
}
.dados__stat:last-child { border-right:none; }
.dados__stat-num {
  font-family:'Urbanist',sans-serif;
  font-size:clamp(1.8rem,3vw,2.8rem); font-weight:900; color:#fff;
  line-height:1;
}
.dados__stat-lbl {
  font-size:0.72rem; color:rgba(255,255,255,.5);
  letter-spacing:0.08em; text-transform:uppercase; margin-top:6px;
}

/* ================================================================
   BENEFÍCIOS
================================================================ */
.beneficios {
  background:#fff;
  padding:var(--pad) 0;
}
.beneficios__header { text-align:center; margin-bottom:clamp(40px,5vw,72px); }

.section-tag {
  display:inline-block;
  font-size:0.72rem; font-weight:600; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--red); margin-bottom:14px;
}

.beneficios__title {
  font-family:'Inter',sans-serif;
  font-size:clamp(1.6rem,2.4vw,2.75rem); font-weight:800;
  color:var(--navy); line-height:1.15;
}

.beneficios__grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(16px,2.5vw,32px);
}

.beneficio {
  padding:32px 24px 28px;
  border:1px solid var(--border);
  border-radius:12px;
  transition:transform var(--sp),box-shadow var(--sp),border-color var(--sp);
}
.beneficio:hover {
  transform:translateY(-8px);
  box-shadow:0 20px 48px rgba(4,43,106,.1);
  border-color:rgba(4,43,106,.15);
}

.beneficio__num {
  display:flex; align-items:center; justify-content:center;
  width:80px; height:80px;
  background:var(--red);
  border-radius:16px;
  font-family:'Inter',sans-serif; font-size:1.75rem; font-weight:800; color:#fff;
  margin-bottom:24px;
  transition:transform var(--sp),box-shadow var(--sp);
}
.beneficio:hover .beneficio__num {
  transform:scale(1.06);
  box-shadow:0 8px 24px rgba(158,11,42,.35);
}

.beneficio__title {
  font-family:'Inter',sans-serif;
  font-size:clamp(0.95rem,1.2vw,1.15rem); font-weight:700;
  color:var(--navy); margin-bottom:10px;
}
.beneficio__desc {
  font-size:clamp(0.8rem,0.9vw,0.95rem); font-weight:400;
  color:var(--muted); line-height:1.65;
}

/* ================================================================
   VOCÊ ANUNCIA — navy
================================================================ */
.voceanuncia {
  background:linear-gradient(150deg,var(--navy) 0%,var(--navy-dk) 100%);
  padding:var(--pad) 0;
  text-align:center;
  position:relative; overflow:hidden;
}
.voceanuncia::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse 70% 55% at 50% 110%,rgba(30,80,200,.2),transparent);
  pointer-events:none;
}
.voceanuncia__inner { max-width:740px; margin:0 auto; position:relative; z-index:1; }

.voceanuncia__title {
  font-family:'DM Sans',sans-serif;
  font-size:clamp(1.6rem,2.4vw,2.75rem); font-weight:500;
  color:#fff; line-height:1.3; margin-bottom:28px;
}
.voceanuncia__title strong { font-weight:700; }

.voceanuncia__pill {
  display:inline-block;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px; padding:10px 28px;
  font-family:'Montserrat',sans-serif;
  font-size:clamp(0.78rem,0.95vw,0.95rem);
  color:rgba(255,255,255,.8);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(6px);
  margin-bottom:28px;
}
.voceanuncia__pill strong { color:#fff; }

.voceanuncia__features {
  display:flex; flex-wrap:wrap; justify-content:center; gap:12px 24px;
  margin-bottom:40px;
}
.voceanuncia__features li {
  display:flex; align-items:center; gap:8px;
  font-family:'DM Sans',sans-serif;
  font-size:clamp(0.88rem,1.1vw,1.1rem);
  color:rgba(255,255,255,.85);
}
.voceanuncia__features li::before {
  content:''; width:6px; height:6px;
  background:var(--red); border-radius:50%; flex-shrink:0;
}

/* ================================================================
   CTA FINAL
================================================================ */
.ctafinal {
  position:relative; background:#fff;
  padding:var(--pad) 0; overflow:hidden;
}
.ctafinal__bg {
  display:none;
}
.ctafinal__inner {
  position:relative; z-index:1;
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(32px,5vw,80px); align-items:center;
}

.ctafinal__label {
  font-size:0.72rem; font-weight:600; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--red); display:block; margin-bottom:16px;
}
.ctafinal__title {
  font-family:'Inter',sans-serif;
  font-size:clamp(2rem,3.5vw,4rem); font-weight:800;
  color:var(--navy); line-height:1.05;
}
.ctafinal__title .line-red { color:var(--red); }

.ctafinal__sub {
  font-family:'DM Sans',sans-serif;
  font-size:clamp(0.95rem,1.3vw,1.25rem); color:var(--muted);
  line-height:1.65; margin-bottom:32px;
}
.ctafinal__actions { display:flex; flex-wrap:wrap; gap:14px; }

/* ================================================================
   FOOTER — style grupointeli.com
================================================================ */
.footer {
  background:var(--dark);
  padding:72px 0 0;
}

.footer__main {
  display:grid;
  grid-template-columns:260px 1fr;
  gap:clamp(40px,6vw,100px);
  padding-bottom:60px;
  border-bottom:1px solid rgba(255,255,255,.07);
}

/* Brand column */
.footer__logo {
  height:44px; width:auto; margin-bottom:20px;
  filter:brightness(0) invert(1); display:block;
}
.footer__brand-desc {
  font-size:0.84rem; color:rgba(255,255,255,.4);
  line-height:1.8; margin-bottom:24px;
}

.footer__social { display:flex; gap:10px; margin-bottom:28px; }
.footer__social a {
  width:36px; height:36px; border-radius:8px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.45);
  transition:background var(--ease),color var(--ease),border-color var(--ease);
}
.footer__social a:hover { background:rgba(255,255,255,.14); color:#fff; border-color:rgba(255,255,255,.3); }

.footer__grupointeli {
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r);
  font-size:0.76rem; color:rgba(255,255,255,.55);
  transition:border-color var(--ease),color var(--ease);
}
.footer__grupointeli:hover { border-color:rgba(255,255,255,.35); color:#fff; }
.footer__grupointeli svg { width:14px; height:14px; opacity:.5; }

/* Nav columns */
.footer__nav {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(16px,2vw,32px);
}
.footer__col h4 {
  font-family:'Montserrat',sans-serif;
  font-size:0.7rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  color:#fff; margin-bottom:18px;
}
.footer__col ul { display:flex; flex-direction:column; gap:10px; }
.footer__col a {
  font-size:0.82rem; color:rgba(255,255,255,.38);
  transition:color var(--ease);
  display:inline-flex; align-items:center; gap:5px;
}
.footer__col a:hover { color:rgba(255,255,255,.85); }
.footer__col a.external::after {
  content:'↗'; font-size:0.62rem; opacity:.5;
}

/* Newsletter */
.footer__newsletter {
  margin-top:24px;
}
.footer__newsletter p {
  font-size:0.78rem; color:rgba(255,255,255,.4);
  margin-bottom:12px; line-height:1.5;
}
.footer__nl-form {
  display:flex; gap:8px;
}
.footer__nl-input {
  flex:1; padding:9px 14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r);
  font-size:0.8rem; color:#fff;
  outline:none;
  transition:border-color var(--ease),background var(--ease);
}
.footer__nl-input::placeholder { color:rgba(255,255,255,.3); }
.footer__nl-input:focus { border-color:var(--red); background:rgba(255,255,255,.09); }
.footer__nl-btn {
  padding:9px 18px;
  background:var(--red); color:#fff; border:none; border-radius:var(--r);
  font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700;
  letter-spacing:0.06em; text-transform:uppercase; cursor:pointer;
  transition:background var(--ease),transform var(--ease);
}
.footer__nl-btn:hover { background:var(--red-dk); transform:translateY(-1px); }

/* Bottom bar */
.footer__bottom {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:12px;
  padding:20px 0;
}
.footer__copy {
  font-size:0.75rem; color:rgba(255,255,255,.22);
}
.footer__legal {
  display:flex; flex-wrap:wrap; gap:4px 16px;
}
.footer__legal a {
  font-size:0.72rem; color:rgba(255,255,255,.28);
  transition:color var(--ease);
}
.footer__legal a:hover { color:rgba(255,255,255,.65); }

/* ================================================================
   COOKIE BANNER
================================================================ */
.cookie-banner {
  position:fixed; bottom:20px; left:50%;
  transform:translateX(-50%) translateY(130px);
  width:min(660px,calc(100vw - 32px));
  background:rgba(2,20,55,.96);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px; padding:14px 24px;
  z-index:500;
  box-shadow:0 8px 40px rgba(0,0,0,.45);
  transition:transform .4s cubic-bezier(.34,1.56,.64,1);
}
.cookie-banner.visible { transform:translateX(-50%) translateY(0); }
.cookie-banner__inner { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.cookie-banner__inner p { font-size:0.82rem; color:rgba(255,255,255,.7); }
.cookie-banner__inner strong { color:#fff; }
.cookie-banner__inner a { color:#78a8e8; text-decoration:underline; }
.cookie-banner__btns { display:flex; gap:8px; flex-shrink:0; }

/* ================================================================
   MODAL FORM
================================================================ */
.modal-overlay {
  position:fixed; inset:0; z-index:600;
  background:rgba(0,0,0,.75);
  backdrop-filter:blur(8px);
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  opacity:0; pointer-events:none;
  transition:opacity .3s;
}
.modal-overlay.open { opacity:1; pointer-events:all; }

.modal {
  background:#fff;
  border-radius:14px;
  padding:clamp(24px,4vw,40px);
  width:100%; max-width:620px;
  max-height:92vh; overflow-y:auto;
  position:relative;
  transform:translateY(24px) scale(.97);
  transition:transform .45s cubic-bezier(.16,1,.3,1);
  box-shadow:0 32px 80px rgba(0,0,0,.25);
}
.modal-overlay.open .modal { transform:none; }

.modal__close {
  position:absolute; top:14px; right:14px;
  width:30px; height:30px;
  background:#f0f3f8; border:none; border-radius:50%;
  color:var(--muted); font-size:0.85rem;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background var(--ease);
}
.modal__close:hover { background:#dde3ee; }

.modal__progress { margin-bottom:28px; }

.progress-steps { display:flex; align-items:center; margin-bottom:10px; }
.progress-step { display:flex; flex-direction:column; align-items:center; gap:5px; flex:1; }
.progress-step__dot {
  width:24px; height:24px; border-radius:50%;
  background:#e8ecf2; border:2px solid #d0d8e8;
  transition:all .3s;
  display:flex; align-items:center; justify-content:center;
}
.progress-step.active .progress-step__dot,
.progress-step.done  .progress-step__dot { background:var(--red); border-color:var(--red); }
.progress-step.done  .progress-step__dot::after { content:'✓'; font-size:.62rem; color:#fff; font-weight:700; }
.progress-step span { font-size:.65rem; color:#aab; font-weight:500; }
.progress-step.active span { color:var(--red); }
.progress-step__line { flex:1; height:2px; background:#e8ecf2; margin-bottom:18px; transition:background .3s; }
.progress-step__line.filled { background:var(--red); }

.progress-bar { height:3px; background:#eef0f5; border-radius:999px; overflow:hidden; }
.progress-bar__fill { height:100%; background:var(--red); border-radius:999px; transition:width .4s ease; width:25%; }

.form-step { display:none; animation:fadeStep .28s ease; }
.form-step.active { display:block; }
@keyframes fadeStep {
  from { opacity:0; transform:translateX(10px); }
  to   { opacity:1; transform:none; }
}

.form-step__head { margin-bottom:22px; }
.step-tag { font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--red); display:block; margin-bottom:6px; }
.form-step__head h2 { font-family:'Inter',sans-serif; font-size:1.4rem; font-weight:800; color:var(--navy); margin-bottom:4px; }
.form-step__head p { font-size:.84rem; color:var(--muted); }

.form-step__foot { display:flex; justify-content:space-between; align-items:center; margin-top:20px; padding-top:16px; border-top:1px solid var(--border); }

.field { margin-bottom:16px; }
.field label { display:block; font-size:.84rem; font-weight:600; color:var(--navy); margin-bottom:6px; }
.req { color:var(--red); }
.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field input[type="date"] {
  width:100%; padding:12px 16px;
  border:1.5px solid #d4dce8; border-radius:10px;
  font-family:'Inter',sans-serif; font-size:.9rem; color:var(--navy);
  background:var(--off); outline:none;
  transition:border-color var(--ease),box-shadow var(--ease),background var(--ease);
}
.field input:focus { border-color:var(--red); background:#fff; box-shadow:0 0 0 4px rgba(158,11,42,.1); }
.field input:hover:not(:focus) { border-color:#b0bcd0; }
.field input::placeholder { color:#9aabb8; }
.err-msg { font-size:.74rem; color:var(--red); margin-top:5px; display:none; }

/* chips */
.chips-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:8px; }
.chip { display:flex; cursor:pointer; }
.chip input { display:none; }
.chip span {
  display:flex; align-items:center; justify-content:center;
  width:100%; padding:9px 8px;
  background:var(--off); border:1.5px solid #d4dce8; border-radius:var(--r);
  font-size:.78rem; font-weight:500; color:var(--navy); text-align:center;
  transition:all .25s cubic-bezier(.16,1,.3,1);
}
.chip input:checked + span { background:rgba(158,11,42,.07); border-color:var(--red); color:var(--red); font-weight:700; }
.chip:hover span { border-color:var(--red); }
.chip--all span { border-style:dashed; border-color:var(--red); color:var(--red); }

/* budget cards */
.budget-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.bcard { display:flex; cursor:pointer; }
.bcard input { display:none; }
.bcard__inner {
  position:relative; width:100%; padding:16px 12px;
  background:var(--off); border:1.5px solid #d4dce8; border-radius:var(--r);
  text-align:center; transition:all .25s cubic-bezier(.16,1,.3,1);
}
.bcard:has(input:checked) .bcard__inner { background:rgba(158,11,42,.06); border-color:var(--red); transform:translateY(-2px); box-shadow:0 6px 16px rgba(158,11,42,.14); }
.bcard:hover .bcard__inner { border-color:var(--red); transform:translateY(-2px); }
.bcard__val { font-size:1rem; font-weight:800; color:var(--navy); }
.bcard__per { font-size:.68rem; color:#aab; margin:3px 0 5px; }
.bcard__desc { font-size:.72rem; color:var(--muted); }
.bcard__badge { position:absolute; top:-9px; left:50%; transform:translateX(-50%); padding:2px 8px; background:var(--red); color:#fff; font-size:.6rem; font-weight:700; border-radius:999px; white-space:nowrap; }
.bcard__badge--gold { background:linear-gradient(135deg,#FFD700,#FFA500); color:#000; }

/* duration cards */
.dur-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }
.dcard { display:flex; cursor:pointer; }
.dcard input { display:none; }
.dcard__inner {
  position:relative; width:100%; padding:20px 8px;
  background:var(--off); border:1.5px solid #d4dce8; border-radius:var(--r);
  text-align:center; transition:all .25s cubic-bezier(.16,1,.3,1);
}
.dcard:has(input:checked) .dcard__inner { background:rgba(158,11,42,.06); border-color:var(--red); transform:translateY(-2px); box-shadow:0 6px 16px rgba(158,11,42,.14); }
.dcard:hover .dcard__inner { border-color:var(--red); transform:translateY(-2px); }
.dcard__num { font-family:'Urbanist',sans-serif; font-size:2.2rem; font-weight:900; color:var(--navy); line-height:1; }
.dcard__unit { font-size:.72rem; color:#aab; margin-bottom:5px; }
.dcard__desc { font-size:.68rem; color:var(--muted); line-height:1.4; }
.dcard__badge { position:absolute; top:-9px; left:50%; transform:translateX(-50%); padding:2px 7px; background:var(--navy); color:#fff; font-size:.58rem; font-weight:700; border-radius:999px; white-space:nowrap; }
.dcard__badge--gold { background:linear-gradient(135deg,#FFD700,#FFA500); color:#000; }

/* checkbox */
.check-label { display:flex; align-items:flex-start; gap:10px; cursor:pointer; font-size:.82rem; color:var(--muted); margin-top:14px; }
.check-label input[type="checkbox"] { width:16px; height:16px; border-radius:4px; border:1.5px solid #cdd5e0; background:#fff; appearance:none; cursor:pointer; flex-shrink:0; margin-top:2px; transition:all var(--ease); position:relative; }
.check-label input:checked { background:var(--red); border-color:var(--red); }
.check-label input:checked::after { content:''; position:absolute; top:1px; left:4px; width:5px; height:9px; border:2px solid #fff; border-top:none; border-left:none; transform:rotate(45deg); }
.check-label a { color:var(--red); text-decoration:underline; }

/* success */
.form-success { text-align:center; padding:12px 0; }
.success-icon { font-size:3.2rem; margin-bottom:12px; }
.form-success h2 { font-family:'Inter',sans-serif; font-size:1.5rem; font-weight:800; color:var(--navy); margin-bottom:8px; }
.form-success p { font-size:.875rem; color:var(--muted); }
.success-summary { background:var(--off); border-radius:var(--r); padding:14px 18px; margin:14px 0; text-align:left; font-size:.8rem; color:var(--muted); line-height:1.9; }
.success-summary strong { color:var(--navy); }

/* ================================================================
   RESPONSIVE
================================================================ */
@media (max-width:1200px) {
  .beneficios__grid { gap:20px; }
  .footer__nav { grid-template-columns:repeat(3,1fr); }
}

@media (max-width:1024px) {
  .beneficios__grid { grid-template-columns:repeat(2,1fr); }
  .footer__main { grid-template-columns:1fr; gap:40px; }
  .footer__nav { grid-template-columns:repeat(4,1fr); }
}

@media (max-width:900px) {
  .paraquem { flex-direction:column; padding:0; }
  .paraquem__text { max-width:100%; padding:clamp(48px,8vw,72px) clamp(24px,5vw,56px); }
  .paraquem__image { position:relative; right:0; left:-40px; top:30px; transform:none; width:100%; padding:0 24px 40px; }
  .paraquem__image img { width:100%; height:auto; }
}

@media (max-width:768px) {
  /* navbar mobile */
  .navbar__links {
    display:none; position:fixed; inset:0;
    background:rgba(2,16,42,.97); backdrop-filter:blur(20px);
    flex-direction:column; justify-content:center; align-items:center; gap:32px; z-index:200;
  }
  .navbar__links.open { display:flex; }
  .navbar__links a { font-size:1.3rem; color:rgba(255,255,255,.85); }
  .navbar__links a::after { display:none; }
  .navbar__burger { display:flex; }

  /* hero */
  .hero {
    height:auto;
    min-height:auto;
    background-image:none;
    background-color:#0a1628;
    flex-direction:column;
    align-items:stretch;
    padding:0;
  }
  .hero::before {
    background:linear-gradient(to bottom, rgba(2,14,40,.3) 0%, rgba(2,14,40,.75) 55%, rgba(2,14,40,.95) 100%);
    z-index:1;
  }
  .hero::after {
    display:none;
  }
  .hero__bg-img {
    inset:0;
    width:100%;
    height:100%;
    object-position:center top;
    transform:none;
    top:auto;
    left:auto;
  }
  .hero__content {
    position:relative;
    z-index:2;
    padding:180px 28px 48px;
    text-align:center;
    align-items:center;
  }
  .hero__sub { max-width:480px; }
  .hero__actions { justify-content:center; }
  .hero__trust { justify-content:center; }
  .hero__scroll { display:none; }

  /* paraquem */
  .paraquem__image { padding:0 16px 32px; }

  /* dados stats */
  .dados__stats { gap:0; }
  .dados__stat { border-right:none; border-bottom:1px solid rgba(255,255,255,.1); padding:16px 0; }
  .dados__stat:last-child { border-bottom:none; }

  /* benefícios */
  .beneficios__grid { grid-template-columns:1fr 1fr; gap:16px; }

  /* voce anuncia */
  .voceanuncia__features { gap:10px 16px; }

  /* cta */
  .ctafinal__inner { grid-template-columns:1fr; gap:32px; text-align:center; }
  .ctafinal__actions { justify-content:center; }

  /* footer */
  .footer__nav { grid-template-columns:1fr 1fr; gap:28px; }
  .footer__bottom { flex-direction:column; text-align:center; }

  /* modal */
  .budget-grid { grid-template-columns:1fr 1fr; }
  .dur-grid { grid-template-columns:1fr 1fr; }
  .chips-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:480px) {
  .hero__title { font-size:2rem; }
  .beneficios__grid { grid-template-columns:1fr; }
  .footer__nav { grid-template-columns:1fr; gap:24px; }
  .footer__nl-form { flex-direction:column; }
  .cookie-banner__inner { flex-direction:column; gap:12px; }
  .progress-step span { display:none; }
}

@media (max-width:360px) {
  .hero__content { padding:86px 16px 40px; }
  .hero__title { font-size:1.75rem; }
  .budget-grid { grid-template-columns:1fr 1fr; }
  .dur-grid { grid-template-columns:1fr 1fr; }
  .modal { padding:20px 16px; }
}

/* scrollbar */
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:#f0f0f0; }
::-webkit-scrollbar-thumb { background:#c0c8d8; border-radius:3px; }
input[type="date"]::-webkit-calendar-picker-indicator { opacity:.5; cursor:pointer; }
