/* ════════════════════════════════════════════════════════════
   RecargaGame — Design System
   Estilo: Modern Dark (cinema) + acentos gaming
   Fontes: Russo One (display) · Sora (UI/texto)
   ════════════════════════════════════════════════════════════ */

/* ─────────────────────────── TOKENS ─────────────────────────── */
:root{
  /* superfícies */
  --bg:        #07070d;
  --bg-2:      #0a0a13;
  --surface:   #11111c;
  --surface-2: #171725;
  --surface-3: #1e1e2e;

  /* linhas */
  --line:      rgba(255,255,255,.075);
  --line-2:    rgba(255,255,255,.13);

  /* texto */
  --fg:        #eef0f6;
  --fg-2:      #b9bfd1;
  --fg-3:      #8b91a6;

  /* marca */
  --violet:    #7c3aed;
  --violet-2:  #a78bfa;
  --violet-3:  #4c1d95;
  --cyan:      #38bdf8;
  --cyan-2:    #7dd3fc;
  --rose:      #f43f5e;
  --rose-d:    #e11d48;
  --rose-2:    #fb7185;
  --amber:     #fbbf24;
  --green:     #22c55e;

  /* efeitos */
  --grad-cta:   linear-gradient(135deg,#e11d48 0%,#f43f5e 55%,#fb7185 100%);
  --grad-brand: linear-gradient(120deg,#a78bfa 0%,#7dd3fc 50%,#fb7185 100%);
  --glow-cta:   0 10px 34px -10px rgba(244,63,94,.55);
  --glow-vio:   0 10px 40px -12px rgba(124,58,237,.5);

  /* raios */
  --r-sm: 10px;
  --r:    14px;
  --r-lg: 20px;
  --r-xl: 26px;
  --r-pill: 999px;

  /* espaçamento (ritmo de 4px) */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px;
  --s-6:24px; --s-8:32px; --s-10:40px; --s-12:48px; --s-16:64px; --s-20:80px;

  /* movimento */
  --ease: cubic-bezier(.16,1,.3,1);
  --t-fast: 150ms var(--ease);
  --t:      220ms var(--ease);
  --t-slow: 380ms var(--ease);

  /* camadas */
  --z-hdr: 100; --z-mbar: 300; --z-modal: 500; --z-toast: 700;

  /* layout */
  --wrap: 1200px;
  --hdr-h: 66px;
}

/* ─────────────────────────── RESET ─────────────────────────── */
*,*::before,*::after{ box-sizing:border-box; }
*{ margin:0; }

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--hdr-h) + 24px);
  color-scheme:dark;
}

body{
  min-height:100dvh;
  background:var(--bg);
  color:var(--fg);
  font-family:'Sora',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.6;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.is-locked{ overflow:hidden; }

img,svg{ display:block; max-width:100%; }
img{ height:auto; }

/* precisa vencer o `display` dos componentes abaixo */
[hidden]{ display:none !important; }
button,input,select,textarea{ font:inherit; color:inherit; }
button{ background:none; border:0; cursor:pointer; }
a{ color:inherit; text-decoration:none; }
ul,ol{ list-style:none; padding:0; }
table{ border-collapse:collapse; width:100%; }

::selection{ background:rgba(124,58,237,.45); color:#fff; }

:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:3px;
  border-radius:6px;
}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.skip-link{
  position:fixed; top:-100px; left:16px; z-index:900;
  padding:12px 20px; border-radius:var(--r-sm);
  background:var(--violet); color:#fff; font-weight:600;
  transition:top var(--t);
}
.skip-link:focus-visible{ top:16px; }

/* ─────────────────────────── PRIMITIVAS ─────────────────────────── */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:20px; }
.wrap--narrow{ max-width:820px; }

.ic{ width:20px; height:20px; flex:none; stroke-width:1.75; }
.ic--cyan{ color:var(--cyan); }
.ic--green{ color:var(--green); }
.ic--amber{ color:var(--amber); }

.h-display{
  font-family:'Russo One',system-ui,sans-serif;
  font-weight:400;
  font-size:clamp(2rem,1.15rem + 4.2vw,4.1rem);
  line-height:1.06;
  letter-spacing:-.015em;
  text-wrap:balance;
}
.h2{
  font-family:'Russo One',system-ui,sans-serif;
  font-weight:400;
  font-size:clamp(1.5rem,1.05rem + 2.1vw,2.5rem);
  line-height:1.15;
  letter-spacing:-.01em;
  text-wrap:balance;
}
.grad{
  background:var(--grad-brand);
  -webkit-background-clip:text; background-clip:text;
  color:transparent;
}
.lead{
  font-size:clamp(1rem,.95rem + .35vw,1.175rem);
  color:var(--fg-2);
  max-width:56ch;
  line-height:1.65;
}
.lead strong{ color:var(--fg); font-weight:600; }
.muted{ color:var(--fg-3); font-weight:400; }
.opt{ color:var(--fg-3); font-weight:400; }
.req{ color:var(--rose-2); }

/* ─────────────────────────── BOTÕES ─────────────────────────── */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:46px; padding:0 22px;
  border-radius:var(--r-pill);
  font-size:.95rem; font-weight:600; letter-spacing:.005em;
  white-space:nowrap; cursor:pointer;
  border:1px solid transparent;
  transition:transform var(--t-fast),box-shadow var(--t),background var(--t),border-color var(--t),opacity var(--t);
  touch-action:manipulation;
  position:relative;
}
.btn:active:not(:disabled){ transform:scale(.975); }
.btn:disabled{ opacity:.42; cursor:not-allowed; }

.btn--primary{ background:var(--grad-cta); color:#fff; box-shadow:var(--glow-cta); }
.btn--primary:hover:not(:disabled){ box-shadow:0 14px 40px -10px rgba(244,63,94,.7); }

.btn--glass{
  background:rgba(255,255,255,.07); color:var(--fg);
  border-color:var(--line-2); backdrop-filter:blur(10px);
}
.btn--glass:hover{ background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.22); }

.btn--outline{ border-color:var(--line-2); color:var(--fg-2); }
.btn--outline:hover{ border-color:var(--violet-2); color:var(--fg); background:rgba(124,58,237,.1); }

.btn--ghost{ color:var(--fg-2); }
.btn--ghost:hover{ color:var(--fg); background:rgba(255,255,255,.06); }

