/* HX Digital — hxdevsoft.com.br. Fonte: só a do sistema (nada carregado de fora). */

/* ===================== TOKENS ===================== */
:root{
  color-scheme: light dark;
  --bg:#FFFFFF; --bg-2:#F7F8FA; --ink:#111827; --ink-2:#4B5563; --ink-3:#646B78; --line:#E5E7EB;
  --brand:#17335A; --brand-ink:#17335A; --brand-soft:#EEF2F8; --brand-soft-2:#DCE5F1;
  --cta:#17335A; --cta-ink:#FFFFFF; --card:#FFFFFF; --foot:#F7F8FA;
  --shadow:0 1px 2px rgba(17,24,39,.06),0 10px 28px rgba(17,24,39,.08);
  --shadow-lg:0 2px 4px rgba(17,24,39,.08),0 30px 60px rgba(17,24,39,.20);
  --halo-1:#D6E1EF; --halo-2:#E8EEF6; --band:#17335A; --band-2:#1F4373;
  --phone:#111827; --phone-edge:transparent; --topo:rgba(255,255,255,.86);
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0D121B; --bg-2:#121925; --ink:#F3F4F6; --ink-2:#B4BCC8; --ink-3:#97A1B0; --line:#243042;
    --brand:#17335A; --brand-ink:#A9C3EA; --brand-soft:#16233A; --brand-soft-2:#1F3456;
    --cta:#2F5E9E; --cta-ink:#FFFFFF; --card:#141B27; --foot:#0A0F17;
    --shadow:0 1px 2px rgba(0,0,0,.45),0 10px 28px rgba(0,0,0,.35);
    --shadow-lg:0 2px 4px rgba(0,0,0,.5),0 30px 60px rgba(0,0,0,.55);
    --halo-1:transparent; --halo-2:transparent; --band:#15315A; --band-2:#1F4373;
    --phone:#05070B; --phone-edge:rgba(255,255,255,.14); --topo:rgba(13,18,27,.86);
  }
}

/* ===================== BASE ===================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--foot)}
img,svg{max-width:100%}
::selection{background:var(--brand-soft-2);color:var(--ink)}
@media (prefers-reduced-motion: no-preference){ html{scroll-behavior:smooth} }

/* ===================== PÁGINA ===================== */
body{margin:0;overflow-x:hidden;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--gut:clamp(16px,5vw,40px);
  background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5}
*{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit}
:focus-visible{outline:3px solid var(--brand-ink);outline-offset:3px;border-radius:6px}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px))}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}

/* botoes */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 28px;border-radius:14px;border:0;cursor:pointer;
  background:var(--cta);color:var(--cta-ink) !important;text-decoration:none;font:600 17px/1.2 var(--sans);
  box-shadow:0 1px 2px rgba(17,24,39,.10),0 8px 22px rgba(17,24,39,.16)}
.btn svg{width:18px;height:18px;flex:none}
.btn--sm{min-height:40px;padding:0 16px;border-radius:10px;font-size:14.5px;box-shadow:none}
.btn--claro{background:#FFFFFF;color:#17335A !important;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.btn--contorno{background:transparent;color:var(--ink) !important;box-shadow:inset 0 0 0 1.5px var(--line)}
@media (prefers-reduced-motion: no-preference){
  .btn{transition:transform .15s ease,box-shadow .15s ease}
  .btn:hover{transform:translateY(-1px)}
}
.link{font-weight:600;text-decoration:none;font-size:16px}
.link:hover{text-decoration:underline;text-underline-offset:4px}

/* topo */
.topo{position:sticky;top:0;z-index:50;background:var(--topo);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--line)}
.topo-in{height:68px;display:flex;align-items:center;gap:12px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:700;font-size:18px;letter-spacing:-.01em;min-width:0}
.logo svg{width:34px;height:34px;flex:none;border-radius:8px;box-shadow:0 0 0 1px var(--phone-edge)}
.links{margin-left:auto;display:flex;gap:32px;font-size:15px;font-weight:500}
.links a{color:var(--ink-2);text-decoration:none}
.links a:hover{color:var(--ink)}
.topo .btn--sm{margin-left:28px}
@media (max-width:900px){ .links{display:none} .topo .btn--sm{margin-left:auto} }

/* heroi */
.heroi{padding:72px 0 88px;overflow:hidden}
.heroi-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:40px;align-items:center}
.heroi-texto{min-width:0}
.pilula{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 14px;border-radius:999px;background:var(--brand-soft);
  color:var(--brand-ink);font-size:14px;font-weight:600}
