/* ==========================================================================
   CROSSFIT REVIVA — foglio di stile unico
   Chiaro e scuro. Nessuna libreria esterna.
   ========================================================================== */

/* ---------- TEMA ---------- */
:root{
  --sfondo:      #faf8f6;
  --sfondo-2:    #f2eeea;
  --superficie:  #ffffff;
  --superficie-2:#f7f4f1;
  --testo:       #15110f;
  --testo-2:     #5c534d;
  --testo-3:     #8d827a;
  --bordo:       #e4ddd6;
  --bordo-2:     #efe9e3;
  --oro:         #a8782a;
  --oro-soft:    #f3e6cd;
  --inverso-bg:  #15110f;
  --inverso-fg:  #faf8f6;
  --ombra:       0 1px 2px rgba(21,17,15,.05), 0 8px 24px -12px rgba(21,17,15,.14);
  --ombra-alta:  0 2px 6px rgba(21,17,15,.07), 0 22px 48px -20px rgba(21,17,15,.26);
  --vetro:       rgba(250,248,246,.82);
  --grana:       .028;
  color-scheme: light;
}
:root[data-tema="scuro"]{
  --sfondo:      #0b0a0a;
  --sfondo-2:    #131211;
  --superficie:  #141312;
  --superficie-2:#1c1a19;
  --testo:       #f6f3f0;
  --testo-2:     #b0a8a1;
  --testo-3:     #7d7570;
  --bordo:       #2a2725;
  --bordo-2:     #201e1d;
  --oro:         #e3bb6d;
  --oro-soft:    #2a2317;
  --inverso-bg:  #faf8f6;
  --inverso-fg:  #15110f;
  --ombra:       0 1px 2px rgba(0,0,0,.5), 0 10px 30px -14px rgba(0,0,0,.8);
  --ombra-alta:  0 2px 8px rgba(0,0,0,.6), 0 26px 56px -22px rgba(0,0,0,.9);
  --vetro:       rgba(11,10,10,.78);
  --grana:       .05;
  color-scheme: dark;
}
@media (prefers-color-scheme: dark){
  :root:not([data-tema="chiaro"]){
    --sfondo:#0b0a0a; --sfondo-2:#131211; --superficie:#141312; --superficie-2:#1c1a19;
    --testo:#f6f3f0; --testo-2:#b0a8a1; --testo-3:#7d7570; --bordo:#2a2725; --bordo-2:#201e1d;
    --oro:#e3bb6d; --oro-soft:#2a2317; --inverso-bg:#faf8f6; --inverso-fg:#15110f;
    --ombra:0 1px 2px rgba(0,0,0,.5), 0 10px 30px -14px rgba(0,0,0,.8);
    --ombra-alta:0 2px 8px rgba(0,0,0,.6), 0 26px 56px -22px rgba(0,0,0,.9);
    --vetro:rgba(11,10,10,.78); --grana:.05;
    color-scheme: dark;
  }
}

/* ---------- MISURE ---------- */
:root{
  --display:'Instrument Sans', 'Segoe UI', system-ui, sans-serif;
  --serif:'Instrument Serif', Georgia, 'Times New Roman', serif;
  --testo-f:'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --mono:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --wrap:1220px;
  --gut:clamp(20px,5vw,48px);
  --sez:clamp(72px,10vw,132px);
  --r:14px; --r-l:22px; --r-xl:30px;
  --e:cubic-bezier(.2,.6,.3,1);
}

/* ---------- BASE ---------- */
*,*::before,*::after{ box-sizing:border-box; }
[hidden]{ display:none !important; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:88px; }
body{
  margin:0; background:var(--sfondo); color:var(--testo);
  font-family:var(--testo-f); font-size:17px; line-height:1.68;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  transition:background .35s var(--e), color .35s var(--e);
}
img,video,picture,svg{ max-width:100%; display:block; }
.hero__media picture,.figura picture,.tessera__foto picture,.banda picture{ display:block; width:100%; height:100%; }
.banda picture{ position:absolute; inset:0; }
img{ height:auto; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
h1,h2,h3,h4{ margin:0; font-family:var(--display); font-weight:600; line-height:1.06; letter-spacing:-.022em; }
p{ margin:0 0 1.05em; } p:last-child{ margin-bottom:0; }
::selection{ background:var(--testo); color:var(--sfondo); }
:focus-visible{ outline:2px solid var(--oro); outline-offset:3px; border-radius:4px; }

/* ---------- LAYOUT ---------- */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut); }
.wrap--largo{ max-width:1460px; }
.sez{ padding-block:var(--sez); }
.sez--corta{ padding-block:calc(var(--sez)*.6); }
.sez--alt{ background:var(--sfondo-2); }
.linea{ border-top:1px solid var(--bordo-2); }

/* ---------- TIPOGRAFIA ---------- */
.d1{ font-size:clamp(2.4rem,5.6vw,4.4rem); line-height:1.02; letter-spacing:-.035em; }
.d2{ font-size:clamp(2rem,4.4vw,3.4rem); line-height:1.04; letter-spacing:-.03em; }
.d3{ font-size:clamp(1.45rem,2.6vw,2.1rem); letter-spacing:-.022em; }
.d4{ font-size:clamp(1.12rem,1.7vw,1.35rem); letter-spacing:-.012em; font-weight:600; }
.ser{ font-family:var(--serif); font-style:italic; font-weight:400; letter-spacing:-.01em; }

.occhio{
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:var(--mono); font-size:.72rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--testo-3);
  margin-bottom:1.15rem;
}
.occhio::before{ content:''; width:22px; height:1px; background:var(--oro); flex:none; }
.occhio--pill{
  padding:.4rem .85rem; border:1px solid var(--bordo); border-radius:999px;
  background:var(--superficie); color:var(--testo-2); margin-bottom:1.3rem;
}
.occhio--pill::before{ display:none; }

.p-l{ font-size:clamp(1.08rem,1.6vw,1.26rem); line-height:1.62; color:var(--testo-2); }
.p-m{ color:var(--testo-2); }
.p-s{ font-size:.94rem; color:var(--testo-2); }
.nota{ font-size:.82rem; color:var(--testo-3); line-height:1.6; }
.forte{ color:var(--testo); font-weight:600; }
.max-58{ max-width:58ch; } .max-46{ max-width:46ch; } .max-70{ max-width:70ch; }

