/*
 * Plex IPTV design styles (generated by scripts/elementor/build.mjs).
 * Uses the design tokens from style.css. Component styles are scoped with
 * px-* classes (set in Elementor > Advanced > CSS Classes).
 */
:where(.elementor-widget-heading) :is(h1, h2, h3, h4).elementor-heading-title {
  font-family: var(--font-head);
  line-height: 1.18;
  letter-spacing: -0.02em;
  margin: 0 0 0.6em;
  padding: 0;
  text-wrap: balance;
}

@media(min-width:768px) {
  :root {
    --gutter: 24px;
    --header-h: 72px
  }
}

*,
*:before,
*:after {
  box-sizing: border-box
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: calc(var(--header-h) + 16px)
}

@media(prefers-reduced-motion:no-preference) {
  html {
    scroll-behavior: smooth
  }
}

body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  font-size: var(--fs-base);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden
}

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

h1,
h2,
h3,
h4 {
  font-family: var(--font-head);
  line-height: 1.18;
  letter-spacing: -.02em;
  margin: 0 0 .6em;
  text-wrap: balance
}

h1 {
  font-size: var(--fs-h1);
  font-weight: 800
}

h2 {
  font-size: var(--fs-h2);
  font-weight: 800
}

h3 {
  font-size: var(--fs-h3);
  font-weight: 700
}

p {
  margin: 0 0 1em
}

ul,
ol {
  margin: 0 0 1em;
  padding-left: 1.25em
}

a {
  color: var(--cyan);
  text-underline-offset: 3px;
  text-decoration-thickness: 1px
}

a:hover {
  text-decoration-thickness: 2px
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit
}

table {
  border-collapse: collapse;
  width: 100%
}

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

.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
}

.skip-link {
  position: absolute;
  left: 12px;
  top: -100px;
  z-index: 200;
  background: var(--accent-btn);
  color: #fff;
  padding: 10px 16px;
  border-radius: var(--radius-btn);
  font-weight: 600;
  text-decoration: none
}

.skip-link:focus {
  top: 12px
}

.container {
  width: 100%;
  max-width: calc(var(--container) + var(--gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--gutter)
}

.section {
  padding-block: var(--section-y)
}

.section--alt {
  background: linear-gradient(180deg, #131a2a8c, #131a2a00);
  border-top: 1px solid var(--border)
}

.section-head {
  max-width: 720px;
  margin: 0 auto clamp(2rem, 1.5rem + 2vw, 3rem);
  text-align: center
}

.section-head p {
  color: var(--muted);
  font-size: var(--fs-lg);
  margin-bottom: 0
}

.eyebrow {
  display: inline-block;
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cyan);
  margin-bottom: .75rem
}

.lead {
  font-size: var(--fs-lg);
  color: var(--muted)
}

.muted {
  color: var(--muted)
}

.grid {
  display: grid;
  gap: 20px
}

@media(min-width:640px) {

  .grid--2,
  .grid--3,
  .grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

@media(min-width:1024px) {
  .grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }

  .grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }
}

.btn,
.px-btn .elementor-button {
  --btn-bg: var(--accent-btn);
  --btn-fg: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55em;
  min-height: 48px;
  padding: .75rem 1.35rem;
  border: 1px solid transparent;
  border-radius: var(--radius-btn);
  background: var(--btn-bg);
  color: var(--btn-fg);
  font-family: var(--font-body);
  font-size: var(--fs-base);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s var(--ease), box-shadow .2s var(--ease), background-color .2s var(--ease), border-color .2s var(--ease)
}

.btn:hover,
.px-btn .elementor-button:hover {
  transform: translateY(-2px);
  text-decoration: none
}

.btn:active,
.px-btn .elementor-button:active {
  transform: translateY(0)
}

.btn svg,
.px-btn .elementor-button svg {
  width: 1.2em;
  height: 1.2em;
  flex-shrink: 0
}

.btn--primary,
.px-btn--primary .elementor-button {
  box-shadow: 0 10px 28px -12px #7c5cffcc
}

.btn--primary:hover,
.px-btn--primary .elementor-button:hover {
  --btn-bg: var(--accent-btn-hover);
  box-shadow: 0 16px 34px -12px #7c5cffe6
}

.btn--whatsapp,
.px-btn--whatsapp .elementor-button {
  --btn-bg: var(--wa);
  --btn-fg: var(--wa-text);
  box-shadow: 0 10px 28px -14px #25d366bf
}

.btn--whatsapp:hover,
.px-btn--whatsapp .elementor-button:hover {
  --btn-bg: var(--wa-hover);
  box-shadow: 0 16px 34px -14px #25d366d9
}

.btn--secondary,
.px-btn--secondary .elementor-button {
  --btn-bg: transparent;
  --btn-fg: var(--text);
  border-color: var(--border-strong)
}

.btn--secondary:hover,
.px-btn--secondary .elementor-button:hover {
  border-color: var(--accent);
  background: var(--accent-soft)
}

.btn--sm,
.px-btn--sm .elementor-button {
  min-height: 40px;
  padding: .5rem .95rem;
  font-size: var(--fs-sm)
}

.btn--lg,
.px-btn--lg .elementor-button {
  min-height: 54px;
  padding: .9rem 1.6rem;
  font-size: var(--fs-lg)
}

.btn--block,
.px-btn--block .elementor-button {
  display: flex;
  width: 100%
}

.btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px
}

@media(max-width:479px) {
  .btn-row>.btn {
    flex: 1 1 100%
  }
}

@media(prefers-reduced-motion:reduce) {

  .btn,
  .px-btn .elementor-button,
  .card {
    transition: none
  }

  .btn:hover,
  .px-btn .elementor-button:hover,
  .card--hover:hover {
    transform: none
  }
}

.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
  box-shadow: var(--shadow-card);
  transition: transform .25s var(--ease), border-color .25s var(--ease), background-color .25s var(--ease)
}

.card--hover:hover {
  transform: translateY(-4px);
  border-color: var(--border-strong);
  background: var(--card-hover)
}

.card>:last-child {
  margin-bottom: 0
}

.icon-tile {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: var(--cyan-soft);
  color: var(--cyan);
  margin-bottom: 1rem
}

.icon-tile svg {
  width: 22px;
  height: 22px
}

.chip {
  display: inline-flex;
  align-items: center;
  gap: .45em;
  padding: .4rem .85rem;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-pill);
  background: #ffffff08;
  font-size: var(--fs-sm);
  font-weight: 500;
  color: var(--text)
}

.chip svg {
  width: 16px;
  height: 16px;
  color: var(--cyan)
}

.badge {
  display: inline-block;
  padding: .3rem .7rem;
  border-radius: var(--radius-pill);
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: .02em;
  background: var(--accent-soft);
  color: var(--accent-text)
}

.badge--gold {
  background: var(--gold);
  color: var(--gold-text)
}

.prose {
  max-width: 72ch
}

.prose h2 {
  margin-top: 2em
}

.prose h3 {
  margin-top: 1.6em
}

.prose li+li {
  margin-top: .35em
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: .35em;
  font-weight: 600
}

.text-link svg {
  width: 1em;
  height: 1em;
  transition: transform .2s var(--ease)
}

.text-link:hover svg {
  transform: translate(3px)
}

@media(max-width:767px) {
  body {
    padding-bottom: calc(var(--bottom-bar-h) + env(safe-area-inset-bottom, 0px))
  }
}

.feature h3 {
  margin-bottom: .4em
}

.feature p {
  color: var(--muted);
  font-size: var(--fs-sm)
}

.feature .text-link {
  font-size: var(--fs-sm)
}

.steps {
  counter-reset: step;
  display: grid;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0
}

@media(min-width:640px) {
  .steps--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

@media(min-width:1024px) {
  .steps--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }
}

.step {
  position: relative
}

.step__num {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-bottom: 14px;
  border-radius: 12px;
  background: var(--accent-soft);
  border: 1px solid rgba(124, 92, 255, .45);
  color: var(--accent-text);
  font-family: var(--font-head);
  font-weight: 800
}

.step h3 {
  margin-bottom: .4em
}

.step p {
  color: var(--muted);
  font-size: var(--fs-sm)
}

.table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  background: var(--card)
}

.table {
  font-size: var(--fs-sm)
}

.table--wide {
  min-width: 600px
}

@media(max-width:479px) {

  .table:not(.table--wide) th,
  .table:not(.table--wide) td {
    padding: 12px 10px
  }
}

.table caption {
  caption-side: bottom;
  padding: 12px 16px;
  color: var(--muted);
  font-size: var(--fs-xs);
  text-align: left
}

.table th,
.table td {
  padding: 14px 16px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--border)
}

.table tbody tr:last-child th,
.table tbody tr:last-child td {
  border-bottom: 0
}

.table thead th {
  font-family: var(--font-head);
  font-size: var(--fs-sm);
  color: var(--text);
  background: #ffffff08
}

.table tbody th {
  color: var(--text);
  font-weight: 600
}

.table td {
  color: var(--muted)
}

.table .is-us {
  color: var(--text);
  background: #7c5cff12
}

.table thead .is-us {
  color: var(--accent-text);
  background: #7c5cff24
}

.table-note {
  margin-top: 14px;
  color: var(--muted);
  font-size: var(--fs-sm)
}

.device-tile {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  color: var(--text);
  font-weight: 600;
  text-decoration: none
}

.device-tile .icon-tile {
  margin: 0;
  flex-shrink: 0
}

.device-tile:hover {
  text-decoration: none
}

.post-card {
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden
}

.post-card img {
  border: 0;
  border-radius: 0;
  aspect-ratio: 16 / 10;
  object-fit: cover
}

.post-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 20px 22px 22px
}

.post-card__meta {
  color: var(--muted);
  font-size: var(--fs-xs);
  margin-bottom: 8px
}

.post-card h3 {
  font-size: 1.15rem
}