.btn--sm{ min-height:38px; padding:0 16px; font-size:.875rem; }
.btn--lg{ min-height:54px; padding:0 30px; font-size:1.025rem; }
.btn--block{ display:flex; width:100%; }

.icon-btn{
  display:grid; place-items:center;
  width:42px; height:42px; border-radius:var(--r-sm);
  color:var(--fg-2); transition:background var(--t),color var(--t);
}
.icon-btn:hover{ background:rgba(255,255,255,.07); color:var(--fg); }

.link-btn{
  display:inline-flex; align-items:center; gap:7px;
  min-height:40px; color:var(--violet-2);
  font-size:.9rem; font-weight:500;
  transition:color var(--t);
}
.link-btn:hover{ color:var(--cyan-2); }

.spinner{
  display:none; width:18px; height:18px; border-radius:50%;
  border:2.2px solid rgba(255,255,255,.3); border-top-color:#fff;
  animation:spin .7s linear infinite;
}
.btn.is-loading .btn__label{ opacity:.55; }
.btn.is-loading .spinner{ display:block; }
@keyframes spin{ to{ transform:rotate(360deg); } }

/* ─────────────────────────── PILLS ─────────────────────────── */
.pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 14px; border-radius:var(--r-pill);
  font-size:.795rem; font-weight:500; letter-spacing:.01em;
  border:1px solid var(--line-2); background:rgba(255,255,255,.055);
  backdrop-filter:blur(10px);
}
.pill--live{ color:var(--fg-2); }
.pill--demo{
  color:var(--amber); border-color:rgba(251,191,36,.3);
  background:rgba(251,191,36,.09); align-self:flex-start;
}
.ping{
  width:7px; height:7px; border-radius:50%; background:var(--green);
  box-shadow:0 0 0 0 rgba(34,197,94,.6);
  animation:ping 2s var(--ease) infinite;
}
@keyframes ping{
  0%  { box-shadow:0 0 0 0 rgba(34,197,94,.55); }
  70% { box-shadow:0 0 0 9px rgba(34,197,94,0); }
  100%{ box-shadow:0 0 0 0 rgba(34,197,94,0); }
}

/* ─────────────────────────── ANNOUNCE ─────────────────────────── */
.announce{
  background:linear-gradient(90deg,var(--violet-3),#1a1035 45%,var(--violet-3));
  border-bottom:1px solid rgba(167,139,250,.16);
  overflow:hidden;
}
.announce__track{
  display:flex; align-items:center; justify-content:center; gap:16px;
  max-width:var(--wrap); margin-inline:auto;
  padding:9px 20px;
  font-size:.8rem; color:#d9d2f5; font-weight:500;
  white-space:nowrap;
}
.announce__track span{ display:inline-flex; align-items:center; gap:7px; }
.announce .ic{ width:15px; height:15px; color:var(--violet-2); }
.announce .dot{ width:3px; height:3px; border-radius:50%; background:rgba(217,210,245,.4); }

/* ─────────────────────────── HEADER ─────────────────────────── */
.hdr{
  position:sticky; top:0; z-index:var(--z-hdr);
  background:rgba(7,7,13,.72);
  backdrop-filter:blur(18px) saturate(160%);
  border-bottom:1px solid transparent;
  transition:border-color var(--t),background var(--t);
}
.hdr.is-stuck{ border-bottom-color:var(--line); background:rgba(7,7,13,.9); }

.hdr__in{ display:flex; align-items:center; gap:20px; height:var(--hdr-h); }

.brand{ display:inline-flex; align-items:center; gap:10px; flex:none; }
.brand__mark{ width:32px; height:32px; display:block; }
.brand__mark svg{ width:100%; height:100%; }
.brand__txt{
  font-family:'Russo One',sans-serif; font-size:1.075rem;
  letter-spacing:-.01em; color:var(--fg);
}
.brand__txt em{ font-style:normal; color:var(--violet-2); }

.nav{ display:flex; align-items:center; gap:4px; margin-left:auto; }
.nav a{
  position:relative;
  padding:9px 13px; border-radius:var(--r-sm);
  font-size:.9rem; font-weight:500; color:var(--fg-3);
  transition:color var(--t),background var(--t);
}
.nav a:hover{ color:var(--fg); background:rgba(255,255,255,.055); }
.nav a.is-active{ color:var(--fg); }
.nav a.is-active::after{
  content:''; position:absolute; left:13px; right:13px; bottom:3px;
  height:2px; border-radius:2px; background:var(--grad-brand);
}

.hdr__act{ display:flex; align-items:center; gap:8px; }
.show-sm{ display:none; }

/* ─────────────────────────── HERO ─────────────────────────── */
.hero{ position:relative; isolation:isolate; overflow:hidden; }

.hero__bg{ position:absolute; inset:0; z-index:-2; }
.hero__bg img{
  width:100%; height:100%; object-fit:cover; object-position:50% 32%;
  opacity:.6; filter:saturate(1.05);
}
.hero__scrim{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg,rgba(7,7,13,.55) 0%,rgba(7,7,13,.45) 30%,rgba(7,7,13,.92) 82%,var(--bg) 100%),
    linear-gradient(100deg,rgba(7,7,13,.94) 0%,rgba(7,7,13,.75) 42%,rgba(7,7,13,.25) 78%);
}
.hero__glow{
  position:absolute; border-radius:50%; filter:blur(90px); opacity:.32;
  animation:float 18s ease-in-out infinite;
}
.hero__glow--a{
  width:min(52vw,560px); aspect-ratio:1; left:-9%; top:6%;
  background:radial-gradient(circle,var(--violet) 0%,transparent 68%);
}
.hero__glow--b{
  width:min(46vw,480px); aspect-ratio:1; right:2%; bottom:-6%;
  background:radial-gradient(circle,var(--cyan) 0%,transparent 68%);
  animation-delay:-9s; opacity:.22;
}
@keyframes float{
  0%,100%{ transform:translate3d(0,0,0) scale(1); }
  50%    { transform:translate3d(28px,-34px,0) scale(1.09); }
}

.hero__in{ padding-block:clamp(56px,9vw,116px) clamp(56px,8vw,104px); }
.hero__copy{ display:flex; flex-direction:column; align-items:flex-start; gap:var(--s-6); max-width:660px; }
.hero__copy .h-display{ margin-block:2px -2px; }

.hero__fade{
  position:absolute; left:0; right:0; bottom:0; height:120px;
  background:linear-gradient(180deg,transparent,var(--bg));
  pointer-events:none;
}

