/* ==========================================================================
   Home, testata (richiesta 05-06/11/2026): il kart scende dalla vista
   dall'alto a quella frontale con lo scroll (t4-home-kfly.js, fotogrammi in
   assets/media/t4/seq/kart-top/). Con .is-kseq sulla testata la sequenza
   prende il posto dello scontorno (che resta per "riduci movimento" e
   Risparmio dati); il riquadro ha le proporzioni dei fotogrammi 1280x944.
   ========================================================================== */
.t4hm-hero__kseq { display: none; }
.t4hm-hero.is-kseq .t4hm-hero__cut,
.t4hm-hero.is-kseq .t4hm-hero__mirror,
.t4hm-hero.is-kseq .t4hm-hero__sweep { display: none !important; }
.t4hm-hero.is-kseq .t4hm-hero__kseq {
  aspect-ratio: 1280 / 944;
  display: block;
  position: relative;
  width: 100%;
  z-index: 1;
}
.t4hm-hero__kseq img,
.t4hm-hero__kseq canvas { display: block; height: 100%; inset: 0; position: absolute; width: 100%; }
.t4hm-hero__kseq img { animation: t4hm-kseq-in 1.2s var(--t4-ease-out, ease-out) .2s both; }
.t4hm-hero__kseq canvas { opacity: 0; }
.t4hm-hero__kseq.has-seq canvas { opacity: 1; }
.t4hm-hero__kseq.has-seq img { visibility: hidden; }
@keyframes t4hm-kseq-in { from { opacity: 0; transform: translate3d(0, 4%, 0) scale(.96); } to { opacity: 1; transform: none; } }
/* i fotogrammi hanno già la loro ombra: quella a terra dello scontorno no */
.t4hm-hero.is-kseq .t4hm-hero__kart::after { display: none; }
/* il kart visto dall'alto è più "alto" dello scontorno: un po' più su da desktop */
@media (min-width: 992px) {
  .t4hm-hero.is-kseq .t4hm-hero__kart { top: 46%; width: min(50vw, 920px, 96vh); }
}

/* contenitori per il blocco da telefono: da desktop non esistono */
.t4hm-hero__track, .t4hm-hero__pin { display: contents; }
/* telefono e tablet (richiesta 06/11/2026): la testata non è ferma come da
   desktop, quindi il kart usciva subito dallo schermo. Ora kart e testi restano
   fermi (sticky) per 70svh di scroll mentre il kart gira, poi tutto riprende a
   scorrere e arrivano le card. Solo con il movimento (.is-kseq). */
@media (max-width: 991px) {
  /* overflow: hidden farebbe del palco un contenitore di scroll e lo sticky non terrebbe */
  .t4hm-hero.is-kseq .t4hm-hero__stage { justify-content: flex-start; overflow: clip; padding-top: 0; }
  .t4hm-hero.is-kseq .t4hm-hero__track { display: block; height: calc(100vh + 70vh); height: calc(100svh + 70svh); }
  .t4hm-hero.is-kseq .t4hm-hero__pin {
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100svh;
    justify-content: flex-end;
    padding: 92px 0 28px;
    position: sticky;
    top: 0;
  }
  .t4hm-hero.is-kseq .t4hm-hero__kart { margin: auto 0 22px; width: min(100%, 640px, calc((100svh - 470px) * 1.356)); }
}
/* telefoni bassi (iPhone SE e simili): titolo più compatto, il kart non va sotto l'header */
@media (max-width: 991px) and (max-height: 740px) {
  .t4hm-hero.is-kseq .t4hm-hero__pin { padding-top: 84px; padding-bottom: 20px; }
  .t4hm-hero.is-kseq .t4hm-hero__title { font-size: 34px; }
  .t4hm-hero.is-kseq .t4hm-hero__lead { margin-top: 12px; }
  .t4hm-hero.is-kseq .t4hm-hero__cta { gap: 8px; margin-top: 16px; }
  .t4hm-hero.is-kseq .t4hm-hero__kart { margin-bottom: 14px; width: min(100%, 640px, calc((100svh - 420px) * 1.356)); }
}

/* desktop (richiesta 06/11/2026): con il kart che gira i titoli restano.
   Kicker, titolo, testo e pulsanti salgono appena, senza sparire; le card a
   destra (sul percorso del kart) si fanno da parte; poi la cornice e la
   targhetta "01 Tillotson T4" chiudono il kart di fronte come prima. */
@media (min-width: 992px) {
  .t4hm-hero.is-kseq .t4hm-hero__inner { opacity: 1; transform: translateY(calc(var(--kp) * -28px)); }
  .t4hm-hero.is-kseq .t4hm-hero__side,
  .t4hm-hero.is-kseq .t4hm-hero__reel { opacity: calc(1 - var(--kp) * 2.4); transform: translateX(calc(var(--kp) * 60px)); }
  /* il kart rimpicciolisce di meno e si sposta verso destra, lontano dal titolo */
  .t4hm-hero.is-kseq .t4hm-hero__kart { transform: translate(-50%, -50%) translate(calc(var(--kp) * 10vw), calc(var(--kp) * 2vh)) scale(calc(1 - var(--kp) * .38)); }
}