.post-card h3 a {
  color: var(--text);
  text-decoration: none
}

.post-card h3 a:after {
  content: "";
  position: absolute;
  inset: 0
}

.post-card {
  position: relative
}

.post-card p {
  color: var(--muted);
  font-size: var(--fs-sm);
  flex: 1
}

.post-card .text-link {
  font-size: var(--fs-sm)
}

.section-foot {
  margin-top: 28px;
  text-align: center
}

.split {
  display: grid;
  gap: 32px;
  align-items: center
}

@media(min-width:1024px) {
  .split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 56px
  }
}

.content-section+.content-section {
  border-top: 1px solid var(--border)
}

.check-list {
  list-style: none;
  padding: 0
}

.check-list li {
  position: relative;
  padding-left: 30px
}

.check-list li:before {
  content: "";
  position: absolute;
  left: 0;
  top: .35em;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  background: var(--cyan-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322D3EE' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat
}

.check-list li+li {
  margin-top: .6em
}

.pill-difficulty {
  display: inline-block;
  padding: 2px 10px;
  border-radius: var(--radius-pill);
  font-size: var(--fs-xs);
  font-weight: 600;
  background: #25d36624;
  color: #5fe398
}

.pill-difficulty--medium {
  background: #ffb02024;
  color: var(--gold)
}

.field {
  display: grid;
  gap: 6px;
  margin-bottom: 16px
}

.field label {
  font-weight: 600;
  font-size: var(--fs-sm)
}

.input,
.select,
.textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-btn);
  background: var(--bg);
  color: var(--text);
  font-size: 1rem
}

.select {
  appearance: none;
  padding-right: 40px;
  background: var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239AA4C0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center / 18px no-repeat
}

.textarea {
  min-height: 120px;
  resize: vertical
}

.input:focus,
.select:focus,
.textarea:focus {
  outline: 2px solid var(--cyan);
  outline-offset: 1px;
  border-color: transparent
}

.field-hint {
  color: var(--muted);
  font-size: var(--fs-xs)
}

.logo:is([data-px-logo], .px-logo, .px-logo *) {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
  text-decoration: none;
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 1.25rem;
  letter-spacing: -.02em;
  line-height: 1;
  flex-shrink: 0
}

.logo:is([data-px-logo], .px-logo, .px-logo *):hover {
  text-decoration: none
}

.logo__mark:is([data-px-logo], .px-logo, .px-logo *) {
  flex-shrink: 0;
  filter: drop-shadow(0 6px 14px rgba(124, 92, 255, .35))
}

.logo__accent:is([data-px-logo], .px-logo, .px-logo *) {
  color: var(--cyan)
}

.site-header:is([data-px-header], .px-header, .px-header *) {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #0b0f1ad1;
  backdrop-filter: saturate(160%) blur(14px);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
  border-bottom: 1px solid var(--border)
}

.site-header__inner:is([data-px-header], .px-header, .px-header *) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: var(--header-h)
}

.site-header__actions:is([data-px-header], .px-header, .px-header *) {
  display: flex;
  align-items: center;
  gap: 8px
}

.nav-toggle:is([data-px-header], .px-header, .px-header *) {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-btn);
  background: transparent;
  cursor: pointer
}

.nav-toggle:is([data-px-header], .px-header, .px-header *) span:is([data-px-header], .px-header, .px-header *) {
  line-height: 0
}

.nav-toggle:is([data-px-header], .px-header, .px-header *) span:is([data-px-header], .px-header, .px-header *) svg {
  width: 22px;
  height: 22px
}

.nav-toggle__close:is([data-px-header], .px-header, .px-header *),
.nav-toggle:is([data-px-header], .px-header, .px-header *)[aria-expanded=true] .nav-toggle__open:is([data-px-header], .px-header, .px-header *) {
  display: none
}

.nav-toggle:is([data-px-header], .px-header, .px-header *)[aria-expanded=true] .nav-toggle__close:is([data-px-header], .px-header, .px-header *) {
  display: block
}

.site-nav:is([data-px-header], .px-header, .px-header *) {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  display: none;
  padding: 12px var(--gutter) 24px;
  background: var(--bg-elevated);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 24px 40px -20px #000c;
  max-height: calc(100vh - var(--header-h));
  overflow-y: auto
}

.site-nav:is([data-px-header], .px-header, .px-header *).is-open {
  display: block
}

.site-nav__list:is([data-px-header], .px-header, .px-header *) {
  list-style: none;
  margin: 0 0 16px;
  padding: 0
}

.site-nav__link:is([data-px-header], .px-header, .px-header *) {
  display: block;
  padding: 14px 4px;
  border-bottom: 1px solid var(--border);
  color: var(--text);
  font-weight: 600;
  text-decoration: none
}

.site-nav__link:is([data-px-header], .px-header, .px-header *)[aria-current=page] {
  color: var(--cyan)
}

.site-header__actions:is([data-px-header], .px-header, .px-header *) .site-header__subscribe {
  white-space: nowrap;
  padding-inline: .85rem
}

@media(max-width:339px) {
  .site-header__actions:is([data-px-header], .px-header, .px-header *) .site-header__subscribe {
    display: none
  }
}

@media(min-width:1080px) {

  .nav-toggle:is([data-px-header], .px-header, .px-header *),
  .site-nav__cta:is([data-px-header], .px-header, .px-header *) {
    display: none
  }

  .site-nav:is([data-px-header], .px-header, .px-header *) {
    position: static;
    display: block;
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
    max-height: none;
    overflow: visible
  }

  .site-nav__list:is([data-px-header], .px-header, .px-header *) {
    display: flex;
    gap: 4px;
    margin: 0
  }

  .site-nav__link:is([data-px-header], .px-header, .px-header *) {
    padding: 8px 12px;
    border: 0;
    border-radius: 10px;
    color: var(--muted);
    font-size: var(--fs-sm);
    font-weight: 500;
    transition: color .2s, background-color .2s
  }

  .site-nav__link:is([data-px-header], .px-header, .px-header *):hover {
    color: var(--text);
    background: #ffffff0d
  }

  .site-nav__link:is([data-px-header], .px-header, .px-header *)[aria-current=page] {
    color: var(--text);
    background: #ffffff0f
  }
}

.site-footer:is([data-px-footer], .px-footer, .px-footer *) {
  margin-top: var(--section-y);
  padding: clamp(3rem, 2.5rem + 2vw, 4.5rem) 0 2rem;
  background: var(--bg-elevated);
  border-top: 1px solid var(--border);
  font-size: var(--fs-sm)
}

.site-footer__grid:is([data-px-footer], .px-footer, .px-footer *) {
  display: grid;
  gap: 36px 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr))
}

.site-footer__brand:is([data-px-footer], .px-footer, .px-footer *) {
  grid-column: 1 / -1
}

.site-footer__desc:is([data-px-footer], .px-footer, .px-footer *) {
  color: var(--muted);
  margin: 16px 0 18px;
  max-width: 34ch
}

.site-footer:is([data-px-footer], .px-footer, .px-footer *) ul:is([data-px-footer], .px-footer, .px-footer *) {
  list-style: none;
  margin: 0;
  padding: 0
}

.site-footer__contact:is([data-px-footer], .px-footer, .px-footer *) li:is([data-px-footer], .px-footer, .px-footer *)+li:is([data-px-footer], .px-footer, .px-footer *) {
  margin-top: 10px
}

.site-footer__contact:is([data-px-footer], .px-footer, .px-footer *) a:is([data-px-footer], .px-footer, .px-footer *) {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 32px;
  color: var(--text);
  text-decoration: none;
  word-break: break-word
}

.site-footer__contact:is([data-px-footer], .px-footer, .px-footer *) a:is([data-px-footer], .px-footer, .px-footer *):hover span:is([data-px-footer], .px-footer, .px-footer *) {
  text-decoration: underline
}

.site-footer__contact:is([data-px-footer], .px-footer, .px-footer *) svg:is([data-px-footer], .px-footer, .px-footer *) {
  color: var(--wa);
  flex-shrink: 0
}

.site-footer__contact:is([data-px-footer], .px-footer, .px-footer *) li:is([data-px-footer], .px-footer, .px-footer *)+li:is([data-px-footer], .px-footer, .px-footer *) svg:is([data-px-footer], .px-footer, .px-footer *) {
  color: var(--cyan)
}

.site-footer__title:is([data-px-footer], .px-footer, .px-footer *),
.site-footer__title:is([data-px-footer], .px-footer, .px-footer *)>.elementor-heading-title {
  font-family: var(--font-body);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text);
  margin-bottom: 14px
}

.site-footer__col:is([data-px-footer], .px-footer, .px-footer *) li:is([data-px-footer], .px-footer, .px-footer *)+li:is([data-px-footer], .px-footer, .px-footer *) {
  margin-top: 4px
}

.site-footer__col:is([data-px-footer], .px-footer, .px-footer *) a:is([data-px-footer], .px-footer, .px-footer *) {
  display: inline-block;
  padding: 4px 0;
  color: var(--muted);
  text-decoration: none
}

.site-footer__col:is([data-px-footer], .px-footer, .px-footer *) a:is([data-px-footer], .px-footer, .px-footer *):hover {
  color: var(--text);
  text-decoration: underline
}

.site-footer__bottom:is([data-px-footer], .px-footer, .px-footer *) {
  margin-top: 44px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: var(--fs-xs);
  line-height: 1.6
}

.site-footer__copy:is([data-px-footer], .px-footer, .px-footer *) {
  color: var(--text);
  margin-bottom: 8px
}

.site-footer__disclaimer:is([data-px-footer], .px-footer, .px-footer *) {
  max-width: 90ch;
  margin: 0
}

@media(min-width:768px) {
  .site-footer__grid:is([data-px-footer], .px-footer, .px-footer *) {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }
}

