.vb-render-root,
.vb-document {
  color: var(--vb-text, #0a1628);
  background: var(--vb-background, #f4f7fb);
  font-family: var(--vb-font-body, Inter, Arial, sans-serif);
  min-width: 0;
}

.vb-document *,
.vb-document *::before,
.vb-document *::after { box-sizing: border-box; }
.vb-document img,
.vb-document video { display: block; max-width: 100%; }
.vb-heading,
.vb-text,
.vb-rich-text,
.vb-image,
.vb-video { margin: 0; }
.vb-page { min-height: 100vh; overflow: clip; }
.vb-section { position: relative; }
.vb-container,
.vb-row,
.vb-column,
.vb-grid { min-width: 0; }
.vb-heading { letter-spacing: 0; text-wrap: balance; }
.vb-text,
.vb-rich-text { text-wrap: pretty; }
.vb-rich-text > * + * { margin-top: 0.8em; }
.vb-divider { height: 0; margin-block: 0; }
.vb-icon { display: inline-flex; }
.vb-icon svg { width: 1em; height: 1em; }
.vb-image { overflow: hidden; }
.vb-image picture,
.vb-image img { display: block; width: 100%; height: 100%; }
.vb-image img { object-fit: inherit; }
.vb-image figcaption { color: var(--vb-muted); font-size: 13px; margin-top: 8px; }
.vb-video { background: #07111e; }

.vb-button,
.vb-link {
  align-items: center;
  display: inline-flex;
  gap: 9px;
  justify-content: center;
  text-decoration: none;
}
.vb-button { cursor: pointer; }
.vb-button svg,
.vb-plan-card__button svg { height: 18px; width: 18px; }

.vb-banner {
  background-image: linear-gradient(90deg, rgba(3, 14, 28, var(--vb-banner-overlay, .62)), rgba(3, 14, 28, .12)), var(--vb-banner-image);
  background-position: center;
  background-size: cover;
  isolation: isolate;
  min-height: 520px;
}
.vb-banner[data-width-mode="full"],
.vb-slider[data-width-mode="full"] {
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: 100vw;
  position: relative;
  right: 50%;
  width: 100vw;
}
.vb-banner__content { position: relative; z-index: 1; }

.vb-slider { background: #07111e; min-height: 620px; overflow: hidden; position: relative; }
.vb-slider__track { min-height: inherit; position: relative; }
.vb-slide { display: none; min-height: inherit; overflow: hidden; position: relative; }
.vb-slide.is-active { display: block; }
.vb-slide__media,
.vb-slide__media img,
.vb-slide__shade { height: 100%; inset: 0; position: absolute; width: 100%; }
.vb-slide__media img { object-fit: cover; }
.vb-slide__shade { background: linear-gradient(90deg, #03111f 0%, rgba(3, 17, 31, .86) 40%, rgba(3, 17, 31, .12) 78%); }
.vb-slide__content { min-height: inherit; position: relative; z-index: 1; }
.vb-slide__content > .vb-container { min-height: inherit; }
.vb-slider__arrows { bottom: 38px; display: flex; gap: 10px; position: absolute; right: max(24px, calc((100% - 1180px) / 2)); z-index: 4; }
.vb-slider__arrows button {
  align-items: center; background: rgba(4, 18, 32, .68); border: 1px solid rgba(255,255,255,.28); color: #fff; cursor: pointer; display: inline-flex; height: 44px; justify-content: center; width: 44px;
}
.vb-slider__arrows svg { height: 19px; width: 19px; }
.vb-slider__dots { bottom: 43px; display: flex; gap: 8px; left: max(24px, calc((100% - 1180px) / 2)); position: absolute; z-index: 4; }
.vb-slider__dots button { background: rgba(255,255,255,.42); border: 0; cursor: pointer; height: 4px; padding: 0; transition: width .25s ease, background .25s ease; width: 28px; }
.vb-slider__dots button.is-active { background: var(--vb-secondary); width: 52px; }

.vb-cta { align-items: center; display: flex; justify-content: space-between; }
.vb-countdown { align-items: center; display: flex; gap: 16px; }
.vb-countdown strong { font-variant-numeric: tabular-nums; }
.vb-testimonials { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vb-testimonial { background: var(--vb-surface); border: 1px solid #dfe7ef; padding: 28px; }
.vb-testimonial__stars { color: #f6b51e; display: flex; gap: 4px; }
.vb-testimonial__stars svg { fill: currentColor; height: 17px; width: 17px; }
.vb-testimonial blockquote { color: var(--vb-text); line-height: 1.65; margin: 20px 0; }
.vb-testimonial strong { font-size: 14px; }
.vb-faq { border-top: 1px solid #dfe7ef; }
.vb-faq__item { border-bottom: 1px solid #dfe7ef; padding: 0; }
.vb-faq__item summary { align-items: center; color: var(--vb-text); cursor: pointer; display: flex; font-weight: 700; justify-content: space-between; list-style: none; padding: 22px 2px; }
.vb-faq__item summary::-webkit-details-marker { display: none; }
.vb-faq__item summary svg { color: var(--vb-primary); height: 19px; transition: transform .2s ease; width: 19px; }
.vb-faq__item[open] summary svg { transform: rotate(45deg); }
.vb-faq__item p { color: var(--vb-muted); line-height: 1.65; padding: 0 2px 22px; }

.vb-plan-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vb-plan-catalog { display: grid; gap: 24px; }
.vb-plan-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.vb-plan-filters button { background: var(--vb-surface); border: 1px solid #dbe5ee; color: var(--vb-muted); cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; min-height: 40px; padding: 8px 14px; }
.vb-plan-filters button.is-active { background: var(--vb-text); border-color: var(--vb-text); color: var(--vb-surface); }
.vb-coupon-form { align-items: center; background: color-mix(in srgb, var(--vb-primary) 7%, var(--vb-surface)); border: 1px solid color-mix(in srgb, var(--vb-primary) 24%, transparent); display: grid; gap: 10px; grid-template-columns: auto minmax(150px, 280px) auto; justify-content: start; padding: 12px; }
.vb-coupon-form label { color: var(--vb-text); font-size: 13px; font-weight: 800; }
.vb-coupon-form input { background: var(--vb-surface); border: 1px solid #cbd7e3; color: var(--vb-text); font: inherit; min-height: 40px; padding: 8px 11px; }
.vb-coupon-form button { background: var(--vb-text); border: 0; color: var(--vb-surface); cursor: pointer; font: inherit; font-size: 13px; font-weight: 800; min-height: 40px; padding: 8px 15px; }
.vb-coupon-form.is-applied { border-color: var(--vb-success); }
.vb-plan-card {
  background: var(--vb-surface); border: 1px solid #dbe5ee; display: flex; flex-direction: column; min-height: 430px; padding: 30px; position: relative; transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.vb-plan-card:hover { border-color: var(--vb-primary); box-shadow: 0 18px 46px rgba(8, 41, 72, .11); transform: translateY(-4px); }
.vb-plan-card.is-featured { border: 2px solid var(--vb-primary); }
.vb-plan-card__badge { align-self: flex-start; background: var(--vb-secondary); color: #042219; font-size: 12px; font-weight: 800; margin-bottom: 22px; padding: 7px 10px; text-transform: uppercase; }
.vb-plan-card__name { color: var(--vb-muted); font-size: 14px; font-weight: 700; }
.vb-plan-card__speed { color: var(--vb-text); font-family: var(--vb-font-heading); font-size: 42px; line-height: 1.05; margin-top: 6px; }
.vb-plan-card__price { align-items: baseline; color: var(--vb-primary); display: flex; gap: 4px; margin: 22px 0; }
.vb-plan-card__price b { font-size: 30px; }
.vb-plan-card__price small { color: var(--vb-muted); }
.vb-plan-card ul { display: grid; gap: 11px; list-style: none; margin: 0 0 28px; padding: 0; }
.vb-plan-card li { align-items: flex-start; color: var(--vb-muted); display: flex; font-size: 14px; gap: 9px; }
.vb-plan-card li svg { color: var(--vb-secondary); flex: 0 0 auto; height: 17px; width: 17px; }
.vb-plan-card__button { align-items: center; background: var(--vb-primary); border: 0; color: #fff; cursor: pointer; display: flex; font: inherit; font-weight: 800; gap: 8px; justify-content: center; margin-top: auto; min-height: 48px; padding: 12px 18px; width: 100%; }
.vb-product-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vb-product-card { background: var(--vb-surface); border: 1px solid #dbe5ee; padding: 18px; }
.vb-product-card img { aspect-ratio: 1; object-fit: cover; width: 100%; }
.vb-product-card h3 { font-size: 17px; margin: 16px 0 8px; }
.vb-product-card strong { color: var(--vb-primary); display: block; margin-bottom: 16px; }
.vb-product-card button { min-height: 42px; width: 100%; }

.vb-trust-bar { display: grid; gap: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vb-trust-item { align-items: center; border-right: 1px solid rgba(255,255,255,.14); display: flex; gap: 12px; min-width: 0; padding: 5px 22px; }
.vb-trust-item:first-child { padding-left: 0; }
.vb-trust-item:last-child { border-right: 0; }
.vb-trust-item > span { align-items: center; background: rgba(53,229,154,.12); color: var(--vb-secondary); display: inline-flex; flex: 0 0 auto; height: 38px; justify-content: center; width: 38px; }
.vb-trust-item svg { height: 18px; width: 18px; }
.vb-trust-item strong,
.vb-trust-item small { display: block; }
.vb-trust-item strong { color: #fff; font-size: 13px; }
.vb-trust-item small { color: #94a9bd; font-size: 11px; margin-top: 3px; }

.vb-app-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vb-app-card { align-items: center; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.13); display: flex; gap: 13px; min-height: 78px; padding: 13px; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.vb-app-card:hover { background: rgba(255,255,255,.1); border-color: rgba(32,211,255,.48); transform: translateY(-2px); }
.vb-app-card__logo { align-items: center; background: #fff; color: #0758b8; display: flex; flex: 0 0 auto; font-size: 12px; font-weight: 900; height: 46px; justify-content: center; width: 46px; }
.vb-app-card__logo img { height: 34px; object-fit: contain; width: 34px; }
.vb-app-card strong,
.vb-app-card small { display: block; }
.vb-app-card strong { color: #fff; font-size: 14px; }
.vb-app-card small { color: #9db0c3; font-size: 11px; margin-top: 4px; }

.vb-support-grid { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vb-support-card { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.13); display: flex; flex-direction: column; min-height: 250px; padding: 24px; }
.vb-support-card > span { align-items: center; background: rgba(32,211,255,.13); color: #58dcff; display: inline-flex; height: 42px; justify-content: center; width: 42px; }
.vb-support-card > span svg { height: 19px; width: 19px; }
.vb-support-card h3 { color: #fff; font-size: 19px; margin: 20px 0 9px; }
.vb-support-card p { color: #9fb2c4; font-size: 14px; line-height: 1.55; }
.vb-support-card a { align-items: center; color: #fff; display: inline-flex; font-size: 13px; font-weight: 800; gap: 7px; margin-top: auto; padding-top: 20px; text-decoration: none; }
.vb-support-card a svg { height: 15px; width: 15px; }

.vb-header { background: var(--vb-surface); border-bottom: 1px solid rgba(10, 22, 40, .09); position: relative; z-index: 30; }
.vb-header.is-sticky { position: sticky; top: 0; }
.vb-header__inner { align-items: center; display: grid; gap: 28px; grid-template-columns: auto 1fr auto; margin: 0 auto; min-height: 82px; padding: 0 24px; width: min(100%, 1228px); }
.vb-header__logo img { height: 45px; object-fit: contain; width: auto; }
.vb-header__logo-dark { display: none !important; }
.vb-document.is-dark .vb-header__logo-light { display: none; }
.vb-document.is-dark .vb-header__logo-dark { display: block !important; }
.vb-header__nav { align-items: center; display: flex; gap: 26px; justify-content: center; }
.vb-header__nav a { color: var(--vb-text); font-size: 14px; font-weight: 700; text-decoration: none; }
.vb-header__actions { align-items: center; display: flex; gap: 10px; }
.vb-header__actions a { align-items: center; display: inline-flex; font-size: 13px; gap: 7px; text-decoration: none; }
.vb-header__actions svg { height: 17px; width: 17px; }
.vb-header__phone { color: var(--vb-muted); }
.vb-header__account { border-left: 1px solid #dbe5ee; color: var(--vb-text); padding-left: 12px; }
.vb-header__cta { background: var(--vb-primary); color: #fff; font-weight: 800; min-height: 42px; padding: 0 15px; }
.vb-header__theme,
.vb-header__menu { align-items: center; background: transparent; border: 1px solid #dbe5ee; color: var(--vb-text); display: none; height: 42px; justify-content: center; width: 42px; }
.vb-header__theme { cursor: pointer; display: inline-flex; }
.vb-header__slot:empty { display: none; }
.vb-menu { display: flex; gap: 18px; }
.vb-menu.is-vertical { align-items: flex-start; flex-direction: column; }

.vb-footer { background: #07111e; color: #fff; }
.vb-footer__main { display: grid; gap: 52px; grid-template-columns: 1.1fr 1.5fr .9fr; margin: 0 auto; width: min(calc(100% - 48px), 1180px); }
.vb-footer__brand img { height: 52px; object-fit: contain; width: auto; }
.vb-footer__brand p { color: #aebdcd; line-height: 1.65; margin-top: 18px; max-width: 360px; }
.vb-footer__social { display: flex; gap: 9px; margin-top: 22px; }
.vb-footer__social a { align-items: center; border: 1px solid rgba(255,255,255,.18); display: inline-flex; height: 38px; justify-content: center; width: 38px; }
.vb-footer__social svg { height: 17px; width: 17px; }
.vb-footer__columns { display: grid; gap: 28px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vb-footer__columns h3,
.vb-footer__contact h3 { font-size: 14px; margin: 0 0 17px; text-transform: uppercase; }
.vb-footer__columns a { color: #aebdcd; display: block; font-size: 14px; margin: 11px 0; text-decoration: none; }
.vb-footer__contact p { align-items: flex-start; color: #aebdcd; display: flex; font-size: 14px; gap: 9px; margin: 12px 0; }
.vb-footer__contact svg { flex: 0 0 auto; height: 17px; width: 17px; }
.vb-footer__slot:empty { display: none; }
.vb-footer__bottom { border-top: 1px solid rgba(255,255,255,.11); color: #8194a8; font-size: 13px; margin: 42px auto 0; padding-top: 22px; text-align: center; width: min(calc(100% - 48px), 1180px); }

.vb-coverage { align-items: center; display: grid; gap: 48px; grid-template-columns: .82fr 1.18fr; }
.vb-coverage__copy h2 { color: var(--vb-text); font-family: var(--vb-font-heading); font-size: 43px; line-height: 1.08; }
.vb-coverage__copy > p { color: var(--vb-muted); line-height: 1.65; margin-top: 18px; }
.vb-coverage__areas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.vb-coverage__areas span { align-items: center; background: var(--vb-surface); border: 1px solid #dbe5ee; color: var(--vb-text); display: inline-flex; font-size: 13px; gap: 7px; padding: 9px 11px; }
.vb-coverage__areas svg { color: var(--vb-primary); height: 15px; width: 15px; }
.vb-coverage__map { background: #dce8f2; min-height: 360px; overflow: hidden; position: relative; z-index: 1; }
.vb-coverage__map .leaflet-tile-pane { filter: saturate(.72) contrast(1.05); }
.vb-coverage__map.is-map-unavailable::after { content: "Mapa indisponivel neste preview"; inset: 50% auto auto 50%; position: absolute; transform: translate(-50%, -50%); }
.vb-coverage__map .leaflet-tile-pane { filter: grayscale(.58) saturate(.72) contrast(1.08); }
.vb-coverage__map .leaflet-control-attribution { background: rgba(255,255,255,.86); font-size: 9px; }
.vb-coverage__map .leaflet-pane > svg { flex: none; height: auto; max-width: none; width: auto; }
.coverage-place-marker { align-items: center; background: transparent; border: 0; display: flex; gap: 7px; overflow: visible; }
.coverage-area-polygon { filter: drop-shadow(0 2px 3px rgba(6,17,31,.18)); transition: fill-opacity .18s ease, stroke-width .18s ease; vector-effect: non-scaling-stroke; }
.coverage-area-polygon:hover { fill-opacity: .72; stroke-width: 4px; }
.coverage-area-glow,
.coverage-area-line { vector-effect: non-scaling-stroke; }
.coverage-place-marker > span { background: var(--marker-color, var(--vb-primary)); border: 2px solid #fff; border-radius: 50% 50% 50% 0; box-shadow: 0 4px 12px rgba(6,17,31,.26); display: block; flex: 0 0 auto; height: 16px; position: relative; transform: rotate(-45deg); width: 16px; }
.coverage-place-marker > span::after { background: #fff; border-radius: 50%; content: ""; height: 4px; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 4px; }
.coverage-place-marker > b { background: rgba(6,17,31,.88); border: 1px solid rgba(255,255,255,.16); color: #fff; font: 750 10px/1.2 Inter,Arial,sans-serif; max-width: 150px; opacity: 0; overflow: hidden; padding: 5px 7px; pointer-events: none; text-overflow: ellipsis; transform: translateX(-4px); transition: opacity .16s ease, transform .16s ease; white-space: nowrap; }
.show-place-labels .coverage-place-marker > b,
.coverage-place-marker:hover > b { opacity: 1; transform: translateX(0); }

.vb-form { width: 100%; }
.vb-form__fields { display: grid; gap: 14px; }
.vb-field { display: grid; gap: 7px; }
.vb-field > span { color: var(--vb-text); font-size: 13px; font-weight: 700; }
.vb-field input,
.vb-field textarea,
.vb-field select { background: var(--vb-surface); border: 1px solid #cbd7e3; color: var(--vb-text); font: inherit; min-height: 46px; padding: 10px 12px; width: 100%; }
.vb-form > button { background: var(--vb-primary); border: 0; color: #fff; cursor: pointer; font: inherit; font-weight: 800; min-height: 48px; padding: 12px 18px; }
.vb-component-empty { border: 1px dashed #aab9c8; color: var(--vb-muted); grid-column: 1 / -1; padding: 28px; text-align: center; }
.vb-render-error { align-items: center; background: #fff2f2; border: 1px solid #f1b7b7; color: #8e2029; display: flex; flex-direction: column; gap: 8px; margin: 24px; padding: 24px; }

@media (max-width: 1024px) {
  .vb-header__actions .vb-header__phone,
  .vb-header__actions .vb-header__account { display: none; }
  .vb-header__nav { justify-content: flex-end; }
  .vb-testimonials,
  .vb-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vb-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vb-trust-bar,
  .vb-app-grid,
  .vb-support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vb-coverage { gap: 32px; grid-template-columns: 1fr; }
  .vb-footer__main { grid-template-columns: 1fr 1fr; }
  .vb-footer__contact { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .vb-slider,
  .vb-slide { min-height: 590px; }
  .vb-slide__shade { background: linear-gradient(0deg, rgba(3,17,31,.94), rgba(3,17,31,.2)); }
  .vb-slider__arrows { bottom: 20px; right: 18px; }
  .vb-slider__dots { bottom: 25px; left: 18px; }
  .vb-header__inner { gap: 10px; grid-template-columns: 1fr auto; min-height: 70px; padding-inline: 18px; }
  .vb-header__logo img { height: 39px; }
  .vb-header__nav { background: var(--vb-surface); border-top: 1px solid #dbe5ee; display: none; flex-direction: column; grid-column: 1 / -1; padding: 18px; width: 100%; }
  .vb-header.is-menu-open .vb-header__nav { display: flex; }
  .vb-header__cta span,
  .vb-header__actions .vb-header__phone,
  .vb-header__actions .vb-header__account { display: none; }
  .vb-header__cta { height: 42px; justify-content: center; min-width: 42px; padding: 0; }
  .vb-header__menu { display: inline-flex; }
  .vb-testimonials,
  .vb-plan-grid,
  .vb-product-grid { grid-template-columns: 1fr; }
  .vb-trust-bar,
  .vb-app-grid,
  .vb-support-grid { grid-template-columns: 1fr; }
  .vb-trust-item { border-bottom: 1px solid rgba(255,255,255,.13); border-right: 0; padding: 10px 0; }
  .vb-coupon-form { grid-template-columns: 1fr; }
  .vb-coupon-form input,
  .vb-coupon-form button { width: 100%; }
  .vb-plan-card { min-height: 0; padding: 24px; }
  .vb-coverage__copy h2 { font-size: 32px; }
  .vb-coverage__map { min-height: 360px; }
  .vb-footer__main,
  .vb-footer__columns { grid-template-columns: 1fr; }
  .vb-footer__contact { grid-column: auto; }
  .vb-cta { align-items: flex-start; flex-direction: column; }
}

.vb-document.is-dark .vb-testimonial,
.vb-document.is-dark .vb-plan-card,
.vb-document.is-dark .vb-product-card,
.vb-document.is-dark .vb-coverage__areas span { border-color: #26384a; }
.vb-document.is-dark .vb-faq,
.vb-document.is-dark .vb-faq__item,
.vb-document.is-dark .vb-header,
.vb-document.is-dark .vb-header__nav,
.vb-document.is-dark .vb-header__account { border-color: #26384a; }
.vb-document.is-dark .vb-coverage__map { filter: brightness(.82) saturate(.86); }
.vb-document.is-editor { min-height: 100vh; }
.vb-document.is-editor .vb-editor-node { cursor: default; outline: 1px solid transparent; outline-offset: -1px; position: relative; }
.vb-document.is-editor .vb-editor-node:empty { min-height: 12px; }
.vb-document.is-editor .vb-editor-node:hover { outline-color: rgba(8,116,231,.48); }
.vb-document.is-editor .vb-editor-node.is-vb-selected { outline: 2px solid #0874e7; outline-offset: -2px; z-index: 3; }
.vb-document.is-editor .vb-editor-node.is-vb-selected::before { background: #0874e7; color: #fff; content: attr(data-vb-label); font: 600 11px/24px Inter,Arial,sans-serif; left: 0; max-width: 220px; overflow: hidden; padding: 0 8px; pointer-events: none; position: absolute; text-overflow: ellipsis; top: 0; white-space: nowrap; z-index: 999; }
.vb-document.is-editor [contenteditable="true"] { cursor: text; }
.vb-document.is-editor [contenteditable="true"]:focus { outline: 2px solid #29d884; outline-offset: 3px; }
.canonical-site-header.is-static { position: relative; }
.vb-empty-slot { align-items: center; border: 1px dashed #7990a8; color: #64748b; display: flex; font: 600 12px/1.4 Inter,Arial,sans-serif; justify-content: center; min-height: 48px; padding: 12px; width: 100%; }
.vb-editor-node.is-vb-dragging { opacity: .4; }
.vb-editor-node.is-vb-drop-before { box-shadow: inset 0 4px 0 #29d884; }
.vb-editor-node.is-vb-drop-after { box-shadow: inset 0 -4px 0 #29d884; }
.vb-editor-node.is-vb-drop-inside { outline: 3px solid #29d884 !important; outline-offset: -3px; }
.vb-editor-node.is-vb-drop-invalid { outline: 3px solid #d23f48 !important; outline-offset: -3px; }
