/* Ingresso, barra che si nasconde, sezione Kickstarter. */
.intro { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; background: #5aa6f5; transition: clip-path .9s cubic-bezier(.77,0,.18,1), visibility 0s .9s; clip-path: inset(0 0 0 0); }
.intro.out { clip-path: inset(0 0 100% 0); visibility: hidden; }
.intro-t { display: flex; gap: 2px; font-family: sans-serif; font-size: clamp(34px, 9vw, 84px); color: #ffd65e; -webkit-text-stroke: 3px #8c2b0d; paint-order: stroke fill; }
.intro-t span { display: inline-block; transform: translateY(40px) scale(.4); opacity: 0; animation: introLet .6s cubic-bezier(.34,1.56,.64,1) forwards; }
.intro-t span:nth-child(2) { animation-delay: .06s } .intro-t span:nth-child(3) { animation-delay: .12s } .intro-t span:nth-child(4) { animation-delay: .18s }
.intro-t span:nth-child(5) { animation-delay: .24s } .intro-t span:nth-child(6) { animation-delay: .3s } .intro-t span:nth-child(7) { animation-delay: .36s } .intro-t span:nth-child(8) { animation-delay: .42s }
@keyframes introLet { to { transform: none; opacity: 1; } }
.no-js .intro { display: none; }
@media (prefers-reduced-motion: reduce) { .intro { display: none; } }

.nav { transition: transform .35s cubic-bezier(.3,.7,.2,1), box-shadow .3s; }
.nav.hide { transform: translateY(-110%); }
.nav.lift { box-shadow: 0 6px 24px rgba(16, 35, 59, .14); }

/* Kickstarter */
.ks > .wrap > .sec-head { max-width: 860px; }
.ks-badge { display: inline-block; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: 13px; padding: 7px 14px; border-radius: 999px; background: #1a2e47; color: #ffd65e; }
.ks-cd { margin: 0 0 28px; justify-items: start; }
.ks-tabs { position: sticky; top: 64px; z-index: 40; display: flex; gap: 8px; flex-wrap: wrap; padding: 10px; margin: 0 0 40px; background: rgba(255, 253, 245, .94); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 2px solid var(--line, #e6dcc0); border-radius: 20px; width: fit-content; max-width: 100%; transition: top .35s; }
body.nav-hidden .ks-tabs { top: 12px; }
.ks-tabs a { padding: 9px 16px; border-radius: 14px; font-weight: 600; color: #1a2e47; text-decoration: none; transition: background .25s, color .25s, transform .25s; }
.ks-tabs a:hover { transform: translateY(-2px); background: rgba(26, 46, 71, .08); }
.ks-tabs a.on { background: #1a2e47; color: #ffd65e; }
.ks-block { scroll-margin-top: 130px; padding-block: 28px 56px; }
.ks-block + .ks-block { border-top: 2px dashed rgba(26, 46, 71, .18); }
.ks-block .sec-head { margin-bottom: 32px; }
@media (max-width: 700px) { .ks-tabs { top: 58px; width: auto; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; } .ks-tabs a { white-space: nowrap; padding: 8px 12px; } }

/* ===== modalita' leggera (telefoni): niente sfocature a schermo intero, niente ombre moltiplicate, scorrimento libero ===== */
.lite .nav, .lite .ks-tabs { backdrop-filter: none; -webkit-backdrop-filter: none; background: #fffdf5; }
.lite .tv-bg { display: none; }
.lite .tv-scr { background: radial-gradient(circle at 50% 40%, #1d3a63, #0d1726 70%); }
/* i titoli di plastica: un contorno solo invece di cinque filtri per ogni titolo */
.lite .pl { filter: drop-shadow(0 .07em 0 #8c2b0d); -webkit-text-stroke: .02em #8c2b0d; }
.lite .pl .c { will-change: auto; }
.lite .logo span { filter: drop-shadow(0 2px 0 #8c2b0d); }
.lite .marchio.vivo .lettera, .lite .pila .pz { touch-action: pan-y; }
.lite .rb-track img, .lite .climber, .lite .car-item img { filter: none; }
.lite .tier.top::before { animation: none; }
.lite .hs-fx i:nth-child(n+7) { display: none; }
.lite .hs-fx.wind i:nth-child(n+4) { display: none; }
.lite .float:nth-child(n+4) { display: none; }
.lite .cloud:nth-child(n+4) { display: none; }
.lite .hs-smoke, .lite .mill-sails { animation-duration: 30s; }

/* mondi sul telefono: una corsia che si scorre col dito (aggancio nativo), niente pannello bloccato dallo scorrimento della pagina */
.hs-swipe.hs-on .hs-track { position: relative; width: 100%; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; will-change: auto; -webkit-overflow-scrolling: touch; }
.hs-swipe .hs-track::-webkit-scrollbar { display: none; }
.hs-swipe .hs-panel { scroll-snap-align: start; scroll-snap-stop: always; }
.hs-swipe .hs-earth { will-change: transform; }
.hs-swipe .sw-in .hs-text > *, .hs-swipe .sw-in .hs-phone { opacity: 0; translate: 0 22px; transition: opacity .5s ease-out, translate .5s ease-out; }
.hs-swipe .sw-in.vista .hs-text > *, .hs-swipe .sw-in.vista .hs-phone, .hs-swipe .hs-intro .hs-text > * { opacity: 1; translate: 0 0; }
.hs-swipe .sw-in.vista .hs-text > :nth-child(2) { transition-delay: .06s } .hs-swipe .sw-in.vista .hs-text > :nth-child(3) { transition-delay: .12s } .hs-swipe .sw-in.vista .hs-text > :nth-child(4) { transition-delay: .18s }