@media(min-width:1024px) {
  .site-footer__grid:is([data-px-footer], .px-footer, .px-footer *) {
    grid-template-columns: 1.6fr 1fr 1.2fr 1fr
  }

  .site-footer__brand:is([data-px-footer], .px-footer, .px-footer *) {
    grid-column: auto
  }
}

.wa-float:is([data-px-wa-float], .px-wa-float, .px-wa-float *) {
  position: fixed;
  right: 16px;
  bottom: calc(var(--bottom-bar-h) + 14px + env(safe-area-inset-bottom, 0px));
  z-index: 90;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--wa);
  color: #fff;
  box-shadow: 0 12px 28px -8px #25d36699, 0 0 0 6px #25d3661f;
  transition: transform .2s var(--ease), box-shadow .2s var(--ease)
}

.wa-float:is([data-px-wa-float], .px-wa-float, .px-wa-float *):hover {
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 16px 34px -8px #25d366b3, 0 0 0 8px #25d36629
}

.wa-float__tip:is([data-px-wa-float], .px-wa-float, .px-wa-float *) {
  position: absolute;
  right: calc(100% + 12px);
  white-space: nowrap;
  padding: 8px 12px;
  border-radius: 10px;
  background: var(--card);
  border: 1px solid var(--border-strong);
  color: var(--text);
  font-size: var(--fs-sm);
  font-weight: 600;
  opacity: 0;
  transform: translate(6px);
  pointer-events: none;
  transition: opacity .2s, transform .2s
}

.wa-float:is([data-px-wa-float], .px-wa-float, .px-wa-float *):hover .wa-float__tip:is([data-px-wa-float], .px-wa-float, .px-wa-float *),
.wa-float:is([data-px-wa-float], .px-wa-float, .px-wa-float *):focus-visible .wa-float__tip:is([data-px-wa-float], .px-wa-float, .px-wa-float *) {
  opacity: 1;
  transform: none
}

@media(min-width:768px) {
  .wa-float:is([data-px-wa-float], .px-wa-float, .px-wa-float *) {
    right: 24px;
    bottom: 24px;
    width: 62px;
    height: 62px
  }
}

@media(prefers-reduced-motion:reduce) {

  .wa-float:is([data-px-wa-float], .px-wa-float, .px-wa-float *),
  .wa-float__tip:is([data-px-wa-float], .px-wa-float, .px-wa-float *) {
    transition: none
  }

  .wa-float:is([data-px-wa-float], .px-wa-float, .px-wa-float *):hover {
    transform: none
  }
}

.bottom-bar:is([data-px-bottom-bar], .px-bottom-bar, .px-bottom-bar *) {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 95;
  display: flex;
  gap: 8px;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  background: #0b0f1af0;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid var(--border-strong)
}

.bottom-bar__btn:is([data-px-bottom-bar], .px-bottom-bar, .px-bottom-bar *) {
  min-height: 48px;
  padding: .6rem .75rem;
  font-size: var(--fs-sm);
  white-space: nowrap
}

.bottom-bar__btn:is([data-px-bottom-bar], .px-bottom-bar, .px-bottom-bar *):first-child {
  flex: 1 1 auto
}

.bottom-bar__plans:is([data-px-bottom-bar], .px-bottom-bar, .px-bottom-bar *) {
  flex: 0 0 auto;
  background: var(--card)
}

.bottom-bar__btn:is([data-px-bottom-bar], .px-bottom-bar, .px-bottom-bar *):hover {
  transform: none
}

@media(min-width:768px) {
  .bottom-bar:is([data-px-bottom-bar], .px-bottom-bar, .px-bottom-bar *) {
    display: none
  }
}

.crumbs:is([data-px-crumbs], .px-crumbs, .px-crumbs *) {
  padding-top: 18px;
  font-size: var(--fs-xs)
}

ol:is([data-px-crumbs], .px-crumbs, .px-crumbs *) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 6px;
  list-style: none;
  margin: 0;
  padding: 0
}

li:is([data-px-crumbs], .px-crumbs, .px-crumbs *) {
  display: inline-flex;
  align-items: center;
  gap: 6px
}

a:is([data-px-crumbs], .px-crumbs, .px-crumbs *) {
  color: var(--muted);
  text-decoration: none
}

a:is([data-px-crumbs], .px-crumbs, .px-crumbs *):hover {
  color: var(--text);
  text-decoration: underline
}

span:is([data-px-crumbs], .px-crumbs, .px-crumbs *) {
  color: var(--text)
}

.crumbs__sep {
  transform: rotate(-90deg);
  color: var(--muted);
  opacity: .7
}

.topbar:is([data-px-topbar], .px-topbar, .px-topbar *) {
  background: linear-gradient(90deg, #2a1f73, #123a4a);
  border-bottom: 1px solid var(--border);
  text-align: center;
  font-size: var(--fs-xs)
}

.topbar:is([data-px-topbar], .px-topbar, .px-topbar *) a:is([data-px-topbar], .px-topbar, .px-topbar *) {
  display: block;
  padding: 9px 16px;
  color: var(--text);
  text-decoration: none
}

.topbar:is([data-px-topbar], .px-topbar, .px-topbar *) a:is([data-px-topbar], .px-topbar, .px-topbar *):hover strong:is([data-px-topbar], .px-topbar, .px-topbar *) {
  text-decoration: underline
}

.topbar:is([data-px-topbar], .px-topbar, .px-topbar *) strong:is([data-px-topbar], .px-topbar, .px-topbar *) {
  color: var(--wa);
  font-weight: 600
}

.topbar:is([data-px-topbar], .px-topbar, .px-topbar *) span:is([data-px-topbar], .px-topbar, .px-topbar *) {
  margin: 0 4px;
  opacity: .6
}

.faq:is([data-px-faq], .px-faq, .px-faq *) {
  display: grid;
  gap: 12px;
  max-width: 860px;
  margin-inline: auto
}

.faq__item:is([data-px-faq], .px-faq, .px-faq *) {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  transition: border-color .2s
}

.faq__item:is([data-px-faq], .px-faq, .px-faq *)[open] {
  border-color: #7c5cff73
}

.faq__q:is([data-px-faq], .px-faq, .px-faq *) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  font-weight: 600;
  cursor: pointer;
  list-style: none
}

.faq__q:is([data-px-faq], .px-faq, .px-faq *)::-webkit-details-marker {
  display: none
}

.faq__q:is([data-px-faq], .px-faq, .px-faq *):hover {
  color: var(--cyan)
}

.faq__chev {
  flex-shrink: 0;
  color: var(--muted);
  transition: transform .2s
}

.faq__item:is([data-px-faq], .px-faq, .px-faq *)[open] .faq__chev {
  transform: rotate(180deg);
  color: var(--cyan)
}

.faq__a:is([data-px-faq], .px-faq, .px-faq *) {
  padding: 0 20px 20px;
  color: var(--muted)
}

.faq__a:is([data-px-faq], .px-faq, .px-faq *) p:is([data-px-faq], .px-faq, .px-faq *) {
  margin: 0
}

.img:is([data-px-img], .px-img, .px-img *) {
  width: 100%;
  height: auto;
  border-radius: var(--radius-card);
  border: 1px solid var(--border);
  background: var(--card)
}

.final-cta:is([data-px-final-cta], .px-final-cta, .px-final-cta *) {
  padding-bottom: 0
}

.final-cta__box:is([data-px-final-cta], .px-final-cta, .px-final-cta *) {
  position: relative;
  overflow: hidden;
  text-align: center;
  padding: clamp(2.5rem, 2rem + 3vw, 4rem) clamp(1.25rem, 1rem + 2vw, 3rem);
  border-radius: 28px;
  border: 1px solid rgba(124, 92, 255, .45);
  background: radial-gradient(60% 80% at 20% 0%, rgba(124, 92, 255, .35), transparent 70%), radial-gradient(50% 70% at 90% 100%, rgba(34, 211, 238, .18), transparent 70%), var(--card);
  box-shadow: var(--glow-accent)
}

.final-cta__box:is([data-px-final-cta], .px-final-cta, .px-final-cta *) p:is([data-px-final-cta], .px-final-cta, .px-final-cta *) {
  color: var(--muted);
  font-size: var(--fs-lg);
  margin-bottom: 1.75rem
}

.final-cta__btns:is([data-px-final-cta], .px-final-cta, .px-final-cta *) {
  justify-content: center
}

.pricing__grid:is([data-px-pricing], .px-pricing, .px-pricing *) {
  display: grid;
  gap: 20px;
  align-items: stretch
}

