@font-face {
  font-family: Rubik;
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("fonts/rubik-latin.woff2") format("woff2");
}

.pix-header { position: relative; z-index: 20; }
.pix-header .elementor-nav-menu--main a.elementor-item-active { color: var(--e-global-color-primary, #006bff); }
.pix-header .elementor-nav-menu--main a.elementor-item-active::after { opacity: 1; background-color: currentColor; }
.pix-header .elementor-nav-menu a:focus-visible,
.pix-header .elementor-button:focus-visible,
.pix-header .elementor-menu-toggle:focus-visible,
.pix-header .elementor-widget-image a:focus-visible {
  outline: 3px solid #008dff;
  outline-offset: 4px;
}
.pix-hero-title .pix-accent { color: var(--e-global-color-accent, #00d5f0); }
/* Keep the native image visible until playback starts, and on mobile. */
.pix-hero .elementor-background-video-container { opacity: 0; pointer-events: none; }
.pix-hero.pix-hero-video-playing .elementor-background-video-container { opacity: 1; }
/* Supplied 1280 × 720 video contains 120 px white bands above/below the scene. */
.pix-hero .elementor-background-video-hosted { min-height: 150%; object-fit: cover; }
.pix-hero .pix-hero-video-toggle {
  position: absolute; right: max(24px, calc((100% - 1230px) / 2)); bottom: 30px;
  z-index: 3; min-height: 44px; padding: 8px 16px;
  border: 1px solid #ffffff80; border-radius: 24px; background: #032553dc;
  color: #fff; font: 500 12px/1.3 Rubik, sans-serif; cursor: pointer;
}
.pix-hero .pix-hero-video-toggle[hidden] { display: none; }
.pix-hero .pix-hero-video-toggle:hover { background: #0059de; }
.pix-hero .pix-hero-video-toggle:focus-visible { outline: 3px solid #00d5f0; outline-offset: 3px; }
.elementor-editor-active .pix-hero .elementor-background-video-container { opacity: 1; }
/* Keep the approved 1440 px composition on ultrawide/TV screens.
   Media and side colors still come from the native Elementor backgrounds. */
@media (min-width: 1441px) {
  .elementor .elementor-element.pix-hero:not(.elementor-motion-effects-element-type-background),
  .elementor .elementor-element.pix-tv-section:not(.elementor-motion-effects-element-type-background),
  .elementor .elementor-element.pix-closing-section:not(.elementor-motion-effects-element-type-background) {
    background-size: 1440px auto;
    background-repeat: no-repeat;
  }
  /* Bound Elementor's inline video dimensions without exposing its white bands. */
  .pix-hero .elementor-background-video-hosted {
    max-width: 1440px;
    max-height: 810px;
  }
  .pix-hero::after,
  .pix-tv-section::after,
  .pix-closing-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-color: inherit;
    pointer-events: none;
    mask-image: linear-gradient(90deg,
      #000 calc(50% - 720px), transparent calc(50% - 640px),
      transparent calc(50% + 640px), #000 calc(50% + 720px));
  }
}
@media (hover: none) and (pointer: coarse) {
  .pix-hero .elementor-background-video-container, .pix-hero .pix-hero-video-toggle { display: none; }
}
.pix-customer .elementor-button {
  background-image: linear-gradient(155deg, #00b5ff 0%, #0068ff 48%, #004ce8 100%);
  box-shadow: 0 4px 16px #006fff24, inset 0 1px 2px #ffffff70;
  transition: box-shadow .2s ease, transform .2s ease;
}
.pix-customer .elementor-button:hover { transform: translateY(-1px); box-shadow: 0 6px 20px #006fff38; }

@media (max-width: 767px) {
  .pix-hero .elementor-background-video-container, .pix-hero .pix-hero-video-toggle { display: none; }
  .pix-hero-inner { justify-content: flex-start; }
  .pix-hero-title .elementor-heading-title { text-wrap: balance; }
  .pix-customer .elementor-button-icon { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .pix-hero .elementor-background-video-container, .pix-hero .pix-hero-video-toggle { display: none; }
  .pix-customer .elementor-button { transition: none; }
  .pix-customer .elementor-button:hover { transform: none; }
}

@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/barlow-condensed-800.ttf") format("truetype");
}

.pix-quick-card {
  position: relative;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 5px 20px #174b7b03;
  transition: box-shadow .2s ease, transform .2s ease;
}
.pix-quick-card::after {
  content: "›";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #0086ff;
  font: 26px/1 Arial, sans-serif;
}
.pix-quick-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px #087de514; }
.pix-quick-card:focus-visible,
.pix-plan-cta a:focus-visible { outline: 3px solid #006bff; outline-offset: 4px; }
.pix-quick-card .elementor-icon-box-title { margin: 0 0 5px; }
.pix-quick-card .elementor-icon-box-description { margin: 0; }

.pix-plans-section,
.pix-ecosystem-section { isolation: isolate; position: relative; }
.pix-plans-section::before,
.pix-ecosystem-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url("connection-waves.svg") center bottom / 100% 100% no-repeat;
  pointer-events: none;
}
.pix-plans-section { scroll-margin-top: 24px; }
.pix-plan-card { position: relative; transition: transform .2s ease, box-shadow .2s ease; }
.pix-plan-card:hover { transform: translateY(-5px); }
.pix-plan-label strong { font-weight: 700; font-style: italic; }
/* Sizes, spacing and row layout remain in the native Elementor controls. */
.pix-plan-unit .elementor-heading-title { writing-mode: vertical-rl; transform: rotate(180deg); }
.pix-featured-badge {
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: calc(100% - 28px);
  background: linear-gradient(100deg, #14b24e, #009b43);
  border-radius: 20px;
  padding: 6px 15px;
  z-index: 2;
  box-shadow: 0 3px 8px #00a24721;
}
.pix-perk-group { position: relative; }
.pix-perk-legend {
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  width: max-content;
  max-width: 90%;
  padding: 0 7px;
}
.pix-perk .elementor-icon-box-title { margin: 0; }
.pix-plan-price .elementor-heading-title { display: flex; justify-content: center; align-items: center; gap: 3px; }
.pix-plan-price strong { font-size: 1em; font-weight: 800; }
.pix-currency { font-family: Rubik, sans-serif; font-size: .25em; align-self: center; margin-right: 2px; }
.pix-cents { display: flex; flex-direction: column; align-self: center; align-items: flex-start; font-size: .45em; line-height: .9; }
.pix-cents small { font-family: Rubik, sans-serif; font-size: 11px; font-weight: 500; margin-top: 5px; }
.pix-plan-cta .elementor-button { box-shadow: inset 0 1px 2px #ffffff75, 0 4px 12px #006bff14; transition: filter .2s ease; }
.pix-plan-cta .elementor-button:hover { filter: brightness(1.08); }
.pix-plan-cta-0 .elementor-button { background-image: linear-gradient(160deg, #0075be, #005be1); }
.pix-plan-cta-1 .elementor-button { background-image: linear-gradient(160deg, #ffa410, #f86c11); }
.pix-plan-cta-2 .elementor-button { background-image: linear-gradient(160deg, #a321fc, #6400d2); }
.pix-plan-cta-3 .elementor-button { background-image: linear-gradient(160deg, #566171, #172332); }
.pix-benefits-section { border-top: 1px solid #ffffff; border-bottom: 1px solid #e4f1fa; scroll-margin-top: 20px; }
.pix-benefit-item + .pix-benefit-item { border-left: 1px solid #9cdcff; }
.pix-benefit-item .elementor-icon-box-title { margin: 0 0 3px; }
.pix-benefit-item .elementor-icon-box-description { margin: 0; }
.pix-ecosystem-map { position: relative; isolation: isolate; }
.pix-ecosystem-map::before {
  content: "";
  position: absolute;
  width: 78%;
  height: 130px;
  left: 11%;
  top: 50%;
  transform: translateY(-50%);
  border: 7px solid #00baff;
  border-radius: 50%;
  box-shadow: 0 0 0 4px #8ce7ff70, 0 0 0 10px #dbf7ff, 0 0 22px #17bcff88, inset 0 0 10px #00baff55;
  z-index: -1;
  pointer-events: none;
}
.pix-eco-orb {
  background: radial-gradient(circle at 38% 20%, #04579c, #001d51 60%, #001338);
  border: 3px solid #54dfff;
  box-shadow: 0 0 0 7px #d0f7ff9c, 0 0 0 11px #ffffffa6, 0 0 26px #00b9ff9c, inset 0 0 18px #00a6ff60;
  aspect-ratio: 1;
}
.pix-eco-tile { box-shadow: 0 4px 28px #00aaff18; }
.pix-eco-icon-box .elementor-icon { border: 1px solid #bfe9ff; border-radius: 50%; padding: 10px; box-sizing: content-box; }
.pix-eco-icon-box .elementor-icon-box-title { margin: 0 0 5px; }
.pix-eco-icon-box .elementor-icon-box-description { margin: 0; }

@media (min-width: 1025px) and (max-width: 1199px) {
  .pix-eco-icon-box .elementor-icon { padding: 6px; }
}
@media (max-width: 767px) {
  .pix-quick-card::after { right: 8px; font-size: 22px; }
  .pix-benefit-item + .pix-benefit-item { border-left: 0; }
  .pix-benefit-item:nth-child(2n) { border-left: 1px solid #9cdcff; }
  .pix-benefit-item:last-child { grid-column: 1 / -1; }
  .pix-ecosystem-map::before { width: 70%; height: 200px; left: 15%; top: 50%; }
  .pix-eco-orb { width: 130px; justify-self: center; }
  .pix-eco-side { z-index: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .pix-quick-card, .pix-plan-card, .pix-plan-cta .elementor-button { transition: none; }
  .pix-quick-card:hover, .pix-plan-card:hover { transform: none; }
}

/* TV and app: content and responsive sizes live in native Elementor controls. */
.pix-tv-section, .pix-app-section { scroll-margin-top: 20px; }
.pix-tv-copy { text-shadow: 0 2px 14px #00000035; }
/* Display-only contour for the original 321×76 logo. Never alters plan logos or media pixels. */
.pix-tv-logo-original-cutout img {
  clip-path: polygon(2% 9%, 20.6% 9%, 20.6% 18.5%, 98.3% 18.5%, 98.3% 78%, 20.6% 78%, 20.6% 88%, 2% 88%);
}
.pix-tv-category .elementor-icon-box-title { margin: 0; }
.pix-phone-card { overflow: hidden; }
.pix-phone-banner { overflow: hidden; }
.pix-phone-reference .pix-phone-copy { text-shadow: 0 2px 12px #00000040; }
.pix-phone-product img { display: block; }
.pix-phone-cta .elementor-button { transition: background-color .2s ease, transform .2s ease; }
.pix-phone-cta .elementor-button:hover { background-color: #0058D8; transform: translateY(-2px); }
.pix-tv-cta .elementor-button { box-shadow: 0 0 22px #008cff45, inset 0 1px 2px #ffffff75; }
.pix-tv-cta a:focus-visible, .pix-app-store a:focus-visible, a.pix-eco-tile:focus-visible { outline: 3px solid #00b9ff; outline-offset: 5px; }
.pix-app-section { position: relative; isolation: isolate; overflow: hidden; }
.pix-app-section::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url("connection-waves.svg") center / 100% 100% no-repeat; opacity: .65; }
.pix-app-artwork { overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.pix-app-artwork img { display: block; }
.pix-app-feature .elementor-icon-box-title { margin: 0 0 5px; }
.pix-app-feature .elementor-icon-box-description { margin: 0; }
.pix-app-store a { display: block; border-radius: 8px; transition: transform .2s ease; }
.pix-app-store a:hover { transform: translateY(-2px); }
a.pix-eco-tile { text-decoration: none; transition: box-shadow .2s ease; }
a.pix-eco-tile:hover { box-shadow: 0 6px 28px #0088ff33; }
@media (min-width: 768px) and (max-width: 1024px) {
  .pix-app-features { grid-column: 1 / -1; }
  .pix-app-artwork { border-radius: 24px; mask-image: none; }
}
@media (max-width: 767px) {
  .pix-app-artwork { border-radius: 24px; mask-image: none; }
  .pix-app-features { padding-top: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .pix-app-store a, a.pix-eco-tile { transition: none; }
  .pix-app-store a:hover { transform: none; }
}

/* Social and app share a native Elementor grid; the cover opens the real profile. */
.pix-connected-section { position: relative; isolation: isolate; }
.pix-connected-section::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url("connection-waves.svg") center / 100% 100% no-repeat; opacity: .5; }
.pix-app-integrated::before { display: none; }
.pix-app-integrated .pix-app-artwork { mask-image: none; overflow: hidden; }
.pix-app-integrated .pix-app-features { grid-column: 1 / -1; }
.pix-social-panel { scroll-margin-top: 25px; }
.pix-social-preview { position: relative; isolation: isolate; overflow: hidden; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.pix-social-cover { min-width: 0; }
.pix-social-cover img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: contain; background: #F0F8FF; }
/* Only the initial reused landscape artwork is cropped. Future campaign files remain whole. */
.pix-social-cover img[src*="/pixfibra-instagram-capa-inicial"] { object-fit: cover; object-position: 58% 50%; }
.pix-social-preview:hover { transform: translateY(-4px); }
.pix-social-cta a:focus-visible, .pix-social-preview:focus-visible { outline: 3px solid #006bff; outline-offset: 5px; }
.pix-social-instagram-icon .elementor-icon { filter: drop-shadow(0 2px 6px #001b54); }
.pix-about-section { scroll-margin-top: 24px; }
.pix-about-brand { position: relative; isolation: isolate; overflow: hidden; }
.pix-about-brand::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse at 115% 35%, #00cfff55, transparent 60%), url("connection-waves.svg") 70% 60% / auto 140% no-repeat; opacity: .7; }
.pix-about-brand::after { content: ""; position: absolute; width: 310px; height: 310px; top: -210px; right: -120px; z-index: -1; pointer-events: none; border: 1px solid #63d8ff70; border-radius: 50%; box-shadow: 0 0 0 28px #63d8ff12, 0 0 0 56px #63d8ff0a; }
.pix-about-place span { display: block; font-size: 11px; font-weight: 400; color: #d9efff; }
.pix-about-description p { margin: 0 0 14px; }
.pix-about-description p:last-child { margin-bottom: 0; }
.pix-about-value .elementor-icon-box-title { margin: 0 0 5px; }
.pix-about-value .elementor-icon-box-description { margin: 0; }
.pix-about-cta a:focus-visible, .pix-condo-cta a:focus-visible { outline: 3px solid #006bff; outline-offset: 5px; }
.pix-condo-section { scroll-margin-top: 24px; }
.pix-social-cta .elementor-button {
  background-image: linear-gradient(115deg, #833ab4 0%, #b92a87 48%, #bc2843 75%, #a94c16 100%);
  box-shadow: 0 5px 16px #b92a8726;
  transition: filter .2s ease, transform .2s ease;
}
.pix-social-cta .elementor-button:hover { filter: brightness(1.08); transform: translateY(-2px); }
.pix-social-cta .elementor-button-icon { font-size: 19px; }
.pix-social-cta .elementor-button-content-wrapper { align-items: center; }
.pix-store-card, .pix-condo-illustrated { overflow: hidden; }
.pix-completion-image img { display: block; }
.pix-completion-section, .pix-footer { scroll-margin-top: 24px; }
.pix-completion-cta a:focus-visible,
.pix-coverage-form input:focus-visible,
.pix-coverage-form button:focus-visible,
.pix-faq-accordion summary:focus-visible,
.pix-footer a:focus-visible { outline: 3px solid #008DFF; outline-offset: 4px; }
.pix-faq-accordion .e-n-accordion-item { background: #F4FAFF; border: 1px solid #D7E9F6; border-radius: 16px; box-shadow: 0 4px 14px #073D7305; }
.pix-faq-accordion .e-n-accordion-item[open] { background: #FFFFFF; border-color: #94CFFF; }
.pix-faq-accordion .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.pix-faq-accordion .elementor-widget-text-editor ol { padding-left: 22px; margin: 0 0 14px; }
.pix-faq-accordion .elementor-widget-text-editor li + li { margin-top: 7px; }
.pix-coverage-form .elementor-field { min-height: 50px; }
.pix-coverage-form .elementor-button { min-height: 48px; }
.pix-footer .elementor-icon-list-item { align-items: flex-start; }
.pix-footer .elementor-icon-list-icon { padding-top: 3px; }
.pix-footer .elementor-icon-list-text { overflow-wrap: anywhere; }
@media (max-width: 767px) {
  .pix-phone-copy { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .pix-social-cta .elementor-button { transition: none; }
  .pix-social-cta .elementor-button:hover { transform: none; }
  .pix-phone-cta .elementor-button { transition: none; }
  .pix-phone-cta .elementor-button:hover { transform: none; }
}
@media (min-width: 1025px) {
  .pix-connected-grid > .pix-app-integrated { padding-left: 28px; border-left: 1px solid #c9e7fa; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .pix-social-preview { max-width: 280px; justify-self: center; }
  .pix-app-integrated { border-top: 1px solid #c9e7fa; }
}
@media (max-width: 767px) {
  .pix-social-preview { justify-self: stretch; max-width: 100%; }
  .pix-app-integrated { border-top: 1px solid #c9e7fa; }
}
@media (prefers-reduced-motion: reduce) {
  .pix-social-preview { transition: none; }
  .pix-social-preview:hover { transform: none; }
}

/* Motion is activated progressively by motion.js, never inside the Elementor editor. */
.pix-scroll-progress {
  position: fixed; inset: 0 0 auto; height: 3px; z-index: 100;
  background: linear-gradient(90deg, #006bff, #00d5f0, #86efff);
  box-shadow: 0 0 10px #00baff70;
  transform: scaleX(0); transform-origin: left; pointer-events: none;
}
.pix-light-ready { position: relative; }
.pix-pointer-light {
  position: absolute; inset: 0; z-index: 3; border-radius: inherit;
  pointer-events: none; opacity: 0; transition: opacity .3s ease;
  background: radial-gradient(240px circle at var(--pix-light-x, 50%) var(--pix-light-y, 50%), #42ceff2b, #ffffff0a 48%, transparent 75%);
}
.pix-light-surface > .pix-pointer-light {
  background: radial-gradient(360px circle at var(--pix-light-x, 50%) var(--pix-light-y, 50%), #25cfff26, #1f85ff0d 45%, transparent 75%);
}
.pix-light-active > .pix-pointer-light { opacity: 1; }
.pix-motion-enabled .elementor-button {
  position: relative; overflow: hidden; isolation: isolate;
  transition: translate .25s ease, box-shadow .25s ease, filter .25s ease;
}
.pix-motion-enabled .elementor-button::after {
  content: ""; position: absolute; inset: -30% auto -30% -70%; width: 45%;
  background: linear-gradient(90deg, transparent, #ffffff45, transparent);
  transform: skewX(-22deg); pointer-events: none;
}
.pix-motion-enabled .elementor-button:focus-visible { box-shadow: 0 0 0 5px #00baff26; }
.pix-motion-enabled .pix-faq-accordion summary { transition: background-color .22s ease, box-shadow .22s ease; }
.pix-motion-enabled .pix-faq-accordion summary:hover { background: #eaf6ff; box-shadow: inset 3px 0 #008dff; }

@keyframes pix-button-shine { to { left: 130%; } }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .pix-motion-enabled .elementor-button:hover { translate: 0 -2px; }
  .pix-motion-enabled .elementor-button:hover::after { animation: pix-button-shine .7s ease; }
  .pix-motion-enabled :is(.pix-plan-card, .pix-quick-card, .pix-eco-tile, .pix-social-preview) {
    transition: transform .3s ease, box-shadow .3s ease;
  }
  .pix-motion-enabled .pix-plan-card:hover { transform: translateY(-7px); box-shadow: 0 18px 38px #006bff24; }
  .pix-motion-enabled .pix-quick-card:hover { transform: translateY(-4px); box-shadow: 0 10px 26px #008dff22; }
  .pix-motion-enabled .pix-eco-tile:hover { transform: translateY(-4px); }
  .pix-motion-enabled :is(.pix-benefit-item, .pix-tv-category, .pix-app-feature) .elementor-icon {
    transition: transform .35s ease, filter .35s ease;
  }
  .pix-motion-enabled :is(.pix-benefit-item, .pix-tv-category, .pix-app-feature):hover .elementor-icon {
    transform: translateY(-4px) rotate(-5deg); filter: drop-shadow(0 4px 8px #00baff40);
  }
  .pix-motion-enabled :is(.pix-store-image, .pix-app-original-image) img { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
  .pix-motion-enabled .pix-store-card:hover .pix-store-image img { transform: scale(1.025); }
  .pix-motion-enabled .pix-app-artwork:hover .pix-app-original-image img { transform: translateY(-5px) rotate(1deg); }
  .pix-motion-enabled .pix-eco-orb { transition: box-shadow .4s ease; }
  .pix-motion-enabled .pix-eco-orb:hover { box-shadow: 0 0 0 7px #d0f7ff9c, 0 0 0 13px #ffffffa6, 0 0 42px #00b9ffcc, inset 0 0 24px #00a6ff90; }
}
@media (prefers-reduced-motion: reduce) {
  .pix-pointer-light, .pix-scroll-progress { display: none; }
  html:focus-within { scroll-behavior: auto; }
}
@media print {
  .pix-pointer-light, .pix-scroll-progress { display: none; }
}