/* ---------- BOTTONI ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:var(--testo-f); font-weight:600; font-size:.95rem; letter-spacing:-.005em;
  padding:.92rem 1.55rem; border-radius:999px; border:1px solid transparent;
  background:var(--inverso-bg); color:var(--inverso-fg);
  transition:transform .25s var(--e), box-shadow .25s var(--e), background .25s var(--e), color .25s var(--e), border-color .25s var(--e);
  box-shadow:var(--ombra);
}
.btn:hover{ transform:translateY(-2px); box-shadow:var(--ombra-alta); }
.btn:active{ transform:translateY(0); }
.btn--sec{ background:var(--superficie); color:var(--testo); border-color:var(--bordo); }
.btn--sec:hover{ border-color:var(--testo-3); }
.btn--fantasma{ background:transparent; color:var(--testo); border-color:var(--bordo); box-shadow:none; }
.btn--fantasma:hover{ background:var(--superficie); }
.btn--sm{ padding:.62rem 1.1rem; font-size:.87rem; }
.btn--wa{ background:#1fa855; color:#fff; }
.btn--wa:hover{ background:#178a45; }
.btn svg{ width:18px; height:18px; fill:currentColor; flex:none; }
.btn[disabled]{ opacity:.5; pointer-events:none; }

.link{
  display:inline-flex; align-items:center; gap:.4rem; font-weight:600; font-size:.95rem;
  color:var(--testo); border-bottom:1px solid var(--bordo); padding-bottom:2px;
  transition:border-color .25s var(--e), gap .25s var(--e), color .25s var(--e);
}
.link:hover{ border-color:var(--testo); gap:.7rem; }
.link .fr{ transition:transform .25s var(--e); }
.link:hover .fr{ transform:translateX(2px); }

/* ---------- HEADER ---------- */
.hd{
  position:sticky; top:0; z-index:100; padding-block:.85rem;
  background:transparent; border-bottom:1px solid transparent;
  transition:background .3s var(--e), border-color .3s var(--e), padding .3s var(--e), backdrop-filter .3s;
}
.hd.su{
  background:var(--vetro); backdrop-filter:blur(18px) saturate(1.6); -webkit-backdrop-filter:blur(18px) saturate(1.6);
  border-bottom-color:var(--bordo-2); padding-block:.6rem;
}
.hd__in{ display:flex; align-items:center; gap:1.4rem; }
.marchio{ display:flex; align-items:center; flex:none; margin-right:auto; }
.marchio img{ height:38px; width:auto; transition:height .3s var(--e); }
.hd.su .marchio img{ height:32px; }
.solo-chiaro{ display:block; } .solo-scuro{ display:none; }
:root[data-tema="scuro"] .solo-chiaro{ display:none; }
:root[data-tema="scuro"] .solo-scuro{ display:block; }
@media (prefers-color-scheme:dark){
  :root:not([data-tema="chiaro"]) .solo-chiaro{ display:none; }
  :root:not([data-tema="chiaro"]) .solo-scuro{ display:block; }
}

.nav{ display:flex; align-items:center; gap:.3rem; }
.nav a{
  padding:.5rem .8rem; border-radius:999px; font-size:.94rem; color:var(--testo-2);
  transition:background .22s var(--e), color .22s var(--e);
}
.nav a:hover{ background:var(--superficie-2); color:var(--testo); }
.nav a[aria-current]{ color:var(--testo); font-weight:600; background:var(--superficie-2); }
.hd__dx{ display:flex; align-items:center; gap:.5rem; flex:none; }

.tema{
  width:38px; height:38px; border-radius:999px; border:1px solid var(--bordo);
  display:grid; place-items:center; background:var(--superficie);
  transition:border-color .22s var(--e), transform .22s var(--e);
}
.tema:hover{ border-color:var(--testo-3); transform:rotate(-12deg); }
.tema svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.7; }
.tema .luna{ display:none; } :root[data-tema="scuro"] .tema .sole{ display:none; } :root[data-tema="scuro"] .tema .luna{ display:block; }
@media (prefers-color-scheme:dark){
  :root:not([data-tema="chiaro"]) .tema .sole{ display:none; }
  :root:not([data-tema="chiaro"]) .tema .luna{ display:block; }
}

.burger{ display:none; width:40px; height:40px; border-radius:999px; border:1px solid var(--bordo); background:var(--superficie); align-items:center; justify-content:center; }
.burger i{ display:block; width:17px; height:1.6px; background:currentColor; position:relative; border-radius:2px; }
.burger i::before,.burger i::after{ content:''; position:absolute; left:0; width:17px; height:1.6px; background:currentColor; border-radius:2px; transition:transform .28s var(--e), top .28s var(--e); }
.burger i::before{ top:-5.5px; } .burger i::after{ top:5.5px; }
body.menu-on .burger i{ background:transparent; }
body.menu-on .burger i::before{ top:0; transform:rotate(45deg); }
body.menu-on .burger i::after{ top:0; transform:rotate(-45deg); }

.menu{
  position:fixed; inset:0; z-index:95; background:var(--sfondo);
  padding:6.5rem var(--gut) 2.5rem; display:flex; flex-direction:column; gap:.2rem;
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .3s var(--e), transform .3s var(--e), visibility .3s;
  overflow-y:auto;
}
body.menu-on .menu{ opacity:1; visibility:visible; transform:none; }
.menu a{ font-family:var(--display); font-weight:600; font-size:clamp(1.7rem,7vw,2.3rem); letter-spacing:-.03em; padding-block:.5rem; border-bottom:1px solid var(--bordo-2); }
.menu .btn{ margin-top:1.8rem; }

