@import url('https://fonts.googleapis.com/css2?family=Anton&family=Archivo:wght@400;500;600;700;800&display=swap');

/* la pagina parte dal bordo dello schermo: il margine predefinito del body
   disegnava una cornice bianca su tutti e quattro i lati */
html,body{margin:0;padding:0;}
/* niente scorrimento laterale, senza creare un contenitore di scroll
   che romperebbe la testata appiccicata e il menu a tendina */
html{overflow-x:clip;}
body{background:#15161A;}

/* =========================================================
   COOLTURA ON THE ROAD — sistema visivo 2026
   Tutto è scoped dentro .ctr per non toccare il tema/Elementor
   ========================================================= */

.ctr{
  --giallo:#EAC735;
  --giallo-scuro:#C9A61F;
  --rosso:#CF2034;
  --rosso-scuro:#A4182A;
  --teal:#0F6B77;
  --asfalto:#15161A;
  --asfalto-2:#22242B;
  --crema:#FFF7E9;
  --crema-2:#F3E7D0;
  --testo:#15161A;
  --testo-chiaro:#FFF7E9;
  --bordo:3px solid #15161A;
  --ombra:6px 6px 0 #15161A;
  --ombra-sm:4px 4px 0 #15161A;
  --raggio:14px;
  --max:1180px;

  font-family:'Archivo',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  color:var(--testo);
  line-height:1.68;
  font-size:17.5px;
  -webkit-font-smoothing:antialiased;
}

.ctr *,.ctr *::before,.ctr *::after{box-sizing:border-box;}
.ctr :where(p,h1,h2,h3,h4,ul,ol,figure){margin:0;padding:0;}
.ctr ul,.ctr ol{list-style:none;}
.ctr img{max-width:100%;display:block;}
/* i link ereditano il colore, TRANNE i bottoni che hanno il proprio */
.ctr a:not([class*="ctr-btn"]){color:inherit;text-decoration:none;}
.ctr a[class*="ctr-btn"]{text-decoration:none;}

/* ---------- tipografia ---------- */
.ctr h1,.ctr h2,.ctr h3,.ctr .ctr-display{
  font-family:'Anton','Archivo',Impact,sans-serif;
  font-weight:400;
  text-transform:uppercase;
  line-height:.95;
  letter-spacing:.01em;
}
.ctr h1,.ctr h2,.ctr h3{overflow-wrap:break-word;}
.ctr h1{font-size:clamp(2.6rem,7vw,5.4rem);}
.ctr h2{font-size:clamp(2rem,4.6vw,3.4rem);}
.ctr h3{font-size:clamp(1.25rem,2.2vw,1.7rem);}
.ctr .ctr-lead{font-size:clamp(1.05rem,1.6vw,1.3rem);line-height:1.55;}
.ctr .ctr-giallo{color:var(--giallo);}
.ctr .ctr-rosso{color:var(--rosso);}

/* evidenziatore a pennarello */
.ctr mark,.ctr .ctr-evid{
  background:linear-gradient(180deg,transparent 55%,var(--giallo) 55%);
  color:inherit;padding:0 .08em;
}

/* ---------- struttura ---------- */
.ctr-sez{padding:clamp(74px,8vw,132px) 20px;position:relative;}
.ctr-wrap{max-width:var(--max);margin:0 auto;}
.ctr-sez--crema{background:var(--crema);}
.ctr-sez--crema2{background:var(--crema-2);}
.ctr-sez--scuro{background:var(--asfalto);color:var(--testo-chiaro);}
.ctr-sez--giallo{background:var(--giallo);}
.ctr-sez--scuro h1,.ctr-sez--scuro h2,.ctr-sez--scuro h3{color:#fff;}
/* le card chiare dentro una sezione scura tengono il testo scuro */
.ctr-sez--scuro .ctr-card:not(.ctr-card--teal):not(.ctr-card--rosso) h3,
.ctr-sez--scuro .ctr-prog h3,.ctr-sez--scuro .ctr-target:not(.ctr-target--a) h3{color:var(--asfalto);}

.ctr-occhiello{
  display:flex;align-items:center;gap:12px;line-height:1.1;
  font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  background:none;color:var(--rosso);padding:0;margin:0 0 26px;
}
.ctr-occhiello::before{content:"";display:block;width:30px;height:3px;background:currentColor;flex:none;}
.ctr-sez--scuro .ctr-occhiello,.ctr-hero .ctr-occhiello{color:var(--giallo);}
.ctr-sez--giallo .ctr-occhiello{color:var(--asfalto);}
.ctr-cta .ctr-occhiello{color:#fff;justify-content:center;}

.ctr-intro{max-width:760px;margin-bottom:clamp(40px,4.5vw,64px);}
.ctr-intro p{margin-top:16px;font-size:1.08rem;}

/* ---------- bottoni ---------- */
.ctr-btn{
  display:inline-flex;align-items:center;gap:10px;
  font-weight:800;font-size:.98rem;letter-spacing:.02em;text-transform:uppercase;
  padding:16px 30px;line-height:1.1;border:var(--bordo);border-radius:999px;
  background:var(--giallo);color:var(--asfalto);
  box-shadow:var(--ombra-sm);
  transition:transform .12s ease,box-shadow .12s ease;
  cursor:pointer;
}
.ctr-btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--asfalto);}
.ctr-btn--rosso{background:var(--rosso);color:#fff;}
.ctr-btn--bianco{background:#fff;}
.ctr-btn--ghost{background:transparent;color:inherit;box-shadow:none;border-color:currentColor;}
.ctr-btn--ghost:hover{box-shadow:none;transform:translateX(3px);}
.ctr-azioni{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}

/* ---------- HERO ---------- */
.ctr-hero{
  background:var(--asfalto);color:var(--testo-chiaro);
  padding:clamp(54px,9vw,130px) 20px clamp(44px,6vw,84px);
  position:relative;overflow:hidden;
}
.ctr-hero::after{
  content:"";position:absolute;inset:0;z-index:0;
  background:#15161A url('/assets/img/foto/hero.jpg') center 62%/cover no-repeat;
  opacity:.34;
}
.ctr-hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px),
    linear-gradient(100deg,rgba(21,22,26,.94) 0%,rgba(21,22,26,.78) 45%,rgba(21,22,26,.55) 100%);
  background-size:22px 22px,auto;pointer-events:none;
}
.ctr-hero__in{z-index:2;}
/* pagine interne: niente foto, solo il fondo asfalto */
.ctr-hero--liscio::after{display:none;}
.ctr-hero__in{position:relative;max-width:var(--max);margin:0 auto;}
.ctr-hero h1{color:#fff;margin:14px 0 0;}
.ctr-hero h1 em{font-style:normal;color:var(--giallo);}
.ctr-hero__sub{max-width:640px;margin-top:24px;color:#E6DFD2;font-size:clamp(1.05rem,1.7vw,1.3rem);}
.ctr-hero__badge{
  display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-size:.8rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:var(--giallo);
}
.ctr-hero__badge span{width:8px;height:8px;background:var(--rosso);border-radius:50%;}
/* credenziali sotto l'hero */
.ctr .ctr-cred__occhiello{
  margin:clamp(56px,7vw,86px) 0 18px;
  display:flex;align-items:center;gap:12px;line-height:1.1;
  font-size:.74rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--giallo);
}
.ctr-cred__occhiello::before{content:"";display:block;width:30px;height:3px;background:currentColor;flex:none;}
.ctr-cred{
  display:grid;gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));
}
.ctr-cred li{
  padding:22px 22px 20px;
  background:rgba(255,255,255,.055);
  border:2px solid rgba(255,255,255,.14);
  border-top:4px solid var(--giallo);
  border-radius:12px;
  transition:background .14s ease,border-color .14s ease;
}
.ctr-cred li:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.26);border-top-color:var(--giallo);}
.ctr-cred__ico{
  display:grid;place-items:center;width:38px;height:38px;margin-bottom:14px;
  border-radius:10px;background:var(--giallo);color:var(--asfalto);
}
.ctr-cred__ico svg{width:21px;height:21px;display:block;}
.ctr-cred b{
  display:block;font-family:'Anton',Impact,sans-serif;font-weight:400;
  text-transform:uppercase;letter-spacing:.02em;font-size:1.12rem;color:#fff;
  line-height:1.1;
}
.ctr-cred__d{display:block;margin-top:9px;font-size:.87rem;color:#B9B2A5;line-height:1.5;}

/* elenco tipografico delle città */
.ctr-citta{
  display:flex;flex-wrap:wrap;align-items:baseline;
  font-family:'Anton',Impact,sans-serif;text-transform:uppercase;
  font-size:clamp(1.05rem,2vw,1.55rem);line-height:1.35;letter-spacing:.01em;
}
.ctr-citta li::after{content:"·";color:var(--rosso);margin:0 .45em;}
.ctr-citta li:last-child::after{content:none;}
.ctr-citta li.ctr-citta--altro{color:var(--rosso);}
.ctr-citta__coda{margin-top:18px;font-size:1rem;font-weight:600;}

/* strada sotto l'hero */
.ctr-strada{height:26px;background:#3A3D45;position:relative;}
.ctr-strada::after{
  content:"";position:absolute;top:50%;left:0;right:0;height:4px;transform:translateY(-50%);
  background:repeating-linear-gradient(90deg,var(--giallo) 0 44px,transparent 44px 84px);
}

/* ---------- video / trailer ---------- */
.ctr-video{
  position:relative;aspect-ratio:16/9;width:100%;
  border:var(--bordo);border-radius:var(--raggio);overflow:hidden;
  box-shadow:8px 8px 0 var(--giallo);
  background:#0E0F12 url('/assets/img/foto/trailer-poster.jpg') center/cover no-repeat;
}
.ctr-video::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(140deg,rgba(207,32,52,.38),rgba(21,22,26,.62));
}
.ctr-video iframe,.ctr-video #ctr-yt{position:absolute;inset:0;width:100%;height:100%;border:0;}
.ctr-video__play{
  position:absolute;inset:0;width:100%;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  background:transparent;border:0;cursor:pointer;padding:0;
}
.ctr-video__rivedi{
  display:none;
  font-family:'Anton',Impact,sans-serif;text-transform:uppercase;letter-spacing:.08em;
  font-size:1rem;color:var(--asfalto);background:var(--giallo);
  padding:7px 18px;border:3px solid var(--asfalto);border-radius:999px;
  box-shadow:3px 3px 0 var(--asfalto);
}
.ctr-video--finito .ctr-video__rivedi{display:block;}
.ctr-video__fallback{
  display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  background:var(--giallo);color:var(--asfalto);font-weight:800;font-size:.92rem;
  letter-spacing:.02em;text-align:center;
  padding:14px 24px;border:3px solid var(--asfalto);border-radius:999px;
  box-shadow:4px 4px 0 var(--asfalto);max-width:86%;z-index:2;
}
.ctr-video--errore .ctr-video__fallback{display:block;}
.ctr-video--errore .ctr-video__play{display:none;}
.ctr-video__tri{
  width:88px;height:88px;border-radius:50%;
  background:var(--giallo);border:4px solid var(--asfalto);
  box-shadow:5px 5px 0 var(--asfalto);
  display:grid;place-items:center;
  transition:transform .15s ease;
}
.ctr-video__tri::after{
  content:"";display:block;margin-left:7px;
  border-left:26px solid var(--asfalto);
  border-top:16px solid transparent;border-bottom:16px solid transparent;
}
.ctr-video__play:hover .ctr-video__tri{transform:scale(1.08);}
.ctr-video__play:focus-visible{outline:4px solid var(--giallo);outline-offset:-6px;}
.ctr-video__eti{
  position:absolute;left:0;bottom:0;pointer-events:none;
  background:var(--asfalto);color:var(--giallo);
  font-family:'Anton',Impact,sans-serif;text-transform:uppercase;letter-spacing:.04em;
  font-size:.95rem;padding:8px 16px;border-top:var(--bordo);border-right:var(--bordo);
  border-radius:0 12px 0 0;
}
@media(max-width:520px){.ctr-video__tri{width:66px;height:66px;}}

/* ---------- pellicola cinematografica ---------- */
.ctr-pellicola{
  background:#0C0D10;position:relative;overflow:hidden;
  padding:22px 0;border-top:3px solid var(--asfalto);border-bottom:3px solid var(--asfalto);
}
/* perforazioni sopra e sotto */
.ctr-pellicola::before,.ctr-pellicola::after{
  content:"";position:absolute;left:0;right:0;height:18px;z-index:2;
  background:repeating-linear-gradient(90deg,
    transparent 0 9px,#EFE9DC 9px 23px,transparent 23px 32px);
  -webkit-mask:repeating-linear-gradient(90deg,transparent 0 9px,#000 9px 23px,transparent 23px 32px);
  opacity:.9;
}
.ctr-pellicola::before{top:0;}
.ctr-pellicola::after{bottom:0;}
.ctr-pellicola__track{
  display:flex;gap:6px;width:max-content;
  animation:ctr-pellicola 70s linear infinite;
}
/* con il mouse basta passarci sopra; sul telefono il :hover resta
   incollato dopo il tocco, quindi li' comanda la classe */
@media (hover:hover){
  .ctr-pellicola:hover .ctr-pellicola__track{animation-play-state:paused;}
}
.ctr-pellicola--ferma .ctr-pellicola__track{animation-play-state:paused;}
.ctr-pellicola{cursor:pointer;}
.ctr-pellicola figure{
  margin:0;flex:none;width:190px;border-left:3px solid #0C0D10;border-right:3px solid #0C0D10;
}
.ctr-pellicola img{
  width:190px;height:143px;object-fit:cover;display:block;
  filter:saturate(.9) contrast(1.05);
}
@keyframes ctr-pellicola{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ctr-pellicola__track{animation:none;}}
@media(max-width:600px){
  .ctr-pellicola figure,.ctr-pellicola img{width:132px;}
  .ctr-pellicola img{height:99px;}
}
.ctr-pellicola__dida{
  text-align:center;color:#8F897E;font-size:.82rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;padding:16px 20px 0;background:#0C0D10;
}
/* ---------- marquee ---------- */
.ctr-marquee{
  background:var(--giallo);border-top:var(--bordo);border-bottom:var(--bordo);
  overflow:hidden;padding:14px 0;
}
.ctr-marquee__track{
  display:flex;gap:34px;width:max-content;
  animation:ctr-scroll 34s linear infinite;
}
.ctr-marquee span{
  font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.35rem;
  letter-spacing:.04em;white-space:nowrap;color:var(--asfalto);
}
.ctr-marquee span::after{content:"●";color:var(--rosso);margin-left:34px;font-size:.7em;vertical-align:middle;}
@keyframes ctr-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ctr-marquee__track{animation:none;}}

/* ---------- griglie ---------- */
.ctr-grid{display:grid;gap:26px;}
.ctr-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));}
.ctr-grid--3{grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));}
.ctr-grid--4{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));}

