/* Final responsive safety pass: preserve the design while preventing small layout failures. */
.home-clean main :is(h1, h2, h3) {
  max-inline-size: 100%;
  overflow: visible;
  text-wrap: balance;
}

.home-clean .feature-section .section-heading h2,
.home-clean .support-card h2 {
  white-space: normal;
}

.home-clean .slide-copy,
.home-clean .slide-copy h1,
.home-clean .slide-copy h1 span,
.home-clean .devices-copy,
.home-clean .devices-copy h2 {
  min-width: 0;
  max-width: 100%;
}

.home-clean .slide-copy h1,
.home-clean .slide-copy h1 span,
.home-clean .devices-copy h2 span,
.home-clean .devices-copy h2 strong {
  overflow-wrap: normal;
  word-break: normal;
}

.home-clean .slide-copy h1 span,
.home-clean .devices-copy h2 span,
.home-clean .devices-copy h2 strong {
  padding-block: .05em .1em;
}

.home-clean .slide-actions :is(.btn, .cta-with-note),
.home-clean :is(.support-card, .reseller-card) .btn {
  max-width: 100%;
  text-align: center;
  white-space: normal;
}

/* Keep the oversized angled rail inside the page's painted area. */
.home-clean .slanted-info-ticker {
  contain: layout paint;
  width: 100%;
  margin: 28px 0 32px;
  overflow: hidden;
  transform: none;
  clip-path: polygon(0 18%, 100% 0, 100% 82%, 0 100%);
}

.home-clean .slanted-ticker-track,
.home-clean .slanted-ticker-set {
  max-width: none;
}

.home-clean .slanted-ticker-track {
  transform: rotate(-2.45deg) translate3d(0, 0, 0);
  transform-origin: center;
  animation-name: tvzz-contained-ticker-run;
}

@keyframes tvzz-contained-ticker-run {
  to { transform: rotate(-2.45deg) translate3d(-50%, 0, 0); }
}

@media (max-width: 820px) {
  .home-clean .carousel-slide {
    width: 100%;
    min-width: 0;
  }

  .home-clean .slide-copy h1 {
    max-width: 13ch;
    font-size: clamp(42px, 8.8vw, 64px);
    line-height: .98;
  }

  .home-clean .slide-copy > p:not(.slide-label):not(.trust-line) {
    max-width: 58ch;
  }

  .home-clean .slanted-info-ticker {
    width: 100%;
    margin-inline: 0;
  }

  .home-clean .devices-copy h2 {
    font-size: clamp(42px, 10vw, 62px);
    line-height: .92;
  }
}