/* âncora de preço */
.hero__anchor{
  display:flex; flex-wrap:wrap; align-items:center; gap:var(--s-4);
  padding:var(--s-4) var(--s-5);
  border-radius:var(--r-lg);
  border:1px solid rgba(167,139,250,.24);
  background:linear-gradient(135deg,rgba(124,58,237,.2),rgba(17,17,28,.75));
  backdrop-filter:blur(14px);
  box-shadow:var(--glow-vio);
}
.anchor__card{ display:flex; align-items:center; gap:var(--s-3); }
.anchor__card img{ width:60px; height:60px; object-fit:contain; filter:drop-shadow(0 4px 14px rgba(56,189,248,.45)); }
.anchor__qty{
  display:flex; align-items:center; gap:7px;
  font-size:.86rem; color:var(--fg-2); font-weight:500;
}
.anchor__price{
  display:block; font-family:'Russo One',sans-serif;
  font-size:1.85rem; line-height:1.15; color:#fff;
  font-variant-numeric:tabular-nums;
}
.anchor__price b{ font-weight:400; font-size:2.35rem; }

.anchor__vs{
  display:flex; flex-direction:column; gap:3px;
  padding-left:var(--s-4); border-left:1px solid var(--line-2);
}
.anchor__old{
  font-size:.85rem; color:var(--fg-3); text-decoration:line-through;
  text-decoration-color:rgba(244,63,94,.7); text-decoration-thickness:1.5px;
}
.anchor__save{ font-size:.9rem; font-weight:600; color:var(--green); }

.hero__cta{ display:flex; flex-wrap:wrap; gap:var(--s-3); }

.trust{
  display:flex; flex-wrap:wrap; gap:var(--s-3) var(--s-5);
  font-size:.855rem; color:var(--fg-2);
}
.trust li{ display:flex; align-items:center; gap:8px; }
.trust .ic{ width:17px; height:17px; }

/* ─────────────────────────── STATS ─────────────────────────── */
.stats{ border-block:1px solid var(--line); background:var(--bg-2); }
.stats__grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  padding-block:var(--s-8);
}
.stat{ text-align:center; padding-inline:var(--s-3); }
.stat + .stat{ border-left:1px solid var(--line); }
.stat b{
  display:block; font-family:'Russo One',sans-serif; font-size:clamp(1.5rem,1.1rem + 1.5vw,2.1rem);
  color:#fff; font-variant-numeric:tabular-nums; line-height:1.2;
}
.stat span{ font-size:.8rem; color:var(--fg-3); }

/* ─────────────────────────── SEÇÕES ─────────────────────────── */
.sec{ padding-block:clamp(56px,7vw,104px); }
.sec--alt{ background:var(--bg-2); border-block:1px solid var(--line); }

.sec-head{ margin-bottom:var(--s-10); display:flex; flex-direction:column; gap:var(--s-3); align-items:flex-start; }
.sec-head--center{ align-items:center; text-align:center; }
.sec-sub{ color:var(--fg-3); max-width:58ch; font-size:1rem; }

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.775rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase;
  color:var(--violet-2);
}
.eyebrow .ic{ width:16px; height:16px; }

.card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-xl);
}

/* ─────────────────────────── CHECKOUT ─────────────────────────── */
.checkout{ padding-block:clamp(48px,6vw,88px); position:relative; }
.checkout::before{
  content:''; position:absolute; left:50%; top:0; translate:-50% 0;
  width:min(90vw,900px); height:420px; pointer-events:none;
  background:radial-gradient(ellipse at top,rgba(124,58,237,.16),transparent 68%);
}

.ck{ display:grid; grid-template-columns:minmax(0,1fr) 372px; gap:var(--s-6); align-items:start; }
.ck__main{ display:flex; flex-direction:column; gap:var(--s-4); min-width:0; }

/* steps */
.step{ overflow:hidden; transition:border-color var(--t),box-shadow var(--t); }
.step.is-done{ border-color:rgba(34,197,94,.3); }

.step__head{
  display:flex; gap:var(--s-4); align-items:flex-start;
  padding:var(--s-5) var(--s-6) 0;
}
.step__num{
  position:relative; flex:none;
  display:grid; place-items:center;
  width:34px; height:34px; border-radius:50%;
  background:rgba(124,58,237,.16); border:1px solid rgba(167,139,250,.35);
  color:var(--violet-2); font-weight:700; font-size:.9rem;
  transition:background var(--t),border-color var(--t),color var(--t);
}
.step__num b{ transition:opacity var(--t); }
.step__ok{
  position:absolute; width:17px; height:17px; opacity:0;
  transition:opacity var(--t),transform var(--t); transform:scale(.5);
}
.is-done .step__num{ background:rgba(34,197,94,.16); border-color:rgba(34,197,94,.45); color:var(--green); }
.is-done .step__num b{ opacity:0; }
.is-done .step__ok{ opacity:1; transform:scale(1); }

.step__title{ font-size:1.1rem; font-weight:600; letter-spacing:-.01em; }
.step__hint{ font-size:.855rem; color:var(--fg-3); margin-top:2px; }
.step__body{ padding:var(--s-5) var(--s-6) var(--s-6); }

