  :root {
    --navy: #1D3454;
    --navy-escuro: #142640;
    --navy-claro: #2A4670;
    --laranja: #FE9B00;
    --laranja-escuro: #E08700;
    --creme: #F7F5F0;
    --branco: #FFFFFF;
    --tinta: #15253B;
    --suave: #4A5A70;
    --linha: #DCD8CE;
    --texto-claro: #C9D3E1;
    --fonte: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  }
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; scroll-padding-top: 80px; }
  body { margin: 0; background: var(--creme); color: var(--tinta); font-family: var(--fonte); font-size: 1.0625rem; line-height: 1.6; -webkit-font-smoothing: antialiased; }
  img { max-width: 100%; display: block; }
  a { color: var(--navy); text-underline-offset: 3px; }
  :focus-visible { outline: 3px solid var(--laranja); outline-offset: 3px; border-radius: 4px; }
  .contorno { width: min(1120px, 100% - 2.5rem); margin-inline: auto; }
  h1, h2, h3 { line-height: 1.12; letter-spacing: -0.025em; }
  p { margin: 0 0 1rem; }

  /* ---------- Topo ---------- */
  .topo { position: sticky; top: 0; z-index: 50; background: rgba(29, 52, 84, 0.92); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid rgba(255,255,255,0.08); }
  .topo .contorno { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 0.8rem; flex-wrap: wrap; }
  .marca { display: flex; align-items: center; gap: 0.6rem; text-decoration: none; color: var(--branco); font-weight: 800; font-size: 1.35rem; letter-spacing: -0.03em; }
  .marca img { width: 40px; height: 40px; }
  .topo nav ul { display: flex; align-items: center; gap: 0.3rem 1.5rem; list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
  .topo nav a { color: var(--texto-claro); text-decoration: none; font-size: 0.95rem; font-weight: 500; padding-block: 0.5rem; display: inline-block; }
  .topo nav a:hover { color: var(--branco); }
  .topo nav a.botao { color: var(--navy-escuro); padding: 0.55rem 1.1rem; }

  /* ---------- Botões ---------- */
  .botao { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.95rem 1.5rem; border-radius: 12px; font-weight: 700; text-decoration: none; font-size: 1rem; border: 2px solid transparent; transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease; }
  .botao.principal { background: var(--laranja); color: var(--navy-escuro); box-shadow: 0 10px 24px -12px rgba(254,155,0,0.8); }
  .botao.principal:hover { background: var(--laranja-escuro); transform: translateY(-2px); }
  .botao.fantasma { color: var(--branco); border-color: rgba(255,255,255,0.35); }
  .botao.fantasma:hover { border-color: var(--branco); background: rgba(255,255,255,0.06); }
  .botao.escuro { background: var(--navy-escuro); color: var(--branco); }
  .botao.escuro:hover { background: var(--navy); transform: translateY(-2px); }
  .botao svg { width: 18px; height: 18px; flex: none; }

  /* ---------- Herói ---------- */
  .heroi { position: relative; overflow: hidden; background: var(--navy); color: var(--branco); }
  .heroi::before { content: ""; position: absolute; width: 720px; height: 720px; right: -220px; top: -260px; border-radius: 50%; background: var(--navy-claro); opacity: 0.55; }
  .heroi::after { content: ""; position: absolute; width: 260px; height: 260px; left: -90px; bottom: -120px; border-radius: 50%; border: 40px solid rgba(254,155,0,0.12); }
  .heroi .contorno { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); gap: 3.5rem; align-items: center; padding-block: 5rem 5.5rem; }
  .selo { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--laranja); background: rgba(254,155,0,0.1); border: 1px solid rgba(254,155,0,0.35); padding: 0.4rem 0.8rem; border-radius: 999px; margin-bottom: 1.4rem; }
  .selo .ponto { width: 8px; height: 8px; border-radius: 50%; background: var(--laranja); box-shadow: 0 0 0 0 rgba(254,155,0,0.6); animation: pulso 2s infinite; }
  @keyframes pulso { 0% { box-shadow: 0 0 0 0 rgba(254,155,0,0.6); } 70% { box-shadow: 0 0 0 10px rgba(254,155,0,0); } 100% { box-shadow: 0 0 0 0 rgba(254,155,0,0); } }
  .heroi h1 { font-size: clamp(2.3rem, 5.2vw, 3.7rem); font-weight: 800; margin: 0 0 1.3rem; }
  .heroi h1 em { font-style: normal; color: var(--laranja); }
  .heroi p.lead { font-size: 1.18rem; color: var(--texto-claro); max-width: 34rem; margin: 0 0 2rem; }
  .acoes { display: flex; gap: 0.9rem; flex-wrap: wrap; }
  .heroi .garantias { display: flex; flex-wrap: wrap; gap: 0.6rem 1.6rem; margin: 2rem 0 0; padding: 0; list-style: none; color: var(--texto-claro); font-size: 0.95rem; }
  .heroi .garantias li { display: flex; align-items: center; gap: 0.45rem; }
  .heroi .garantias svg { width: 18px; height: 18px; color: var(--laranja); flex: none; }

  /* Celular com conversa */
  .celular { justify-self: center; width: 100%; max-width: 380px; background: var(--navy-escuro); border-radius: 34px; padding: 12px; box-shadow: 0 40px 80px -30px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.06) inset; transform: rotate(1.5deg); }
  .tela { background: #ECE5DA; border-radius: 24px; overflow: hidden; }
  .tela-topo { display: flex; align-items: center; gap: 0.7rem; background: var(--navy); padding: 0.85rem 1rem; color: var(--branco); }
  .tela-topo img { width: 38px; height: 38px; }
  .tela-topo strong { display: block; font-size: 0.95rem; line-height: 1.2; }
  .tela-topo span { font-size: 0.78rem; color: var(--texto-claro); }
  .conversa { padding: 1rem 0.85rem 1.1rem; display: flex; flex-direction: column; gap: 0.5rem; min-height: 360px; }
  .msg { max-width: 86%; padding: 0.55rem 0.8rem 0.35rem; border-radius: 12px; font-size: 0.92rem; line-height: 1.42; color: #1A2533; box-shadow: 0 1px 1px rgba(0,0,0,0.06); }
  .msg small { display: block; text-align: right; font-size: 0.68rem; color: #5F6B78; margin-top: 0.1rem; }
  .msg.cliente { background: var(--branco); align-self: flex-start; border-top-left-radius: 3px; }
  .msg.roberto { background: #FFE6BD; align-self: flex-end; border-top-right-radius: 3px; }
  .digitando { align-self: flex-end; display: inline-flex; gap: 4px; background: #FFE6BD; padding: 0.7rem 0.85rem; border-radius: 12px; border-top-right-radius: 3px; }
  .digitando i { width: 6px; height: 6px; border-radius: 50%; background: #8A6A33; animation: pula 1.2s infinite; }
  .digitando i:nth-child(2) { animation-delay: .15s; } .digitando i:nth-child(3) { animation-delay: .3s; }
  @keyframes pula { 0%, 60%, 100% { transform: translateY(0); opacity: .5; } 30% { transform: translateY(-4px); opacity: 1; } }
  .js .conversa .msg, .js .conversa .digitando { opacity: 0; transform: translateY(8px); transition: opacity .35s ease, transform .35s ease; }
  .js .conversa .visivel { opacity: 1; transform: none; }
  .conversa-nota { text-align: center; font-size: 0.78rem; color: var(--texto-claro); margin: 0.9rem 0 0; }

  /* ---------- Seções ---------- */
  section { padding-block: 5.5rem; }
  .rotulo { display: inline-block; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #9A5C00; margin-bottom: 0.8rem; }
  h2 { font-size: clamp(1.8rem, 3.6vw, 2.6rem); font-weight: 800; margin: 0 0 1rem; max-width: 22ch; }
  .intro { font-size: 1.12rem; color: var(--suave); max-width: 60ch; margin-bottom: 2.8rem; }

  /* Faixa de dor */
  .faixa { background: var(--branco); border-block: 1px solid var(--linha); padding-block: 2.2rem; }
  .faixa ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
  .faixa li { display: flex; gap: 0.9rem; align-items: flex-start; }
  .faixa .icone { flex: none; width: 46px; height: 46px; border-radius: 12px; background: var(--navy); color: var(--laranja); display: grid; place-items: center; }
  .faixa .icone svg { width: 22px; height: 22px; }
  .faixa strong { display: block; font-size: 1.02rem; }
  .faixa span { color: var(--suave); font-size: 0.95rem; }

  /* Passos */
  ol.passos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; counter-reset: passo; }
  ol.passos li { counter-increment: passo; position: relative; background: var(--branco); border: 1px solid var(--linha); border-radius: 18px; padding: 1.6rem 1.4rem 1.5rem; transition: transform .2s ease, box-shadow .2s ease; }
  ol.passos li:hover { transform: translateY(-4px); box-shadow: 0 18px 36px -24px rgba(29,52,84,0.45); }
  ol.passos li::before { content: counter(passo, decimal-leading-zero); display: inline-grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--laranja); color: var(--navy-escuro); font-weight: 800; font-size: 1.05rem; margin-bottom: 1.1rem; }
  ol.passos strong { display: block; font-size: 1.12rem; margin-bottom: 0.4rem; }
  ol.passos p { font-size: 0.96rem; color: var(--suave); margin: 0; }

  /* O que faz */
  .o-que-faz { background: var(--navy); color: var(--branco); }
  .o-que-faz .rotulo { color: var(--laranja); }
  .o-que-faz .intro { color: var(--texto-claro); }
  .duas { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
  .cartao { border-radius: 20px; padding: 2rem; }
  .cartao.claro { background: var(--branco); color: var(--tinta); }
  .cartao.contorno-claro { border: 1.5px solid rgba(255,255,255,0.2); }
  .cartao h3 { font-size: 1.3rem; margin: 0 0 1.2rem; }
  .cartao ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.8rem; }
  .cartao li { display: flex; gap: 0.7rem; align-items: flex-start; }
  .cartao li svg { width: 22px; height: 22px; flex: none; margin-top: 2px; }
  .cartao.claro li svg { color: #1B7F4B; }
  .cartao.contorno-claro li svg { color: var(--laranja); }
  .cartao.contorno-claro p { color: var(--texto-claro); margin: 1.3rem 0 0; font-size: 0.97rem; }
  .transparencia { margin-top: 1.5rem; display: flex; gap: 1rem; align-items: flex-start; background: rgba(254,155,0,0.1); border: 1px solid rgba(254,155,0,0.35); border-radius: 16px; padding: 1.3rem 1.5rem; }
  .transparencia svg { width: 28px; height: 28px; color: var(--laranja); flex: none; }
  .transparencia h3 { margin: 0 0 0.25rem; font-size: 1.1rem; }
  .transparencia p { margin: 0; color: var(--texto-claro); }

  /* Piloto */
  .piloto { padding-block: 5rem; }
  .piloto-caixa { position: relative; overflow: hidden; background: var(--laranja); color: var(--navy-escuro); border-radius: 28px; padding: clamp(2rem, 5vw, 3.5rem); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: center; }
  .piloto-caixa::after { content: ""; position: absolute; right: -60px; bottom: -80px; width: 240px; height: 240px; border-radius: 50%; border: 36px solid rgba(29,52,84,0.08); }
  .piloto-caixa h2 { margin-bottom: 0.7rem; }
  .piloto-caixa p { font-size: 1.12rem; max-width: 56ch; margin: 0; }
  .piloto-caixa .botao { position: relative; z-index: 1; }

  /* Contato */
  .contato-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .contato-item { background: var(--branco); border: 1px solid var(--linha); border-radius: 16px; padding: 1.3rem 1.4rem; display: flex; gap: 1rem; align-items: flex-start; }
  .contato-item .icone { flex: none; width: 42px; height: 42px; border-radius: 12px; background: #FFF1DA; color: #9A5C00; display: grid; place-items: center; }
  .contato-item .icone svg { width: 20px; height: 20px; }
  .contato-item dt { font-weight: 700; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--suave); margin-bottom: 0.2rem; }
  .contato-item dd { margin: 0; overflow-wrap: anywhere; }

  /* Política */
  .politica { background: var(--branco); border-top: 1px solid var(--linha); }
  .politica .texto { max-width: 76ch; }
  .politica h3 { font-size: 1.15rem; margin: 2rem 0 0.5rem; }
  .politica ul { padding-left: 1.2rem; margin: 0 0 1rem; }
  .politica li { margin-bottom: 0.45rem; }
  .atualizacao { color: var(--suave); font-size: 0.95rem; }

  /* Rodapé */
  .rodape { background: var(--navy-escuro); color: var(--texto-claro); padding-block: 3rem; font-size: 0.95rem; }
  .rodape .contorno { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.5rem 2.5rem; align-items: start; }
  .rodape img { width: 64px; height: 64px; }
  .rodape p { margin: 0 0 0.35rem; }
  .rodape strong { color: var(--branco); }
  .rodape a { color: var(--laranja); }

  /* Animação de entrada */
  .js .surgir { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
  .js .surgir.visivel { opacity: 1; transform: none; }

  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
    .js .surgir, .js .conversa .msg, .js .conversa .digitando { opacity: 1; transform: none; }
  }

  @media (max-width: 920px) {
    .heroi .contorno { grid-template-columns: 1fr; gap: 3rem; padding-block: 3.5rem 4rem; }
    .celular { transform: none; }
    ol.passos { grid-template-columns: 1fr 1fr; }
    .faixa ul { grid-template-columns: 1fr; }
    .duas { grid-template-columns: 1fr; }
    .piloto-caixa { grid-template-columns: 1fr; }
  }
  @media (max-width: 600px) {
    section { padding-block: 4rem; }
    .topo nav ul { gap: 0.2rem 1rem; }
    .topo nav li.opcional { display: none; }
    ol.passos { grid-template-columns: 1fr; }
    .contato-grade { grid-template-columns: 1fr; }
    .rodape .contorno { grid-template-columns: 1fr; }
    .acoes .botao { width: 100%; justify-content: center; }
  }

  /* Aviso de pré-lançamento */
  .aviso { background: var(--navy-escuro); color: var(--texto-claro); font-size: 0.9rem; text-align: center; padding: 0.55rem 1.25rem; }
  .aviso strong { color: var(--laranja); }
  .aviso a { color: var(--branco); }
  /* Página de privacidade */
  .pagina-topo { background: var(--navy); color: var(--branco); padding-block: 3.5rem 3rem; }
  .pagina-topo h1 { font-size: clamp(2rem, 4.4vw, 3rem); font-weight: 800; margin: 0 0 0.6rem; }
  .pagina-topo p { color: var(--texto-claro); margin: 0; }
  .pagina-topo .voltar { display: inline-block; color: var(--laranja); text-decoration: none; font-weight: 600; margin-bottom: 1.2rem; }
  .pagina-topo .voltar:hover { text-decoration: underline; }
  .politica.so { border-top: 0; padding-top: 3rem; }
  .politica.so .texto { max-width: none; }
  .politica.so .texto > * { max-width: 76ch; }
  .contato-grade .contato-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
