:root {
  --vibrance-cyan: #16dfff;
  --vibrance-pink: #ff2ba6;
  --vibrance-green: #58f7ad;
  --vibrance-yellow: #ffe45c;
}

::selection {
  color: #04101d;
  background: var(--vibrance-cyan);
}

/* Sharper, richer product and entertainment imagery across every public page. */
main img:not([src*="tvzz-logo"]),
.app-frame img,
.visual img,
.device-tv img,
.android-tv img,
.tv-stage img {
  filter: saturate(1.2) contrast(1.055);
  transition: filter .35s ease, transform .45s cubic-bezier(.2,.75,.25,1);
}

.app-frame:hover img,
.visual:hover img,
.device-tv:hover img,
.android-tv:hover img,
.tv-stage:hover img {
  filter: saturate(1.38) contrast(1.075) brightness(1.035);
}

/* Give shared navigation and section boundaries a TVZZ-colour charge. */
.home-header,
.site-header,
.topbar {
  border-bottom-color: transparent !important;
  border-image: linear-gradient(90deg, transparent, rgba(22,223,255,.72), rgba(255,43,166,.65), transparent) 1 !important;
  box-shadow: 0 10px 36px rgba(0,0,0,.28), 0 1px 24px rgba(22,223,255,.07);
}

main > section {
  border-bottom: 1px solid rgba(72,188,255,.075);
}

.eyebrow,
.section-kicker,
.shared-label,
.offer-kicker,
[class*="kicker"] {
  text-shadow: 0 0 20px rgba(22,223,255,.34);
}

h1 em,
h2 em,
.gradient-text,
.accent-text {
  filter: saturate(1.24);
  text-shadow: 0 0 28px rgba(255,43,166,.13);
}

/* Brighter glass, clearer colour edges and more dimensional cards. */
.price-card,
.offer-card,
.feature-card,
.region-card,
.reward-grid article,
.feature-grid article,
.support-card,
.reseller-card,
.platform-soon > div,
.living-card,
.content-card,
.step-card,
.territory-card,
.opportunity-pop,
.app-frame {
  box-shadow: 0 24px 62px rgba(0,0,0,.34), 0 0 31px rgba(22,223,255,.075);
  transition: transform .32s cubic-bezier(.2,.75,.25,1), border-color .32s ease, box-shadow .32s ease, filter .32s ease;
}

.price-card:hover,
.offer-card:hover,
.feature-card:hover,
.region-card:hover,
.reward-grid article:hover,
.feature-grid article:hover,
.living-card:hover,
.content-card:hover,
.step-card:hover {
  border-color: rgba(72,222,255,.56) !important;
  box-shadow: 0 31px 78px rgba(0,0,0,.43), 0 0 42px rgba(22,223,255,.18), 0 0 30px rgba(255,43,166,.08);
  filter: saturate(1.12);
  transform: translateY(-6px);
}

/* Stronger action colour without turning every button into a flashing object. */
.btn.primary,
.btn.yellow,
.button.yellow,
.button.cyan,
.cta-primary,
.offer-primary,
.pulse-cta,
[class*="download"][class*="btn"] {
  filter: saturate(1.13);
  box-shadow: 0 15px 40px rgba(255,212,59,.18), 0 0 25px rgba(22,223,255,.1);
}

.btn.primary:hover,
.btn.yellow:hover,
.button.yellow:hover,
.button.cyan:hover,
.cta-primary:hover,
.offer-primary:hover,
.pulse-cta:hover {
  filter: saturate(1.32) brightness(1.045);
  box-shadow: 0 21px 52px rgba(255,43,166,.2), 0 0 34px rgba(22,223,255,.22);
}

a:focus-visible,
button:focus-visible {
  outline-color: var(--vibrance-yellow) !important;
  box-shadow: 0 0 0 5px rgba(255,228,92,.14), 0 0 28px rgba(22,223,255,.2) !important;
}

footer {
  border-top: 1px solid rgba(22,223,255,.18) !important;
  box-shadow: inset 0 18px 52px rgba(22,223,255,.025);
}

@media (prefers-reduced-motion: reduce) {
  main img,
  .price-card,
  .offer-card,
  .feature-card,
  .region-card,
  .reward-grid article,
  .feature-grid article,
  .living-card,
  .content-card,
  .step-card {
    transition: none;
  }
}
