/* GEPI Expo — home nuova (anteprima 13/10/2026).
   Simone: «possiamo provare una home page figa di GEPI nuova senza stravolgere?» → stessi testi, stessi colori,
   stesse foto della home vera; cambia il movimento e il pass passa davanti (dal 03/10 si lavora solo sui visitatori). */

/* barra di avanzamento in cima */
.hn-avanza{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--gepi-red);transform-origin:0 50%;transform:scaleX(0);z-index:400;pointer-events:none}

/* ---------- hero ---------- */
.hero-home{min-height:calc(100vh - 72px);min-height:calc(100svh - 72px);position:relative;overflow:hidden}
.hero-home .hero__slide.is-on{animation:hn-zoom 9s ease-out both}
.hero-home .hero__slide{background-position:62% center}   /* le foto nuove hanno il soggetto a destra: sul telefono resta in quadro */
@media (max-width:700px){.hero-home .hero__slide{background-position:72% center}}
@keyframes hn-zoom{from{transform:scale(1.12)}to{transform:scale(1)}}
.hero-home .hero-home__grid{grid-template-columns:1.25fr .75fr;padding:36px 0 84px}
.hero-home .h-hero{font-size:clamp(52px,7vw,104px);line-height:.9;letter-spacing:-.02em;margin-bottom:22px!important}
.hero-home .hero-home__logo{max-height:84px;margin-bottom:18px}
.hn-riga{display:block;overflow:hidden;padding-bottom:.04em}
.hn-riga > span{display:inline-block;will-change:transform}
.hn-riga .hn-anno{color:var(--gepi-gold)}
.hn-dove{display:inline-flex;align-items:center;gap:10px;margin:0 0 28px;padding:10px 16px 10px 12px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-pill);color:#fff;font-size:15px;font-weight:600;backdrop-filter:blur(6px)}
.hn-dove b{color:var(--gepi-gold);font-weight:800}
.hn-dove i{width:9px;height:9px;border-radius:50%;background:var(--gepi-gold);box-shadow:0 0 0 0 rgba(250,184,0,.7);animation:hn-pulsa 2s infinite}
@keyframes hn-pulsa{70%{box-shadow:0 0 0 10px rgba(250,184,0,0)}100%{box-shadow:0 0 0 0 rgba(250,184,0,0)}}
.hero-home .btn-row .btn--gold{font-size:18px;padding:20px 34px}
.hero-home .btn-row .btn--gold .hn-freccia{display:inline-block;transition:transform .25s}
.hero-home .btn-row .btn--gold:hover .hn-freccia{transform:translateX(5px)}

/* conto alla rovescia dentro la hero, a destra */
.hn-conto{justify-self:end;align-self:end;background:rgba(10,10,10,.55);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);
  padding:22px 24px 18px;backdrop-filter:blur(10px);color:#fff;min-width:330px}