/* ---------- HERO ---------- */
.hero{ position:relative; padding-top:clamp(1.5rem,4vw,3rem); }
.hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.hero h1{ margin-bottom:1.4rem; }
.hero__azioni{ display:flex; flex-wrap:wrap; gap:.7rem; margin-top:2rem; }
.hero__media{ position:relative; border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--ombra-alta); aspect-ratio:4/5; }
.hero__media img{ width:100%; height:100%; object-fit:cover; }
.hero__badge{
  position:absolute; left:1.1rem; bottom:1.1rem; right:1.1rem;
  background:var(--vetro); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid var(--bordo); border-radius:var(--r-l); padding:.95rem 1.15rem;
  display:flex; align-items:center; gap:.85rem;
}
.hero__badge b{ font-family:var(--display); font-size:1.5rem; line-height:1; }
.hero__badge small{ display:block; color:var(--testo-3); font-size:.76rem; }
.stelle{ color:var(--oro); font-size:.85rem; letter-spacing:.1em; }

.strisce{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.8rem; }
.chip{
  display:inline-flex; align-items:center; gap:.45rem; padding:.42rem .85rem;
  border:1px solid var(--bordo); border-radius:999px; background:var(--superficie);
  font-size:.82rem; color:var(--testo-2);
}
.chip b{ color:var(--testo); font-weight:600; }

/* ---------- SEZIONI GENERICHE ---------- */
.due{ display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(2rem,5vw,5rem); align-items:start; }
.due--centro{ align-items:center; }
.due--pari{ grid-template-columns:1fr 1fr; }
.testata{ max-width:44ch; margin-bottom:clamp(2rem,4vw,3rem); }
.testata--centro{ margin-inline:auto; text-align:center; }

.card{
  background:var(--superficie); border:1px solid var(--bordo-2); border-radius:var(--r-l);
  padding:clamp(1.5rem,2.6vw,2.1rem); display:flex; flex-direction:column; gap:.7rem;
  transition:transform .3s var(--e), box-shadow .3s var(--e), border-color .3s var(--e);
}
a.card:hover{ transform:translateY(-4px); box-shadow:var(--ombra-alta); border-color:var(--bordo); }
.card h3{ font-size:1.28rem; }
.card p{ color:var(--testo-2); font-size:.97rem; }
.card .link{ margin-top:auto; align-self:flex-start; }
.card__ico{
  width:42px; height:42px; border-radius:12px; display:grid; place-items:center;
  background:var(--oro-soft); color:var(--oro); font-family:var(--mono); font-size:.78rem; font-weight:600;
  margin-bottom:.3rem;
}
.griglia{ display:grid; gap:clamp(.9rem,1.6vw,1.2rem); }
.g2{ grid-template-columns:repeat(2,1fr); }
.g3{ grid-template-columns:repeat(3,1fr); }
.g4{ grid-template-columns:repeat(4,1fr); }

/* ---------- CLASSI ---------- */
.classe{
  display:grid; grid-template-columns:auto 1fr auto; gap:clamp(1rem,2.4vw,2rem); align-items:start;
  padding:clamp(1.4rem,2.6vw,2rem) 0; border-top:1px solid var(--bordo-2);
}
.classe:last-child{ border-bottom:1px solid var(--bordo-2); }
.classe__sigla{
  font-family:var(--mono); font-size:.7rem; letter-spacing:.1em; color:var(--oro);
  border:1px solid var(--bordo); border-radius:999px; padding:.32rem .7rem; white-space:nowrap;
}
.classe h3{ font-size:clamp(1.3rem,2.2vw,1.75rem); margin-bottom:.35rem; }
.classe__claim{ font-family:var(--serif); font-style:italic; font-size:1.12rem; color:var(--testo-2); margin-bottom:.7rem; }
.classe__per{ font-size:.88rem; color:var(--testo-3); margin-top:.7rem; }
.classe__quando{ font-family:var(--mono); font-size:.74rem; color:var(--testo-3); text-align:right; white-space:nowrap; line-height:1.9; }

/* ---------- ORARI ---------- */
.orari{ display:grid; gap:.7rem; }
.giorno{
  background:var(--superficie); border:1px solid var(--bordo-2); border-radius:var(--r);
  padding:1rem 1.2rem; display:grid; grid-template-columns:132px 1fr; gap:1rem; align-items:center;
}
.giorno--off{ background:transparent; border-style:dashed; }
.giorno h3{ font-size:.94rem; font-weight:600; letter-spacing:0; }
.slots{ display:flex; flex-wrap:wrap; gap:.45rem; }
.slot{
  display:inline-flex; align-items:baseline; gap:.5rem; padding:.4rem .75rem;
  border-radius:999px; border:1px solid var(--bordo); background:var(--sfondo);
  font-size:.86rem; transition:border-color .2s var(--e), background .2s var(--e);
}
.slot:hover{ border-color:var(--oro); }
.slot b{ font-family:var(--mono); font-weight:500; font-size:.82rem; }
.slot span{ color:var(--testo-2); }
.slot i, .slot__tag{
  font-style:normal; font-size:.68rem; letter-spacing:.05em; text-transform:uppercase;
  color:var(--testo-3); border-left:1px solid var(--bordo); padding-left:.5rem;
}
.slot--open{
  background:transparent; border-style:dashed; border-color:var(--bordo-2); color:var(--testo-3);
}
.slot--open b{ color:var(--testo-3); }
.slot--open span{ color:var(--testo-3); }
.slot--prog{ background:transparent; border-color:var(--bordo-2); }
.slot--prog b{ font-family:var(--sans); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--testo-3); }
.giorno__nota{
  display:block; font-size:.74rem; font-weight:400; color:var(--testo-3);
  margin-top:.22rem; line-height:1.35; letter-spacing:0; text-transform:none;
}
.legenda{
  display:flex; flex-wrap:wrap; gap:.4rem 1.4rem; margin-top:1rem;
  font-size:.78rem; color:var(--testo-3);
}
.legenda__v{ display:inline-flex; align-items:center; gap:.45rem; }
.legenda__q{ width:.85rem; height:.85rem; border-radius:999px; border:1px solid var(--bordo); flex:none; }
.legenda__q--open{ border-style:dashed; background:transparent; }
.legenda__q--cls{ background:var(--sfondo); border-color:var(--oro); }
.legenda__q--prog{ background:transparent; border-color:var(--bordo-2); }

