/* ============================================================
   EDV — Ecossistema Digital de Vendas 
      Bruno Duque Consultoria Digital
   ============================================================ */
:root {
    --cor-primaria: #111111;
    --cor-secundaria: #FFFFFF;
    --cor-destaque: #007e8d; /* placeholder — ajustar quando definirmos paleta do EDV */
    --cor-texto: #1A1A1A;
    --cor-texto-suave: #46484c;
    --fonte-corpo: 'Inter', sans-serif;
    --edv-nav-height: 88px; /* fallback antes do JS medir a altura real do menu fixo */
  }

  html {
    /* base fluida — como quase tudo no site usa rem, isso faz todos os
       textos (headlines, corpo, botões, nav) escalarem juntos com a tela,
       sem precisar de um clamp() em cada seletor individualmente */
    font-size: clamp(15px, 0.85vw + 11.5px, 17px);
    scroll-behavior: smooth;
  }

  @media (prefers-reduced-motion: reduce) {
    html {
      scroll-behavior: auto;
    }
  }

  body {
    font-family: var(--fonte-corpo);
    color: var(--cor-texto);
    background: #FFFFFF;
    margin: 0;
  }

  /* ===== [Seção] Navbar flutuante — sobre o Hero ===== */
  .edv-nav-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    padding: 20px 16px 0;
  }

  .edv-navbar {
    max-width: 1200px;
    margin: 0 auto;
    background: var(--cor-secundaria);
    border-radius: 100px;
    border: 1px solid #ECECEE;
    box-shadow: 0 4px 20px rgba(17, 17, 17, 0.06);
    padding: 10px 12px 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
  }

  .edv-logo {
    display: flex;
    align-items: center;
    gap: 5px;
    text-decoration: none;
    flex-shrink: 0;
  }

  .edv-logo img {
    height: 28px;
    width: auto;
  }

  .edv-logo span {
    font-weight: 800;
    font-size: 1.35rem;
    color: var(--cor-texto);
    letter-spacing: -0.01em;
  }

  .edv-logo .edv-logo-tagline {
    color: #00b1b1;
    font-size: 0.5rem;
    line-height: normal;
  }

  .edv-nav-links {
    display: flex;
    align-items: center;
    gap: 32px;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .edv-nav-links a {
    color: var(--cor-texto-suave);
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
  }

  .edv-nav-links a:hover {
    color: var(--cor-texto);
  }

  .edv-nav-links a.is-active {
    color: #1C8BA2;
  }

  /* título da seção não pode ficar escondido atrás do menu fixo ao chegar via âncora */
  #como-funciona,
  #diferenciais,
  #na-pratica,
  #ferramentas {
    scroll-margin-top: calc(var(--edv-nav-height) + 16px);
  }

  .edv-badge-new {
    font-size: 0.65rem;
    font-weight: 700;
    color: var(--cor-destaque);
    background: rgba(79, 70, 229, 0.1);
    border: 1px solid rgba(79, 70, 229, 0.25);
    border-radius: 6px;
    padding: 1px 6px;
    line-height: 1.4;
  }

  .edv-nav-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
  }

  .btn { text-decoration: none; }

  .edv-btn-signin {
    background: #F1F1F3;
    color: var(--cor-texto);
    border: none;
    border-radius: 100px;
    padding: 10px 18px;
    font-size: 0.9rem;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
  }

  .edv-btn-signin:hover {
    background: #E6E6E9;
    color: var(--cor-texto);
  }

  .edv-btn-contact {
    background: var(--cor-primaria);
    color: #fff;
    border: none;
    border-radius: 100px;
    padding: 10px 20px;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
  }

  .edv-btn-contact:hover {
    background: #2B2B2B;
    color: #fff;
  }

  /* mobile: colapsa em menu simples */
  .edv-nav-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 1.4rem;
    padding: 6px 10px;
  }

  @media (max-width: 991px) {
    .edv-nav-links,
    .edv-nav-actions .edv-btn-signin {
      display: none;
    }
    .edv-nav-toggle {
      display: inline-flex;
    }

    /* WhatsApp fica colado ao hambúrguer, à direita — não "sobra" no meio da
       barra quando o menu de âncoras (nav-links) some do fluxo flex */
    .edv-nav-actions {
      margin-left: auto;
    }

    /* menu colapsado: o próprio <ul> de âncoras vira um painel abaixo da
       pill do menu quando o wrapper ganha .is-menu-open (JS) */
    .edv-nav-wrapper.is-menu-open .edv-navbar {
      flex-wrap: wrap;
      border-radius: 24px;
    }

    .edv-nav-wrapper.is-menu-open .edv-nav-links {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
      width: 100%;
      order: 10;
      margin-top: 12px;
      padding-top: 12px;
      border-top: 1px solid #ECECEE;
    }

    .edv-nav-wrapper.is-menu-open .edv-nav-links a {
      width: 100%;
      padding: 8px 4px;
    }
  }

  
  .edv-nav-legal-short {
    display: none;
  }

  @media (max-width: 991px) {
    .edv-navbar--legal .edv-nav-links {
      display: flex;
    }
    .edv-navbar--legal .edv-nav-toggle {
      display: none;
    }
    .edv-navbar--legal .edv-nav-legal-full {
      display: none;
    }
    .edv-navbar--legal .edv-nav-legal-short {
      display: inline;
    }
  }

  /* ===== [Seção] Hero — background de círculos (fiel ao layout de referência) ===== */
  .edv-hero {
    position: relative;
    overflow: hidden;
    background: #FFFFFF;
    /* altura mínima aproxima a proporção dos círculos em telas largas (mantém o
       visual já aprovado acima de 1800px); em telas menores o conteúdo (que cresce
       por causa da quebra de linha do texto/formulário) tem liberdade de esticar
       o hero além desse mínimo — por isso min-height, não height/aspect-ratio fixos */
    min-height: clamp(560px, 56.4vw, 1015px);
    padding-bottom: clamp(90px, 10vw, 180px); /* respiro extra em branco puro, antes do fade */
  }

  /* Canvas dos círculos — camada de fundo DECORATIVA, centralizada no hero.
     Mantém a MESMA proporção da imagem de referência (2275 x 1282), mas não dita
     mais a altura do hero: fica atrás do conteúdo e é cortada pelo overflow:hidden
     do hero se o conteúdo empurrar o hero além da altura natural dos círculos. */
  .edv-hero-canvas {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 1800px;
    aspect-ratio: 2275 / 1282;
    z-index: 0;
  }

  @media (max-width: 767px) {
    .edv-hero-canvas { display: none; }
  }

  .edv-hero-circle {
    position: absolute;
    left: 49.9%;
    top: 44.5%;
    transform: translate(-50%, -50%);
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    border: 1px solid #E7E7EB;
  }

  
  .edv-hero-circle.c1 { width: 48.0%; }
  .edv-hero-circle.c2 { width: 60.7%; }
  .edv-hero-circle.c3 { width: 73.7%; }
  .edv-hero-circle.c4 { width: 85.7%; }
  .edv-hero-circle.c5 { width: 99.8%; } 

  .edv-hero-accent {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
  }

  .edv-hero-badge {
    position: absolute;
    transform: translate(-50%, -50%);
    background: #FFFFFF;
    border: 1px solid #f9f9f9;
    box-shadow: 0 6px 16px rgba(17, 17, 17, 0.05);
    border-radius: 100px;
    padding: 10px 18px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--cor-texto);
    white-space: nowrap;
    z-index: 2;
  }

  @media (max-width: 991px) {
    .edv-hero-badge { display: none; }
  }

  .edv-hero-fade-bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: clamp(150px, 18vw, 280px);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.65) 45%, #FFFFFF 100%);
    z-index: 4;
    pointer-events: none;
  }

  /* Camada de conteúdo central do hero, dimensionado como col-8 (Bootstrap) */
  .edv-hero-content-guide {
    position: relative;
    z-index: 3;
    padding: 140px 16px 40px; /* respiro pra não ficar sob a navbar fixa */
  }

  .edv-hero-content-guide .col-guide {
    border: 1px dashed #D6D6DC;
    border-radius: 12px;
    padding: 24px 16px;
    color: var(--cor-texto-suave);
    font-size: 0.85rem;
    text-align: center;
  }

  /* --- Conteúdo central do Hero --- */
  .edv-hero-copy {
    text-align: center;
  }

  .edv-hero-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 28px;
  }

  .edv-hero-eyebrow-chip { 
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #FFFFFF;
    border: 1px solid #ECECEE;
    box-shadow: 0 4px 12px rgba(17, 17, 17, 0.04);
    border-radius: 15px;
    padding: 7px 14px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--cor-texto-suave);
    white-space: nowrap;
  }

  .edv-hero-eyebrow-chip i {
    color: var(--cor-destaque);
    font-size: 0.95rem;
  }

  .edv-hero-headline {
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.08;
    font-size: clamp(2.1rem, 5.2vw, 3.5rem);
    color: var(--cor-texto);
    margin: 0 0 22px;
    text-wrap: balance;
  }

  .edv-hero-subheadline {
    font-size: clamp(1.3rem, 1.6vw, 1.35rem);
    line-height: 1.55;
    color: var(--cor-texto-suave);
    max-width: 620px;
    margin: 0 auto;
    text-wrap: balance;
  }

  .edv-hero-form-guide {
    margin-top: 36px;
    border: 1px dashed #D6D6DC;
    border-radius: 12px;
    padding: 18px 16px;
    color: var(--cor-texto-suave);
    font-size: 0.85rem;
  }

  /* --- Formulário do Hero --- */
  .edv-hero-form-wrap {
    position: relative;
    max-width: 440px;
    margin: 36px auto 0;
    background: #FFFFFF;
    border: 1px solid #ECECEE;
    box-shadow: 0 12px 32px rgba(17, 17, 17, 0.06);
    border-radius: 20px;
    padding: 20px;
  }

  .edv-hero-form-title {
    margin: 0 0 14px;
    text-align: center;
    font-size: 1.15rem;
    font-weight: 700;
    color: #0A7D8B;
  }

  .edv-input {
    border: 1px solid #E4E4E8;
    border-radius: 12px;
    padding: 12px 16px;
    font-size: 0.95rem;
    color: var(--cor-texto);
    background: #FCFCFD;
  }

  .edv-input:focus {
    border-color: #1C8BA2;
    box-shadow: 0 0 0 3px rgba(28, 139, 162, 0.15);
    background: #FFFFFF;
  }

  .edv-hero-form-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 14px;
  }

  .edv-btn-submit {
    background: var(--cor-primaria);
    color: #fff;
    border: none;
    border-radius: 15px;
    padding: 13px 26px;
    font-size: 0.95rem;
    font-weight: 600;
  }

  .edv-btn-submit:hover { background: #2B2B2B; }

  .edv-btn-whatsapp {
    background: #FFFFFF;
    color: var(--cor-texto);
    border: 1px solid #D8D8DC;
    border-radius: 15px;
    padding: 13px 26px;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
  }

  .edv-btn-whatsapp:hover { background: #F7F7F8; color: var(--cor-texto); }

  /* degradê com as 3 cores do EDV, logo abaixo do formulário — mesmo efeito de
     "glow" suave da referência, só que na paleta da marca */
  .edv-hero-form-glow {
    position: absolute;
    left: 50%;
    bottom: -16px;
    transform: translateX(-50%);
    width: 78%;
    height: 589px;
    z-index: -1;
    background: radial-gradient(ellipse at center,
      #1C8BA2 0%,
      #0A7D8B 42%,
      #356171 72%,
      rgba(53, 97, 113, 0) 100%);
    filter: blur(120px);
    opacity: 0.2;
    border-radius: 50%;
  }
  /* ===== [Seção] Atração · Captação · Conversão ===== */
  .edv-s2 {
    background: #FFFFFF;
    padding: 10px 16px 100px;
  }

  .edv-s2-header {
    max-width: 720px;
    margin: 0 auto 64px;
    text-align: center;
  }

  .edv-s2-headline {
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.12;
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    color: var(--cor-texto);
    margin: 0 0 16px;
  }

  .edv-s2-sub {
    font-size: clamp(0.95rem, 1.4vw, 1.05rem);
    line-height: 1.6;
    color: var(--cor-texto-suave);
  }

  .edv-s2-body {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 56px;
    align-items: center;
  }

  .edv-s2-left,
  .edv-s2-right {
    flex: 1 1 420px;
    min-width: 0;
  }

  /* pills Atração / Captação / Conversão */
  .edv-pills {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #F1F1F3;
    border-radius: 100px;
    padding: 4px;
    margin-bottom: 28px;
  }

  .edv-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: none;
    background: transparent;
    color: var(--cor-texto-suave);
    font-size: 0.85rem;
    font-weight: 600;
    font-family: inherit;
    border-radius: 100px;
    padding: 9px 16px;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
  }

  .edv-pill.is-active {
    background: var(--cor-primaria);
    color: #fff;
  }

  .edv-s2-left h2 {
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.2;
    font-size: clamp(1.5rem, 2.6vw, 2rem);
    color: var(--cor-texto);
    margin: 0 0 16px;
  }

  .edv-s2-left p {
    font-size: 1rem;
    line-height: 1.65;
    color: var(--cor-texto-suave);
    margin: 0 0 28px;
    max-width: 460px;
  }

  .edv-s2-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
  }

  .edv-s2-actions .edv-btn-submit,
  .edv-s2-actions .edv-btn-whatsapp {
    padding: 12px 22px;
  }

  /* ilustração animada à direita — a própria .ibf-wrap já traz cartão,
     sombra e cantos arredondados, então aqui é só um wrapper de centralização
     com o halo teal da marca atrás */
  .edv-s2-card {
    position: relative;
    display: flex;
    justify-content: center;
  }

  .edv-s2-card::before {
    content: "";
    position: absolute;
    inset: -30px -30px auto auto;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, #1C8BA2 0%, #0A7D8B 45%, rgba(53, 97, 113, 0) 75%);
    filter: blur(46px);
    opacity: 0.25;
    z-index: -1;
  }

  /* ilustrações por aba (Atração / Captação / Conversão) — só uma visível
     por vez; a troca de display é o que liga/desliga a animação (ver
     IntersectionObserver + ResizeObserver no script) */
  .edv-s2-illu { display: none; width: 100%; }
  .edv-s2-illu.is-active { display: block; }

  /* ===== ilustração animada: estrutura digital para vendas (iboxweb) —
     paleta adaptada pro teal da marca EDV (#1C8BA2 / #0A7D8B). Regras sem
     posição/tamanho são compartilhadas entre abas; top/aspect-ratio/height
     são específicos de cada aba (ver seletores [data-tab="..."] abaixo,
     porque cada ilustração tem seu próprio layout) ===== */
  .ibf-wrap{--blue:#0A7D8B;--sky:#1C8BA2;--tx:#151b22;--mu:#6b7480;--ln:#e5e8ed;
    position:relative;width:100%;max-width:560px;margin:0 auto;border-radius:28px;overflow:hidden;
    background:linear-gradient(180deg,#f6f8fb 0%,#eef1f6 100%);box-shadow:0 24px 60px rgba(17,17,17,.12);
    font-family:var(--fonte-corpo);color:var(--tx);line-height:1.3;text-align:left}
  .ibf-wrap *{box-sizing:border-box;margin:0;padding:0}
  .ibf-stage{position:absolute;left:0;top:0;width:600px;transform-origin:0 0}
  .ibf-dots{position:absolute;left:60px;right:60px;bottom:0;background-image:radial-gradient(rgba(31,143,224,.28) 1.2px,transparent 1.3px);background-size:16px 16px;
    -webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent)}
  .ibf-card{position:absolute;left:40px;width:520px;height:258px;border-radius:26px;background:#fff;border:1px solid var(--ln);box-shadow:0 18px 40px rgba(20,27,34,.08);overflow:hidden;opacity:0}
  .ibf-arcs{position:absolute;left:0;top:0;width:520px;height:260px}
  .ibf-arcs circle{fill:none;stroke:#dfe6f0;stroke-width:1.5}
  .ibf-arc-dash{stroke-dasharray:4 8;transform-origin:260px 262px;animation:ibfSpin 40s linear infinite}
  .ibf-chip{position:absolute;width:178px;height:46px;display:flex;align-items:center;gap:10px;padding:0 12px 0 6px;border-radius:24px;background:#fff;
    box-shadow:0 8px 22px rgba(20,27,34,.12),inset 0 0 0 1px var(--ln);opacity:0}
  .ibf-av{width:34px;height:34px;border-radius:50%;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 0 0 2px #fff}
  .ibf-chip b{display:block;font-size:13px;font-weight:600;white-space:nowrap}
  .ibf-chip small{display:block;font-size:11px;color:var(--mu);white-space:nowrap}
  .ibf-won{position:absolute;left:150px;width:300px;height:62px;display:flex;align-items:center;gap:12px;padding:0 16px 0 10px;border-radius:18px;background:#fff;
    box-shadow:0 16px 36px rgba(22,160,90,.18),inset 0 0 0 1px #bfe8d0;opacity:0}
  .ibf-won-i{width:40px;height:40px;border-radius:50%;background:#16a05a;display:flex;align-items:center;justify-content:center;flex:none}
  .ibf-won-i svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
  .ibf-won b{display:block;font-size:14px}.ibf-won small{display:block;font-size:11.5px;color:var(--mu)}
  .ibf-won strong{margin-left:auto;font-size:18px;color:#16a05a;white-space:nowrap}
  .ibf-funnel{position:absolute;left:218px;width:164px;height:164px;border-radius:50%;background:#fff;
    box-shadow:0 20px 44px rgba(31,143,224,.22),0 0 0 1px var(--ln),0 0 0 14px rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;opacity:0}
  .ibf-funnel svg{width:98px;height:82px;margin-top:22px}
  .ibf-bub{position:absolute;top:30px;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--blue));opacity:.55;animation:ibfBub 2.4s ease-in-out infinite}
  .ibf-bub--s{width:9px;height:9px}
  .ibf-stats{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;white-space:nowrap;
    background:#fff;border:1px solid var(--ln);border-radius:20px;padding:7px 16px;font-size:12px;color:var(--mu);box-shadow:0 6px 16px rgba(20,27,34,.07);opacity:0}
  .ibf-stats i{width:1px;height:14px;background:var(--ln)}
  .ibf-stats b{color:var(--tx);font-size:13px;margin-left:4px;display:inline-block;min-width:22px;font-variant-numeric:tabular-nums}
  .ibf-n.is-bump{animation:ibfBump .5s ease}

  /* layout específico — Atração (leads entrando no funil) */
  [data-tab="atracao"] .ibf-wrap{aspect-ratio:600/420}
  [data-tab="atracao"] .ibf-stage{height:420px}
  [data-tab="atracao"] .ibf-dots{top:250px}
  [data-tab="atracao"] .ibf-card{top:32px}
  [data-tab="atracao"] .ibf-won{top:110px}
  [data-tab="atracao"] .ibf-funnel{top:212px}
  [data-tab="atracao"] .ibf-stats{top:378px}

  /* ---- animações (ciclo de 12s, reiniciado pelo script) ---- */
  .ibf-play .ibf-card{animation:ibfIn .6s cubic-bezier(.2,.7,.2,1) both}
  .ibf-play .ibf-funnel{animation:ibfIn .6s cubic-bezier(.2,.7,.2,1) .3s both,ibfGulp 12s linear both}
  .ibf-play .ibf-stats{animation:ibfInC .6s ease .5s both}
  .ibf-play .ibf-won{animation:ibfWon 3.6s cubic-bezier(.2,.8,.2,1) 7.9s both}
  .ibf-play .ibf-chip{animation-name:ibfChipIn,ibfDrop;animation-duration:.5s,.9s;animation-timing-function:cubic-bezier(.2,.8,.2,1),cubic-bezier(.55,0,.8,.4);animation-fill-mode:both,forwards}
  @keyframes ibfIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes ibfInC{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
  @keyframes ibfChipIn{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:none}}
  @keyframes ibfDrop{0%{opacity:1;transform:none}25%{transform:translateY(-6px) scale(1.03)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.2)}}
  @keyframes ibfWon{0%{opacity:0;transform:translateY(120px) scale(.3)}18%{opacity:1;transform:translateY(-6px) scale(1.02)}26%,86%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-10px)}}
  @keyframes ibfGulp{0%{transform:scale(1)}24.6%{transform:scale(1)}25.8%{transform:scale(1.07)}27.8%{transform:scale(1)}34.6%{transform:scale(1)}35.8%{transform:scale(1.07)}37.8%{transform:scale(1)}44.6%{transform:scale(1)}45.8%{transform:scale(1.07)}47.8%{transform:scale(1)}54.6%{transform:scale(1)}55.8%{transform:scale(1.07)}57.8%{transform:scale(1)}64.6%{transform:scale(1)}65.8%{transform:scale(1.07)}67.8%{transform:scale(1)}100%{transform:scale(1)}}
  @keyframes ibfBub{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
  @keyframes ibfSpin{to{transform:rotate(360deg)}}
  @keyframes ibfBump{0%{transform:scale(1);color:var(--tx)}40%{transform:scale(1.25);color:var(--blue)}100%{transform:scale(1)}}
  @media (prefers-reduced-motion:reduce){
    .ibf-wrap .ibf-card,.ibf-wrap .ibf-funnel,.ibf-wrap .ibf-chip{opacity:1!important;transform:none!important;animation:none!important}
    .ibf-wrap .ibf-stats{opacity:1!important;transform:translateX(-50%)!important;animation:none!important}
    .ibf-wrap .ibf-won{display:none}
    .ibf-wrap .ibf-bub,.ibf-wrap .ibf-arc-dash{animation:none!important}
  }

  @media (max-width: 767px) {
    .edv-s2 { padding-bottom: 70px; }
    .edv-s2-header { margin-bottom: 40px; }
  }

  /* ===== [Seção] Diferenciais ===== */  
  .edv-diff {
    background: #FFFFFF;
    padding: 20px 16px 110px;
  }

  .edv-diff-header {
    max-width: 720px;
    margin: 0 auto 60px;
    text-align: center;
  }

  .edv-diff-headline { 
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.12;
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    color: var(--cor-texto);
    margin: 0;
    text-wrap: balance;
  }

  .edv-diff-grid {
    position: relative;
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .edv-diff-item {
    padding: 40px 64px;
    text-align: center;
  }

  /* linhas divisórias — atravessam até o final do content (mais largas que os cards) */
  .edv-diff-lines {
    position: absolute;
    top: 0;
    bottom: 0;
    max-width: 1200px;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
    z-index: 1;
  }

  .edv-diff-line-h {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: #ECECEE;
  }

  .edv-diff-line-v {
    position: absolute;
    top: -28px;
    bottom: -28px;
    left: 50%;
    width: 1px;
    background: #ECECEE;
  }

  .edv-diff-dot-halo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 34px;
    height: 34px;
    background: #FFFFFF;
    border-radius: 50%;
    z-index: 4;
  }

  .edv-diff-dot {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    border: 1px solid #C9C9D0;
    border-radius: 50%;
    background: #FFFFFF;
    z-index: 5;
  }

  .edv-diff-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #FFFFFF;
    border: 1px solid #ECECEE;
    box-shadow: 0 4px 12px rgba(17, 17, 17, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    font-size: 1.2rem;
    color: #1C8BA2;
  }

  .edv-diff-title {
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--cor-texto);
    margin: 0 0 8px;
  }

  .edv-diff-desc {
    font-size: 0.92rem;
    line-height: 1.6;
    color: var(--cor-texto-suave);
    max-width: 380px;
    margin: 0 auto;
  }

  @media (max-width: 767px) {
    .edv-diff-grid { grid-template-columns: 1fr; }
    .edv-diff-item { padding: 32px 16px; border-bottom: 1px solid #ECECEE; }
    .edv-diff-item:last-child { border-bottom: none; }
    .edv-diff-lines { display: none; }
  }

  /* ===== [Seção] Prévia Visual ===== */
  .edv-s3 {
    position: relative;
    background: #FFFFFF;
    padding: 100px 16px 110px;
    overflow: hidden;
  }

  .edv-s3-header {
    position: relative;
    max-width: 720px;
    margin: 0 auto 64px;
    text-align: center;
  }

  .edv-s3-headline {
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.12;
    font-size: clamp(1.8rem, 4vw, 2.6rem);
    color: var(--cor-texto);
    margin: 0 0 16px;
  }

  .edv-s3-sub {
    font-size: clamp(0.95rem, 1.4vw, 1.05rem);
    line-height: 1.6;
    color: var(--cor-texto-suave);
  }

  .edv-s3-grid {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
  }

  .edv-s3-divider {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    background: #ECECEE;
  }

  @media (max-width: 991px) {
    .edv-s3-grid { grid-template-columns: 1fr; }
    .edv-s3-divider { display: none; }
  }

  /* --- moldura do mockup --- */
  .edv-s3-col {
    position: relative;
    padding: 32px;
  }

  .edv-s3-preview {
    position: relative;
    height: 260px;
    margin-bottom: 56px;
  }

  .edv-s3-preview-glow {
    position: absolute;
    inset: -30px;
    background: radial-gradient(ellipse at center, rgba(28, 139, 162, 0.20), rgba(28, 139, 162, 0) 70%);
    filter: blur(30px);
    pointer-events: none;
    z-index: 0;
  }

  /* preview 1 é a ilustração animada de canais de captação — ela já traz
     seu próprio cartão/sombra, então só precisa de altura livre */
  .edv-s3-preview--ibn {
    height: auto;
  }

  /* ===== ilustração animada: canais de captação (iboxweb) — paleta
     adaptada pro teal da marca EDV (#1C8BA2 / #0A7D8B) ===== */
  .ibn-wrap{--blue:#0A7D8B;--sky:#1C8BA2;--tx:#151b22;--mu:#6b7480;--ln:#e5e8ed;
    position:relative;width:100%;max-width:660px;margin:0 auto;aspect-ratio:620/368;border-radius:28px;overflow:hidden;
    background:#f3f5f8 radial-gradient(rgba(10,125,139,.22) 1.1px,transparent 1.2px) 0 0/18px 18px;box-shadow:0 24px 60px rgba(17,17,17,.12);
    font-family:var(--fonte-corpo);color:var(--tx);line-height:1.3;text-align:left}
  .ibn-wrap *{box-sizing:border-box;margin:0;padding:0}
  .ibn-stage{position:absolute;left:0;top:0;width:620px;height:368px;transform-origin:0 0}
  .ibn-wrap svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .ibn-lines{position:absolute;inset:0;width:620px;height:368px}
  .ibn-lines path{stroke:#a9b6c6;stroke-width:1.5;stroke-dasharray:4 4}
  .ibn-tile{position:absolute;top:10px;width:78px;display:flex;flex-direction:column;align-items:center;gap:4px;opacity:0}
  .ibn-ti{width:78px;height:60px;border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(20,27,34,.09),0 0 0 1px var(--ln);display:flex;align-items:center;justify-content:center;color:var(--c)}
  .ibn-ti svg{width:28px;height:28px;stroke-width:1.8}
  .ibn-tile small{font-size:11px;font-weight:600;color:var(--mu)}
  .ibn-plus{position:absolute;left:292px;top:100px;width:36px;height:36px;border-radius:50%;background:#fff;color:#3a434e;
    box-shadow:0 6px 16px rgba(20,27,34,.12),0 0 0 1px var(--ln),0 0 0 6px rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;opacity:0}
  .ibn-plus svg{width:18px;height:18px;stroke-width:2.2}
  .ibn-panel{position:absolute;left:52px;top:150px;width:516px;height:199px;border-radius:18px;background:transparent;border:1px solid #d9e0e9;overflow:hidden;opacity:0}
  .ibn-ph{display:flex;align-items:center;gap:10px;height:38px;padding:0 12px 0 14px;border-bottom:1px dashed #d9e0e9}
  .ibn-ph b{font-size:14px;font-weight:700;color:#1b2b47}
  .ibn-cnt{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--mu);background:#fff;border:1px solid var(--ln);border-radius:20px;padding:3px 9px}
  .ibn-cnt i{width:6px;height:6px;border-radius:50%;background:#16a05a}
  .ibn-cnt em{font-style:normal;font-weight:700;color:var(--tx);font-variant-numeric:tabular-nums}
  .ibn-cnt em.is-bump{animation:ibnBump .45s ease}
  .ibn-more{margin-left:auto;color:#8a939e;display:flex}.ibn-more svg{width:18px;height:18px}
  .ibn-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px;align-items:start}
  .ibn-msg{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ln);border-radius:14px;padding:11px 12px;height:138px;box-shadow:0 8px 18px rgba(20,27,34,.07);opacity:0;min-width:0}
  .ibn-mt{display:flex;align-items:center;gap:6px;margin-bottom:9px}
  .ibn-mi{width:30px;height:30px;border-radius:9px;color:#fff;display:flex;align-items:center;justify-content:center;flex:none;margin-right:auto}
  .ibn-mi svg{width:17px;height:17px}
  .ibn-mt em{font-style:normal;font-size:9.5px;font-weight:700;color:#5b6be0;background:#eceefe;padding:1px 5px;border-radius:4px}
  .ibn-mt small{font-size:10.5px;color:var(--mu)}
  .ibn-mn{font-size:11.5px;font-weight:700;margin-bottom:5px;white-space:nowrap}
  .ibn-msg p{font-size:12px;line-height:1.45;color:#2b333d}
  .ibn-msg p b{color:var(--blue);font-weight:600}

  /* ---- animações (ciclo de 12s, reiniciado pelo script) ---- */
  .ibn-play .ibn-tile{animation:ibnIn .5s cubic-bezier(.2,.7,.2,1) both}
  .ibn-play .ibn-ti{animation:ibnAct 1.6s ease both}
  .ibn-play .ibn-plus{animation:ibnPop .4s cubic-bezier(.3,1.5,.5,1) .3s both}
  .ibn-play .ibn-panel{animation:ibnIn .6s cubic-bezier(.2,.7,.2,1) .2s both}
  .ibn-play .ibn-trv{animation:ibnTrv .7s ease-in-out both}
  .ibn-play .ibn-msg{animation:ibnMsg .55s cubic-bezier(.2,.8,.2,1) both}
  .ibn-play .ibn-plus.is-hit{opacity:1;animation:ibnHit .5s ease}
  @keyframes ibnIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  @keyframes ibnPop{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
  @keyframes ibnAct{0%,100%{transform:none;box-shadow:0 12px 28px rgba(20,27,34,.09),0 0 0 1px var(--ln)}
    15%,70%{transform:translateY(-4px);box-shadow:0 16px 30px rgba(20,27,34,.14),0 0 0 2px var(--c)}}
  @keyframes ibnTrv{0%{offset-distance:0%;opacity:0}12%,88%{opacity:1}100%{offset-distance:100%;opacity:0}}
  @keyframes ibnMsg{from{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:none}}
  @keyframes ibnHit{0%,100%{transform:none}40%{transform:scale(1.18) rotate(90deg);color:var(--blue)}}
  @keyframes ibnBump{40%{transform:scale(1.35);color:var(--blue)}}
  .ibn-trv{position:absolute;left:0;top:0;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 4px rgba(255,255,255,.7),0 0 12px rgba(10,125,139,.5);offset-rotate:0deg;opacity:0;z-index:3}
  @media (prefers-reduced-motion:reduce){
    .ibn-wrap .ibn-tile,.ibn-wrap .ibn-plus,.ibn-wrap .ibn-panel{opacity:1!important;transform:none!important;animation:none!important}
    .ibn-wrap .ibn-msg{opacity:1!important;transform:none!important;animation:none!important}
    .ibn-wrap .ibn-trv{display:none}
  }

  .edv-s3-col-info { text-align: left; }

  .edv-s3-col-icon {
    color: #1C8BA2;
    font-size: 1.1rem;
    margin-right: 8px;
  }

  .edv-s3-col-title {
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--cor-texto);
    margin: 0 0 8px;
  }

  .edv-s3-col-desc {
    font-size: 0.92rem;
    line-height: 1.6;
    color: var(--cor-texto-suave);
    margin: 0;
    max-width: 440px;
  }

  /* preview 2 é a ilustração animada de qualificação — ela já traz seu
     próprio cartão/sombra, então só precisa de altura livre (a fixa de
     260px é pro mockup absoluto da coluna 1) */
  .edv-s3-preview--ibq {
    height: auto;
  }

  /* ===== ilustração animada: qualificação de leads (iboxweb) — paleta
     adaptada pro teal da marca EDV (#1C8BA2 / #0A7D8B) ===== */
  .ibq-wrap{--blue:#0A7D8B;--sky:#1C8BA2;--gr:#16a05a;--tx:#151b22;--mu:#6b7480;--ln:#e5e8ed;
    position:relative;width:100%;max-width:680px;margin:0 auto;aspect-ratio:640/390;border-radius:28px;overflow:hidden;
    background:#f3f5f8 radial-gradient(rgba(10,125,139,.22) 1.1px,transparent 1.2px) 0 0/18px 18px;
    box-shadow:0 24px 60px rgba(17,17,17,.12);font-family:var(--fonte-corpo);color:var(--tx);line-height:1.3;text-align:left}
  .ibq-wrap *{box-sizing:border-box;margin:0;padding:0}
  .ibq-stage{position:absolute;left:0;top:0;width:640px;height:390px;transform-origin:0 0}
  .ibq-wrap svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  .ibq-lines{position:absolute;inset:0;width:640px;height:390px}
  .ibq-lines path{stroke:#b9c4d2;stroke-width:1.5}
  .ibq-lines .ibq-down{stroke:var(--blue)}
  .ibq-dot{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;border:1.5px solid #9fb0c4}
  .ibq-dot--c{border-color:var(--blue)}
  .ibq-card{position:absolute;background:rgba(255,255,255,.92);border:1px solid var(--ln);border-radius:20px;box-shadow:0 14px 34px rgba(20,27,34,.08);padding:14px;opacity:0}
  .ibq-side{top:106px;width:176px;height:240px;padding:13px}
  .ibq-side .ibq-pills{gap:4px}.ibq-side .ibq-p{font-size:9.5px;padding:3px 7px 3px 4px}
  .ibq-main{left:218px;top:30px;width:204px;height:262px;padding:16px;box-shadow:0 22px 48px rgba(20,27,34,.13)}
  .ibq-h{display:flex;align-items:center;gap:10px;margin-bottom:10px}
  .ibq-h b{display:block;font-size:13px;font-weight:700;white-space:nowrap}.ibq-h small{display:block;font-size:11px;color:var(--mu);white-space:nowrap}
  .ibq-main .ibq-h b{font-size:15px}.ibq-main .ibq-h small{font-size:12px}
  .ibq-av{border-radius:50%;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
  .ibq-av--m{width:36px;height:36px;font-size:12px;opacity:.55}
  .ibq-av--l{width:54px;height:54px;font-size:17px;box-shadow:0 0 0 3px #fff,0 0 0 5px rgba(10,125,139,.25)}
  .ibq-pills{display:flex;gap:6px;margin-bottom:12px}
  .ibq-p{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;color:#7a838e;background:#f0f2f5;border:1px solid var(--ln);padding:3px 8px 3px 5px;border-radius:20px;white-space:nowrap}
  .ibq-p svg{width:12px;height:12px;stroke-width:2.4}
  .ibq-p--ok{color:var(--gr);background:#e4f5eb;border-color:#bfe8d0}
  .ibq-sw{position:relative;display:inline-block}
  .ibq-sw .ibq-p--ok{position:absolute;left:0;top:0;opacity:0}
  .ibq-sk{display:flex;align-items:center;gap:8px;background:#f6f7f9;border-radius:12px;padding:8px;margin-bottom:6px}
  .ibq-sk i{display:block;height:8px;border-radius:4px;background:#e4e8ed;flex:none;width:22px;height:22px;border-radius:7px}
  .ibq-sk i+i{width:70px;height:8px;border-radius:4px}
  .ibq-sk i.w6{width:80px}.ibq-sk i.w4{width:56px}.ibq-sk i.w5{width:66px}
  .ibq-sk--sq i:first-child{background:#d9d4fb}
  .ibq-row{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;padding:7px 0;border-top:1px dashed var(--ln)}
  .ibq-row span{color:var(--mu)}.ibq-row b{font-weight:600;white-space:nowrap}
  .ibq-badge{position:absolute;left:50%;top:-14px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;font-weight:700;color:#fff;background:var(--gr);padding:5px 11px 5px 8px;border-radius:20px;box-shadow:0 8px 18px rgba(22,160,90,.3);opacity:0}
  .ibq-badge svg{width:13px;height:13px;stroke-width:2.8}
  .ibq-score{position:absolute;left:204px;top:210px;width:232px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--ln);border-radius:14px;padding:9px 12px;box-shadow:0 14px 30px rgba(20,27,34,.14);opacity:0}
  .ibq-score-i{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--sky),var(--blue));color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;flex:none}
  .ibq-score div{flex:1}.ibq-score b{display:block;font-size:12px;margin-bottom:6px}
  .ibq-bar{display:block;height:6px;border-radius:3px;background:#e8ecf1;overflow:hidden}
  .ibq-bar i{display:block;height:100%;width:86%;border-radius:3px;background:linear-gradient(90deg,var(--sky),var(--blue));transform:scaleX(0);transform-origin:left}
  .ibq-acts{position:absolute;left:258px;top:322px;width:124px;height:54px;display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;border:1px solid var(--ln);border-radius:18px;box-shadow:0 12px 26px rgba(20,27,34,.1);opacity:0}
  .ibq-acts span{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center}
  .ibq-acts svg{width:18px;height:18px}
  .ibq-ok{background:linear-gradient(135deg,#34c77b,var(--gr));color:#fff}
  .ibq-no{background:#f0f2f5;color:#4b5563}
  .ibq-lens{position:absolute;left:0;top:0;width:66px;height:66px;border-radius:50%;border:4px solid var(--blue);background:rgba(28,139,162,.08);box-shadow:0 6px 16px rgba(10,125,139,.3);opacity:0;pointer-events:none}
  .ibq-lens i{position:absolute;right:-17px;bottom:-12px;width:24px;height:6px;border-radius:3px;background:var(--blue);transform:rotate(40deg)}

  /* ---- animações (ciclo de 12s, reiniciado pelo script) ---- */
  .ibq-play .ibq-side{animation:ibqIn .6s cubic-bezier(.2,.7,.2,1) both}
  .ibq-play .ibq-side+.ibq-side{animation-delay:.1s}
  .ibq-play .ibq-main{animation:ibqIn .6s cubic-bezier(.2,.7,.2,1) .15s both,ibqMain 12s linear both}
  .ibq-play .ibq-acts{animation:ibqIn .5s ease .3s both}
  .ibq-play .ibq-lens{animation:ibqLens 12s cubic-bezier(.45,0,.25,1) both}
  .ibq-play .ibq-t1{animation:ibqPop .35s cubic-bezier(.3,1.6,.5,1) 4.4s both}
  .ibq-play .ibq-score{animation:ibqIn .45s cubic-bezier(.2,.8,.2,1) 4.7s both}
  .ibq-play .ibq-bar i{animation:ibqBar 1.1s cubic-bezier(.2,.8,.2,1) 5.1s both}
  .ibq-play .ibq-t2{animation:ibqPop .35s cubic-bezier(.3,1.6,.5,1) 6.2s both}
  .ibq-play .ibq-ok{animation:ibqPress .5s ease 7.2s both}
  .ibq-play .ibq-badge{animation:ibqBadge .45s cubic-bezier(.3,1.5,.5,1) 7.6s both}
  .ibq-play .ibq-down{animation:ibqGreen .4s ease 7.4s both}
  @keyframes ibqIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  @keyframes ibqPop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
  @keyframes ibqBar{to{transform:scaleX(1)}}
  @keyframes ibqPress{0%,100%{transform:none;box-shadow:none}40%{transform:scale(.88);box-shadow:0 0 0 7px rgba(22,160,90,.25)}}
  @keyframes ibqBadge{from{opacity:0;transform:translate(-50%,8px) scale(.8)}to{opacity:1;transform:translate(-50%,0)}}
  @keyframes ibqGreen{to{stroke:var(--gr)}}
  @keyframes ibqMain{0%,63%{border-color:var(--ln)}66%,100%{border-color:#9fdcbb;box-shadow:0 22px 48px rgba(22,160,90,.18),0 0 0 3px rgba(22,160,90,.12)}}
  @keyframes ibqLens{
    0%{opacity:0;transform:translate(26px,106px) scale(.6)}
    7%{opacity:1;transform:translate(22px,103px) scale(1)}
    15%{opacity:1;transform:translate(22px,103px)}
    23%,30%{opacity:1;transform:translate(438px,103px)}
    38%,58%{opacity:1;transform:translate(228px,40px)}
    64%,100%{opacity:0;transform:translate(228px,40px) scale(1.15)}}
  @media (prefers-reduced-motion:reduce){
    .ibq-wrap .ibq-card,.ibq-wrap .ibq-acts,.ibq-wrap .ibq-score,.ibq-wrap .ibq-t1,.ibq-wrap .ibq-t2{opacity:1!important;transform:none!important;animation:none!important}
    .ibq-wrap .ibq-bar i{transform:none!important;animation:none!important}
    .ibq-wrap .ibq-badge{opacity:1!important;transform:translateX(-50%)!important;animation:none!important}
    .ibq-wrap .ibq-lens{display:none}
  }

  /* ===== [Seção] Tudo pronto pra usar (3 colunas) ===== */
  .edv-s4 {
    background: #FFFFFF;
    padding: 100px 16px 110px;
  }

  .edv-s4-header {
    max-width: 640px;
    margin: 0 auto 56px;
    text-align: center;
  }

  .edv-s4-headline {
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.14;
    font-size: clamp(1.7rem, 3.6vw, 2.35rem);
    color: var(--cor-texto);
    margin: 0 0 14px;
  }

  .edv-s4-sub {
    font-size: clamp(0.9rem, 1.3vw, 1rem);
    line-height: 1.6;
    color: var(--cor-texto-suave);
  }

  .edv-s4-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
  }

  @media (max-width: 991px) {
    .edv-s4-grid { grid-template-columns: 1fr; max-width: 480px; gap: 58px; }
  }

  .edv-s4-frame {
    position: relative;
    height: 230px;
    border-radius: 20px;
    background: linear-gradient(160deg, #EAF5F7 0%, #FFFFFF 68%);
    overflow: hidden;
    margin-bottom: 28px;
  }

  .edv-s4-chip {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #FFFFFF;
    border: 1px solid #ECECEE;
    border-radius: 12px;
    padding: 10px 14px;
  }

  .edv-s4-chip.is-faded {
    opacity: 0.55;
    box-shadow: none;
  }

  .edv-s4-chip.is-front {
    box-shadow: 0 14px 30px rgba(17, 17, 17, 0.08);
    z-index: 2;
  }

  .edv-s4-chip-icon {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
  }

  .edv-s4-chip-title { font-size: 0.82rem; font-weight: 600; color: var(--cor-texto); margin: 0; }
  .edv-s4-chip-meta { font-size: 0.7rem; color: #1E8E5A; font-weight: 600; margin: 1px 0 0; }

  .edv-s4-add-btn {
    position: absolute;
    top: 16px;
    right: 16px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #FFFFFF;
    border: 1px solid #ECECEE;
    border-radius: 100px;
    padding: 7px 14px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--cor-texto);
    box-shadow: 0 6px 16px rgba(17, 17, 17, 0.05);
  }

  .edv-s4-toggle {
    width: 34px;
    height: 19px;
    border-radius: 100px;
    background: #1C8BA2;
    position: relative;
    flex-shrink: 0;
  }

  .edv-s4-toggle::after {
    content: "";
    position: absolute;
    top: 2px;
    right: 2px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #FFFFFF;
  }

  .edv-s4-progress {
    height: 5px;
    border-radius: 100px;
    background: #ECECEE;
    margin-top: 6px;
    overflow: hidden;
  }

  .edv-s4-progress span {
    display: block;
    height: 100%;
    width: 62%;
    background: #1C8BA2;
  }

  .edv-s4-col-title {
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: 1rem;
    color: var(--cor-texto);
    margin: 0 0 8px;
  }

  .edv-s4-col-icon {
    color: #1C8BA2;
    font-size: 1.05rem;
    margin-right: 8px;
  }

  .edv-s4-col-desc {
    font-size: 0.88rem;
    line-height: 1.6;
    color: var(--cor-texto-suave);
    margin: 0;
  }

  /* ===== [Seção] Organize sua operação (headline + timeline) ===== */
  .edv-s5 {
    background: #FFFFFF;
    padding: 100px 16px 110px;
  }

  .edv-s5-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: center;
  }

  @media (max-width: 991px) {
    .edv-s5-grid { grid-template-columns: 1fr; gap: 48px; }
  }

  .edv-s5-headline {
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.14;
    font-size: clamp(1.8rem, 3.4vw, 2.35rem);
    color: var(--cor-texto);
    margin: 0 0 16px;
  }

  .edv-s5-sub {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--cor-texto-suave);
    max-width: 440px;
    margin: 0 0 28px;
  }

  .edv-s5-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 36px;
  }

  .edv-s5-proof { 
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .edv-s5-avatars {
    display: flex;
    flex-shrink: 0;
  }

  .edv-s5-avatars span {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 2px solid #FFFFFF;
    background: #EDEBFF;
    color: #4B5FE8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 700;
    margin-left: -10px;
  }

  .edv-s5-avatars span:first-child { margin-left: 0; }

  .edv-s5-proof-text {
    font-size: 0.85rem;
    line-height: 1.4;
    color: var(--cor-texto-suave);
    max-width: 340px;
    margin: 0;
  }

  /* --- ilustração animada à direita — halo teal atrás da .ibc-wrap,
     que já traz seu próprio cartão/sombra --- */
  .edv-s5-right {
    position: relative;
  }

  .edv-s5-right::before {
    content: "";
    position: absolute;
    inset: -30px;
    background: radial-gradient(ellipse at center, #1C8BA2 0%, #0A7D8B 45%, rgba(53, 97, 113, 0) 72%);
    filter: blur(60px);
    opacity: 0.16;
    z-index: -1;
  }

  /* ===== ilustração animada: captação de leads (iboxweb) — paleta
     adaptada pro teal da marca EDV (#1C8BA2 / #0A7D8B) ===== */
  .ibc-wrap{--blue:#0A7D8B;--sky:#1C8BA2;--gr:#16a05a;--tx:#151b22;--mu:#6b7480;--ln:#e5e8ed;
    position:relative;width:100%;max-width:660px;margin:0 auto;aspect-ratio:620/460;border-radius:28px;overflow:hidden;
    background:linear-gradient(180deg,#f6f7fb,#eef1f6);box-shadow:0 24px 60px rgba(17,17,17,.12);
    font-family:var(--fonte-corpo);color:var(--tx);line-height:1.3;text-align:left}
  .ibc-wrap *{box-sizing:border-box;margin:0;padding:0}
  .ibc-stage{position:absolute;left:0;top:0;width:620px;height:460px;transform-origin:0 0}
  .ibc-wrap svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .ibc-grid{position:absolute;left:224px;top:300px;width:172px;height:150px;background-image:radial-gradient(rgba(10,125,139,.35) 1.1px,transparent 1.2px);background-size:16px 16px}
  .ibc-lines{position:absolute;inset:0;width:620px;height:460px}
  .ibc-lines path{stroke:#aebfd3;stroke-width:1.5}
  .ibc-dot{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;border:1.5px solid #9aaec6;z-index:2}
  .ibc-trv{position:absolute;left:0;top:0;width:10px;height:10px;margin:0;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(10,125,139,.2),0 0 12px rgba(10,125,139,.7);offset-rotate:0deg;opacity:0;z-index:3}
  .ibc-top{position:absolute;left:70px;top:16px;width:480px;height:252px;border-radius:26px;background:rgba(255,255,255,.9);border:1px solid var(--ln);box-shadow:0 18px 40px rgba(20,27,34,.08);opacity:0}
  .ibc-prof{position:absolute;left:12px;top:12px;width:180px;padding:12px;border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(20,27,34,.1),0 0 0 1px var(--ln)}
  .ibc-ph{display:flex;align-items:center;gap:10px;margin-bottom:10px}
  .ibc-ph b{display:block;font-size:14px;font-weight:700;white-space:nowrap}.ibc-ph small{display:block;font-size:11px;color:var(--mu);white-space:nowrap}
  .ibc-av{width:44px;height:44px;border-radius:50%;background:#e0652a;color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 0 0 3px #fff,0 0 0 5px rgba(10,125,139,.25)}
  .ibc-av--s{width:28px;height:28px;font-size:10px;box-shadow:0 0 0 2px #fff}
  .ibc-st{display:flex;align-items:center;gap:7px;font-size:11.5px;color:#4b5563;margin-top:6px;white-space:nowrap}
  .ibc-sw{position:relative;width:16px;height:16px;flex:none}
  .ibc-sw em{position:absolute;inset:0;border-radius:50%;display:flex;align-items:center;justify-content:center}
  .ibc-sw svg{width:11px;height:11px;stroke-width:2.6}
  .ibc-w{background:#eef0f3;color:#8a939e}
  .ibc-k{background:var(--gr);color:#fff;opacity:0}.ibc-k--on{opacity:1}
  .ibc-lcol{position:absolute;left:18px;top:156px;width:180px;display:flex;flex-direction:column;gap:8px}
  .ibc-sk{display:block;height:9px;border-radius:5px;background:#e9ecf1}
  .ibc-bt{margin-top:6px;align-self:flex-start;font-size:11px;font-weight:600;color:#fff;background:linear-gradient(90deg,var(--sky),var(--blue));padding:6px 14px;border-radius:14px}
  .ibc-tiles{position:absolute;left:206px;top:12px;display:flex;gap:8px}
  .ibc-tile{width:82px;height:82px;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(20,27,34,.09),0 0 0 1px var(--ln);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
  .ibc-tile span{width:30px;height:30px;border-radius:50%;background:#eef6fd;color:var(--blue);display:flex;align-items:center;justify-content:center}
  .ibc-tile span svg{width:17px;height:17px}
  .ibc-tile b{font-size:10.5px;font-weight:600;white-space:nowrap}
  .ibc-rcol{position:absolute;left:210px;top:112px;display:flex;flex-direction:column;gap:10px}
  .ibc-send{position:absolute;right:14px;bottom:16px;width:128px;height:32px;border-radius:16px;border:1.5px solid #c9d6e6;background:#fff}
  .ibc-send b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:5px;font-size:11.5px;border-radius:16px;white-space:nowrap}
  .ibc-send-a{color:var(--blue)}
  .ibc-send-b{background:var(--gr);color:#fff;opacity:0}.ibc-send-b svg{width:12px;height:12px;stroke-width:2.6}
  .ibc-card{position:absolute;top:306px;width:150px;height:134px;border-radius:20px;background:#fff;border:1px solid var(--ln);box-shadow:0 16px 34px rgba(20,27,34,.09);padding:12px;opacity:0}
  .ibc-chan{left:70px}.ibc-ads{left:400px}
  .ibc-lbl{display:block;font-size:10.5px;color:var(--mu);font-weight:500;margin-bottom:8px}
  .ibc-chs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:12px}
  .ibc-ch{height:28px;border-radius:9px;background:#f1f4f8;color:#8793a2;display:flex;align-items:center;justify-content:center}
  .ibc-ch svg{width:16px;height:16px}
  .ibc-lead{display:flex;align-items:center;gap:8px;border-top:1px dashed var(--ln);padding-top:10px;opacity:0}
  .ibc-lead b{display:block;font-size:11.5px;white-space:nowrap}.ibc-lead small{display:block;font-size:10px;color:var(--mu)}
  .ibc-adh{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
  .ibc-adh b{display:block;font-size:13px}.ibc-adh small{display:block;font-size:9.5px;color:var(--mu);white-space:nowrap}
  .ibc-mega{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--sky),var(--blue));color:#fff;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 6px 14px rgba(10,125,139,.35)}
  .ibc-mega svg{width:17px;height:17px}
  .ibc-m{display:flex;justify-content:space-between;font-size:11px;color:var(--mu);padding:2px 0}
  .ibc-m b{color:var(--tx);font-variant-numeric:tabular-nums}
  .ibc-bar{display:block;height:5px;border-radius:3px;background:#e8ecf1;margin:2px 0 4px;overflow:hidden}
  .ibc-bar i{display:block;height:100%;width:42%;background:linear-gradient(90deg,var(--sky),var(--blue));transform:scaleX(0);transform-origin:left}
  .ibc-mag{position:absolute;left:274px;top:336px;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#6fd9a0,var(--gr));box-shadow:0 14px 30px rgba(22,160,90,.35),0 0 0 8px rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;color:#fff;opacity:0}
  .ibc-mag span{display:flex;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.18);align-items:center;justify-content:center}
  .ibc-mag svg{width:22px;height:22px;stroke-width:2.2}

  /* ---- animações (ciclo de 12s, reiniciado pelo script) ---- */
  .ibc-play .ibc-top{animation:ibcIn .6s cubic-bezier(.2,.7,.2,1) both}
  .ibc-play .ibc-chan{animation:ibcIn .6s cubic-bezier(.2,.7,.2,1) .15s both}
  .ibc-play .ibc-ads{animation:ibcIn .6s cubic-bezier(.2,.7,.2,1) .25s both}
  .ibc-play .ibc-mag{animation:ibcPop .5s cubic-bezier(.3,1.5,.5,1) .35s both,ibcMag 12s linear both}
  .ibc-play .ibc-ch--0{animation:ibcCh .8s ease .9s both}
  .ibc-play .ibc-ch--2{animation:ibcCh .8s ease 1.7s both}
  .ibc-play .ibc-ch--3{animation:ibcCh .8s ease 2.5s both}
  .ibc-play .ibc-ch--1{animation:ibcChOn .4s ease 3.1s both}
  .ibc-play .ibc-lead{animation:ibcIn .4s ease 3.2s both}
  .ibc-play .ibc-bar i{animation:ibcBar 1.4s cubic-bezier(.2,.8,.2,1) 1s both}
  .ibc-play .ibc-trv{animation:ibcTrv .7s ease-in-out both}
  .ibc-play .ibc-t1{animation:ibcPop .35s cubic-bezier(.3,1.6,.5,1) 5.3s both}
  .ibc-play .ibc-t2{animation:ibcPop .35s cubic-bezier(.3,1.6,.5,1) 6.1s both}
  .ibc-play .ibc-tile--hi{animation:ibcTile .5s ease 6.8s both}
  .ibc-play .ibc-send-b{animation:ibcPop .4s cubic-bezier(.3,1.5,.5,1) 7.8s both}
  .ibc-play .ibc-send{animation:ibcPress .5s ease 7.5s both}
  @keyframes ibcIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  @keyframes ibcPop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
  @keyframes ibcCh{0%,100%{background:#f1f4f8;color:#8793a2;transform:none}30%,70%{background:#e3f0fb;color:var(--blue);transform:translateY(-2px)}}
  @keyframes ibcChOn{to{background:linear-gradient(135deg,var(--sky),var(--blue));color:#fff;transform:translateY(-2px);box-shadow:0 6px 14px rgba(10,125,139,.35)}}
  @keyframes ibcBar{to{transform:scaleX(1)}}
  @keyframes ibcTrv{0%{offset-distance:0%;opacity:0}15%,85%{opacity:1}100%{offset-distance:100%;opacity:0}}
  @keyframes ibcTile{to{transform:translateY(-4px);box-shadow:0 14px 28px rgba(10,125,139,.25),0 0 0 2px var(--blue)}}
  @keyframes ibcPress{0%,100%{transform:none}40%{transform:scale(.92)}}
  @keyframes ibcMag{0%,34%{transform:scale(1)}36.5%{transform:scale(1.12) rotate(-12deg)}39%{transform:scale(1)}100%{transform:scale(1)}}
  @media (prefers-reduced-motion:reduce){
    .ibc-wrap .ibc-top,.ibc-wrap .ibc-card,.ibc-wrap .ibc-mag,.ibc-wrap .ibc-lead,.ibc-wrap .ibc-t1,.ibc-wrap .ibc-t2,.ibc-wrap .ibc-send-b{opacity:1!important;transform:none!important;animation:none!important}
    .ibc-wrap .ibc-bar i{transform:none!important;animation:none!important}
    .ibc-wrap .ibc-trv{display:none}
  }

  /* ===== [Rodapé] ===== */
  .edv-footer {
    position: relative;
    background: linear-gradient(160deg, #14313B 0%, #0F2830 55%, #0B2027 100%);
    color: #E4EDEF;
    padding: 72px 16px 28px;
    overflow: hidden;
  }

  .edv-footer::before {
    content: "";
    position: absolute;
    top: -140px;
    left: 50%;
    transform: translateX(-50%);
    width: 640px;
    height: 280px;
    background: radial-gradient(ellipse at center, rgba(28, 139, 162, 0.35), rgba(28, 139, 162, 0) 70%);
    filter: blur(20px);
    pointer-events: none;
  }
 
  .edv-footer-top {
    position: relative; 
    max-width: 1200px;
    margin: 0 auto 48px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px 48px;
    padding-bottom: 48px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .edv-footer-brand {
    max-width: 640px;
  }

  .edv-footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    margin-bottom: 16px;
  }

  .edv-footer-logo img {
    height: 44px; 
    filter: brightness(0) invert(1);
  }

  .edv-footer-tagline {
    font-size: 0.88rem;
    line-height: 1.6;
    color: rgba(228, 237, 239, 0.65);
    margin: 0;
  }

  .edv-footer-cta {
    display: inline-flex;
    align-items: center;
    align-self: center;
    flex: none;
    gap: 8px;
    background: #FFFFFF;
    color: #14313B;
    border-radius: 15px;
    padding: 11px 20px;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
  }

  .edv-footer-cta:hover { background: #E4EDEF; color: #14313B; }

  .edv-footer-cols {
    display: flex;
    gap: 64px;
    flex-wrap: wrap;
  }

  .edv-footer-col-title {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(228, 237, 239, 0.5);
    margin: 0 0 16px;
  }

  .edv-footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .edv-footer-col li { margin-bottom: 11px; }

  .edv-footer-col a {
    color: #E4EDEF;
    text-decoration: none;
    font-size: 0.9rem;
  }

  .edv-footer-col a:hover { color: #6FD3E8; }

  .edv-footer-bottom {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .edv-footer-copy {
    font-size: 0.8rem;
    color: rgba(228, 237, 239, 0.55);
    margin: 0;
  }

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

  .edv-footer-legal a {
    font-size: 0.8rem;
    color: rgba(228, 237, 239, 0.55);
    text-decoration: none;
  }

  .edv-footer-legal a:hover { color: #E4EDEF; }

  @media (max-width: 767px) {
    .edv-footer-top { flex-direction: column; align-items: flex-start; }
    .edv-footer-brand { max-width: 100%; width: 100%; }
    .edv-footer-cols { gap: 40px; }
  }

  /* ===== [Seção] Páginas legais (Política de Privacidade / Termos de Uso) ===== */ 
  .edv-legal {
    background: #FFFFFF;
    padding: 140px 16px 100px;
  }

  .edv-legal-container {
    max-width: 820px;
    margin: 0 auto;
  }

  .edv-legal-headline {
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.15;
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    color: var(--cor-texto);
    margin: 0 0 12px;
  }

  .edv-legal-updated {
    font-size: 0.85rem;
    color: var(--cor-texto-suave);
    margin: 0 0 48px;
  }

  .edv-legal-body h2 {
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.3;
    font-size: clamp(1.15rem, 2vw, 1.4rem);
    color: var(--cor-texto);
    margin: 40px 0 14px;
  }

  .edv-legal-body h2:first-child {
    margin-top: 0;
  }

  .edv-legal-body p {
    font-size: 1rem;
    line-height: 1.75;
    color: var(--cor-texto-suave);
    margin: 0 0 16px;
  }

  .edv-legal-body ul {
    margin: 0 0 16px;
    padding-left: 20px;
  }

  .edv-legal-body li {
    font-size: 1rem;
    line-height: 1.75;
    color: var(--cor-texto-suave);
    margin-bottom: 8px;
  }

  .edv-legal-body strong {
    color: var(--cor-texto);
  }

  .edv-legal-body a {
    color: var(--cor-destaque);
  }

  @media (max-width: 767px) {
    .edv-legal {
      padding: 120px 16px 72px;
    }
  }

  /* ===== [Seção] Hero — Visualizar Diagnóstico (/diagnostico) =====
     Variante do Hero da home: mesmos componentes (eyebrow, headline, subheadline,
     form, glow) e o mesmo canvas de círculos decorativos (.edv-hero-canvas, sem os
     badges de feature — não fazem sentido nessa página de login). Como depois dela
     só vem o footer, a seção ocupa a tela inteira via min-height:100vh + flex
     centralizado (a altura NÃO é ditada pela geometria dos círculos, que é
     position:absolute — por isso overflow:hidden aqui pra recortar o canvas caso
     a proporção da tela não bata com a dos círculos). */
  .edv-diag-hero {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    align-items: center;
    background: #FFFFFF;
    padding: 140px 16px 60px;
  }

  .edv-diag-hero-inner {
    position: relative;
    z-index: 3;
    width: 100%;
  }

  .edv-diag-help {
    display: block;
    margin-top: 16px;
    font-size: 0.85rem;
    color: var(--cor-texto-suave);
  }

  .edv-diag-help a {
    color: #0A7D8B;
    font-weight: 600;
    text-decoration: none;
  }

  .edv-diag-help a:hover {
    text-decoration: underline;
  }

  @media (max-width: 767px) {
    .edv-diag-hero {
      padding: 120px 16px 48px;
    }
  }

  /* ===== Banner de consentimento de cookies ===== */
  .edv-cookie-banner {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 2000;
    background: #FFFFFF;
    border: 1px solid #ECECEE;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(17, 17, 17, 0.14);
    padding: 18px 22px;
    font-family: var(--fonte-corpo);
    transform: translateY(140%);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.35s ease;
  }

  .edv-cookie-banner.is-visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .edv-cookie-banner-inner {
    max-width: 960px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
  }

  .edv-cookie-banner-text {
    margin: 0;
    font-size: 0.85rem;
    line-height: 1.5;
    color: var(--cor-texto-suave);
    flex: 1 1 320px;
  }

  .edv-cookie-banner-text a {
    color: var(--cor-destaque);
    font-weight: 600;
    text-decoration: none;
  }

  .edv-cookie-banner-text a:hover {
    text-decoration: underline;
  }

  .edv-cookie-banner-actions {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
  }

  .edv-cookie-btn {
    border: none;
    border-radius: 100px;
    padding: 10px 20px;
    font-size: 0.85rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
  }

  .edv-cookie-btn--reject {
    background: #F1F1F3;
    color: var(--cor-texto);
  }

  .edv-cookie-btn--reject:hover {
    background: #E6E6E9;
  }

  .edv-cookie-btn--accept {
    background: var(--cor-primaria);
    color: #fff;
  }

  .edv-cookie-btn--accept:hover {
    background: #2B2B2B;
  }

  /* reserva espaço embaixo enquanto o banner está visível, pra ele não
     cobrir conteúdo interativo (ex: botão do form da hero) no mobile */
  body.edv-cookie-open {
    padding-bottom: 132px;
    transition: padding-bottom 0.3s ease;
  }

  @media (max-width: 640px) {
    .edv-cookie-banner {
      left: 12px;
      right: 12px;
      bottom: 12px;
      padding: 16px;
    }

    .edv-cookie-banner-actions {
      width: 100%;
    }

    .edv-cookie-btn {
      flex: 1 1 0;
    }

    body.edv-cookie-open {
      padding-bottom: 190px;
    }
  }