@media(min-width:640px) {
  .pricing__grid:is([data-px-pricing], .px-pricing, .px-pricing *) {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

@media(min-width:1200px) {
  .pricing__grid:is([data-px-pricing], .px-pricing, .px-pricing *) {
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }

  .plan:is([data-px-pricing], .px-pricing, .px-pricing *) {
    padding-inline: 18px
  }

  .plan__actions:is([data-px-pricing], .px-pricing, .px-pricing *) .btn,
  .plan__actions:is([data-px-pricing], .px-pricing, .px-pricing *) .px-btn .elementor-button {
    padding-inline: .75rem;
    font-size: var(--fs-sm);
    white-space: nowrap
  }
}

.plan:is([data-px-pricing], .px-pricing, .px-pricing *) {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 26px 22px 22px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  transition: transform .25s var(--ease), border-color .25s var(--ease)
}

.plan:is([data-px-pricing], .px-pricing, .px-pricing *):hover {
  transform: translateY(-4px);
  border-color: var(--border-strong)
}

.plan--featured:is([data-px-pricing], .px-pricing, .px-pricing *) {
  background: radial-gradient(120% 60% at 50% 0%, rgba(255, 176, 32, .1), transparent 70%), var(--card);
  border-color: #ffb02099;
  box-shadow: var(--glow-gold)
}

.plan--featured:is([data-px-pricing], .px-pricing, .px-pricing *):hover {
  border-color: var(--gold)
}

.plan:is([data-px-pricing], .px-pricing, .px-pricing *) .badge:is([data-px-pricing], .px-pricing, .px-pricing *) {
  align-self: flex-start
}

.plan__name:is([data-px-pricing], .px-pricing, .px-pricing *) {
  margin: 16px 0 8px;
  font-size: 1.2rem
}

.plan__price:is([data-px-pricing], .px-pricing, .px-pricing *) {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin: 0
}

.plan__amount:is([data-px-pricing], .px-pricing, .px-pricing *) {
  font-family: var(--font-head);
  font-size: 2.4rem;
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.1
}

.plan__term:is([data-px-pricing], .px-pricing, .px-pricing *) {
  color: var(--muted);
  font-size: var(--fs-sm)
}

.plan__monthly:is([data-px-pricing], .px-pricing, .px-pricing *) {
  margin: 4px 0 20px;
  color: var(--muted);
  font-size: var(--fs-sm)
}

.plan__monthly:is([data-px-pricing], .px-pricing, .px-pricing *) strong:is([data-px-pricing], .px-pricing, .px-pricing *) {
  color: var(--cyan);
  font-weight: 600
}

.plan--featured:is([data-px-pricing], .px-pricing, .px-pricing *) .plan__monthly:is([data-px-pricing], .px-pricing, .px-pricing *) strong:is([data-px-pricing], .px-pricing, .px-pricing *) {
  color: var(--gold)
}

.plan__features:is([data-px-pricing], .px-pricing, .px-pricing *) {
  list-style: none;
  margin: 0 0 24px;
  padding: 20px 0 0;
  border-top: 1px solid var(--border);
  flex: 1
}

.plan__features:is([data-px-pricing], .px-pricing, .px-pricing *) li:is([data-px-pricing], .px-pricing, .px-pricing *) {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: var(--fs-sm)
}

.plan__features:is([data-px-pricing], .px-pricing, .px-pricing *) li:is([data-px-pricing], .px-pricing, .px-pricing *)+li:is([data-px-pricing], .px-pricing, .px-pricing *) {
  margin-top: 10px
}

.plan__features:is([data-px-pricing], .px-pricing, .px-pricing *) svg:is([data-px-pricing], .px-pricing, .px-pricing *) {
  flex-shrink: 0;
  margin-top: 3px;
  color: var(--cyan)
}

.plan__actions:is([data-px-pricing], .px-pricing, .px-pricing *) {
  text-align: center
}

.plan__email:is([data-px-pricing], .px-pricing, .px-pricing *) {
  display: inline-block;
  margin-top: 10px;
  padding: 4px;
  font-size: var(--fs-sm);
  color: var(--muted)
}

.plan__email:is([data-px-pricing], .px-pricing, .px-pricing *):hover {
  color: var(--text)
}

.multi:is([data-px-pricing], .px-pricing, .px-pricing *) {
  display: grid;
  gap: 4px 20px;
  margin-top: 24px;
  align-items: center
}

.multi__icon:is([data-px-pricing], .px-pricing, .px-pricing *) {
  margin-bottom: 8px
}

.multi__title:is([data-px-pricing], .px-pricing, .px-pricing *) {
  margin-bottom: 6px
}

.multi__text:is([data-px-pricing], .px-pricing, .px-pricing *) p:is([data-px-pricing], .px-pricing, .px-pricing *) {
  margin: 0
}

.multi__btn:is([data-px-pricing], .px-pricing, .px-pricing *) {
  margin-top: 14px
}

@media(min-width:768px) {
  .multi:is([data-px-pricing], .px-pricing, .px-pricing *) {
    grid-template-columns: auto 1fr auto
  }

  .multi__icon:is([data-px-pricing], .px-pricing, .px-pricing *),
  .multi__btn:is([data-px-pricing], .px-pricing, .px-pricing *) {
    margin: 0
  }
}

.pricing__test:is([data-px-pricing], .px-pricing, .px-pricing *) {
  margin: 18px 0 0;
  text-align: center;
  font-size: var(--fs-sm)
}

.pricing__test:is([data-px-pricing], .px-pricing, .px-pricing *) a:is([data-px-pricing], .px-pricing, .px-pricing *) {
  color: var(--muted)
}

.pricing__test:is([data-px-pricing], .px-pricing, .px-pricing *) a:is([data-px-pricing], .px-pricing, .px-pricing *):hover {
  color: var(--text)
}

.pricing__guarantee:is([data-px-pricing], .px-pricing, .px-pricing *) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 20px 0 0;
  color: var(--text);
  font-weight: 500;
  text-align: center
}

.pricing__guarantee:is([data-px-pricing], .px-pricing, .px-pricing *) svg:is([data-px-pricing], .px-pricing, .px-pricing *) {
  flex-shrink: 0;
  color: var(--wa)
}

@media(prefers-reduced-motion:reduce) {
  .plan:is([data-px-pricing], .px-pricing, .px-pricing *) {
    transition: none
  }

  .plan:is([data-px-pricing], .px-pricing, .px-pricing *):hover {
    transform: none
  }
}

.hero:is([data-px-home], .px-home, .px-home *) {
  position: relative;
  padding: clamp(2.5rem, 1.5rem + 4vw, 5.5rem) 0 clamp(3rem, 2rem + 4vw, 5rem);
  overflow: hidden;
  isolation: isolate
}

.hero:is([data-px-home], .px-home, .px-home *):before {
  content: "";
  position: absolute;
  inset: -30% -10% auto;
  height: 120%;
  z-index: -1;
  background: radial-gradient(45% 50% at 25% 30%, rgba(124, 92, 255, .28), transparent 70%), radial-gradient(40% 45% at 80% 40%, rgba(34, 211, 238, .16), transparent 70%);
  pointer-events: none
}

.hero__inner:is([data-px-home], .px-home, .px-home *) {
  display: grid;
  gap: 40px;
  align-items: center
}

.hero__text:is([data-px-home], .px-home, .px-home *) {
  text-align: center
}

.hero__sub:is([data-px-home], .px-home, .px-home *) {
  max-width: 620px;
  margin: 0 auto 2rem;
  color: var(--muted);
  font-size: var(--fs-lg)
}

.hero__ctas:is([data-px-home], .px-home, .px-home *) {
  justify-content: center
}

.hero__chips:is([data-px-home], .px-home, .px-home *) {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  list-style: none;
  margin: 1.75rem 0 0;
  padding: 0
}

.hero__media:is([data-px-home], .px-home, .px-home *) img {
  box-shadow: 0 30px 80px -30px #7c5cff80
}

@media(min-width:1024px) {
  .hero__inner:is([data-px-home], .px-home, .px-home *) {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 56px
  }

  .hero__text:is([data-px-home], .px-home, .px-home *) {
    text-align: left
  }

  .hero__sub:is([data-px-home], .px-home, .px-home *) {
    margin-left: 0
  }

  .hero__ctas:is([data-px-home], .px-home, .px-home *),
  .hero__chips:is([data-px-home], .px-home, .px-home *) {
    justify-content: flex-start
  }
}

.how__foot:is([data-px-home], .px-home, .px-home *) {
  justify-content: center;
  align-items: center;
  gap: 20px
}

.devices-strip:is([data-px-home], .px-home, .px-home *) {
  list-style: none;
  padding: 0;
  margin: 0
}

.compare:is([data-px-home], .px-home, .px-home *) {
  max-width: 960px
}

.page-header:is([data-px-page-header], .px-page-header, .px-page-header *) {
  position: relative;
  padding: clamp(1.75rem, 1rem + 3vw, 3.5rem) 0 clamp(2.5rem, 2rem + 2vw, 3.5rem);
  isolation: isolate;
  overflow: hidden
}

.page-header:is([data-px-page-header], .px-page-header, .px-page-header *):before {
  content: "";
  position: absolute;
  inset: -40% -20% auto auto;
  width: 70%;
  height: 140%;
  z-index: -1;
  background: radial-gradient(45% 45% at 60% 40%, rgba(124, 92, 255, .2), transparent 70%);
  pointer-events: none
}

.page-header__inner:is([data-px-page-header], .px-page-header, .px-page-header *) {
  display: grid;
  gap: 32px;
  align-items: center
}

.page-header__text:is([data-px-page-header], .px-page-header, .px-page-header *) {
  max-width: 760px
}

.page-header__intro:is([data-px-page-header], .px-page-header, .px-page-header *) p {
  color: var(--muted);
  font-size: var(--fs-lg)
}

.page-header__intro:is([data-px-page-header], .px-page-header, .px-page-header *) p:last-child {
  margin-bottom: 0
}

.page-header__actions:is([data-px-page-header], .px-page-header, .px-page-header *) {
  margin-top: 1.75rem
}

@media(min-width:1024px) {
  .page-header--split:is([data-px-page-header], .px-page-header, .px-page-header *) .page-header__inner:is([data-px-page-header], .px-page-header, .px-page-header *) {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 56px
  }
}

.narrow:is([data-px-plans], .px-plans, .px-plans *) {
  max-width: 960px
}

.which:is([data-px-plans], .px-plans, .px-plans *) {
  margin: 1.5rem 0
}

.which__pick:is([data-px-plans], .px-plans, .px-plans *) {
  border-color: #ffb0208c
}

.pay-steps:is([data-px-plans], .px-plans, .px-plans *) {
  display: grid;
  gap: 12px;
  padding-left: 1.4em
}

.pay-steps:is([data-px-plans], .px-plans, .px-plans *) li:is([data-px-plans], .px-plans, .px-plans *)::marker {
  color: var(--accent-text);
  font-weight: 700
}

.inline-icon {
  display: inline-block;
  vertical-align: -2px;
  margin-right: 4px;
  color: var(--cyan)
}

.narrow:is([data-px-how-it-works], .px-how-it-works, .px-how-it-works *) {
  max-width: 960px
}

.detail-steps:is([data-px-how-it-works], .px-how-it-works, .px-how-it-works *) {
  display: grid;
  gap: 18px;
  list-style: none;
  padding: 0;
  margin: 1.5rem 0 0
}

.detail-steps:is([data-px-how-it-works], .px-how-it-works, .px-how-it-works *) li:is([data-px-how-it-works], .px-how-it-works, .px-how-it-works *) {
  display: grid;
  gap: 4px 20px
}

.detail-steps:is([data-px-how-it-works], .px-how-it-works, .px-how-it-works *) p:is([data-px-how-it-works], .px-how-it-works, .px-how-it-works *) {
  color: var(--muted)
}

.detail-steps:is([data-px-how-it-works], .px-how-it-works, .px-how-it-works *) p:is([data-px-how-it-works], .px-how-it-works, .px-how-it-works *):last-child {
  margin-bottom: 0
}

@media(min-width:640px) {
  .detail-steps:is([data-px-how-it-works], .px-how-it-works, .px-how-it-works *) li:is([data-px-how-it-works], .px-how-it-works, .px-how-it-works *) {
    grid-template-columns: auto 1fr
  }
}

.needs:is([data-px-how-it-works], .px-how-it-works, .px-how-it-works *) {
  margin-top: 1.5rem
}

.after:is([data-px-how-it-works], .px-how-it-works, .px-how-it-works *) {
  display: grid;
  gap: 8px 32px;
  margin: 1.25rem 0
}

.after:is([data-px-how-it-works], .px-how-it-works, .px-how-it-works *) p:is([data-px-how-it-works], .px-how-it-works, .px-how-it-works *) {
  color: var(--muted)
}

@media(min-width:900px) {
  .after:is([data-px-how-it-works], .px-how-it-works, .px-how-it-works *) {
    grid-template-columns: repeat(3, minmax(0, 1fr))
  }
}

.narrow:is([data-px-devices], .px-devices, .px-devices *) {
  max-width: 900px
}

.jump:is([data-px-devices], .px-devices, .px-devices *) ul:is([data-px-devices], .px-devices, .px-devices *) {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0 0 1rem
}

.jump:is([data-px-devices], .px-devices, .px-devices *) a:is([data-px-devices], .px-devices, .px-devices *) {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-pill);
  color: var(--text);
  font-size: var(--fs-sm);
  text-decoration: none
}