/* ---------- card ---------- */
.ctr-card{
  background:#fff;border:var(--bordo);border-radius:var(--raggio);
  padding:34px 32px;box-shadow:var(--ombra);
  display:flex;flex-direction:column;gap:16px;
  transition:transform .14s ease,box-shadow .14s ease;
}
.ctr-card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--asfalto);}
.ctr-card__num{
  font-family:'Anton',sans-serif;font-size:2.6rem;line-height:1;color:var(--rosso);
}
.ctr-card__icona{
  width:56px;height:56px;border-radius:14px;border:var(--bordo);
  display:grid;place-items:center;background:var(--giallo);color:var(--asfalto);
  flex:none;
}
.ctr-card__icona svg{width:28px;height:28px;display:block;}
.ctr-card__testa{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.ctr-card__testa .ctr-card__num{font-size:2.1rem;color:#C9C2B4;}
.ctr-card p{color:#3A3B42;}
.ctr-card--giallo{background:var(--giallo);}
.ctr-card--teal{background:var(--teal);color:#fff;}
.ctr-card--teal p{color:#EAF7F8;}
.ctr-card--teal h3{color:#fff;}
.ctr-card--rosso{background:var(--rosso);color:#fff;}
.ctr-card--rosso p{color:#FDE9E8;}
.ctr-card--rosso h3{color:#fff;}

.ctr-tag{
  display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  line-height:1.2;padding:8px 16px;border:2px solid currentColor;border-radius:999px;
}
.ctr-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:6px;}

.ctr-lista{display:flex;flex-direction:column;gap:18px;margin-top:10px;}
.ctr-lista li{position:relative;padding-left:26px;font-size:1rem;line-height:1.68;color:#3A3B42;}
.ctr-lista li::before{
  content:"";position:absolute;left:2px;top:.62em;width:9px;height:9px;border-radius:50%;
  background:var(--rosso);
}
.ctr-card--teal .ctr-lista li,.ctr-card--rosso .ctr-lista li{color:inherit;}
.ctr-card--teal .ctr-lista li::before,.ctr-card--rosso .ctr-lista li::before{background:#fff;}

/* ---------- banda invito, a tutta larghezza ---------- */
.ctr-banda{
  grid-column:1/-1;background:var(--rosso);color:#fff;
  border:var(--bordo);border-radius:var(--raggio);box-shadow:var(--ombra);
  padding:30px 34px;display:flex;flex-wrap:wrap;align-items:center;gap:22px 34px;
}
.ctr-banda h3{color:#fff;flex:0 0 auto;max-width:22ch;}
.ctr-banda p{color:#FFE3E1;flex:1 1 320px;margin:0;font-size:1rem;}
.ctr-banda .ctr-btn{flex:0 0 auto;}

/* ---------- numeri ---------- */
.ctr-numeri{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));
  border:var(--bordo);border-radius:var(--raggio);overflow:hidden;background:#fff;}
.ctr-numeri__item{padding:26px 24px;border-right:var(--bordo);}
.ctr-numeri__item:last-child{border-right:0;}
.ctr-numeri__k{font-family:'Anton',sans-serif;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1;color:var(--rosso);}
.ctr-numeri__v{font-size:.92rem;font-weight:600;color:#3A3B42;margin-top:8px;}
.ctr-numeri__item--claim{background:var(--asfalto);color:var(--crema);}
.ctr-numeri__item--claim .ctr-numeri__k{
  font-size:clamp(1.3rem,2.2vw,1.75rem);color:var(--giallo);line-height:1.08;
}
.ctr-numeri__item--claim .ctr-numeri__v{color:#B9B2A5;}
@media(max-width:780px){.ctr-numeri__item{border-right:0;border-bottom:var(--bordo);}
  .ctr-numeri__item:last-child{border-bottom:0;}}

/* ---------- timeline ---------- */
.ctr-time{position:relative;padding-left:34px;}
.ctr-time::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:4px;
  background:repeating-linear-gradient(180deg,var(--giallo) 0 14px,transparent 14px 26px);}
.ctr-time__item{position:relative;padding-bottom:30px;}
.ctr-time__item::before{content:"";position:absolute;left:-32px;top:5px;width:18px;height:18px;
  background:var(--rosso);border:3px solid var(--asfalto);border-radius:50%;}
.ctr-sez--scuro .ctr-time__item::before{border-color:var(--crema);}
.ctr-time__anno{font-family:'Anton',sans-serif;font-size:1.5rem;color:var(--rosso);line-height:1;}
.ctr-sez--scuro .ctr-time__anno{color:var(--giallo);}
.ctr-time__t{font-weight:800;margin-top:6px;}
.ctr-time__d{font-size:.96rem;opacity:.85;margin-top:4px;}

/* ---------- team ---------- */
.ctr-persona{
  background:#fff;border:var(--bordo);border-radius:var(--raggio);padding:24px;
  box-shadow:var(--ombra-sm);
}
.ctr-persona__foto{
  width:100%;aspect-ratio:1/1;object-fit:cover;border:var(--bordo);border-radius:12px;
  background:var(--crema-2);margin-bottom:16px;
}
.ctr-persona__nome{font-family:'Anton',sans-serif;font-size:1.25rem;text-transform:uppercase;}
.ctr-persona__ruolo{color:var(--rosso);font-weight:800;font-size:.84rem;letter-spacing:.1em;
  text-transform:uppercase;margin:4px 0 10px;}
.ctr-persona p{font-size:.93rem;color:#3A3B42;}

/* ---------- progetti ---------- */
.ctr-prog{
  border:var(--bordo);border-radius:var(--raggio);overflow:hidden;background:#fff;
  box-shadow:var(--ombra);display:flex;flex-direction:column;
}
.ctr-prog__top{padding:20px 24px;border-bottom:var(--bordo);display:flex;justify-content:space-between;
  align-items:center;gap:12px;background:var(--giallo);}
.ctr-prog__anno{font-family:'Anton',sans-serif;font-size:1.1rem;}
.ctr-prog__body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1;}
.ctr-prog__body h3{font-size:1.45rem;}
.ctr-prog__meta{font-size:.85rem;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.08em;}

.ctr-prog__foto{border-bottom:var(--bordo);}

/* locandina in testa alla scheda progetto: il manifesto per quello che e',
   senza riquadro nero intorno e senza bande bianche */
.ctr-prog__hero{display:block;border-bottom:var(--bordo);cursor:zoom-in;background:transparent;}
.ctr-prog__hero img{display:block;width:100%;height:auto;}
.ctr-prog__hero:hover img{opacity:.92;}
.ctr-prog__hero:focus-visible{outline:3px solid var(--rosso);outline-offset:-3px;}

/* pagina lunga: manifesto grande a sinistra, gli altri in fila accanto */
.ctr-loc-blocco{
  display:flex;flex-wrap:wrap;gap:26px;align-items:flex-start;
  margin-top:clamp(26px,3vw,38px);
}
.ctr-loc--grande{
  flex:0 0 auto;width:min(290px,72vw);display:block;cursor:zoom-in;
  transition:transform .14s ease,box-shadow .14s ease;
}
.ctr-loc--grande img{
  display:block;width:100%;height:auto;
  border:0;border-radius:3px;background:transparent;
  box-shadow:0 10px 30px rgba(21,22,26,.26);
}
.ctr-loc--grande:hover{transform:translate(-3px,-3px);}
.ctr-loc--grande:hover img{box-shadow:0 16px 40px rgba(21,22,26,.34);}
.ctr-loc--grande:focus-visible{outline:3px solid var(--rosso);outline-offset:4px;}
/* su fondo scuro l'ombra diventa bianca, e con lei il bordo */
.ctr-sez--scuro .ctr-loc--grande img{box-shadow:0 10px 34px rgba(0,0,0,.6);}
.ctr-sez--scuro .ctr-loc--grande:hover img{box-shadow:0 16px 44px rgba(0,0,0,.7);}
.ctr-loc-blocco{margin-top:clamp(24px,3vw,34px);}
.ctr-loc-blocco .ctr-locstrip{flex:1 1 260px;margin-top:0;align-self:flex-start;}
/* la striscia sotto la descrizione */
.ctr-lead .ctr-locstrip{margin-top:clamp(22px,2.5vw,30px);}

/* striscia di locandine: stessa misura ovunque, sezioni grandi e schede */
.ctr-locstrip{
  display:grid;grid-template-columns:repeat(auto-fill,112px);gap:14px 12px;margin-top:24px;
  justify-content:start;align-items:start;
}
.ctr-locstrip:empty{display:none;}
.ctr-locstrip .ctr-loc{display:block;transition:transform .12s ease;cursor:zoom-in;}
.ctr-locstrip .ctr-loc:hover{transform:translateY(-3px);}
.ctr-locstrip .ctr-loc:focus-visible{outline:3px solid var(--rosso);outline-offset:3px;}
.ctr-locstrip img{
  display:block;width:100%;height:auto;
  border:0;border-radius:2px;background:transparent;
  box-shadow:0 2px 10px rgba(21,22,26,.18);
}
.ctr-locstrip--chiaro img{box-shadow:0 2px 12px rgba(0,0,0,.5);}

/* dentro le schede progetto: sempre tre colonne, il resto si scorre di lato */
.ctr-prog__body .ctr-locstrip{
  margin-top:auto;padding-top:16px;padding-bottom:2px;
  grid-template-columns:none;grid-auto-flow:column;
  grid-auto-columns:calc((100% - 24px) / 3);
  justify-content:safe center;align-items:start;
  overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  scrollbar-width:none;-ms-overflow-style:none;
}
.ctr-prog__body .ctr-locstrip .ctr-loc{scroll-snap-align:start;}
.ctr-prog__body .ctr-locstrip::-webkit-scrollbar{display:none;}

/* frecce di scorrimento delle locandine */
.ctr-locfrecce{display:flex;gap:10px;justify-content:center;margin-top:12px;}
.ctr-locfrecce button{
  width:38px;height:38px;padding:0;flex:none;cursor:pointer;
  display:grid;place-items:center;
  background:var(--giallo);color:var(--asfalto);
  border:2px solid var(--asfalto);border-radius:50%;
  box-shadow:2px 2px 0 var(--asfalto);
  transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;
}
.ctr-locfrecce button svg{width:17px;height:17px;display:block;}
.ctr-locfrecce button:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--asfalto);}
.ctr-locfrecce button:active:not(:disabled){transform:translate(1px,1px);box-shadow:0 0 0 var(--asfalto);}
.ctr-locfrecce button:focus-visible{outline:3px solid var(--rosso);outline-offset:3px;}
.ctr-locfrecce button:disabled{opacity:.28;box-shadow:none;cursor:default;}

/* ---------- lente: la locandina a schermo intero ---------- */
.ctr-lente{
  position:fixed;inset:0;z-index:200;background:rgba(10,11,13,.92);
  display:flex;align-items:center;justify-content:center;padding:30px;cursor:zoom-out;
}
.ctr-lente[hidden]{display:none;}
.ctr-lente img{
  max-width:min(92vw,820px);max-height:88vh;width:auto;height:auto;cursor:default;
  border:var(--bordo);border-radius:10px;box-shadow:0 18px 60px rgba(0,0,0,.6);background:#fff;
}
.ctr-lente__x{
  position:absolute;top:18px;right:18px;width:50px;height:50px;line-height:1;
  font-size:1.7rem;font-weight:700;cursor:pointer;
  background:var(--giallo);color:var(--asfalto);border:var(--bordo);border-radius:50%;
}
.ctr-lente__x:focus-visible{outline:3px solid #fff;outline-offset:3px;}
.ctr-lente__nav{
  position:absolute;top:50%;transform:translateY(-50%);
  width:56px;height:56px;display:grid;place-items:center;cursor:pointer;
  background:var(--giallo);color:var(--asfalto);
  border:3px solid var(--asfalto);border-radius:50%;
  box-shadow:3px 3px 0 var(--asfalto);transition:transform .12s ease;
}
.ctr-lente__nav svg{width:22px;height:22px;display:block;pointer-events:none;}
.ctr-lente__nav--giu{left:clamp(10px,3vw,34px);}
.ctr-lente__nav--su{right:clamp(10px,3vw,34px);}
.ctr-lente__nav:hover{transform:translateY(-50%) scale(1.07);}
.ctr-lente__nav:focus-visible{outline:3px solid #fff;outline-offset:3px;}
.ctr-lente__dida{
  position:absolute;left:0;right:0;bottom:clamp(14px,3vw,26px);
  text-align:center;color:#EDE6D8;font-size:.86rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;padding:0 90px;
}
@media(max-width:560px){
  .ctr-lente__nav{width:46px;height:46px;}
  .ctr-lente__nav svg{width:18px;height:18px;}
  .ctr-lente__dida{padding:0 16px;font-size:.78rem;}
  .ctr-lente img{max-height:74vh;}
}

/* ---------- box target ---------- */
.ctr-target{
  border:var(--bordo);border-radius:var(--raggio);padding:36px 32px;background:#fff;
  box-shadow:var(--ombra);display:flex;flex-direction:column;gap:18px;
}
.ctr-target__k{font-family:'Anton',sans-serif;font-size:1.6rem;text-transform:uppercase;line-height:1.1;}
.ctr-target--a{background:var(--asfalto);color:var(--crema);}
.ctr-target--a .ctr-target__k{color:var(--giallo);}
.ctr-target--b{background:var(--rosso);color:#fff;}
.ctr-target--c{background:var(--teal);color:#fff;}
/* liste dentro i box colorati: testo e trattini leggibili */
.ctr-target--a .ctr-lista li,.ctr-target--b .ctr-lista li,.ctr-target--c .ctr-lista li,
.ctr-target--a p,.ctr-target--b p,.ctr-target--c p{color:inherit;}
.ctr-target--a .ctr-lista li::before{background:var(--giallo);}
.ctr-target--b .ctr-lista li::before,.ctr-target--c .ctr-lista li::before{background:#fff;}

/* ---------- CTA finale ---------- */
.ctr-cta{
  background:var(--rosso);color:#fff;border:var(--bordo);border-radius:22px;
  padding:clamp(34px,5vw,60px);box-shadow:var(--ombra);text-align:center;
}
.ctr-cta h2{color:#fff;}
.ctr-cta p{max-width:620px;margin:18px auto 0;font-size:1.08rem;color:#FFE9E8;}
.ctr-cta .ctr-azioni{justify-content:center;}

/* ---------- contatti ---------- */
.ctr-contatto{
  display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-bottom:2px dashed rgba(21,22,26,.25);
}
.ctr-contatto:last-child{border-bottom:0;}
.ctr-contatto__k{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;
  min-width:118px;color:var(--rosso);padding-top:3px;}
.ctr-sez--scuro .ctr-contatto{border-color:rgba(255,255,255,.2);}
.ctr-sez--scuro .ctr-contatto__k{color:var(--giallo);}

/* ---------- loghi stampa ---------- */
.ctr-stampa{display:flex;flex-wrap:wrap;gap:12px;}
.ctr-stampa a{
  border:2px solid rgba(21,22,26,.25);border-radius:999px;padding:10px 18px;
  font-size:.88rem;font-weight:700;transition:.14s;
}
.ctr-stampa a:hover{background:var(--asfalto);color:var(--giallo);border-color:var(--asfalto);}
.ctr-sez--scuro .ctr-stampa a{border-color:rgba(255,255,255,.3);}
.ctr-sez--scuro .ctr-stampa a:hover{background:var(--giallo);color:var(--asfalto);}

/* ---------- FAQ ---------- */
.ctr-faq{border:var(--bordo);border-radius:var(--raggio);background:#fff;overflow:hidden;}
.ctr-faq details{border-bottom:var(--bordo);}
.ctr-faq details:last-child{border-bottom:0;}
.ctr-faq summary{
  padding:20px 24px;font-weight:800;cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;gap:14px;align-items:center;
}
.ctr-faq summary::-webkit-details-marker{display:none;}
.ctr-faq summary::after{content:"+";font-family:'Anton',sans-serif;font-size:1.6rem;color:var(--rosso);line-height:1;}
.ctr-faq details[open] summary::after{content:"–";}
.ctr-faq p{padding:0 24px 22px;color:#3A3B42;}

/* ---------- utility ---------- */
.ctr-nastro{
  background:var(--asfalto);color:var(--giallo);font-family:'Anton',sans-serif;
  text-transform:uppercase;display:inline-block;padding:8px 18px;transform:rotate(-1.6deg);
  font-size:1.05rem;letter-spacing:.04em;
}
.ctr-divisore{height:6px;background:repeating-linear-gradient(135deg,var(--asfalto) 0 14px,var(--giallo) 14px 28px);}
.ctr-mt{margin-top:34px;}
.ctr-center{text-align:center;}


/* =========================================================
   RITOCCHI PER TELEFONO
   ========================================================= */
@media(max-width:560px){
  /* etichetta sopra, valore sotto: sui telefoni la colonna fissa strozzava il testo */
  .ctr-contatto{flex-direction:column;gap:6px;padding:16px 0;}
  .ctr-contatto__k{min-width:0;padding-top:0;}

  /* testata piu bassa: e' appiccicata in alto e mangia schermo a ogni pagina */
  .ctr-head__in{padding:9px 18px;gap:12px;}
  .ctr-logo__mark{height:44px;}
  .ctr-burger{padding:8px 11px;font-size:.8rem;}

  /* sezioni piu corte: su un telefono 56+56 px fra un blocco e l'altro
     allungavano la home di quasi tre schermate */
  .ctr-intro{margin-bottom:clamp(26px,6vw,38px);}
  .ctr-occhiello{margin-bottom:18px;}

  /* nel piede i link erano alti 16px: impossibili da centrare col pollice */
  footer .ctr-grid a{display:inline-block;padding:9px 0;}
  footer .ctr-grid li{margin:0;}

  .ctr-tag{font-size:.72rem;}
  .ctr-sez{padding:clamp(46px,11vw,64px) 18px;}
  .ctr-hero{padding-left:18px;padding-right:18px;}
  .ctr-card{padding:26px 22px;}
  .ctr-target{padding:28px 22px;}
  .ctr-prog__body{padding:20px;}
  .ctr-prog__top{padding:16px 20px;}
  .ctr-banda{padding:26px 22px;gap:18px;}
  .ctr-banda h3{max-width:none;}

  /* frecce piu comode da toccare */
  .ctr-locfrecce button{width:44px;height:44px;}
  .ctr-locfrecce button svg{width:19px;height:19px;}

  /* bottoni a tutta larghezza: piu facili da centrare col pollice */
  .ctr-azioni{gap:12px;}
  .ctr-azioni .ctr-btn{width:100%;justify-content:center;}
  .ctr-btn{padding:15px 22px;}
}
@media(max-width:380px){
  .ctr-locstrip{grid-template-columns:repeat(auto-fill,100px);}
  .ctr-tag{font-size:.7rem;padding:7px 12px;}
}

/* =========================================================
   LA BOLLA — l'invito che ti segue mentre scorri
   ========================================================= */
.ctr-bolla{
  position:fixed;right:clamp(14px,2.5vw,28px);bottom:clamp(14px,2.5vw,28px);z-index:120;
  width:min(320px,calc(100vw - 28px));
  background:var(--rosso);color:#fff;
  border:var(--bordo);border-radius:18px;box-shadow:var(--ombra);
  padding:22px 22px 20px;
  opacity:0;transform:translateY(14px) scale(.97);
  transition:opacity .2s ease,transform .2s ease;
}
.ctr-bolla--dentro{opacity:1;transform:none;}
.ctr-bolla[hidden]{display:none;}
.ctr .ctr-bolla__t{
  font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;
  font-size:1.22rem;line-height:1.05;letter-spacing:.01em;padding-right:26px;
}
.ctr .ctr-bolla__d{margin-top:9px;font-size:.88rem;line-height:1.45;color:#FFE3E1;}
.ctr-bolla .ctr-btn{
  margin-top:16px;width:100%;justify-content:center;
  padding:13px 20px;font-size:.88rem;box-shadow:3px 3px 0 var(--asfalto);
}
.ctr-bolla__x{
  position:absolute;top:10px;right:10px;width:30px;height:30px;line-height:1;
  font-size:1.2rem;font-weight:700;cursor:pointer;
  background:transparent;color:#FFD9DC;border:2px solid rgba(255,255,255,.4);border-radius:50%;
  display:grid;place-items:center;transition:.14s;
}
.ctr-bolla__x:hover{background:#fff;color:var(--rosso);border-color:#fff;}
.ctr-bolla__x:focus-visible{outline:3px solid #fff;outline-offset:2px;}
@media(max-width:560px){
  .ctr-bolla{padding:18px 18px 16px;border-radius:14px;}
  .ctr .ctr-bolla__t{font-size:1.08rem;}
  .ctr .ctr-bolla__d{font-size:.84rem;}
}
@media (prefers-reduced-motion:reduce){
  .ctr-bolla{transition:none;}
}

/* =========================================================
   HOME SU TELEFONO — tagli e compattamenti
   ========================================================= */
@media(max-width:760px){
  /* pellicola e video seguono l'apertura senza stacchi inutili */
  #ctr-pellicola{border-top:0;}
  #ctr-video-sez{padding-top:28px;}
  #ctr-video-sez .ctr-grid{gap:20px;}
  #ctr-video-sez h2{font-size:clamp(1.5rem,7vw,2rem);}
  #ctr-video-sez .ctr-occhiello{margin-bottom:14px;}

  /* le reti: piastrelle come le altre, senza enfasi */
  .ctr-sez--reti .ctr-cred{margin-top:14px;}

  /* «E non abbiamo ancora finito»: una colonna, senza la casella vuota */
  .ctr-numeri{grid-template-columns:1fr;}
  .ctr-numeri__item{border-right:0;border-bottom:var(--bordo);}
  .ctr-numeri__item:last-child{border-bottom:0;}

  /* ---- i tre blocchi a icone: solo simbolo e nome, il testo nel pannello ---- */
  .ctr-cred,
  .ctr-sez--unicita .ctr-grid--4,
  .ctr-sez--servizi .ctr-grid--3{grid-template-columns:1fr 1fr;gap:12px;}

  .ctr-piastrella{
    display:flex;flex-direction:column;align-items:center;text-align:center;gap:13px;
    padding:22px 13px;cursor:pointer;position:relative;
    transition:transform .12s ease;
  }
  .ctr-piastrella:active{transform:scale(.97);}
  .ctr-piastrella .ctr-testo-scheda{display:none;}
  .ctr-piastrella .ctr-card__num{display:none;}
  .ctr-piastrella .ctr-card__testa{display:block;}
  .ctr-piastrella h3,.ctr-piastrella b{font-size:.95rem;line-height:1.12;}
  .ctr-piastrella .ctr-card__icona,
  .ctr-piastrella .ctr-cred__ico{
    width:56px;height:56px;border-radius:15px;margin:0;
  }
  .ctr-piastrella .ctr-card__icona svg,
  .ctr-piastrella .ctr-cred__ico svg{width:29px;height:29px;}
  /* il piu' piccolo segno che si puo' toccare */
  .ctr-piastrella::after{
    content:"";position:absolute;right:11px;bottom:11px;width:6px;height:6px;border-radius:50%;
    background:currentColor;opacity:.3;
  }

  .ctr-piastrella .ctr-target__k{font-size:.95rem;line-height:1.12;}
  .ctr-piastrella .ctr-btn{display:none;}
  .ctr-target.ctr-piastrella{align-self:start;}

  /* i tre interlocutori: stessa griglia a due */
  .ctr-sez--pubblico .ctr-grid--3{grid-template-columns:1fr 1fr;gap:12px;}
  .ctr-sez--pubblico .ctr-target:first-child{grid-column:1/-1;}

  /* quando sono dispari, la spaiata prende tutta la riga invece di lasciare un buco */
  .ctr-cred li:first-child{grid-column:1/-1;}
  .ctr-sez--servizi .ctr-grid--3 > .ctr-card:nth-child(9){grid-column:1/-1;}

  /* la banda rossa si gonfiava: il paragrafo cresceva per riempire la riga */
  .ctr-banda{align-self:start;}
  .ctr-banda p{flex:0 0 auto;}
  .ctr-banda h3{max-width:none;}
  .ctr-sez--servizi .ctr-banda{
    grid-column:1/-1;flex-direction:column;align-items:flex-start;gap:14px;padding:22px 20px;
  }
  .ctr-sez--servizi .ctr-banda p{display:block;font-size:.88rem;}
  .ctr-sez--servizi .ctr-banda .ctr-btn{width:100%;justify-content:center;}

  /* Progetti: in home basta il rimando alla pagina */
  .ctr-sez--progetti .ctr-grid--3{display:none;}
  .ctr-sez--progetti .ctr-azioni{margin-top:0;}
  .ctr-sez--progetti .ctr-intro{margin-bottom:22px;}
}

/* =========================================================
   IL PANNELLO — quello che si apre toccando una piastrella
   ========================================================= */
.ctr-scheda{
  position:fixed;inset:0;z-index:210;display:flex;align-items:flex-end;
  background:rgba(8,9,11,0);transition:background .26s ease;
}
.ctr-scheda[hidden]{display:none;}
.ctr-scheda--dentro{background:rgba(8,9,11,.72);}
.ctr-scheda__foglio{
  width:100%;max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:
    radial-gradient(120% 80% at 90% 0%, rgba(207,32,52,.34), transparent 62%),
    #14151A;
  border-top:4px solid var(--giallo);
  border-radius:26px 26px 0 0;
  padding:14px 24px 34px;
  transform:translateY(100%);
  transition:transform .3s cubic-bezier(.2,.8,.25,1);
}
.ctr-scheda--dentro .ctr-scheda__foglio{transform:none;}
.ctr-scheda__maniglia{
  width:46px;height:5px;border-radius:99px;background:rgba(255,255,255,.28);
  margin:0 auto 22px;flex:none;
}
.ctr-scheda__ico{
  width:62px;height:62px;display:grid;place-items:center;margin-bottom:18px;
  background:var(--giallo);color:var(--asfalto);border-radius:17px;
  border:3px solid var(--asfalto);box-shadow:4px 4px 0 rgba(0,0,0,.5);
}
.ctr-scheda__ico svg{width:32px;height:32px;display:block;}
.ctr .ctr-scheda__tit{
  font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(1.5rem,7vw,2.1rem);line-height:1;color:#fff;margin-bottom:16px;
}
.ctr-scheda__corpo{color:#CFC9BC;font-size:1rem;line-height:1.68;}
.ctr .ctr-scheda__corpo p{margin-bottom:14px;}
.ctr .ctr-scheda__corpo p:last-child{margin-bottom:0;}
.ctr-scheda__corpo strong{color:#fff;}
.ctr-scheda__corpo .ctr-lista{margin-top:14px;}
.ctr-scheda__corpo .ctr-lista li{color:#CFC9BC;}
.ctr-scheda__x{
  display:block;width:100%;margin-top:26px;padding:15px;cursor:pointer;
  background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:999px;
  font:inherit;font-weight:800;font-size:.88rem;text-transform:uppercase;letter-spacing:.1em;
}
.ctr-scheda__x:active{background:rgba(255,255,255,.1);}
@media (prefers-reduced-motion:reduce){
  .ctr-scheda,.ctr-scheda__foglio{transition:none;}
}

/* =========================================================
   SECONDO GIRO MOBILE — pannelli, timeline, gallerie, footer
   ========================================================= */

/* sezioni messe da parte senza cancellarle */
.ctr-nascosto{display:none !important;}

/* occhiello del pannello che sale dal basso */
.ctr .ctr-scheda__occhiello{
  font-family:'Archivo',sans-serif;font-weight:800;font-size:.74rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--giallo);margin-bottom:8px;
}
.ctr-scheda__occhiello[hidden]{display:none;}
.ctr-scheda__ico[hidden]{display:none;}

/* le scritte entrano invece di stare ferme */
.ctr-rivela{
  opacity:0;transform:translateY(16px);
  transition:opacity .5s cubic-bezier(.2,.7,.3,1),transform .5s cubic-bezier(.2,.7,.3,1);
  will-change:opacity,transform;
}
.ctr-rivela--dentro{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .ctr-rivela{opacity:1;transform:none;transition:none;}
}

/* banner dei cookie */
.ctr-cookie{
  position:fixed;left:0;right:0;bottom:0;z-index:240;
  padding:0 clamp(12px,3vw,26px) clamp(12px,3vw,26px);
  opacity:0;transform:translateY(22px);
  transition:opacity .26s ease,transform .3s cubic-bezier(.2,.8,.25,1);
  pointer-events:none;
}
.ctr-cookie--dentro{opacity:1;transform:none;pointer-events:auto;}
.ctr-cookie[hidden]{display:none;}
.ctr-cookie__in{
  max-width:640px;margin:0 auto;background:#14151A;color:#D8D1C4;
  border:3px solid var(--asfalto);border-top:4px solid var(--giallo);
  border-radius:20px;padding:18px 18px 16px;box-shadow:0 18px 44px rgba(0,0,0,.55);
}
.ctr .ctr-cookie__t{
  font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;
  font-size:1.16rem;color:#fff;line-height:1.1;margin-bottom:10px;
}
.ctr .ctr-cookie__d{font-size:.85rem;line-height:1.55;}
.ctr-cookie__d a{color:var(--giallo);text-decoration:underline;}
.ctr-cookie__btn{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px;}
.ctr-cookie__btn .ctr-btn{flex:1 1 180px;justify-content:center;cursor:pointer;}

@media(max-width:760px){
  /* ---- 1. i numeri: due colonne in una riga, il claim sotto ---- */
  .ctr-numeri{grid-template-columns:1fr 1fr;}
  .ctr-numeri__item{border-right:var(--bordo);border-bottom:0;padding:20px 16px;}
  .ctr-numeri__item:nth-child(2){border-right:0;}
  .ctr-numeri__item--claim{grid-column:1/-1;border-top:var(--bordo);border-right:0;}
  .ctr-numeri__k{font-size:clamp(1.9rem,8vw,2.4rem);}
  .ctr-numeri__v{font-size:.86rem;}

  /* ---- 2. piastrelle con nome proprio (pagina Servizi) ---- */
  .ctr-piastrella[data-titolo] > h3{display:none;}
  .ctr-piastrella[data-titolo]::before{
    content:attr(data-titolo);
    font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;
    font-size:1.05rem;line-height:1.1;letter-spacing:.01em;
  }
  .ctr-scheda-card.ctr-piastrella{padding:26px 18px;}

  /* ---- 3. la timeline ---- */
  .ctr-time{padding-left:0;}
  .ctr-time::before{display:none;}
  .ctr-time__item{
    padding:0 0 12px;position:relative;
  }
  .ctr-time__item::before{display:none;}
  .ctr-time__item--tocca{
    display:grid;grid-template-columns:64px 1fr;align-items:center;gap:14px;
    padding:15px 16px;margin-bottom:10px;cursor:pointer;
    background:rgba(255,255,255,.04);border:2px solid rgba(21,22,26,.14);
    border-left:5px solid var(--rosso);border-radius:15px;
    transition:transform .12s ease;
  }
  .ctr-sez--crema .ctr-time__item--tocca,
  .ctr-sez--crema2 .ctr-time__item--tocca{background:#fff;}
  .ctr-time__item--tocca:active{transform:scale(.985);}
  .ctr-time__item--tocca .ctr-time__anno{
    font-size:1.5rem;color:var(--rosso);letter-spacing:-.01em;
  }
  .ctr-time__item--tocca .ctr-time__t{
    margin-top:0;font-size:.94rem;line-height:1.24;font-weight:800;
  }
  .ctr-time__item--tocca .ctr-time__d{display:none;}
  .ctr-time__item--tocca::after{
    content:"";position:absolute;right:14px;top:50%;width:8px;height:8px;
    border-right:2.5px solid currentColor;border-top:2.5px solid currentColor;
    transform:translateY(-50%) rotate(45deg);opacity:.32;
  }
  .ctr-time__item--tocca .ctr-time__t{padding-right:20px;}

  /* ---- 4. Progetti: una galleria sola, che si scorre ---- */
  .ctr-prog__body .ctr-locstrip--scorri,
  .ctr-locstrip--scorri{
    display:grid;grid-auto-flow:column;grid-template-columns:none;
    grid-auto-columns:100%;gap:14px;
    overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;justify-content:start;
    padding:2px 0 6px;margin-top:0;
    scrollbar-width:none;-ms-overflow-style:none;
  }
  .ctr-locstrip--scorri::-webkit-scrollbar{display:none;}
  .ctr-prog__body .ctr-locstrip--scorri{grid-auto-columns:100%;}
  /* ogni locandina occupa tutto lo spazio e sta al centro, qualunque sia la forma */
  .ctr-locstrip--scorri > .ctr-loc{
    scroll-snap-align:center;width:100%;
    display:flex;align-items:center;justify-content:center;
  }
  .ctr-locstrip--scorri > .ctr-loc img{
    border-radius:6px;width:auto;max-width:100%;max-height:66vh;margin:0 auto;
  }
  .ctr-loc--inscorrimento{border-bottom:0 !important;width:100% !important;}
  .ctr-prog__hero.ctr-loc--inscorrimento{display:block;}
  .ctr-locstrip--nata{margin-top:16px;}
  .ctr-prog{grid-template-rows:none;}
  .ctr-prog__body{padding:20px 18px 18px;}
  .ctr-locfrecce{margin-top:14px;gap:16px;}
  .ctr-locfrecce button{width:52px;height:52px;}
  .ctr-locfrecce button svg{width:22px;height:22px;}
  .ctr-locfrecce button:disabled{opacity:.3;}
  .ctr-prog h3{font-size:1.24rem;}
  .ctr-prog--corto .ctr-prog__body > p:not(.ctr-prog__meta){
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
    overflow:hidden;
  }
  .ctr-prog--corto .ctr-prog__body > p:not(.ctr-prog__meta) ~ p:not(.ctr-prog__meta){display:none;}
  .ctr-prog__piu{
    margin-top:10px;padding:0;background:none;border:0;cursor:pointer;
    font:inherit;font-weight:800;font-size:.84rem;text-transform:uppercase;letter-spacing:.09em;
    color:var(--rosso);border-bottom:2px solid currentColor;align-self:flex-start;
  }
  .ctr-prog--corto .ctr-prog__piu{display:inline-block;}

  /* ---- 5. il footer ---- */
  .ctr-foot__grid{grid-template-columns:1fr 1fr !important;gap:26px 18px !important;}
  .ctr-foot__id{grid-column:1/-1;}
  .ctr-foot__id img{width:92px !important;}
  .ctr-foot__idea{grid-column:1/-1;}
  footer .ctr-grid a{padding:6px 0;font-size:.92rem;}
  .ctr-foot__grid ul{gap:2px !important;}
  .ctr-foot__coda{
    margin-top:30px !important;flex-direction:column;gap:8px !important;text-align:left;
  }
}


/* =========================================================
   FOOTER — colonne, icone social, pulsantone
   ========================================================= */
.ctr .ctr-foot__k{
  font-weight:800;text-transform:uppercase;letter-spacing:.12em;
  font-size:.78rem;color:var(--giallo);
}
.ctr-foot__voci{
  margin-top:14px;display:grid;grid-template-columns:1fr 1fr;
  gap:4px 18px;font-size:.95rem;
}
.ctr-foot__voci a{display:block;padding:7px 0;}
.ctr-foot__ico{display:flex;gap:12px;margin-top:16px;}
.ctr-foot__ico a{
  width:46px;height:46px;display:grid;place-items:center;flex:none;
  border:2px solid rgba(255,255,255,.22);border-radius:14px;color:#EDE6D8;
  transition:background .14s ease,border-color .14s ease,color .14s ease;
}
.ctr-foot__ico a:hover{background:var(--giallo);border-color:var(--giallo);color:var(--asfalto);}
.ctr-foot__ico svg{width:22px;height:22px;display:block;}
.ctr .ctr-foot__mail{margin-top:14px;font-size:.92rem;}
.ctr-foot__mail a{color:#B9B2A5;}
.ctr-foot__cta{margin-top:16px;}

@media(max-width:760px){
  footer.ctr-sez{padding-top:34px !important;padding-bottom:26px !important;}
  .ctr-foot__grid{grid-template-columns:1fr !important;gap:22px !important;}
  .ctr-foot__id img{width:84px !important;}
  .ctr-foot__id p{margin-top:10px !important;font-size:.86rem !important;line-height:1.5;}
  .ctr-foot__idea p{font-size:.9rem !important;margin-top:8px !important;}
  .ctr-foot__voci{gap:0 16px;margin-top:10px;}
  .ctr-foot__voci a{padding:7px 0;font-size:.92rem;}
  .ctr-foot__ico{margin-top:12px;gap:10px;}
  .ctr-foot__ico a{width:44px;height:44px;}
  .ctr .ctr-foot__mail{margin-top:10px;font-size:.88rem;}
  .ctr-foot__idea{text-align:center;}
  .ctr-foot__idea .ctr-foot__k{display:block;}
  .ctr-foot__cta{
    display:flex;width:100%;justify-content:center;
    margin-top:14px;padding:17px 24px;font-size:1.02rem;
  }
  .ctr-foot__ico{justify-content:flex-start;}
}

/* una galleria senza locandine non deve lasciare spazio vuoto */
.ctr-locstrip--scorri:empty{display:none !important;}
.ctr-locstrip:empty + .ctr-locfrecce{display:none !important;}


/* il pulsante "Leggi tutto" esiste solo nella versione compatta da telefono */
.ctr-prog__piu{display:none;}

/* =========================================================
   PIASTRELLE — prima il simbolo, poi il nome, con il colore giusto
   ========================================================= */
.ctr-piastrella .ctr-card__icona,
.ctr-piastrella .ctr-cred__ico{order:1;}
.ctr-piastrella[data-titolo]::before{order:2;color:var(--asfalto);}
.ctr-piastrella[data-titolo] > h3{order:3;}
.ctr-piastrella.ctr-card--teal[data-titolo]::before,
.ctr-piastrella.ctr-card--rosso[data-titolo]::before{color:#fff;}
.ctr-piastrella.ctr-card--giallo[data-titolo]::before{color:var(--asfalto);}

/* =========================================================
   SU SCHERMO GRANDE — locandine di una misura decente
   ========================================================= */
@media(min-width:761px){
  .ctr-locstrip{grid-template-columns:repeat(auto-fill,178px);gap:20px 18px;}
  .ctr-locstrip .ctr-loc{transition:transform .16s ease;}
  .ctr-locstrip .ctr-loc:hover{transform:translateY(-4px);}
  .ctr-locstrip img{box-shadow:0 8px 22px rgba(21,22,26,.24);}
  .ctr-sez--scuro .ctr-locstrip img{box-shadow:0 8px 26px rgba(0,0,0,.55);}
  .ctr-loc--grande{width:min(360px,72vw);}

  /* le schede lunghe (programma, tappe, serate) respirano come un cartellone */
  .ctr-scheda-card .ctr-lista{margin-top:16px;}
  .ctr-scheda-card .ctr-lista li{
    padding-bottom:12px;margin-bottom:12px;
    border-bottom:1px dashed rgba(21,22,26,.14);
  }
  .ctr-scheda-card .ctr-lista li:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0;}
  .ctr-scheda-card.ctr-card--teal .ctr-lista li,
  .ctr-scheda-card.ctr-card--rosso .ctr-lista li{border-bottom-color:rgba(255,255,255,.22);}
  .ctr-scheda-card .ctr-card__icona{margin-bottom:16px;}
}

/* =========================================================
   SCHEDE LUNGHE SU SCHERMO GRANDE — racconto sopra, cartellone sotto
   ========================================================= */
@media(min-width:761px){
  .ctr-grid--pila{grid-template-columns:1fr !important;gap:34px !important;}
  /* l'elenco e' un flex: per andare su due colonne deve tornare un blocco */
  .ctr-grid--pila .ctr-scheda-card .ctr-lista{
    display:block;columns:2;column-gap:44px;
  }
  .ctr-grid--pila .ctr-scheda-card .ctr-lista li + li{margin-top:0;}
  .ctr-grid--pila .ctr-scheda-card .ctr-lista li{
    break-inside:avoid;-webkit-column-break-inside:avoid;
  }
  .ctr-grid--pila .ctr-scheda-card{padding:32px 34px;}
}

/* =========================================================
   HEADER / NAV / FOOTER — solo per il sito statico
   ========================================================= */

.ctr-skip{
  position:absolute;left:-9999px;top:0;background:var(--giallo);color:var(--asfalto);
  padding:12px 18px;font-weight:800;z-index:999;border-radius:0 0 10px 0;
}
.ctr-skip:focus{left:0;}

/* il contenitore della barra non deve fare da gabbia: senza questo
   la testata appiccicata scorreva via con la pagina */
.ctr-barra{display:contents;}

.ctr-head{
  position:sticky;top:0;z-index:90;background:var(--asfalto);transition:transform .28s ease;
  color:#EDE6D8;border-bottom:3px solid var(--giallo);
}
.ctr-head--via{transform:translateY(-102%);}
.ctr-head__in{
  max-width:var(--max);margin:0 auto;padding:14px 20px;
  display:flex;align-items:center;gap:20px;
}
.ctr-logo{display:flex;align-items:center;margin-right:auto;}
.ctr-logo__mark{height:74px;width:auto;flex:none;}
@media(max-width:520px){.ctr-logo__mark{height:54px;}}

.ctr-nav{display:flex;align-items:center;gap:4px;}
.ctr-nav__firma{display:none;}
.ctr-head .ctr-nav a{
  color:#EDE6D8;font-family:'Anton',Impact,sans-serif;font-weight:400;
  text-transform:uppercase;letter-spacing:.05em;font-size:1.02rem;
  padding:11px 15px;border-radius:999px;transition:.14s;white-space:nowrap;
}
.ctr-head .ctr-nav a:hover{background:rgba(255,255,255,.1);color:#fff;}
.ctr-head .ctr-nav a[aria-current="page"]{color:var(--giallo);}
.ctr-nav .ctr-nav__cta{
  background:var(--giallo);color:var(--asfalto);
  font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;
  font-size:1.02rem;letter-spacing:.06em;padding:12px 24px;margin-left:10px;
  border:3px solid var(--asfalto);box-shadow:3px 3px 0 var(--giallo);
}
.ctr-nav .ctr-nav__cta:hover{background:#fff;color:var(--asfalto);}

.ctr-burger{
  display:none;background:transparent;border:2px solid rgba(255,255,255,.35);border-radius:14px;
  width:52px;height:52px;padding:0;cursor:pointer;flex:none;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
  transition:border-color .18s ease,background .18s ease;
}
.ctr-burger__l{
  display:block;width:23px;height:2.5px;border-radius:9px;background:#fff;
  transition:transform .26s cubic-bezier(.2,.8,.25,1),opacity .18s ease,background .18s ease;
}
.ctr-head--open .ctr-burger{background:rgba(255,255,255,.06);}
.ctr-head--open .ctr-burger__l{background:var(--giallo);}
.ctr-head--open .ctr-burger__l:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.ctr-head--open .ctr-burger__l:nth-child(2){opacity:0;transform:scaleX(.2);}
.ctr-head--open .ctr-burger__l:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
.ctr-burger:focus-visible,.ctr-nav a:focus-visible,.ctr-btn:focus-visible{
  outline:3px solid var(--giallo);outline-offset:3px;
}
.ctr-head--open .ctr-burger{border-color:var(--giallo);color:var(--giallo);}

/* =========================================================
   MENU SU TELEFONO — pannello a tutto schermo
   ========================================================= */
@media(max-width:1040px){
  .ctr-burger{display:flex;z-index:2;}
  .ctr-nav{
    position:fixed;inset:0;z-index:1;
    display:flex;flex-direction:column;align-items:stretch;justify-content:center;
    gap:0;padding:clamp(86px,14vh,120px) 26px 180px;
    background:
      radial-gradient(120% 90% at 85% 0%, rgba(207,32,52,.5), transparent 60%),
      radial-gradient(90% 70% at 0% 100%, rgba(234,199,53,.22), transparent 60%),
      #101116;
    opacity:0;visibility:hidden;
    transform:translateY(-14px);
    transition:opacity .28s ease,transform .28s ease,visibility .28s;
  }
  .ctr-head--open .ctr-nav{opacity:1;visibility:visible;transform:none;}

  .ctr-head .ctr-nav a{
    font-size:clamp(2rem,10vw,2.9rem);line-height:1;letter-spacing:.005em;
    padding:16px 0;border-radius:0;border-bottom:1px solid rgba(255,255,255,.12);
    color:#fff;display:flex;align-items:baseline;gap:14px;
    opacity:0;transform:translateY(18px);
    transition:opacity .3s ease,transform .3s ease,color .14s;
  }
  .ctr-head .ctr-nav a::before{
    content:counter(voce,decimal-leading-zero);counter-increment:voce;
    font-family:'Archivo',sans-serif;font-weight:800;font-size:.72rem;
    letter-spacing:.16em;color:var(--giallo);flex:none;
  }
  .ctr-nav{counter-reset:voce;}
  .ctr-head .ctr-nav a:hover,.ctr-head .ctr-nav a:active{background:none;color:var(--giallo);}
  .ctr-head .ctr-nav a[aria-current="page"]{color:var(--giallo);}
  .ctr-head--open .ctr-nav a{opacity:1;transform:none;}
  .ctr-head--open .ctr-nav a:nth-child(1){transition-delay:.06s;}
  .ctr-head--open .ctr-nav a:nth-child(2){transition-delay:.11s;}
  .ctr-head--open .ctr-nav a:nth-child(3){transition-delay:.16s;}
  .ctr-head--open .ctr-nav a:nth-child(4){transition-delay:.21s;}
  .ctr-head--open .ctr-nav a:nth-child(5){transition-delay:.26s;}

  .ctr-head .ctr-nav a.ctr-nav__cta{
    margin:34px 0 0;justify-content:center;text-align:center;
    font-size:1.15rem;padding:18px 24px;border-radius:999px;border-bottom:3px solid var(--asfalto);
    background:var(--giallo);color:var(--asfalto);border:3px solid var(--asfalto);
    box-shadow:5px 5px 0 rgba(0,0,0,.55);
  }
  .ctr-head .ctr-nav a.ctr-nav__cta:hover,
  .ctr-head .ctr-nav a.ctr-nav__cta:active{background:#fff;color:var(--asfalto);}
  .ctr-nav .ctr-nav__cta::before{content:none;}
  .ctr-head--open .ctr-nav__cta{transition-delay:.3s;}

  /* firma in fondo al pannello: il marchio, poi una riga sola */
  .ctr-nav__firma{
    display:flex;flex-direction:column;align-items:center;gap:10px;
    position:absolute;left:26px;right:26px;bottom:24px;
    opacity:0;transform:translateY(10px);
    transition:opacity .3s ease .34s,transform .3s ease .34s;
  }
  .ctr-nav__firma img{width:84px;height:auto;opacity:.92;}
  .ctr-nav__firma em{
    font-style:normal;font-size:.7rem;font-weight:800;letter-spacing:.18em;
    text-transform:uppercase;color:rgba(255,255,255,.42);text-align:center;
  }
  .ctr-head--open .ctr-nav__firma{opacity:1;transform:none;}
  .ctr-head--open .ctr-burger{border-color:var(--giallo);}
}
@media (prefers-reduced-motion:reduce){
  .ctr-nav,.ctr-head .ctr-nav a{transition:none;}
}

/* form contatti */
.ctr-form{display:flex;flex-direction:column;gap:14px;}
.ctr-campo{display:flex;flex-direction:column;gap:6px;}
.ctr-campo label{font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;}
.ctr-campo input,.ctr-campo select,.ctr-campo textarea{
  font:inherit;font-size:1rem;padding:13px 14px;border:2px solid var(--asfalto);
  border-radius:10px;background:#fff;color:var(--testo);width:100%;
}
.ctr-campo textarea{min-height:130px;resize:vertical;}
.ctr-campo input:focus,.ctr-campo select:focus,.ctr-campo textarea:focus{
  outline:3px solid var(--giallo);outline-offset:1px;border-color:var(--asfalto);
}
.ctr-campo--riga{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;}
.ctr-privacy{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;}
.ctr-privacy input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--rosso);}
.ctr-form__esito{
  display:none;border:var(--bordo);border-radius:12px;padding:16px;font-weight:700;
  background:var(--giallo);
}
.ctr-form__esito--ko{background:var(--rosso);color:#fff;}

/* ---------- muro delle locandine ---------- */
.ctr-muro{
  display:grid;gap:22px;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
}
.ctr-poster{
  margin:0;background:#fff;border:var(--bordo);border-radius:var(--raggio);
  overflow:hidden;box-shadow:var(--ombra);display:flex;flex-direction:column;
  transition:transform .14s ease,box-shadow .14s ease;
}
.ctr-poster:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--asfalto);}
.ctr-poster img{
  width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top center;
  border-bottom:var(--bordo);background:var(--crema-2);
}
.ctr-poster figcaption{
  padding:14px 16px;display:flex;flex-direction:column;gap:3px;font-size:.9rem;
}
.ctr-poster figcaption strong{font-weight:800;line-height:1.25;}
.ctr-poster figcaption span{color:#5A5B63;font-size:.83rem;}

/* pagina 404 */
.ctr-404{min-height:58vh;display:grid;place-items:center;text-align:center;}
