/* Portale TF-WHIPLASH — stile tattico (palette e caratteri del sito originale, ospitati in locale) */
@font-face{font-family:Rajdhani;font-weight:500;font-display:swap;src:url(../fonts/rajdhani-500.woff2) format("woff2")}
@font-face{font-family:Rajdhani;font-weight:700;font-display:swap;src:url(../fonts/rajdhani-700.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:400;font-display:swap;src:url(../fonts/barlow-400.woff2) format("woff2")}
@font-face{font-family:Barlow;font-weight:500;font-display:swap;src:url(../fonts/barlow-500.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:800;font-display:swap;src:url(../fonts/barlow-condensed-800.woff2) format("woff2")}
:root{--nero:#070809;--scuro:#0e1210;--pannello:#141a13;--bordo:#1f2b1c;--verde:#2d4a25;--verde-ch:#4a7a3a;
--sabbia:#c4a35a;--sabbia-ch:#d9bc7a;--amaranto:#8b1a1a;--amaranto-ch:#a52424;--testo:#c0c8b8;--tenue:#7d8c75;--bianco:#edf0e8;
--titoli:"Barlow Condensed","Arial Narrow",Impact,sans-serif;--ui:Rajdhani,"Arial Narrow",sans-serif;--corpo:Barlow,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--nero);color:var(--testo);font:17px/1.65 var(--corpo)}
img{max-width:100%;height:auto;display:block}a{color:var(--sabbia)}a:hover{color:var(--sabbia-ch)}
:focus-visible{outline:2px solid var(--sabbia);outline-offset:3px}
h1,h2,h3{font-family:var(--titoli);color:var(--bianco);text-transform:uppercase;line-height:1;margin:.2em 0 .5em;letter-spacing:.01em}
h1{font-size:clamp(2.4rem,7vw,5rem)}h2{font-size:clamp(2rem,4.5vw,3.2rem)}h3{font-size:1.5rem}
.salta{position:absolute;left:-999px}.salta:focus{left:1rem;top:1rem;z-index:99;background:var(--sabbia);color:#000;padding:.5rem 1rem}
.contenitore{max-width:1180px;margin:0 auto;padding:0 1.25rem}.stretto{max-width:820px}.centrato{text-align:center}.centrato .intro{margin-left:auto;margin-right:auto}
.etichetta{font:600 .85rem/1 var(--ui);letter-spacing:.25em;text-transform:uppercase;color:var(--sabbia);margin:0 0 .8rem}
.etichetta:before{content:"▸ ";color:var(--amaranto-ch)}
.intro{font-size:1.15rem;max-width:42rem;color:var(--testo)}
.motto{font:italic 500 1.05rem var(--corpo);color:var(--sabbia-ch)}
.bottone,.bottone-piccolo{display:inline-block;font:700 .95rem/1 var(--ui);letter-spacing:.15em;text-transform:uppercase;text-decoration:none;
 background:var(--sabbia);color:var(--nero);padding:1rem 1.6rem;border:1px solid var(--sabbia);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}
.bottone:hover,.bottone-piccolo:hover{background:var(--sabbia-ch);color:var(--nero)}
.bottone.secondario{background:transparent;color:var(--sabbia)}.bottone.secondario:hover{background:rgba(196,163,90,.12);color:var(--sabbia-ch)}
.bottone-piccolo{padding:.6rem 1rem;font-size:.8rem}.bottoni{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
/* avvisi */
.avviso{padding:.7rem 1.25rem;background:var(--verde);color:var(--bianco);font:500 1rem var(--ui);text-align:center}.avviso a{color:var(--sabbia-ch)}
.avviso-importante{background:var(--amaranto)}
/* testata */
.testata{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.25rem;
 background:rgba(7,8,9,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--bordo)}
.marchio{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--bianco);font:700 1.15rem var(--ui);letter-spacing:.12em;text-transform:uppercase}
.marchio img{height:44px;width:auto}.marchio b{color:var(--sabbia)}
.menu{display:flex;align-items:center;gap:1.4rem}.menu a{font:600 .95rem var(--ui);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--testo)}
.menu a:hover{color:var(--sabbia)}.menu .bottone-piccolo{color:var(--nero)}
.menu-apri{display:none;background:none;border:1px solid var(--bordo);color:var(--bianco);font:600 .9rem var(--ui);letter-spacing:.15em;text-transform:uppercase;padding:.5rem .9rem}
@media(max-width:860px){.menu-apri{display:block}.menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--scuro);border-bottom:1px solid var(--bordo);padding:.5rem 1.25rem 1.2rem}
 .menu.aperto{display:flex}.menu a{padding:.75rem 0;width:100%}.menu .bottone-piccolo{margin-top:.6rem;width:auto}}