@media (max-width: 560px) {
  .home-clean .hero-carousel {
    padding-inline: 0;
  }

  .home-clean .carousel-slide {
    gap: 20px;
  }

  .home-clean .slide-copy h1 {
    max-width: 11.5ch;
    padding-block: .03em .1em;
    font-size: clamp(38px, 10.8vw, 49px);
    line-height: .98;
    letter-spacing: -.047em;
  }

  .home-clean .slide-copy h1 span {
    margin-top: 7px;
  }

  .home-clean .slide-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  /* Both important actions remain available on phones. */
  .home-clean .slide-actions .btn.secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .home-clean .slide-actions :is(.btn, .cta-with-note) {
    width: 100%;
    min-height: 56px;
  }

  .home-clean .trust-line {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-clean .devices-copy h2 {
    font-size: clamp(38px, 11.5vw, 51px);
    line-height: .94;
    letter-spacing: -.05em;
  }

  .home-clean .slanted-info-ticker {
    width: 100%;
    margin-inline: 0;
  }

  .home-clean :is(.support-card, .reseller-card) .btn {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 380px) {
  .home-clean .slide-copy h1 {
    font-size: 37px;
  }

  .home-clean .trust-line {
    grid-template-columns: 1fr;
  }
}

/* September refresh: content determines height, never an absolute slide track. */
.home-clean .hero-carousel { min-height: 0; padding-block: 36px 24px; }
.home-clean .carousel-slide { align-content: start; }
.home-clean .slide-copy > .slide-label { margin-top: 0; font-size: 11px; width: fit-content; }
.home-clean .refreshed-product::before,.home-clean .refreshed-product::after,.home-clean .refreshed-product .tv-stage::after { display: none; }
.home-clean .conversion-hero { min-height: 0; }
.home-clean .slides { display: grid; min-height: 0; height: auto; }
.home-clean .carousel-slide { position: relative; inset: auto; grid-area: 1 / 1; height: auto; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 36px; align-items: center; padding: 0; }
.home-clean .carousel-controls { position: relative; inset: auto; transform: none; margin-top: 24px; flex-wrap: wrap; }
.home-clean .slide-copy h1 { font-size: clamp(36px, 4.2vw, 64px); line-height: 1.08; max-width: 15ch; }
.home-clean .slide-actions { flex-wrap: wrap; }
.home-clean .slide-actions :is(.btn, .cta-with-note) { min-width: 0; flex: 1 1 180px; }
.home-clean .refreshed-product { display: grid; gap: 16px; min-height: 0; height: auto; padding: 20px; border-radius: 24px; border: 1px solid #9360d8; background: linear-gradient(135deg,#071b2b,#140b24); box-shadow: -10px 0 40px #00d9ff16, 10px 0 40px #ed24c020; }
.home-clean .refreshed-product .tv-stage { position: relative; inset: auto; width: 100%; height: auto; padding: 0; aspect-ratio: 1672 / 941; transform: none; animation: none; border: 0; background: #020610; }
.home-clean .refreshed-product .tv-stage img { display: block; width: 100%; height: auto; aspect-ratio: 1672 / 941; object-fit: contain; }
.release-label { display: grid; gap: 6px; color: #f5f8ff; }
.release-label > span { font-size: 11px; color: #46e6ef; font-weight: 800; letter-spacing: .1em; }
.release-label strong { font-size: clamp(15px, 1.5vw, 20px); }
.release-label small { color: #b4c2d8; }
.product-download { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 12px 18px; border-radius: 12px; color: #051123; background: #ffdf3d; font-weight: 900; text-decoration: none; }
.product-download:hover { box-shadow: 0 0 26px #ffdf3d55; }
.home-clean .brand img { filter: drop-shadow(-3px 0 7px #00d9ff80) drop-shadow(3px 0 7px #ef20c080); }
.home-clean .top-offer-inner { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr) minmax(0,.7fr) minmax(0,.8fr); gap: 18px; align-items: center; padding-block: 20px; }
.home-clean .top-offer-copy { display: flex; flex-wrap: wrap; gap: 0 8px; grid-column: auto; white-space: normal; }
.home-clean .top-offer-copy :is(span,strong) { font-size: clamp(26px,3vw,44px); line-height: 1.1; }
.home-clean .top-offer-copy b { flex: 1 0 100%; margin: 10px 0 0; padding: 0; border: 0; font-size: 10px; white-space: normal; }
.home-clean :is(.top-download,.top-reseller,.top-code) { width: 100%; min-width: 0; grid-column: auto; position: static; }
.home-clean .slanted-info-ticker { contain: none; clip-path: none; transform: rotate(-1.5deg); height: auto; min-height: 76px; margin-block: 40px; border-top: 2px solid #18d5ff; border-bottom: 2px solid #f32ab8; display: flex; align-items: center; }
.home-clean .slanted-info-ticker::before,.home-clean .slanted-info-ticker::after { display: none; }
.home-clean .slanted-ticker-track { transform: none; animation: tvzz-ribbon-scroll 42s linear infinite; }
.home-clean .slanted-ticker-set { align-items: center; }
.home-clean .slanted-ticker-set span { font-size: 14px; line-height: 1.4; }
@keyframes tvzz-ribbon-scroll { to { transform: translateX(-50%); } }
.motion-toggle { min-height: 44px; padding: 8px 14px; border: 1px solid #57647a; border-radius: 8px; background: #0b172b; color: #e9f3ff; cursor: pointer; }
.home-clean :is(a,button):focus-visible { outline: 3px solid #53efff; outline-offset: 4px; }
.home-clean .arrow { min-width: 44px; min-height: 44px; }
.home-clean .progress-tab { min-height: 24px; }
.home-clean .android-tv img { object-fit: contain; }
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation-play-state: paused !important; }
@media(max-width: 1100px) {
  .home-clean .top-offer-inner { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .home-clean .top-offer-copy { grid-column: 1 / -1; justify-content: center; text-align: center; }
  .home-clean .home-nav { flex-wrap: wrap; gap: 12px; padding-block: 12px; }
  .home-clean .home-links { display: flex; order: 3; width: 100%; overflow-x: auto; justify-content: flex-start; gap: 22px; padding: 10px 2px; }
  .home-clean .home-links a { flex: none; min-height: 24px; }
  .home-clean .header-actions { margin-left: auto; }
}
@media(max-width: 820px) {
  .home-clean .carousel-slide { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .home-clean .slide-copy h1 { max-width: 19ch; }
  .home-clean .home-header { position: relative; }
  .home-clean .header-actions .cms-access { display: none; }
}
@media(max-width: 560px) {
  .home-clean .top-offer-inner { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .home-clean .top-download { grid-column: 1 / -1; }
  .home-clean .top-offer-copy :is(span,strong) { font-size: 32px; }
  .home-clean .refreshed-product { padding: 12px; border-radius: 16px; }
  .home-clean .header-chat { display: none; }
  .home-clean .slide-copy h1 { font-size: clamp(34px,9vw,46px); }
  .home-clean .slide-actions { display: flex; }
  .home-clean .slanted-ticker-set span { font-size: 13px; }
}
@media(prefers-reduced-motion: reduce) {
  .home-clean *, .home-clean *::before, .home-clean *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