/* ---------- FOTO ---------- */
.figura{ border-radius:var(--r-l); overflow:hidden; background:var(--superficie-2); box-shadow:var(--ombra); }
.figura img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--e); }
.figura--zoom:hover img{ transform:scale(1.035); }
.foto-mancante{
  aspect-ratio:4/3; display:grid; place-items:center; background:var(--superficie-2);
  color:var(--testo-3); font-family:var(--mono); font-size:.75rem; border-radius:var(--r-l);
}
.banda{ position:relative; border-radius:var(--r-xl); overflow:hidden; min-height:clamp(320px,46vh,520px); display:flex; align-items:flex-end; }
.banda picture, .banda img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.banda::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.62) 62%, rgba(0,0,0,.86) 100%); }
.banda__in{ position:relative; z-index:2; padding:clamp(1.6rem,3.5vw,2.8rem); color:#fff; }
.banda__in h2{ color:#fff; max-width:20ch; }
.banda__in p{ color:rgba(255,255,255,.8); max-width:52ch; margin-top:.7rem; }

.mosaico{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(.6rem,1.2vw,1rem); }
.mosaico .figura{ aspect-ratio:1; }
.mosaico .figura--w2{ grid-column:span 2; aspect-ratio:2/1; }
.mosaico .figura--h2{ grid-row:span 2; aspect-ratio:1/2; }

/* ---------- PERSONE ---------- */
.team{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1rem,2vw,1.6rem); }
.tessera__foto{ aspect-ratio:3/4; border-radius:var(--r-l); overflow:hidden; background:var(--superficie-2); }
.tessera__foto img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--e), filter .5s var(--e); }
.tessera:hover .tessera__foto img{ transform:scale(1.04); }
.tessera h3{ margin-top:1rem; font-size:1.1rem; }
.tessera .ruolo{ font-family:var(--mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--oro); margin-top:.35rem; }
.tessera p{ color:var(--testo-2); font-size:.92rem; margin-top:.65rem; }

/* ---------- PASSI ---------- */
.passi{ counter-reset:p; display:grid; gap:0; }
.passo{
  counter-increment:p; display:grid; grid-template-columns:auto 1fr; gap:clamp(1rem,2.2vw,1.8rem);
  padding:clamp(1.3rem,2.4vw,1.8rem) 0; border-top:1px solid var(--bordo-2); align-items:start;
}
.passo:last-child{ border-bottom:1px solid var(--bordo-2); }
.passo::before{
  content:counter(p,decimal-leading-zero);
  font-family:var(--mono); font-size:.8rem; color:var(--oro);
  width:40px; height:40px; border-radius:999px; border:1px solid var(--bordo);
  display:grid; place-items:center; background:var(--superficie);
}
.passo h3{ font-size:1.15rem; display:flex; align-items:baseline; gap:.7rem; flex-wrap:wrap; }
.passo h3 em{ font-family:var(--mono); font-style:normal; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--testo-3); }
.passo p{ color:var(--testo-2); margin-top:.4rem; font-size:.97rem; }

/* ---------- ELENCHI ---------- */
.lista{ list-style:none; margin:0; padding:0; display:grid; gap:.62rem; }
.lista li{ position:relative; padding-left:1.7rem; color:var(--testo-2); }
.lista li::before{
  content:''; position:absolute; left:0; top:.62em; width:7px; height:7px; border-radius:2px;
  background:var(--oro); opacity:.85;
}
.lista--x li::before{ background:none; content:'✕'; color:var(--testo-3); font-size:.8rem; top:0; width:auto; height:auto; }
.lista--v li::before{ background:none; content:'✓'; color:var(--oro); font-weight:700; font-size:.85rem; top:0; width:auto; height:auto; }
.lista strong{ color:var(--testo); font-weight:600; }

.dato{ border-left:2px solid var(--oro); padding-left:1.2rem; }
.dato b{ display:block; font-family:var(--display); font-size:clamp(1.9rem,3.4vw,2.6rem); line-height:1; letter-spacing:-.03em; }
.dato span{ display:block; color:var(--testo-2); font-size:.92rem; margin-top:.55rem; }

.numeri{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1rem,2vw,1.4rem); }
.numero{ background:var(--superficie); border:1px solid var(--bordo-2); border-radius:var(--r-l); padding:clamp(1.3rem,2.4vw,1.8rem); }
.numero b{ display:block; font-family:var(--display); font-size:clamp(2rem,4vw,2.8rem); line-height:1; letter-spacing:-.03em; }
.numero span{ display:block; color:var(--testo-2); font-size:.9rem; margin-top:.6rem; }

/* ---------- DOMANDE ---------- */
.dom{ border-bottom:1px solid var(--bordo-2); }
.dom summary{
  list-style:none; cursor:pointer; padding:1.35rem 2.6rem 1.35rem 0; position:relative;
  font-family:var(--display); font-weight:600; font-size:clamp(1.02rem,1.7vw,1.2rem);
  letter-spacing:-.015em; transition:color .2s var(--e);
}
.dom summary::-webkit-details-marker{ display:none; }
.dom summary::after,.dom summary::before{
  content:''; position:absolute; right:.3rem; top:calc(50% - 1px); width:13px; height:2px;
  background:var(--testo-3); border-radius:2px; transition:transform .3s var(--e), opacity .3s var(--e);
}
.dom summary::before{ transform:rotate(90deg); }
.dom[open] summary::before{ transform:rotate(0); opacity:0; }
.dom[open] summary{ color:var(--oro); }
.dom summary:hover{ color:var(--oro); }
.dom__c{ padding-bottom:1.5rem; color:var(--testo-2); max-width:72ch; }
.dom__c p{ font-size:.99rem; }