/* campos */
.field{ display:block; }
.field--mt{ margin-top:var(--s-5); }
.field__label{ display:block; font-size:.86rem; font-weight:500; color:var(--fg-2); margin-bottom:8px; }
.field__box{
  display:flex; align-items:center; gap:10px;
  padding:0 6px 0 14px; min-height:52px;
  background:var(--bg-2);
  border:1.5px solid var(--line-2); border-radius:var(--r);
  transition:border-color var(--t),box-shadow var(--t),background var(--t);
}
.field__box:focus-within{
  border-color:var(--violet-2);
  box-shadow:0 0 0 4px rgba(124,58,237,.16);
  background:var(--surface);
}
.field__box.is-error{ border-color:var(--rose); box-shadow:0 0 0 4px rgba(244,63,94,.13); }
.field__box.is-ok{ border-color:rgba(34,197,94,.55); }
.field__ic{ color:var(--fg-3); }
.field__box input{
  flex:1; min-width:0; height:50px;
  background:none; border:0; outline:none;
  font-size:1rem; font-variant-numeric:tabular-nums;
}
.field__box input::placeholder{ color:#5d6377; }
.field__btn{
  flex:none; min-height:40px; padding:0 16px; border-radius:10px;
  background:rgba(124,58,237,.2); border:1px solid rgba(167,139,250,.3);
  color:var(--violet-2); font-size:.86rem; font-weight:600;
  display:inline-flex; align-items:center; gap:6px;
  transition:background var(--t),color var(--t),border-color var(--t);
}
.field__btn:hover{ background:rgba(124,58,237,.34); color:#fff; }
.field__btn .ic{ width:16px; height:16px; }
.field__help{ display:block; font-size:.79rem; color:var(--fg-3); margin-top:7px; }
.field__help.is-error{ color:var(--rose-2); }

/* resultado do ID */
.id-result{
  display:flex; align-items:center; gap:var(--s-3);
  margin-top:var(--s-4); padding:var(--s-3) var(--s-4);
  border-radius:var(--r);
  border:1px solid rgba(34,197,94,.28); background:rgba(34,197,94,.075);
  animation:slideIn var(--t-slow) both;
}
.id-result .ic{ color:var(--green); }
.id-result__lbl{ display:block; font-weight:600; }
.id-result.is-loading{ border-color:var(--line-2); background:var(--bg-2); }
.skel{
  height:12px; border-radius:6px; width:140px;
  background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);
  background-size:200% 100%; animation:shimmer 1.3s linear infinite;
}
.skel + .skel{ margin-top:8px; width:90px; }
@keyframes shimmer{ to{ background-position:-200% 0; } }
@keyframes slideIn{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }

/* tabs */
.tabs{
  display:inline-flex; gap:3px; padding:4px; margin-bottom:var(--s-5);
  background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r-pill);
}
.tab{
  min-height:38px; padding:0 18px; border-radius:var(--r-pill);
  font-size:.875rem; font-weight:500; color:var(--fg-3);
  transition:background var(--t),color var(--t);
}
.tab:hover{ color:var(--fg-2); }
.tab.is-active{ background:var(--surface-3); color:var(--fg); box-shadow:0 2px 10px rgba(0,0,0,.3); }

/* grid de pacotes */
.pack-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-3); }

.pack{
  position:relative; isolation:isolate;
  display:flex; flex-direction:column; align-items:center; gap:6px;
  padding:var(--s-5) var(--s-3) var(--s-4);
  min-height:150px;
  border:1.5px solid var(--line-2); border-radius:var(--r-lg);
  background:var(--bg-2); text-align:center; cursor:pointer;
  transition:border-color var(--t),background var(--t),transform var(--t-fast),box-shadow var(--t);
}
.pack::after{
  content:''; position:absolute; inset:-1.5px; border-radius:inherit; z-index:-1;
  background:radial-gradient(ellipse at 50% 0%,rgba(124,58,237,.28),transparent 65%);
  opacity:0; transition:opacity var(--t);
}
.pack:hover{ border-color:rgba(167,139,250,.5); transform:translateY(-2px); }
.pack:hover::after{ opacity:1; }
.pack[aria-checked="true"]{
  border-color:var(--violet-2);
  background:linear-gradient(160deg,rgba(124,58,237,.18),var(--surface));
  box-shadow:var(--glow-vio);
}
.pack[aria-checked="true"]::after{ opacity:1; }

.pack__img{ width:44px; height:44px; object-fit:contain; filter:drop-shadow(0 3px 10px rgba(56,189,248,.4)); }
.pack__ic{ width:32px; height:32px; color:var(--violet-2); margin-block:5px 1px; }
.pack__qty{
  font-family:'Russo One',sans-serif; font-size:1.075rem; color:#fff;
  font-variant-numeric:tabular-nums; line-height:1.2;
}
.pack__qty--sm{ font-size:.9rem; line-height:1.3; }
.pack__bonus{ font-size:.72rem; color:var(--cyan-2); line-height:1.4; text-wrap:balance; }
.pack__price{
  margin-top:auto; font-size:1.15rem; font-weight:700; color:#fff;
  font-variant-numeric:tabular-nums;
}
/* preço de referência + desconto, na mesma linha (evita colidir com a tag) */
.pack__cmp{
  display:inline-flex; align-items:center; gap:7px; margin-top:var(--s-3);
  font-size:.715rem; font-variant-numeric:tabular-nums;
}
.pack__cmp s{ color:var(--fg-3); text-decoration-color:rgba(244,63,94,.65); }
.pack__cmp em{
  font-style:normal; font-weight:700; padding:2px 6px; border-radius:5px;
  background:rgba(34,197,94,.14); color:var(--green); border:1px solid rgba(34,197,94,.26);
}
.pack__tag{
  position:absolute; top:-9px; left:50%; translate:-50% 0;
  padding:3px 10px; border-radius:var(--r-pill);
  font-size:.665rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  white-space:nowrap; color:#fff;
}
.pack__tag--hot{ background:var(--grad-cta); box-shadow:0 4px 14px -4px rgba(244,63,94,.7); }
.pack__tag--best{ background:linear-gradient(135deg,#0891b2,#38bdf8); box-shadow:0 4px 14px -4px rgba(56,189,248,.6); }

/* quantidade personalizada */
.custom{
  margin-top:var(--s-5); padding:var(--s-5);
  border:1px dashed var(--line-2); border-radius:var(--r-lg);
  background:var(--bg-2);
}
.custom__head{ display:flex; flex-wrap:wrap; gap:var(--s-3); align-items:center; justify-content:space-between; margin-bottom:var(--s-4); }
.custom__title{ font-size:.92rem; font-weight:600; }
.custom__badge{
  padding:4px 11px; border-radius:var(--r-pill); font-size:.75rem; font-weight:600;
  color:var(--cyan-2); background:rgba(56,189,248,.12); border:1px solid rgba(56,189,248,.25);
}
.custom__row{ display:flex; align-items:center; gap:var(--s-5); flex-wrap:wrap; }
.custom__out{ display:flex; align-items:center; gap:var(--s-4); flex:none; }
.custom__qty{ display:flex; align-items:center; gap:7px; font-size:.95rem; font-variant-numeric:tabular-nums; }
.custom__qty b{ font-family:'Russo One',sans-serif; font-weight:400; }
.custom__price{
  font-size:1.15rem; font-weight:700; color:#fff; font-variant-numeric:tabular-nums;
  min-width:96px; text-align:right;
}
.custom .btn{ margin-top:var(--s-4); }

input[type=range]{
  flex:1; min-width:180px; height:40px;
  -webkit-appearance:none; appearance:none; background:none; cursor:pointer;
}
input[type=range]::-webkit-slider-runnable-track{
  height:6px; border-radius:3px;
  background:linear-gradient(90deg,var(--violet) var(--fill,50%),var(--surface-3) var(--fill,50%));
}
input[type=range]::-moz-range-track{ height:6px; border-radius:3px; background:var(--surface-3); }
input[type=range]::-moz-range-progress{ height:6px; border-radius:3px; background:var(--violet); }
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:22px; height:22px; margin-top:-8px; border-radius:50%;
  background:#fff; border:4px solid var(--violet);
  box-shadow:0 3px 12px rgba(124,58,237,.6);
  transition:transform var(--t-fast);
}
input[type=range]::-webkit-slider-thumb:active{ transform:scale(1.16); }
input[type=range]::-moz-range-thumb{
  width:22px; height:22px; border-radius:50%;
  background:#fff; border:4px solid var(--violet); box-shadow:0 3px 12px rgba(124,58,237,.6);
}

/* pagamento */
.pay-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-3); }
.pay{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  min-height:96px; padding:var(--s-3);
  border:1.5px solid var(--line-2); border-radius:var(--r);
  background:var(--bg-2); cursor:pointer; text-align:center;
  transition:border-color var(--t),background var(--t),transform var(--t-fast);
}
.pay:hover{ border-color:rgba(167,139,250,.5); transform:translateY(-2px); }
.pay[aria-checked="true"]{
  border-color:var(--violet-2);
  background:linear-gradient(160deg,rgba(124,58,237,.16),var(--surface));
}
.pay__logo{ height:30px; display:grid; place-items:center; }
.pay__logo svg{ height:26px; width:auto; }