.pilula i{width:8px;height:8px;border-radius:50%;background:currentColor}
.heroi h1{margin-top:24px;font-size:clamp(38px,4.6vw,62px);line-height:1.04;font-weight:800;letter-spacing:-.03em}
.sub{margin-top:24px;font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--ink-2);max-width:540px}
.acoes{margin-top:36px;display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.checks{margin-top:36px;display:flex;flex-wrap:wrap;gap:12px 26px;font-size:14px;color:var(--ink-2)}
.checks li{display:flex;align-items:center;gap:8px}
.checks svg{width:18px;height:18px;flex:none}
.ok-fundo{fill:var(--brand-soft)} .ok-traco{stroke:var(--brand-ink)}

.palco{position:relative;height:680px;min-width:0}
.halo{position:absolute;left:50%;top:50%;width:680px;height:680px;margin:-340px 0 0 -340px;border-radius:50%;
  background:radial-gradient(closest-side,var(--halo-1) 0%,var(--halo-2) 52%,transparent 100%)}
.palco .cel{position:absolute;left:50%;top:26px;margin-left:-150px}
.ficha{position:absolute;display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;border-radius:16px;background:var(--card);
  box-shadow:var(--shadow);border:1px solid var(--line);z-index:2}
.ficha .ic{width:38px;height:38px;border-radius:11px;background:var(--brand-soft);display:grid;place-items:center;flex:none;color:var(--brand-ink)}
.ficha .ic svg{width:20px;height:20px}
.ficha b{display:block;font-size:14px;font-weight:700;line-height:1.25}
.ficha small{display:block;font-size:12.5px;color:var(--ink-3);margin-top:2px}
.f1{left:-8px;top:190px}
.f2{right:-8px;bottom:96px}

/* celular (tela do app sempre clara: e uma imagem do app) */
.cel{width:300px;height:628px;border-radius:46px;background:var(--phone);padding:10px;box-shadow:var(--shadow-lg),0 0 0 1px var(--phone-edge);z-index:1}
.tela{position:relative;width:100%;height:100%;border-radius:37px;overflow:hidden;background:#F8F9FB;color:#111827;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
picture{display:contents}
.print{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.mini .print{border-radius:23px 23px 0 0}
.camera{position:absolute;left:50%;top:9px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#111827}

/* secoes */
.sec{padding:104px 0}
.sec--tom{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cab{max-width:720px}
.cab--centro{margin:0 auto;text-align:center}
.sobre{font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-ink)}
.cab h2,.relat h2,.contato h2{margin-top:12px;font-size:clamp(30px,3.4vw,44px);line-height:1.1;font-weight:800;letter-spacing:-.025em}
.cab > p:last-child{margin-top:16px;font-size:18px;color:var(--ink-2)}

/* como funciona */
.passos{margin-top:56px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:p}
.passo{min-width:0;display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--line);border-radius:24px;padding:26px 22px 0;overflow:hidden}
.num{width:32px;height:32px;border-radius:50%;background:var(--cta);color:var(--cta-ink);display:grid;place-items:center;font-weight:700;font-size:15px}
.passo h3{margin-top:18px;font-size:20px;line-height:1.25;font-weight:700;letter-spacing:-.015em}
.passo p{margin-top:8px;font-size:15px;line-height:1.55;color:var(--ink-2)}
.mini{margin:24px auto 0;width:100%;max-width:236px;height:262px;border-radius:30px 30px 0 0;background:var(--phone);padding:8px 8px 0;margin-top:auto;
  box-shadow:0 0 0 1px var(--phone-edge)}
.passo p + .mini{margin-top:24px}
.passo--bonus{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px 24px;align-items:center;padding:24px 28px}
.passo--bonus h3{margin-top:0}
.passo--bonus .checks{margin-top:0}

/* recursos */
.recursos{margin-top:56px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 32px}
.rec{min-width:0;display:grid;align-content:start;grid-template-columns:28px minmax(0,1fr);column-gap:14px;align-items:start;border-top:1px solid var(--line);padding-top:22px}
.rec .ic{grid-row:span 2;color:var(--brand-ink);display:block;padding-top:1px}
.rec .ic svg{display:block;width:26px;height:26px}
.rec h3{font-size:18px;line-height:1.3;font-weight:700;letter-spacing:-.01em}
.rec p{margin-top:6px;font-size:15px;line-height:1.55;color:var(--ink-2)}

/* relatorio pronto */
.relat{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center}
.relat-texto{min-width:0}
.relat-texto > p{margin-top:16px;font-size:18px;color:var(--ink-2);max-width:500px}
.lista{margin-top:28px;display:grid;gap:14px}
.lista li{display:flex;gap:12px;font-size:16px;line-height:1.45}
.lista svg{width:22px;height:22px;flex:none;margin-top:1px}
.cena-relat{position:relative;min-width:0;height:640px}
.a4{position:absolute;width:56%;height:auto;background:#fff;border-radius:4px;
  box-shadow:var(--shadow-lg)}
.a4--mapa{right:0;top:0}
.a4--fotos{left:0;bottom:0}

/* chamada final */
.banda{border-radius:28px;background:linear-gradient(135deg,var(--band) 0%,var(--band-2) 100%);color:#fff;padding:72px 40px;text-align:center;position:relative;overflow:hidden}
.banda .pilula{background:rgba(255,255,255,.12);color:#fff}
.banda h2{margin:22px auto 0;max-width:720px;font-size:clamp(30px,3.6vw,46px);line-height:1.1;font-weight:800;letter-spacing:-.025em}
.banda p{margin:16px auto 0;max-width:560px;font-size:18px;color:rgba(255,255,255,.82)}
.banda .btn{margin-top:32px}
.banda :focus-visible{outline-color:#fff}
.banda svg.deco{position:absolute;right:-60px;top:-60px;width:320px;height:320px;opacity:.10}

/* contato */
.contato{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.contato > div:first-child > p{margin-top:14px;font-size:18px;color:var(--ink-2);max-width:460px}
.cartao-email{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:var(--shadow);min-width:0}
.cartao-email small{display:block;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.email{display:inline-block;margin-top:10px;font-size:clamp(20px,2.4vw,28px);font-weight:700;letter-spacing:-.015em;color:var(--brand-ink) !important;
  text-decoration:none;overflow-wrap:anywhere}
.email:hover{text-decoration:underline;text-underline-offset:5px}
.cartao-email .acoes{margin-top:24px;gap:12px}
.cartao-email .btn{min-height:48px;padding:0 20px;font-size:15.5px;border-radius:12px}
.aviso{margin-top:14px;min-height:1.5em;font-size:14.5px;color:var(--ink-2)}

/* rodape */
.rodape{background:var(--foot);border-top:1px solid var(--line);padding:56px 0 40px;color:var(--ink-2);font-size:14.5px}
.rod-topo{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:flex-start}
.rod-topo .logo{color:var(--ink)}
.rod-topo p{margin-top:12px;max-width:360px}
.legal{display:grid;gap:6px;text-align:right}
.legal b{color:var(--ink);font-weight:600;font-size:13.5px;letter-spacing:.01em}
.legal a{color:var(--ink-2)}
.rod-base{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px}

/* responsivo */
@media (max-width:1100px){
  .passos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recursos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .heroi{padding:48px 0 64px}
  .heroi-grid{grid-template-columns:minmax(0,1fr);gap:24px}
  .palco{height:680px;max-width:440px;width:100%;margin:0 auto}
  .relat{grid-template-columns:minmax(0,1fr);gap:40px}
  .cena-relat{height:auto;display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:560px;margin:0 auto}
  .a4{grid-area:1/1;position:relative;width:72%}
  .a4--mapa{justify-self:end}
  .a4--fotos{justify-self:start;margin-top:30%}
  .contato{grid-template-columns:minmax(0,1fr);gap:28px}
  .legal{text-align:left}
  .passo--bonus{grid-template-columns:auto minmax(0,1fr)}
  .passo--bonus .checks{grid-column:2}
}
@media (max-width:640px){
  .sec{padding:72px 0}
  .passos{grid-template-columns:minmax(0,1fr);margin-top:36px}
  .passo--bonus{grid-template-columns:minmax(0,1fr);justify-items:start;padding:26px 22px}
  .passo--bonus .checks{grid-column:1}
  .recursos{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:36px}
  .rec h3{font-size:17px}
  .acoes .btn{width:100%}
  .heroi .acoes{gap:18px}
  .heroi .link{margin:0 auto}
  .palco{height:660px}
  .f1{left:0;top:150px}
  .f2{right:0;bottom:56px}
  .ficha{padding:10px 12px 10px 10px}
  .banda{padding:56px 22px;border-radius:24px}
  .cartao-email{padding:24px 20px}
  .cartao-email .btn{flex:1 1 auto}
}