/* ---------- FORM ---------- */
.form{ display:grid; gap:1.05rem; }
.campo{ display:grid; gap:.4rem; }
.campo label{ font-size:.83rem; font-weight:600; color:var(--testo-2); }
.campo input,.campo select,.campo textarea{
  width:100%; padding:.85rem 1rem; font:inherit; font-size:.97rem;
  background:var(--superficie); color:var(--testo);
  border:1px solid var(--bordo); border-radius:var(--r);
  transition:border-color .2s var(--e), box-shadow .2s var(--e);
  appearance:none; -webkit-appearance:none;
}
.campo select{
  background-image:linear-gradient(45deg,transparent 50%,var(--testo-3) 50%),linear-gradient(135deg,var(--testo-3) 50%,transparent 50%);
  background-position:calc(100% - 19px) calc(50% + 1px), calc(100% - 13px) calc(50% + 1px);
  background-size:6px 6px; background-repeat:no-repeat; padding-right:2.5rem;
}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  outline:none; border-color:var(--oro); box-shadow:0 0 0 3px var(--oro-soft);
}
.campo textarea{ min-height:112px; resize:vertical; }
.campo--2{ display:grid; grid-template-columns:1fr 1fr; gap:1.05rem; }
.consenso{ display:flex; gap:.7rem; align-items:flex-start; font-size:.87rem; color:var(--testo-2); }
.consenso input{ width:17px; height:17px; margin-top:.24rem; accent-color:var(--oro); flex:none; }
.esito{ padding:.95rem 1.1rem; border-radius:var(--r); font-size:.94rem; border:1px solid var(--bordo); background:var(--superficie); }
.esito--ok{ border-color:var(--oro); background:var(--oro-soft); }
.esito--ko{ border-color:#e0736b; color:#c0453c; }
:root[data-tema="scuro"] .esito--ko{ color:#ff9f97; }

/* ---------- BOX INFO ---------- */
.info{
  background:var(--superficie); border:1px solid var(--bordo-2); border-radius:var(--r-l);
  padding:clamp(1.4rem,2.4vw,1.9rem);
}
.info h3{ font-size:1.08rem; margin-bottom:.6rem; }

/* ---------- CHIUSURA ---------- */
.finale{
  background:var(--inverso-bg); color:var(--inverso-fg); border-radius:var(--r-xl);
  padding:clamp(2.4rem,5vw,4.2rem); text-align:center;
}
.finale h2{ color:var(--inverso-fg); max-width:20ch; margin-inline:auto; }
.finale p{ color:color-mix(in srgb, var(--inverso-fg) 66%, transparent); max-width:52ch; margin:1.1rem auto 0; }
.finale .btn{ background:var(--inverso-fg); color:var(--inverso-bg); }
.finale .btn--sec{ background:transparent; color:var(--inverso-fg); border-color:color-mix(in srgb, var(--inverso-fg) 28%, transparent); }
.finale__azioni{ display:flex; flex-wrap:wrap; gap:.7rem; justify-content:center; margin-top:2rem; }

/* ---------- FOOTER ---------- */
.ft{ border-top:1px solid var(--bordo-2); padding-block:clamp(2.6rem,5vw,4rem) 1.8rem; background:var(--sfondo-2); }
.ft__grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.1fr; gap:clamp(1.6rem,3.4vw,2.6rem); }
.ft h4{ font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--testo-3); margin:0 0 .9rem; }
.ft ul{ list-style:none; margin:0; padding:0; display:grid; gap:.5rem; }
.ft a{ color:var(--testo-2); font-size:.93rem; transition:color .2s; }
.ft a:hover{ color:var(--testo); }
.ft__marchio img{ height:46px; width:auto; }
.ft__base{
  margin-top:clamp(2rem,4vw,3rem); padding-top:1.3rem; border-top:1px solid var(--bordo-2);
  display:flex; flex-wrap:wrap; gap:.8rem 1.4rem; justify-content:space-between;
  color:var(--testo-3); font-size:.79rem;
}

/* ---------- WHATSAPP ---------- */
.wa-fab{
  position:fixed; right:clamp(14px,3vw,26px); bottom:clamp(14px,3vw,26px); z-index:90;
  display:inline-flex; align-items:center; gap:.55rem;
  background:#1fa855; color:#fff; padding:.8rem 1.1rem; border-radius:999px;
  font-weight:600; font-size:.9rem; box-shadow:0 6px 26px rgba(0,0,0,.28);
  transition:transform .25s var(--e), box-shadow .25s var(--e);
}
.wa-fab:hover{ transform:translateY(-3px); box-shadow:0 12px 34px rgba(0,0,0,.34); }
.wa-fab svg{ width:20px; height:20px; fill:currentColor; }
@media (max-width:560px){ .wa-fab span{ display:none; } .wa-fab{ padding:.85rem; } }