/* copertina */
.copertina{position:relative;min-height:88vh;display:grid;overflow:hidden;background:var(--scuro)}
.slide{grid-area:1/1;position:relative;display:flex;align-items:flex-end;opacity:0;visibility:hidden;transition:opacity .9s ease}
.slide.attiva{opacity:1;visibility:visible}.slide-sfondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.55)}
.slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,8,9,.1) 30%,rgba(7,8,9,.95))}
.slide-testo{position:relative;z-index:1;padding-bottom:6rem;width:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:2.5rem}.slide-blocco{flex:1 1 auto;min-width:0}.slide-testo{z-index:2}.copertina-scudo{position:absolute;z-index:1;right:7%;top:46%;transform:translateY(-50%);width:clamp(200px,30vw,440px);height:auto;opacity:.35;pointer-events:none;filter:drop-shadow(0 14px 32px rgba(0,0,0,.6))}@media(max-width:760px){.copertina-scudo{right:50%;top:38%;transform:translate(50%,-50%);width:58vw}}.slide h1 span{display:block}.slide h1 .accento{color:var(--sabbia)}
.slide-par{max-width:36rem;font-size:1.15rem;color:var(--bianco)}
.slide-punti{position:absolute;z-index:2;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;gap:.6rem}
.slide-punti button{width:34px;height:4px;border:0;background:rgba(237,240,232,.3);cursor:pointer}.slide-punti button.attivo{background:var(--sabbia)}
/* scorrevole */
.scorrevole{overflow:hidden;background:var(--verde);border-block:1px solid var(--verde-ch)}
.scorrevole-nastro{display:flex;gap:3rem;width:max-content;padding:.8rem 0;animation:scorri 38s linear infinite}
.scorrevole span{font:700 .95rem var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--bianco);white-space:nowrap}
.scorrevole span:before{content:"◆ ";color:var(--sabbia)}@keyframes scorri{to{transform:translateX(-50%)}}
/* sezioni */
.sezione{padding:5.5rem 0}.scura{background:var(--scuro);border-block:1px solid var(--bordo)}
.intestazione{padding:4.5rem 0 2rem;background:var(--scuro);border-bottom:1px solid var(--bordo)}
.due-colonne{display:grid;grid-template-columns:1.1fr 1fr;gap:3.5rem;align-items:start}@media(max-width:860px){.due-colonne{grid-template-columns:1fr;gap:2rem}}
.testo p{margin:0 0 1rem}.testo b,.testo strong{color:var(--bianco)}
.riquadro{border:1px solid var(--bordo);box-shadow:12px 12px 0 var(--verde)}
.numeri{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--bordo);border:1px solid var(--bordo);margin:2rem 0 0}
.numeri div{background:var(--pannello);padding:1.2rem}.numeri dt{font:800 2.4rem/1 var(--titoli);color:var(--sabbia)}.numeri dd{margin:.4rem 0 0;font:600 .85rem var(--ui);letter-spacing:.12em;text-transform:uppercase}
/* schede, locandine, foto */
.schede{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4rem;margin-top:1.5rem}
.scheda{display:block;text-decoration:none;background:var(--pannello);border:1px solid var(--bordo);transition:border-color .2s,transform .2s}
.scheda:hover{border-color:var(--sabbia);transform:translateY(-3px)}.scheda img{aspect-ratio:3/2;object-fit:cover;width:100%}
.scheda-titolo{display:block;padding:1rem 1rem .2rem;font:800 1.4rem var(--titoli);text-transform:uppercase;color:var(--bianco)}
.scheda-sotto{display:block;padding:0 1rem 1rem;color:var(--tenue);font-size:.95rem}
.locandine{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.4rem;margin:1rem 0 2.5rem}
.locandina{display:flex;flex-direction:column;text-decoration:none;background:var(--pannello);border:1px solid var(--bordo)}.locandina:hover{border-color:var(--sabbia)}
.locandina img{aspect-ratio:12/17;object-fit:cover;width:100%}.locandina-vuota{aspect-ratio:12/17;display:grid;place-items:center;font-size:3rem;color:var(--verde-ch);background:var(--scuro)}
.locandina-data{padding:.8rem .9rem 0;font:600 .8rem var(--ui);letter-spacing:.15em;text-transform:uppercase;color:var(--sabbia)}
.locandina-titolo{padding:.2rem .9rem;font:800 1.25rem var(--titoli);text-transform:uppercase;color:var(--bianco)}.locandina-luogo{padding:0 .9rem .9rem;color:var(--tenue);font-size:.9rem}
.griglia-foto{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem;margin:1.5rem 0}
.griglia-foto img{aspect-ratio:4/3;object-fit:cover;width:100%;filter:saturate(.85);transition:filter .2s}.griglia-foto a:hover img{filter:saturate(1.05)}
.corpo-foto{margin:2rem 0}.corpo-foto figcaption{color:var(--tenue);font-size:.9rem;margin-top:.5rem}.corpo-blocco{margin:1.2rem 0}
.corpo-citazione blockquote{margin:0;border-left:3px solid var(--sabbia);padding-left:1.2rem;font-size:1.2rem;color:var(--bianco)}
.corpo-video iframe{width:100%;aspect-ratio:16/9;height:auto}
.dati{display:grid;gap:1px;background:var(--bordo);border:1px solid var(--bordo);margin:1.5rem 0}.dati div{display:grid;grid-template-columns:10rem 1fr;background:var(--pannello);padding:.7rem 1rem}
.dati dt{font:600 .85rem var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--sabbia)}.dati dd{margin:0}
/* valori, sponsor */
.valori{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.4rem;margin-top:1.5rem}
.valore{background:var(--pannello);border:1px solid var(--bordo);border-top:3px solid var(--amaranto);padding:1.8rem}.valore-num{font:800 2rem var(--titoli);color:var(--verde-ch)}
.sponsor{padding:3.5rem 0}.sponsor-loghi{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2.5rem}
.sponsor-loghi img{max-height:70px;width:auto;filter:grayscale(1) brightness(1.4);opacity:.8;transition:all .2s}.sponsor-loghi a:hover img{filter:none;opacity:1}
/* piè di pagina */
.piede{background:var(--scuro);border-top:1px solid var(--bordo);padding:3.5rem 1.25rem 1.5rem}
.piede-griglia{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem}@media(max-width:760px){.piede-griglia{grid-template-columns:1fr}}
.piede-griglia a{display:block;color:var(--testo);text-decoration:none;padding:.2rem 0}.piede-griglia a:hover{color:var(--sabbia)}
.piede-nome{font:800 1.6rem var(--titoli);text-transform:uppercase;color:var(--bianco);margin:0}.piede-titolo{font:700 .85rem var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--sabbia)}
.piede-legale{max-width:1180px;margin:2.5rem auto 0;padding-top:1.2rem;border-top:1px solid var(--bordo);font-size:.85rem;color:var(--tenue)}
/* visore foto */
.visore{position:fixed;inset:0;z-index:50;background:rgba(7,8,9,.95);display:grid;place-items:center;padding:1rem}
.visore img{max-height:84vh;width:auto}.visore p{color:var(--testo);text-align:center}.visore button{position:absolute;top:1rem;right:1rem;background:none;border:1px solid var(--bordo);color:var(--bianco);padding:.5rem .9rem;font:600 .9rem var(--ui);text-transform:uppercase;letter-spacing:.15em;cursor:pointer}