/* chip branco para as marcas oficiais (Pix, Visa, Mastercard) */
.pay__chip{
  display:inline-flex; align-items:center; justify-content:center;
  height:30px; padding:0 9px; border-radius:7px;
  background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.35);
}
.pay__chip img{ height:15px; width:auto; object-fit:contain; }

/* bandeiras de cartão: um chip por marca, com respiro entre elas */
.pay__brands{ display:inline-flex; align-items:center; gap:8px; }
.pay__brands .pay__chip{ padding-inline:8px; }
.pay__brands .pay__chip:first-child img{ height:11px; }  /* Visa é larga e baixa */
.pay__name{ font-size:.82rem; font-weight:500; color:var(--fg-2); }
.pay__meta{ font-size:.7rem; color:var(--green); font-weight:600; }
.pay__meta--slow{ color:var(--fg-3); }

/* checkbox */
.check{
  display:flex; align-items:flex-start; gap:11px;
  margin-top:var(--s-5); font-size:.845rem; color:var(--fg-3);
  cursor:pointer; line-height:1.55;
}
.check input{ position:absolute; opacity:0; width:0; height:0; }
.check__box{
  flex:none; display:grid; place-items:center;
  width:21px; height:21px; margin-top:1px; border-radius:6px;
  border:1.5px solid var(--line-2); background:var(--bg-2);
  transition:background var(--t),border-color var(--t);
}
.check__box .ic{ width:13px; height:13px; opacity:0; color:#fff; transition:opacity var(--t); }
.check input:checked + .check__box{ background:var(--violet); border-color:var(--violet); }
.check input:checked + .check__box .ic{ opacity:1; }
.check input:focus-visible + .check__box{ outline:2px solid var(--cyan); outline-offset:2px; }
.check a{ color:var(--violet-2); text-decoration:underline; text-underline-offset:2px; }

/* resumo */
.ck__side{ position:sticky; top:calc(var(--hdr-h) + 16px); }
.summary{ padding:var(--s-6); display:flex; flex-direction:column; gap:var(--s-3); }
.summary__title{ font-size:1.05rem; font-weight:600; margin-bottom:var(--s-2); }
.summary__row{
  display:flex; align-items:baseline; justify-content:space-between; gap:var(--s-4);
  font-size:.875rem; color:var(--fg-3);
  padding-bottom:var(--s-3); border-bottom:1px solid var(--line);
}
.summary__row b{ color:var(--fg); font-weight:600; text-align:right; }
.summary__save{
  display:flex; align-items:center; gap:10px;
  padding:11px 14px; border-radius:var(--r);
  background:rgba(34,197,94,.09); border:1px solid rgba(34,197,94,.24);
  font-size:.825rem; color:var(--fg-2);
  animation:slideIn var(--t-slow) both;
}
.summary__save .ic{ width:17px; height:17px; color:var(--green); }
.summary__save b{ color:var(--green); }
.summary__total{
  display:flex; align-items:center; justify-content:space-between;
  padding-block:var(--s-2) var(--s-4);
  font-size:.95rem; color:var(--fg-2);
}
.summary__total strong{
  font-family:'Russo One',sans-serif; font-weight:400; font-size:1.85rem; color:#fff;
  font-variant-numeric:tabular-nums; letter-spacing:-.01em;
}
.summary__trust{ display:flex; flex-direction:column; gap:9px; margin-top:var(--s-4); font-size:.79rem; color:var(--fg-3); }
.summary__trust li{ display:flex; align-items:center; gap:9px; }
.summary__trust .ic{ width:16px; height:16px; }

/* ─────────────────────────── COMO FUNCIONA ─────────────────────────── */
.how{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-4); }
.how__item{
  position:relative; padding:var(--s-8) var(--s-6) var(--s-6);
  border:1px solid var(--line); border-radius:var(--r-xl);
  background:linear-gradient(170deg,var(--surface),var(--bg-2));
  transition:border-color var(--t),transform var(--t);
}
.how__item:hover{ border-color:rgba(167,139,250,.32); transform:translateY(-3px); }
.how__n{
  position:absolute; top:var(--s-5); right:var(--s-6);
  font-family:'Russo One',sans-serif; font-size:2.6rem; line-height:1;
  color:rgba(255,255,255,.05);
}
.how__ic{ width:30px; height:30px; color:var(--violet-2); margin-bottom:var(--s-4); }
.how__item h3{ font-size:1.075rem; font-weight:600; margin-bottom:8px; }
.how__item p{ font-size:.9rem; color:var(--fg-3); line-height:1.65; }

.safety{
  display:flex; gap:var(--s-5); align-items:flex-start;
  margin-top:var(--s-6); padding:var(--s-6);
  border-radius:var(--r-xl);
  border:1px solid rgba(34,197,94,.24);
  background:linear-gradient(120deg,rgba(34,197,94,.075),transparent 60%);
}
.safety__ic{ width:30px; height:30px; color:var(--green); flex:none; }
.safety h3{ font-size:1.05rem; font-weight:600; margin-bottom:7px; }
.safety p{ font-size:.9rem; color:var(--fg-2); max-width:80ch; line-height:1.7; }

