/* =========================================================
   i9 TELECOM — Comunicação sem limites
   Design system
   ========================================================= */
:root{
  --cyan:#5fd0ec;
  --cyan-2:#8ee5fa;
  --cyan-deep:#22a5c7;
  --purple:#7c3aed;
  --purple-2:#a855f7;
  --wa:#25d366;
  --wa-dark:#1eb455;

  --bg:#050a1c;
  --bg-2:#080f27;
  --panel:rgba(255,255,255,.045);
  --panel-2:rgba(255,255,255,.07);
  --line:rgba(255,255,255,.10);
  --line-2:rgba(255,255,255,.18);

  --ink:#eef4ff;
  --ink-2:#a9b6d4;
  --ink-3:#7d8bab;

  --r-sm:12px;
  --r:18px;
  --r-lg:26px;
  --r-xl:34px;

  --shadow:0 24px 60px -24px rgba(0,0,0,.75);
  --shadow-cyan:0 20px 60px -22px rgba(95,208,236,.55);

  --wrap:1200px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;overflow-x:hidden}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{font-family:'Archivo',sans-serif;line-height:1.05;margin:0;letter-spacing:-.02em}
p{margin:0}
button{font:inherit}
.wrap{width:min(100% - 40px,var(--wrap));margin-inline:auto}
.ico{width:18px;height:18px;fill:currentColor;flex:none}