.jump:is([data-px-devices], .px-devices, .px-devices *) a:is([data-px-devices], .px-devices, .px-devices *):hover {
  border-color: var(--accent);
  background: var(--accent-soft)
}

.device-section:is([data-px-devices], .px-devices, .px-devices *) {
  padding: clamp(2rem, 1.5rem + 2vw, 3rem) 0;
  border-bottom: 1px solid var(--border)
}

.device-section:is([data-px-devices], .px-devices, .px-devices *):last-child {
  border-bottom: 0
}

.device-section__head:is([data-px-devices], .px-devices, .px-devices *) {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px
}

.device-section__head:is([data-px-devices], .px-devices, .px-devices *) .icon-tile:is([data-px-devices], .px-devices, .px-devices *) {
  margin: 0
}

.device-section__head:is([data-px-devices], .px-devices, .px-devices *) h2:is([data-px-devices], .px-devices, .px-devices *) {
  margin: 0;
  font-size: clamp(1.35rem, 1.2rem + .8vw, 1.75rem)
}

.device-section:is([data-px-devices], .px-devices, .px-devices *) p:is([data-px-devices], .px-devices, .px-devices *) {
  color: var(--muted)
}

.device-facts:is([data-px-devices], .px-devices, .px-devices *) {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  font-size: var(--fs-sm)
}

.narrow:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  max-width: 900px
}

.intro-box:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) h2:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  font-size: 1.3rem
}

.jump:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  margin: 2rem 0 .5rem
}

.jump__label:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  font-weight: 600;
  margin-bottom: 10px
}

.jump:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) ul:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0
}

.jump:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) a:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-pill);
  color: var(--text);
  font-size: var(--fs-sm);
  text-decoration: none
}

.jump:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) a:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *):hover {
  border-color: var(--accent);
  background: var(--accent-soft)
}

.guide:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  padding: clamp(2rem, 1.5rem + 2vw, 3rem) 0;
  border-bottom: 1px solid var(--border)
}

.guide:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) h2:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  font-size: clamp(1.35rem, 1.2rem + .8vw, 1.75rem)
}

.guide__steps:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  counter-reset: g;
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px
}

.guide__steps:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) li:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  counter-increment: g;
  position: relative;
  padding: 14px 16px 14px 58px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px
}

.guide__steps:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) li:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *):before {
  content: counter(g);
  position: absolute;
  left: 14px;
  top: 12px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: var(--accent-soft);
  color: var(--accent-text);
  font-weight: 700;
  font-size: var(--fs-sm)
}

.tips:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  margin: 1.25rem 0
}

.tip:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) h3:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  font-size: 1.05rem
}

.tip__n:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  color: var(--cyan)
}

.tip:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) p:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  color: var(--muted);
  font-size: var(--fs-sm)
}

.stuck:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  margin-top: 2.5rem;
  text-align: center;
  border-color: #25d36666
}

.stuck:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) p:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  color: var(--muted)
}

.narrow:is([data-px-faq-page], .px-faq-page, .px-faq-page *) {
  max-width: 860px
}

.jump:is([data-px-faq-page], .px-faq-page, .px-faq-page *) ul:is([data-px-faq-page], .px-faq-page, .px-faq-page *) {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0
}

.jump:is([data-px-faq-page], .px-faq-page, .px-faq-page *) a:is([data-px-faq-page], .px-faq-page, .px-faq-page *) {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-pill);
  color: var(--text);
  font-size: var(--fs-sm);
  text-decoration: none
}

.jump:is([data-px-faq-page], .px-faq-page, .px-faq-page *) a:is([data-px-faq-page], .px-faq-page, .px-faq-page *):hover {
  border-color: var(--accent);
  background: var(--accent-soft)
}

.faq-group:is([data-px-faq-page], .px-faq-page, .px-faq-page *) {
  padding-block: clamp(2.5rem, 2rem + 2vw, 3.5rem)
}

.faq-group__title:is([data-px-faq-page], .px-faq-page, .px-faq-page *),
.faq-group__title:is([data-px-faq-page], .px-faq-page, .px-faq-page *)>.elementor-heading-title {
  max-width: 860px;
  margin-inline: auto;
  font-size: clamp(1.35rem, 1.2rem + .8vw, 1.75rem)
}

.more:is([data-px-faq-page], .px-faq-page, .px-faq-page *) {
  text-align: center
}

.narrow:is([data-px-about], .px-about, .px-about *) {
  max-width: 820px;
  margin-inline: auto
}

.prose-block:is([data-px-about], .px-about, .px-about *) h2:is([data-px-about], .px-about, .px-about *)+p:is([data-px-about], .px-about, .px-about *) {
  margin-top: 0
}

.prose-block:is([data-px-about], .px-about, .px-about *) h2:is([data-px-about], .px-about, .px-about *):not(:first-child) {
  margin-top: 2.25rem
}

.prose-block:is([data-px-about], .px-about, .px-about *) p:is([data-px-about], .px-about, .px-about *) {
  color: var(--muted)
}

.about-links:is([data-px-about], .px-about, .px-about *) {
  margin-top: 2.5rem;
  text-align: center
}

.about-links:is([data-px-about], .px-about, .px-about *) p:is([data-px-about], .px-about, .px-about *) {
  color: var(--muted)
}

.about-links:is([data-px-about], .px-about, .px-about *) .btn-row:is([data-px-about], .px-about, .px-about *) {
  justify-content: center;
  margin-top: 1.5rem
}

.narrow:is([data-px-contact], .px-contact, .px-contact *) {
  max-width: 960px
}

.contact-card:is([data-px-contact], .px-contact, .px-contact *) {
  display: flex;
  flex-direction: column;
  align-items: flex-start
}

.contact-card:is([data-px-contact], .px-contact, .px-contact *) h3:is([data-px-contact], .px-contact, .px-contact *) {
  font-size: 1.4rem;
  margin-bottom: 8px
}

.contact-card:is([data-px-contact], .px-contact, .px-contact *) .badge:is([data-px-contact], .px-contact, .px-contact *) {
  margin: 0 0 12px
}

.contact-card--wa:is([data-px-contact], .px-contact, .px-contact *) {
  border-color: #25d36666
}

.icon-tile--wa:is([data-px-contact], .px-contact, .px-contact *) {
  background: #25d36624;
  color: var(--wa)
}

.contact-card__value:is([data-px-contact], .px-contact, .px-contact *) {
  font-weight: 600;
  font-size: var(--fs-lg);
  margin-top: auto;
  word-break: break-word
}

.hours:is([data-px-contact], .px-contact, .px-contact *) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 24px 0 0;
  color: var(--muted)
}

.hours:is([data-px-contact], .px-contact, .px-contact *) svg {
  color: var(--cyan);
  flex-shrink: 0
}

.form-wrap:is([data-px-contact], .px-contact, .px-contact *) {
  display: grid;
  gap: 28px
}

@media(min-width:900px) {
  .form-wrap:is([data-px-contact], .px-contact, .px-contact *) {
    grid-template-columns: .9fr 1.1fr;
    align-items: start;
    gap: 48px
  }
}

.tips-title:is([data-px-contact], .px-contact, .px-contact *),
.tips-title:is([data-px-contact], .px-contact, .px-contact *)>.elementor-heading-title {
  font-size: 1.05rem;
  margin-top: 1.5rem
}

.form-error:is([data-px-contact], .px-contact, .px-contact *) {
  color: #ff8a8a;
  font-size: var(--fs-sm)
}

