.hero-carousel .hero-slide{opacity:0;transition:opacity 1.3s ease;pointer-events:none}.hero-carousel .hero-slide.is-active{opacity:1}.hero-carousel-controls{position:absolute;right:48px;bottom:105px;display:flex;align-items:center;gap:11px;z-index:2}.hero-carousel-dots{display:flex;align-items:center;gap:0;padding:0 6px;border:1px solid #c7edee55;background:#102e3f66;border-radius:30px;backdrop-filter:blur(12px)}.hero-carousel-dots button{width:44px;height:44px;display:grid;place-items:center;padding:0;border-radius:50%;color:white}.hero-carousel-dots button>span{display:block;width:7px;height:7px;border-radius:50%;background:#ffffff88;transition:background .2s,transform .2s}.hero-carousel-dots button[aria-pressed=true]>span{background:#5ce4dc;transform:scale(1.3);box-shadow:0 0 0 4px #5ce4dc1f}.hero-carousel-toggle{width:46px;height:46px;border:1px solid #c7edee55;border-radius:50%;display:grid;place-items:center;color:#fff;background:#102e3f66;backdrop-filter:blur(12px)}.hero-carousel-toggle:hover,.hero-carousel-dots button:hover{background:#153f51aa}.hero-carousel-toggle svg{width:19px;height:19px}.hero-carousel-toggle .carousel-play-symbol{display:none}.hero-carousel-toggle.is-paused .carousel-play-symbol{display:block}.hero-carousel-toggle.is-paused .carousel-pause-symbol{display:none}.hero-carousel button:focus-visible{outline-color:#a6f9f2}.hero-carousel .hero-slide-downhill{object-position:66% center}.hero-carousel .hero-slide-service{object-position:64% center}.hero-carousel [data-carousel-label]{min-width:100px;text-align:right}
@media(max-width:900px){.hero-carousel-controls{right:30px}.hero-carousel .hero-slide-downhill{object-position:65% center}.hero-carousel .hero-slide-service{object-position:64% center}}
@media(max-width:650px){.hero-carousel-controls{right:20px;bottom:165px;gap:9px}.hero-carousel-dots button{width:40px;height:44px}.hero-carousel-toggle{width:44px;height:44px}.hero-carousel .hero-slide-downhill{object-position:67% center}.hero-carousel .hero-slide-service{object-position:65% center}.hero-carousel [data-carousel-label]{min-width:0}}
@media(prefers-reduced-motion:reduce){.hero-carousel .hero-slide,.hero-carousel-dots button>span{transition:none}}

/* Compact product update, with the complete cable and connector visible. */
.home-upgrade{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,72px);padding-top:44px;padding-bottom:52px}
.home-upgrade-visual{margin:0;min-width:0}
.home-upgrade-visual img{display:block;width:100%;height:auto;object-fit:contain}
.home-upgrade-visual figcaption{margin-top:14px;color:var(--muted);font-size:.7rem;text-align:center;line-height:1.5}
.home-upgrade-copy{min-width:0}
.home-upgrade-copy h2{font-size:clamp(1.6rem,2.7vw,2.25rem);line-height:1.18;letter-spacing:-.035em;margin:14px 0 18px;max-width:23ch;text-wrap:balance}
.home-upgrade-copy p{color:var(--muted);line-height:1.7;margin:0;max-width:47ch}
@media(max-width:700px){.home-upgrade{grid-template-columns:1fr;gap:28px;padding-top:32px;padding-bottom:38px}.home-upgrade-visual{width:min(100%,400px);justify-self:center}.home-upgrade-copy h2{max-width:25ch}.home-upgrade-copy p{max-width:none}}

/* Keep the devices fully visible; copy remains translated HTML. */
.hero-carousel h1{font-size:clamp(2rem,4.2vw,3.7rem);line-height:1.12;text-wrap:balance;overflow-wrap:break-word}
.hero-carousel .hero-slide-app{object-fit:contain;object-position:right center}
.hero-carousel[data-kind=app]{background:#092330}
.hero-carousel[data-kind=app] .hero-copy{width:43%;max-width:570px}
.hero-carousel[data-kind=app] .hero-shade{background:linear-gradient(90deg,#09283680 0%,transparent 51%),linear-gradient(0deg,#092330aa,transparent 18%)}
@media(max-width:650px){
  /* Same height for every slide prevents the page jumping on each change. */
  .hero-carousel{min-height:calc(96vw + 540px)}
  .hero-carousel .hero-slide-app{width:190%;max-width:none;height:auto;left:-90%;top:0;object-fit:contain}
  .hero-carousel[data-kind=app] .hero-shade{background:none}
  .hero-carousel[data-kind=app] .hero-copy{position:absolute;top:calc(96vw + 14px);width:calc(100% - 40px);max-width:none;padding:0;margin-left:20px}
  .hero-carousel h1{font-size:clamp(1.85rem,8.5vw,2.6rem);margin:18px 0}
  .hero-carousel[data-kind=app] .hero-copy>p{max-width:100%;font-size:1rem;line-height:1.65}
  .hero-carousel[data-kind=app] .hero-coming{display:none}
  .hero-carousel .hero-carousel-controls{bottom:145px}
  .hero-carousel .image-credit{left:20px;right:20px;bottom:77px;font-size:.65rem;text-align:right}
  .hero-carousel .hero-coordinate{bottom:27px}
}