/* ---------- gradients / text ---------- */
.grad{background:linear-gradient(100deg,var(--cyan-2),var(--cyan) 40%,var(--purple-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.grad--2{background:linear-gradient(100deg,var(--purple-2),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.grad--hbo{background:linear-gradient(100deg,#c084fc,#7c3aed 60%,#5fd0ec);-webkit-background-clip:text;background-clip:text;color:transparent}

/* =========================================================
   BACKGROUND FX
   ========================================================= */
.bg-fx{position:fixed;inset:0;z-index:-1;overflow:hidden;background:
  radial-gradient(1200px 700px at 78% -10%,rgba(124,58,237,.28),transparent 60%),
  radial-gradient(1000px 600px at 5% 8%,rgba(95,208,236,.20),transparent 62%),
  linear-gradient(180deg,#050a1c,#070d22 45%,#050a1c)}
.orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:drift 22s ease-in-out infinite}
.orb--1{width:520px;height:520px;background:rgba(95,208,236,.35);top:-140px;left:-120px}
.orb--2{width:600px;height:600px;background:rgba(124,58,237,.32);top:24%;right:-200px;animation-delay:-7s}
.orb--3{width:460px;height:460px;background:rgba(34,165,199,.25);bottom:-160px;left:28%;animation-delay:-13s}
@keyframes drift{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(40px,-50px,0) scale(1.12)}
}
.grid-lines{position:absolute;inset:0;opacity:.35;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,#000,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,#000,transparent 75%)}

/* =========================================================
   TOPBAR
   ========================================================= */
.topbar{background:rgba(255,255,255,.03);border-bottom:1px solid var(--line);font-size:13px;color:var(--ink-2)}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;flex-wrap:wrap}
.topbar__item{display:inline-flex;align-items:center;gap:8px;transition:color .25s;white-space:nowrap}
.topbar__item .ico{width:15px;height:15px;color:var(--cyan)}
a.topbar__item:hover{color:var(--cyan-2)}
.topbar__right{display:flex;gap:22px;align-items:center}
@media (max-width:760px){
  .topbar__inner>.topbar__item:first-child{display:none}
  .topbar__right{width:100%;justify-content:space-between;gap:10px;font-size:11.5px}
  .topbar__right .topbar__item:first-child{overflow:hidden;text-overflow:ellipsis;min-width:0}
}

/* =========================================================
   LOGO
   ========================================================= */
/* Empilhado como na marca original: "i9" acima, "TELECOM." abaixo
   e a assinatura espaçada na base — tudo em ciano com sombra dura. */
.logo{display:inline-flex;flex-direction:column;align-items:center;gap:1px;
  color:var(--cyan);line-height:1;text-align:center}
.logo__i9{
  font-family:'Archivo',sans-serif;font-weight:900;font-size:24px;line-height:1;
  letter-spacing:-.04em;
  text-shadow:2px 3px 0 rgba(0,0,0,.55),0 0 26px rgba(95,208,236,.55);
}
.logo__name{font-family:'Archivo',sans-serif;font-weight:900;font-size:24px;line-height:1;
  letter-spacing:.01em;
  text-shadow:2px 3px 0 rgba(0,0,0,.55),0 0 26px rgba(95,208,236,.55)}
.logo__name i{font-style:normal}
.logo__tag{font-family:'Archivo',sans-serif;font-size:7.5px;font-weight:600;
  letter-spacing:.19em;text-transform:uppercase;line-height:1.4;
  text-shadow:1px 1px 0 rgba(0,0,0,.5)}
.logo--footer .logo__i9,.logo--footer .logo__name{font-size:32px}
.logo--footer .logo__tag{font-size:9.5px;letter-spacing:.24em}

/* =========================================================
   HEADER
   ========================================================= */
.header{position:sticky;top:0;z-index:60;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  background:rgba(5,10,28,.55);border-bottom:1px solid transparent;transition:background .3s,border-color .3s,box-shadow .3s}
.header.is-stuck{background:rgba(5,10,28,.88);border-bottom-color:var(--line);box-shadow:0 12px 40px -20px rgba(0,0,0,.9)}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px}
.nav{display:flex;gap:26px;font-size:14.5px;font-weight:600;color:var(--ink-2)}
.nav a{position:relative;padding:6px 0;transition:color .25s}
.nav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;border-radius:2px;
  background:linear-gradient(90deg,var(--cyan),var(--purple-2));transition:width .3s var(--ease)}
.nav a:hover{color:#fff}
.nav a:hover::after,.nav a.is-active::after{width:100%}
.nav a.is-active{color:#fff}
.header__actions{display:flex;align-items:center;gap:12px}
/* Central do Assinante: botão no cabeçalho largo, item de menu no estreito */
.btn--central .ico{width:16px;height:16px}
.nav__central{display:none}

.burger{display:none;position:relative;width:44px;height:44px;border-radius:12px;border:1px solid var(--line-2);
  background:var(--panel);color:#fff;cursor:pointer;padding:0}
.burger span{position:absolute;left:50%;width:21px;height:2px;margin-left:-10.5px;border-radius:2px;
  background:currentColor;transition:transform .3s var(--ease),opacity .2s}
.burger span:nth-child(1){top:14px}
.burger span:nth-child(2){top:21px}
.burger span:nth-child(3){top:28px}
.burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.is-open span:nth-child(2){opacity:0}
.burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* com o botão da Central no cabeçalho, o menu recolhe mais cedo */
@media (max-width:1260px){
  .nav{position:fixed;inset:118px 20px auto 20px;flex-direction:column;gap:4px;padding:14px;
    background:#0a1130;border:1px solid var(--line-2);border-radius:var(--r-lg);
    box-shadow:0 30px 70px -20px rgba(0,0,0,.95);
    transform:translateY(-14px);opacity:0;pointer-events:none;transition:.32s var(--ease)}
  .nav.is-open{transform:none;opacity:1;pointer-events:auto}
  .nav a{padding:13px 12px;border-radius:12px;font-size:16px}
  .nav a:hover{background:var(--panel)}
  .nav a::after{display:none}
  .burger{display:block}
  .header__actions .btn--central{display:none}
  .nav__central{display:flex;align-items:center;gap:9px;margin-top:8px;
    border:1px solid rgba(95,208,236,.42);color:var(--cyan-2);justify-content:center}
  .nav__central .ico{width:17px;height:17px}
  .nav__central:hover{background:rgba(95,208,236,.12);color:#fff}
}
@media (max-width:560px){
  .header__actions .btn--wa{display:none}
  .header__inner{min-height:66px}
  .logo__i9,.logo__name{font-size:20px}
  .logo__tag{font-size:6.5px;letter-spacing:.2em}
}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 26px;border-radius:999px;font-weight:700;font-size:15px;letter-spacing:.01em;
  border:1px solid transparent;cursor:pointer;transition:.28s var(--ease);white-space:nowrap;position:relative;overflow:hidden}
.btn--sm{padding:11px 20px;font-size:14px}
.btn--block{width:100%}
.btn--wa{background:linear-gradient(135deg,var(--wa),var(--wa-dark));color:#04210f;
  box-shadow:0 16px 34px -16px rgba(37,211,102,.85)}
.btn--wa:hover{transform:translateY(-2px);box-shadow:0 22px 44px -16px rgba(37,211,102,.95)}
.ico--wa{width:20px;height:20px}
.btn--ghost{background:var(--panel);color:#fff;border-color:var(--line-2);backdrop-filter:blur(8px)}
.btn--ghost:hover{background:var(--panel-2);border-color:var(--cyan);transform:translateY(-2px)}
.btn--outline{background:transparent;color:var(--cyan-2);border-color:rgba(95,208,236,.42)}
.btn--outline:hover{background:rgba(95,208,236,.12);border-color:var(--cyan);color:#fff;transform:translateY(-2px)}
.btn:focus-visible{outline:2px solid var(--cyan-2);outline-offset:3px}

/* =========================================================
   HERO
   ========================================================= */
.hero{position:relative;padding:76px 0 0}
.hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;
  background:var(--panel);border:1px solid var(--line-2);font-size:13px;font-weight:600;color:var(--ink-2)}
.pill__dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px rgba(95,208,236,.18);animation:blink 2s infinite}
@keyframes blink{50%{opacity:.35}}
.hero h1{font-size:clamp(36px,4.6vw,60px);font-weight:900;margin:22px 0 20px}
.hero__lead{color:var(--ink-2);font-size:clamp(16px,1.4vw,18.5px);max-width:56ch}
.hero__lead strong{color:#fff;font-weight:700}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin:32px 0 38px}
.hero__stats{display:flex;gap:14px;flex-wrap:wrap}
.hero__stats li{flex:1 1 140px;padding:16px 18px;border-radius:var(--r);
  background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(8px)}
.hero__stats b{display:block;font-family:'Archivo',sans-serif;font-size:24px;font-weight:900;
  background:linear-gradient(100deg,var(--cyan-2),var(--purple-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__stats span{font-size:12.5px;color:var(--ink-3)}

/* hero art */
.hero__art{position:relative;height:clamp(360px,42vw,480px);display:grid;place-items:center}
.signal{position:relative;width:min(340px,80%);aspect-ratio:1;display:grid;place-items:center}
.signal[hidden]{display:none}
.signal::before{content:"";position:absolute;inset:18%;border-radius:50%;
  background:radial-gradient(circle at 40% 35%,rgba(95,208,236,.45),rgba(124,58,237,.28) 55%,transparent 72%);filter:blur(6px)}
.signal__ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(95,208,236,.35);animation:ripple 3.6s var(--ease) infinite}
.signal__ring:nth-child(2){animation-delay:1.2s}
.signal__ring:nth-child(3){animation-delay:2.4s}
@keyframes ripple{0%{transform:scale(.45);opacity:.9}100%{transform:scale(1.05);opacity:0}}
.signal__wifi{position:relative;width:44%;fill:#eaf9ff;filter:drop-shadow(0 8px 26px rgba(95,208,236,.75))}

/* ---------- carrossel do mascote ---------- */
.mascot{position:relative;width:min(440px,96%);aspect-ratio:1;display:grid;place-items:center}
.mascot[hidden]{display:none}
.mascot__glow{position:absolute;inset:10%;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 45% 40%,rgba(95,208,236,.42),rgba(124,58,237,.28) 55%,transparent 72%);
  filter:blur(34px)}
.mascot__stage{position:relative;width:100%;height:100%}
.mascot__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  opacity:0;transform:scale(.92) translateY(14px);
  transition:opacity .8s var(--ease),transform 1s var(--ease);
  filter:drop-shadow(0 26px 46px rgba(0,0,0,.6))}
.mascot__img.is-active{opacity:1;transform:none;animation:mascotFloat 6s ease-in-out infinite}
@keyframes mascotFloat{50%{transform:translateY(-14px)}}

.mascot__dots{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);
  display:flex;gap:9px;padding:8px 12px;border-radius:999px;
  background:rgba(5,10,28,.55);border:1px solid var(--line);backdrop-filter:blur(8px)}
.mascot__dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.26);transition:.3s var(--ease)}
.mascot__dots button:hover{background:rgba(255,255,255,.5)}
.mascot__dots button[aria-selected="true"]{width:26px;border-radius:999px;
  background:linear-gradient(90deg,var(--cyan),var(--purple-2))}
.mascot__dots button:focus-visible{outline:2px solid var(--cyan-2);outline-offset:3px}

.float-card{position:absolute;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;
  background:rgba(10,18,45,.82);border:1px solid var(--line-2);box-shadow:var(--shadow);
  backdrop-filter:blur(12px);animation:bob 6s ease-in-out infinite}
.float-card .ico{width:22px;height:22px;color:var(--cyan)}
.float-card b{display:block;font-size:13.5px}
.float-card span{font-size:11.5px;color:var(--ink-3)}
.float-card--1{top:6%;left:-2%}
.float-card--2{bottom:12%;right:-4%;animation-delay:-2s}
.float-card--3{bottom:10%;left:-6%;animation-delay:-4s}
@keyframes bob{50%{transform:translateY(-12px)}}
.hbo-mini{font-family:'Archivo',sans-serif;font-weight:900;font-size:15px;letter-spacing:-.02em;color:#fff}
.hbo-mini i{font-style:normal;font-weight:500;color:var(--purple-2);margin-left:1px}
@media (max-width:1040px){
  .hero{padding-top:48px}
  .hero__inner{grid-template-columns:1fr;gap:8px}
  .hero__art{height:340px;margin-top:6px}
  .mascot{width:auto;height:100%}
  .hero h1{margin:18px 0 16px}
  .hero__cta{margin:26px 0 30px}
  .float-card--1{left:0}.float-card--2{right:0}.float-card--3{display:none}
}
@media (max-width:560px){
  .hero{padding-top:34px}
  .hero__art{height:300px}
  .hero__stats li{padding:14px 16px}
  .marquee{margin-top:44px}
}

/* marquee */
.marquee{margin-top:60px;padding:14px 0;border-block:1px solid var(--line);
  background:linear-gradient(90deg,rgba(95,208,236,.08),rgba(124,58,237,.10));overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;align-items:center;gap:26px;width:max-content;animation:slide 32s linear infinite;
  font-family:'Archivo',sans-serif;font-weight:800;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.marquee__track i{color:var(--cyan);font-style:normal;font-size:10px}
@keyframes slide{to{transform:translateX(-50%)}}

/* =========================================================
   SECTIONS
   ========================================================= */
.section{padding:100px 0;position:relative}
@media (max-width:760px){.section{padding:68px 0}.section__head{margin-bottom:36px}.combo__col{padding:22px}}
.section--soft{background:linear-gradient(180deg,transparent,rgba(255,255,255,.028),transparent)}
.section--tv{background:radial-gradient(900px 500px at 70% 40%,rgba(124,58,237,.16),transparent 70%)}
.section--combo{background:radial-gradient(900px 500px at 20% 40%,rgba(95,208,236,.10),transparent 70%)}
.section__head{max-width:660px;margin:0 auto 54px;text-align:center}
.section__head--left{text-align:left;margin:0}
.eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;
  color:var(--cyan);padding:7px 14px;border-radius:999px;background:rgba(95,208,236,.10);border:1px solid rgba(95,208,236,.28)}
.eyebrow--purple{color:var(--purple-2);background:rgba(168,85,247,.10);border-color:rgba(168,85,247,.30)}
.section__head h2,.cta h2,.tv h2,.fixo h2,.speed h2{font-size:clamp(32px,4.2vw,50px);font-weight:900;margin:18px 0 14px}
.section__head p{color:var(--ink-2)}
.note{text-align:center;color:var(--ink-3);font-size:13px;margin-top:32px}

/* =========================================================
   PLANOS
   ========================================================= */
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:1100px){.plans{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.plans{grid-template-columns:1fr}}

.plan{position:relative;display:flex;flex-direction:column;padding:30px 26px 26px;border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.028));
  border:1px solid var(--line);backdrop-filter:blur(10px);transition:.35s var(--ease);overflow:hidden}
.plan::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;
  background:linear-gradient(160deg,rgba(95,208,236,.6),transparent 45%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s}
.plan:hover{transform:translateY(-8px);border-color:transparent;box-shadow:var(--shadow-cyan)}
.plan:hover::before{opacity:1}
.plan__speed{display:inline-flex;align-items:baseline;gap:4px;align-self:flex-start;
  padding:8px 16px;border-radius:999px;border:1.5px solid rgba(95,208,236,.45);
  background:rgba(95,208,236,.10);margin-bottom:18px}
.plan__speed b{font-family:'Archivo',sans-serif;font-weight:900;font-size:22px;color:var(--cyan-2)}
.plan__speed span{font-size:12px;font-weight:700;color:var(--cyan);letter-spacing:.06em}
.plan h3{font-size:22px;font-weight:800}
.plan__for{color:var(--ink-3);font-size:13.5px;margin:8px 0 20px;min-height:40px}
.plan__price{display:flex;align-items:flex-start;gap:3px;color:#fff;margin-bottom:22px}
.plan__price small{font-size:16px;font-weight:700;margin-top:10px;color:var(--ink-2)}
.plan__price strong{font-family:'Archivo',sans-serif;font-size:52px;font-weight:900;line-height:1;letter-spacing:-.04em}
.plan__price span{font-family:'Archivo',sans-serif;font-size:19px;font-weight:800;margin-top:6px}
.plan__price i{display:block;font-style:normal;font-size:12px;font-weight:600;color:var(--ink-3);font-family:'Plus Jakarta Sans',sans-serif}
.plan__list{display:grid;gap:11px;margin-bottom:26px;flex:1}
.plan__list li{position:relative;padding-left:26px;font-size:14px;color:var(--ink-2)}
.plan__list li::before{content:"";position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;
  background:rgba(95,208,236,.18);
  box-shadow:inset 0 0 0 1px rgba(95,208,236,.5)}
.plan__list li::after{content:"";position:absolute;left:5.2px;top:10px;width:4px;height:7px;
  border-right:2px solid var(--cyan-2);border-bottom:2px solid var(--cyan-2);transform:rotate(42deg)}
.plan .btn{width:100%}
.plan--pop{background:linear-gradient(180deg,rgba(124,58,237,.28),rgba(95,208,236,.10) 60%,rgba(255,255,255,.03));
  border-color:rgba(168,85,247,.45);box-shadow:0 30px 70px -34px rgba(124,58,237,.9)}
.plan--pop::before{background:linear-gradient(160deg,rgba(168,85,247,.85),rgba(95,208,236,.5) 50%,transparent 75%);opacity:1}
.plan__badge{position:absolute;top:16px;right:16px;font-size:10.5px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;padding:6px 12px;border-radius:999px;
  background:linear-gradient(135deg,var(--purple-2),var(--cyan));color:#0a0f26}

/* =========================================================
   TV + HBO
   ========================================================= */
.tv{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media (max-width:960px){.tv{grid-template-columns:1fr;gap:40px}}
.tv__copy p{color:var(--ink-2);margin-bottom:26px;max-width:52ch}
.tv__price{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:26px}
.price-chip{padding:14px 22px;border-radius:var(--r);border:1px solid rgba(168,85,247,.4);
  background:linear-gradient(135deg,rgba(124,58,237,.22),rgba(95,208,236,.12))}
.price-chip small{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.price-chip div{display:flex;align-items:flex-start;gap:2px;color:#fff;font-family:'Archivo',sans-serif}
.price-chip span{font-size:16px;font-weight:800;margin-top:8px}
.price-chip strong{font-size:44px;font-weight:900;line-height:1;letter-spacing:-.04em}
.price-chip b{font-size:18px;font-weight:800;margin-top:5px}
.price-chip i{font-family:'Plus Jakarta Sans',sans-serif;font-style:normal;font-size:12px;font-weight:600;
  color:var(--ink-3);align-self:flex-end;margin-left:4px}
.price-chip--sm{border-color:rgba(95,208,236,.4);background:linear-gradient(135deg,rgba(95,208,236,.18),rgba(124,58,237,.10))}
.price-chip--sm strong{font-size:36px}
.tv__tag{font-size:13px;font-weight:700;color:var(--purple-2);letter-spacing:.02em}

.checks{display:grid;gap:12px;margin-bottom:30px}
.checks li{position:relative;padding-left:32px;color:var(--ink-2);font-size:15px}
.checks li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:7px;
  background:linear-gradient(135deg,rgba(95,208,236,.28),rgba(124,58,237,.28));
  box-shadow:inset 0 0 0 1px var(--line-2)}
.checks li::after{content:"";position:absolute;left:7px;top:8px;width:5px;height:9px;
  border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(42deg)}

/* screen */
.tv__art{position:relative;display:grid;place-items:center}
.screen{position:relative;width:min(520px,100%);border-radius:var(--r-xl);overflow:hidden;
  background:linear-gradient(160deg,#141a3d,#0a0f26 60%);border:1px solid var(--line-2);box-shadow:var(--shadow);z-index:1}
.screen__bar{display:flex;gap:7px;padding:14px 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.03)}
.screen__bar i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.18)}
.screen__bar i:first-child{background:rgba(255,95,86,.6)}
.screen__bar i:nth-child(2){background:rgba(255,189,46,.6)}
.screen__bar i:nth-child(3){background:rgba(39,201,63,.6)}
.screen__body{padding:52px 32px 34px;text-align:center;
  background:radial-gradient(600px 300px at 50% 0%,rgba(124,58,237,.32),transparent 70%)}
.hbo-logo{display:inline-flex;align-items:baseline;gap:3px;filter:drop-shadow(0 10px 30px rgba(168,85,247,.55))}
.hbo-logo__hbo{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(42px,7vw,64px);letter-spacing:-.05em;color:#fff}
.hbo-logo__max{font-family:'Archivo',sans-serif;font-weight:400;font-size:clamp(30px,5vw,46px);letter-spacing:-.03em;
  background:linear-gradient(100deg,#c084fc,#5fd0ec);-webkit-background-clip:text;background-clip:text;color:transparent}
.screen__caption{color:var(--ink-3);font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-top:12px}
.screen__tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:34px}
.screen__tiles i{aspect-ratio:2/3;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.04));
  border:1px solid var(--line);animation:shine 3.4s ease-in-out infinite}
.screen__tiles i:nth-child(2){animation-delay:.25s}
.screen__tiles i:nth-child(3){animation-delay:.5s}
.screen__tiles i:nth-child(4){animation-delay:.75s}
.screen__tiles i:nth-child(5){animation-delay:1s}
.screen__tiles i:nth-child(6){animation-delay:1.25s}
@keyframes shine{50%{background:linear-gradient(180deg,rgba(168,85,247,.42),rgba(95,208,236,.16));transform:translateY(-5px)}}
.screen__glow{position:absolute;width:70%;height:60%;border-radius:50%;filter:blur(70px);
  background:radial-gradient(circle,rgba(124,58,237,.6),transparent 70%);z-index:0}

/* =========================================================
   TELEFONE FIXO
   ========================================================= */
.fixo{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
@media (max-width:960px){.fixo{grid-template-columns:1fr;gap:36px}.fixo__art{order:-1}}
.phone-illus{width:min(360px,100%);margin-inline:auto;filter:drop-shadow(0 24px 50px rgba(95,208,236,.28))}
.wave{stroke-dasharray:60;animation:pulseWave 2.4s ease-in-out infinite}
.w2{animation-delay:.4s}
@keyframes pulseWave{0%,100%{opacity:.25}50%{opacity:1}}
.fixo__copy p{color:var(--ink-2);margin-bottom:26px;max-width:52ch}
.fixo__cta{display:flex;align-items:center;gap:18px;flex-wrap:wrap}

/* =========================================================
   COMBO BUILDER
   ========================================================= */
.combo{display:grid;grid-template-columns:1.25fr .75fr;gap:26px;align-items:start}
@media (max-width:900px){.combo{grid-template-columns:1fr}}
.combo__col{padding:30px;border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(10px)}
.combo__title{font-size:15px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:16px}
.combo__title+*{margin-bottom:32px}
.opts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:620px){.opts{grid-template-columns:repeat(2,1fr)}}
.opt input,.add input{position:absolute;opacity:0;width:0;height:0}
.opt__box{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 10px;border-radius:var(--r);
  border:1.5px solid var(--line);background:rgba(255,255,255,.03);cursor:pointer;transition:.28s var(--ease);text-align:center}
.opt__box b{font-family:'Archivo',sans-serif;font-size:19px;font-weight:900;color:#fff}
.opt__box i{font-style:normal;font-size:13px;font-weight:700;color:var(--ink-3)}
.opt__box:hover{border-color:rgba(95,208,236,.5);transform:translateY(-3px)}
.opt input:checked+.opt__box{border-color:var(--cyan);background:linear-gradient(160deg,rgba(95,208,236,.22),rgba(124,58,237,.14));
  box-shadow:0 16px 34px -18px rgba(95,208,236,.9)}
.opt input:checked+.opt__box i{color:var(--cyan-2)}
.opt input:focus-visible+.opt__box,.add input:focus-visible+.add__box{outline:2px solid var(--cyan-2);outline-offset:3px}

.adds{display:grid;gap:12px}
.add__box{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--r);
  border:1.5px solid var(--line);background:rgba(255,255,255,.03);cursor:pointer;transition:.28s var(--ease)}
.add__box:hover{border-color:rgba(168,85,247,.5);transform:translateY(-2px)}
.add__ico{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex:none}
.add__ico svg{width:22px;height:22px;fill:#fff}
.add__ico--tv{background:linear-gradient(135deg,var(--purple),var(--purple-2))}
.add__ico--fone{background:linear-gradient(135deg,var(--cyan-deep),var(--cyan))}
.add__txt{flex:1}
.add__txt b{display:block;font-size:15px}
.add__txt i{font-style:normal;font-size:12.5px;color:var(--ink-3)}
.add__price{font-family:'Archivo',sans-serif;font-weight:900;font-size:17px;color:var(--cyan-2)}
@media (max-width:480px){
  .add__box{gap:12px;padding:14px}
  .add__ico{width:38px;height:38px;border-radius:11px}
  .add__txt b{font-size:14px}
  .add__txt i{font-size:11.5px}
  .add__price{font-size:15px}
}
.add input:checked+.add__box{border-color:var(--purple-2);background:linear-gradient(160deg,rgba(124,58,237,.24),rgba(95,208,236,.10));
  box-shadow:0 16px 34px -18px rgba(124,58,237,.9)}

.combo__summary{position:sticky;top:100px;padding:28px;border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(124,58,237,.22),rgba(255,255,255,.04));
  border:1px solid rgba(168,85,247,.32);box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.combo__sumtag{font-size:11.5px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--purple-2)}
.combo__list{display:grid;gap:10px;margin:18px 0;padding-bottom:18px;border-bottom:1px dashed var(--line-2)}
.combo__list li{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--ink-2)}
.combo__list li b{color:#fff;font-weight:700;white-space:nowrap}
.combo__total{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.combo__total span{font-size:13px;color:var(--ink-3);font-weight:600}
.combo__total strong{font-family:'Archivo',sans-serif;font-size:34px;font-weight:900;letter-spacing:-.03em;
  background:linear-gradient(100deg,var(--cyan-2),var(--purple-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.combo__note{font-size:11.5px;color:var(--ink-3);text-align:center;margin-top:12px}
@media (max-width:900px){.combo__summary{position:static}}

/* =========================================================
   TESTE DE VELOCIDADE
   ========================================================= */
.section--speed{background:radial-gradient(900px 500px at 80% 45%,rgba(95,208,236,.13),transparent 70%)}
.speed{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
@media (max-width:960px){.speed{grid-template-columns:1fr;gap:38px}}
.speed__copy p{color:var(--ink-2);margin-bottom:26px;max-width:52ch}
.speed__copy .checks{margin-bottom:24px}

.tip{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:var(--r);
  background:rgba(95,208,236,.08);border:1px solid rgba(95,208,236,.24);
  color:var(--ink-2);font-size:14px;max-width:52ch}
.tip b{color:#fff;font-weight:700}
.tip__ico{font-size:17px;line-height:1.3;flex:none}

.speed__card{position:relative;text-align:center;padding:34px 30px 28px;border-radius:var(--r-lg);
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.03));
  border:1px solid var(--line-2);box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.speed__card h3{font-size:22px;font-weight:800;margin-bottom:6px}
.speed__sub{color:var(--ink-3);font-size:14px;margin-bottom:22px}
.speed__note{display:block;margin-top:14px;font-size:12px;color:var(--ink-3)}

.gauge{width:min(260px,80%);margin:0 auto 20px;display:block;overflow:visible;
  filter:drop-shadow(0 6px 20px rgba(95,208,236,.42))}
.gauge__track{fill:none;stroke:rgba(255,255,255,.10);stroke-width:14;stroke-linecap:round}
/* Estado fixo: arco preenchido em ~70% e ponteiro no ângulo correspondente.
   Sem animação — stroke-dashoffset é repintado na main thread e pode
   dessincronizar do ponteiro, que anima no compositor. */
.gauge__fill{fill:none;stroke:url(#gaugeGrad);stroke-width:14;stroke-linecap:round;
  stroke-dasharray:252;stroke-dashoffset:76}
.gauge__needle{stroke:#eaf9ff;stroke-width:4;stroke-linecap:round;fill:#eaf9ff;
  transform-origin:100px 104px;transform:rotate(36deg)}

.btn--grad{background:linear-gradient(135deg,var(--cyan),var(--purple));color:#04142b;
  box-shadow:0 16px 34px -16px rgba(95,208,236,.85)}
.btn--grad:hover{transform:translateY(-2px);box-shadow:0 22px 44px -16px rgba(124,58,237,.95);color:#fff}
.btn--grad .ico{width:20px;height:20px}

.speed__foot{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;
  margin-top:48px;padding-top:30px;border-top:1px solid var(--line);text-align:center}
.speed__foot span{color:var(--ink-2);font-size:15.5px;font-weight:600}

/* =========================================================
   FEATURES
   ========================================================= */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:940px){.feats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.feats{grid-template-columns:1fr}}
.feat{padding:28px;border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line);
  backdrop-filter:blur(10px);transition:.32s var(--ease)}
.feat:hover{transform:translateY(-6px);border-color:rgba(95,208,236,.4);background:var(--panel-2)}
.feat__ico{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;margin-bottom:18px;
  background:linear-gradient(135deg,rgba(95,208,236,.24),rgba(124,58,237,.24));border:1px solid var(--line-2)}
.feat__ico svg{width:25px;height:25px;fill:var(--cyan-2)}
.feat h3{font-size:19px;font-weight:800;margin-bottom:8px}
.feat p{color:var(--ink-3);font-size:14.5px}

/* =========================================================
   DEPOIMENTOS
   ========================================================= */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:940px){.quotes{grid-template-columns:1fr}}
.quote{margin:0;padding:28px;border-radius:var(--r-lg);background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(10px)}
.stars{color:#ffc94d;letter-spacing:3px;font-size:15px;margin-bottom:14px}
.quote blockquote{margin:0;color:var(--ink-2);font-size:15px;line-height:1.65}
.quote figcaption{display:flex;align-items:center;gap:12px;margin-top:20px}
.av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#08122c;
  background:linear-gradient(135deg,var(--cyan-2),var(--purple-2))}
.quote figcaption b{display:block;font-size:14.5px}
.quote figcaption i{font-style:normal;font-size:12.5px;color:var(--ink-3)}

/* =========================================================
   FAQ
   ========================================================= */
.faq-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
@media (max-width:960px){.faq-wrap{grid-template-columns:1fr;gap:36px}}
.section__head--left .btn{margin-top:22px}
.faq{display:grid;gap:12px}
.faq__item{border-radius:var(--r);border:1px solid var(--line);background:var(--panel);
  padding:4px 22px;transition:.3s var(--ease);backdrop-filter:blur(10px)}
.faq__item[open]{border-color:rgba(95,208,236,.42);background:var(--panel-2)}
.faq__item summary{list-style:none;cursor:pointer;padding:18px 34px 18px 0;position:relative;
  font-weight:700;font-size:16px;color:#fff}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"";position:absolute;right:2px;top:24px;width:9px;height:9px;
  border-right:2px solid var(--cyan);border-bottom:2px solid var(--cyan);transform:rotate(45deg);transition:.3s var(--ease)}
.faq__item[open] summary::after{transform:rotate(-135deg);top:27px}
.faq__item p{padding:0 0 20px;color:var(--ink-2);font-size:14.5px}

/* =========================================================
   CTA
   ========================================================= */
.cta{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:center;
  padding:52px;border-radius:var(--r-xl);overflow:hidden;
  background:linear-gradient(140deg,rgba(124,58,237,.30),rgba(95,208,236,.14) 55%,rgba(255,255,255,.04));
  border:1px solid var(--line-2);box-shadow:var(--shadow)}
@media (max-width:900px){.cta{grid-template-columns:1fr;padding:34px 26px;gap:32px}}
.cta__glow{position:absolute;width:500px;height:500px;right:-140px;top:-180px;border-radius:50%;filter:blur(90px);
  background:radial-gradient(circle,rgba(95,208,236,.5),transparent 70%)}
.cta__copy{position:relative;z-index:1}
.cta__copy p{color:var(--ink-2);margin:0 0 28px;max-width:48ch}
.cta__btns{display:flex;gap:14px;flex-wrap:wrap}
.cta__cards{position:relative;z-index:1;display:grid;gap:12px}
.cta__cards li{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:var(--r);
  background:rgba(5,10,28,.55);border:1px solid var(--line);backdrop-filter:blur(10px)}
.cta__ico{width:42px;height:42px;border-radius:13px;flex:none;display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(95,208,236,.3),rgba(124,58,237,.3));border:1px solid var(--line-2)}
.cta__ico svg{width:21px;height:21px;fill:var(--cyan-2)}
.cta__cards b{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.cta__cards a,.cta__cards span:not(.cta__ico){font-size:14.5px;color:#fff;font-weight:600;word-break:break-word}
.cta__cards a:hover{color:var(--cyan-2)}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{border-top:1px solid var(--line);background:rgba(3,7,20,.7);padding:64px 0 28px;margin-top:20px}
.footer__inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:36px}
@media (max-width:900px){.footer__inner{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer__inner{grid-template-columns:1fr}}
.footer__brand p{color:var(--ink-3);font-size:14px;margin-top:18px;max-width:38ch}
.footer__col{display:flex;flex-direction:column;gap:10px}
.footer__col h4{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:6px}
.footer__col a{color:var(--ink-3);font-size:14px;transition:color .25s}
.footer__col a:hover{color:var(--cyan-2)}
.footer__bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:44px;padding-top:22px;border-top:1px solid var(--line);color:var(--ink-3);font-size:12.5px}
.footer__legal{max-width:60ch;opacity:.75}

/* =========================================================
   WHATSAPP FLOAT
   ========================================================= */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:80;display:inline-flex;align-items:center;gap:0;
  height:62px;padding:0 19px;border-radius:999px;
  background:linear-gradient(135deg,var(--wa),var(--wa-dark));color:#04210f;
  box-shadow:0 18px 42px -14px rgba(37,211,102,.9);transition:.35s var(--ease)}
.wa-float svg{width:32px;height:32px;fill:#fff;flex:none;position:relative;z-index:1}
.wa-float__label{max-width:0;overflow:hidden;white-space:nowrap;font-weight:800;font-size:15px;color:#04210f;
  transition:max-width .4s var(--ease),margin-left .4s var(--ease);position:relative;z-index:1}
.wa-float:hover{transform:translateY(-3px);box-shadow:0 24px 52px -14px rgba(37,211,102,1)}
.wa-float:hover .wa-float__label,.wa-float.is-open .wa-float__label{max-width:170px;margin-left:11px}
.wa-float__pulse{position:absolute;inset:0;border-radius:999px;background:var(--wa);opacity:.55;
  animation:waPulse 2.4s ease-out infinite}
@keyframes waPulse{0%{transform:scale(1);opacity:.5}70%,100%{transform:scale(1.35);opacity:0}}
@media (max-width:560px){.wa-float{right:16px;bottom:16px;height:58px;padding:0 17px}.wa-float svg{width:29px;height:29px}}

/* =========================================================
   REVEAL
   ========================================================= */
/* só esconde se o JS estiver ativo — sem JS, tudo aparece normalmente */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .reveal.is-in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  .js .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