/* ---------- COMPARSA ---------- */
.rv{ opacity:0; transform:translateY(16px); transition:opacity .7s var(--e), transform .7s var(--e); }
.rv.on{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .rv{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
  *{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1080px){
  .team{ grid-template-columns:repeat(2,1fr); }
  .ft__grid{ grid-template-columns:1fr 1fr; }
  .g4{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:920px){
  .hero__grid{ grid-template-columns:1fr; }
  .hero__media{ aspect-ratio:16/11; order:-1; }
  .nav{ display:none; }
  .burger{ display:flex; }
  .hd__dx .btn{ display:none; }
  .due,.due--pari{ grid-template-columns:1fr; }
  .g3,.g2{ grid-template-columns:1fr; }
  .classe{ grid-template-columns:1fr; gap:.5rem; }
  .classe__sigla{ justify-self:start; }
  .classe__quando{ text-align:left; }
  .numeri{ grid-template-columns:1fr; }
  .giorno{ grid-template-columns:1fr; gap:.7rem; }
  .campo--2{ grid-template-columns:1fr; }
  .mosaico{ grid-template-columns:repeat(2,1fr); }
  .mosaico .figura--h2{ grid-row:span 1; aspect-ratio:1; }
  .mosaico .figura--w2{ grid-column:span 2; }
}
@media (max-width:560px){
  body{ font-size:16px; }
  .team{ grid-template-columns:1fr; }
  .ft__grid{ grid-template-columns:1fr; }
  .hero__azioni .btn{ width:100%; }
  .passo{ grid-template-columns:1fr; gap:.6rem; }
}

/* ritocchi mobile per il riquadro recensioni */
@media (max-width:560px){
  .hero__badge{ padding:.7rem .8rem; gap:.6rem; left:.7rem; right:.7rem; bottom:.7rem; border-radius:16px; }
  .hero__badge b{ font-size:1.25rem; }
  .hero__badge small{ font-size:.7rem; }
  .hero__badge .btn{ padding:.5rem .8rem; font-size:.8rem; }
}

/* ==========================================================================
   ICONE
   ========================================================================== */
.ico{ width:22px; height:22px; flex:none; }
.card__ico{ overflow:hidden; }
.card__ico .ico{ width:21px; height:21px; }
.ico-tondo{
  width:46px; height:46px; border-radius:14px; display:grid; place-items:center;
  background:var(--oro-soft); color:var(--oro); flex:none;
}
.ico-tondo .ico{ width:22px; height:22px; }

/* ==========================================================================
   RECENSIONI
   ========================================================================== */
.rec-testata{ display:flex; flex-wrap:wrap; align-items:center; gap:1.2rem; justify-content:space-between; margin-bottom:clamp(1.6rem,3vw,2.4rem); }
.rec-voto{ display:flex; align-items:center; gap:.9rem; }
.rec-voto b{ font-family:var(--display); font-size:clamp(2.2rem,4vw,3rem); line-height:1; letter-spacing:-.03em; }
.rec-voto small{ display:block; color:var(--testo-3); font-size:.85rem; }
.rec-griglia{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(.9rem,1.6vw,1.2rem); align-items:start; }
.rec{
  margin:0; height:100%; display:flex; flex-direction:column;
  background:var(--superficie); border:1px solid var(--bordo-2); border-radius:var(--r-l);
  padding:clamp(1.2rem,2.2vw,1.6rem);
}
.rec__stelle{ color:var(--oro); font-size:.82rem; letter-spacing:.1em; }
.rec p{
  font-size:.95rem; color:var(--testo-2); margin:.7rem 0 .9rem;
  display:-webkit-box; -webkit-line-clamp:7; -webkit-box-orient:vertical; overflow:hidden;
}
.rec footer{ margin-top:auto; display:flex; align-items:baseline; gap:.6rem; flex-wrap:wrap; font-size:.85rem; }
.rec footer b{ font-weight:600; }
.rec footer span{ color:var(--testo-3); font-size:.8rem; }
@media (max-width:1080px){ .rec-griglia{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .rec-griglia{ grid-template-columns:1fr; } }

/* ==========================================================================
   LOGO IN EVIDENZA
   ========================================================================== */
.marchio-grande{
  display:grid; place-items:center; padding:clamp(2.4rem,5vw,4rem) clamp(1.4rem,3vw,3rem);
  background:var(--superficie); border:1px solid var(--bordo-2); border-radius:var(--r-xl);
  text-align:center;
}
.marchio-grande img{ height:clamp(96px,15vw,160px); width:auto; }
.marchio-grande p{ margin-top:1.4rem; color:var(--testo-2); max-width:46ch; }

/* ==========================================================================
   BLOG
   ========================================================================== */
.art-lista{ display:grid; gap:clamp(1rem,2vw,1.4rem); grid-template-columns:repeat(2,1fr); }
.art{
  background:var(--superficie); border:1px solid var(--bordo-2); border-radius:var(--r-l);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .3s var(--e), box-shadow .3s var(--e), border-color .3s var(--e);
}
.art:hover{ transform:translateY(-4px); box-shadow:var(--ombra-alta); border-color:var(--bordo); }
.art__img{ aspect-ratio:16/9; overflow:hidden; background:var(--superficie-2); }
.art__img img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--e); }
.art:hover .art__img img{ transform:scale(1.04); }
.art__c{ padding:clamp(1.2rem,2.2vw,1.7rem); display:flex; flex-direction:column; gap:.6rem; flex:1; }
.art__meta{ display:flex; gap:.6rem; align-items:center; flex-wrap:wrap; font-family:var(--mono); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--testo-3); }
.tag{ padding:.22rem .6rem; border-radius:999px; background:var(--oro-soft); color:var(--oro); }
.art h3{ font-size:clamp(1.1rem,1.8vw,1.32rem); }
.art p{ color:var(--testo-2); font-size:.95rem; }
.art .link{ margin-top:auto; align-self:flex-start; }
.art--grande{ grid-column:span 2; }
.art--grande .art__img{ aspect-ratio:21/9; }
.art--grande h3{ font-size:clamp(1.4rem,2.6vw,2rem); }
@media (max-width:860px){ .art-lista{ grid-template-columns:1fr; } .art--grande{ grid-column:span 1; } }

/* --- articolo --- */
.testo-lungo{ max-width:var(--wrap); }        /* allineato al resto della pagina */
.testo-lungo > *{ max-width:70ch; }
.testo-lungo > .fig-box{ max-width:none; }    /* i grafici possono respirare */
.testo-lungo > .fig-box figcaption{ max-width:70ch; }
.testo-lungo h2{ font-size:clamp(1.5rem,2.6vw,2rem); margin:2.6rem 0 .9rem; letter-spacing:-.025em; }
.testo-lungo h3{ font-size:clamp(1.15rem,1.9vw,1.4rem); margin:2rem 0 .7rem; }
.testo-lungo p{ color:var(--testo-2); font-size:1.05rem; line-height:1.75; margin-bottom:1.1em; }
.testo-lungo ul,.testo-lungo ol{ color:var(--testo-2); font-size:1.05rem; line-height:1.7; padding-left:1.3rem; margin-bottom:1.2em; }
.testo-lungo li{ margin-bottom:.5rem; }
.testo-lungo strong{ color:var(--testo); font-weight:600; }
.testo-lungo a{ color:var(--oro); border-bottom:1px solid color-mix(in srgb, var(--oro) 40%, transparent); }
.testo-lungo a:hover{ border-bottom-color:var(--oro); }
.testo-lungo figure{ margin:2rem 0; }
.occhiello-art{ font-family:var(--serif); font-style:italic; font-size:clamp(1.2rem,2.2vw,1.55rem); line-height:1.45; color:var(--testo); max-width:60ch; }
.riquadro{
  background:var(--superficie); border:1px solid var(--bordo-2); border-left:3px solid var(--oro);
  border-radius:var(--r); padding:clamp(1.1rem,2vw,1.5rem); margin:1.8rem 0; max-width:70ch;
}
.riquadro p{ font-size:.98rem; margin-bottom:.7rem; }
.riquadro p:last-child{ margin-bottom:0; }
.riquadro h4{ font-size:.98rem; margin-bottom:.5rem; }
.fonti{ margin-top:3rem; padding-top:1.6rem; border-top:1px solid var(--bordo-2); }
.fonti h3{ font-size:1rem; margin-bottom:.9rem; }
.fonti ol{ font-size:.86rem; color:var(--testo-3); line-height:1.6; padding-left:1.2rem; }
.fonti li{ margin-bottom:.55rem; }
.fonti a{ color:var(--testo-2); }
.fonti__intro{ font-size:.84rem; color:var(--testo-3); margin:-.4rem 0 1rem; }
.fonti ol{ counter-reset:f; list-style:none; padding-left:0; }
.fonti li{ counter-increment:f; padding-left:2rem; position:relative; }
.fonti li::before{
  content:counter(f); position:absolute; left:0; top:.1rem;
  font-family:var(--mono); font-size:.72rem; color:var(--testo-3);
  border:1px solid var(--bordo-2); border-radius:999px;
  width:1.45rem; height:1.45rem; display:grid; place-items:center;
}
.fonti__link{
  display:inline-flex; align-items:center; gap:.25rem; margin-left:.4rem; white-space:nowrap;
  font-family:var(--mono); font-size:.7rem; letter-spacing:.04em; text-transform:uppercase;
  color:var(--oro); border-bottom:1px solid transparent; text-decoration:none;
}
.fonti__link:hover{ border-bottom-color:var(--oro); }

/* ---------- CONDIVISIONE ---------- */
.condividi{
  margin-top:2.4rem; padding-top:1.4rem; border-top:1px solid var(--bordo-2);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.9rem;
}
.condividi__t{ font-size:.88rem; color:var(--testo-2); }
.condividi__r{ display:flex; flex-wrap:wrap; gap:.4rem; }
.cond{
  width:2.4rem; height:2.4rem; border-radius:999px; display:grid; place-items:center;
  border:1px solid var(--bordo); background:var(--superficie); color:var(--testo-2);
  cursor:pointer; position:relative; padding:0;
  transition:border-color .2s var(--e), color .2s var(--e), background .2s var(--e), transform .2s var(--e);
}
.cond:hover{ border-color:var(--oro); color:var(--testo); transform:translateY(-1px); }
.cond svg{ display:block; }
.cond__ok{
  position:absolute; bottom:calc(100% + .45rem); left:50%; transform:translateX(-50%);
  background:var(--testo); color:var(--sfondo); font-size:.68rem; padding:.2rem .5rem;
  border-radius:5px; white-space:nowrap; pointer-events:none;
}
.indice{
  background:var(--superficie-2); border-radius:var(--r-l); padding:clamp(1.2rem,2.2vw,1.6rem);
  margin-bottom:2.4rem; max-width:70ch;
}
.indice h4{ font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--testo-3); margin-bottom:.8rem; }
.indice ol{ margin:0; padding-left:1.2rem; font-size:.95rem; }
.indice li{ margin-bottom:.4rem; }
.indice a{ color:var(--testo-2); }
.indice a:hover{ color:var(--oro); }