.contact-form:is([data-px-contact], .px-contact, .px-contact *) .field-hint:is([data-px-contact], .px-contact, .px-contact *) {
  margin: 12px 0 0;
  text-align: center
}

.cta-box:is([data-px-cta-box], .px-cta-box, .px-cta-box *) {
  display: grid;
  gap: 18px;
  margin: 2.25rem 0;
  padding: 24px;
  border-radius: var(--radius-card);
  border: 1px solid rgba(37, 211, 102, .35);
  background: radial-gradient(80% 120% at 0% 0%, rgba(37, 211, 102, .1), transparent 60%), var(--card)
}

.cta-box__title:is([data-px-cta-box], .px-cta-box, .px-cta-box *) {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 1.2rem;
  margin: 0 0 6px
}

.cta-box__text:is([data-px-cta-box], .px-cta-box, .px-cta-box *) {
  color: var(--muted);
  margin: 0
}

@media(min-width:900px) {
  .cta-box:is([data-px-cta-box], .px-cta-box, .px-cta-box *) {
    grid-template-columns: 1fr auto;
    align-items: center
  }
}

.narrow:is([data-px-blog-index], .px-blog-index, .px-blog-index *) {
  max-width: 900px;
  margin: 2.5rem auto 0
}

.center:is([data-px-blog-index], .px-blog-index, .px-blog-index *) {
  text-align: center
}

.related:is([data-px-related], .px-related, .px-related *) {
  padding-bottom: 0
}

.related__title:is([data-px-related], .px-related, .px-related *),
.related__title:is([data-px-related], .px-related, .px-related *)>.elementor-heading-title {
  font-size: clamp(1.4rem, 1.2rem + 1vw, 1.9rem)
}

.related__card:is([data-px-related], .px-related, .px-related *) {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: var(--text);
  text-decoration: none
}

.related__label:is([data-px-related], .px-related, .px-related *) {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 1.1rem
}

.related__text:is([data-px-related], .px-related, .px-related *) {
  color: var(--muted);
  font-size: var(--fs-sm);
  flex: 1
}

.related__more:is([data-px-related], .px-related, .px-related *) {
  color: var(--cyan);
  font-size: var(--fs-sm)
}

.post__head:is([data-px-post], .px-post, .px-post *),
.post__body:is([data-px-post], .px-post, .px-post *) {
  max-width: calc(820px + var(--gutter) * 2)
}

.post__head:is([data-px-post], .px-post, .px-post *) {
  padding-top: clamp(1.5rem, 1rem + 2vw, 2.5rem)
}

.post__head:is([data-px-post], .px-post, .px-post *) h1:is([data-px-post], .px-post, .px-post *) {
  font-size: clamp(1.9rem, 1.5rem + 2vw, 2.8rem)
}

.post__meta:is([data-px-post], .px-post, .px-post *) {
  color: var(--muted);
  font-size: var(--fs-sm)
}

.post__meta:is([data-px-post], .px-post, .px-post *) span:is([data-px-post], .px-post, .px-post *) {
  margin: 0 4px
}

.post__head:is([data-px-post], .px-post, .px-post *) .post__img {
  margin-top: 1.5rem
}

.post__body:is([data-px-post], .px-post, .px-post *) {
  padding-top: 2rem;
  font-size: 1.0625rem
}

.post__intro:is([data-px-post], .px-post, .px-post *) p {
  font-size: var(--fs-lg)
}

.toc:is([data-px-post], .px-post, .px-post *) {
  padding: 20px 24px;
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  background: var(--card)
}

.toc__title:is([data-px-post], .px-post, .px-post *) {
  font-family: var(--font-head);
  font-weight: 800;
  margin: 0 0 10px
}

.toc:is([data-px-post], .px-post, .px-post *) ol:is([data-px-post], .px-post, .px-post *) {
  margin: 0;
  padding-left: 1.3em;
  display: grid;
  gap: 6px
}

.toc:is([data-px-post], .px-post, .px-post *) a:is([data-px-post], .px-post, .px-post *) {
  color: var(--text);
  text-decoration: none
}

.toc:is([data-px-post], .px-post, .px-post *) a:is([data-px-post], .px-post, .px-post *):hover {
  color: var(--cyan);
  text-decoration: underline
}

.post__content:is([data-px-post], .px-post, .px-post *) h2 {
  margin-top: 2.5rem;
  scroll-margin-top: calc(var(--header-h) + 16px)
}

.post__content:is([data-px-post], .px-post, .px-post *) h3 {
  margin-top: 1.75rem
}

.post__content:is([data-px-post], .px-post, .px-post *) p,
.post__content:is([data-px-post], .px-post, .px-post *) li {
  color: #d5dbee
}

.post__content:is([data-px-post], .px-post, .px-post *) ul,
.post__content:is([data-px-post], .px-post, .px-post *) ol {
  margin-bottom: 1.25em
}

.post__content:is([data-px-post], .px-post, .px-post *) li+li {
  margin-top: .4em
}

.post__content:is([data-px-post], .px-post, .px-post *) .table-wrap {
  margin: 1.5rem 0
}

.post__faq:is([data-px-post], .px-post, .px-post *) {
  margin-top: 3rem
}

.post__faq:is([data-px-post], .px-post, .px-post *) .faq {
  margin-inline: 0
}

.narrow:is([data-px-tools-hub], .px-tools-hub, .px-tools-hub *) {
  max-width: 820px
}

.tool-narrow:is([data-px-tool], .px-tool, .px-tool *) {
  max-width: 960px;
  margin-inline: auto
}

.tool-section:is([data-px-tool], .px-tool, .px-tool *) {
  padding-bottom: clamp(1rem, .5rem + 2vw, 2rem)
}

.howto:is([data-px-tool], .px-tool, .px-tool *) {
  margin-top: 1.25rem
}

.howto:is([data-px-tool], .px-tool, .px-tool *) p:is([data-px-tool], .px-tool, .px-tool *) {
  margin: 0;
  color: var(--text);
  font-size: var(--fs-sm)
}

.tool-content:is([data-px-tool], .px-tool, .px-tool *) .prose:is([data-px-tool], .px-tool, .px-tool *) {
  color: var(--muted)
}

.tool-content:is([data-px-tool], .px-tool, .px-tool *) .prose:is([data-px-tool], .px-tool, .px-tool *) h2 {
  color: var(--text);
  margin-top: 0
}

.tool-content:is([data-px-tool], .px-tool, .px-tool *) .prose:is([data-px-tool], .px-tool, .px-tool *) h3 {
  color: var(--text)
}

.tool-content__grid:is([data-px-tool], .px-tool, .px-tool *) {
  display: grid;
  gap: 32px
}

.tool-content__img:is([data-px-tool], .px-tool, .px-tool *) img:is([data-px-tool], .px-tool, .px-tool *) {
  width: 100%;
  height: auto;
  border-radius: var(--radius-card);
  border: 1px solid var(--border)
}

@media(min-width:1024px) {
  .tool-content__grid:is([data-px-tool], .px-tool, .px-tool *) {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr);
    align-items: start
  }

  .tool-content__img:is([data-px-tool], .px-tool, .px-tool *) {
    position: sticky;
    top: calc(var(--header-h) + 24px)
  }
}

.tool {
  padding: clamp(1.25rem, 1rem + 1.5vw, 2rem);
  border-radius: 24px;
  border: 1px solid rgba(124, 92, 255, .45);
  background: radial-gradient(70% 90% at 0% 0%, rgba(124, 92, 255, .16), transparent 70%), var(--card);
  box-shadow: var(--glow-accent)
}

.tool__grid {
  display: grid;
  gap: 24px
}

@media(min-width:860px) {
  .tool__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start
  }
}

.tool__title {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 1.2rem;
  margin: 0 0 16px
}

.tool__result {
  padding: 22px;
  border-radius: 18px;
  background: var(--bg);
  border: 1px solid var(--border-strong)
}

.tool__result[data-state=empty] .tool__out {
  display: none
}

.tool__result:not([data-state=empty]) .tool__placeholder {
  display: none
}

.tool__placeholder {
  color: var(--muted);
  margin: 0
}

.tool__big {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: clamp(2.2rem, 1.8rem + 2vw, 3rem);
  line-height: 1.05;
  letter-spacing: -.03em;
  margin: 4px 0 6px
}

.tool__label {
  color: var(--muted);
  font-size: var(--fs-sm);
  margin: 0
}

.tool__rows {
  list-style: none;
  padding: 0;
  margin: 16px 0;
  border-top: 1px solid var(--border)
}

.tool__rows li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border);
  font-size: var(--fs-sm)
}

.tool__rows li span:first-child {
  color: var(--muted)
}

.tool__rows li strong {
  text-align: right
}

.tool__verdict {
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--cyan-soft);
  color: var(--text);
  font-size: var(--fs-sm)
}

.tool__private {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: var(--fs-xs)
}

.bw-screens:is([data-px-bandwidth], .px-bandwidth, .px-bandwidth *) {
  border: 0;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0 16px
}

@media(min-width:480px) {
  .bw-screens:is([data-px-bandwidth], .px-bandwidth, .px-bandwidth *) {
    grid-template-columns: 1fr 1fr
  }
}

.bw-row:is([data-px-bandwidth], .px-bandwidth, .px-bandwidth *)[hidden] {
  display: none
}

.dc-compat:is([data-px-device-checker], .px-device-checker, .px-device-checker *)[data-level=Excellent] {
  color: #5fe398
}

.dc-compat:is([data-px-device-checker], .px-device-checker, .px-device-checker *)[data-level=Good] {
  color: var(--cyan)
}

.dc-compat:is([data-px-device-checker], .px-device-checker, .px-device-checker *)[data-level=Limited] {
  color: var(--gold)
}

