/* ============================================================
   REPIN — Stile del sito (condiviso da tutte le pagine)
   Per cambiare COLORI, FONT, SPAZI: modifica solo qui sotto.
   ============================================================ */

:root{
  /* --- COLORI BRAND (qui si cambiano in un colpo solo) --- */
  --navy:#272e66;          /* blu Repin */
  --navy900:#14193b;       /* blu profondo */
  --navy100:#e7e9f2;
  --navy200:#c7cbe0;
  --navy300:#9aa0c6;
  --ink:#14172b;           /* testo */
  --gray700:#3a4054;
  --gray600:#565d70;
  --gray500:#7b8294;
  --gray300:#cdd2dc;
  --gray200:#e0e3ea;
  --gray100:#eef0f4;
  --gray50:#f7f8fa;
  --line:#e0e3ea;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Archivo',Helvetica,Arial,sans-serif;color:var(--ink);
  line-height:1.5;-webkit-font-smoothing:antialiased;background:#fff}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
h1,h2,h3,h4,p{margin:0;text-wrap:pretty}

.wrap{max-width:1280px;margin:0 auto;padding:0 var(--wrap-pad,40px)}
.kick{font-family:'Chivo Mono','Archivo',monospace;font-size:13px;font-weight:500;letter-spacing:.2em;
  text-transform:uppercase;color:var(--navy);display:inline-flex;align-items:center;gap:14px}
.kick.inv{color:var(--navy300)}
.kick .ln{width:44px;height:2px;background:currentColor}

.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:16px;
  padding:15px 28px;border:1px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;
  transition:.18s;white-space:nowrap}