/* briciole */
.briciole{ display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; font-size:.82rem; color:var(--testo-3); margin-bottom:1.2rem; }
.briciole a{ color:var(--testo-3); }
.briciole a:hover{ color:var(--testo); }

/* box "sei nuovo?" */
.avvio{
  background:linear-gradient(135deg, var(--oro-soft), var(--superficie));
  border:1px solid var(--bordo-2); border-radius:var(--r-xl);
  padding:clamp(1.6rem,3.2vw,2.6rem);
}
.avvio h3{ font-size:clamp(1.3rem,2.2vw,1.7rem); margin-bottom:.7rem; }

/* ==========================================================================
   BANNER COOKIE
   ========================================================================== */
.ck{
  position:fixed; left:0; right:0; bottom:0; z-index:120;
  padding:clamp(.8rem,2vw,1.2rem);
  animation:ck-su .4s var(--e) both;
}
@keyframes ck-su{ from{ transform:translateY(14px); opacity:0; } to{ transform:none; opacity:1; } }
.ck__box{
  max-width:var(--wrap); margin-inline:auto;
  background:var(--superficie); border:1px solid var(--bordo);
  border-radius:var(--r-l); box-shadow:var(--ombra-alta);
  padding:clamp(1.1rem,2.2vw,1.6rem);
  display:grid; gap:1rem;
}
.ck h2{ font-size:1.05rem; margin-bottom:.4rem; }
.ck p{ font-size:.9rem; color:var(--testo-2); margin:0; max-width:82ch; }
.ck a{ color:var(--oro); text-decoration:underline; text-underline-offset:2px; }
.ck__scelte{ display:grid; gap:.6rem; padding-top:.2rem; }
.ck__voce{ display:flex; gap:.65rem; align-items:flex-start; font-size:.87rem; color:var(--testo-2); }
.ck__voce input{ width:17px; height:17px; margin-top:.2rem; accent-color:var(--oro); flex:none; }
.ck__voce b{ color:var(--testo); }
.ck__azioni{ display:flex; flex-wrap:wrap; gap:.55rem; }
.ck__azioni .btn{ padding:.72rem 1.25rem; font-size:.9rem; }
@media (max-width:620px){ .ck__azioni .btn{ flex:1 1 100%; } }

/* mappa con consenso */
.mappa-blocco{ position:relative; width:100%; height:100%; }
.mappa-blocco iframe{ width:100%; height:100%; border:0; display:block; }
.mappa-off{
  position:absolute; inset:0; display:grid; place-items:center; text-align:center;
  padding:clamp(1.2rem,3vw,2rem); background:var(--superficie-2); gap:.9rem;
}
.mappa-off p{ max-width:44ch; color:var(--testo-2); font-size:.93rem; margin:0; }
.mappa-off .btn{ margin-top:.3rem; }