.legal:is([data-px-legal], .px-legal, .px-legal *) {
  max-width: calc(780px + var(--gutter) * 2);
  padding-top: clamp(1.5rem, 1rem + 2vw, 2.5rem)
}

.legal:is([data-px-legal], .px-legal, .px-legal *) h1:is([data-px-legal], .px-legal, .px-legal *) {
  font-size: clamp(1.9rem, 1.6rem + 1.5vw, 2.6rem)
}

.legal__updated:is([data-px-legal], .px-legal, .px-legal *) {
  color: var(--muted);
  font-size: var(--fs-sm)
}

.legal__body:is([data-px-legal], .px-legal, .px-legal *) h2 {
  font-size: 1.35rem;
  margin-top: 2.25rem
}

.legal__body:is([data-px-legal], .px-legal, .px-legal *) p,
.legal__body:is([data-px-legal], .px-legal, .px-legal *) li {
  color: #d5dbee
}

.legal__body:is([data-px-legal], .px-legal, .px-legal *) li+li {
  margin-top: .4em
}

.sitemap:is([data-px-sitemap], .px-sitemap, .px-sitemap *) {
  max-width: 960px;
  padding-top: clamp(1.5rem, 1rem + 2vw, 2.5rem)
}

h2:is([data-px-sitemap], .px-sitemap, .px-sitemap *) {
  font-size: 1.2rem
}

ul:is([data-px-sitemap], .px-sitemap, .px-sitemap *) {
  margin: 0;
  padding-left: 1.1em
}

li:is([data-px-sitemap], .px-sitemap, .px-sitemap *)+li:is([data-px-sitemap], .px-sitemap, .px-sitemap *) {
  margin-top: 6px
}

.nf:is([data-px-not-found], .px-not-found, .px-not-found *) {
  max-width: 720px;
  padding-block: clamp(3rem, 2rem + 5vw, 6rem) 0;
  text-align: center
}

.nf__code:is([data-px-not-found], .px-not-found, .px-not-found *) {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: clamp(4rem, 3rem + 6vw, 7rem);
  line-height: 1;
  margin: 0 0 12px;
  background: linear-gradient(135deg, var(--accent), var(--cyan));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}

.nf__btns:is([data-px-not-found], .px-not-found, .px-not-found *) {
  justify-content: center;
  margin-top: 1.75rem
}

/* Added from the Astro build (new pages and components) */
.site-nav__item--sub:is([data-px-header], .px-header, .px-header *) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border-bottom: 1px solid var(--border)
}

.site-nav__item--sub:is([data-px-header], .px-header, .px-header *)>.site-nav__link:is([data-px-header], .px-header, .px-header *) {
  flex: 1;
  border-bottom: 0
}

.site-nav__subtoggle:is([data-px-header], .px-header, .px-header *) {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  cursor: pointer
}

.site-nav__subtoggle:is([data-px-header], .px-header, .px-header *) svg {
  transition: transform .2s
}

.site-nav__subtoggle:is([data-px-header], .px-header, .px-header *)[aria-expanded=true] svg {
  transform: rotate(180deg)
}

.site-nav__panel:is([data-px-header], .px-header, .px-header *) {
  display: none;
  flex-basis: 100%
}

.site-nav__item--sub:is([data-px-header], .px-header, .px-header *).is-open>.site-nav__panel:is([data-px-header], .px-header, .px-header *) {
  display: block
}

.site-nav__panel-inner:is([data-px-header], .px-header, .px-header *) {
  padding: 4px 4px 16px
}

.site-nav__group:is([data-px-header], .px-header, .px-header *)+.site-nav__group:is([data-px-header], .px-header, .px-header *) {
  margin-top: 14px
}

.site-nav__group-title:is([data-px-header], .px-header, .px-header *) {
  margin: 0 0 6px;
  color: var(--muted);
  font-size: var(--fs-xs);
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase
}

.site-nav__sublist:is([data-px-header], .px-header, .px-header *) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px 12px;
  list-style: none;
  margin: 0;
  padding: 0
}

.site-nav__sublink:is([data-px-header], .px-header, .px-header *) {
  display: block;
  padding: 8px 0;
  color: var(--text);
  font-size: var(--fs-sm);
  text-decoration: none
}

.site-nav__sublink:is([data-px-header], .px-header, .px-header *):hover {
  color: var(--cyan)
}

.site-nav__panel-foot:is([data-px-header], .px-header, .px-header *) {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
  margin: 14px 0 0;
  padding-top: 10px;
  border-top: 1px solid var(--border)
}

.site-nav__sublink--all:is([data-px-header], .px-header, .px-header *) {
  color: var(--cyan);
  font-weight: 600
}

@media(min-width:1080px) {
  .site-nav__item--sub:is([data-px-header], .px-header, .px-header *) {
    position: relative;
    flex-wrap: nowrap;
    border: 0
  }
}

@media(min-width:1080px) {
  .site-nav__item--sub:is([data-px-header], .px-header, .px-header *)>.site-nav__link:is([data-px-header], .px-header, .px-header *) {
    padding-right: 4px
  }
}

@media(min-width:1080px) {
  .site-nav__subtoggle:is([data-px-header], .px-header, .px-header *) {
    width: 22px;
    height: 32px;
    margin-left: -2px
  }
}

@media(min-width:1080px) {
  .site-nav__panel:is([data-px-header], .px-header, .px-header *) {
    position: absolute;
    top: 100%;
    left: 50%;
    width: min(760px, 92vw);
    padding-top: 12px;
    transform: translate(-50%)
  }
}

@media(min-width:1080px) {

  .site-nav__item--sub:is([data-px-header], .px-header, .px-header *):hover>.site-nav__panel:is([data-px-header], .px-header, .px-header *),
  .site-nav__item--sub:is([data-px-header], .px-header, .px-header *):focus-within>.site-nav__panel:is([data-px-header], .px-header, .px-header *) {
    display: block
  }
}

@media(min-width:1080px) {
  .site-nav__item--sub:is([data-px-header], .px-header, .px-header *):hover .site-nav__subtoggle:is([data-px-header], .px-header, .px-header *) svg {
    transform: rotate(180deg)
  }
}

@media(min-width:1080px) {
  .site-nav__panel-inner:is([data-px-header], .px-header, .px-header *) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 28px;
    padding: 22px 24px 18px;
    background: var(--bg-elevated);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-card);
    box-shadow: 0 30px 60px -24px #000000d9
  }
}

@media(min-width:1080px) {
  .site-nav__group:is([data-px-header], .px-header, .px-header *)+.site-nav__group:is([data-px-header], .px-header, .px-header *) {
    margin-top: 0
  }
}

@media(min-width:1080px) {
  .site-nav__sublist:is([data-px-header], .px-header, .px-header *) {
    grid-template-columns: 1fr
  }
}

@media(min-width:1080px) {
  .site-nav__sublink:is([data-px-header], .px-header, .px-header *) {
    padding: 6px 0
  }
}

@media(min-width:1080px) {
  .site-nav__panel-foot:is([data-px-header], .px-header, .px-header *) {
    grid-column: 1 / -1;
    margin: 0
  }
}

@media(min-width:640px)and (max-width:1023px) {
  .site-footer__grid--wide:is([data-px-footer], .px-footer, .px-footer *) {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

@media(min-width:1024px) {
  .site-footer__grid--wide:is([data-px-footer], .px-footer, .px-footer *) {
    grid-template-columns: 1.5fr 1fr 1.1fr 1.15fr 1fr;
    gap: 32px
  }
}

.narrow:is([data-px-device-page], .px-device-page, .px-device-page *) {
  max-width: 900px;
  margin-inline: auto
}

.device-facts:is([data-px-device-page], .px-device-page, .px-device-page *) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 20px;
  list-style: none;
  margin: 0 0 1rem;
  padding: 18px 20px;
  font-size: var(--fs-sm)
}

.device-facts:is([data-px-device-page], .px-device-page, .px-device-page *) li:is([data-px-device-page], .px-device-page, .px-device-page *) {
  display: flex;
  flex-direction: column;
  gap: 4px
}

.device-facts__k:is([data-px-device-page], .px-device-page, .px-device-page *) {
  color: var(--muted);
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .06em
}

.device-facts:is([data-px-device-page], .px-device-page, .px-device-page *) .pill-difficulty:is([data-px-device-page], .px-device-page, .px-device-page *) {
  align-self: flex-start
}

.block:is([data-px-device-page], .px-device-page, .px-device-page *) {
  padding: clamp(1.75rem, 1.25rem + 2vw, 2.75rem) 0;
  border-bottom: 1px solid var(--border)
}

.block:is([data-px-device-page], .px-device-page, .px-device-page *):last-child {
  border-bottom: 0
}

.block:is([data-px-device-page], .px-device-page, .px-device-page *) h2:is([data-px-device-page], .px-device-page, .px-device-page *) {
  font-size: clamp(1.35rem, 1.2rem + .8vw, 1.75rem)
}

.block:is([data-px-device-page], .px-device-page, .px-device-page *) p:is([data-px-device-page], .px-device-page, .px-device-page *) {
  color: var(--muted)
}

.device-steps:is([data-px-device-page], .px-device-page, .px-device-page *) {
  counter-reset: g;
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px
}

.device-steps:is([data-px-device-page], .px-device-page, .px-device-page *) li:is([data-px-device-page], .px-device-page, .px-device-page *) {
  counter-increment: g;
  position: relative;
  padding: 14px 16px 14px 58px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 14px
}

.device-steps:is([data-px-device-page], .px-device-page, .px-device-page *) li:is([data-px-device-page], .px-device-page, .px-device-page *):before {
  content: counter(g);
  position: absolute;
  left: 14px;
  top: 12px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: var(--accent-soft);
  color: var(--accent-text);
  font-weight: 700;
  font-size: var(--fs-sm)
}

.fix:is([data-px-device-page], .px-device-page, .px-device-page *) h3:is([data-px-device-page], .px-device-page, .px-device-page *) {
  font-size: 1.05rem;
  margin-bottom: 4px
}

.fix:is([data-px-device-page], .px-device-page, .px-device-page *)+.fix:is([data-px-device-page], .px-device-page, .px-device-page *) {
  margin-top: 1.25rem
}

.back-link:is([data-px-device-page], .px-device-page, .px-device-page *) {
  padding: 1.5rem 0 0
}

@media(min-width:768px) {
  .device-facts:is([data-px-device-page], .px-device-page, .px-device-page *) {
    grid-template-columns: repeat(4, minmax(0, 1fr))
  }
}

.guides:is([data-px-devices], .px-devices, .px-devices *) {
  padding-top: 0
}

.guide-card:is([data-px-devices], .px-devices, .px-devices *) {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--text);
  text-decoration: none
}