.btn:hover{background:var(--navy900);border-color:var(--navy900)}
.btn.inv{background:#fff;color:var(--navy);border-color:#fff}
.btn.inv:hover{background:var(--navy100)}
.btn.out{background:transparent;color:var(--navy)}
.btn.out:hover{background:var(--navy);color:#fff}
.btn .ar{font-size:18px;line-height:1;transition:transform .18s}
.btn:hover .ar{transform:translateX(3px)}
.btn.dl svg{transition:transform .18s}
.btn.dl:hover svg{transform:translateY(3px)}

/* ---------- HEADER ---------- */
.hd{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .25s,border-color .25s,box-shadow .25s;
  border-bottom:1px solid transparent}
.hd .in{display:flex;align-items:center;justify-content:space-between;height:86px}
.hd .logo img{height:46px;transition:.25s}
.hd nav{display:flex;align-items:center;gap:2px}
.hd nav a{padding:10px 15px;font-size:14px;font-weight:600;letter-spacing:-.01em;
  border-bottom:2px solid transparent;transition:.15s}
.hd .sep{width:1px;height:26px;margin:0 12px}
.hd .burger{display:none;background:none;border:1px solid;width:46px;height:46px;cursor:pointer;font-size:22px}

/* header trasparente sopra l'hero scuro */
.hd.on-dark{color:#fff}
.hd.on-dark nav a{color:rgba(255,255,255,.85)}
.hd.on-dark nav a:hover,.hd.on-dark nav a.on{color:#fff;border-bottom-color:#fff}
.hd.on-dark .sep{background:rgba(255,255,255,.3)}
.hd.on-dark .burger{color:#fff;border-color:rgba(255,255,255,.4)}
.hd.on-dark .logo img{filter:brightness(0) invert(1)}
.hd.on-dark .btn{background:#fff;color:var(--navy);border-color:#fff}

/* header solido dopo lo scroll (o su pagine chiare) */
.hd.solid{background:#fff;color:var(--ink);border-bottom-color:var(--line);box-shadow:0 1px 0 rgba(20,23,43,.04)}
.hd.solid nav a{color:var(--gray600)}
.hd.solid nav a:hover,.hd.solid nav a.on{color:var(--navy);border-bottom-color:var(--navy)}
.hd.solid .sep{background:var(--gray200)}
.hd.solid .burger{color:var(--navy);border-color:var(--gray200)}
.hd.solid .logo img{filter:none}
.hd.solid .btn{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:92vh;display:flex;align-items:flex-end;background:var(--navy900);overflow:hidden}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:38% 78%;
  transform:scale(1.04);animation:heroZoom 16s ease-out forwards}
@keyframes heroZoom{to{transform:scale(1)}}
.hero .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,25,59,.55) 0%,rgba(20,25,59,.34) 40%,rgba(20,25,59,.2) 72%,rgba(20,25,59,.3) 100%)}
.hero .in{position:relative;width:100%;padding-bottom:64px;text-shadow:0 2px 22px rgba(12,16,40,.55)}
.hero h1{font-size:84px;font-weight:800;line-height:.98;letter-spacing:-.03em;color:#fff;max-width:18ch}
.hero p{font-size:22px;color:var(--navy100);max-width:46ch;margin-top:26px}
.hero .cta{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.hero .scroll{position:absolute;right:40px;bottom:80px;color:#fff;font-family:'Chivo Mono','Archivo',monospace;
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl;display:flex;align-items:center;gap:14px}
.hero .scroll::after{content:"";width:1px;height:54px;background:rgba(255,255,255,.5)}

/* pagina interna: hero corto */
.phead{background:var(--navy);color:#fff;padding:150px 0 64px}
.phead h1{font-size:60px;font-weight:800;letter-spacing:-.03em;line-height:1;margin-top:18px;color:#fff}
.phead p{font-size:18px;color:var(--navy100);max-width:54ch;margin-top:18px}

/* ---------- STATS ---------- */
.stats{background:var(--navy)}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stats .c{padding:54px 36px;border-right:1px solid rgba(255,255,255,.14)}
.stats .c:last-child{border-right:none}
.stats .e{font-family:'Chivo Mono','Archivo',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy200)}
.stats .v{font-family:'Chivo Mono','Archivo',monospace;font-size:46px;font-weight:500;color:#fff;line-height:1;margin:16px 0 10px}
.stats .l{font-size:14px;color:var(--navy100)}

/* ---------- SEZIONI ---------- */
.sec{padding:120px 0}
.sec.tight{padding:88px 0}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:56px}
.head h2{font-size:40px;font-weight:700;letter-spacing:-.025em;max-width:22ch;margin-top:14px}
.more{display:inline-flex;align-items:center;gap:9px;color:var(--navy);font-weight:600;font-size:15px;white-space:nowrap}
.more .ar{transition:transform .18s}
.more:hover .ar{transform:translateX(3px)}

/* intro editoriale */
.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.intro.origins{align-items:start}
.split .founder{margin:0}
.split .founder img{width:100%;height:auto;display:block;aspect-ratio:4/5;object-fit:cover;object-position:center top}
.split .founder figcaption{font-family:'Chivo Mono','Archivo',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray500);margin-top:12px}
.split p b{color:var(--navy);font-weight:700}
.intro .big,.sec .big{font-size:34px;font-weight:600;line-height:1.3;letter-spacing:-.01em}
.intro .big b,.sec .big b{color:var(--navy);font-weight:800}
.intro .col p{font-size:16px;color:var(--gray600);margin-bottom:16px}
.intro .founder{margin:26px 0 0}
.intro .founder img{width:100%;height:auto;display:block}
.intro .founder figcaption{font-family:'Chivo Mono','Archivo',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray500);margin-top:12px}

/* due colonne con foto */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.split h2{font-size:40px;font-weight:800;letter-spacing:-.025em;margin:14px 0 20px;line-height:1.05}
.split p{font-size:16px;color:var(--gray600);margin-bottom:16px;line-height:1.7}
.split .photo{height:520px;background:var(--gray100) center/cover}
.nums{display:flex;gap:40px;margin-top:30px;border-top:2px solid var(--navy);padding-top:24px}
.nums .v{font-family:'Chivo Mono','Archivo',monospace;font-size:32px;font-weight:600;color:var(--navy);line-height:1}
.nums .l{font-size:13px;color:var(--gray500);margin-top:6px}

/* CSR — foto progetto sociale */
.csr-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.csr-photos .ph{height:470px;background:var(--gray100) center/cover}
.csr-photos .ph:nth-child(2){margin-top:44px}
.csr-cap{font-size:13px;color:var(--gray500);margin-top:14px;font-style:italic}

/* ---------- AMBITI (cards) ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--navy)}
.cards .card{padding:44px 36px;border-right:1px solid var(--line);transition:.2s}
.cards .card:last-child{border-right:none}
.cards.c4{grid-template-columns:repeat(2,1fr)}
.cards.c4 .card{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.cards.c4 .card:nth-child(2n){border-right:none}
.cards.c4 .card:nth-child(n+3){border-bottom:none}
.cards .card:hover{background:var(--gray50)}
.cards .num{font-family:'Chivo Mono','Archivo',monospace;font-size:13px;color:var(--navy300)}
.cards h3{font-size:24px;font-weight:700;margin:22px 0 12px}
.cards p{font-size:15px;color:var(--gray600);line-height:1.6;margin-bottom:24px}
.cards .lk{color:var(--navy);font-weight:600;font-size:14px;display:inline-flex;gap:8px;align-items:center}

/* ---------- LAVORI (griglia premium) ---------- */
.work{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.work.three{grid-template-columns:repeat(3,1fr)}
.proj{position:relative;display:block;overflow:hidden;background:var(--navy900);aspect-ratio:4/3}
.proj .img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s ease}
.proj:hover .img{transform:scale(1.06)}
.proj .ph-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,var(--navy) 0%,var(--navy900) 100%)}
.proj .ph-empty span{font-family:'Chivo Mono','Archivo',monospace;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--navy300)}
.proj .grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,25,59,0) 40%,rgba(20,25,59,.9) 100%)}
.proj .meta{position:absolute;left:0;right:0;bottom:0;padding:28px}
.proj .tag{font-family:'Chivo Mono','Archivo',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;border:1px solid rgba(255,255,255,.5);padding:5px 9px;display:inline-block;margin-bottom:14px}
.proj h3{font-size:24px;font-weight:700;color:#fff;line-height:1.15}
.proj .loc{display:flex;align-items:center;gap:7px;color:var(--navy200);font-size:13px;margin-top:8px}

/* ---------- PERCHE ---------- */
.why{background:var(--gray50);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.why .g{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:center}
.why h2{font-size:40px;font-weight:700;letter-spacing:-.025em;margin:14px 0 18px}
.why .lead{font-size:16px;color:var(--gray600)}
.why .row{display:flex;gap:22px;padding:28px 0;border-top:1px solid var(--gray200)}
.why .row:first-child{border-top:2px solid var(--navy)}
.why .row h3{font-size:19px;font-weight:700;margin-bottom:6px}
.why .row p{font-size:15px;color:var(--gray600)}
.why .ic{font-family:'Chivo Mono','Archivo',monospace;font-weight:600;color:var(--navy);font-size:13px;
  border:1px solid var(--navy);width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex:none}

/* ---------- SEDE / banda foto ---------- */
.band{position:relative;min-height:600px;display:flex;align-items:center;justify-content:center;text-align:center;
  background-size:cover;background-position:center 55%}
.band .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,25,59,.78),rgba(20,25,59,.5) 45%,rgba(20,25,59,.9))}
.band .bx{position:relative;padding:0 32px}
.band h2{font-size:52px;font-weight:800;letter-spacing:-.025em;color:#fff;max-width:20ch;margin:18px auto 0;line-height:1.04}
.band p{font-size:18px;color:var(--navy100);max-width:50ch;margin:20px auto 0}
.band .bx.sp-split{width:100%;max-width:1280px;padding:0 var(--wrap-pad,40px);box-sizing:border-box;display:grid;grid-template-columns:1.35fr .65fr;gap:80px;align-items:center;text-align:left}
.band .sp-tx h2{margin:16px 0 0;max-width:22ch}
.band .sp-tx p{margin:22px 0 0;max-width:56ch}
.band .sponsor{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:#fff;border-radius:18px;padding:38px 34px;box-shadow:0 8px 22px rgba(8,12,32,.16)}
.band .sponsor img{width:auto;max-width:100%;height:92px;object-fit:contain}
.band .sp-x{font-size:17px;font-weight:600;color:var(--gray300)}
.band .ov{z-index:1}
.band .bx{z-index:2}

/* ---------- ASSOCIAZIONI / APPARTENENZE ---------- */
.assoc{background:var(--navy900)}
.assoc-g{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.assoc-tx h2{font-size:38px;font-weight:800;letter-spacing:-.025em;color:#fff;margin:16px 0 18px;line-height:1.08;max-width:19ch}
.assoc-tx p{font-size:17px;color:var(--navy100);max-width:46ch}
.assoc-logos{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.al{background:#fff;padding:44px 34px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:300px;transition:transform .2s ease,box-shadow .2s ease}
.al:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(0,0,0,.6)}
.al img{max-height:132px;max-width:100%;width:auto;object-fit:contain}
.al-fallback{display:none;align-items:center;justify-content:center;font-family:'Archivo',sans-serif;font-weight:900;font-size:30px;letter-spacing:-.02em;color:var(--navy);flex:1}
.al-cap{font-family:'Chivo Mono','Archivo',monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--gray500);line-height:1.45;max-width:22ch}
@media(max-width:860px){.assoc-g{grid-template-columns:1fr;gap:40px}}

/* ---------- CTA ---------- */
.cta-band{background:var(--navy900)}
.cta-band .g{display:flex;align-items:center;justify-content:space-between;gap:48px;padding:90px 0;flex-wrap:wrap}
.cta-band h2{font-size:40px;font-weight:800;letter-spacing:-.025em;color:#fff;margin:14px 0;max-width:18ch}
.cta-band p{font-size:17px;color:var(--navy100);max-width:46ch}

/* ---------- CONTATTI ---------- */
.cont .g{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.cont h2{font-size:44px;font-weight:800;letter-spacing:-.025em;margin:14px 0 18px;line-height:1.04}
.cont .lead{font-size:16px;color:var(--gray600);margin-bottom:30px;max-width:42ch}
.info{display:flex;align-items:flex-start;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.info .k{font-family:'Chivo Mono','Archivo',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray500);width:92px;flex:none;padding-top:3px}
.info .v{font-size:15px;color:var(--ink);font-weight:500}
.map{margin-top:0;border:0;width:100%;height:280px;display:block}
.mapbox{margin-top:30px;border:1px solid var(--line)}
.maploader{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;height:280px;justify-content:center;padding:0 32px;background:var(--gray50);border:0;cursor:pointer;text-align:left;font-family:inherit;transition:background .2s}
.maploader:hover{background:#eef1f5}
.maploader .ml-ic{color:var(--navy);margin-bottom:6px}
.maploader .ml-t{font-size:15px;font-weight:600;color:var(--ink)}
.maploader .ml-s{font-family:'Chivo Mono','Archivo',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);font-weight:600}
.maploader .ml-n{font-size:12px;color:var(--gray500);margin-top:4px}
.ml-ext{display:block;padding:14px 32px;border-top:1px solid var(--line);font-size:13px;font-weight:600;text-decoration:none}
form.box{border:1px solid var(--line);padding:40px;background:var(--gray50)}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.field label{font-size:14px;font-weight:600;color:var(--ink)}
.field input,.field textarea{font-family:inherit;font-size:16px;color:var(--ink);background:#fff;
  border:1px solid var(--gray300);padding:13px 15px;width:100%;border-radius:0}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.field textarea{min-height:130px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.okmsg{display:none;align-items:center;gap:10px;color:#2f6f4f;font-weight:600;margin-top:16px}

/* ---------- FOOTER ---------- */
.ft{background:var(--navy);color:#fff}
.ft .in{padding:72px var(--wrap-pad,40px) 44px}
.ft .top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:48px;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:52px}
.ft .leadf{color:var(--navy100);font-size:14px;max-width:32ch;margin:20px 0}
.ft h4{font-family:'Chivo Mono','Archivo',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy200);margin:0 0 16px}
.ft a.lk{display:block;color:#fff;font-size:14px;padding:6px 0}
.ft a.lk:hover{color:var(--navy200)}
.ft .ctline{color:#fff;font-size:14px;line-height:1.6;margin:0 0 10px}
.ft .ctlabel{font-family:'Chivo Mono','Archivo',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy200);margin:0 0 4px}
.ft .soc{display:flex;gap:10px;margin-top:6px}
.ft .soc a{width:40px;height:40px;border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center}
.ft .soc a:hover{background:rgba(255,255,255,.1)}
.ft .soc .shr{width:40px;height:40px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:.15s}
.ft .soc .shr:hover{background:rgba(255,255,255,.1)}
.ft .soc .shr.ok svg{display:none}
.ft .soc .shr.ok::after{content:"\2713";font-size:16px;line-height:1}
.ft .soc .shr.ok{border-color:#fff}
.ft .bot{display:flex;justify-content:space-between;padding-top:26px;font-family:'Chivo Mono','Archivo',monospace;font-size:12px;color:var(--navy200)}

/* ---------- FILTRI (lavori/galleria) ---------- */
.filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}
.filter button{font-family:'Chivo Mono','Archivo',monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  padding:9px 14px;border:1px solid var(--gray300);background:transparent;color:var(--gray600);cursor:pointer;transition:.15s}
.filter button:hover{border-color:var(--navy);color:var(--navy)}
.filter button.on{background:var(--navy);border-color:var(--navy);color:#fff}

/* ---------- GALLERIA ---------- */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gcell{position:relative;aspect-ratio:4/3;background:var(--gray100) center/cover;overflow:hidden;display:block}
.gcell.tall{aspect-ratio:auto;grid-row:span 2}
.gcell .ph-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--navy) 0%,var(--navy900) 100%)}
.gcell .ph-empty span{font-family:'Chivo Mono','Archivo',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy300)}
.gcell .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.gcell .play span{width:64px;height:64px;border:2px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;background:rgba(20,25,59,.35)}
.gcell .cap{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(180deg,transparent,rgba(20,25,59,.85));
  color:#fff;font-size:13px;font-weight:600}

/* ---------- LIGHTBOX ---------- */
.lb-gal .gcell{cursor:pointer}
.lb-gal .gcell .zoom{position:absolute;top:12px;right:12px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  background:rgba(20,25,59,.55);color:#fff;font-size:16px;opacity:0;transition:.2s}
.lb-gal .gcell:hover .zoom{opacity:1}
.lb{position:fixed;inset:0;z-index:1000;background:rgba(10,13,30,.94);display:none;align-items:center;justify-content:center;gap:8px;padding:40px}
.lb.on{display:flex}
.lb-stage{position:relative;flex:1;height:100%;display:flex;align-items:center;justify-content:center}
.lb-stage img{max-width:100%;max-height:88vh;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lb-count{position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);font-family:'Chivo Mono','Archivo',monospace;font-size:12px;letter-spacing:.1em;color:var(--navy300)}
.lb-nav{flex:none;width:56px;height:56px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-size:30px;line-height:1;cursor:pointer;transition:.18s}
.lb-nav:hover{background:rgba(255,255,255,.12)}
.lb-x{position:absolute;top:26px;right:30px;width:46px;height:46px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-size:20px;cursor:pointer;transition:.18s}
.lb-x:hover{background:rgba(255,255,255,.12)}
@media(max-width:980px){
  :root{--wrap-pad:22px}.lb{padding:16px;gap:4px}.lb-nav{width:44px;height:44px;font-size:24px}}

/* ---------- CERTIFICAZIONI ---------- */
.cert{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;border-top:2px solid var(--navy)}
.cert .ci{padding:32px 26px;border-right:1px solid var(--line)}
.cert .ci:last-child{border-right:none}
.cert .ci .code{font-family:'Chivo Mono','Archivo',monospace;font-size:22px;font-weight:600;color:var(--navy)}
.cert .ci h3{font-size:17px;font-weight:700;margin:10px 0 6px}
.cert .ci p{font-size:13px;color:var(--gray600);line-height:1.5}

/* ---------- CDA / board ---------- */
.board{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mem{border:1px solid var(--line)}
.mem .ph{height:240px;background:var(--gray100) center/cover;position:relative}
.mem .ph .ph-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--navy) 0%,var(--navy900) 100%)}
.mem .ph .ph-empty span{font-family:'Chivo Mono','Archivo',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy300)}
.mem .bd{padding:22px}
.mem h3{font-size:18px;font-weight:700}
.mem .role{font-family:'Chivo Mono','Archivo',monospace;font-size:12px;letter-spacing:.06em;color:var(--navy);margin-top:6px}

/* ---------- POSIZIONI APERTE ---------- */
.pos{border-top:2px solid var(--navy)}
.posit{display:grid;grid-template-columns:2fr 1.1fr 1.1fr 1fr 130px;gap:24px;align-items:center;
  padding:28px 0;border-bottom:1px solid var(--line);transition:background .18s}
.posit:hover{background:var(--gray50)}
.posrow.head-row{display:grid;grid-template-columns:2fr 1.1fr 1.1fr 1fr 130px;gap:24px;padding:20px 0 16px;
  font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--gray500)}
.posit .rolewrap{display:flex;flex-direction:column;gap:5px}
.posit .dept{font-size:14px;color:var(--gray500)}
.subh{font-size:15px;color:var(--gray600);margin-top:12px;max-width:52ch}
.posit .role{font-size:21px;font-weight:700;letter-spacing:-.01em}
.posit .meta{font-size:16px;color:var(--gray700);display:flex;flex-direction:column;gap:3px}
.posit .meta .mk{color:var(--gray500);font-size:13px;font-weight:600;display:none}
.field input[type=file]{padding:11px 13px;font-family:'Chivo Mono','Archivo',monospace;font-size:13px;color:var(--gray600);cursor:pointer}
.field input[type=file]::file-selector-button{font-family:'Chivo Mono','Archivo',monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;margin-right:14px;padding:8px 14px;border:1px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer}
.field input[type=file]::file-selector-button:hover{background:var(--navy900)}
.posit .go{color:var(--navy);font-weight:600;font-size:15px;display:inline-flex;gap:7px;align-items:center;white-space:nowrap}
.posit .go .ar,.posit .go{transition:.18s}
.posit:hover .go{gap:11px}

/* ---------- RESPONSIVE blocchi pagine ---------- */
@media(max-width:980px){
  .gal{grid-template-columns:1fr 1fr}.gcell.tall{grid-row:span 1;aspect-ratio:4/3}
  .cert{grid-template-columns:1fr 1fr}.cert .ci:nth-child(2){border-right:none}
  .board{grid-template-columns:1fr}
  .posit{grid-template-columns:1fr;gap:10px}
  .posrow.head-row{display:none}
  .posit .meta{flex-direction:row;align-items:baseline;gap:8px}
  .posit .meta .mk{display:inline}
  .posit .go{justify-content:flex-start}
}

/* ---------- NEWS FEED (home) ---------- */
.news{background:#fff}
.newsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.na{display:block;border:1px solid var(--line);transition:.2s;background:#fff}
.na:hover{border-color:var(--navy);transform:translateY(-3px)}
.na .img{height:200px;background:var(--gray100) center/cover;position:relative}
.na .img .ph-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,var(--navy) 0%,var(--navy900) 100%)}
.na .img .ph-empty span{font-family:'Chivo Mono','Archivo',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy300)}
.na .bd{padding:26px}
.na .date{font-family:'Chivo Mono','Archivo',monospace;font-size:12px;letter-spacing:.06em;color:var(--navy);display:flex;gap:12px;align-items:center}
.na .date .cat{color:var(--gray500)}
.na h3{font-size:20px;font-weight:700;line-height:1.25;margin:14px 0 10px}
.na p{font-size:14px;color:var(--gray600);line-height:1.55}
.na .lk{color:var(--navy);font-weight:600;font-size:14px;display:inline-flex;gap:8px;align-items:center;margin-top:16px}

/* ---------- SCOPRI DI PIÙ (righe editoriali stile Ferrero) ---------- */
.disc{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.drow{display:grid;grid-template-columns:1fr 1fr;min-height:440px;border-top:1px solid var(--line)}
.drow:first-child{border-top:none}
.drow .ph{background:var(--gray100) center/cover;position:relative;overflow:hidden}
.drow .ph .ph-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,var(--navy) 0%,var(--navy900) 100%)}
.drow .ph .ph-empty span{font-family:'Chivo Mono','Archivo',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy300)}
.drow .ph.loghi3{background:#fff;display:flex;align-items:center;justify-content:center;padding:32px}
.drow .ph.loghi3 img{width:100%;height:100%;max-height:440px;object-fit:contain}
.drow:has(.loghi3) .tx{background:var(--navy)}
.drow .tx.dark{background:var(--navy)}
.drow .tx.dark h3,.drow .tx.dark p{color:#fff}
.drow .tx.dark .btn.out{color:#fff;border-color:rgba(255,255,255,.55)}
.drow .tx.dark .btn.out:hover{background:#fff;color:var(--navy);border-color:#fff}
.drow:has(.loghi3) .tx h3,.drow:has(.loghi3) .tx p{color:#fff}
.drow:has(.loghi3) .tx .btn.out{color:#fff;border-color:rgba(255,255,255,.55)}
.drow:has(.loghi3) .tx .btn.out:hover{background:#fff;color:var(--navy);border-color:#fff}
.drow .tx{display:flex;flex-direction:column;justify-content:center;padding:64px 72px}
.drow:nth-child(even) .ph{order:2}
.drow .num{font-family:'Chivo Mono','Archivo',monospace;font-size:13px;color:var(--navy300)}
.drow h3{font-size:34px;font-weight:800;letter-spacing:-.02em;margin:16px 0 16px;line-height:1.08}
.drow p{font-size:16px;color:var(--gray600);line-height:1.6;max-width:44ch;margin-bottom:26px}

/* ---------- GRAFICO CRESCITA (stile Ferrero "La crescita nel tempo") ---------- */
.chart{max-width:960px;margin:56px auto 0}
.bars{display:grid;grid-template-columns:repeat(var(--n,8),1fr);gap:20px;align-items:end;height:320px;
  border-bottom:2px solid var(--navy);padding:0 6px}
.bar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.bar .val{font-family:'Chivo Mono','Archivo',monospace;font-weight:600;font-size:18px;color:var(--navy);margin-bottom:10px}
.bar .col{width:100%;max-width:52px;background:var(--navy);transition:height .9s var(--e,cubic-bezier(.2,0,0,1))}
.bar:nth-child(odd) .col{background:var(--navy900)}
.barx{display:grid;grid-template-columns:repeat(var(--n,8),1fr);gap:20px;padding:14px 6px 0}
.barx span{font-family:'Chivo Mono','Archivo',monospace;font-size:12px;color:var(--gray500);text-align:center}
.chart .axis{font-family:'Chivo Mono','Archivo',monospace;font-size:12px;color:var(--gray500);margin-bottom:8px}

/* ---------- TIMELINE (stile Ferrero) ---------- */
.tl{max-width:920px;margin:0 auto;position:relative}
.tl::before{content:"";position:absolute;left:50%;top:8px;bottom:8px;width:2px;background:var(--gray200);transform:translateX(-50%)}
.tlrow{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;padding:52px 0;position:relative}
.tlrow .logo{display:flex;justify-content:flex-end;padding-right:16px}
.tlrow .logo .box{border:1px solid var(--line);padding:20px 26px;background:#fff;min-width:180px;text-align:center;
  font-family:'Chivo Mono','Archivo',monospace;font-weight:600;color:var(--navy);font-size:15px;letter-spacing:.02em}
.tlrow .logo .box:has(img){border:none;background:transparent;padding:0;min-width:0;min-height:105px;display:flex;align-items:center;justify-content:center}
.tlrow .logo .box img{max-height:105px;height:auto;width:auto;max-width:240px;margin:0 auto;display:block;object-fit:contain}
.tlrow .dot{display:flex;justify-content:center}
.tlrow .dot span{width:16px;height:16px;background:var(--navy);border:3px solid #fff;box-shadow:0 0 0 2px var(--navy);border-radius:50%;z-index:1}
.tlrow .yr{padding-left:16px}
.tlrow .yr .y{font-size:40px;font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1}
.tlrow .yr .d{font-size:15px;color:var(--gray600);margin-top:8px;max-width:34ch}
.tlrow:nth-child(even) .yr{order:1;text-align:right;padding-left:0;padding-right:16px}
.tlrow:nth-child(even) .dot{order:2}
.tlrow:nth-child(even) .logo{order:3;justify-content:flex-start;padding-right:0;padding-left:16px}
.tlrow:nth-child(even) .yr .d{margin-left:auto}

/* ---------- SOCIETÀ DEL GRUPPO ---------- */
.grp{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gco{border:1px solid var(--line);display:flex;flex-direction:column;transition:.2s}
.gco:hover{border-color:var(--navy);transform:translateY(-3px)}
.gco .ph{height:210px;background:var(--gray100) center/cover;position:relative}
.gco .ph .ph-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--navy) 0%,var(--navy900) 100%)}
.gco .ph .ph-empty span{font-family:'Chivo Mono','Archivo',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy300)}
.gco .bd{padding:30px;flex:1;display:flex;flex-direction:column}
.gco .role{font-family:'Chivo Mono','Archivo',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.gco h3{font-size:24px;font-weight:800;letter-spacing:-.01em;margin:12px 0 12px}
.gco p{font-size:15px;color:var(--gray600);line-height:1.6;flex:1}
.gco .lk{color:var(--navy);font-weight:600;font-size:14px;display:inline-flex;gap:8px;align-items:center;margin-top:20px}

/* ---------- RESPONSIVE blocchi gruppo ---------- */
@media(max-width:980px){
  .newsgrid,.grp{grid-template-columns:1fr}
  .drow{grid-template-columns:1fr}
  .drow .ph{min-height:280px;order:1 !important}
  .drow .tx{order:2;padding:40px 22px}
  .drow h3{font-size:26px}
  .bars,.barx{gap:8px}.bar .val{font-size:13px}.chart{margin-top:36px}
  .tl::before{left:22px}
  .tlrow{grid-template-columns:44px 1fr;gap:0}
  .tlrow .logo,.tlrow:nth-child(even) .logo{order:2;justify-content:flex-start;padding:0 0 0 8px}
  .tlrow .dot,.tlrow:nth-child(even) .dot{order:1;justify-content:flex-start;padding-left:14px}
  .tlrow .yr,.tlrow:nth-child(even) .yr{order:3;grid-column:2;text-align:left;padding:14px 0 0 8px}
  .tlrow:nth-child(even) .yr .d{margin-left:0}
  .tlrow .yr .y{font-size:30px}
}

/* ---------- ANIMAZIONI SCROLL ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero .bg{animation:none;transform:none}}

/* ---------- RESPONSIVE ---------- */
@media(max-width:980px){
  .hd nav{display:none}
  .hd nav.open{display:flex;position:absolute;top:86px;left:0;right:0;flex-direction:column;align-items:stretch;
    background:#fff;border-bottom:1px solid var(--line);padding:10px 22px 18px;gap:0}
  .hd nav.open a{color:var(--ink);padding:14px 4px;border-bottom:1px solid var(--gray100)}
  .hd nav.open .sep{display:none}
  .hd nav.open .btn{margin-top:12px;justify-content:center}
  .hd .burger{display:flex;align-items:center;justify-content:center}
  .hero h1{font-size:44px}.hero{min-height:80vh}.hero p{font-size:18px}.hero .scroll{display:none}
  .phead{padding:120px 0 48px}.phead h1{font-size:38px}
  .stats .grid{grid-template-columns:1fr 1fr}.stats .c:nth-child(2){border-right:none}
  .stats .v{font-size:38px}
  .sec{padding:64px 0}
  .intro,.split,.why .g,.cont .g{grid-template-columns:1fr;gap:32px}
  .csr-photos .ph{height:300px}.csr-photos .ph:nth-child(2){margin-top:0}
  .split .photo{height:320px}
  .cards{grid-template-columns:1fr}.cards .card{border-right:none;border-bottom:1px solid var(--line)}
  .work,.work.three{grid-template-columns:1fr}
  .band h2{font-size:32px}.band{min-height:440px}
  .cont h2,.split h2,.cta-band h2{font-size:30px}
  .two{grid-template-columns:1fr}
  .ft .top{grid-template-columns:1fr 1fr;gap:32px}.ft .bot{flex-direction:column;gap:8px}
  .head{flex-direction:column;align-items:flex-start}
}

/* certificazioni cliccabili */
.cert a.ci{display:block;text-decoration:none;color:inherit;position:relative;transition:background .3s ease,color .3s ease}
.cert a.ci:hover{background:var(--navy)}
.cert a.ci:hover .code,.cert a.ci:hover h3{color:#fff}
.cert a.ci:hover p{color:var(--navy100)}
.cert a.ci .doc{display:block;margin-top:16px;font-family:'Chivo Mono','Archivo',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#fff;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease}
.cert a.ci:hover .doc{opacity:1;transform:none}
.cert a.ci .doc .ar{transition:transform .3s ease;display:inline-block}
.cert a.ci:hover .doc .ar{transform:translate(3px,-3px)}
@media(max-width:720px){.cert a.ci .doc{opacity:1;transform:none;color:var(--navy)}}
.cert a.ci.pending{cursor:help}

/* ---------- ACCESSIBILITÀ (nessuna modifica visiva a riposo) ---------- */
.skip{position:absolute;left:-9999px;top:0;z-index:300}
.skip:focus{left:16px;top:16px;background:var(--navy);color:#fff;padding:12px 18px;font-size:14px;font-weight:600;text-decoration:none}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.hd.on-dark a:focus-visible,.hd.on-dark .burger:focus-visible,.ft a:focus-visible,.phead a:focus-visible,.cta-band a:focus-visible,.lb button:focus-visible{outline-color:#fff}
.phead[tabindex]:focus,.hero[tabindex]:focus{outline:none}
.sec p a,.phead p a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.sec p a:hover,.phead p a:hover{color:var(--navy900)}
.ft .bot a{color:inherit;text-decoration:none;transition:color .15s}
.ft .bot a:hover,.ft .bot a:focus-visible{color:#fff}

/* ---------- MOBILE (telefono) — solo adattamento, nessun cambio di stile ---------- */
html{-webkit-text-size-adjust:100%}
@media(max-width:980px){
  body{overflow-x:hidden}
  img,svg,iframe{max-width:100%}
  .intro[style]{grid-template-columns:1fr !important;gap:32px !important}
  .intro[style] .col[style]{padding-left:0 !important}
  .chart{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative}
  .bars,.barx{min-width:520px}

  .nums{flex-wrap:wrap;gap:24px}
}
@media(max-width:980px){
  /* colonne forzate via style inline: su telefono impilate */
  .split[style]{grid-template-columns:1fr !important;gap:28px !important;align-items:start !important}
  /* foto: proporzionate, mai schiacciate né gigantesche */
  .split .photo,.split .photo[style]{height:auto !important;aspect-ratio:3/2;background-size:cover;background-position:center}
  .split .founder img,.split .founder img[style]{height:auto !important;aspect-ratio:4/5 !important;max-height:440px;object-fit:cover}
}
@media(max-width:600px){
  :root{--wrap-pad:18px}
  .split .photo,.split .photo[style]{aspect-ratio:4/3}
  .split .founder img,.split .founder img[style]{max-height:360px}
  .csr-photos .ph{height:auto;aspect-ratio:4/3}
  .ft .logo,.ft .top img{height:52px !important}
  .ft .leadf{font-size:14px;color:#cfd9ee;margin:16px 0}
  .ft .soc a,.ft .soc .shr{width:44px;height:44px}
  .hd .in{height:70px}
  .hd .logo img{height:38px}
  .hd nav.open{top:70px}
  .hd .btn{font-size:14px;padding:11px 16px}
  .hero{min-height:78vh}
  .hero .in{padding-bottom:52px}
  .hero h1{font-size:34px;max-width:none}
  .hero p{font-size:16px;margin-top:18px}
  .hero .cta{gap:10px;margin-top:26px}
  .hero .cta .btn{flex:1 1 100%;justify-content:center}
  .phead{padding:104px 0 40px}
  .phead h1{font-size:30px}
  .phead p{font-size:16px}
  .stats .grid{grid-template-columns:1fr 1fr}
  .stats .c{padding:30px 20px;border-bottom:1px solid rgba(255,255,255,.14)}
  .stats .c:nth-child(2n){border-right:none}
  .stats .c:nth-child(n+3){border-bottom:none}
  .stats .v{font-size:30px;margin:12px 0 8px}
  .sec{padding:56px 0}
  .sec.tight{padding:44px 0}
  .head{margin-bottom:32px;gap:14px}
  .head h2{font-size:26px;max-width:none}
  .intro .big,.sec .big{font-size:22px;line-height:1.35}
  .split{gap:28px}
  .split h2,.why h2,.cont h2,.cta-band h2,.assoc-tx h2,.band h2{font-size:26px;max-width:none}
  .split .photo{height:240px}
  .csr-photos{grid-template-columns:1fr;gap:12px}
  .csr-photos .ph{height:230px}
  .cards,.cards.c4{grid-template-columns:1fr}
  .cards .card{padding:32px 22px;border-right:none;border-bottom:1px solid var(--line)}
  .cards .card:last-child{border-bottom:none}
  .cards h3{font-size:20px;margin:16px 0 10px}
  .proj{aspect-ratio:3/2}
  .proj .meta{padding:18px}
  .proj h3{font-size:19px}
  .proj .tag{margin-bottom:10px}
  .why .g{gap:32px}
  .why .row{gap:14px;padding:22px 0}
  .band{min-height:400px}
  .band p{font-size:16px}
  .assoc-logos{gap:12px}
  .al{padding:26px 18px;min-height:190px}
  .al img{max-height:82px}
  .assoc-tx p,.cta-band p{font-size:16px;max-width:none}
  .cta-band .g{padding:56px 0;gap:26px}
  .cta-band .g .btn{width:100%;justify-content:center}
  .cont .g{gap:36px}
  .cont .lead{max-width:none;margin-bottom:22px}
  .info{gap:10px;padding:14px 0}
  .info .k{width:78px;font-size:10px}
  .map{height:220px}
  .maploader{height:220px;padding:0 20px}
  .ml-ext{padding:12px 20px}
  form.box{padding:24px 20px}
  .two{grid-template-columns:1fr}
  .gal{grid-template-columns:1fr 1fr;gap:6px}
  .gcell .cap{padding:10px;font-size:11px;line-height:1.3}
  .lb-gal .gcell .zoom{display:none}
  .cert{grid-template-columns:1fr}
  .cert .ci{border-right:none !important;border-bottom:1px solid var(--line)}
  .drow .ph{min-height:210px}
  .drow .tx{padding:32px 18px}
  .drow h3{font-size:22px}
  .drow p{font-size:15px;max-width:none}
  .na .bd{padding:20px}
  .na .img{height:170px}
  .gco .ph{height:180px}
  .gco .bd{padding:22px}
  .posrow.head-row{display:none}
  .tlrow{padding:34px 0}
  .tlrow .yr .y{font-size:26px}
  .tlrow .logo .box img{max-height:70px;max-width:170px}
  .tlrow .logo .box:has(img){min-height:70px}
  .ft .in{padding:48px var(--wrap-pad,18px) 32px}
  .ft .top{grid-template-columns:1fr;gap:28px;padding-bottom:34px}
  .ft .leadf{max-width:none}
  .ft .bot{gap:6px;font-size:11px}
  .lb{padding:52px 12px 62px}
  .lb-stage img{max-height:74vh}
  .lb-nav{position:fixed;bottom:14px;width:46px;height:46px;font-size:24px;z-index:2;background:rgba(255,255,255,.06)}
  .lb-prev{left:calc(50% - 62px)}
  .lb-next{left:calc(50% + 16px)}
  .lb-count{position:fixed;bottom:74px;left:50%;transform:translateX(-50%);z-index:2}
  .lb-x{top:12px;right:12px}
}

/* ---------- MOBILE: tocco e resa ---------- */
@media(max-width:600px){
  a,button{-webkit-tap-highlight-color:rgba(39,46,102,.15)}
  .filter button{min-height:44px;padding:10px 14px}
  .more,.na .lk,.posit .go,.cert a.ci .doc{min-height:44px;display:inline-flex;align-items:center}
  .hd .burger{width:44px;height:44px}
  .ft a.lk{padding:10px 0}
  .lb-x{width:44px;height:44px}
  .band{background-attachment:scroll}
}

@media(max-width:1180px){
  .band:has(.sp-split){min-height:0;padding:68px 0}
  .band .bx.sp-split{grid-template-columns:1fr;gap:30px;text-align:center;max-width:760px;justify-items:center}
  .band .sp-tx h2,.band .sp-tx p{margin-left:auto;margin-right:auto}
  .band .sponsor{flex-direction:row;gap:26px;padding:26px 28px;width:100%;box-sizing:border-box;max-width:500px;margin:0 auto}
  .band .sponsor img{height:74px;max-width:40%}
}
@media(max-width:600px){
  .band .bx.sp-split{gap:26px}
  .band .sponsor{gap:16px;padding:18px 18px;max-width:none}
  .band .sp-x{font-size:15px}
}
@media(max-width:380px){
  .band .sponsor{gap:12px;padding:16px 14px}
}

/* ---------- TABLET (981–1180px): solo adattamento, desktop invariato ---------- */
@media(min-width:981px) and (max-width:1180px){
  body{overflow-x:hidden}
  .hd nav{display:none}
  .hd nav.open{display:flex;position:absolute;top:86px;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--line);padding:10px var(--wrap-pad,40px) 18px;gap:0}
  .hd nav.open a{color:var(--ink);padding:14px 4px;border-bottom:1px solid var(--gray100)}
  .hd nav.open .sep{display:none}
  .hd nav.open .btn{margin-top:12px;justify-content:center}
  .hd .burger{display:flex;align-items:center;justify-content:center;width:44px;height:44px}
  .cards.c4{grid-template-columns:1fr 1fr}
  .cards.c4 .card:nth-child(2n){border-right:none}
  .cards.c4 .card:nth-child(n+3){border-bottom:none}
  .cards.c4 .card:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .cert{grid-template-columns:1fr 1fr}
  .cert .ci:nth-child(2n){border-right:none}
  .drow .tx{padding:48px 44px}
  .drow p{max-width:none}
  .ft .top{grid-template-columns:1.4fr 1fr 1fr;gap:32px}
  .ft .top>div:last-child{grid-column:span 3;border-top:1px solid rgba(255,255,255,.16);padding-top:24px}
}
.chart.scrollable::after{content:"Scorri per vedere tutti gli anni →";display:block;position:sticky;left:0;width:max-content;font-family:'Chivo Mono','Archivo',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray500);margin-top:12px}
img.fadein{opacity:0}
img.fadein.loaded{opacity:1;transition:opacity .5s ease}
@media (prefers-reduced-motion:reduce){img.fadein,img.fadein.loaded{opacity:1;transition:none}}

/* Blocco sport su telefono: proporzioni ridotte e più respiro (desktop e tablet invariati) */
@media(max-width:600px){
  .band:has(.sp-split){min-height:0;padding:48px 0}
  .band .sp-split{gap:24px}
  .band .sp-split .kick{font-size:11px;letter-spacing:.13em}
  .band .sp-split .sp-tx h2{font-size:22px;line-height:1.12;margin-top:14px}
  .band .sp-split .sp-tx p{font-size:15px;line-height:1.6;margin-top:16px}
  .band .sp-split .sponsor{max-width:320px;padding:18px 20px;gap:16px;border-radius:14px}
  .band .sp-split .sponsor img{height:56px;max-width:42%}
}
@media(max-width:400px){
  .band:has(.sp-split){padding:40px 0}
  .band .sp-split .sp-tx h2{font-size:20px}
  .band .sp-split .sp-tx p{font-size:14.5px;margin-top:14px}
  .band .sp-split .sponsor{max-width:290px;padding:16px 18px;gap:14px}
  .band .sp-split .sponsor img{height:46px}
}