/* ---------- FIGURE DEGLI ARTICOLI (SVG) ---------- */
.fig-box{ margin:clamp(2rem,4vw,3rem) 0; }
.fig-box figcaption{
  font-size:.82rem; color:var(--testo-3); margin-top:.7rem; line-height:1.55;
  padding-left:.9rem; border-left:2px solid var(--bordo);
}
.fig-box figcaption a{ color:var(--testo-2); border-bottom:1px solid var(--bordo); }
.fig{
  display:block; width:100%; height:auto; border-radius:var(--r-l);
  border:1px solid var(--bordo-2); background:var(--superficie-2); overflow:hidden;
}
.fig text{ font-family:var(--sans); fill:var(--testo-2); }
.fig .f-tit{ font-size:26px; font-weight:600; fill:var(--testo); letter-spacing:-.01em; }
.fig .f-sub{ font-size:17px; fill:var(--testo-3); }
.fig .f-lab{ font-size:18px; fill:var(--testo-2); }
.fig .f-val{ font-family:var(--mono); font-size:17px; fill:var(--testo-3); }
.fig .f-val--hi{ fill:var(--oro); }
.fig .f-tick{ font-family:var(--mono); font-size:14px; fill:var(--testo-3); }
.fig .f-piede{ font-size:14px; fill:var(--testo-3); }
.fig .f-nota{ font-size:15px; fill:var(--testo-3); }
/* alone dietro alle scritte, così non si perdono sopra le linee */
.fig .f-val,.fig .f-nota{ paint-order:stroke; stroke:var(--superficie-2); stroke-width:7px; stroke-linejoin:round; }
.fig .f-big{ font-family:var(--serif,var(--sans)); font-size:88px; font-weight:400; fill:var(--oro); letter-spacing:-.02em; }
.fig .f-cap{ font-size:17px; fill:var(--testo-2); }
.fig .f-num{ font-family:var(--mono); font-size:14px; fill:var(--testo-3); letter-spacing:.08em; }
@media (max-width:640px){
  .fig .f-tit{ font-size:34px; } .fig .f-sub{ font-size:23px; }
  .fig .f-lab,.fig .f-cap{ font-size:24px; } .fig .f-val{ font-size:22px; }
  .fig .f-piede,.fig .f-tick,.fig .f-nota{ font-size:19px; }
  .fig .f-big{ font-size:104px; }
}

/* ---------- FILTRI DEL BLOG ---------- */
.filtri{ display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:clamp(1.4rem,3vw,2rem); }
.filtro{
  display:inline-flex; align-items:center; gap:.45rem; padding:.42rem .85rem; border-radius:999px;
  border:1px solid var(--bordo); background:var(--superficie); color:var(--testo-2);
  font-size:.86rem; font-family:inherit; cursor:pointer;
  transition:border-color .2s var(--e), color .2s var(--e), background .2s var(--e);
}
.filtro i{ font-style:normal; font-family:var(--mono); font-size:.72rem; color:var(--testo-3); }
.filtro:hover{ border-color:var(--oro); color:var(--testo); }
.filtro.is-on{ background:var(--testo); border-color:var(--testo); color:var(--sfondo); }
.filtro.is-on i{ color:var(--sfondo); opacity:.65; }

/* ---------- COPERTINA CON IL DATO ---------- */
.art__img--dato{
  aspect-ratio:auto; min-height:190px;
  background:var(--superficie-2); border-bottom:1px solid var(--bordo-2);
  display:grid; place-items:center; padding:1.7rem 1.4rem;
  background-image:radial-gradient(var(--bordo) .8px, transparent .8px);
  background-size:16px 16px; background-position:-1px -1px;
}
.cop{ text-align:center; max-width:26ch; }
.cop__v{
  display:block; font-family:var(--serif); font-style:italic; font-size:clamp(2.8rem,5vw,3.6rem);
  line-height:1; color:var(--oro); letter-spacing:-.02em; margin-bottom:.65rem;
}
.cop__c{ display:block; font-size:.82rem; line-height:1.5; color:var(--testo-3); }
.art--grande .art__img--dato{ aspect-ratio:auto; min-height:236px; }
.art--grande .cop__v{ font-size:clamp(3.6rem,6vw,4.8rem); }
.art--grande .cop__c{ font-size:.94rem; }

/* ---------- GLOSSARIO ---------- */
.glo{ margin:1.4rem 0 0; }
.glo dt{
  font-weight:600; color:var(--testo); margin-top:1.1rem; font-size:1.02rem;
  display:flex; align-items:baseline; gap:.6rem;
}
.glo dt::after{ content:''; flex:1; height:1px; background:var(--bordo-2); }
.glo dd{ margin:.3rem 0 0; color:var(--testo-2); }

/* ---------- LA STRISCIA DELLE POLAROID ---------- */
.striscia-sez{ overflow:hidden; }
.striscia{ position:relative; }
.striscia::before,.striscia::after{
  content:''; position:absolute; top:0; bottom:0; width:clamp(2rem,8vw,7rem); z-index:2; pointer-events:none;
}
.striscia::before{ left:0;  background:linear-gradient(90deg, var(--sfondo), transparent); }
.striscia::after{  right:0; background:linear-gradient(270deg, var(--sfondo), transparent); }
.sez--alt .striscia::before{ background:linear-gradient(90deg, var(--sfondo-2), transparent); }
.sez--alt .striscia::after{  background:linear-gradient(270deg, var(--sfondo-2), transparent); }
.striscia__nastro{ display:flex; width:max-content; animation:striscia-scorri 64s linear infinite; }
.striscia:hover .striscia__nastro{ animation-play-state:paused; }
.striscia__blocco{ display:flex; gap:clamp(.9rem,2vw,1.6rem); padding-inline:clamp(.45rem,1vw,.8rem); }
@keyframes striscia-scorri{ to{ transform:translateX(-50%); } }
.pola{
  flex:none; width:clamp(150px,17vw,225px); border-radius:10px; overflow:hidden;
  box-shadow:var(--ombra); transition:transform .35s var(--e);
}
.pola--1{ transform:rotate(-1.6deg) translateY(4px); }
.pola--2{ transform:rotate(1.2deg); }
.pola--3{ transform:rotate(-.5deg) translateY(-4px); }
.pola:hover{ transform:rotate(0) translateY(-6px) scale(1.03); z-index:3; }
.pola img{ display:block; width:100%; height:auto; }
@media (prefers-reduced-motion: reduce){
  .striscia__nastro{ animation:none; overflow-x:auto; max-width:100%; -webkit-overflow-scrolling:touch; }
  .striscia__blocco[aria-hidden]{ display:none; }
}