/* ─────────────────────────── TABELA ─────────────────────────── */
.tbl-wrap{
  overflow-x:auto; border:1px solid var(--line); border-radius:var(--r-xl);
  background:var(--surface); -webkit-overflow-scrolling:touch;
}
.tbl{ min-width:600px; font-size:.925rem; }
.tbl th,.tbl td{ padding:var(--s-4) var(--s-5); text-align:left; white-space:nowrap; }
.tbl thead th{
  font-size:.755rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase;
  color:var(--fg-3); border-bottom:1px solid var(--line-2); background:var(--bg-2);
}
.tbl__us{ color:var(--violet-2) !important; }
.tbl tbody tr{ border-bottom:1px solid var(--line); transition:background var(--t); }
.tbl tbody tr:last-child{ border-bottom:0; }
.tbl tbody tr:hover{ background:rgba(124,58,237,.055); }
.tbl td:first-child{ font-weight:600; }
.tbl .c-old{ color:var(--fg-3); text-decoration:line-through; font-variant-numeric:tabular-nums; }
.tbl .c-us{
  font-family:'Russo One',sans-serif; font-size:1.05rem; color:#fff;
  font-variant-numeric:tabular-nums;
}
.tbl .c-save{ color:var(--green); font-weight:700; font-variant-numeric:tabular-nums; }
.tbl .c-dia{ display:inline-flex; align-items:center; gap:8px; }
.tbl .c-dia .ic{ width:17px; height:17px; color:var(--cyan); }

.cta-band{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--s-5);
  margin-top:var(--s-8); padding:var(--s-8);
  border-radius:var(--r-xl);
  background:linear-gradient(120deg,rgba(124,58,237,.22),rgba(244,63,94,.13));
  border:1px solid rgba(167,139,250,.26);
}
.cta-band h3{ font-family:'Russo One',sans-serif; font-weight:400; font-size:1.45rem; margin-bottom:5px; }
.cta-band p{ color:var(--fg-2); font-size:.925rem; }

/* ─────────────────────────── AVALIAÇÕES ─────────────────────────── */
.reviews{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-4); }
.review{
  display:flex; flex-direction:column; gap:var(--s-3);
  padding:var(--s-6); border:1px solid var(--line); border-radius:var(--r-xl);
  background:var(--surface); transition:border-color var(--t),transform var(--t);
}
.review:hover{ border-color:rgba(167,139,250,.3); transform:translateY(-3px); }
.review__stars{ display:flex; gap:2px; color:var(--amber); }
.review__stars .ic{ width:15px; height:15px; }
.review__txt{ font-size:.92rem; color:var(--fg-2); line-height:1.68; flex:1; }
.review__who{ display:flex; align-items:center; gap:11px; padding-top:var(--s-3); border-top:1px solid var(--line); }
.review__av{
  display:grid; place-items:center; flex:none;
  width:36px; height:36px; border-radius:50%;
  background:linear-gradient(135deg,var(--violet),var(--cyan));
  font-size:.8rem; font-weight:700; color:#fff;
}
.review__name{ font-size:.875rem; font-weight:600; }
.review__meta{ display:flex; align-items:center; gap:6px; font-size:.735rem; color:var(--fg-3); }
.review__ok{ display:inline-flex; align-items:center; gap:3px; color:var(--green); }
.review__ok .ic{ width:12px; height:12px; }

/* ─────────────────────────── FAQ ─────────────────────────── */
.faq{ display:flex; flex-direction:column; gap:var(--s-3); }
.faq__item{
  border:1px solid var(--line); border-radius:var(--r-lg);
  background:var(--surface); overflow:hidden;
  transition:border-color var(--t);
}
.faq__item[open]{ border-color:rgba(167,139,250,.3); }
.faq__q{
  display:flex; align-items:center; justify-content:space-between; gap:var(--s-4);
  padding:var(--s-5) var(--s-6); cursor:pointer; list-style:none;
  font-size:1rem; font-weight:500; min-height:60px;
  transition:background var(--t);
}
.faq__q::-webkit-details-marker{ display:none; }
.faq__q:hover{ background:rgba(255,255,255,.03); }
.faq__q .ic{ color:var(--fg-3); transition:transform var(--t),color var(--t); }
.faq__item[open] .faq__q .ic{ transform:rotate(180deg); color:var(--violet-2); }
.faq__a{ padding:0 var(--s-6) var(--s-6); font-size:.925rem; color:var(--fg-3); line-height:1.72; }
.faq__a strong{ color:var(--fg-2); }
.faq__item[open] .faq__a{ animation:slideIn var(--t-slow) both; }
.faq__more{ margin-top:var(--s-8); text-align:center; display:flex; flex-direction:column; align-items:center; gap:var(--s-4); }
.faq__more p{ color:var(--fg-3); font-size:.925rem; }

/* ─────────────────────────── SUPORTE ─────────────────────────── */
.support__in{ display:grid; grid-template-columns:1.25fr 1fr; gap:var(--s-10); align-items:center; }
.support__in .h2{ margin-block:var(--s-3) var(--s-3); }
.support__btns{ display:flex; flex-wrap:wrap; gap:var(--s-3); margin-top:var(--s-6); }
.support__card{
  display:flex; flex-direction:column; gap:var(--s-4);
  padding:var(--s-8); border-radius:var(--r-xl);
  border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(124,58,237,.15),var(--surface));
}
.support__stat b{
  display:block; font-family:'Russo One',sans-serif; font-weight:400;
  font-size:1.7rem; color:#fff; font-variant-numeric:tabular-nums;
}
.support__stat span{ font-size:.83rem; color:var(--fg-3); }
.support__stat + .support__stat{ padding-top:var(--s-4); border-top:1px solid var(--line); }

/* ─────────────────────────── FOOTER ─────────────────────────── */
.ftr{ border-top:1px solid var(--line); background:var(--bg-2); padding-top:var(--s-16); }
.ftr__in{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:var(--s-8); padding-bottom:var(--s-12); }
.ftr__brand p{ margin-top:var(--s-4); font-size:.875rem; color:var(--fg-3); max-width:38ch; line-height:1.7; }
.ftr__col h4{ font-size:.79rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--fg-2); margin-bottom:var(--s-4); }
.ftr__col{ display:flex; flex-direction:column; gap:11px; }
.ftr__col a{ font-size:.885rem; color:var(--fg-3); transition:color var(--t); width:fit-content; }
.ftr__col a:hover{ color:var(--violet-2); }

