:root {
  --navy: #06152f;
  --navy-2: #091f43;
  --blue: #0758b7;
  --blue-2: #0b93e8;
  --cyan: #2bc8ff;
  --yellow: #ffc400;
  --yellow-2: #ffe37a;
  --ink: #0a1730;
  --muted: #60708a;
  --line: #dbe4ef;
  --soft: #f4f7fb;
  --white: #ffffff;
  --radius: 24px;
  --shadow: 0 24px 80px rgba(11, 34, 72, .12);
}

/* Minha Power: resumo na home e página dedicada */
.power-app-summary { background: linear-gradient(135deg, #fff 0%, #f2f7fc 100%); overflow: hidden; }
.power-app-summary-grid { display: grid; grid-template-columns: 1fr .82fr; gap: 80px; align-items: center; }
.power-app-copy { max-width: 650px; }
.power-app-copy h2,
.app-page-hero h1,
.app-feature-head h2,
.app-portal-copy h2 { font-family: 'Space Grotesk', sans-serif; letter-spacing: -.045em; }
.power-app-copy h2 { margin: 16px 0 18px; font-size: clamp(42px, 5vw, 68px); line-height: 1; }
.power-app-copy h2 span,
.app-feature-head h2 span,
.app-portal-copy h2 span { color: var(--yellow); }
.power-app-copy > p { max-width: 590px; color: var(--muted); font-size: 16px; line-height: 1.75; }
.power-app-points { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; margin: 28px 0 32px; padding: 0; list-style: none; }
.power-app-points li { display: flex; align-items: center; gap: 10px; color: #34465d; font-size: 13px; font-weight: 800; }
.power-app-points li span { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border-radius: 10px; color: var(--blue); background: #e2effb; font-size: 9px; }
.power-phone-stage { min-height: 420px; display: grid; place-items: center; position: relative; }
.power-phone-orbit { position: absolute; width: 440px; height: 260px; border: 1px solid rgba(7,88,183,.14); border-radius: 50%; transform: rotate(-12deg); box-shadow: 0 0 0 58px rgba(7,88,183,.025), 0 0 0 116px rgba(7,88,183,.015); }
.power-phone-image { position: relative; z-index: 1; width: min(286px, 76vw); height: auto; transform: rotate(3deg); transform-origin: center; filter: drop-shadow(0 28px 55px rgba(4,28,62,.24)); }

.app-page-hero { min-height: 720px; padding: 150px 0 80px; position: relative; overflow: hidden; }
.app-page-hero::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: 60px 60px; mask-image: linear-gradient(to bottom, #000, transparent 92%); }
.app-page-hero-grid { display: grid; grid-template-columns: 1.05fr .75fr; gap: 80px; align-items: center; }
.app-page-hero-grid > *, .power-app-summary-grid > *, .app-portal-grid > * { min-width: 0; }
.app-page-hero h1 { max-width: 720px; margin: 22px 0 24px; font-size: clamp(56px, 7vw, 92px); line-height: .95; }
.app-page-hero h1 span { color: var(--yellow); }
.app-page-lead { max-width: 650px; color: rgba(230,240,251,.76); font-size: 18px; line-height: 1.75; }
.app-downloads { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.store-link { min-width: 188px; padding: 11px 17px; display: grid; grid-template-columns: 32px 1fr; column-gap: 11px; align-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; background: rgba(255,255,255,.08); transition: transform .2s, background .2s; }
.store-link:hover { transform: translateY(-2px); background: rgba(255,255,255,.13); }
.store-link .store-icon { grid-row: 1 / 3; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; color: var(--navy); background: #fff; font-size: 15px; font-weight: 900; }
.store-icon img { display: block; width: 24px; height: 24px; object-fit: contain; }
.store-link small { color: rgba(255,255,255,.64); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.store-link strong { color: #fff; font-size: 14px; }
.app-browser-link { display: inline-block; margin-top: 20px; color: #bfe6ff; font-size: 12px; font-weight: 800; }
.app-browser-link:hover { color: #fff; }

.app-features-section { background: linear-gradient(180deg, #fff, #f5f8fc); }
.app-feature-head { max-width: 700px; margin: 0 auto 42px; text-align: center; }
.app-feature-head h2 { margin: 14px 0; font-size: clamp(40px, 5vw, 64px); line-height: 1; }
.app-feature-head p { color: var(--muted); line-height: 1.7; }
.app-feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.app-feature-card { min-height: 250px; padding: 28px 24px; border: 1px solid #dfe7f0; border-radius: 22px; background: #fff; box-shadow: 0 18px 50px rgba(10,40,80,.06); }
.app-feature-number { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--blue); background: #e5f2fd; font-size: 10px; font-weight: 900; }
.app-feature-card h3 { margin: 24px 0 10px; font-family: 'Space Grotesk'; font-size: 21px; }
.app-feature-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.app-portal-section { background: #fff; }
.app-portal-grid { display: grid; grid-template-columns: 1fr .8fr; gap: 70px; align-items: center; padding: 50px; border-radius: 28px; color: #fff; background: radial-gradient(circle at 90% 0, rgba(43,200,255,.25), transparent 32%), linear-gradient(145deg, #091f43, #06152f); box-shadow: var(--shadow); }
.app-portal-copy h2 { margin: 14px 0 16px; font-size: clamp(38px, 5vw, 58px); line-height: 1; }
.app-portal-copy p { color: rgba(255,255,255,.72); line-height: 1.75; }
.app-portal-actions { display: flex; flex-direction: column; gap: 12px; align-items: stretch; }
.app-portal-actions .btn { width: 100%; }
.desktop-nav .nav-current { color: #fff; }
.desktop-nav .nav-current::after { right: 0; }

@media (max-width: 1200px) and (min-width: 1051px) {
  .desktop-nav { gap: 18px; font-size: 13px; }
  .phone-link { display: none; }
}
@media (max-width: 900px) {
  .power-app-summary-grid, .app-page-hero-grid, .app-portal-grid { grid-template-columns: 1fr; }
  .power-app-summary-grid, .app-page-hero-grid { gap: 38px; }
  .app-page-visual .power-phone-stage { min-height: 390px; }
  .app-feature-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .power-app-points, .app-feature-grid { grid-template-columns: 1fr; }
  .power-phone-stage { min-height: 390px; }
  .power-phone-orbit { width: 310px; height: 210px; }
  .app-page-hero { padding-top: 120px; }
  .app-page-hero h1 { font-size: clamp(46px, 12vw, 56px); overflow-wrap: anywhere; }
  .app-downloads { display: grid; }
  .store-link { width: 100%; }
  .app-portal-grid { padding: 34px 24px; }
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Manrope', system-ui, sans-serif; color: var(--ink); background: #fff; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { color: inherit; }
img { max-width: 100%; display: block; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; position: relative; z-index: 2; }
.section { padding: 64px 0; position: relative; }
.section-dark { color: white; background: radial-gradient(circle at 65% 18%, rgba(11, 147, 232, .2), transparent 35%), linear-gradient(145deg, #031126, #061a38 58%, #04132b); }
.light-section { background: linear-gradient(180deg, #fff, #f5f8fc); }
.space-canvas { position: fixed; inset: 0; pointer-events: none; z-index: 0; opacity: .5; }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 999; background: #fff; color: #000; padding: 12px 16px; border-radius: 10px; }
.skip-link:focus { top: 16px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 100; transition: .25s ease; border-bottom: 1px solid transparent; }
.site-header.scrolled { background: rgba(3, 16, 36, .9); backdrop-filter: blur(18px); border-color: rgba(255,255,255,.08); }
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand img { width: 168px; height: auto; }
.desktop-nav { display: flex; gap: 28px; align-items: center; color: rgba(255,255,255,.78); font-size: 14px; font-weight: 700; }
.desktop-nav a { position: relative; transition: color .2s; }
.desktop-nav a:hover { color: white; }
.desktop-nav a::after { content: ''; position: absolute; height: 2px; background: var(--yellow); left: 0; right: 100%; bottom: -10px; transition: right .2s; }
.desktop-nav a:hover::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 14px; }
.phone-link { color: rgba(255,255,255,.76); display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 700; }
.icon-dot { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,.08); color: var(--yellow); }
.menu-toggle { display: none; border: 0; background: transparent; color: #fff; font-size: 24px; }
.mobile-nav { display: none; background: #06152f; color: #fff; padding: 10px 20px 24px; border-top: 1px solid rgba(255,255,255,.08); }
.mobile-nav.open { display: grid; gap: 6px; }
.mobile-nav a { padding: 13px 4px; font-weight: 700; border-bottom: 1px solid rgba(255,255,255,.06); }

.btn { min-height: 50px; padding: 0 20px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; font-weight: 800; font-size: 14px; letter-spacing: -.01em; border: 1px solid transparent; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s, border-color .2s; }
.btn:hover { transform: translateY(-2px); }
.btn-sm { min-height: 42px; padding: 0 16px; border-radius: 12px; }
.btn-yellow { color: #12213a; background: linear-gradient(135deg, #ffda36, #ffc400); box-shadow: 0 10px 30px rgba(255, 196, 0, .18); }
.btn-yellow:hover { box-shadow: 0 16px 36px rgba(255, 196, 0, .28); }
.btn-blue { color: #fff; background: linear-gradient(135deg, #0758b7, #0b93e8); box-shadow: 0 10px 30px rgba(7, 88, 183, .22); }
.btn-ghost { color: #fff; border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.04); }
.btn-outline { color: var(--blue); border-color: #cad9ea; background: #fff; }
.full { width: 100%; }

.hero { min-height: 900px; padding: 158px 0 48px; position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: 60px 60px; mask-image: linear-gradient(to bottom, black, transparent 86%); }
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 50px; align-items: center; min-height: 610px; }
.hero-copy { max-width: 600px; }
.eyebrow, .section-kicker { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; line-height: 1; text-transform: uppercase; letter-spacing: .16em; font-weight: 800; color: var(--blue); }
.eyebrow { color: #b7daf2; }
.eyebrow span { width: 26px; height: 2px; background: var(--yellow); }
.hero h1 { font-family: 'Space Grotesk', sans-serif; font-size: clamp(58px, 6.6vw, 94px); letter-spacing: -.055em; line-height: .94; margin: 25px 0 28px; font-weight: 700; }
.hero h1 em { font-style: normal; color: var(--yellow); -webkit-text-stroke: 0; position: relative; }
.hero h1 em::after { content: ''; position: absolute; width: 32px; height: 8px; background: var(--yellow); border-radius: 8px; right: 9px; bottom: 1px; transform: rotate(-4deg); }
.hero-sub { color: rgba(230,240,251,.74); font-size: 18px; line-height: 1.7; max-width: 620px; }
.hero-actions { display: flex; gap: 12px; margin: 34px 0 42px; flex-wrap: wrap; }
.hero-proof { display: flex; gap: 45px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.1); }
.hero-proof div { display: grid; gap: 4px; }
.hero-proof strong { font-family: 'Space Grotesk'; font-size: 24px; }
.hero-proof span { color: #8194ad; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.hero-glow { position: absolute; width: 420px; height: 420px; border-radius: 50%; filter: blur(100px); opacity: .14; pointer-events: none; }
.glow-one { background: #00b6ff; right: -100px; top: 100px; }
.glow-two { background: #ffc400; left: 35%; bottom: -300px; opacity: .06; }

.hero-visual { min-height: 540px; display: grid; place-items: center; }
.orbit-system { width: 520px; height: 520px; position: relative; display: grid; place-items: center; isolation: isolate; }

.hero-tech-label {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 50%;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 12px;
  border-radius: 13px;
  background: rgba(3,17,39,.68);
  border: 1px solid rgba(97,210,255,.18);
  color: #cdeeff;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  backdrop-filter: blur(10px);
  translate: -50% -50%;
  will-change: translate;
}
.hero-tech-label i { width: 7px; height: 7px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 14px rgba(255,196,0,.65); }

.orbit { position: absolute; z-index: 1; border: 1px solid rgba(116,210,255,.25); border-radius: 50%; transform: rotate(-16deg); }
.orbit-a { width: 504px; height: 244px; }
.orbit-b { width: 442px; height: 348px; transform: rotate(22deg); }

.signal-chip { position: absolute; z-index: 3; left: 50%; top: 50%; padding: 10px 14px; background: rgba(4,20,45,.74); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(12px); border-radius: 13px; color: #deecf8; font-size: 12px; font-weight: 700; box-shadow: 0 18px 35px rgba(0,0,0,.18); translate: -50% -50%; transform: scale(1); will-change: translate,transform; animation: floaty 5s ease-in-out infinite; }
.signal-chip.is-behind, .hero-tech-label.is-behind { z-index: 0; }
.signal-chip.is-in-front, .hero-tech-label.is-in-front { z-index: 3; }
.signal-chip span { color: var(--yellow); margin-right: 6px; }

@keyframes floaty { 50% { transform: scale(1.025); } }

@keyframes packetPulse { 50% { transform: scale(1.6); opacity: .6; } }

.coverage-quick-wrap { margin-top: 34px; }
.glass { background: rgba(255,255,255,.08); backdrop-filter: blur(20px); border: 1px solid rgba(255,255,255,.11); box-shadow: 0 30px 70px rgba(0,0,0,.18); }
.coverage-quick {
  isolation: isolate;
  position: relative;
  scroll-margin-top: 110px;
  display: grid;
  grid-template-columns: minmax(290px, .9fr) minmax(470px, 1.1fr);
  gap: 12px 28px;
  padding: 24px;
  border-radius: 30px;
  align-items: center;
  overflow: hidden;
  background:
    linear-gradient(118deg, rgba(255,255,255,.16), rgba(255,255,255,.055) 46%, rgba(32,184,255,.1)),
    radial-gradient(circle at 15% 0%, rgba(255,255,255,.2), transparent 34%);
  border: 1px solid rgba(210,241,255,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), inset 0 -1px 0 rgba(255,255,255,.04), 0 30px 80px rgba(0,5,20,.34);
  backdrop-filter: blur(28px) saturate(145%);
  -webkit-backdrop-filter: blur(28px) saturate(145%);
}
.coverage-quick::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .24;
  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E"),
    linear-gradient(100deg, transparent 0 46%, rgba(255,255,255,.1) 49%, transparent 52%);
  background-size: 150px 150px, 220% 100%;
  mix-blend-mode: soft-light;
}
.coverage-quick::after {
  content: '';
  position: absolute;
  inset: 1px;
  z-index: -2;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(5,28,58,.58), rgba(3,17,39,.42));
}
.glass-orb { position: absolute; border-radius: 999px; pointer-events: none; filter: blur(1px); z-index: -1; }
.glass-orb-one { width: 150px; height: 150px; right: -45px; top: -75px; background: radial-gradient(circle at 32% 35%, rgba(255,255,255,.38), rgba(27,190,255,.1) 42%, transparent 70%); }
.glass-orb-two { width: 90px; height: 90px; left: 39%; bottom: -60px; border: 1px solid rgba(255,255,255,.14); box-shadow: inset 12px 12px 25px rgba(255,255,255,.06); }
.coverage-quick-copy { display: flex; align-items: center; gap: 15px; min-width: 0; }
.coverage-quick-copy > div { display: grid; gap: 5px; min-width: 0; }
.coverage-radar { width: 50px; height: 50px; flex: 0 0 50px; display: grid; place-items: center; position: relative; border-radius: 50%; border: 1px solid rgba(87,211,255,.34); background: radial-gradient(circle, rgba(43,200,255,.18), rgba(43,200,255,.02) 68%); box-shadow: inset 0 0 20px rgba(43,200,255,.08), 0 0 24px rgba(43,200,255,.08); }
.coverage-radar::before, .coverage-radar::after { content: ''; position: absolute; border-radius: inherit; border: 1px solid rgba(83,210,255,.22); }
.coverage-radar::before { inset: 8px; }
.coverage-radar::after { inset: 16px; }
.coverage-radar i { width: 6px; height: 6px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 12px rgba(255,196,0,.8); }
.mini-label { color: var(--yellow); font-size: 9px; text-transform: uppercase; letter-spacing: .15em; font-weight: 800; }
.coverage-quick strong { font-family: 'Space Grotesk'; font-size: 17px; letter-spacing: -.02em; }
.coverage-quick-copy small { color: rgba(215,232,247,.6); font-size: 10px; }
.coverage-search { display: grid; grid-template-columns: minmax(210px, 1fr) auto; gap: 9px; min-width: 0; }
.cep-field { position: relative; min-width: 0; }
.cep-field input { width: 100%; min-height: 58px; border-radius: 17px; border: 1px solid rgba(255,255,255,.18); background: rgba(2,16,37,.48); color: #fff; outline: none; padding: 0 46px 0 48px; font-family: 'Space Grotesk'; font-size: 18px; font-weight: 700; letter-spacing: .08em; box-shadow: inset 0 1px 8px rgba(0,0,0,.18), 0 1px 0 rgba(255,255,255,.07); transition: border-color .2s, background .2s, box-shadow .2s; }
.cep-field input::placeholder { color: rgba(185,207,226,.47); }
.cep-field input:focus { border-color: rgba(81,211,255,.72); background: rgba(2,20,45,.68); box-shadow: inset 0 1px 8px rgba(0,0,0,.15), 0 0 0 4px rgba(43,200,255,.1); }
.cep-icon, .cep-ready { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; pointer-events: none; }
.cep-icon { left: 17px; color: var(--cyan); font-size: 21px; }
.cep-ready { right: 16px; width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; color: #05233d; background: #58e0a5; font-size: 11px; font-weight: 900; opacity: 0; transform: translateY(-50%) scale(.7); transition: .2s; }
.coverage-quick.cep-complete .cep-ready { opacity: 1; transform: translateY(-50%) scale(1); }
.coverage-submit { min-height: 58px; border-radius: 17px; padding: 0 20px; color: #06213d; background: linear-gradient(135deg, #ffe272, #ffc400); box-shadow: 0 12px 28px rgba(255,196,0,.18), inset 0 1px 0 rgba(255,255,255,.56); white-space: nowrap; }
.coverage-submit:hover { box-shadow: 0 16px 34px rgba(255,196,0,.26), inset 0 1px 0 rgba(255,255,255,.56); }
.coverage-submit:disabled { cursor: wait; opacity: .72; transform: none; }
.coverage-submit.loading .button-arrow { width: 15px; height: 15px; border: 2px solid rgba(6,33,61,.28); border-top-color: #06213d; border-radius: 50%; font-size: 0; animation: coverageSpin .7s linear infinite; }
.button-arrow { font-size: 18px; }
.coverage-hint { grid-column: 2; margin: -2px 0 0; padding-left: 3px; color: rgba(202,224,241,.56); font-size: 9px; }
.coverage-hint span { color: #42df9c; font-size: 7px; margin-right: 5px; text-shadow: 0 0 10px rgba(66,223,156,.65); }
.coverage-result { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px 15px; border-radius: 18px; animation: coverageResultIn .35s ease both; }
.coverage-result[hidden] { display: none; }
.coverage-result.available { border: 1px solid rgba(76,231,157,.26); background: linear-gradient(100deg, rgba(22,177,106,.17), rgba(18,102,77,.08)); }
.coverage-result.unavailable { border: 1px solid rgba(255,196,0,.24); background: linear-gradient(100deg, rgba(255,196,0,.11), rgba(132,92,0,.06)); }
.coverage-result.error { border: 1px solid rgba(255,126,126,.24); background: rgba(177,54,54,.1); }
.result-icon { width: 37px; height: 37px; border-radius: 50%; display: grid; place-items: center; font-weight: 900; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.14); }
.available .result-icon { color: #5ce7aa; }
.unavailable .result-icon { color: var(--yellow); }
.error .result-icon { color: #ff9c9c; }
.result-copy { display: grid; gap: 2px; min-width: 0; }
.result-copy > span { color: rgba(219,236,249,.62); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.coverage-result .result-copy strong, .coverage-result > div strong { font-family: 'Space Grotesk'; font-size: 15px; }
.coverage-result small { display: block; color: rgba(219,236,249,.65); font-size: 10px; line-height: 1.4; }
.result-action { min-height: 39px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 13px; border-radius: 11px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.1); color: #fff; font: inherit; font-size: 10px; font-weight: 800; cursor: pointer; white-space: nowrap; }

@keyframes coverageSpin { to { transform: rotate(360deg); } }

@keyframes coverageResultIn { from { opacity: 0; transform: translateY(-6px) scale(.99); } }

.section-head { margin-bottom: 32px; }
.section-head h2 { font-family: 'Space Grotesk'; font-size: clamp(42px, 5vw, 66px); line-height: 1; letter-spacing: -.045em; margin: 16px 0 0; }
.section-head h2 span { color: var(--blue); }
.section-head p { color: var(--muted); line-height: 1.7; }
.split-head { display: grid; grid-template-columns: 1fr .72fr; gap: 70px; align-items: end; }
.centered { text-align: center; max-width: 780px; margin-left: auto; margin-right: auto; }
.centered .section-kicker { justify-content: center; }
.centered p { margin: 18px auto 0; max-width: 680px; }

.finder-shell { background: #fff; border: 1px solid #e0e7f0; border-radius: 28px; padding: 42px; box-shadow: var(--shadow); position: relative; overflow: hidden; }
.finder-shell::before { content: ''; position: absolute; width: 280px; height: 280px; right: -120px; top: -130px; border-radius: 50%; background: radial-gradient(circle, rgba(12,147,232,.12), transparent 70%); }
.finder-progress { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 36px; }
.finder-progress span { height: 4px; background: #e4eaf1; border-radius: 4px; transition: background .3s; }
.finder-progress span.active { background: linear-gradient(90deg, var(--blue), var(--cyan)); }
.finder-step { display: none; min-height: 280px; }
.finder-step.active { display: block; animation: fadeSlide .32s ease; }
.step-label { font-size: 11px; color: var(--blue); letter-spacing: .14em; font-weight: 800; }
.finder-step h3 { font-family: 'Space Grotesk'; font-size: 31px; margin: 10px 0 25px; letter-spacing: -.03em; }
.step-note { color: var(--muted); max-width: 740px; margin: -10px 0 24px; line-height: 1.6; }
.finder-step[data-step="4"] .step-note { max-width: none; white-space: nowrap; }
@media (max-width: 720px) {
  .finder-step[data-step="4"] .step-note { white-space: normal; }
}
.choice-grid { display: grid; gap: 12px; }
.choice-grid.four { grid-template-columns: repeat(4, 1fr); }
.choice-grid.five { grid-template-columns: repeat(5, 1fr); }
.choice-grid.two { grid-template-columns: repeat(2, 1fr); max-width: 700px; }
.choice { border: 1px solid #dbe4ef; border-radius: 18px; background: #fff; min-height: 142px; padding: 22px; text-align: left; cursor: pointer; display: flex; flex-direction: column; gap: 6px; transition: .2s; }
.choice:hover { border-color: #8cbde8; transform: translateY(-3px); box-shadow: 0 14px 32px rgba(7,88,183,.09); }
.choice.selected { border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue); background: #f4f9ff; }
.choice-icon { font-size: 24px; color: var(--blue); margin-bottom: 10px; }
.choice strong { font-size: 15px; }
.choice small { color: var(--muted); line-height: 1.5; font-size: 12px; }
.finder-nav { padding-top: 24px; border-top: 1px solid #e9eef4; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.text-btn { border: 0; background: transparent; color: var(--blue); font-weight: 800; cursor: pointer; padding: 8px 0; }
.text-btn:disabled { opacity: .3; cursor: default; }
.finder-tip { color: #8390a2; font-size: 12px; }
.finder-result { display: none; }
.finder-result.active { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; min-height: 280px; animation: fadeSlide .4s ease; }
.result-summary-block { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr); border: 1px solid #dbe4ef; border-radius: 22px; overflow: hidden; background: #fff; }
.result-main { min-width: 0; border-radius: 0; background: linear-gradient(145deg, #06152f, #0a2f61); color: #fff; padding: 30px 34px; }
.result-main .result-badge { color: var(--yellow); text-transform: uppercase; letter-spacing: .12em; font-size: 10px; font-weight: 800; }
.result-main h3 { font-family: 'Space Grotesk'; font-size: clamp(32px, 3.3vw, 42px); line-height: 1.08; margin: 10px 0 2px; }
.result-main .result-price { font-size: 28px; font-weight: 800; margin: 14px 0 16px; }
.result-main .result-price small { font-size: 13px; color: #90a9c4; }
.result-main p { max-width: 620px; margin: 0; color: #b7c8db; line-height: 1.6; }
.result-main .btn { margin-top: 18px; }
.result-included { min-width: 0; padding: 30px 34px; display: flex; flex-direction: column; justify-content: center; }
.result-included h4 { margin: 0 0 18px; color: var(--blue); font-size: 13px; text-transform: uppercase; letter-spacing: .1em; }
.result-included ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.result-included li { display: flex; gap: 10px; color: #53657a; font-size: 14px; line-height: 1.45; }
.result-included li::before { content: '✓'; flex: 0 0 auto; color: var(--blue); font-weight: 900; }
.result-included li.result-wifi6-feature { align-items: center; }
.result-wifi6-feature .wifi6-feature-icon { margin-left: 1px; }
.result-benefits-block { padding: 24px 28px; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; border: 1px solid #dbe4ef; border-radius: 22px; background: #fff; }
.result-benefits-block.has-note { grid-template-columns: minmax(0, 1fr); }
.result-benefits { min-width: 0; margin: 0; padding: 0; border: 0; }
.result-benefits-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.result-benefits-heading strong { color: #18375d; font-size: 13px; }
.result-benefits-heading span { color: #7a899b; font-size: 10px; text-align: right; }
.result-benefit-grid { display: grid; grid-template-columns: repeat(var(--result-benefit-count), minmax(0, 1fr)); gap: 7px; margin-top: 12px; }

.result-benefit { min-width: 0; min-height: 86px; padding: 8px 5px 7px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 4px; border: 1px solid #e0e8f1; border-radius: 12px; background: #f8fbfe; text-align: center; }
.result-benefit.is-fixed { border-color: #efcc54; background: #fffaf0; }
.result-benefit-logo { width: 42px; height: 42px; display: grid; place-items: center; overflow: hidden; border-radius: 9px; }
.result-benefit-logo img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.result-benefit.is-powerbooks .result-benefit-logo { width: min(72px, 100%); border-radius: 0; }
.result-benefit-logo > span { min-width: 30px; min-height: 30px; padding: 0 4px; display: grid; place-items: center; border-radius: 8px; color: #302700; background: linear-gradient(135deg, #ffe279, #ffc400); font-size: 9px; font-weight: 900; }
.result-benefit.is-exitlag .result-benefit-logo { padding: 4px; background: #121820; }
.result-benefit b { width: 100%; min-width: 0; min-height: 27px; display: flex; flex: 1 1 auto; align-items: center; justify-content: center; overflow: hidden; color: #344a64; font-size: 11px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.result-benefits-block.is-advanced .result-benefit b { overflow: visible; text-overflow: clip; white-space: normal; }
.result-benefit small { flex: 0 0 auto; color: #8190a2; font-size: 10px; line-height: 1.15; }
.result-benefit.is-fixed small { color: #8b740f; }
.result-extra { min-width: 0; margin: 0; padding: 13px 16px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 10px; border: 1px solid #dce8f4; border-radius: 13px; background: linear-gradient(145deg, #f7fbff, #eef6fd); color: #5d7087; font-size: 12px; line-height: 1.55; }
.result-extra > span { margin: 2px 0 0; color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.result-extra p { margin: 0; }
@media (max-width: 900px) {
  .result-summary-block { grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr); }

}
@media (max-width: 720px) {
  .result-summary-block { grid-template-columns: minmax(0, 1fr); }
  .result-main, .result-included { padding: 26px 22px; }
  .result-benefits-block, .result-benefits-block.has-note { grid-template-columns: minmax(0, 1fr); padding: 22px 18px; }
  .result-benefit-grid, .result-benefits-block.has-note .result-benefit-grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 84px; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x proximity; scrollbar-width: none; }
  .result-benefit-grid::-webkit-scrollbar { display: none; }
  .result-benefit { scroll-snap-align: start; }
}

@keyframes fadeSlide { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

.plans-section { background: #f4f7fb; }
.plan-tabs { display: flex; justify-content: center; gap: 8px; margin: 0 auto 32px; }
.plan-tab { border: 1px solid #d6e0ec; background: #fff; border-radius: 999px; min-height: 46px; padding: 0 20px; font-weight: 800; color: #67768a; cursor: pointer; }
.plan-tab span { font-size: 10px; margin-left: 5px; color: #9b7a00; }
.plan-tab.active { color: #fff; background: var(--navy); border-color: var(--navy); }
.plans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.plans-grid[hidden] { display: none; }
.plan-benefits-banner {
  display: grid;
  grid-template-columns: minmax(155px, 190px) minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  margin: -16px 0 30px;
  padding: 14px 16px;
  border: 1px solid #d7e2ee;
  border-radius: 20px;
  background: linear-gradient(135deg, #ffffff, #f5f9fd);
  box-shadow: 0 14px 34px rgba(16,45,84,.07);
  overflow: hidden;
}
.plan-benefits-banner[hidden] { display: none; }
.plan-benefits-copy { display: grid; gap: 2px; }
.plan-benefits-copy > span { color: var(--blue); font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.plan-benefits-copy strong { color: #142743; font-family: 'Space Grotesk'; font-size: 16px; line-height: 1.15; }
.plan-benefits-copy small { color: #738299; font-size: 9px; line-height: 1.35; }
.plan-benefits-viewport { min-width: 0; overflow: hidden; padding: 8px 0 16px; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.plan-benefits-track { width: max-content; display: flex; align-items: stretch; gap: 8px; will-change: transform; animation: planBenefitsMarquee var(--benefits-duration, 36s) linear infinite; }
.plan-benefits-group { display: flex; align-items: stretch; gap: 8px; }
.plan-benefits-banner:hover .plan-benefits-track, .plan-benefits-banner:focus-within .plan-benefits-track { animation-play-state: paused; }

@keyframes planBenefitsMarquee {
  from { transform: translateX(calc(-50% - 4px)); }
  to { transform: translateX(0); }
}
.plan-benefit-item { flex: 0 0 116px; min-height: 154px; padding: 11px 8px 7px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 6px; border: 1px solid #e0e8f1; border-radius: 13px; background: rgba(255,255,255,.92); color: #243650; text-align: center; overflow: visible; transition: opacity .16s ease, visibility .16s ease; }
.plan-benefit-item.is-fixed { border-color: #efcc54; background: #fffaf0; }
.plan-benefit-icon { flex: 0 0 88px; width: 88px; height: 88px; display: grid; place-items: center; overflow: hidden; }
.plan-benefit-icon img { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; }
.plan-benefit-item.is-powerbooks .plan-benefit-icon { width: 96px; }
.plan-benefit-icon > span { min-width: 32px; min-height: 32px; padding: 0 6px; display: grid; place-items: center; border-radius: 9px; color: #fff; background: linear-gradient(135deg, #0758b7, #0b93e8); font-size: 30px; font-weight: 900; letter-spacing: -.02em; }
.plan-benefit-item.is-fixed .plan-benefit-icon > span { color: #2c260a; background: linear-gradient(135deg, #ffe279, #ffc400); }
.plan-benefit-item.is-exitlag .plan-benefit-icon { width: 88px; height: 88px; padding: 0; border-radius: 10px; background: #121820; }
.plan-benefit-item.is-kaspersky .plan-benefit-icon { width: 88px; height: 88px; }
.plan-benefit-item b { flex: 0 0 26px; width: 100%; min-height: 26px; margin-top: auto; padding: 2px 2px 0; display: flex; align-items: center; justify-content: center; font-size: 11px; line-height: 1.15; }
.plan-benefit-item small { width: 100%; margin-top: -3px; color: #8b740f; font-size: 7px; line-height: 1.15; }
.plan-benefits-link { display: inline-flex; align-items: center; gap: 6px; color: var(--blue); font-size: 10px; font-weight: 900; white-space: nowrap; }
.plan-benefits-link:hover { color: #043e82; }
.plan-benefits-banner-dark { margin-top: 0; border-color: rgba(255,255,255,.15); background: linear-gradient(135deg, rgba(4,21,45,.82), rgba(8,38,74,.64)); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 14px 34px rgba(0,0,0,.15); }
.plan-benefits-banner-dark .plan-benefits-copy > span, .plan-benefits-banner-dark .plan-benefits-link { color: #6ed4ff; }
.plan-benefits-banner-dark .plan-benefits-copy strong { color: #fff; }
.plan-benefits-banner-dark .plan-benefits-copy small { color: #aebfd2; }
.plan-benefits-banner-dark .plan-benefit-item { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.07); color: #fff; }
.plan-benefits-banner-dark .plan-benefit-item.is-fixed { border-color: rgba(255,212,64,.48); background: rgba(255,196,0,.10); }
.plan-benefits-banner-dark .plan-benefit-item small { color: #ffe27a; }

@media (max-width: 720px) {
  .plan-benefits-banner { grid-template-columns: 1fr; gap: 11px; margin: -8px 0 22px; padding: 14px 12px 12px; text-align: center; }
  .plan-benefits-copy { justify-items: center; }
  .plan-benefits-copy strong { font-size: 17px; }
  .plan-benefits-copy small { font-size: 10px; }
  .plan-benefits-viewport { width: calc(100% + 4px); margin-inline: -2px; }
  .plan-benefit-item { flex-basis: 112px; }
  .plan-benefits-link { justify-self: center; min-height: 34px; font-size: 11px; }
  .plan-benefits-banner-dark { margin-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .plan-benefits-viewport { overflow-x: auto; }
  .plan-benefits-track { animation: none !important; transform: none !important; }
  .plan-benefits-group[aria-hidden="true"] { display: none; }
}
.plan-card { background: #fff; border: 2px solid #b7c9dc; border-radius: 24px; padding: 26px; position: relative; box-shadow: 0 12px 32px rgba(7,34,73,.07), inset 0 0 0 1px rgba(255,255,255,.8); transition: transform .25s, box-shadow .25s, border-color .25s; }
.plan-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(7,34,73,.14), inset 0 0 0 1px rgba(255,255,255,.9); border-color: #238cca; }
.plan-card.featured { border: 2px solid #238cca; box-shadow: 0 24px 55px rgba(7,88,183,.15), inset 0 0 0 1px rgba(255,255,255,.85); }
.featured-badge { position: absolute; right: 20px; top: -20px; background: var(--yellow); color: #29333c; border-radius: 999px; padding: 7px 11px; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.plan-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.plan-category { font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: var(--blue); font-weight: 900; }
.top-label { color: #8d6b00; }
.plan-fit { padding: 6px 9px; background: #eff5fb; border-radius: 999px; color: #65768b; font-size: 9px; font-weight: 800; }
.plan-card h3 { font-family: 'Space Grotesk'; font-size: 48px; margin: 18px 0 5px; letter-spacing: -.055em; }
.plan-card h3 small { font-family: 'Manrope'; font-size: 11px; letter-spacing: .04em; display: block; color: #7b8a9d; margin-top: 4px; }
.plan-desc { min-height: 65px; color: #6b7a8d; font-size: 12px; line-height: 1.55; }
.price { display: flex; align-items: baseline; gap: 4px; padding: 14px 0 18px; }
.price span { font-size: 13px; font-weight: 800; }
.price strong { font-family: 'Space Grotesk'; font-size: 37px; letter-spacing: -.05em; }
.price small { color: #8794a5; font-size: 11px; }
.plan-card ul { list-style: none; padding: 18px 0; margin: 0; border-top: 1px solid #e9eef4; display: grid; gap: 10px; min-height: 166px; }
.plan-card li { font-size: 12px; color: #52657c; padding-left: 18px; position: relative; }
.plan-card li::before { content: '✓'; position: absolute; left: 0; color: var(--blue); font-weight: 900; }
.plan-card li.wifi6-plan-feature {
  display: flex;
  align-items: center;
  gap: 8px;
}
.wifi6-feature-icon {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 23px;
  height: 21px;
  flex: 0 0 23px;
  color: var(--blue);
}
.wifi6-feature-icon svg {
  width: 21px;
  height: 21px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
}
.wifi6-feature-icon svg circle { fill: currentColor; stroke: none; }
.wifi6-feature-icon b {
  position: absolute;
  right: -3px;
  bottom: -2px;
  display: grid;
  place-items: center;
  min-width: 11px;
  height: 11px;
  padding: 0 2px;
  border: 1.5px solid #fff;
  border-radius: 999px;
  background: var(--blue);
  color: #fff;
  font-size: 7px;
  line-height: 1;
  box-shadow: 0 1px 3px rgba(7, 88, 183, .2);
}

.top-plan { background: linear-gradient(180deg, #fffdf5, #fff); border-color: #c9aa38; }
.mesh-card::after { content: ''; position: absolute; width: 34px; height: 34px; right: 23px; bottom: 104px; border-radius: 50%; border: 1px solid rgba(7,88,183,.22); box-shadow: 0 0 0 7px rgba(7,88,183,.04), 0 0 0 15px rgba(7,88,183,.03); }
.plans-footnote { max-width: 820px; margin: 26px auto 0; text-align: center; font-size: 11px; line-height: 1.6; color: #708095; }
.plans-footnote a { color: var(--blue); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

/* Vitrine residencial: seletor compacto e cards com a hierarquia da referência. */
.plans-section .plan-tabs {
  width: min(100%, 520px);
  gap: 0;
  padding: 6px;
  margin-bottom: 28px;
  border-radius: 999px;
  background: #e7edf6;
  box-shadow: inset 0 1px 2px rgba(7,34,73,.05);
}
.plans-section .plan-tab {
  flex: 1 1 50%;
  min-height: 58px;
  padding: 7px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  border: 0;
  background: transparent;
  color: #627089;
  line-height: 1.15;
  white-space: normal;
  transition: color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}
.plans-section .plan-tab .plan-tab-title { margin: 0; color: inherit; font-size: 14px; font-weight: 900; }
.plans-section .plan-tab .plan-tab-subtitle { margin: 0; color: #77859a; font-size: 11px; font-weight: 700; }
.plans-section .plan-tab:hover { color: var(--navy); }
.plans-section .plan-tab.active {
  color: #fff;
  background: linear-gradient(135deg, #2c66c4, #173982);
  box-shadow: 0 9px 20px rgba(24,68,145,.24);
}
.plans-section .plan-tab.active .plan-tab-subtitle { color: var(--yellow); }
.plans-category-note {
  max-width: 760px;
  margin: 0 auto 42px;
  color: #657490;
  font-size: 15px;
  line-height: 1.75;
  text-align: center;
  animation: fadeSlide .3s ease both;
}
.plans-category-note[hidden] { display: none; }
.plans-section .plans-grid { gap: 28px; align-items: stretch; }
.plans-section #planos-top { grid-template-columns: repeat(2, minmax(280px, 360px)); justify-content: center; }
.plans-section .plan-card {
  min-width: 0;
  min-height: 450px;
  display: flex;
  flex-direction: column;
  padding: 34px 28px 28px;
  border: 1.5px solid #ccd8e7;
  border-radius: 24px;
  background: #fff;
  text-align: center;
  box-shadow: 0 14px 38px rgba(16,45,84,.055);
}
.plans-section .plan-card:hover {
  border-color: #8eadd0;
  box-shadow: 0 22px 48px rgba(16,45,84,.11);
}
.plans-section .plan-card.featured {
  border-color: #f6a01b;
  background: linear-gradient(180deg, #fffdf9 0%, #fff 44%);
  box-shadow: 0 22px 52px rgba(223,143,20,.13);
}
.plans-section .featured-badge {
  top: -13px;
  right: auto;
  left: 28px;
  padding: 7px 14px;
  color: #17213a;
  background: linear-gradient(135deg, #ffd15b, #eba128);
  box-shadow: 0 8px 20px rgba(224,150,32,.22);
  letter-spacing: .04em;
}
.plans-section .plan-top { order: 1; justify-content: center; }
.plans-section .plan-category { color: #2860bc; font-size: 10px; letter-spacing: .075em; }
.plans-section .top-label { color: #9a7100; }
.plans-section .plan-fit { display: none; }
.plans-section .plan-card h3 {
  order: 2;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 7px;
  margin: 7px 0 5px;
  color: #111f4e;
  font-size: 28px;
  letter-spacing: -.04em;
}
.plans-section .plan-card h3 small {
  display: inline;
  margin: 0;
  color: inherit;
  font-family: 'Space Grotesk';
  font-size: 25px;
  letter-spacing: -.04em;
  text-transform: none;
}
.plans-section .plan-desc {
  order: 3;
  min-height: 60px;
  max-width: 290px;
  margin: 0 auto;
  color: #687792;
  font-size: 13px;
  line-height: 1.7;
}
.plans-section .price {
  order: 4;
  justify-content: center;
  padding: 17px 0 7px;
  color: #111f4e;
}
.plans-section .price span { font-size: 12px; }
.plans-section .price strong { font-size: 42px; }
.plans-section .price small { color: #687792; font-size: 11px; }

.plans-section .plan-card ul {
  order: 6;
  width: 100%;
  min-height: 132px;
  margin: 0 auto 20px;
  padding: 7px 0 0;
  border-top: 0;
  gap: 9px;
  text-align: left;
}
.plans-section .plan-card li { font-size: 12px; }
.plans-section .plan-card .btn {
  order: 7;
  min-height: 52px;
  margin-top: auto;
  border-radius: 999px;
  font-size: 13px;
}
.plans-section .plan-card:not(.featured) .btn {
  border-color: #bfcde1;
  background: #fff;
  color: #111f4e;
  box-shadow: none;
}
.plans-section .plan-card:not(.featured) .btn:hover { border-color: #2860bc; background: #f7faff; }
.plans-section .plan-card.featured .btn {
  border-color: transparent;
  background: linear-gradient(135deg, #ffca55, #e69b26);
  color: #121b31;
  box-shadow: 0 12px 25px rgba(221,143,23,.22);
}

.simulator-section {
  background:
    radial-gradient(circle at 9% 10%, rgba(0,174,239,.20), transparent 28%),
    radial-gradient(circle at 91% 84%, rgba(255,199,0,.11), transparent 26%),
    linear-gradient(145deg, #021024 0%, #061a38 58%, #071d3e 100%);
  color:#fff;
  overflow:hidden;
}
.simulator-section::before { content:''; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to bottom,rgba(0,0,0,.72),transparent 92%); }
.sim-intro { position:relative; z-index:1; display:grid; grid-template-columns:.9fr 1.1fr; align-items:end; gap:58px; margin-bottom:28px; }
.section-kicker.light { color:#78d2ff; }
.sim-intro h2 { margin-bottom:0; }
.sim-intro h2 span { color:var(--yellow); }
.sim-intro > p { margin:0; color:#aebfd2; line-height:1.75; max-width:620px; }

.sim-workspace { position:relative; z-index:1; display:grid; grid-template-columns:380px minmax(0,1fr); gap:14px; padding:14px; border-radius:28px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.12); box-shadow:0 44px 100px rgba(0,0,0,.34); backdrop-filter:blur(16px); }
.sim-sidebar { display:flex; flex-direction:column; gap:10px; min-width:0; }
.sim-step-block { padding:15px; border-radius:18px; background:rgba(4,21,45,.72); border:1px solid rgba(255,255,255,.09); }
.sim-step-title { display:flex; align-items:center; gap:9px; color:#f5f9fd; font-size:11px; font-weight:900; margin-bottom:12px; }
.sim-step-title b { flex:0 0 auto; width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:rgba(255,204,0,.13); border:1px solid rgba(255,204,0,.28); color:var(--yellow); font-size:9px; }
.preset-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.preset-card { display:grid; grid-template-columns:58px 1fr; align-items:center; gap:9px; min-height:66px; padding:7px; border:1px solid rgba(255,255,255,.10); border-radius:13px; background:rgba(255,255,255,.035); color:#fff; text-align:left; cursor:pointer; transition:.2s ease; }
.preset-card:hover { border-color:rgba(0,174,239,.50); background:rgba(0,174,239,.07); transform:translateY(-1px); }
.preset-card.active { border-color:rgba(255,204,0,.58); background:linear-gradient(145deg,rgba(255,204,0,.12),rgba(255,255,255,.05)); box-shadow:0 0 0 1px rgba(255,204,0,.07); }
.preset-copy { display:grid; gap:2px; min-width:0; }
.preset-copy strong { font-size:9px; white-space:nowrap; }
.preset-copy small { color:#8298b0; font-size:7px; white-space:nowrap; }
.preset-card.active .preset-copy small { color:#d9c66f; }

.frequency-toggle { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.frequency-option { min-height:62px; padding:9px 10px; display:flex; gap:9px; align-items:center; border-radius:13px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.035); color:#fff; cursor:pointer; text-align:left; transition:.2s ease; }
.frequency-option:hover { border-color:rgba(0,174,239,.48); background:rgba(0,174,239,.07); }
.frequency-option.active { border-color:#20b7f5; background:linear-gradient(145deg,rgba(0,174,239,.17),rgba(0,101,198,.10)); box-shadow:inset 0 0 0 1px rgba(66,196,255,.08),0 8px 20px rgba(0,90,170,.10); }
.frequency-option .freq-icon { flex:0 0 auto; display:grid; place-items:center; width:30px; height:30px; border-radius:10px; background:rgba(0,174,239,.10); color:#67cffb; font-size:9px; font-weight:900; letter-spacing:-1px; overflow:hidden; }
.frequency-option.active .freq-icon { background:#0aa8ec; color:white; box-shadow:0 0 20px rgba(10,168,236,.24); }
.frequency-option > span:last-child { display:grid; gap:1px; }
.frequency-option strong { font-size:10px; }
.frequency-option small { font-size:7px; color:#7f96ad; }
.frequency-option.active small { color:#9bdcf7; }
.frequency-note { margin:9px 2px 0; color:#7f96ad; font-size:7.5px; line-height:1.45; }

.material-toggle { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.material-option { min-height:38px; padding:0 7px; border:1px solid rgba(255,255,255,.10); border-radius:10px; background:rgba(255,255,255,.035); color:#9fb3c7; font:inherit; font-size:8px; font-weight:800; cursor:pointer; transition:.2s ease; }
.material-option:hover { color:#fff; border-color:rgba(0,174,239,.45); }
.material-option.active { color:#fff; border-color:#20b7f5; background:rgba(0,174,239,.14); box-shadow:inset 0 0 0 1px rgba(66,196,255,.07); }
.material-note,.mesh-click-note { margin:8px 2px 0; color:#8298b0; font-size:8px; line-height:1.5; }
.mesh-click-note { color:#aebfd2; }

.mesh-counter { display:flex; align-items:center; justify-content:space-between; padding:10px 12px; border:1px solid rgba(255,255,255,.10); border-radius:13px; background:rgba(255,255,255,.035); }
.mesh-counter > div:first-child { display:grid; }
.mesh-counter span { color:#8ea4ba; font-size:8px; }
.mesh-counter strong { font-size:21px; line-height:1.1; }
.mesh-actions { display:flex; gap:6px; }
.mesh-actions button { width:36px; height:36px; border-radius:10px; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.055); color:#fff; font-size:19px; cursor:pointer; transition:.2s ease; }
.mesh-actions button:hover { border-color:rgba(255,204,0,.58); background:rgba(255,204,0,.09); }
.sim-control-actions { display:grid; grid-template-columns:1.2fr .8fr; gap:7px; margin-top:8px; }
.sim-action { min-height:38px; border-radius:10px; border:1px solid rgba(255,204,0,.34); background:rgba(255,204,0,.10); color:#ffe985; font:inherit; font-size:8px; font-weight:900; cursor:pointer; padding:0 10px; transition:.2s ease; }
.sim-action:hover { transform:translateY(-1px); background:rgba(255,204,0,.14); }
.sim-action.ghost { border-color:rgba(255,255,255,.11); background:rgba(255,255,255,.035); color:#99aec3; }
#resetSim { grid-column:1 / -1; justify-self:center; width:min(100%, 180px); }
.sim-recommendation { border:1px solid rgba(255,213,58,.25); border-left:4px solid var(--yellow); padding:17px 16px 16px; border-radius:0 16px 16px 0; background:linear-gradient(135deg,rgba(255,204,0,.13),rgba(255,255,255,.055)); color:#dce8f4; font-size:12px; line-height:1.55; box-shadow:0 12px 30px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.06); }
.sim-recommendation > strong { display:block; color:#fff; font-size:16px; line-height:1.25; margin-bottom:7px; }
.sim-recommendation > span { display:block; color:#b9cadb; }
.sim-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:9px; margin-top:11px; padding-top:10px; border-top:1px solid rgba(255,255,255,.09); }
.sim-price b { color:var(--yellow); font-size:17px; }
.sim-price small { color:#9fb1c5; font-size:9px; }
.sim-commercial-contact { width: 100%; min-height: 46px; margin-top: 11px; padding: 0 14px; justify-content: center; text-align: center; line-height: 1.25; }

.wifi-simulator { min-width:0; padding:12px; border-radius:21px; background:#f4f7fa; color:#14253a; box-shadow:0 24px 58px rgba(0,0,0,.23); border:1px solid rgba(255,255,255,.52); }
.sim-toolbar { min-height:46px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:3px 5px 9px; }
.sim-map-title { display:flex; align-items:center; gap:9px; }
.sim-map-title .live-dot { width:8px; height:8px; border-radius:50%; background:#19c879; box-shadow:0 0 0 5px rgba(25,200,121,.10),0 0 12px rgba(25,200,121,.30); }
.sim-map-title > div { display:grid; gap:1px; }
.sim-map-title strong { color:#14253a; font-size:11px; }
.sim-map-title small { color:#7c8a98; font-size:8px; }
.frequency-badge { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border-radius:999px; background:#e4f5fd; border:1px solid #c5e9fa; color:#087fba; font-size:8px; font-weight:900; white-space:nowrap; }
.heat-legend { display:grid; grid-template-columns:auto minmax(140px,1fr) auto; align-items:center; gap:8px; padding:0 5px 9px; }
.legend-label { color:#7b8997; font-size:7px; font-weight:800; white-space:nowrap; }
.heat-gradient { height:9px; border-radius:999px; background:linear-gradient(90deg,#16a34a 0 25%,#84cc16 25% 50%,#f59e0b 50% 75%,#ef4444 75% 100%); box-shadow:inset 0 0 0 1px rgba(23,43,65,.10); }

.sim-floor-tabs { display:flex; align-items:center; justify-content:center; gap:7px; padding:0 5px 10px; }
.sim-floor-tabs[hidden] { display:none; }
.sim-floor-tab { min-height:32px; padding:0 14px; border:1px solid #cfdae6; border-radius:999px; background:#fff; color:#687990; font:inherit; font-size:9px; font-weight:900; cursor:pointer; }
.sim-floor-tab.active { border-color:#0b8fd5; background:#e3f5fd; color:#087fba; box-shadow:0 6px 14px rgba(0,126,190,.10); }

.floorplan { height:650px; border-radius:16px; background:#dce4ea; position:relative; overflow:hidden; touch-action:none; isolation:isolate; box-shadow:inset 0 0 0 1px rgba(40,64,86,.12),0 15px 34px rgba(19,44,66,.15); }
.floorplan::before { content:''; position:absolute; inset:0; z-index:0; background:linear-gradient(145deg,#f8fafc,#dfe7ed 85%),repeating-linear-gradient(0deg,transparent 0 24px,rgba(42,64,84,.045) 25px),repeating-linear-gradient(90deg,transparent 0 24px,rgba(42,64,84,.045) 25px); }
.floorplan::after { content:''; position:absolute; inset:10px; z-index:1; border:1px solid rgba(53,76,96,.12); border-radius:12px; pointer-events:none; }
.heatmap-canvas { position:absolute; inset:0; width:100%; height:100%; z-index:2; pointer-events:none; opacity:.96; filter:saturate(1.34) contrast(1.04); }
.floor-grid { position:absolute; inset:5% 4%; z-index:4; pointer-events:none; }
.floor-levels { position:absolute; inset:5% 4%; z-index:6; pointer-events:none; }

.room { position:absolute; box-sizing:border-box; background:rgba(255,255,255,.09); border:0; color:#33475a; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(54,75,94,.08); }

.room-signal { position:absolute; right:7px; top:7px; z-index:8; display:inline-flex; align-items:center; gap:4px; padding:4px 6px; border-radius:999px; background:rgba(9,27,45,.82); color:#fff; font-size:7px; font-style:normal; letter-spacing:0; text-transform:none; box-shadow:0 5px 14px rgba(0,0,0,.12); }
.room-signal::before { content:''; width:5px; height:5px; border-radius:50%; background:#38c56d; }
.room-signal[data-level="excelente"]::before { background:#16a34a; }.room-signal[data-level="bom"]::before { background:#84cc16; }.room-signal[data-level="regular"]::before { background:#f59e0b; }.room-signal[data-level="sem-sinal"]::before { background:#ef4444; }

.furn { position:absolute; display:block; z-index:6; opacity:.44; border:2px solid rgba(50,67,83,.52); background:rgba(255,255,255,.18); }
.furn-sofa { width:42%; height:24%; left:9%; bottom:12%; border-radius:7px; box-shadow:inset 0 -6px 0 rgba(61,80,97,.08); }.furn-sofa i {position:absolute;top:-3px;width:28%;height:6px;border:2px solid rgba(63,79,95,.45);border-radius:4px}.furn-sofa i:first-child {left:8%}.furn-sofa i:last-child {right:8%}
.furn-coffee { width:24%; height:18%; right:12%; bottom:16%; border-radius:50%; }
.furn-dining { width:34%; height:38%; left:33%; bottom:15%; border-radius:50%; }.furn-dining i {position:absolute;width:7px;height:7px;border:1px solid rgba(63,79,95,.55);border-radius:50%}.furn-dining i:nth-child(1) {left:-9px;top:35%}.furn-dining i:nth-child(2) {right:-9px;top:35%}.furn-dining i:nth-child(3) {left:40%;top:-9px}.furn-dining i:nth-child(4) {left:40%;bottom:-9px}
.furn-counter { width:18%; height:64%; right:8%; bottom:8%; border-radius:3px; }.furn-island { width:38%; height:18%; left:18%; bottom:22%; border-radius:3px; }
.furn-bed { width:48%; height:46%; left:25%; bottom:12%; border-radius:4px; box-shadow:inset 0 9px 0 rgba(63,79,95,.10); }.furn-bed i {position:absolute;left:10%;right:10%;top:7%;height:20%;border:1px solid rgba(63,79,95,.38);border-radius:3px}
.furn-desk { width:52%; height:20%; left:24%; bottom:18%; border-radius:3px; }.furn-desk i {position:absolute;width:18px;height:12px;left:35%;top:-13px;border:1px solid rgba(63,79,95,.5);border-radius:2px}
.furn-bath { width:54%; height:34%; left:10%; bottom:12%; border-radius:16px 16px 5px 5px; }.furn-sink { width:20%; height:20%; right:8%; bottom:16%; border-radius:50%; }
.furn-plant { width:12px; height:12px; left:20%; bottom:24%; border-radius:50%; background:rgba(90,150,104,.25); }.furn-plant i {position:absolute;width:9px;height:9px;border:1px solid rgba(65,115,76,.45);border-radius:50%;background:rgba(104,166,116,.18)}.furn-plant i:nth-child(1) {left:18px;top:-8px}.furn-plant i:nth-child(2) {left:36px;top:4px}.furn-plant i:nth-child(3) {left:58px;top:-5px}

.wifi-node { width:62px; height:62px; border-radius:50%; position:absolute; z-index:10; display:grid; place-items:center; align-content:center; gap:0; transform:translate(-50%,-50%); cursor:grab; color:#fff; user-select:none; touch-action:none; box-shadow:0 10px 30px rgba(0,0,0,.34),0 0 0 4px rgba(255,255,255,.55); transition:box-shadow .18s ease,scale .18s ease; }
.wifi-node[hidden] { display:none; }
.wifi-node:active,.wifi-node.dragging { cursor:grabbing; scale:1.06; box-shadow:0 16px 36px rgba(0,0,0,.42),0 0 0 5px rgba(255,255,255,.72); }
.router-node { background:linear-gradient(145deg,#0eb8f0,#0753a5); }
.mesh-node { background:linear-gradient(145deg,#ffe366,#ffc400); color:#3e3300; }
.wifi-node .node-icon { font-size:17px; height:18px; line-height:14px; font-weight:900; transform:rotate(90deg); }
.wifi-node b { font-size:7px; letter-spacing:.08em; z-index:2; line-height:1; }
.wifi-node small { z-index:2; font-size:6px; margin-top:3px; opacity:.76; font-weight:800; }
.mesh-node[data-backhaul="weak"] { box-shadow:0 0 0 5px rgba(35,104,217,.25),0 12px 30px rgba(0,0,0,.34); }.mesh-node[data-backhaul="good"] { box-shadow:0 0 0 5px rgba(248,223,44,.25),0 12px 30px rgba(0,0,0,.34); }
.node-rings { position:absolute; inset:-13px; border-radius:50%; border:1px solid currentColor; opacity:.24; box-shadow:0 0 0 13px currentColor; animation:nodePulse 2.4s ease-out infinite; }

@keyframes nodePulse { 0%{transform:scale(.55);opacity:.24} 90%,100%{transform:scale(1.5);opacity:0} }
.mesh-counter.sim-limit { animation:meshLimit .65s ease; }

@keyframes meshLimit { 0%,100%{border-color:rgba(255,255,255,.10)} 35%{border-color:#ff6b5f;box-shadow:0 0 0 4px rgba(255,76,68,.10)} }
.drag-hint { position:absolute; z-index:9; left:50%; bottom:14px; transform:translateX(-50%); display:flex; align-items:center; gap:7px; padding:7px 10px; border-radius:999px; background:rgba(9,28,49,.78); color:#eef6fc; font-size:7px; font-weight:800; pointer-events:none; box-shadow:0 6px 20px rgba(0,0,0,.18); backdrop-filter:blur(7px); transition:opacity .25s ease; }
.drag-hint.hidden { opacity:0; }
.drag-hint span { color:#6ed4ff; font-size:12px; }
.heat-tooltip { position:absolute; z-index:12; pointer-events:none; transform:translate(12px,12px); min-width:110px; padding:8px 9px; border-radius:9px; background:rgba(2,14,31,.90); color:#fff; box-shadow:0 8px 24px rgba(0,0,0,.26); backdrop-filter:blur(8px); }.heat-tooltip strong {display:block;font-size:10px}.heat-tooltip span {color:#91a9bf;font-size:7px}
.sim-bottom { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px; padding:10px 4px 0; }
.signal-summary { display:grid; grid-template-columns:8px auto; column-gap:6px; align-items:center; padding:7px 9px; border-radius:10px; background:#fff; border:1px solid #dbe3e9; box-shadow:0 4px 14px rgba(31,58,81,.06); }.signal-summary .summary-dot {grid-row:1 / span 2;width:7px;height:7px;border-radius:50%;background:#38c56d;box-shadow:0 0 10px currentColor}.signal-summary strong {color:#32475a;font-size:8px;line-height:1.2}.signal-summary small {color:#8795a2;font-size:7px}.signal-summary.has-weak .summary-dot {background:#ef4444}.signal-summary.has-fair .summary-dot {background:#f8df2c}.signal-summary.is-good .summary-dot {background:#38c56d}
.sim-disclaimer { margin:0; color:#8996a3; font-size:7px; line-height:1.45; text-align:right; }

.mesh-plans-segment { position:relative; z-index:1; margin-top:32px; padding:30px; border-radius:28px; border:1px solid rgba(121,210,255,.22); background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035)); box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 28px 70px rgba(0,0,0,.20); backdrop-filter:blur(18px); scroll-margin-top:92px; }
.mesh-segment-head { display:flex; flex-direction:column; align-items:center; gap:12px; margin-bottom:25px; text-align:center; }
.mesh-segment-head > div { width:100%; }
.mesh-segment-head h3 { max-width:100%; margin:10px 0 0; font-family:'Space Grotesk'; font-size:clamp(15px,4vw,48px); line-height:1.03; letter-spacing:-.04em; white-space:nowrap; }
.mesh-segment-head h3 span { color:var(--yellow); }
.mesh-segment-head p { max-width:100%; margin:0; color:#aebfd2; font-size:clamp(9px,1.1vw,14px); line-height:1.7; text-align:center; white-space:nowrap; }
.mesh-plan-tabs { display:flex; justify-content:center; gap:8px; margin-bottom:22px; }
.mesh-plan-tab { min-height:46px; padding:0 20px; border-radius:999px; border:1px solid rgba(255,255,255,.20); background:rgba(255,255,255,.055); color:#bdcede; font:inherit; font-size:12px; font-weight:800; cursor:pointer; transition:.2s ease; }
.mesh-plan-tab:hover { border-color:rgba(85,207,255,.58); color:#fff; }
.mesh-plan-tab.active { color:#071a32; border-color:var(--yellow); background:linear-gradient(135deg,#ffe274,#ffc400); box-shadow:0 10px 25px rgba(255,196,0,.16); }
.mesh-plans-grid { scroll-margin-top:105px; }
.mesh-plans-segment .mesh-card::after { display:none; }
.mesh-top-grid { grid-template-columns:minmax(280px,390px); justify-content:center; }

@media (max-width:1100px) {
  .sim-intro { grid-template-columns:1fr; gap:14px; }
  .sim-workspace { grid-template-columns:1fr; }
  .sim-sidebar { display:grid; grid-template-columns:1fr 1fr; align-items:start; }
  .sim-sidebar .sim-recommendation { grid-column:1/-1; }
  .floorplan { height:590px; }
  .mesh-segment-head { grid-template-columns:1fr; gap:12px; }
}
@media (max-width:720px) {
  .sim-intro > p {
    position: relative;
    padding: 18px 18px 18px 22px;
    border: 1px solid rgba(255, 204, 0, .4);
    border-left: 4px solid var(--yellow);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255, 204, 0, .13), rgba(255, 255, 255, .07));
    box-shadow: 0 14px 34px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .1);
    color: #f4f8fc;
    font-size: 16px;
    font-weight: 650;
    line-height: 1.65;
  }
  .sim-intro > p::before {
    content: 'COMO USAR';
    display: block;
    width: max-content;
    margin-bottom: 9px;
    color: var(--yellow);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
  }
  .sim-workspace { padding:8px; border-radius:20px; }
  .sim-sidebar { grid-template-columns:1fr; }
  .preset-grid { grid-template-columns:1fr 1fr; }
  .preset-card { grid-template-columns:48px 1fr; }
  .frequency-toggle { grid-template-columns:1fr 1fr; }
  .sim-toolbar { align-items:flex-start; flex-direction:column; }
  .heat-legend { grid-template-columns:auto 1fr auto; }
  .legend-label { font-size:6px; }
  .floorplan { height:500px; }
  .room { border-width:2px; }.room-signal {top:auto;bottom:5px;right:5px;padding:3px 4px;font-size:6px}
  .furn { opacity:.36; }.wifi-node {width:52px;height:52px}.sim-bottom {grid-template-columns:1fr}.sim-disclaimer {text-align:left}
  .drag-hint { display:none; }
  .mesh-plans-segment { margin-top:28px; padding:20px 14px; border-radius:22px; }
  .mesh-plan-tabs { display:grid; grid-template-columns:1fr 1fr; }
  .mesh-plan-tab { width:100%; }
  .mesh-top-grid { grid-template-columns:1fr; }
}
.benefits-section { background: #fff; }
.entertainment-showcase {
  position: relative;
  min-height: 330px;
  margin: -4px 0 36px;
  padding: 44px 48px;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  align-items: center;
  gap: 28px;
  overflow: hidden;
  border-radius: 30px;
  background:
    radial-gradient(circle at 78% 20%, rgba(11,147,232,.26), transparent 30%),
    radial-gradient(circle at 94% 75%, rgba(255,52,64,.16), transparent 28%),
    linear-gradient(135deg, #04132c 0%, #071d3d 56%, #09182f 100%);
  border: 1px solid rgba(7,88,183,.18);
  box-shadow: 0 30px 70px rgba(9,31,67,.16);
}
.entertainment-showcase::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.024) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.024) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(90deg, black, transparent 78%);
}
.entertainment-copy { position: relative; z-index: 3; max-width: 560px; color: #fff; }
.entertainment-tag { display: inline-flex; align-items: center; gap: 8px; color: #7bdcff; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .15em; }
.entertainment-tag::before { content: ''; width: 22px; height: 2px; background: var(--yellow); }
.entertainment-copy h3 { font-family: 'Space Grotesk'; font-size: clamp(36px, 4vw, 54px); line-height: 1; letter-spacing: -.04em; margin: 18px 0; }
.entertainment-copy h3 em { font-style: normal; color: var(--yellow); }
.entertainment-copy p { margin: 0 0 24px; color: #9fb1c7; line-height: 1.7; font-size: 14px; max-width: 510px; }
.entertainment-link { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 12px; font-weight: 900; }
.entertainment-link span { color: var(--yellow); transition: transform .2s ease; }
.entertainment-link:hover span { transform: translateX(4px); }
.entertainment-art { position: absolute; z-index: 2; right: -2px; bottom: -2px; width: 48%; height: 100%; display: flex; align-items: flex-end; justify-content: flex-end; }
.entertainment-art img { position: relative; z-index: 2; width: min(500px, 100%); max-width: none; filter: drop-shadow(0 20px 40px rgba(0,0,0,.42)); transform: translate(10px, 8px); }
.entertainment-glow { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .34; }
.entertainment-glow.glow-blue { width: 260px; height: 260px; background: #08b8ff; right: 90px; top: 26px; }
.entertainment-glow.glow-red { width: 210px; height: 210px; background: #ef3340; right: -22px; bottom: -34px; opacity: .24; }

.sky { --brand-soft:#ffe7cf; }.universal {--brand-soft:#dfeeff}.looke {--brand-soft:#eadfff}.curta {--brand-soft:#dbf0e2}.docway {--brand-soft:#d6f1ef}.kiddle {--brand-soft:#fff0bb}.jornalista {--brand-soft:#e9e9e9}.hotgo {--brand-soft:#fde1ea}.kaspersky {--brand-soft:#d9f4dc}.deezer {--brand-soft:#f1ddff}.apple {--brand-soft:#e5e5e5}.hbo {--brand-soft:#e6ddff}.disney {--brand-soft:#dce7ff}.globo {--brand-soft:#fde1ce}.cindie {--brand-soft:#ffe0dc}.leitura {--brand-soft:#fff0b8}.exitlag {--brand-soft:#e5e1ff}
.benefit-note { margin-top: 18px; border-radius: 18px; background: #f5f8fb; border: 1px solid #e2e8ef; padding: 16px 20px; display: grid; grid-template-columns: 1fr 1fr auto; gap: 16px; align-items: center; }
.benefit-note > div { display: grid; grid-template-columns: auto 1fr; column-gap: 10px; }
.benefit-note div > span { grid-row: 1 / 3; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #eaf3fb; color: var(--blue); font-weight: 900; }
.benefit-note strong { font-size: 12px; }
.benefit-note small { color: #8492a4; font-size: 9px; }
.benefit-note > a { color: var(--blue); font-size: 11px; font-weight: 800; }

details { border-bottom: 1px solid #d9e1eb; }
summary { list-style: none; cursor: pointer; padding: 22px 40px 22px 0; font-weight: 800; font-size: 14px; position: relative; }
summary::-webkit-details-marker { display: none; }
summary::after { content: '+'; position: absolute; right: 5px; font-size: 20px; color: var(--blue); top: 18px; }
details[open] summary::after { content: '−'; }
details p { color: #66768a; font-size: 12px; line-height: 1.7; margin: -8px 45px 22px 0; }

footer { background: #fff; color: #425269; padding: 44px 0 18px; border-top: 1px solid #e2e8ef; }
.footer-grid { display: grid; grid-template-columns: 1.3fr .7fr .8fr 1fr; gap: 50px; }
.footer-brand img { width: 180px; }
.footer-brand p { max-width: 270px; line-height: 1.7; font-size: 11px; }
.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; gap: 9px; font-size: 11px; }
.footer-grid strong { color: var(--ink); font-size: 12px; margin-bottom: 5px; }
.footer-grid a:hover { color: var(--blue); }
.footer-bottom { border-top: 1px solid #e8edf3; margin-top: 28px; padding-top: 16px; display: flex; justify-content: space-between; color: #8b98a8; font-size: 9px; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }
.delay-1 { transition-delay: .08s; }.delay-2 { transition-delay: .16s; }.delay-3 { transition-delay: .24s; }

@media (max-width: 1050px) {
  
  
  
  .entertainment-showcase { padding: 38px 34px; grid-template-columns: 1fr .82fr; }
  .entertainment-art { width: 46%; }
  .desktop-nav, .phone-link { display: none; }
  .menu-toggle { display: block; }
  .hero-grid { grid-template-columns: 1fr; text-align: center; }
  .hero-copy { margin: auto; }
  .eyebrow { justify-content: center; }
  .hero-actions, .hero-proof { justify-content: center; }
  .hero-visual { min-height: 460px; }
  .coverage-quick { grid-template-columns: 1fr 1fr; }
  .coverage-quick > div { grid-column: 1 / -1; }
  .choice-grid.four { grid-template-columns: repeat(2, 1fr); }
  .choice-grid.five { grid-template-columns: repeat(3, 1fr); }
  .plans-grid { grid-template-columns: repeat(2, 1fr); }
  
  
  
  
  
  
  
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .hero-visual { min-height: 440px; overflow: visible; }
  
  .entertainment-showcase { min-height: 510px; grid-template-columns: 1fr; padding: 32px 26px 250px; }
  .entertainment-copy { max-width: none; }
  .entertainment-art { width: 100%; height: 255px; right: 0; bottom: 0; justify-content: center; overflow: hidden; }
  .entertainment-art img { width: 500px; max-width: none; transform: translateY(22px); }
  .entertainment-glow.glow-blue { right: 42%; top: 30px; }
  .entertainment-glow.glow-red { right: 5%; bottom: -20px; }
  .container { width: min(100% - 28px, 1180px); }
  .section { padding: 52px 0; }
  .header-inner { min-height: 70px; }
  .brand img { width: 145px; }
  .header-actions .btn { display: none; }
  .header-actions > .split-contact { display: none !important; }
  .hero { padding: 128px 0 44px; min-height: auto; }
  .hero h1 { font-size: 58px; }
  .hero h1 em::after { display: none; }
  .hero-sub { font-size: 15px; }
  .hero-proof { gap: 20px; flex-wrap: wrap; }
  .hero-proof strong { font-size: 20px; }
  .hero-visual { min-height: 360px; }
  .orbit-system { transform: scale(.68); width: 500px; margin: -60px 0; }
  .coverage-quick { grid-template-columns: 1fr; }
  .coverage-quick > div { grid-column: auto; padding: 8px 4px; }
  .coverage-quick .btn { width: 100%; }
  .split-head { grid-template-columns: 1fr; gap: 20px; }
  .section-head h2 { font-size: 42px; }
  .finder-shell { padding: 24px 18px; border-radius: 22px; }
  .finder-step h3 { font-size: 26px; }
  .choice-grid.four, .choice-grid.five, .choice-grid.two { grid-template-columns: 1fr; }
  .choice { min-height: 100px; }
  .finder-result.active { grid-template-columns: 1fr; }
  .finder-tip { display: none; }
  .plans-grid { grid-template-columns: 1fr; }
  .plan-card ul { min-height: auto; }
  
  .floorplan { height: 480px; }
  
  .benefit-note { grid-template-columns: 1fr; }
  
  
  
  
  
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; gap: 6px; }
}

@media (max-width: 460px) {
  .hero h1 { font-size: 49px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; }
  .hero-proof div { width: calc(50% - 10px); }
  .section-head h2 { font-size: 38px; }
  
  .floorplan { height: 440px; }
  .sim-toolbar span:nth-child(2) { display: none; }
  .footer-grid { grid-template-columns: 1fr; }
}

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

/* Destino dos seletores Advanced / TOP */
.plans-grid { scroll-margin-top: 118px; }
.plans-grid.plan-target-flash { animation: planTargetFlash .9s ease-out; }

@keyframes planTargetFlash {
  0% { filter: brightness(1); }
  35% { filter: brightness(1.045); }
  100% { filter: brightness(1); }
}
@media (max-width: 760px) {
  .plans-grid { scroll-margin-top: 92px; }
}

/* =========================================================
   SIMULADOR — MAPA VISUAL INSPIRADO NA REFERÊNCIA ENVIADA
   Mantém todos os controles e funções; altera apenas a leitura
   visual do mapa para um heat map quadriculado, limpo e direto.
   ========================================================= */
.wifi-simulator {
  background:#f1f5f8;
  border:1px solid #e1e8ee;
  border-radius:18px;
  box-shadow:0 18px 48px rgba(6,28,53,.18);
}

.heat-gradient {
  height:10px;
  border-radius:2px;
  background:linear-gradient(90deg,#45c070 0 25%,#6fcd70 25% 50%,#f7c458 50% 75%,#efa096 75% 100%);
  box-shadow:inset 0 0 0 1px rgba(22,39,58,.12);
}

.floorplan {
  height:650px;
  position:relative;
  overflow:hidden;
  touch-action:none;
  isolation:isolate;
  border:4px solid #142544;
  border-radius:2px;
  background:#eef2f4;
  box-shadow:0 2px 7px rgba(17,37,64,.16);
}
.floorplan::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background:#edf2f5;
}
/* Fine square grid drawn above the colour field, like the supplied screenshot. */
.floorplan::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  border:0;
  border-radius:0;
  background-image:
    linear-gradient(rgba(18,101,101,.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,101,101,.16) 1px, transparent 1px);
  background-size:7px 7px;
  box-shadow:none;
}
.heatmap-canvas {
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  pointer-events:none;
  opacity:1;
  filter:none;
  image-rendering:pixelated;
  image-rendering:crisp-edges;
}
.floor-grid { z-index:4; }
.floor-levels { z-index:5; }

.room {
  background:transparent;
  border:1.5px solid rgba(99,107,110,.82);
  color:#26394e;
  box-shadow:none;
  overflow:visible;
  text-transform:none;
  letter-spacing:0;
}

/* The reference keeps the plan itself clean; signal details remain in the
   summary and hover tooltip instead of occupying every room. */
.room-signal { display:none; }
.furn { display:none; }

/* Compact access points, matching the small circular marker in the reference. */
.wifi-node {
  width:30px;
  height:30px;
  z-index:10;
  gap:0;
  border:3px solid #fff;
  box-shadow:0 1px 5px rgba(14,31,48,.30);
  transition:transform .12s ease, box-shadow .12s ease;
}
.wifi-node:active,.wifi-node.dragging {
  scale:1;
  transform:translate(-50%,-50%) scale(1.08);
  box-shadow:0 2px 8px rgba(14,31,48,.38);
}
.router-node {
  background:#e8a039;
  color:#fff;
}
.mesh-node {
  background:#ffc53a;
  color:#263446;
}
.wifi-node .node-rings,
.wifi-node .node-icon,
.wifi-node small { display:none; }
.wifi-node b {
  display:block;
  z-index:2;
  margin:0;
  font-size:10px;
  font-weight:900;
  line-height:1;
  letter-spacing:0;
}
.mesh-node[data-backhaul="weak"],
.mesh-node[data-backhaul="good"] {
  box-shadow:0 1px 5px rgba(14,31,48,.30);
}

.heat-tooltip {
  z-index:12;
  min-width:105px;
  padding:7px 8px;
  border-radius:4px;
  background:rgba(255,255,255,.96);
  color:#26394e;
  border:1px solid #d3dce2;
  box-shadow:0 5px 16px rgba(15,34,53,.18);
  backdrop-filter:none;
}
.heat-tooltip strong { font-size:9px; }
.heat-tooltip span { color:#6f7f8d; font-size:7px; }

.drag-hint {
  border-radius:4px;
  background:rgba(20,37,68,.88);
  font-size:7px;
}

@media (max-width:720px) {
  .floorplan { height:500px; border-width:3px; }
  .floorplan::after { background-size:6px 6px; }
  .room { border-width:1px; }
  
  .wifi-node { width:26px; height:26px; border-width:2px; }
  .wifi-node b { font-size:8px; }
}
@media (max-width:460px) {
  .floorplan { height:440px; }
  
  .wifi-node { width:24px; height:24px; }
}

/* Multi-floor correction: each storey is visually independent, with a clear
   neutral gap between levels. Heat is only painted inside these panels. */
.floorplan[data-preset="two"] { height:760px; }
.floorplan[data-preset="three"] { height:860px; }
.floorplan[data-preset="two"]::before,
.floorplan[data-preset="three"]::before { background:#e9eef2; }

.floorplan[data-preset="two"] .drag-hint,
.floorplan[data-preset="three"] .drag-hint { bottom:8px; }

@media (max-width:720px) {
  .floorplan[data-preset="two"] { height:630px; }
  .floorplan[data-preset="three"] { height:720px; }
  
  
  
}
@media (max-width:460px) {
  .floorplan[data-preset="two"] { height:580px; }
  .floorplan[data-preset="three"] { height:660px; }
}

/* =========================================================
   RESPONSIVE COMPATIBILITY LAYER
   Fluid layout from small phones through ultra-wide screens.
   ========================================================= */
html, body { width: 100%; max-width: 100%; overflow-x: hidden; overflow-x: clip; }
body { min-width: 0; }
main, header, footer, section, .container, .hero-grid > *, .split-head > *, .sim-workspace > *, .finder-result > *, .footer-grid > * { min-width: 0; }
img, svg, video { max-width: 100%; height: auto; }
canvas { max-width: 100%; }
button, input, select, textarea { max-width: 100%; }
a, p, h1, h2, h3, h4, strong, span, small { overflow-wrap: break-word; }
.container { width: min(1180px, calc(100% - 40px)); }
.site-header { padding-top: env(safe-area-inset-top, 0px); }

.mobile-nav {
  max-height: calc(100vh - 70px);
  max-height: calc(100dvh - 70px - env(safe-area-inset-top, 0px));
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* Keep the hero art truly fluid instead of relying on a fixed 500px box. */
.hero-visual { min-width: 0; overflow: visible; }
.orbit-system {
  width: min(520px, 100%);
  height: auto;
  aspect-ratio: 1;
  margin-inline: auto;
}

.orbit-a { width: 120%; height: 57%; }
.orbit-b { width: 100%; height: 67%; }
.hero-tech-label { max-width: 72%; white-space: normal; text-align: left; }

/* Prevent long controls and labels from forcing horizontal scroll. */
.coverage-quick, .finder-shell, .plan-card, .wifi-simulator, .entertainment-showcase, .benefit-note { min-width: 0; }
.coverage-quick input, .coverage-quick select, .sim-sidebar button { min-width: 0; }

@media (max-width: 1050px) {
  .container { width: min(920px, calc(100% - 36px)); }
  .hero-grid { grid-template-columns: 1fr; text-align: center; gap: 24px; }
  .hero-copy { width: min(720px, 100%); margin-inline: auto; }
  .eyebrow { justify-content: center; flex-wrap: wrap; line-height: 1.45; }
  .hero-actions, .hero-proof { justify-content: center; }
  .hero-visual { width: min(580px, 100%); margin-inline: auto; min-height: 500px; }
  .orbit-system { width: min(520px, 92vw); }
  
  
  .footer-grid { gap: 32px; }
}

@media (max-width: 768px) {
  :root { --radius: 20px; }
  .container { width: calc(100% - 28px); }
  .section { padding: 52px 0; }
  .site-header { background: rgba(3,16,36,.88); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255,255,255,.07); }
  .header-inner { min-height: 68px; gap: 12px; }
  .brand img { width: clamp(132px, 38vw, 155px); }
  .menu-toggle { min-width: 44px; min-height: 44px; display: grid; place-items: center; border-radius: 12px; }
  .mobile-nav { padding-left: 14px; padding-right: 14px; padding-bottom: calc(22px + env(safe-area-inset-bottom, 0px)); }
  .mobile-nav a { min-height: 46px; display: flex; align-items: center; }

  .hero { min-height: auto; padding: calc(106px + env(safe-area-inset-top, 0px)) 0 44px; }
  .hero-grid { min-height: 0; gap: 20px; }
  .hero-copy { max-width: 620px; }
  .eyebrow { font-size: 10px; letter-spacing: .1em; gap: 7px; }
  .eyebrow span { width: 18px; }
  .hero h1 { font-size: clamp(44px, 13.5vw, 62px); line-height: .98; margin: 20px auto 22px; max-width: 10ch; }
  .hero-sub { font-size: clamp(14px, 4vw, 16px); line-height: 1.65; margin-inline: auto; }
  .hero-actions { margin: 26px 0 30px; gap: 10px; }
  .hero-actions .btn { flex: 1 1 210px; }
  .hero-proof {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding-top: 20px;
  }
  .hero-proof div { padding: 0 4px; }
  .hero-proof strong { font-size: clamp(17px, 5.4vw, 22px); line-height: 1.05; }
  .hero-proof span { font-size: 9px; line-height: 1.35; letter-spacing: .04em; }
  .hero-visual { min-height: 0; width: min(520px, 100%); padding: 10px 0 2px; }
  .orbit-system { width: min(100%, 470px); transform: none; margin: 0 auto; }
  
  
  
  .signal-chip { padding: 7px 9px; font-size: 9px; border-radius: 10px; max-width: 34%; line-height: 1.25; }
  .hero-tech-label { font-size: 8px; padding: 7px 9px; max-width: 52%; border-radius: 10px; }

  .coverage-quick-wrap { margin-top: 24px; }
  .coverage-quick { grid-template-columns: 1fr; gap: 12px; padding: 15px; border-radius: 24px; }
  .coverage-quick > div { grid-column: auto; padding: 7px 6px; }
  .coverage-quick-copy { align-items: flex-start; }
  .coverage-quick-copy > div { padding: 0; }
  .coverage-radar { width: 44px; height: 44px; flex-basis: 44px; }
  .coverage-quick strong { font-size: 16px; }
  .coverage-search { grid-template-columns: 1fr; padding: 0 !important; }
  .coverage-quick input, .coverage-quick select { font-size: 16px; min-height: 54px; }
  .coverage-quick .btn { width: 100%; min-height: 50px; }
  .coverage-hint { grid-column: 1; margin: -3px 2px 0; }
  .coverage-result { grid-template-columns: auto minmax(0, 1fr); gap: 10px; padding: 12px; }
  .coverage-result .result-action { grid-column: 1 / -1; width: 100%; }

  .section-head { margin-bottom: 24px; }
  .section-head h2 {
    font-size: clamp(36px, 10.5vw, 48px);
    line-height: 1.03;
  }
  .split-head { grid-template-columns: 1fr; gap: 18px; }
  .split-head p { margin-top: 0; }

  .finder-shell { padding: 22px 16px; border-radius: 20px; }
  .finder-progress { margin-bottom: 26px; }
  .finder-step h3 { font-size: clamp(23px, 7vw, 30px); }
  .choice-grid.four, .choice-grid.five, .choice-grid.two { grid-template-columns: 1fr; }
  .choice { min-height: 92px; }
  .finder-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .finder-nav .btn { width: 100%; }
  .finder-result.active { grid-template-columns: 1fr; }

  .plan-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
  }
  
  .plan-tab { width: 100%; min-height: 48px; padding: 0 10px; font-size: 12px; }
  .plan-tab span { display: block; font-size: 8px; margin: 1px 0 0; }
  .plans-grid { grid-template-columns: 1fr; gap: 14px; }
  .plans-grid.plan-carousel {
    display: flex;
    gap: 12px;
    width: calc(100% + 28px);
    margin-inline: -14px;
    padding: 4px 20px 16px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 20px;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .plans-section #planos-top.plan-carousel { justify-content: flex-start; }
  .plans-grid.plan-carousel::-webkit-scrollbar { display: none; }
  .plans-grid.plan-carousel[hidden] { display: none; }
  .plans-grid.plan-carousel > .plan-card {
    flex: 0 0 calc(100% - 18px);
    min-width: 0;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }
  .plan-carousel-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 2px auto 12px;
  }
  .plan-carousel-controls[hidden] { display: none; }
  .carousel-arrow {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border: 1px solid #c8d8e8;
    border-radius: 50%;
    background: #fff;
    color: var(--blue);
    font: inherit;
    font-size: 17px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(7,34,73,.08);
  }
  .carousel-dots { display: flex; align-items: center; gap: 6px; }
  .carousel-dot { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 999px; background: #bccbd9; cursor: pointer; transition: width .2s, background .2s; }
  .carousel-dot.active { width: 22px; background: var(--blue); }
  .carousel-counter { min-width: 34px; color: #71839a; font-size: 10px; font-weight: 800; text-align: center; }
  .mesh-plans-segment .carousel-arrow { background: rgba(255,255,255,.09); color: #fff; border-color: rgba(255,255,255,.20); box-shadow: none; }
  .mesh-plans-segment .carousel-dot { background: rgba(255,255,255,.28); }
  .mesh-plans-segment .carousel-dot.active { background: var(--yellow); }
  .mesh-plans-segment .carousel-counter { color: #aebfd2; }
  .plan-card { padding: 22px 18px; border-radius: 20px; }
  .plan-card h3 { font-size: clamp(40px, 12vw, 48px); }
  .plan-card ul { min-height: 0; }
  .price { flex-wrap: wrap; }
  .price strong { font-size: clamp(32px, 10vw, 37px); }

  .simulator-section { overflow: hidden; }
  .sim-intro { grid-template-columns: 1fr; gap: 14px; }
  .sim-workspace { grid-template-columns: 1fr; padding: 8px; border-radius: 20px; }
  .sim-sidebar { display: grid; grid-template-columns: 1fr; }
  .preset-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .preset-card { grid-template-columns: 44px minmax(0,1fr); padding: 6px; }
  
  .frequency-toggle, .sim-control-actions { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .sim-toolbar { align-items: flex-start; flex-direction: column; gap: 8px; }
  .heat-legend { width: 100%; grid-template-columns: auto minmax(0,1fr) auto; }
  .wifi-simulator { width: 100%; padding: 8px; }
  .floorplan { width: 100%; height: clamp(420px, 132vw, 520px); }
  .floorplan[data-preset="two"] { height: clamp(560px, 174vw, 660px); }
  .floorplan[data-preset="three"] { height: clamp(620px, 194vw, 740px); }
  
  .sim-bottom { grid-template-columns: 1fr; gap: 8px; }
  .sim-disclaimer { text-align: left; }

  .entertainment-showcase { min-height: 500px; grid-template-columns: 1fr; padding: 30px 22px 238px; border-radius: 24px; }
  .entertainment-copy h3 { font-size: clamp(34px, 10vw, 46px); }
  .entertainment-art { width: 100%; height: 238px; right: 0; bottom: 0; justify-content: center; overflow: hidden; }
  .entertainment-art img { width: min(500px, 138vw); max-width: none; transform: translateY(20px); }
  
  
  .benefit-note { grid-template-columns: 1fr; }

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  
  .footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; gap: 7px; }
  
}

@media (max-width: 480px) {
  .container { width: calc(100% - 24px); }
  .section { padding: 44px 0; }
  .hero { padding-top: calc(98px + env(safe-area-inset-top, 0px)); }
  .hero h1 { font-size: clamp(40px, 13vw, 54px); }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .btn { width: 100%; }
  .hero-proof { gap: 5px; }
  .hero-proof div { width: 100%; padding-inline: 2px; text-align: center; justify-items: center; }
  .hero-proof strong { font-size: clamp(16px, 5.1vw, 20px); }
  .hero-proof span { font-size: 8px; }
  .signal-chip { font-size: 8px; padding: 6px 8px; max-width: 38%; }
  
  .hero-tech-label { max-width: 58%; }
  .preset-grid { grid-template-columns: 1fr; }
  .preset-card { grid-template-columns: 50px minmax(0,1fr); }
  
  .sim-control-actions { grid-template-columns: 1fr 1fr; }
  .floorplan { height: clamp(390px, 128vw, 470px); }
  .floorplan[data-preset="two"] { height: clamp(540px, 176vw, 620px); }
  .floorplan[data-preset="three"] { height: clamp(600px, 196vw, 690px); }
  
  
  .entertainment-showcase { min-height: 480px; padding: 26px 18px 228px; }
  
  
  
  
  
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand, .footer-grid > div:last-child { grid-column: auto; }
}

@media (max-width: 360px) {
  .container { width: calc(100% - 18px); }
  .brand img { width: 128px; }
  .hero h1 { font-size: 40px; }
  .hero-sub { font-size: 14px; }
  .hero-proof { grid-template-columns: 1fr 1fr; row-gap: 14px; align-items: center; justify-items: center; }
  .hero-proof div:last-child { grid-column: 1 / -1; }
  .orbit-system { width: 100%; }
  .signal-chip { display: none; }
  .hero-tech-label { display: none; }
  .section-head h2 { font-size: 34px; }
  .plan-tabs { grid-template-columns: 1fr; }
  
  
  .frequency-toggle { grid-template-columns: 1fr 1fr; }
  .sim-control-actions { grid-template-columns: 1fr; }
  
  
  
  
  
}

/* Mobile hero orbit: keep every satellite visible and inside the viewport. */
@media (max-width: 520px) {
  
  .orbit-a { width: 80%; height: 38.76%; }
  .orbit-b { width: 72%; height: 56.75%; }
  .hero-earth-visual .contact-orbit-ring-a { width: 84%; height: 60%; }
  .hero-earth-visual .contact-orbit-ring-b { width: 74%; height: 84%; }
  .signal-chip {
    display: block;
    max-width: none;
    padding: 6px 7px;
    border-radius: 9px;
    font-size: 7px;
    line-height: 1.2;
    white-space: nowrap;
  }
  .hero-tech-label {
    display: inline-flex;
    max-width: none;
    padding: 6px 7px;
    border-radius: 9px;
    font-size: 7px;
    letter-spacing: .07em;
    white-space: nowrap;
  }
}

/* Phones in landscape: use the available width instead of creating a very tall hero. */
@media (orientation: landscape) and (max-height: 560px) and (min-width: 650px) and (max-width: 950px) {
  .hero { padding-top: 92px; padding-bottom: 38px; }
  .hero-grid { grid-template-columns: 1.08fr .92fr; text-align: left; gap: 18px; }
  .hero-copy { margin: 0; }
  .eyebrow { justify-content: flex-start; }
  .hero h1 { margin-inline: 0; font-size: clamp(42px, 7vw, 58px); }
  .hero-sub { margin-inline: 0; font-size: 13px; }
  .hero-actions, .hero-proof { justify-content: flex-start; }
  .hero-actions { margin: 18px 0 20px; }
  .hero-proof { padding-top: 14px; }
  .hero-visual { min-height: 320px; padding: 0; }
  .orbit-system { width: min(330px, 40vw); }
  .coverage-quick-wrap { margin-top: 18px; }
  .coverage-quick { grid-template-columns: 1fr 1fr; }
  .coverage-quick > div { grid-column: auto; }
  .coverage-quick > .btn { grid-column: 1 / -1; }
}

/* =========================================================
   PÁGINA DE CONTATO
   ========================================================= */

.contact-hero-visual { min-width: 0; aspect-ratio: 1.45; margin: 0; position: relative; isolation: isolate; }
.hero-earth-visual { width: min(580px,100%); }
@media (min-width: 1051px) {
  .hero-earth-visual { width: min(696px,120%); }
}

.contact-hero-visual::before { content: ''; position: absolute; inset: 19% 21%; border-radius: 50%; background: rgba(37,151,255,.2); filter: blur(55px); }
.contact-hero-visual > img { width: 70%; height: 100%; position: absolute; z-index: 2; inset: 0; margin: auto; object-fit: contain; object-position: center; border: 0; border-radius: 0; box-shadow: none; }
.contact-orbit-ring { position: absolute; z-index: 1; left: 50%; top: 50%; border: 1px solid rgba(116,210,255,.25); border-radius: 50%; pointer-events: none; }
.contact-orbit-ring-a { width: 88%; height: 62%; transform: translate(-50%,-50%) rotate(-16deg); }
.contact-orbit-ring-b { width: 77%; height: 88%; transform: translate(-50%,-50%) rotate(22deg); }
.contact-orbit-ring i { width: 7px; height: 7px; position: absolute; left: 12%; top: 10%; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 8px var(--yellow),0 0 22px rgba(255,196,0,.72); animation: packetPulse 1.8s ease-in-out infinite; }
.contact-orbit-ring-b i { left: auto; right: 8%; top: 65%; background: var(--cyan); box-shadow: 0 0 8px var(--cyan),0 0 22px rgba(45,190,255,.72); animation-delay: -.9s; }
.contact-orbit-icon { width: 49px; height: 49px; position: absolute; z-index: 3; left: 50%; top: 50%; display: grid; place-items: center; border: 1px solid rgba(126,220,255,.7); border-radius: 50%; color: #fff; background: radial-gradient(circle at 35% 28%,rgba(81,200,255,.82),rgba(10,84,190,.68) 48%,rgba(4,31,82,.88)); box-shadow: inset 0 0 13px rgba(255,255,255,.28),0 0 15px rgba(45,190,255,.7),0 0 34px rgba(16,111,255,.42); backdrop-filter: blur(7px); translate: -50% -50%; transform: scale(1); will-change: translate,transform; animation: contactSatelliteFloat 3.6s ease-in-out var(--satellite-delay,0s) infinite; }
.contact-orbit-icon.is-behind { z-index: 0; }
.contact-orbit-icon.is-in-front { z-index: 3; }
.contact-orbit-icon::before { content: ''; position: absolute; inset: -7px; border: 1px solid rgba(126,220,255,.55); border-radius: 50%; opacity: 0; animation: contactSatelliteSignal 2.4s ease-out var(--satellite-delay,0s) infinite; }
.contact-orbit-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 4px rgba(255,255,255,.8)); transform-origin: center; animation: contactSatelliteTilt 3.6s ease-in-out var(--satellite-delay,0s) infinite; }
.hero-feature-icon.feature-games svg { width: 30px; height: 30px; }
.hero-feature-icon.feature-fiber img {
  position: static;
  z-index: auto;
  inset: auto;
  width: 38px;
  height: 38px;
  max-width: none;
  margin: 0;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 0 4px rgba(255,255,255,.78));
  transform-origin: center;
  animation: contactSatelliteTilt 3.6s ease-in-out var(--satellite-delay,0s) infinite;
}

.feature-streaming { --satellite-delay: -.9s; }
.feature-games { --satellite-delay: -1.8s; }
.feature-fiber { --satellite-delay: -2.7s; }

@keyframes contactSatelliteFloat {
  0%,100% { transform: scale(1); box-shadow: inset 0 0 13px rgba(255,255,255,.28),0 0 15px rgba(45,190,255,.7),0 0 34px rgba(16,111,255,.42); }
  50% { transform: scale(1.035); box-shadow: inset 0 0 15px rgba(255,255,255,.32),0 0 20px rgba(45,190,255,.82),0 0 42px rgba(16,111,255,.5); }
}

@keyframes contactSatelliteTilt { 0%,100% { transform: rotate(-6deg); } 50% { transform: rotate(6deg); } }

@keyframes contactSatelliteSignal { 0% { opacity: .65; transform: scale(.72); } 70%,100% { opacity: 0; transform: scale(1.35); } }

.contact-section { padding: 76px 0; }
.contact-grid { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(390px, .94fr); gap: 48px; align-items: start; }
.contact-form-column > h2, .contact-info-column > h2 { margin: 13px 0 12px; font-family: 'Space Grotesk', sans-serif; font-size: clamp(36px, 4vw, 52px); line-height: 1.04; letter-spacing: -.045em; }
.contact-form-column > h2 span, .contact-info-column > h2 span { color: var(--blue); }
.contact-form-column > p { max-width: 660px; margin: 0 0 27px; color: var(--muted); line-height: 1.7; }
.contact-form-card, .branch-map-card {
  background: rgba(255,255,255,.94);
  border: 1px solid #dbe5f0;
  border-radius: 26px;
  box-shadow: 0 24px 70px rgba(10,42,82,.09);
}
.contact-form-card { padding: 30px; }
.contact-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-field { display: grid; gap: 8px; margin-bottom: 17px; }
.contact-field label { color: #243650; font-size: 12px; font-weight: 800; }
.contact-field label span { color: #8190a3; font-weight: 600; }
.contact-field input, .contact-field select, .contact-field textarea {
  width: 100%;
  border: 1px solid #d8e2ed;
  border-radius: 13px;
  background: #f9fbfd;
  color: var(--ink);
  outline: none;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.contact-field input, .contact-field select { min-height: 51px; padding: 0 14px; }
.contact-field textarea { min-height: 126px; padding: 14px; resize: vertical; font: inherit; }
.contact-field input::placeholder, .contact-field textarea::placeholder { color: #9aa7b7; }
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { border-color: #4094d8; background: #fff; box-shadow: 0 0 0 4px rgba(11,147,232,.11); }
.contact-consent { display: flex; align-items: flex-start; gap: 10px; margin: 1px 0 20px; color: #65758a; font-size: 11px; line-height: 1.5; cursor: pointer; }
.contact-consent input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--blue); flex: 0 0 auto; }
.contact-submit { color: #052518; background: linear-gradient(135deg, #36df7c, #1fcb68); box-shadow: 0 13px 32px rgba(31,203,104,.22); border: 0; }
.contact-submit:hover { box-shadow: 0 18px 40px rgba(31,203,104,.3); }
.contact-submit svg { width: 20px; height: 20px; fill: currentColor; }
.contact-lead-button { margin-top: 11px; }

.contact-info-column { position: sticky; top: 112px; }
.contact-direct-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin: 24px 0 18px; }
.contact-direct-card { width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 10px; min-height: 96px; padding: 13px; border: 1px solid #dbe5f0; border-radius: 18px; color: inherit; background: #fff; box-shadow: 0 10px 30px rgba(10,42,82,.05); text-align: left; cursor: pointer; transition: transform .2s, border-color .2s, box-shadow .2s; }
.contact-direct-card:hover { transform: translateY(-3px); border-color: #91b9dc; box-shadow: 0 16px 34px rgba(10,42,82,.1); }
.contact-direct-card > span:nth-child(2) { display: grid; gap: 4px; }
.contact-direct-card strong { color: #142743; font-size: 14px; }
.contact-direct-card small { color: #718197; font-size: 11px; }
.contact-direct-card > b { display: none; color: var(--blue); font-size: 18px; }
.contact-direct-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; color: var(--blue); background: #eaf4fd; }
.contact-direct-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 2; }
.contact-whatsapp-icon { color: #159957; background: #e5f8ed; }
.contact-whatsapp-icon svg { fill: currentColor; stroke: none; }
.contact-lead-icon { color: #0758b7; background: #e6f1fc; }
.contact-phone-card { grid-column: 1 / -1; grid-template-columns: auto 1fr auto; min-height: 82px; padding: 14px 17px; }
.contact-phone-card > b { display: block; }

.branch-map-card { padding: 22px; overflow: hidden; }
.branch-map-head { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 18px; }
.branch-map-head h3 { margin: 8px 0 0; font-family: 'Space Grotesk', sans-serif; font-size: 27px; letter-spacing: -.035em; }
.branch-map-pin { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; color: var(--blue); background: #eaf4fd; font-size: 20px; }
.branch-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; padding: 5px; border-radius: 15px; background: #eef3f8; }
.branch-tab { min-height: 42px; padding: 0 8px; border: 1px solid transparent; border-radius: 11px; background: transparent; color: #64758b; font-size: 11px; font-weight: 800; cursor: pointer; transition: color .2s, background .2s, box-shadow .2s; }
.branch-tab:hover { color: var(--blue); }
.branch-tab.active { color: #fff; background: linear-gradient(135deg, #0758b7, #0b83d5); box-shadow: 0 8px 20px rgba(7,88,183,.2); }
.branch-tab:focus-visible { outline: 3px solid rgba(11,147,232,.24); outline-offset: 2px; }
.branch-selected { min-height: 77px; display: grid; gap: 5px; padding: 16px 3px 14px; }
.branch-selected strong { color: #183050; font-size: 13px; }
.branch-selected span { color: #718197; font-size: 10px; line-height: 1.5; }
.contact-map-embed { height: 300px; overflow: hidden; border: 1px solid #d6e1ec; border-radius: 17px; background: #e9eff5; }
.contact-map-embed iframe { width: 100%; height: 100%; border: 0; display: block; }
.branch-maps-link { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; padding: 0 4px; color: var(--blue); font-size: 11px; font-weight: 800; }
.branch-maps-link span { font-size: 16px; }

@media (max-width: 1050px) {
  .contact-grid { grid-template-columns: 1fr; gap: 44px; }
  .contact-info-column { position: static; }
  
}

@media (max-width: 720px) {
  
  
  
  
  .contact-hero-visual { width: calc(100vw - 76px); max-width: 100%; justify-self: center; }
  
  
  .contact-hero-visual > img { max-height: none; }
  .contact-orbit-icon { width: 42px; height: 42px; }
  .contact-orbit-icon svg { width: 20px; height: 20px; }
  .hero-feature-icon.feature-games svg { width: 27px; height: 27px; }
  .hero-feature-icon.feature-fiber img { width: 34px; height: 34px; }
  
  .contact-section { padding: 52px 0; }
  .contact-form-column > h2, .contact-info-column > h2 { font-size: 38px; }
  .contact-form-card { padding: 20px 16px; border-radius: 21px; }
  .contact-form-row { grid-template-columns: 1fr; gap: 0; }
  .branch-map-card { padding: 16px; border-radius: 21px; }
  .contact-map-embed { height: 270px; }
}

@media (max-width: 380px) {
  .branch-tabs { gap: 4px; padding: 4px; }
  .branch-tab { padding: 0 4px; font-size: 10px; }
  .contact-map-embed { height: 245px; }
}

/* Very wide displays: prevent oversized empty gaps while retaining the premium composition. */
@media (min-width: 1600px) {
  .container { width: min(1280px, calc(100% - 96px)); }
  .hero-grid { grid-template-columns: 1.08fr .92fr; gap: 72px; }
  .hero-visual { min-height: 590px; }
  .orbit-system { width: 525px; }
}

@media (hover: none) and (pointer: coarse) {
  .btn:hover, .plan-card:hover, .preset-card:hover { transform: none; }
  .btn, .plan-tab, .choice, .preset-card, .frequency-option, .sim-control-actions button { min-height: 44px; }
}

/* Seletor textual e plantas limpas usadas no mapa do simulador. */
.preset-card {
  grid-template-columns:minmax(0,1fr);
  min-height:58px;
  padding:10px 12px;
  text-align:center;
}
.preset-copy { justify-items:center; }
.preset-copy strong { font-size:10px; }
.preset-copy small { font-size:8px; }

.floor-image {
  position:absolute;
  z-index:1;
  border-radius:2px;
  background-color:#fff;
  background-repeat:no-repeat;
  box-shadow:0 3px 14px rgba(15,35,55,.18);
  filter:saturate(.88) contrast(1.03) brightness(1.02);
  pointer-events:none;
}
.floorplan .heatmap-canvas {
  opacity:.92;
  mix-blend-mode:multiply;
  filter:saturate(1.08) contrast(1.01);
}
.floorplan::after {
  background-image:
    linear-gradient(rgba(18,101,101,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18,101,101,.10) 1px, transparent 1px);
}
.heat-gradient {
  background:linear-gradient(90deg,#7cc99d 0 25%,#aad78e 25% 50%,#f4d78b 50% 75%,#efa096 75% 100%);
}

/* =========================================================
   ROCKET JOURNEY — Terra → Lua conforme o scroll
   ========================================================= */
.rocket-journey {
  position: fixed;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}
.rocket-earth,
.rocket-moon {
  position: absolute;
  width: 56px;
  height: 56px;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 4px 10px rgba(10,28,74,.3));
  transition: filter .3s ease;
}
.rocket-moon { width: 50px; height: 50px; }
.rocket-earth.active,
.rocket-moon.active {
  filter: drop-shadow(0 0 18px rgba(255,255,255,.9)) drop-shadow(0 4px 10px rgba(10,28,74,.3));
}
.rocket-earth img,
.rocket-moon img {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 50%;
  object-fit: cover;
}
.rocket-ship {
  position: absolute;
  width: 58px;
  height: 48px;
  top: 110px;
  left: 60px;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 6px 14px rgba(10,28,74,.35));
  will-change: top, left;
}
.rocket-ship svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
  transform-origin: 50% 50%;
  will-change: transform;
  animation: rocket-ship-hover 2.8s ease-in-out infinite;
}
.rocket-ship.landed svg {
  animation: none;
  transform: none;
}
.rocket-flame {
  opacity: 1;
  transform-origin: 50% 0;
  animation: rocket-flame-flicker .3s infinite ease-in-out;
  transition: opacity .25s ease;
}
.rocket-ship.landed .rocket-flame { opacity: 0; animation: none; }

@keyframes rocket-flame-flicker {
  0%, 100% { opacity: .75; transform: scaleY(.85); }
  50% { opacity: 1; transform: scaleY(1.18); }
}

@keyframes rocket-ship-hover {
  0%, 100% { transform: translate3d(0, 2px, 0) rotate(-1deg); }
  50% { transform: translate3d(0, -4px, 0) rotate(1deg); }
}
@media (max-width: 768px) {
  .rocket-journey { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .rocket-journey { display: none; }
  .rocket-ship svg { animation: none; }
  .rocket-flame { animation: none; }
}

/* =========================================================
   PÁGINA DE BENEFÍCIOS E STREAMINGS
   ========================================================= */
.benefits-page-body { background: #f4f7fb; }
.benefits-page-hero {
  position: relative;
  min-height: 680px;
  display: grid;
  align-items: center;
  padding: 150px 0 94px;
  overflow: hidden;
}
.benefits-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: radial-gradient(circle at 70% 45%, #000 0, transparent 72%);
}
.benefits-hero-orb { position: absolute; border-radius: 50%; filter: blur(80px); pointer-events: none; }
.benefits-hero-orb-one { width: 420px; height: 420px; right: 3%; top: 70px; background: rgba(0,143,232,.25); }
.benefits-hero-orb-two { width: 280px; height: 280px; left: 29%; bottom: -190px; background: rgba(255,196,0,.12); }
.benefits-page-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(400px,.92fr); gap: 70px; align-items: center; }
.benefits-page-hero-grid > *, .benefits-catalog-head > *, .benefits-category-heading > * { min-width: 0; }
.benefits-breadcrumb { display: flex; align-items: center; gap: 9px; margin-bottom: 28px; color: #8298b2; font-size: 12px; font-weight: 700; }
.benefits-breadcrumb a { color: #d4e7f8; }
.benefits-breadcrumb a:hover { color: var(--yellow); }
.benefits-page-hero h1 { max-width: 760px; margin: 18px 0 22px; color: #fff; font-family: 'Space Grotesk', sans-serif; font-size: clamp(52px,6vw,82px); line-height: .97; letter-spacing: -.06em; }
.benefits-page-hero h1 em { color: var(--yellow); font-style: normal; }
.benefits-page-hero p { max-width: 670px; margin: 0; color: rgba(219,234,249,.72); font-size: 18px; line-height: 1.7; }
.benefits-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.benefits-hero-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 30px; background: rgba(255,255,255,.055); box-shadow: 0 36px 90px rgba(0,0,0,.28); backdrop-filter: blur(18px); }
.benefits-stat { min-height: 142px; display: flex; flex-direction: column; justify-content: flex-end; padding: 23px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 21px; background: linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025)); }
.benefits-stat strong { color: #fff; font-family: 'Space Grotesk', sans-serif; font-size: 42px; line-height: 1; letter-spacing: -.045em; }
.benefits-stat span { margin-top: 8px; color: #9fb4cc; font-size: 12px; line-height: 1.4; font-weight: 700; }
.benefits-stat-main { grid-column: 1 / -1; min-height: 190px; background: linear-gradient(145deg,rgba(9,143,220,.35),rgba(8,60,120,.12)); }
.benefits-stat-main strong { color: var(--yellow); font-size: 74px; }
.benefits-stat-wide { grid-column: 1 / -1; min-height: 112px; }
.benefits-stat-wide strong { font-size: 30px; }

.benefits-how-section { background: #fff; }
.benefits-flow { list-style: none; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; margin: 38px 0 22px; padding: 0; counter-reset: none; }
.benefits-flow li { position: relative; min-height: 198px; padding: 22px 17px; border: 1px solid #dce5ef; border-radius: 20px; background: #f9fbfd; }
.benefits-flow li:not(:last-child)::after { content: '→'; position: absolute; z-index: 2; right: -11px; top: 37px; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--blue); font-size: 11px; font-weight: 900; box-shadow: 0 5px 12px rgba(0,111,190,.23); }
.benefits-flow li > span { width: 38px; height: 38px; display: grid; place-items: center; margin-bottom: 28px; border-radius: 12px; color: var(--blue); background: #e8f4fc; font-size: 11px; font-weight: 900; }
.benefits-flow strong, .benefits-flow small { display: block; }
.benefits-flow strong { color: #17304f; font-size: 13px; }
.benefits-flow small { margin-top: 8px; color: #6e7f94; font-size: 11px; line-height: 1.55; }
.benefits-rule { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 17px; padding: 20px 23px; border: 1px solid #f2d266; border-radius: 18px; background: #fff9dd; }
.benefits-rule > span { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 50%; color: #4f3b00; background: var(--yellow); font-family: 'Space Grotesk',sans-serif; font-size: 19px; font-weight: 900; }
.benefits-rule p { margin: 0; color: #5d5229; font-size: 13px; line-height: 1.6; }
.benefits-rule a { color: #113d70; font-size: 12px; font-weight: 900; white-space: nowrap; }

.benefits-catalog-section { background: #f4f7fb; }
.benefits-catalog-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,420px); gap: 40px; align-items: end; }
.benefits-catalog-head h2 { max-width: 700px; margin: 12px 0 0; font-family: 'Space Grotesk',sans-serif; font-size: clamp(38px,4.5vw,58px); line-height: 1.02; letter-spacing: -.05em; }
.benefits-catalog-head h2 span { color: var(--blue); }
.benefits-search { min-height: 58px; display: flex; align-items: center; gap: 12px; padding: 0 17px; border: 1px solid #d4dfeb; border-radius: 16px; background: #fff; box-shadow: 0 12px 30px rgba(12,48,88,.06); }
.benefits-search > span:first-child { color: var(--blue); font-size: 25px; }
.benefits-search input { width: 100%; border: 0; outline: 0; color: #142941; background: transparent; font: 600 14px 'Manrope',sans-serif; }
.benefits-search input::placeholder { color: #91a0b2; }
.benefits-category-filter { display: flex; align-items: center; gap: 8px; margin: 30px 0 54px; padding: 6px; border: 1px solid #dce5ef; border-radius: 18px; background: #fff; }
.benefits-category-filter button { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 0 16px; border: 0; border-radius: 12px; color: #64778e; background: transparent; font: 800 12px 'Manrope',sans-serif; cursor: pointer; transition: color .2s,background .2s,box-shadow .2s; }
.benefits-category-filter button span { min-width: 24px; padding: 3px 6px; border-radius: 8px; background: #edf2f7; color: #71849a; font-size: 10px; }
.benefits-category-filter button.active { color: #fff; background: linear-gradient(135deg,#0758b7,#0798df); box-shadow: 0 9px 22px rgba(7,88,183,.2); }
.benefits-category-filter button.active span { color: #e8f6ff; background: rgba(255,255,255,.16); }
.benefits-category-filter output { margin-left: auto; padding-right: 13px; color: #7b8da1; font-size: 11px; font-weight: 800; }
.benefits-category-block + .benefits-category-block { margin-top: 78px; }
.benefits-category-block[hidden] { display: none; }
.benefits-category-heading { display: flex; align-items: end; justify-content: space-between; gap: 34px; margin-bottom: 25px; }
.benefits-category-heading > div { display: flex; align-items: center; gap: 14px; }
.benefits-category-heading h3 { margin: 0; color: #142a46; font-family: 'Space Grotesk',sans-serif; font-size: clamp(27px,3vw,38px); letter-spacing: -.04em; }
.benefits-category-heading p { max-width: 430px; margin: 0; color: #718196; font-size: 13px; line-height: 1.55; text-align: right; }
.benefits-category-chip { display: inline-flex; align-items: center; justify-content: center; min-height: 27px; padding: 0 10px; border-radius: 999px; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.benefits-category-chip.advanced { color: #0764ac; background: #e4f3fd; }
.benefits-category-chip.top { color: #735600; background: #fff0b4; }
.benefits-detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.benefit-detail-card { min-width: 0; display: flex; flex-direction: column; padding: 20px; border: 1px solid #d9e3ed; border-radius: 24px; background: #fff; box-shadow: 0 14px 38px rgba(8,40,78,.055); transition: transform .23s,border-color .23s,box-shadow .23s; }
.benefit-detail-card:hover { transform: translateY(-5px); border-color: #a9c5df; box-shadow: 0 24px 55px rgba(8,40,78,.11); }
.benefit-detail-card[hidden] { display: none; }
.benefit-detail-brand { height: 128px; display: grid; place-items: center; margin-bottom: 17px; padding: 21px; overflow: hidden; border-radius: 18px; background: #f2f6fa; }
.benefit-detail-brand img { max-width: min(78%,190px); max-height: 74px; object-fit: contain; }
.sky-detail { background: #e9f4fc; }
.universal-detail { background: #1b202b; }
.deezer-detail { background: #f1eaff; }
.kaspersky-detail { background: #e8f8ed; }
.kiddle-detail { background: #eaf9ef; }
.docway-detail { background: #e7fafc; }
.looke-detail { background: #ecf1ff; }
.journalist-detail { background: #eaf6ff; }
.curta-detail { background: #f1eafb; }
.hotgo-detail { background: #1b1217; }
.apple-detail { background: #111; }
.hbo-detail { background: #22104a; }
.disney-detail { background: #071b68; }
.globo-detail { background: #111; }
.exitlag-detail { background: linear-gradient(145deg, #101820, #283947); }
.exitlag-detail strong { color: #ff5a36; font: 800 34px 'Space Grotesk', sans-serif; letter-spacing: -.05em; }
.cindie-detail { background: #fff0ef; }
.leitura-detail { background: #efefef; }
.benefit-detail-top { min-height: 28px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #77899e; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.benefit-ad-badge { padding: 5px 8px; border-radius: 999px; color: #626c7b; background: #edf0f3; }
.benefit-age-badge { padding: 5px 8px; border-radius: 999px; color: #fff; background: #d91f4e; }
.benefit-detail-card h4 { margin: 13px 0 10px; color: #112946; font-family: 'Space Grotesk',sans-serif; font-size: 23px; line-height: 1.15; letter-spacing: -.035em; }
.benefit-detail-card > p { margin: 0 0 20px; color: #66798f; font-size: 12px; line-height: 1.7; }
.benefit-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: auto 0 18px; overflow: hidden; border: 1px solid #e0e7ef; border-radius: 14px; background: #e0e7ef; }
.benefit-specs div { min-width: 0; min-height: 72px; padding: 11px 12px; background: #f9fbfd; }
.benefit-specs dt { margin-bottom: 5px; color: #8a9aae; font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.benefit-specs dd { margin: 0; color: #31465f; font-size: 10px; line-height: 1.4; font-weight: 700; }
.benefit-detail-actions { display: grid; grid-template-columns: 1fr auto; gap: 7px; }
.benefit-detail-actions a { min-height: 42px; display: flex; align-items: center; justify-content: center; padding: 0 13px; border: 1px solid #d3dfeb; border-radius: 11px; color: #536a84; font-size: 10px; font-weight: 900; text-align: center; transition: color .2s,border-color .2s,background .2s; }
.benefit-detail-actions a:first-child { color: #fff; border-color: #0876c5; background: linear-gradient(135deg,#0758b7,#078ed6); }
.benefit-detail-actions a:hover { color: #0758b7; border-color: #8cb7da; background: #eef7fe; }
.benefit-detail-actions a:first-child:hover { color: #fff; background: linear-gradient(135deg,#064d9f,#067ec0); }
.adult-card { border-color: #e7cbd3; }
.benefits-empty { display: grid; justify-items: center; gap: 7px; padding: 70px 20px; border: 1px dashed #bdcbd9; border-radius: 22px; color: #788ba0; text-align: center; }
.benefits-empty[hidden] { display: none; }
.benefits-empty strong { color: #273e5a; font-size: 18px; }
.benefits-empty span { font-size: 12px; }

.benefits-extras-section { background: #fff; }
.benefits-extras-section .centered > p { max-width: 800px; }
.benefits-extras-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; margin-top: 36px; }
.benefits-extra-card { min-height: 285px; display: flex; flex-direction: column; justify-content: flex-end; padding: 28px; overflow: hidden; border: 1px solid #d8e3ed; border-radius: 24px; background: linear-gradient(145deg,#fff,#f5f8fb); box-shadow: 0 18px 45px rgba(9,42,80,.07); }
.benefits-extra-card > span { align-self: flex-start; margin-bottom: auto; padding: 6px 10px; border-radius: 999px; color: #0764ac; background: #e5f3fd; font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.benefits-extra-card h3 { margin: 22px 0 9px; color: #152c49; font-family: 'Space Grotesk',sans-serif; font-size: 27px; letter-spacing: -.04em; }
.benefits-extra-card p { margin: 0; color: #6a7c91; font-size: 12px; line-height: 1.65; }
.benefits-extra-card > strong { margin-top: 19px; color: var(--blue); font-family: 'Space Grotesk',sans-serif; font-size: 30px; }
.benefits-extra-card > strong small { color: #74869a; font: 700 10px 'Manrope',sans-serif; }
.benefits-extra-card.fixed-benefit { color: #fff; border-color: #0d3869; background: linear-gradient(145deg,#06162f,#0b315f); }
.benefits-extra-card.fixed-benefit > span { color: #3b2d00; background: var(--yellow); }
.benefits-extra-card.fixed-benefit .fixed-benefit-logo { width: min(245px, 100%); max-height: 66px; margin: 18px 0 0; object-fit: contain; object-position: left center; }
.benefits-extra-card.fixed-benefit .fixed-benefit-magazine-logo { width: min(280px, 100%); max-height: 78px; }
.benefits-extra-card.fixed-benefit h3 { color: #fff; }
.benefits-extra-card.fixed-benefit p { color: #9fb2c8; }
.benefits-availability-note { max-width: 930px; margin: 26px auto 0; color: #7b8b9d; font-size: 11px; line-height: 1.65; text-align: center; }
.benefits-final-cta { position: relative; padding: 76px 0; overflow: hidden; color: #fff; background: linear-gradient(135deg, #071d3e, #091f43); text-align: center; }
.benefits-final-cta::before { content: ''; position: absolute; width: 500px; height: 500px; right: -220px; top: -310px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 80px rgba(255,255,255,.035),0 0 0 160px rgba(255,255,255,.02); }
.benefits-final-cta .container { position: relative; }
.benefits-final-cta h2 { max-width: 780px; margin: 15px auto 27px; font-family: 'Space Grotesk',sans-serif; font-size: clamp(37px,4.5vw,58px); line-height: 1.04; letter-spacing: -.05em; }
.benefits-final-cta h2 span { color: var(--yellow); }
.benefits-final-cta .container > div { display: flex; justify-content: center; flex-wrap: wrap; gap: 11px; }

@media (max-width: 1100px) {
  .benefits-extras-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .benefits-page-hero-grid { grid-template-columns: 1fr .8fr; gap: 38px; }
  .benefits-flow { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .benefits-flow li:nth-child(3)::after { display: none; }
  .benefits-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .benefits-page-hero { min-height: auto; padding: 128px 0 64px; }
  .benefits-page-hero-grid { grid-template-columns: minmax(0,1fr); gap: 42px; }
  .benefits-page-hero h1 { font-size: clamp(48px,11vw,68px); }
  .benefits-page-hero p { font-size: 16px; }
  .benefits-hero-stats { max-width: 620px; width: 100%; }
  .benefits-catalog-head { grid-template-columns: 1fr; gap: 24px; }
  .benefits-search { max-width: 520px; }
  .benefits-category-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .benefits-category-heading p { text-align: left; }
  .benefits-extras-grid { grid-template-columns: 1fr; }
  .benefits-extra-card { min-height: 235px; }
}

@media (max-width: 620px) {
  .benefits-page-hero-grid > div { max-width: 100%; }
  .benefits-page-hero p { max-width: 100%; overflow-wrap: anywhere; }
  .benefits-page-hero h1 { font-size: clamp(44px,13vw,60px); }
  .benefits-hero-actions { display: grid; grid-template-columns: 1fr; }
  .benefits-hero-actions .btn { width: 100%; }
  .benefits-hero-stats { padding: 9px; border-radius: 23px; }
  .benefits-stat { min-height: 120px; padding: 18px; }
  .benefits-stat-main { min-height: 155px; }
  .benefits-stat-main strong { font-size: 62px; }
  .benefits-stat strong { font-size: 34px; }
  .benefits-stat-wide strong { font-size: 25px; }
  .benefits-flow { grid-template-columns: 1fr 1fr; }
  .benefits-flow li:nth-child(3)::after { display: grid; }
  .benefits-flow li:nth-child(even)::after { display: none; }
  .benefits-rule { grid-template-columns: auto 1fr; }
  .benefits-rule a { grid-column: 1 / -1; padding-left: 54px; }
  .benefits-category-filter { align-items: stretch; flex-wrap: wrap; }
  .benefits-category-filter button { flex: 1; justify-content: center; padding-inline: 9px; }
  .benefits-category-filter output { width: 100%; padding: 5px 8px 3px; text-align: center; }
  .benefits-category-heading > div { align-items: flex-start; flex-direction: column; }
  .benefits-detail-grid.is-static-carousel {
    width: calc(100% + 24px);
    display: flex;
    align-items: stretch;
    gap: 12px;
    margin-inline: -12px;
    padding: 4px 18px 16px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-padding-inline: 18px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .benefits-detail-grid.is-static-carousel::-webkit-scrollbar { display: none; }
  .benefits-detail-grid.is-static-carousel .benefit-detail-card:not([hidden]) {
    flex: 0 0 calc(100% - 38px);
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }
  .benefit-detail-card { padding: 16px; border-radius: 21px; }
  .benefit-detail-brand { height: 116px; }
  .detail-benefits-carousel-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 2px auto 8px;
  }
  .detail-benefits-carousel-controls[hidden] { display: none; }
  .detail-benefits-carousel-controls .carousel-arrow {
    width: 42px;
    height: 42px;
  }
  .detail-benefits-carousel-controls .carousel-arrow:disabled {
    cursor: default;
    opacity: .35;
    transform: none;
  }
  .detail-benefits-carousel-counter {
    min-width: 62px;
    color: #536a84;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
    font-variant-numeric: tabular-nums;
  }
}

@media (max-width: 390px) {
  .benefits-stat { min-height: 108px; padding: 14px; }
  .benefits-stat span { font-size: 10px; }
  .benefits-flow { grid-template-columns: 1fr; }
  .benefits-flow li { min-height: 168px; }
  .benefits-flow li::after { display: none !important; }
  .benefit-specs { grid-template-columns: 1fr; }
  .benefit-specs div { min-height: 60px; }
  .benefit-detail-actions { grid-template-columns: 1fr; }
}
.floor-grid.image-layout .image-room {
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.floor-grid.image-layout .furn, .floor-grid.image-layout .room-signal {
  display:none;
}

/* Revisão de legibilidade — textos de apoio e controles não ficam abaixo do confortável. */
.plans-section .plan-category, .plans-section .featured-badge { font-size: 11px; }
.plans-section .plan-desc { font-size: 14px; line-height: 1.65; }
.plans-section .price span, .plans-section .price small { font-size: 13px; }

.plans-section .plan-card li { font-size: 14px; line-height: 1.5; }
.plans-footnote { font-size: 13px; line-height: 1.7; }
.plans-category-note { font-size: 16px; }

.entertainment-tag { font-size: 11px; }
.entertainment-copy p { font-size: 15px; }
.entertainment-link { font-size: 13px; }

.benefit-note strong { font-size: 14px; }
.benefit-note small { font-size: 12px; line-height: 1.45; }
.benefit-note > a { font-size: 13px; }

.coverage-quick .mini-label { font-size: 11px; }
.coverage-quick strong { font-size: 19px; }
.coverage-quick-copy small, .coverage-hint, .coverage-result small { font-size: 13px; line-height: 1.5; }
.cep-field input { font-size: 20px; }
.coverage-submit { font-size: 15px; }
.result-copy > span { font-size: 11px; }
.coverage-result .result-copy strong, .coverage-result > div strong { font-size: 17px; }
.result-action { font-size: 14px; }
.step-label { font-size: 12px; }
.choice small, .finder-tip, .result-extra { font-size: 13px; }
.sim-intro > p { font-size: 18px; }
.sim-step-title { font-size: 15px; }
.sim-step-title b { font-size: 12px; }
.preset-card { min-height: 66px; }
.preset-copy strong { font-size: 13px; white-space: normal; line-height: 1.25; }
.preset-copy small { font-size: 12px; white-space: normal; line-height: 1.35; }
.frequency-option { min-height: 72px; }
.frequency-option strong { font-size: 13px; }
.frequency-option small { font-size: 12px; line-height: 1.25; }
.frequency-note { font-size: 13px; line-height: 1.55; }
.material-option, .sim-action { font-size: 13px; }
.material-note, .mesh-click-note, .mesh-counter span { font-size: 13px; }
.sim-recommendation { font-size: 15px; line-height: 1.65; }
.sim-price small { font-size: 13px; }
.sim-map-title strong { font-size: 15px; }
.sim-map-title small { font-size: 13px; }
.frequency-badge, .sim-floor-tab { font-size: 13px; }
.legend-label { font-size: 12px; }
.drag-hint { font-size: 11px; }
.heat-tooltip strong { font-size: 12px; }
.heat-tooltip span { font-size: 11px; }
.signal-summary strong { font-size: 12px; }
.signal-summary small { font-size: 11px; }
.sim-disclaimer { font-size: 12px; line-height: 1.55; }
.mesh-segment-head p { font-size: clamp(9px, 1.1vw, 14px); }
details p { font-size: 14px; }
.footer-brand p, .footer-grid > div:not(.footer-brand) { font-size: 12px; }
.footer-grid strong { font-size: 13px; }
.footer-bottom { font-size: 11px; }
.contact-consent, .contact-direct-card small, .branch-tab, .branch-selected span, .branch-maps-link { font-size: 12px; }

@media (max-width: 768px) {
  .plans-section .plan-tabs { padding: 5px; border-radius: 20px; }
  .plans-section .plan-tab { min-height: 62px; padding: 7px 8px; }
  .plans-section .plan-tab .plan-tab-title { font-size: 12px; }
  .plans-section .plan-tab .plan-tab-subtitle { font-size: 10.5px; line-height: 1.25; }

  
  
  
  
  
  
  
  
  
  .benefit-note { margin-top: 0; }

  .plans-section .plan-card li { font-size: 13px; }
  .plans-section .plan-desc { font-size: 13px; }
  
  
}

/* Banner final com presença regional */

/* Botões divididos de WhatsApp + formulário de lead */
.split-contact { position: relative; display: inline-flex; align-items: stretch; max-width: 100%; vertical-align: middle; border-radius: 14px; transition: transform .2s ease, box-shadow .2s ease; }
.split-contact:hover { transform: translateY(-2px); }
.split-contact.is-full { width: 100%; }
.split-contact.is-compact { border-radius: 12px; }
.split-contact > .btn { min-width: 0; margin: 0; flex: 1 1 auto; border-radius: 14px 0 0 14px; transform: none !important; }
.split-contact.is-compact > .btn { border-radius: 12px 0 0 12px; }
.split-contact > .btn.full { width: auto; }
.split-lead-trigger { position: relative; min-width: 50px; min-height: 50px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid transparent; border-left-color: rgba(0,0,0,.13); border-radius: 0 14px 14px 0; color: inherit; cursor: pointer; transition: filter .2s ease, background .2s ease; }
.split-contact.is-compact .split-lead-trigger { min-width: 45px; min-height: 42px; padding-inline: 12px; border-radius: 0 12px 12px 0; }
.split-lead-trigger:hover { filter: brightness(.96); }
.split-lead-trigger:focus-visible { z-index: 2; outline: 3px solid rgba(43,200,255,.42); outline-offset: 2px; }
.split-whatsapp-icon { width: 25px; height: 25px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.split-lead-trigger svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.split-lead-label { display: inline; font: 800 11px 'Manrope',sans-serif; letter-spacing: 0; text-transform: none; white-space: nowrap; }
.split-contact.is-full .split-lead-trigger { min-width: 102px; }
.split-contact.is-full .split-lead-label { display: inline; }
.split-contact.is-yellow { box-shadow: 0 10px 30px rgba(255,196,0,.18); }
.split-contact.is-yellow .split-lead-trigger { color: #12213a; background: linear-gradient(135deg,#ffc400,#efad00); }
.split-contact.is-blue { box-shadow: 0 10px 30px rgba(7,88,183,.22); }
.split-contact.is-blue .split-lead-trigger { color: #fff; background: linear-gradient(135deg,#0b93e8,#0758b7); border-left-color: rgba(255,255,255,.22); }
.split-contact.is-outline .split-lead-trigger { color: var(--blue); border-color: #cad9ea; border-left-color: #dbe5ef; background: #f5f9fd; }
.split-contact.is-ghost .split-lead-trigger { color: #fff; border-color: rgba(255,255,255,.22); border-left-color: rgba(255,255,255,.14); background: rgba(255,255,255,.09); }
.header-actions .split-contact { flex: 0 0 auto; }

body.lead-modal-open { overflow: hidden; }
.lead-modal[hidden] { display: none !important; }
.lead-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 24px; opacity: 0; transition: opacity .18s ease; }
.lead-modal.is-open { opacity: 1; }
.lead-modal-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(2,13,30,.72); backdrop-filter: blur(8px); cursor: pointer; }
.lead-dialog { position: relative; z-index: 1; width: min(460px,100%); max-height: min(720px,calc(100vh - 32px)); overflow-y: auto; padding: 34px; border: 1px solid rgba(7,88,183,.14); border-radius: 26px; background: #fff; color: #14243c; box-shadow: 0 35px 90px rgba(0,0,0,.3); transform: translateY(10px) scale(.985); transition: transform .18s ease; }
.lead-modal.is-open .lead-dialog { transform: none; }
.lead-modal-close { position: absolute; top: 15px; right: 15px; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #dbe5ef; border-radius: 50%; color: #52647a; background: #f6f9fc; font-size: 24px; line-height: 1; cursor: pointer; }
.lead-dialog-kicker { display: block; margin-bottom: 11px; color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.lead-dialog h2 { max-width: 360px; margin: 0; font-family: 'Space Grotesk',sans-serif; font-size: 32px; line-height: 1.05; letter-spacing: -.04em; }
.lead-dialog > p { margin: 13px 0 24px; color: #697a8e; font-size: 13px; line-height: 1.6; }
.lead-form { display: grid; gap: 15px; }
.lead-form > label:not(.lead-consent) { display: grid; gap: 7px; color: #253954; font-size: 12px; font-weight: 800; }
.lead-form input[type='text'], .lead-form input[type='tel'] { width: 100%; min-height: 52px; padding: 0 15px; border: 1px solid #ccd9e7; border-radius: 13px; outline: none; color: #14243c; background: #fafdff; font: 600 16px 'Manrope',sans-serif; transition: border-color .2s,box-shadow .2s,background .2s; }
.lead-form input[type='text']:focus, .lead-form input[type='tel']:focus { border-color: var(--blue); background: #fff; box-shadow: 0 0 0 4px rgba(7,88,183,.09); }
.lead-consent { display: grid; grid-template-columns: 18px minmax(0,1fr); align-items: start; gap: 9px; color: #66788e; font-size: 11px; line-height: 1.45; cursor: pointer; }
.lead-consent input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--blue); }
.lead-submit { width: 100%; margin-top: 2px; }
.lead-submit:disabled { opacity: .65; cursor: wait; }
.lead-form-status { min-height: 0; margin: 0; color: #66788e; font-size: 11px; line-height: 1.45; text-align: center; }
.lead-form-status:not(:empty) { min-height: 38px; padding: 10px 12px; border-radius: 11px; background: #eef5fb; }
.lead-form-status.is-ready { color: #6e5a08; background: #fff8dc; }
.lead-form-status.is-success { color: #147346; background: #e9f8f0; }
.lead-form-status.is-error { color: #a23838; background: #fff0f0; }

@media (max-width: 600px) {
  .lead-modal { padding: 14px; align-items: end; }
  .lead-dialog { width: 100%; max-height: calc(100vh - 20px); padding: 29px 20px 22px; border-radius: 24px 24px 18px 18px; }
  .lead-dialog h2 { padding-right: 30px; font-size: 28px; }
  .split-contact.is-full .split-lead-trigger { min-width: 92px; padding-inline: 10px; }
}

@media (hover: none) and (pointer: coarse) {
  .split-contact:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .lead-modal, .lead-dialog, .split-contact { transition: none; }
}
/* Botões divididos permanecem no rodapé dos cards de planos */
.plans-section .plan-card > .split-contact {
  order: 7;
  width: 100%;
  margin-top: auto;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(255,196,0,.18);
}
.plans-section .plan-card > .split-contact > .btn {
  order: 0;
  padding-inline: 11px;
  gap: 6px;
  min-height: 52px;
  margin-top: 0;
  border-color: transparent;
  border-radius: 12px 0 0 12px;
  color: #12213a;
  background: linear-gradient(135deg,#ffda36,#ffc400);
  box-shadow: none;
}
.plans-section .plan-card > .split-contact > .btn:hover {
  border-color: transparent;
  background: linear-gradient(135deg,#ffda36,#ffc400);
}
.plans-section .plan-card > .split-contact > .split-lead-trigger {
  order: 1;
  min-width: 116px;
  min-height: 52px;
  padding: 0 14px;
  border-color: transparent;
  border-left-color: rgba(18,33,58,.16);
  border-radius: 0 12px 12px 0;
  color: #12213a;
  background: linear-gradient(135deg,#ffc400,#efad00);
}
.plans-section .plan-card > .split-contact .split-whatsapp-icon { width: 25px; height: 25px; }
.plans-section .plan-card > .split-contact .split-lead-label { display: inline; font-size: 10px; }
@media (max-width: 768px) {
  .header-actions .split-contact > .btn { min-height: 42px; padding-inline: 7px; gap: 5px; font-size: 11px; }
  .header-actions .split-contact .split-whatsapp-icon { width: 19px; height: 19px; }
  .header-actions .split-contact .split-lead-trigger { min-width: 0; min-height: 42px; padding-inline: 9px; gap: 5px; }
  .header-actions .split-contact .split-lead-trigger svg { width: 17px; height: 17px; }
  .header-actions .split-contact .split-lead-label { font-size: 9px; }
}

@media (max-width: 360px) {
  .header-actions .split-contact .split-lead-trigger svg { display: none; }
  .header-actions .split-contact .split-lead-label { font-size: 8.5px; }
}

/* Sua Rede — guia educativo sobre fibra, Wi-Fi e Mesh */
.network-page-body { background: #fff; }
.network-hero { min-height: 710px; padding: 150px 0 82px; position: relative; overflow: hidden; }
.network-hero::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px); background-size: 60px 60px; mask-image: linear-gradient(to bottom,#000,transparent 94%); }
.network-hero-grid { min-height: 480px; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); gap: 70px; align-items: center; }
.network-breadcrumb { margin-bottom: 28px; display: flex; gap: 9px; color: #8ba1bb; font-size: 12px; font-weight: 700; }
.network-breadcrumb a { color: #d5e7f8; }
.network-hero h1 { max-width: 760px; margin: 21px 0 24px; font: 700 clamp(54px,6.6vw,86px)/.96 'Space Grotesk',sans-serif; letter-spacing: -.058em; }
.network-hero h1 em { color: var(--yellow); font-style: normal; }
.network-hero-grid > div:first-child > p { max-width: 680px; color: rgba(226,239,252,.75); font-size: 18px; line-height: 1.75; }
.network-hero-actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 11px; }
.network-orbit-card { min-height: 420px; position: relative; border: 1px solid rgba(255,255,255,.11); border-radius: 32px; background: radial-gradient(circle at 50% 50%,rgba(43,200,255,.15),transparent 48%),rgba(255,255,255,.045); box-shadow: 0 35px 90px rgba(0,0,0,.25); backdrop-filter: blur(15px); }
.network-orbit-line { position: absolute; width: 72%; height: 43%; left: 14%; top: 28%; border: 1px solid rgba(85,202,255,.34); border-radius: 50%; transform: rotate(-10deg); box-shadow: 0 0 0 34px rgba(43,200,255,.018); }
.network-node { width: 118px; min-height: 118px; padding: 16px 10px; position: absolute; z-index: 2; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; color: #fff; background: linear-gradient(145deg,#0d3d75,#071d3d); box-shadow: 0 18px 45px rgba(0,0,0,.28),0 0 35px rgba(43,200,255,.13); text-align: center; }
.network-node span { margin-bottom: 5px; color: var(--yellow); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.network-node strong { font: 700 16px 'Space Grotesk',sans-serif; }
.network-node small { margin-top: 3px; color: #9eb7d0; font-size: 9px; }
.network-node-fiber { left: 5%; top: 39%; }.network-node-router { width: 138px; min-height: 138px; left: calc(50% - 69px); top: calc(50% - 69px); border-color: rgba(255,196,0,.36); box-shadow: 0 18px 45px rgba(0,0,0,.28),0 0 50px rgba(255,196,0,.12); }.network-node-device { right: 5%; top: 24%; }

.network-basics { background: linear-gradient(180deg,#fff,#f5f8fc); }
.network-compare-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.network-info-card { min-height: 310px; padding: 30px; border: 1px solid #dfe7f0; border-radius: 24px; background: #fff; box-shadow: 0 20px 55px rgba(9,39,77,.07); }
.network-card-icon { width: 48px; height: 48px; margin-bottom: 22px; display: grid; place-items: center; border-radius: 15px; color: var(--blue); background: #e8f3fd; font-size: 24px; font-weight: 900; }
.network-card-label { color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.network-info-card h3 { margin: 11px 0 13px; font: 700 25px/1.1 'Space Grotesk',sans-serif; letter-spacing: -.035em; }
.network-info-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.network-highlight-card { color: #fff; border-color: #0a3567; background: linear-gradient(145deg,#09234a,#06152f); }
.network-highlight-card .network-card-icon { color: #3b2d00; background: var(--yellow); }
.network-highlight-card .network-card-label { color: #7bd5ff; }.network-highlight-card p { color: #a9bbcd; }
.network-callout { margin-top: 18px; padding: 22px 25px; display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; border: 1px solid #f0d36c; border-radius: 18px; background: #fff9df; }
.network-callout strong { color: #3e330d; }.network-callout p { margin: 0; color: #655c36; font-size: 13px; line-height: 1.65; }

.fiber-journey-section { color: #fff; background: radial-gradient(circle at 80% 15%,rgba(22,151,226,.22),transparent 28%),linear-gradient(145deg,#06152f,#092952); }
.fiber-journey-section .section-head { max-width: 820px; margin-inline: auto; }.fiber-journey-section .section-head h2 span { color: var(--yellow); }.fiber-journey-section .section-head p { color: #a9bbce; }
.fiber-steps { margin: 45px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; list-style: none; counter-reset: none; }
.fiber-step { min-height: 170px; padding: 24px; display: grid; grid-template-columns: 42px 1fr; gap: 16px; border: 1px solid rgba(255,255,255,.1); border-radius: 21px; background: rgba(255,255,255,.055); }
.fiber-step > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: #3f3100; background: var(--yellow); font-size: 10px; font-weight: 900; }
.fiber-step strong { display: block; margin: 7px 0 9px; font: 700 20px 'Space Grotesk',sans-serif; }.fiber-step p { margin: 0; color: #aebfd1; font-size: 12px; line-height: 1.7; }
.fiber-care-note { margin-top: 16px; padding: 22px 25px; display: flex; gap: 16px; align-items: center; border: 1px solid rgba(255,196,0,.3); border-radius: 18px; background: rgba(255,196,0,.08); }
.fiber-care-note > span { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 50%; color: #3c3003; background: var(--yellow); font-weight: 900; }.fiber-care-note p { margin: 4px 0 0; color: #bdc9d7; font-size: 12px; line-height: 1.65; }

.wifi-section { background: #fff; }.wifi-guide-grid { display: grid; grid-template-columns: 1fr .82fr; gap: 70px; align-items: center; }
.wifi-guide-copy h2,.mesh-explainer-copy h2 { margin: 15px 0 18px; font: 700 clamp(42px,5vw,64px)/1 'Space Grotesk',sans-serif; letter-spacing: -.05em; }.wifi-guide-copy h2 span,.mesh-explainer-copy h2 span { color: var(--yellow); }
.wifi-guide-copy > p,.mesh-explainer-copy > p { color: var(--muted); line-height: 1.75; }
.wifi-obstacle-list { margin: 28px 0 0; padding: 0; display: grid; gap: 10px; list-style: none; }
.wifi-obstacle-list li { padding: 14px 16px; display: flex; gap: 14px; align-items: center; border: 1px solid #e2e9f1; border-radius: 15px; background: #f8fafc; }.wifi-obstacle-list li > span { color: var(--blue); font-size: 10px; font-weight: 900; }.wifi-obstacle-list strong,.wifi-obstacle-list small { display: block; }.wifi-obstacle-list strong { font-size: 13px; }.wifi-obstacle-list small { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.frequency-panel { padding: 30px; border-radius: 27px; color: #fff; background: radial-gradient(circle at 85% 5%,rgba(43,200,255,.2),transparent 33%),linear-gradient(145deg,#071c3b,#06152f); box-shadow: var(--shadow); }
.frequency-title { display: block; margin-bottom: 18px; color: #8fdcff; font-size: 11px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.frequency-panel article { padding: 20px 0; display: grid; grid-template-columns: 90px 1fr; gap: 19px; align-items: center; border-top: 1px solid rgba(255,255,255,.1); }.frequency-panel article > div { display: flex; align-items: baseline; gap: 4px; }.frequency-panel article > div strong { color: var(--yellow); font: 700 45px 'Space Grotesk',sans-serif; }.frequency-panel article > div small { color: #9ab0c7; font-size: 11px; }.frequency-panel article b,.frequency-panel article span small { display: block; }.frequency-panel article b { font-size: 14px; }.frequency-panel article span small { margin-top: 6px; color: #a8b9cb; font-size: 11px; line-height: 1.55; }.frequency-panel > p { margin: 17px 0 0; color: #849ab1; font-size: 10px; line-height: 1.65; }

.mesh-explainer-section { color: #fff; background: linear-gradient(145deg,#06152f,#0a315f); overflow: hidden; }.mesh-explainer-grid { display: grid; grid-template-columns: .9fr 1fr; gap: 80px; align-items: center; }
.mesh-visual { min-height: 460px; position: relative; }.mesh-home-outline { position: absolute; inset: 35px 10px; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; border: 2px solid rgba(255,255,255,.18); border-radius: 25px; transform: rotate(-3deg); }.mesh-home-outline::before,.mesh-home-outline::after { content: ''; position: absolute; background: rgba(255,255,255,.16); }.mesh-home-outline::before { width: 2px; top: 0; bottom: 0; left: 52%; }.mesh-home-outline::after { height: 2px; left: 0; right: 0; top: 54%; }.mesh-room { padding: 18px; color: rgba(255,255,255,.3); font-size: 10px; font-weight: 800; text-transform: uppercase; }.room-b { text-align: right; }.room-c { grid-column: 1 / -1; align-self: end; }
.mesh-point { width: 78px; height: 78px; position: absolute; z-index: 2; display: grid; place-items: center; border: 3px solid #fff; border-radius: 50%; color: #fff; background: #087fd0; box-shadow: 0 0 0 23px rgba(43,200,255,.08),0 0 60px rgba(43,200,255,.35); }.mesh-point i { position: absolute; inset: -26px; border: 1px solid rgba(90,211,255,.25); border-radius: 50%; }.mesh-point strong { font: 800 20px 'Space Grotesk',sans-serif; }.mesh-point small { position: absolute; top: 82px; color: #9ac4df; font-size: 9px; }.point-main { left: 19%; top: 39%; color: #322700; background: var(--yellow); box-shadow: 0 0 0 23px rgba(255,196,0,.08),0 0 60px rgba(255,196,0,.3); }.point-one { right: 16%; top: 20%; }.point-two { right: 22%; bottom: 14%; }
.mesh-facts { margin: 25px 0 20px; display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }.mesh-facts div { padding: 15px; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; background: rgba(255,255,255,.055); }.mesh-facts strong,.mesh-facts span { display: block; }.mesh-facts strong { color: var(--yellow); font-size: 12px; }.mesh-facts span { margin-top: 6px; color: #aabccd; font-size: 10px; line-height: 1.5; }.mesh-warning { padding: 16px 18px; border-left: 3px solid var(--yellow); border-radius: 0 12px 12px 0; background: rgba(255,255,255,.05); font-size: 12px; }.mesh-warning strong { color: #fff; }

.network-care-section { background: linear-gradient(180deg,#f5f8fc,#fff); }.network-care-section .section-head { max-width: 780px; margin-inline: auto; }.network-care-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.network-care-card { min-height: 235px; padding: 26px; border: 1px solid #dfe7ef; border-radius: 21px; background: #fff; box-shadow: 0 16px 45px rgba(9,39,77,.055); }.network-care-card > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--blue); background: #e8f3fd; font-size: 19px; font-weight: 900; }.network-care-card h3 { margin: 20px 0 9px; font: 700 20px 'Space Grotesk',sans-serif; }.network-care-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.network-diagnosis-section { padding-top: 0; background: #fff; }.network-diagnosis-box { padding: 42px; display: grid; grid-template-columns: .8fr 1.1fr; gap: 38px 60px; border-radius: 28px; color: #fff; background: radial-gradient(circle at 90% 10%,rgba(43,200,255,.22),transparent 34%),linear-gradient(145deg,#071a38,#06152f); box-shadow: var(--shadow); }.network-diagnosis-box h2 { margin: 13px 0 0; font: 700 38px/1.05 'Space Grotesk',sans-serif; letter-spacing: -.04em; }.network-diagnosis-box ol { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; list-style: none; }.network-diagnosis-box li { padding: 12px; display: flex; gap: 10px; align-items: center; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; color: #b8c8d8; font-size: 11px; line-height: 1.45; }.network-diagnosis-box li span { width: 27px; height: 27px; flex: 0 0 27px; display: grid; place-items: center; border-radius: 8px; color: #3e3100; background: var(--yellow); font-weight: 900; }.network-diagnosis-actions { grid-column: 1 / -1; display: flex; gap: 10px; }

@media (max-width: 1100px) {
  .network-hero-grid { grid-template-columns: 1fr .78fr; gap: 35px; }.network-orbit-card { min-height: 380px; }.network-node { width: 102px; min-height: 102px; }.network-node-router { width: 120px; min-height: 120px; left: calc(50% - 60px); top: calc(50% - 60px); }
  .wifi-guide-grid,.mesh-explainer-grid { gap: 42px; }.desktop-nav { gap: 14px; font-size: 12px; }
}
@media (max-width: 900px) {
  .network-hero { min-height: auto; padding: 130px 0 62px; }.network-hero-grid,.wifi-guide-grid,.mesh-explainer-grid { grid-template-columns: 1fr; }.network-hero-grid { gap: 30px; }.network-orbit-card { width: min(600px,100%); margin-inline: auto; }.network-compare-grid { grid-template-columns: 1fr 1fr; }.network-highlight-card { grid-column: 1 / -1; }.fiber-steps,.network-care-grid { grid-template-columns: 1fr 1fr; }.mesh-visual { width: min(600px,100%); margin-inline: auto; }.network-diagnosis-box { grid-template-columns: 1fr; gap: 26px; }.network-diagnosis-actions { grid-column: auto; }
}
@media (max-width: 600px) {
  .network-hero h1 { font-size: clamp(43px,13vw,58px); }.network-hero-grid > div:first-child > p { font-size: 15px; }.network-hero-actions { display: grid; }.network-hero-actions .btn { width: 100%; }.network-orbit-card { min-height: 330px; }.network-node { width: 88px; min-height: 88px; padding: 10px 5px; }.network-node-router { width: 105px; min-height: 105px; left: calc(50% - 52px); top: calc(50% - 52px); }.network-node strong { font-size: 13px; }.network-node small { display: none; }
  .network-compare-grid,.fiber-steps,.network-care-grid,.network-diagnosis-box ol { grid-template-columns: 1fr; }.network-highlight-card { grid-column: auto; }.network-callout { grid-template-columns: 1fr; }.wifi-guide-copy h2,.mesh-explainer-copy h2 { font-size: 40px; }.frequency-panel { padding: 23px 19px; }.frequency-panel article { grid-template-columns: 74px 1fr; }.frequency-panel article > div strong { font-size: 38px; }.mesh-visual { min-height: 360px; }.mesh-point { width: 64px; height: 64px; }.mesh-point small { top: 68px; }.mesh-facts { grid-template-columns: 1fr; }.network-diagnosis-box { padding: 30px 21px; }.network-diagnosis-box h2 { font-size: 32px; }.network-diagnosis-actions { display: grid; }.network-diagnosis-actions .btn { width: 100%; }
}

/* Refinamentos do cabeçalho compartilhado */
.header-inner { gap: 14px; }
.desktop-nav { flex: 1 1 auto; justify-content: center; gap: clamp(10px,1.05vw,18px); font-size: 13px; }
.desktop-nav a { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; text-align: center; line-height: 1.2; white-space: nowrap; }
.header-actions { flex: 0 0 auto; gap: 9px; }
.phone-link { flex: 0 0 auto; white-space: nowrap; }
.header-actions .split-contact > .btn { min-height: 36px; padding-inline: 9px; gap: 5px; font-size: 10px; }
.header-actions .split-contact .split-whatsapp-icon { width: 18px; height: 18px; }
.header-actions .split-contact .split-lead-trigger { min-width: 0; min-height: 36px; padding-inline: 8px; gap: 5px; }
.header-actions .split-contact .split-lead-trigger svg { width: 16px; height: 16px; }
.header-actions .split-contact .split-lead-label { font-size: 9px; }

/* Título introdutório em uma coluna centralizada */
.network-basics .section-head { display: block; }
.network-basics .section-head h2 { display: block; }

/* Cards de fibra com acabamento liquid glass */
.fiber-step { position: relative; overflow: hidden; border-color: rgba(255,255,255,.2); background: linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.055)); box-shadow: inset 0 1px 0 rgba(255,255,255,.22),0 18px 45px rgba(0,0,0,.16); backdrop-filter: blur(18px) saturate(135%); -webkit-backdrop-filter: blur(18px) saturate(135%); }
.fiber-step::before { content: ''; position: absolute; width: 150px; height: 150px; right: -75px; top: -92px; border-radius: 50%; background: radial-gradient(circle,rgba(120,218,255,.34),rgba(120,218,255,0) 70%); pointer-events: none; }
.fiber-step::after { content: ''; position: absolute; inset: 1px; border-radius: 20px; border: 1px solid rgba(255,255,255,.07); pointer-events: none; }
.fiber-step > * { position: relative; z-index: 1; }
.fiber-care-note { position: relative; overflow: hidden; padding: 16px 18px; display: block; border: 0; border-left: 3px solid var(--yellow); border-radius: 0 12px 12px 0; background: linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.05)); box-shadow: inset 0 1px 0 rgba(255,255,255,.18),0 14px 34px rgba(0,0,0,.12); backdrop-filter: blur(17px) saturate(130%); -webkit-backdrop-filter: blur(17px) saturate(130%); }
.fiber-care-note p { margin-top: 6px; }

/* Painel de frequências em liquid glass */
.frequency-panel { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.19); background: radial-gradient(circle at 85% 5%,rgba(43,200,255,.2),transparent 34%),linear-gradient(145deg,rgba(15,51,89,.86),rgba(6,21,47,.78)); box-shadow: inset 0 1px 0 rgba(255,255,255,.2),0 26px 65px rgba(4,24,52,.2); backdrop-filter: blur(20px) saturate(135%); -webkit-backdrop-filter: blur(20px) saturate(135%); }
.frequency-panel::before { content: ''; position: absolute; width: 220px; height: 220px; right: -105px; top: -135px; border-radius: 50%; background: radial-gradient(circle,rgba(113,220,255,.3),rgba(113,220,255,0) 70%); pointer-events: none; }
.frequency-panel > * { position: relative; z-index: 1; }

/* Ondas suaves nos pontos do diagrama Mesh */
.mesh-point { animation: meshNodeGlow 2.8s ease-in-out infinite; }
.mesh-point i,.mesh-point::after { content: ''; position: absolute; border: 1px solid rgba(90,211,255,.42); border-radius: 50%; pointer-events: none; animation: meshSignalWave 2.8s ease-out infinite; }
.mesh-point i { inset: -18px; }
.mesh-point::after { inset: -18px; animation-delay: 1.35s; }
.point-main i,.point-main::after { border-color: rgba(255,211,62,.46); }
.point-one { animation-delay: .4s; }.point-two { animation-delay: .8s; }
.point-one i,.point-one::after { animation-delay: .4s; }.point-two i,.point-two::after { animation-delay: .8s; }

@keyframes meshSignalWave { 0% { transform: scale(.72); opacity: 0; } 18% { opacity: .72; } 100% { transform: scale(1.75); opacity: 0; } }

@keyframes meshNodeGlow { 0%,100% { filter: brightness(1); } 50% { filter: brightness(1.16); } }
.mesh-facts div,.mesh-warning { border-color: rgba(255,255,255,.2); background: linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.05)); box-shadow: inset 0 1px 0 rgba(255,255,255,.18),0 14px 34px rgba(0,0,0,.12); backdrop-filter: blur(17px) saturate(130%); -webkit-backdrop-filter: blur(17px) saturate(130%); }
.mesh-warning { border-left: 3px solid var(--yellow); }

/* Diagnóstico com quatro tópicos maiores e centralizados */
.network-diagnosis-box > div:first-child { grid-column: 1; grid-row: 1; align-self: end; }
.network-diagnosis-box ol { grid-column: 2; grid-row: 1 / span 2; align-content: center; }
.network-diagnosis-box li { min-height: 112px; padding: 18px; flex-direction: column; justify-content: center; gap: 11px; color: #d3dfeb; font-size: 14px; line-height: 1.5; text-align: center; }
.network-diagnosis-box li span { width: 38px; height: 38px; flex-basis: 38px; border-radius: 12px; font-size: 14px; }
.network-diagnosis-box .network-diagnosis-actions { grid-column: 1; grid-row: 2; align-self: start; display: flex; flex-wrap: wrap; gap: 10px; }

@media (max-width: 1200px) and (min-width: 1051px) {
  .desktop-nav { gap: 10px; font-size: 12px; }
  .brand img { width: 150px; }
}
@media (max-width: 900px) {
  .network-diagnosis-box > div:first-child { grid-column: 1; grid-row: 1; }
  .network-diagnosis-box ol { grid-column: 1; grid-row: 2; }
  .network-diagnosis-box .network-diagnosis-actions { grid-column: 1; grid-row: 3; }
  .wifi-guide-copy,.mesh-explainer-copy,.network-diagnosis-box > div:first-child { text-align: center; }
  .wifi-guide-copy .section-kicker,.mesh-explainer-copy .section-kicker,.network-diagnosis-box .section-kicker { justify-content: center; }
  .frequency-title { text-align: center; }
  .mesh-explainer-copy > .btn { display: flex; width: fit-content; margin-inline: auto; }
}

/* Identidade institucional centralizada em todos os rodapés */
.footer-brand img { margin-inline: auto; }
.footer-brand p { margin-left: auto; margin-right: auto; text-align: center; }
@media (prefers-reduced-motion: reduce) {
  .mesh-point,.mesh-point i,.mesh-point::after { animation: none; }
  .contact-orbit-icon,.contact-orbit-icon::before,.contact-orbit-icon svg { animation: none; }
}

/* Ação direta para contratar a versão TOP nos cards Advanced */
.plans-section .plan-card > .btn.plan-top-upgrade {
  margin-top: 14px;
  border-color: #6846d8;
  color: #fff;
  background: linear-gradient(135deg,#7858e8,#5134bb);
  box-shadow: 0 10px 25px rgba(81,52,187,.24);
}
.plans-section .plan-card > .btn.plan-top-upgrade:hover {
  border-color: #5134bb;
  color: #fff;
  background: linear-gradient(135deg,#6846d8,#442a9f);
}

@media (min-width: 769px) {
  /* Centraliza a ação única do 640 Mega em relação às duas ações do card de 800 Mega. */
  .plans-section #planos-advanced .plan-card:first-child > .split-contact {
    margin-bottom: 33px;
  }
}

/* No mobile, a recomendacao vem depois da visualizacao do mapa. */
@media (max-width: 720px) {
  .sim-workspace > .sim-sidebar { display: contents; }
  .sim-sidebar > .sim-step-block { order: 1; }
  .sim-workspace > .wifi-simulator { order: 2; }
  .sim-sidebar > .sim-recommendation {
    order: 3;
    grid-column: 1 / -1;
    width: 100%;
  }
}

/* Logo principal centralizada no cabecalho mobile. */
@media (max-width: 768px) {
  .header-inner { position: relative; }
  .header-inner > .brand {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header-actions { margin-left: auto; }
}

/* Página de contratos e termos */
.contracts-hero { min-height: 0; padding: 150px 0 70px; }
.contracts-hero h1 { max-width: 760px; }
.contracts-section { background: linear-gradient(180deg, #fff, #f5f8fc); }
.contracts-group + .contracts-group { margin-top: 56px; }
.contracts-group h2 { margin: 12px 0 24px; font-size: clamp(30px, 4vw, 44px); line-height: 1.05; color: var(--ink); }
.contracts-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.contract-card { display: flex; flex-direction: column; gap: 10px; padding: 26px 24px; border: 1px solid #dfe7f0; border-radius: 22px; background: #fff; box-shadow: 0 18px 50px rgba(10,40,80,.06); scroll-margin-top: 110px; }
.contract-card:target { border-color: var(--blue-2); box-shadow: 0 0 0 3px rgba(11,147,232,.18), 0 18px 50px rgba(10,40,80,.06); }
.contract-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; color: var(--blue); background: #e5f2fd; font-size: 11px; font-weight: 900; letter-spacing: .04em; }
.contract-card h3 { margin: 8px 0 0; font-family: 'Space Grotesk'; font-size: 19px; line-height: 1.25; color: var(--ink); }
.contract-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.contract-card small { color: #8b98a8; font-size: 12px; font-weight: 700; }
.contract-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 10px; }
.contract-actions .btn { flex: 1 1 110px; }
.contracts-note { margin: 44px 0 0; text-align: center; color: var(--muted); font-size: 14px; line-height: 1.7; }
.contracts-note a, .lead-consent a, .contact-consent a { color: var(--blue); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 768px) {
  .contracts-hero { padding: 120px 0 48px; }
}
/* Menu com 9 itens: aperta o espaçamento antes do ponto em que o telefone some */
@media (max-width: 1360px) and (min-width: 1201px) {
  .desktop-nav { gap: 20px; }
}

/* Formulário de contato na página inicial (antigo bloco de FAQ) */
.home-contact-section { background: #f5f8fc; scroll-margin-top: 80px; }

/* Página de Política de Privacidade (cores do tema de cada site; padrão: Powernet) */
.policy-hero { min-height: 0; padding: 150px 0 60px; }
.policy-section { background: var(--surface, #fff); }
.policy-content article { max-width: 820px; margin: 0 auto; color: var(--text, #36465c); font-size: 16px; line-height: 1.75; }
.policy-content h2 { margin: 40px 0 14px; font-size: clamp(24px, 3.4vw, 32px); line-height: 1.2; color: var(--text, var(--ink, #0a1730)); }
.policy-content h2:first-child { margin-top: 0; }
.policy-content h3 { margin: 28px 0 8px; font-size: 19px; color: var(--text, var(--ink, #0a1730)); }
.policy-content p, .policy-content li { margin: 0 0 14px; }
.policy-content ul { padding-left: 22px; }
.policy-content a { color: var(--blue, #0758b7); font-weight: 700; }
.policy-date { margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--line, #e2e8ef); }
.footer-bottom a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 768px) { .policy-hero { padding: 120px 0 44px; } }

