/* ============================================================
   régua.io · /sistema/
   Página de venda do sistema de gestão com agentes de IA.
   Arquivo próprio: não depende nem altera o estilo.css do site.
   ============================================================ */

:root{
  --bg:#0B0D0F;
  --bg2:#101317;
  --card:rgba(255,255,255,.045);
  --card2:rgba(255,255,255,.07);
  --linha:rgba(255,255,255,.09);
  --linha2:rgba(255,255,255,.16);
  --txt:#F4F6F8;
  --txt2:#C9D0D8;
  --txt3:#8E98A3;
  --accent:#B8D94A;
  --accent2:#8FD14F;
  --ink:#10160A;
  --roxo:#7C5CFF;
  --teal:#2BB5A0;
  --max:1460px;
  --mono:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --ease:cubic-bezier(.16,1,.3,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  background:var(--bg);
  color:var(--txt);
  font-family:'Sora', system-ui, sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img, video{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
b, strong{ font-weight:700; }
.wrap{ width:100%; max-width:var(--max); margin:0 auto; padding:0 clamp(16px, 3vw, 40px); }
@media(max-width:600px){ .wrap{ padding:0 16px; } }

.pular{ position:absolute; left:-9999px; top:8px; z-index:200; padding:10px 14px; border-radius:8px; background:var(--accent); color:var(--ink); font-weight:700; }
.pular:focus{ left:8px; }
:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:6px; }

.grad{
  background:linear-gradient(100deg, #D7F27A 0%, var(--accent) 35%, #6FE0C3 75%, #9B86FF 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ---------- céu: luzes que se movem devagar + grade ---------- */
.ceu{ position:fixed; inset:0; z-index:-1; overflow:hidden; background:radial-gradient(120% 70% at 50% -10%, #151a1f 0%, var(--bg) 60%); }
.luz{ position:absolute; border-radius:50%; filter:blur(110px); opacity:.55; will-change:transform; }
.l1{ width:620px; height:620px; left:-160px; top:-120px; background:rgba(184,217,74,.22); animation:flutua1 22s ease-in-out infinite alternate; }
.l2{ width:700px; height:700px; right:-220px; top:18vh; background:rgba(124,92,255,.20); animation:flutua2 26s ease-in-out infinite alternate; }
.l3{ width:520px; height:520px; left:30%; top:62vh; background:rgba(43,181,160,.13); animation:flutua1 30s ease-in-out infinite alternate-reverse; }
@keyframes flutua1{ to{ transform:translate(120px, 80px) scale(1.12); } }
@keyframes flutua2{ to{ transform:translate(-140px, 60px) scale(.92); } }
.grade{
  position:absolute; inset:-60px 0 0; opacity:.05;
  background-image:linear-gradient(#fff 1px, transparent 1px), linear-gradient(90deg, #fff 1px, transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(80% 60% at 50% 20%, #000 30%, transparent 75%);
  mask-image:radial-gradient(80% 60% at 50% 20%, #000 30%, transparent 75%);
  animation:grade 18s linear infinite;
}
@keyframes grade{ to{ transform:translateY(56px); } }

/* ---------- botões ---------- */
.btn{
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:13px 22px; border-radius:12px;
  font-weight:700; font-size:15px; letter-spacing:-.01em; white-space:nowrap;
  transition:transform .25s var(--ease), box-shadow .25s ease, background-color .2s ease, border-color .2s ease;
}
.btn svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; transition:transform .25s var(--ease); }
.btn:hover svg{ transform:translateX(3px); }
.btn-p{ background:var(--accent); color:var(--ink); box-shadow:0 14px 40px -14px rgba(184,217,74,.75), inset 0 1px 0 rgba(255,255,255,.4); }
.btn-p:hover{ background:#C7E65C; transform:translateY(-2px); box-shadow:0 20px 50px -14px rgba(184,217,74,.9), inset 0 1px 0 rgba(255,255,255,.4); }
.btn-g{ border:1px solid var(--linha2); background:rgba(255,255,255,.04); color:var(--txt); backdrop-filter:blur(8px); }
.btn-g:hover{ border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.08); }
.btn-sm{ padding:9px 16px; font-size:14px; border-radius:10px; }
.btn-lg{ padding:16px 26px; font-size:16px; border-radius:14px; }
.btn-xl{ padding:20px 34px; font-size:18px; border-radius:16px; }
.brilho{ position:absolute; top:0; bottom:0; left:-40%; width:30%; background:linear-gradient(100deg, transparent, rgba(255,255,255,.7), transparent); transform:skewX(-20deg); animation:brilho 3.2s ease-in-out infinite; pointer-events:none; }
@keyframes brilho{ 0%, 55%{ left:-40%; } 100%{ left:130%; } }

/* ---------- topo ---------- */
.topo{
  position:sticky; top:0; z-index:50;
  border-bottom:1px solid transparent;
  transition:background-color .3s ease, border-color .3s ease, backdrop-filter .3s ease;
}
.topo.rolou{ background:rgba(11,13,15,.72); backdrop-filter:saturate(160%) blur(16px); -webkit-backdrop-filter:saturate(160%) blur(16px); border-bottom-color:var(--linha); }
.topo-in{ display:flex; align-items:center; gap:24px; height:72px; }
.marca img{ height:30px; width:auto; }
.menu{ display:none; margin-left:auto; gap:4px; }
.menu a{ padding:8px 13px; border-radius:8px; font-size:14px; font-weight:500; color:var(--txt2); transition:color .2s, background-color .2s; }
.menu a:hover{ color:#fff; background:rgba(255,255,255,.07); }
.topo .btn{ margin-left:auto; }
@media(min-width:900px){ .menu{ display:flex; } .topo .btn{ margin-left:8px; } }

/* ---------- hero ---------- */
.hero{ padding:56px 0 40px; }
.hero-in{ display:grid; gap:56px; align-items:center; }
@media(min-width:1020px){ .hero{ padding:72px 0 64px; } .hero-in{ grid-template-columns:1fr 1.2fr; gap:56px; } }
@media(min-width:1500px){ .hero h1{ font-size:4.8rem; } .lead{ max-width:600px; } }
.selo-ia{
  display:inline-flex; align-items:center; gap:10px;
  padding:7px 14px 7px 12px; border-radius:99px;
  border:1px solid rgba(184,217,74,.45); background:rgba(184,217,74,.10);
  font-family:var(--mono); font-size:12.5px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--accent);
}
.pulso{ position:relative; width:8px; height:8px; border-radius:50%; background:var(--accent); }
.pulso::after{ content:''; position:absolute; inset:-5px; border-radius:50%; border:2px solid var(--accent); animation:pulso 1.8s ease-out infinite; }
@keyframes pulso{ from{ transform:scale(.4); opacity:1; } to{ transform:scale(1.6); opacity:0; } }
.hero h1{ margin-top:22px; font-size:clamp(2.4rem, 5.6vw, 4.3rem); font-weight:800; line-height:1.02; letter-spacing:-.045em; }
.lead{ margin-top:22px; max-width:540px; font-size:clamp(1.02rem, 1.4vw, 1.18rem); line-height:1.6; color:var(--txt2); }
.lead b{ color:var(--txt); }
.hero-acoes{ display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.hero-preco{ margin-top:18px; font-size:14.5px; color:var(--txt3); }
.hero-preco b{ color:var(--accent); font-weight:700; }
.hero-fatos{ display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:20px; list-style:none; font-size:14px; color:var(--txt2); }
.hero-fatos li{ display:flex; align-items:center; gap:8px; }
.hero-fatos svg{ width:18px; height:18px; padding:3px; border-radius:50%; background:rgba(184,217,74,.16); fill:none; stroke:var(--accent); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
@media(max-width:600px){ .hero-acoes .btn{ flex:1 1 100%; } }

/* palco do monitor */
.hero-palco{ position:relative; perspective:1600px; padding:20px 0 40px; }
.monitor{
  position:relative;
  border-radius:18px; padding:10px;
  background:linear-gradient(180deg, #2a2f35, #15181b);
  border:1px solid #39404a;
  box-shadow:0 0 120px -20px rgba(184,217,74,.35), 0 50px 100px -30px rgba(0,0,0,.95), inset 0 1px 0 rgba(255,255,255,.08);
  transform:rotateY(-11deg) rotateX(5deg);
  transform-style:preserve-3d;
  transition:transform .6s var(--ease);
  will-change:transform;
}
@media(max-width:1019px){ .monitor{ transform:rotateX(4deg); } }
.nav-barra{ display:flex; align-items:center; gap:10px; padding:4px 6px 10px; }
.bolas{ display:flex; gap:6px; }
.bolas i{ width:10px; height:10px; border-radius:50%; background:#3b4148; }
.bolas i:first-child{ background:#ff5f57; } .bolas i:nth-child(2){ background:#febc2e; } .bolas i:nth-child(3){ background:#28c840; }
.url{
  flex:1; display:flex; align-items:center; gap:7px; max-width:340px; margin:0 auto;
  padding:5px 12px; border-radius:8px; background:rgba(255,255,255,.06);
  font-family:var(--mono); font-size:12px; color:var(--txt2); overflow:hidden; white-space:nowrap;
}
.url svg{ flex:none; width:13px; height:13px; fill:none; stroke:var(--accent); stroke-width:2.2; }
.tela{ position:relative; aspect-ratio:16/10; border-radius:9px; overflow:hidden; background:#f6f7f4; }
.tela img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top left; opacity:0; transform:scale(1.04); transition:opacity .9s ease, transform 6s ease-out; }
.tela img.ativa{ opacity:1; transform:scale(1); }
.tela::after{ content:''; position:absolute; inset:0; background:linear-gradient(118deg, rgba(255,255,255,.12), transparent 30%); pointer-events:none; z-index:3; }
.varredura{ position:absolute; top:0; bottom:0; left:-40%; width:28%; z-index:4; background:linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent); transform:skewX(-18deg); pointer-events:none; opacity:0; }
.varredura.vai{ animation:varre .9s ease-out; }
@keyframes varre{ from{ left:-40%; opacity:1; } to{ left:130%; opacity:1; } }
.reflexo-chao{ position:absolute; left:8%; right:8%; bottom:0; height:60px; background:radial-gradient(50% 50% at 50% 50%, rgba(184,217,74,.22), transparent 70%); filter:blur(14px); pointer-events:none; }

.flut{
  position:absolute; z-index:5;
  display:flex; align-items:center; gap:12px;
  padding:11px 16px 11px 11px; border-radius:16px;
  background:rgba(14,17,20,.82); border:1px solid rgba(184,217,74,.32);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  box-shadow:0 20px 40px -14px rgba(0,0,0,.9);
  animation:boia 6s ease-in-out infinite;
}
.flut b{ display:block; font-size:14px; letter-spacing:-.01em; }
.flut small{ display:block; font-size:12px; color:var(--txt3); }
.ico{ flex:none; display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:rgba(124,92,255,.22); font-size:19px; }
.ico-v{ background:rgba(184,217,74,.18); }
.f1{ left:-14px; top:14%; animation-delay:-1s; }
.f2{ right:-10px; top:-2px; animation-delay:-3s; border-color:rgba(124,92,255,.45); }
.f3{ right:4%; bottom:4px; animation-delay:-4.5s; }
@keyframes boia{ 0%, 100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }
@media(max-width:600px){
  .flut{ padding:8px 12px 8px 8px; gap:9px; border-radius:13px; }
  .flut b{ font-size:12px; } .flut small{ font-size:10.5px; }
  .ico{ width:30px; height:30px; font-size:15px; border-radius:9px; }
  .f1{ left:-4px; top:auto; bottom:22%; } .f2{ right:-4px; top:0; } .f3{ display:none; }
}

/* ---------- faixa que corre ---------- */
.faixa{ position:relative; overflow:hidden; padding:18px 0; border-block:1px solid var(--linha); background:rgba(255,255,255,.02); -webkit-mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.faixa-trilho{ display:flex; align-items:center; gap:28px; width:max-content; animation:corre 38s linear infinite; }
.faixa span{ font-family:var(--mono); font-size:14px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--txt2); white-space:nowrap; }
.faixa i{ font-style:normal; color:var(--accent); }
@keyframes corre{ to{ transform:translateX(-50%); } }

/* ---------- números ---------- */
.numeros{ display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; padding-top:72px; }
@media(min-width:860px){ .numeros{ grid-template-columns:repeat(4, 1fr); } }
.num{ padding:24px 22px; border-radius:20px; border:1px solid var(--linha); background:var(--card); }
.num b{ display:block; font-size:clamp(2.4rem, 4.6vw, 3.4rem); font-weight:800; letter-spacing:-.05em; line-height:1; background:linear-gradient(180deg, #fff, #b9c1ca); -webkit-background-clip:text; background-clip:text; color:transparent; }
.num span{ display:block; margin-top:10px; font-size:14px; color:var(--txt3); line-height:1.45; }

/* ---------- seções ---------- */
.secao{ padding-top:clamp(88px, 11vw, 140px); }
.sec-cab{ max-width:880px; margin:0 auto 48px; text-align:center; }
.eyebrow{ font-family:var(--mono); font-size:13px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); }
.sec-cab h2, .video-txt h2, .final h2{ margin-top:14px; font-size:clamp(2rem, 4.2vw, 3.25rem); font-weight:800; line-height:1.06; letter-spacing:-.04em; }
.sec-sub{ margin-top:18px; font-size:clamp(1rem, 1.3vw, 1.1rem); line-height:1.65; color:var(--txt2); }

/* antes / depois */
.comparar{ max-width:980px; margin:0 auto; border-radius:22px; border:1px solid var(--linha); background:var(--card); overflow:hidden; }
.cmp-linha{ display:grid; grid-template-columns:1fr 1.3fr 1.6fr; gap:16px; align-items:center; padding:18px 24px; border-top:1px solid var(--linha); font-size:15px; }
.cmp-linha > span:first-child{ font-weight:700; }
.cmp-cab{ border-top:0; background:rgba(255,255,255,.03); font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--txt3); }
.cmp-cab > span:first-child{ font-weight:500; }
.cmp-cab > span:last-child{ color:var(--accent); }
.antes{ color:var(--txt3); display:flex; gap:10px; align-items:baseline; }
.antes::before{ content:'✕'; flex:none; color:#ff6b6b; font-weight:700; }
.depois{ display:flex; gap:10px; align-items:baseline; color:var(--txt); }
.depois::before{ content:'✓'; flex:none; color:var(--accent); font-weight:800; }
.cmp-linha:not(.cmp-cab):hover{ background:rgba(184,217,74,.04); }
@media(max-width:700px){
  .cmp-cab{ display:none; }
  .cmp-linha{ grid-template-columns:1fr; gap:6px; padding:16px 18px; }
  .cmp-linha:nth-child(2){ border-top:0; }
  .cmp-linha > span:first-child{ font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); font-weight:500; }
}

/* ---------- tour do sistema ---------- */
.tour{ border-radius:26px; border:1px solid var(--linha); background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)); padding:14px; box-shadow:0 40px 100px -40px rgba(0,0,0,.8); }
.tour-abas{ display:grid; grid-template-columns:repeat(5, 1fr); gap:6px; } /* 9 áreas: 2 linhas */
.tour-abas button{
  position:relative; overflow:hidden;
  display:flex; align-items:center; gap:9px; padding:12px 10px; border-radius:14px; text-align:left;
  border:1px solid transparent; color:var(--txt3);
  transition:background-color .2s, border-color .2s, color .2s;
}
.tour-abas button:hover{ background:rgba(255,255,255,.04); color:var(--txt2); }
.tour-abas button[aria-selected="true"]{ background:rgba(184,217,74,.10); border-color:rgba(184,217,74,.35); color:var(--txt); }
.ab-ico{ flex:none; display:grid; place-items:center; width:32px; height:32px; border-radius:10px; background:rgba(255,255,255,.06); font-size:18px; }
.ab-txt b{ display:block; font-size:14px; line-height:1.2; white-space:nowrap; }
.ab-txt small{ display:block; font-size:11.5px; color:var(--txt3); }
.ab-barra{ position:absolute; left:12px; right:12px; bottom:5px; height:3px; border-radius:3px; background:rgba(255,255,255,.06); overflow:hidden; opacity:0; }
.ab-barra i{ display:block; height:100%; width:0; background:var(--accent); }
.tour-abas button[aria-selected="true"] .ab-barra{ opacity:1; }
@media(max-width:1020px){
  .tour-abas{ display:flex; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; }
  .tour-abas::-webkit-scrollbar{ display:none; }
  .tour-abas button{ flex:none; scroll-snap-align:start; }
}
.tour-corpo{ display:grid; gap:28px; padding:28px 14px 14px; align-items:center; }
@media(min-width:1020px){ .tour-corpo{ grid-template-columns:.72fr 1.6fr; gap:40px; padding:32px 22px 18px; } }
@media(max-width:1019px){ .tour-tela{ order:-1; } .tour-corpo{ padding:20px 2px 6px; gap:22px; } }
.tour-tag{ font-family:var(--mono); font-size:12.5px; letter-spacing:.12em; color:var(--accent); }
.tour-info h3{ margin-top:12px; font-size:clamp(1.6rem, 2.6vw, 2.1rem); font-weight:800; letter-spacing:-.035em; line-height:1.1; }
.tour-desc{ margin-top:14px; color:var(--txt2); line-height:1.6; }
.tour-lista{ display:grid; gap:10px; margin-top:22px; list-style:none; }
.tour-lista li{ display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:13px; border:1px solid var(--linha); background:rgba(0,0,0,.2); font-size:14.5px; font-weight:600; animation:entra .5s var(--ease) both; }
.tour-lista li::before{ content:'✓'; flex:none; display:grid; place-items:center; width:26px; height:26px; border-radius:8px; background:var(--accent); color:var(--ink); font-weight:800; font-size:13px; }
.tour-lista li:nth-child(2){ animation-delay:.07s; } .tour-lista li:nth-child(3){ animation-delay:.14s; }
@keyframes entra{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
.tour-info.troca h3, .tour-info.troca .tour-desc{ animation:entra .5s var(--ease) both; }
.tour-ia{ display:inline-flex; margin-top:18px; padding:7px 14px; border-radius:99px; background:linear-gradient(135deg, var(--accent), var(--accent2)); color:var(--ink); font-size:13px; font-weight:800; box-shadow:0 10px 30px -10px rgba(184,217,74,.8); }
.tour-ia[hidden]{ display:none; }
.janela{ border-radius:16px; padding:8px; background:linear-gradient(180deg, #252a30, #15181b); border:1px solid #363d46; box-shadow:0 0 100px -30px rgba(184,217,74,.3), 0 30px 70px -30px rgba(0,0,0,.9); }
.tour-nota{ margin-top:12px; font-size:12px; color:var(--txt3); text-align:right; }
.mais-modulos{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; margin-top:28px; font-size:14px; color:var(--txt3); }
.mais-modulos b{ padding:8px 14px; border-radius:99px; border:1px solid var(--linha); background:var(--card); font-weight:600; color:var(--txt2); }

/* ---------- agentes ---------- */
.equipe{ display:grid; gap:14px; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); }
@media(max-width:600px){ .equipe{ grid-template-columns:1fr; } }
.ag{
  position:relative; overflow:hidden;
  display:flex; gap:16px; padding:20px; border-radius:20px;
  border:1px solid var(--linha); background:var(--card);
  transition:transform .3s var(--ease), border-color .3s, background-color .3s;
}
.ag::before{ content:''; position:absolute; inset:0; background:radial-gradient(240px 160px at var(--mx, 30%) var(--my, 0%), color-mix(in srgb, var(--c) 20%, transparent), transparent 70%); opacity:0; transition:opacity .3s; pointer-events:none; }
.ag:hover{ transform:translateY(-4px); border-color:color-mix(in srgb, var(--c) 55%, transparent); }
.ag:hover::before{ opacity:1; }
.ag-dir{ background:linear-gradient(135deg, color-mix(in srgb, var(--c) 12%, transparent), rgba(255,255,255,.03)); border-color:color-mix(in srgb, var(--c) 35%, transparent); }
.av{
  position:relative; flex:none; display:grid; place-items:center;
  width:64px; height:64px; border-radius:18px;
  background:#15191d; border:2px solid var(--c);
  transition:box-shadow .6s ease, filter .6s ease;
  filter:grayscale(.85) brightness(.75);
}
.av svg{ width:42px; height:42px; }
.equipe.acesa .av{ filter:none; box-shadow:0 0 0 4px color-mix(in srgb, var(--c) 18%, transparent), 0 0 30px -4px var(--c); }
.equipe.acesa .av::after{ content:''; position:absolute; right:-3px; bottom:-3px; width:13px; height:13px; border-radius:50%; background:#3ddc84; border:3px solid #15191d; }
.ag-num{ font-family:var(--mono); font-size:11px; letter-spacing:.14em; color:var(--txt3); }
.ag h3{ margin-top:3px; font-size:19px; font-weight:800; letter-spacing:-.02em; }
.ag-papel{ display:inline-block; margin:4px 0 8px; font-size:12.5px; font-weight:700; color:var(--c); }
.ag p:last-child{ font-size:14px; line-height:1.55; color:var(--txt2); }

.fluxo{ display:flex; align-items:stretch; gap:8px; margin-top:40px; padding:18px; border-radius:22px; border:1px dashed rgba(184,217,74,.35); background:rgba(184,217,74,.035); }
.fx{ flex:1; display:grid; justify-items:center; align-content:start; gap:4px; padding:14px 8px; text-align:center; border-radius:16px; }
.fx-ico{ display:grid; place-items:center; width:46px; height:46px; margin-bottom:6px; border-radius:14px; background:rgba(255,255,255,.06); font-size:22px; }
.fx b{ font-size:15px; }
.fx small{ font-size:12.5px; color:var(--txt3); line-height:1.4; }
.fx-fim{ background:rgba(184,217,74,.12); border:1px solid rgba(184,217,74,.4); }
.fx-fim .fx-ico{ background:var(--accent); }
.fx-seta{ flex:none; align-self:center; position:relative; width:34px; height:2px; background:linear-gradient(90deg, rgba(184,217,74,.2), var(--accent)); overflow:hidden; }
.fx-seta::after{ content:''; position:absolute; top:-3px; width:8px; height:8px; border-radius:50%; background:#fff; box-shadow:0 0 10px var(--accent); animation:corre-ponto 1.8s linear infinite; }
@keyframes corre-ponto{ from{ left:-10px; } to{ left:40px; } }
@media(max-width:860px){
  .fluxo{ flex-direction:column; }
  .fx{ grid-template-columns:46px 1fr; justify-items:start; text-align:left; column-gap:14px; align-items:center; }
  .fx-ico{ grid-row:span 2; margin:0; }
  .fx-seta{ width:2px; height:22px; margin-left:37px; background:linear-gradient(180deg, rgba(184,217,74,.2), var(--accent)); }
  .fx-seta::after{ left:-3px; animation-name:desce-ponto; }
}
@keyframes desce-ponto{ from{ top:-10px; } to{ top:28px; } }

/* ---------- vídeo ---------- */
.video-sec{ display:grid; gap:48px; align-items:center; }
@media(min-width:900px){ .video-sec{ grid-template-columns:1.1fr .9fr; } }
.check{ display:grid; gap:12px; margin:26px 0 32px; list-style:none; }
.check li{ display:flex; gap:12px; align-items:baseline; color:var(--txt2); }
.check li::before{ content:'✓'; color:var(--accent); font-weight:800; }
.celular{ position:relative; justify-self:center; }
.celular::before{ content:''; position:absolute; inset:10% -20%; background:radial-gradient(closest-side, rgba(124,92,255,.35), transparent); filter:blur(30px); z-index:-1; }
.cel-moldura{
  position:relative; width:min(300px, 76vw); aspect-ratio:9/16; padding:10px; border-radius:42px;
  background:linear-gradient(160deg, #3a4048, #15181b 40%, #262b31); border:1px solid #4a525c;
  box-shadow:0 50px 100px -30px rgba(0,0,0,.95), inset 0 0 0 2px #0b0d0f;
  transform:rotate(-3deg);
}
.cel-moldura video{ width:100%; height:100%; object-fit:cover; border-radius:33px; background:#0b0d0f; }
.cel-play{ position:absolute; inset:0; margin:auto; width:72px; height:72px; border-radius:50%; background:rgba(184,217,74,.95); display:grid; place-items:center; box-shadow:0 0 0 10px rgba(184,217,74,.2), 0 20px 40px -10px rgba(0,0,0,.8); transition:transform .25s var(--ease), opacity .3s; }
.cel-play svg{ width:30px; height:30px; margin-left:4px; fill:var(--ink); }
.cel-play:hover{ transform:scale(1.08); }
.cel-play.some{ opacity:0; pointer-events:none; }

/* ---------- segurança / nichos / passos ---------- */
.cartoes{ display:grid; gap:14px; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); }
.cartao, .nicho, .passo{ position:relative; padding:26px 24px; border-radius:20px; border:1px solid var(--linha); background:var(--card); transition:transform .3s var(--ease), border-color .3s; }
.cartao:hover, .nicho:hover, .passo:hover{ transform:translateY(-4px); border-color:rgba(184,217,74,.4); }
.c-ico{ display:grid; place-items:center; width:52px; height:52px; border-radius:15px; background:rgba(184,217,74,.14); border:1px solid rgba(184,217,74,.3); font-size:24px; }
.cartao h3, .nicho h3, .passo h3{ margin-top:16px; font-size:18px; font-weight:800; letter-spacing:-.02em; }
.cartao p, .nicho p, .passo p{ margin-top:8px; font-size:14.5px; line-height:1.6; color:var(--txt2); }
.nichos{ display:grid; gap:14px; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); }
@media(min-width:860px){ .nichos{ grid-template-columns:repeat(3, 1fr); } }
.nicho > span{ font-size:30px; }
.nicho h3{ margin-top:10px; }
.passos{ display:grid; gap:14px; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); list-style:none; counter-reset:none; }
.p-num{ font-family:var(--mono); font-size:44px; font-weight:500; line-height:1; background:linear-gradient(180deg, var(--accent), rgba(184,217,74,.15)); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* ---------- dúvidas ---------- */
.faq{ max-width:820px; margin:0 auto; display:grid; gap:10px; }
.faq details{ border-radius:16px; border:1px solid var(--linha); background:var(--card); transition:border-color .2s, background-color .2s; }
.faq details[open]{ border-color:rgba(184,217,74,.4); background:rgba(184,217,74,.04); }
.faq summary{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 22px; font-weight:700; font-size:16px; cursor:pointer; list-style:none; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:'+'; flex:none; display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:rgba(255,255,255,.06); font-size:20px; font-weight:500; color:var(--accent); transition:transform .3s var(--ease); }
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq details p{ padding:0 22px 20px; color:var(--txt2); line-height:1.65; }

/* ---------- chamada final ---------- */
.final{ padding:clamp(100px, 12vw, 160px) 0 clamp(90px, 10vw, 130px); }
.final-in{
  position:relative; overflow:hidden; display:grid; justify-items:center; text-align:center;
  padding:clamp(48px, 7vw, 84px) 24px; border-radius:32px;
  border:1px solid rgba(184,217,74,.3);
  background:radial-gradient(80% 90% at 50% 0%, rgba(184,217,74,.18), transparent 60%), radial-gradient(60% 80% at 100% 100%, rgba(124,92,255,.18), transparent 60%), var(--bg2);
  box-shadow:0 40px 120px -40px rgba(184,217,74,.35);
}
.final-r{ width:64px; height:64px; filter:drop-shadow(0 10px 30px rgba(184,217,74,.5)); }
.final h2{ font-size:clamp(2.4rem, 6vw, 4.4rem); letter-spacing:-.05em; line-height:1; margin-top:22px; }
.final p{ margin-top:18px; font-size:clamp(1rem, 1.4vw, 1.18rem); color:var(--txt2); }
.final .btn{ margin-top:34px; }
.final-selos{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:28px; }
.final-selos span{ padding:9px 15px; border-radius:99px; border:1px solid var(--linha2); background:rgba(255,255,255,.04); font-size:13.5px; font-weight:600; color:var(--txt2); }
@media(max-width:600px){ .final .btn{ width:100%; white-space:normal; } }

/* ---------- rodapé ---------- */
.rodape{ border-top:1px solid var(--linha); background:rgba(0,0,0,.25); padding:40px 0 28px; }
.rodape-in{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; }
.rodape-links{ display:flex; flex-wrap:wrap; gap:8px 22px; font-size:14px; color:var(--txt2); }
.rodape-links a:hover, .rodape-base a:hover{ color:#fff; }
.rodape-base{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 24px; margin-top:28px; padding-top:20px; border-top:1px solid var(--linha); font-size:13px; color:var(--txt3); }
.rodape-base nav{ display:flex; gap:18px; }

/* ---------- barra fixa no celular ---------- */
.barra-cel{ position:fixed; left:0; right:0; bottom:0; z-index:60; padding:10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); background:rgba(11,13,15,.86); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-top:1px solid var(--linha); transform:translateY(110%); transition:transform .4s var(--ease); }
.barra-cel .btn{ width:100%; }
.barra-cel.mostra{ transform:none; }
@media(min-width:900px){ .barra-cel{ display:none; } }
.cookies-aberto .barra-cel{ display:none; }
@media(max-width:899px){ body{ padding-bottom:76px; } }

/* ---------- revelar ao rolar ---------- */
.js .revela{ opacity:0; transform:translateY(26px); filter:blur(6px); transition:opacity .9s var(--ease), transform .9s var(--ease), filter .9s var(--ease); transition-delay:var(--d, 0s); }
.js .revela.visto{ opacity:1; transform:none; filter:none; }


/* ============================================================
   V2: recursos, agentes sob medida, nichos, um dia,
   comparativo e planos
   ============================================================ */
.comparar{ max-width:1100px; }

/* recursos */
.recursos{ display:grid; gap:16px; grid-template-columns:1fr; }
@media(min-width:640px){ .recursos{ grid-template-columns:repeat(2, 1fr); } }
@media(min-width:960px){ .recursos{ grid-template-columns:repeat(3, 1fr); } }
/* 9 blocos: 3 colunas também em tela grande (3 × 3) */
@media(min-width:1280px){ .recursos{ grid-template-columns:repeat(3, 1fr); } }
.rec{ padding:26px; border-radius:22px; border:1px solid var(--linha); background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02)); transition:border-color .3s, transform .3s var(--ease); }
.rec:hover{ border-color:rgba(184,217,74,.4); transform:translateY(-4px); }
.rec-cab{ display:flex; align-items:center; gap:14px; padding-bottom:18px; margin-bottom:16px; border-bottom:1px solid var(--linha); }
.rec-cab span{ display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:rgba(184,217,74,.14); border:1px solid rgba(184,217,74,.3); font-size:22px; }
.rec-cab h3{ font-size:19px; font-weight:800; letter-spacing:-.02em; }
.rec ul{ display:grid; gap:11px; list-style:none; }
.rec li{ display:flex; gap:11px; align-items:baseline; font-size:14.5px; line-height:1.45; color:var(--txt2); }
.rec li::before{ content:'✓'; flex:none; color:var(--accent); font-weight:800; }

/* agentes sob medida */
.medida{ display:grid; gap:28px; margin-top:40px; padding:clamp(24px, 4vw, 40px); border-radius:26px; border:1px solid rgba(124,92,255,.35); background:radial-gradient(70% 120% at 0% 0%, rgba(124,92,255,.18), transparent 60%), var(--card); }
@media(min-width:1020px){ .medida{ grid-template-columns:.9fr 1.6fr; align-items:center; } }
.medida h3{ margin-top:12px; font-size:clamp(1.6rem, 2.8vw, 2.2rem); font-weight:800; letter-spacing:-.035em; line-height:1.1; }
.medida-txt > p:last-child{ margin-top:14px; color:var(--txt2); line-height:1.6; }
.medida-itens{ display:grid; gap:12px; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); }
.medida-itens div{ display:grid; gap:6px; padding:20px; border-radius:18px; border:1px solid var(--linha); background:rgba(0,0,0,.22); }
.medida-itens span{ font-size:24px; }
.medida-itens b{ font-size:16px; }
.medida-itens small{ font-size:13.5px; line-height:1.55; color:var(--txt2); }

/* nichos */
.nicho-box{ display:grid; gap:18px; padding:14px; border-radius:26px; border:1px solid var(--linha); background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)); }
@media(min-width:1020px){ .nicho-box{ grid-template-columns:270px 1fr; } }
.nicho-lista{ display:grid; gap:6px; align-content:start; }
@media(max-width:1019px){ .nicho-lista{ display:flex; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; } .nicho-lista::-webkit-scrollbar{ display:none; } .nicho-lista button{ flex:none; scroll-snap-align:start; } }
.nicho-lista button{ display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:14px; border:1px solid transparent; text-align:left; font-weight:600; font-size:15px; color:var(--txt3); transition:background-color .2s, color .2s, border-color .2s; }
.nicho-lista button span{ font-size:20px; }
.nicho-lista button:hover{ background:rgba(255,255,255,.04); color:var(--txt2); }
.nicho-lista button[aria-selected="true"]{ background:rgba(184,217,74,.10); border-color:rgba(184,217,74,.35); color:var(--txt); }
.nicho-painel{ padding:clamp(18px, 3vw, 32px); border-radius:20px; background:rgba(0,0,0,.25); border:1px solid var(--linha); min-height:420px; }
.np-cab{ display:flex; align-items:center; gap:16px; }
.np-ico{ display:grid; place-items:center; flex:none; width:58px; height:58px; border-radius:17px; background:rgba(184,217,74,.14); border:1px solid rgba(184,217,74,.35); font-size:28px; }
.np-cab h3{ font-size:clamp(1.4rem, 2.4vw, 1.9rem); font-weight:800; letter-spacing:-.03em; line-height:1.15; }
.np-cab p{ color:var(--txt2); font-size:14.5px; margin-top:2px; }
.np-rot{ margin:26px 0 12px; font-family:var(--mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); }
.np-funil{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.np-funil span{ padding:9px 14px; border-radius:11px; border:1px solid var(--linha2); background:rgba(255,255,255,.05); font-size:14px; font-weight:600; }
.np-funil span:last-child{ background:rgba(184,217,74,.16); border-color:rgba(184,217,74,.45); color:#e4f5a8; }
.np-funil i{ font-style:normal; color:var(--accent); font-weight:800; }
.np-agentes{ display:grid; gap:10px; grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); }
.np-ag{ display:flex; gap:12px; align-items:flex-start; padding:14px; border-radius:15px; border:1px solid var(--linha); background:rgba(255,255,255,.035); }
.np-ag .av{ width:44px; height:44px; border-radius:13px; filter:none; box-shadow:0 0 22px -6px var(--c); }
.np-ag .av svg{ width:28px; height:28px; }
.np-ag b{ display:block; font-size:14.5px; }
.np-ag small{ display:block; font-size:13px; line-height:1.45; color:var(--txt2); margin-top:2px; }
.np-metas{ display:flex; flex-wrap:wrap; gap:8px; }
.np-metas span{ padding:8px 13px; border-radius:99px; background:rgba(124,92,255,.14); border:1px solid rgba(124,92,255,.35); font-size:13.5px; font-weight:600; color:#d8ceff; }
.nicho-painel.troca > *{ animation:entra .5s var(--ease) both; }
.nicho-painel.troca > *:nth-child(2){ animation-delay:.04s; } .nicho-painel.troca > *:nth-child(3){ animation-delay:.08s; } .nicho-painel.troca > *:nth-child(4){ animation-delay:.12s; } .nicho-painel.troca > *:nth-child(5){ animation-delay:.16s; } .nicho-painel.troca > *:nth-child(6){ animation-delay:.2s; } .nicho-painel.troca > *:nth-child(7){ animation-delay:.24s; }
.nicho-rodape{ margin-top:22px; text-align:center; color:var(--txt2); }
.nicho-rodape a{ color:var(--accent); font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* um dia */
.linha-tempo{ position:relative; max-width:900px; margin:0 auto; list-style:none; display:grid; gap:14px; }
.linha-tempo::before{ content:''; position:absolute; left:40px; top:10px; bottom:10px; width:2px; background:linear-gradient(180deg, var(--accent), rgba(124,92,255,.6), transparent); }
.lt{ position:relative; display:grid; grid-template-columns:96px 1fr; gap:12px; align-items:start; }
.lt-hora{ justify-self:start; position:relative; z-index:1; margin-top:16px; padding:7px 12px; border-radius:10px; background:var(--bg2); border:1px solid rgba(184,217,74,.45); font-family:var(--mono); font-size:14px; color:var(--accent); }
.lt > div{ padding:18px 22px; border-radius:18px; border:1px solid var(--linha); background:var(--card); transition:border-color .3s; }
.lt:hover > div{ border-color:rgba(184,217,74,.4); }
.lt h3{ font-size:17px; font-weight:800; letter-spacing:-.015em; }
.lt p{ margin-top:6px; font-size:14.5px; line-height:1.6; color:var(--txt2); }
@media(max-width:600px){
  .linha-tempo::before{ display:none; }
  .lt{ grid-template-columns:1fr; gap:0; }
  .lt-hora{ margin:0 0 -14px 16px; }
  .lt > div{ padding-top:24px; }
}

/* comparativo */
.tabela{ max-width:1000px; margin:0 auto; border-radius:22px; border:1px solid var(--linha); background:var(--card); overflow:hidden; }
.tb-linha{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; align-items:center; border-top:1px solid var(--linha); font-size:15px; }
.tb-linha > span{ align-self:stretch; display:flex; align-items:center; padding:16px 18px; }
.tb-linha > span:not(:first-child){ justify-content:center; text-align:center; }
.tb-linha > span:first-child{ font-weight:600; }
.tb-cab{ border-top:0; font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--txt3); }
.tb-nos{ background:rgba(184,217,74,.08); }
.tb-cab .tb-nos{ color:var(--ink); background:var(--accent); font-weight:500; }
.tabela i{ font-style:normal; font-weight:800; }
.sim{ display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--accent); color:var(--ink); }
.nao{ color:#ff6b6b; }
.meio{ font-size:12.5px; font-weight:600 !important; color:#f2b84b; }
@media(max-width:700px){
  .tb-linha{ grid-template-columns:1.4fr .8fr .8fr .8fr; font-size:13px; }
  .tb-linha > span{ padding:12px 8px; }
  .tb-cab{ font-size:9.5px; letter-spacing:.02em; }
  .meio{ font-size:10.5px; }
  .sim{ width:24px; height:24px; }
}

/* planos */
.ciclo{ display:inline-flex; gap:4px; margin-top:28px; padding:5px; border-radius:14px; border:1px solid var(--linha2); background:rgba(255,255,255,.04); }
.ciclo-op{ padding:10px 18px; border-radius:10px; font-weight:700; font-size:14.5px; color:var(--txt2); transition:background-color .2s, color .2s; }
.ciclo-op em{ margin-left:6px; padding:3px 8px; border-radius:99px; background:rgba(184,217,74,.18); color:var(--accent); font-style:normal; font-size:11.5px; }
.ciclo-op[aria-pressed="true"]{ background:var(--accent); color:var(--ink); }
.ciclo-op[aria-pressed="true"] em{ background:rgba(16,22,10,.15); color:var(--ink); }
.planos{ display:grid; gap:18px; grid-template-columns:repeat(auto-fit, minmax(290px, 1fr)); align-items:stretch; max-width:1240px; margin:0 auto; padding-top:14px; }
.plano{ position:relative; display:flex; flex-direction:column; padding:32px 28px; border-radius:26px; border:1px solid var(--linha); background:var(--card); transition:transform .3s var(--ease), border-color .3s; }
.plano:hover{ transform:translateY(-6px); border-color:rgba(255,255,255,.25); }
.plano-top{ border-color:rgba(184,217,74,.6); background:radial-gradient(90% 60% at 50% 0%, rgba(184,217,74,.16), transparent 70%), var(--bg2); box-shadow:0 30px 90px -30px rgba(184,217,74,.45); }
.plano-top:hover{ border-color:var(--accent); }
@media(min-width:1020px){ .js .plano-top.visto, .plano-top{ transform:scale(1.04); } .js .plano-top.visto:hover{ transform:scale(1.04) translateY(-6px); } }
.pl-selo{ position:absolute; top:-14px; left:50%; transform:translateX(-50%); padding:6px 14px; border-radius:99px; background:var(--accent); color:var(--ink); font-size:12.5px; font-weight:800; white-space:nowrap; box-shadow:0 10px 30px -10px rgba(184,217,74,.9); }
.pl-nome{ font-family:var(--mono); font-size:14px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
.pl-desc{ margin-top:10px; min-height:46px; font-size:14.5px; line-height:1.55; color:var(--txt2); }
.pl-preco{ display:flex; align-items:baseline; align-content:flex-end; flex-wrap:wrap; gap:4px; margin-top:20px; }
@media(min-width:900px){ .pl-preco{ min-height:84px; } }
.pl-preco small{ font-size:18px; font-weight:700; color:var(--txt2); }
.pl-preco .pl-de{ width:100%; font-size:13px; font-weight:500; color:var(--txt3); }
.pl-preco b{ font-size:clamp(3rem, 5vw, 3.8rem); font-weight:800; letter-spacing:-.05em; line-height:1; }
.pl-preco span{ font-size:16px; color:var(--txt3); }
.pl-obs{ margin-top:6px; font-size:13px; color:var(--txt3); min-height:20px; }
.plano .btn{ margin-top:22px; width:100%; }
.pl-lista{ display:grid; gap:11px; margin-top:26px; padding-top:22px; border-top:1px solid var(--linha); list-style:none; }
.pl-lista li{ display:flex; gap:11px; align-items:baseline; font-size:14.5px; line-height:1.45; color:var(--txt2); }
.pl-lista li b{ color:var(--txt); }
.pl-lista li::before{ content:'✓'; flex:none; color:var(--accent); font-weight:800; }
.creditos{ display:grid; gap:24px; max-width:1240px; margin:44px auto 0; padding:clamp(22px, 3.5vw, 36px); border-radius:24px; border:1px solid rgba(184,217,74,.35); background:radial-gradient(70% 120% at 0% 0%, rgba(184,217,74,.12), transparent 60%), var(--card); }
@media(min-width:1020px){ .creditos{ grid-template-columns:1fr 1.3fr; align-items:center; } }
.creditos h3{ margin-top:10px; font-size:clamp(1.4rem, 2.4vw, 1.9rem); font-weight:800; letter-spacing:-.03em; line-height:1.15; }
.cr-txt > p:last-child{ margin-top:12px; color:var(--txt2); line-height:1.6; font-size:15px; }
.cr-itens{ display:grid; gap:10px; }
.cr-itens div{ display:flex; align-items:center; gap:16px; padding:14px 18px; border-radius:14px; border:1px solid var(--linha); background:rgba(0,0,0,.22); }
.cr-itens b{ flex:none; min-width:112px; font-family:var(--mono); font-size:15px; font-weight:500; color:var(--accent); }
.cr-itens span{ font-size:14.5px; color:var(--txt2); line-height:1.45; }
.garantias{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:34px; }
.garantias span{ padding:10px 16px; border-radius:99px; border:1px solid var(--linha2); background:rgba(255,255,255,.04); font-size:14px; font-weight:600; color:var(--txt2); }
.passos{ grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); }

/* ============================================================
   Aviso de cookies (mesmo visual do restante do site;
   o comportamento vem de /consentimento.js)
   ============================================================ */
.ck-caixa{ position:fixed; z-index:120; left:16px; right:16px; bottom:16px; max-width:460px; padding:22px 22px 18px; border-radius:16px; background:#11151A; color:#DDE2E7; border:1px solid rgba(255,255,255,.12); box-shadow:0 24px 60px -18px rgba(0,0,0,.55); animation:ckEntra .45s var(--ease) both; }
@media(min-width:640px){ .ck-caixa{ left:24px; bottom:24px; right:auto; } }
@keyframes ckEntra{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
.ck-titulo{ font-size:15.5px; font-weight:700; color:#F4F6F8; margin-bottom:8px; }
.ck-texto{ font-size:13.5px; line-height:1.6; color:#AEB6BF; }
.ck-texto a{ color:var(--accent); text-decoration:underline; text-underline-offset:2px; }
.ck-acoes{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.ck-btn{ flex:1 1 auto; padding:10px 14px; border-radius:10px; border:1px solid rgba(255,255,255,.18); background:transparent; color:#F4F6F8; font-family:inherit; font-size:13.5px; font-weight:600; cursor:pointer; transition:background-color .2s ease, border-color .2s ease; }
.ck-btn:hover{ border-color:rgba(255,255,255,.4); }
.ck-btn--principal{ background:var(--accent); border-color:var(--accent); color:#10160A; }
.ck-btn--principal:hover{ background:#C7E65C; border-color:#C7E65C; }
.ck-btn--texto{ flex:0 0 auto; border-color:transparent; color:#AEB6BF; text-decoration:underline; text-underline-offset:3px; }
.ck-btn:focus-visible, .ck-chave:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.ck-cats{ display:grid; gap:10px; margin-top:16px; }
.ck-cat{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:12px 14px; border-radius:10px; border:1px solid rgba(255,255,255,.09); background:rgba(255,255,255,.03); }
.ck-cat-titulo{ display:block; font-size:13.5px; font-weight:600; color:#F4F6F8; cursor:pointer; }
.ck-cat-texto{ margin-top:3px; font-size:12.5px; line-height:1.5; color:#9AA3AD; }
.ck-chave{ appearance:none; -webkit-appearance:none; flex-shrink:0; position:relative; width:38px; height:22px; margin-top:2px; border-radius:999px; background:rgba(255,255,255,.18); cursor:pointer; transition:background-color .2s ease; }
.ck-chave::after{ content:''; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; transition:transform .2s ease; }
.ck-chave:checked{ background:var(--accent); }
.ck-chave:checked::after{ transform:translateX(16px); }
.ck-chave:disabled{ opacity:.55; cursor:not-allowed; }
.ck-curto{ display:none; }
@media(max-width:639px){
  .ck-caixa:not(.ck-caixa--detalhe){ left:0; right:0; bottom:0; max-width:none; padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); border-radius:16px 16px 0 0; border-width:1px 0 0; }
  .ck-caixa:not(.ck-caixa--detalhe) .ck-titulo, .ck-caixa:not(.ck-caixa--detalhe) .ck-longo{ display:none; }
  .ck-caixa:not(.ck-caixa--detalhe) .ck-curto{ display:inline; }
  .ck-caixa:not(.ck-caixa--detalhe) .ck-texto{ font-size:12.5px; line-height:1.5; }
  .ck-caixa:not(.ck-caixa--detalhe) .ck-acoes{ flex-wrap:nowrap; margin-top:10px; gap:6px; }
  .ck-caixa:not(.ck-caixa--detalhe) .ck-btn{ flex:1 1 0; padding:9px 8px; font-size:13px; }
  .ck-caixa:not(.ck-caixa--detalhe) .ck-btn--texto{ flex:0 0 auto; padding:9px 4px; }
}

/* ---------- movimento reduzido ---------- */
@media(prefers-reduced-motion:reduce){
  *, *::before, *::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .js .revela{ opacity:1; transform:none; filter:none; }
  .monitor{ transform:none; }
}
@media print{ .ck-caixa, .barra-cel, .ceu{ display:none !important; } }

.planos-aceite{ text-align:center; margin:18px auto 0; font-size:13px; color:var(--txt2); opacity:.8; }
.planos-aceite a{ color:inherit; text-decoration:underline; text-underline-offset:3px; }