.hn-conto p{margin:0 0 14px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gepi-gold);font-weight:700}
.hn-conto #gepi-countdown{display:grid!important;grid-template-columns:repeat(4,1fr);gap:10px!important}
.hn-conto #gepi-countdown > div{background:rgba(255,255,255,.07);border-radius:var(--radius-md);padding:12px 4px 8px;overflow:hidden}
.hn-conto [data-cd]{display:block;font-size:44px!important;line-height:1;font-variant-numeric:tabular-nums;color:#fff!important}
.hn-conto [data-cd="gg"]{color:var(--gepi-gold)!important}
.hn-conto #gepi-countdown > div > span:last-child{margin-top:6px;font-size:11px!important}
.hn-scorri{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);width:26px;height:42px;border:2px solid rgba(255,255,255,.5);border-radius:14px;z-index:3}
.hn-scorri::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:hn-rotella 1.8s infinite}
@keyframes hn-rotella{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

/* ---------- loghi: nastri che scorrono ---------- */
.hn-nastro{position:relative;overflow:hidden;margin:36px 0 8px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.hn-nastro__traccia{display:flex;gap:12px;width:max-content;will-change:transform}
.hn-nastro .home-esp{display:contents}
.hn-nastro a{flex:0 0 170px;height:96px;display:flex;align-items:center;justify-content:center;padding:14px 18px;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-md);text-decoration:none;transition:transform .25s,box-shadow .25s}
.hn-nastro a:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(26,22,20,.12)}
.hn-nastro a.scuro{background:var(--gepi-ink)}
.hn-nastro img{max-width:100%;max-height:64px;object-fit:contain}
.hn-nastro span{font-family:var(--font-display);font-weight:800;font-size:15px;line-height:1.15;color:var(--gepi-ink);text-align:center;text-transform:uppercase}
.hn-conta{display:inline-flex;align-items:baseline;gap:10px;margin:18px 0 0;font-weight:700;color:var(--gepi-ink)}
.hn-conta b{font-family:var(--font-display);font-size:56px;line-height:1;color:var(--gepi-red);font-variant-numeric:tabular-nums}

/* ---------- comparse allo scorrimento (solo se il movimento è acceso) ---------- */
.hn-mosso .hn-su{opacity:0;transform:translateY(36px)}
.text-red.hn-sottolinea{position:relative;display:inline-block}
.text-red.hn-sottolinea::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.1em;background:var(--gepi-gold);transform:scaleX(var(--hn-linea,0));transform-origin:0 50%;z-index:-1}
.concept-media .year-badge{will-change:transform}
.area-card{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}
.area-card:hover{transform:translateY(-8px);box-shadow:0 22px 40px rgba(26,22,20,.18)}
.area-card .area-card__img{transition:transform .8s cubic-bezier(.22,1,.36,1)}
.area-card:hover .area-card__img{transform:scale(1.07)}
.area-card{overflow:hidden}
.section--red .ghost-word{will-change:transform}
.numlist__n{font-variant-numeric:tabular-nums}

/* ---------- pass sempre a portata ---------- */
.hn-pass{position:fixed;right:20px;bottom:20px;z-index:300;display:flex;align-items:center;gap:12px;padding:12px 14px 12px 20px;background:var(--gepi-red);color:#fff;
  border-radius:var(--radius-pill);text-decoration:none;font-weight:800;box-shadow:0 14px 34px rgba(226,6,20,.38);transform:translateY(140%);transition:transform .45s cubic-bezier(.22,1,.36,1)}
.hn-pass.on{transform:none}
.hn-pass small{display:block;font-weight:500;font-size:12px;opacity:.85}
.hn-pass em{font-style:normal;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--gepi-gold);color:var(--gepi-black);font-size:18px}
.hn-pass:hover{color:#fff}
.hn-anteprima{position:fixed;left:50%;top:6px;transform:translateX(-50%);z-index:300;padding:6px 10px;background:var(--gepi-ink);color:var(--gepi-gold);font-size:11px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;border-radius:6px;opacity:.85;pointer-events:none}

@media (max-width:900px){
  .hero-home .hero-home__grid{grid-template-columns:1fr;gap:28px;padding:40px 0 96px}
  .hn-conto{justify-self:stretch;min-width:0;padding:16px}
  .hn-conto [data-cd]{font-size:34px!important}
  .hn-scorri{display:none}
}
@media (max-width:560px){
  .hn-pass{left:12px;right:12px;bottom:12px;justify-content:space-between}
  .hn-nastro a{flex-basis:140px;height:84px}
  .hn-anteprima{top:92px;bottom:auto;left:auto;right:12px;transform:none;font-size:10px}
  .hn-conta{flex-direction:column;align-items:center;gap:4px}
  .hero-home .btn-row .btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .hero-home .hero__slide.is-on,.hn-dove i,.hn-scorri::after{animation:none}
  .text-red.hn-sottolinea::after{transform:scaleX(1)}
}