.ftr__legal{
  padding-block:var(--s-6); border-top:1px solid var(--line);
  display:flex; flex-direction:column; gap:var(--s-3);
  font-size:.79rem; color:var(--fg-3); line-height:1.65;
}
.ftr__disc{ max-width:92ch; }
.ftr__disc strong{ color:var(--fg-2); font-weight:500; }

/* dados da empresa */
.ftr__cnpj{ display:flex; flex-wrap:wrap; gap:var(--s-2) var(--s-6); }
.ftr__cnpj li{ display:flex; align-items:baseline; gap:7px; }
.ftr__cnpj span{ color:var(--fg-3); }
.ftr__cnpj b{ color:var(--fg-2); font-weight:500; font-variant-numeric:tabular-nums; }

/* ─────────────────────────── BARRA MOBILE ─────────────────────────── */
.mbar{
  position:fixed; left:0; right:0; bottom:0; z-index:var(--z-mbar);
  display:none; align-items:center; gap:var(--s-4);
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:rgba(10,10,19,.93); backdrop-filter:blur(18px);
  border-top:1px solid var(--line-2);
  transform:translateY(110%); transition:transform var(--t-slow);
}
.mbar.is-in{ transform:none; }
.mbar__info{ flex:1; min-width:0; }
.mbar__lbl{ display:block; font-size:.74rem; color:var(--fg-3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mbar__val{ font-family:'Russo One',sans-serif; font-weight:400; font-size:1.3rem; color:#fff; font-variant-numeric:tabular-nums; }
.mbar .btn{ flex:none; }

/* ─────────────────────────── MODAIS ─────────────────────────── */
.modal{ position:fixed; inset:0; z-index:var(--z-modal); display:grid; place-items:center; padding:20px; }
.modal__scrim{ position:absolute; inset:0; background:rgba(3,3,8,.72); backdrop-filter:blur(6px); animation:fadeIn var(--t) both; }
.modal__box{
  position:relative; width:100%; max-width:460px;
  max-height:calc(100dvh - 40px); overflow-y:auto;
  display:flex; flex-direction:column; gap:var(--s-4);
  padding:var(--s-8);
  background:var(--surface); border:1px solid var(--line-2);
  border-radius:var(--r-xl); box-shadow:0 30px 90px -20px rgba(0,0,0,.85);
  animation:popIn var(--t-slow) both;
}
.modal__box--pix{ max-width:420px; }
.modal__x{
  position:absolute; top:14px; right:14px;
  display:grid; place-items:center; width:36px; height:36px; border-radius:50%;
  color:var(--fg-3); transition:background var(--t),color var(--t);
}
.modal__x:hover{ background:rgba(255,255,255,.08); color:var(--fg); }
.modal__title{ font-size:1.2rem; font-weight:600; padding-right:36px; letter-spacing:-.01em; }
.modal__sub{ font-size:.9rem; color:var(--fg-3); margin-top:-8px; }
.modal__steps{ display:flex; flex-direction:column; gap:var(--s-3); counter-reset:ms; }
.modal__steps li{
  position:relative; padding-left:34px; font-size:.9rem; color:var(--fg-2); line-height:1.65;
  counter-increment:ms;
}
.modal__steps li::before{
  content:counter(ms); position:absolute; left:0; top:1px;
  display:grid; place-items:center; width:23px; height:23px; border-radius:50%;
  background:rgba(124,58,237,.18); border:1px solid rgba(167,139,250,.3);
  color:var(--violet-2); font-size:.755rem; font-weight:700;
}
.modal__steps b{ color:var(--fg); }
.modal__note{
  display:flex; gap:10px; align-items:flex-start;
  padding:12px 14px; border-radius:var(--r);
  background:var(--bg-2); border:1px solid var(--line);
  font-size:.83rem; color:var(--fg-3); line-height:1.6;
}
.modal__note .ic{ width:17px; height:17px; margin-top:1px; }
.modal__note b{ color:var(--fg); font-variant-numeric:tabular-nums; }

@keyframes fadeIn{ from{ opacity:0; } }
@keyframes popIn{ from{ opacity:0; transform:translateY(14px) scale(.97); } }

/* ── modal de checkout (iframe do gateway) ── */
.modal__box--co{
  max-width:560px; padding:0; gap:0;
  height:min(720px,calc(100dvh - 40px));
  overflow:hidden;
}
.co__head{
  display:flex; align-items:flex-start; gap:var(--s-4);
  padding:var(--s-5) var(--s-6); border-bottom:1px solid var(--line);
  flex:none;
}
.co__headtxt{ flex:1; min-width:0; }
.co__head .modal__title{ padding-right:0; font-size:1.075rem; }
.co__head .modal__sub{ margin-top:3px; }
.modal__x--inline{ position:static; flex:none; }

.co__body{ flex:1; min-height:0; position:relative; display:flex; }
.co__frame{ flex:1; width:100%; border:0; background:#fff; }

.co__state{
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:var(--s-4); padding:var(--s-8) var(--s-6); text-align:center;
}
.co__state p{ font-size:.925rem; color:var(--fg-3); max-width:40ch; line-height:1.65; }
.co__state h4{ font-size:1.15rem; font-weight:600; }
.co__state--err .ic--lg{ color:var(--rose-2); }
.ic--lg{ width:36px; height:36px; }
.spinner--lg{ display:block; width:30px; height:30px; border-width:3px; border-top-color:var(--violet-2); }

.co__tick{
  display:grid; place-items:center; width:60px; height:60px; border-radius:50%;
  background:rgba(34,197,94,.14); border:1.5px solid rgba(34,197,94,.42); color:var(--green);
  animation:tickIn 420ms var(--ease) both;
}
.co__tick .ic{ width:28px; height:28px; }
@keyframes tickIn{ from{ opacity:0; transform:scale(.6); } }

.co__foot{
  display:flex; align-items:center; justify-content:space-between; gap:var(--s-4);
  padding:var(--s-3) var(--s-6); border-top:1px solid var(--line);
  background:var(--bg-2); flex:none; min-height:52px;
}
.co__status{ display:inline-flex; align-items:center; gap:8px; font-size:.79rem; color:var(--fg-3); }
.co__status .ic{ width:15px; height:15px; }
.co__foot .link-btn{ font-size:.815rem; }
.co__foot .link-btn .ic{ width:15px; height:15px; }

/* ─────────────────────────── TOASTS ─────────────────────────── */
.toasts{
  position:fixed; right:16px; bottom:16px; z-index:var(--z-toast);
  display:flex; flex-direction:column-reverse; gap:10px;
  pointer-events:none; max-width:min(92vw,360px);
}
.toast{
  display:flex; align-items:flex-start; gap:11px;
  padding:13px 16px; border-radius:var(--r);
  background:var(--surface-2); border:1px solid var(--line-2);
  box-shadow:0 14px 40px -12px rgba(0,0,0,.8);
  font-size:.875rem; color:var(--fg-2);
  animation:toastIn var(--t-slow) both;
}
.toast.is-out{ animation:toastOut var(--t) both; }
.toast .ic{ width:18px; height:18px; margin-top:1px; flex:none; }
.toast--ok .ic{ color:var(--green); }
.toast--err .ic{ color:var(--rose-2); }
.toast--info .ic{ color:var(--cyan); }
@keyframes toastIn{ from{ opacity:0; transform:translateX(24px); } }
@keyframes toastOut{ to{ opacity:0; transform:translateX(24px); } }

/* ─────────────────────────── REVEAL ─────────────────────────── */
.reveal{ opacity:0; transform:translateY(20px); transition:opacity 600ms var(--ease),transform 600ms var(--ease); }
.reveal.is-in{ opacity:1; transform:none; }

/* ══════════════════════════ RESPONSIVO ══════════════════════════ */
@media (max-width:1080px){
  .ck{ grid-template-columns:1fr; }
  .ck__side{ position:static; }
  .summary__trust{ flex-direction:row; flex-wrap:wrap; gap:var(--s-3) var(--s-5); }
}

@media (max-width:900px){
  .nav{
    position:fixed; inset:var(--hdr-h) 0 auto; z-index:calc(var(--z-hdr) - 1);
    flex-direction:column; align-items:stretch; gap:2px;
    padding:12px 16px 20px;
    background:rgba(7,7,13,.97); backdrop-filter:blur(20px);
    border-bottom:1px solid var(--line);
    transform:translateY(-125%); opacity:0; pointer-events:none;
    transition:transform var(--t-slow),opacity var(--t);
  }
  .nav.is-open{ transform:none; opacity:1; pointer-events:auto; }
  .nav a{ padding:14px 12px; font-size:.975rem; min-height:48px; display:flex; align-items:center; }
  .nav a.is-active::after{ display:none; }
  .show-sm{ display:grid; }
  .hide-sm{ display:none; }
  .hdr__act{ margin-left:auto; }

  .how,.reviews{ grid-template-columns:1fr; }
  .support__in{ grid-template-columns:1fr; gap:var(--s-8); }
  .stats__grid{ grid-template-columns:repeat(2,1fr); gap:var(--s-6) 0; }
  .stat:nth-child(3){ border-left:0; }
  .ftr__in{ grid-template-columns:1fr 1fr; gap:var(--s-8) var(--s-6); }
  .ftr__brand{ grid-column:1/-1; }
}

@media (max-width:720px){
  :root{ --hdr-h:60px; }
  .announce__track{ font-size:.735rem; gap:11px; }
  .announce__track span:nth-child(3),.announce__track .dot:nth-child(2){ display:none; }

  .hero__in{ padding-block:44px 56px; }
  .hero__bg img{ object-position:62% 28%; opacity:.42; }
  .hero__copy{ gap:var(--s-5); }
  .hero__cta{ width:100%; }
  .hero__cta .btn{ flex:1; }
  .hero__anchor{ width:100%; padding:var(--s-4); }
  .anchor__vs{ padding-left:0; border-left:0; padding-top:var(--s-3); border-top:1px solid var(--line-2); width:100%; }
  .trust{ gap:10px var(--s-4); font-size:.8rem; }

  .pack-grid{ grid-template-columns:repeat(2,1fr); }
  .pay-grid{ grid-template-columns:repeat(2,1fr); }
  .step__head{ padding:var(--s-5) var(--s-4) 0; gap:var(--s-3); }
  .step__body{ padding:var(--s-4); }
  .summary{ padding:var(--s-5); }
  .card{ border-radius:var(--r-lg); }

  .custom__row{ gap:var(--s-3); }
  .custom__out{ width:100%; justify-content:space-between; }
  .custom .btn,.custom__apply{ width:100%; }

  .cta-band{ padding:var(--s-6); text-align:center; justify-content:center; }
  .cta-band .btn{ width:100%; }
  .safety{ flex-direction:column; gap:var(--s-4); padding:var(--s-5); }
  .support__btns .btn{ width:100%; }

  .mbar{ display:flex; }
  body.has-mbar{ padding-bottom:88px; }

  .modal{ padding:0; place-items:end center; }
  .modal__box{
    max-width:none; border-radius:var(--r-xl) var(--r-xl) 0 0;
    padding:var(--s-6) var(--s-5) calc(var(--s-6) + env(safe-area-inset-bottom));
    max-height:92dvh; animation:sheetIn var(--t-slow) both;
  }
  @keyframes sheetIn{ from{ transform:translateY(100%); } }
  .modal__box--co{ padding:0; height:94dvh; max-height:94dvh; }
  .co__head,.co__foot{ padding-inline:var(--s-5); }
  .co__foot{ padding-bottom:calc(var(--s-3) + env(safe-area-inset-bottom)); }
  .toasts{ left:12px; right:12px; bottom:100px; max-width:none; }
}

@media (max-width:400px){
  .pack{ min-height:138px; padding:var(--s-4) 10px var(--s-3); }
  .pack__qty{ font-size:.98rem; }
  .stats__grid{ grid-template-columns:1fr 1fr; }
  .stat{ border-left:0 !important; }
}

/* ══════════════════════════ A11Y: MOVIMENTO ══════════════════════════ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  .reveal{ opacity:1; transform:none; }
  .hero__glow{ animation:none; }
  .mbar{ transform:none; }
}

/* ══════════════════════════ IMPRESSÃO ══════════════════════════ */
@media print{
  .hdr,.announce,.mbar,.modal,.toasts,.hero__bg,.skip-link{ display:none !important; }
  body{ background:#fff; color:#000; }
}