.guide-card__name:is([data-px-devices], .px-devices, .px-devices *) {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 1.1rem
}

.guide-card__text:is([data-px-devices], .px-devices, .px-devices *) {
  color: var(--muted);
  font-size: var(--fs-sm);
  flex: 1
}

.guide__more:is([data-px-setup-guide], .px-setup-guide, .px-setup-guide *) {
  margin: 14px 0 0;
  font-size: var(--fs-sm);
  color: var(--muted)
}

/* ==================================================================
   Elementor adjustments
   Makes Elementor's markup look exactly like the original design.
   Only touches containers with the "pxc" class and widgets with
   the px-* classes, so anything you add yourself keeps Elementor's
   normal behavior.
   ================================================================== */

/* Containers created for this site behave like plain blocks: no default
   padding, gaps or flex. Layout comes from the design classes (grid,
   btn-row, split ...) that you see in Advanced > CSS Classes.
   The doubled classes outrank Elementor's per-container CSS variables. */
.e-con.e-con.pxc.pxc {
  --display: block;
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --gap: 0px;
  --row-gap: 0px;
  --column-gap: 0px;
  --min-height: 0;
  --width: auto;
  --flex-direction: row;
  --flex-wrap: nowrap;
  --flex-wrap-mobile: nowrap;
}

.e-con.pxc.contact-card {
  flex-direction: column;
  align-items: flex-start;
}

/* Header: the logo and menu HTML widgets act as if their wrappers were not there,
   so the header lays out exactly like the original flex row. */
.e-con.pxc.site-header__inner>.elementor-widget-html {
  display: contents;
}

.e-con.pxc.site-header__actions>.elementor-widget {
  flex-shrink: 0;
}

.e-con.pxc.site-header__actions>.elementor-widget.site-header__subscribe {
  padding-inline: 0;
}

.e-con.pxc>.elementor-widget {
  width: auto;
}

.e-con.pxc.grid>.elementor-element,
.e-con.pxc.split>.elementor-element {
  width: auto;
  min-width: 0;
}

.px-posts-grid.e-con.pxc {
  display: block;
}

.px-posts-grid .elementor-shortcode>.grid {
  display: grid;
}

.px-schema.e-con.pxc {
  display: none;
}

/* ---------- Links: Elementor removes underlines; plain text links keep them ---------- */
.elementor :is(p, li, td, span) a:where(:not([class])),
.elementor .elementor-tab-content a:where(:not([class])),
.elementor a.text-link,
.elementor a.plan__email,
.elementor .pricing__test a {
  text-decoration: underline;
}


/* ---------- Text links: arrow icon ---------- */
.text-link:not(:has(svg))::after {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform 0.2s var(--ease);
}

.text-link:not(:has(svg)):hover::after {
  transform: translateX(3px);
}

/* ---------- Buttons (Button widget) ---------- */
.px-btn .elementor-button {
  border-radius: var(--radius-btn);
  fill: currentColor;
}

.px-btn .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55em;
  flex-direction: row;
}

.px-btn .elementor-button-icon {
  display: inline-flex;
}

.px-btn .elementor-button-icon svg {
  width: 1.2em;
  height: 1.2em;
  fill: currentColor;
}

.px-btn--arrow .elementor-button-content-wrapper::after {
  content: '';
  width: 1.2em;
  height: 1.2em;
  flex-shrink: 0;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.px-btn--block .elementor-button {
  display: flex;
  width: 100%;
}

@media (max-width: 479px) {
  .btn-row>.px-btn {
    flex: 1 1 100%;
  }

  .btn-row>.px-btn .elementor-button {
    display: flex;
    width: 100%;
  }
}

.site-header__actions .site-header__subscribe .elementor-button {
  white-space: nowrap;
  padding-inline: 0.85rem;
}

@media (max-width: 339px) {
  .site-header__actions .site-header__subscribe {
    display: none;
  }
}

/* ---------- Images (Image widget) ---------- */
.elementor-widget-image.img img,
.elementor .elementor-widget-image.img img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-card);
  border: 1px solid var(--border);
  background: var(--card);
}

.hero__media .elementor-widget-image img {
  box-shadow: 0 30px 80px -30px rgba(124, 92, 255, 0.5);
}

/* ---------- FAQ (Accordion widget) ---------- */
.px-faq .elementor-accordion {
  display: grid;
  gap: 12px;
  max-width: 860px;
  margin-inline: auto;
}

.px-faq .elementor-accordion .elementor-accordion-item {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  transition: border-color 0.2s;
}

.px-faq .elementor-accordion .elementor-accordion-item+.elementor-accordion-item {
  border-top: 1px solid var(--border);
}

.px-faq .elementor-accordion .elementor-accordion-item:has(.elementor-active) {
  border-color: rgba(124, 92, 255, 0.45);
}

.px-faq .elementor-accordion .elementor-tab-title {
  line-height: 1.65;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border: 0;
  font-weight: 600;
  cursor: pointer;
  color: var(--text);
}

.px-faq .elementor-accordion .elementor-tab-title:hover,
.px-faq .elementor-accordion .elementor-tab-title:hover .elementor-accordion-title {
  color: var(--cyan);
}

.px-faq .elementor-accordion .elementor-tab-title .elementor-accordion-title {
  color: inherit;
  font: inherit;
  order: 0;
  text-decoration: none;
}

.px-faq .elementor-accordion .elementor-accordion-icon {
  order: 1;
  flex-shrink: 0;
  width: 20px;
  margin: 0;
  color: var(--muted);
  fill: var(--muted);
  text-align: right;
}

.px-faq .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon {
  color: var(--cyan);
  fill: var(--cyan);
}

.px-faq .elementor-accordion .elementor-accordion-icon svg {
  width: 14px;
  height: 14px;
}

.px-faq .elementor-accordion .elementor-tab-content {
  padding: 0 20px 20px;
  border: 0;
  color: var(--muted);
}

.px-faq .elementor-accordion .elementor-tab-content p {
  margin: 0;
}

/* ---------- FAQ in blog posts (Details blocks) ---------- */
.post__content .wp-block-details {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  margin: 0 0 12px;
}

.post__content .wp-block-details[open] {
  border-color: rgba(124, 92, 255, 0.45);
}

.post__content .wp-block-details summary {
  padding: 18px 20px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: var(--text);
}

.post__content .wp-block-details summary::-webkit-details-marker {
  display: none;
}

.post__content .wp-block-details summary::after {
  content: '';
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  background: var(--muted);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform 0.2s;
}

.post__content .wp-block-details[open] summary::after {
  transform: rotate(180deg);
  background: var(--cyan);
}

.post__content .wp-block-details summary:hover {
  color: var(--cyan);
}

.post__content .wp-block-details>p {
  margin: 0;
  padding: 0 20px 20px;
  color: var(--muted);
}

/* ---------- Blog posts (block editor content) ---------- */
.post__content .post__intro p {
  font-size: var(--fs-lg);
}

.post__content .toc {
  padding: 20px 24px;
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  background: var(--card);
  margin: 0 0 1.5rem;
}

.post__content .toc .toc__title {
  font-family: var(--font-head);
  font-weight: 800;
  margin: 0 0 10px;
  color: var(--text);
}

.post__content .toc ol {
  margin: 0;
  padding-left: 1.3em;
  display: grid;
  gap: 6px;
}

.post__content .toc li+li {
  margin-top: 0;
}

.post__content .toc a {
  color: var(--text);
  text-decoration: none;
}

.post__content .toc a:hover {
  color: var(--cyan);
  text-decoration: underline;
}

.post__content .wp-block-table {
  margin: 1.5rem 0;
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  background: var(--card);
}

.post__content .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--fs-sm);
}

.post__content .wp-block-table th,
.post__content .wp-block-table td {
  padding: 14px 16px;
  text-align: left;
  vertical-align: top;
  border: 0;
  border-bottom: 1px solid var(--border);
}

.post__content .wp-block-table tbody tr:last-child td {
  border-bottom: 0;
}

.post__content .wp-block-table thead th {
  font-family: var(--font-head);
  color: var(--text);
  background: rgba(255, 255, 255, 0.03);
}

.post__content .wp-block-table td {
  color: var(--muted);
}

.post__content .wp-block-table tbody td:first-child {
  color: var(--text);
  font-weight: 600;
}

.post__content .cta-box {
  margin: 2.25rem 0;
}

/* ---------- Header shell (sticky) ---------- */
.px-header-shell {
  position: sticky;
  top: 0;
  z-index: 100;
}

.admin-bar .px-header-shell {
  top: 32px;
}

@media (max-width: 782px) {
  .admin-bar .px-header-shell {
    top: 46px;
  }
}

.px-header-shell .site-header {
  position: relative;
}

/* ---------- Blog cards and pagination from [plex_posts] ---------- */
.px-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 28px;
}

.px-pagination a,
.px-pagination span {
  display: inline-grid;
  place-items: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-btn);
  color: var(--text);
  text-decoration: none;
}

.px-pagination .current {
  background: var(--accent-soft);
  border-color: var(--accent);
}
