/* ==========================================================================
   PLEIADI · Sito Definitivo — CSS unico
   Sistema visivo: Versione 7.2 (duotone rosa + sistema orbitale)
   Tipografia: DM Sans + Instrument Serif Italic (Newsreader eliminato)
   Struttura: 1. Tokens · 2. Base · 3. Componenti · 4. Sezioni · 5. Responsive
   ========================================================================== */

/* 1 · DESIGN TOKENS ------------------------------------------------------ */
:root {
  /* Colore */
  --rosa: #E63A6E;
  --rosa-scuro: #C42A5C;
  --rosa-chiaro: #F5A9C4;
  --rosa-tinta: rgba(230, 58, 110, 0.09);
  --avorio: #F5F0E6;
  --carta: #FAFAF7;
  --carta-calda: #FAF8F2;
  --ink: #17160F;
  --ink-70: #4A4A44;
  --grigio: #6B6B66;
  --grigio-chiaro: #8A8880;
  --bordo: #ECEBE4;
  --bordo-caldo: #E2E0D7;
  --notte: #3A0F22;           /* fondo hero sotto il duotone */
  --card-scura: #221F19;

  /* Tipografia */
    --sans: 'Libre Franklin', 'Helvetica Neue', Arial, sans-serif;
  --display: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --serif: Georgia, 'Times New Roman', serif;

  /* Ritmo */
  --container: 1180px;
  --pad-x: 80px;
  --sez-y: 92px;
  --r-lg: 20px;
  --r-md: 16px;
  --r-sm: 14px;
  --r-pill: 999px;

  --ombra-foto: 0 22px 55px rgba(23, 22, 15, 0.14);
  --ombra-disco: 0 44px 90px rgba(60, 5, 25, 0.45);
}

/* 2 · BASE --------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--sans);
  background: var(--carta);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
  line-height: 1.6;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, p { margin: 0; }
h1, h2 { font-weight: 700; letter-spacing: -0.02em; }
button { font: inherit; cursor: pointer; }
:focus-visible { outline: 2px solid var(--rosa); outline-offset: 3px; border-radius: 4px; }
::selection { background: var(--rosa-chiaro); color: var(--ink); }

.container { max-width: var(--container); margin: 0 auto; padding-left: var(--pad-x); padding-right: var(--pad-x); }
.sezione { padding-top: var(--sez-y); padding-bottom: var(--sez-y); }
.sezione--calda { background: var(--carta-calda); border-top: 1px solid var(--bordo); border-bottom: 1px solid var(--bordo); }
.sezione--scura { background: var(--ink); color: var(--avorio); }

/* Accento serif identitario */
.serif { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: 0; }
.serif--rosa { color: var(--rosa); }

/* Kicker (eyebrow) */
.kicker {
  display: block; font-size: 12px; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--rosa-scuro); margin-bottom: 18px;
}
.sezione--scura .kicker { color: var(--rosa-chiaro); }

/* Numero di capitolo: 01 · Musei e mostre */
.capitolo { display: flex; align-items: baseline; gap: 14px; margin-bottom: 14px; }
.capitolo__num { font-family: var(--serif); font-style: italic; font-size: 30px; color: var(--rosa); }
.capitolo__label { font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--grigio); }

/* Titoli */
.h-hero { font-size: 72px; line-height: 1.0; color: #fff; }
.h-sez { font-size: 46px; line-height: 1.06; }
.lead { font-size: 17px; line-height: 1.64; color: var(--grigio); }

/* Flag dato da verificare */
.flag {
  white-space: nowrap; padding: 1px 6px; border: 1px dashed #C9C7BD;
  border-radius: 4px; font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.05em; text-transform: uppercase; color: var(--grigio-chiaro);
}
.sezione--scura .flag, .hero .flag { border-color: rgba(245,240,230,.3); color: rgba(245,240,230,.6); }

/* 3 · COMPONENTI --------------------------------------------------------- */

/* Bottoni pill */
.btn {
  display: inline-block; font-size: 15px; font-weight: 600;
  padding: 15px 26px; border-radius: var(--r-pill);
  border: none; transition: transform .15s ease, box-shadow .15s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn--rosa { background: var(--rosa); color: #fff; }
.btn--bianco { background: #fff; color: var(--ink); }
.btn--ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.5); padding: 14px 25px; }
.btn--link { font-size: 14.5px; font-weight: 600; color: var(--rosa); padding: 0; background: none; }

/* Navigazione */
.nav {
  position: sticky; top: 0; z-index: 40;
  background: rgba(250, 250, 247, 0.9);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
  backdrop-filter: saturate(160%) blur(14px);
  border-bottom: 1px solid var(--bordo);
}
.nav__inner { height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.nav__brand { display: flex; align-items: center; gap: 11px; font-size: 22px; font-weight: 800; letter-spacing: -0.02em; }
.nav__brand em { font-style: normal; color: var(--rosa); }
.nav__links { display: flex; align-items: center; gap: 28px; font-size: 14.5px; font-weight: 500; color: var(--ink-70); }
.nav__links a:hover { color: var(--ink); }
.nav__cta { background: var(--rosa); color: #fff !important; padding: 11px 21px; border-radius: var(--r-pill); font-weight: 600; }
.nav__toggle { display: none; background: none; border: none; width: 44px; height: 44px; }
.nav__toggle span { display: block; width: 22px; height: 2px; background: var(--ink); margin: 5px auto; transition: transform .2s; }

/* Hero fotografica duotone */
.hero { position: relative; min-height: 720px; overflow: hidden; background: var(--notte); display: flex; align-items: center; }
.hero > .container { width: 100%; }
.hero__img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.08) brightness(0.9);
}
.hero__img--fade { opacity: 0; animation: heroCross 24s linear infinite; }
.hero__img--fade:nth-of-type(1) { animation-delay: 0s; opacity: 1; }
.hero__img--fade:nth-of-type(2) { animation-delay: -8s; }
.hero__img--fade:nth-of-type(3) { animation-delay: -16s; }
@keyframes heroCross {
  0% { opacity: 0; } 4% { opacity: 1; } 33.3% { opacity: 1; } 41% { opacity: 0; } 100% { opacity: 0; }
}
.hero__duotone { position: absolute; inset: 0; background: var(--rosa); mix-blend-mode: multiply; }
.hero__scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(40,8,22,.62) 0%, rgba(40,8,22,.28) 44%, rgba(40,8,22,0) 74%); }
.hero__copy { position: relative; z-index: 2; max-width: 600px; padding: 120px 0; }
.hero__eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,.82); margin-bottom: 22px; }
.hero__lead { font-size: 19px; line-height: 1.55; color: rgba(255,255,255,.9); max-width: 470px; margin-top: 24px; }
.hero__offerta { font-size: 15px; line-height: 1.5; font-weight: 700; color: #fff; max-width: 560px; margin-top: 26px; }
.hero__offerta + .hero__lead { font-size: 16px; margin-top: 10px; max-width: 570px; color: rgba(255,255,255,.82); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 32px; }
.hero__metafora {
  position: absolute; left: var(--pad-x); bottom: 44px; z-index: 2;
  font-family: var(--serif); font-style: italic; font-size: 17px; color: rgba(255,255,255,.82);
}

/* Sistema orbitale (SVG inline nelle pagine, classi di supporto) */
.orbite { position: absolute; top: 50%; right: 4%; width: 560px; height: 560px; transform: translateY(-50%); z-index: 1; }
.orbite__svg { position: absolute; top: 50%; left: 50%; width: 1100px; height: 1100px; transform: translate(-50%,-50%); overflow: visible; }
.disco {
  position: absolute; top: 50%; left: 50%; width: 384px; height: 384px;
  transform: translate(-50%,-50%); border-radius: 50%;
  background: var(--avorio); box-shadow: var(--ombra-disco);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 0 48px; color: var(--ink);
}
.disco__tag { font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--rosa-scuro); }
.disco__titolo { font-weight: 700; font-size: 33px; line-height: 1.05; margin: 12px 0 10px; }
.disco__filo { width: 34px; height: 1px; background: #D8CDBE; margin-bottom: 10px; }
.disco__ruolo { font-size: 12.5px; line-height: 1.5; color: var(--grigio); }
#disco-progetti .disco__tag,
#disco-progetti .disco__titolo,
#disco-progetti .disco__filo,
#disco-progetti .disco__ruolo { transition: opacity .26s ease, transform .26s ease; }
#disco-progetti.disco--cambio .disco__tag,
#disco-progetti.disco--cambio .disco__titolo,
#disco-progetti.disco--cambio .disco__filo,
#disco-progetti.disco--cambio .disco__ruolo { opacity: 0; transform: translateY(5px); }

/* Porte d'ingresso */
.porte__testa { display: flex; align-items: baseline; gap: 14px; margin-bottom: 26px; flex-wrap: wrap; }
.porte__domanda { font-family: var(--serif); font-style: italic; font-size: 27px; }
.porte__hint { font-size: 14px; color: var(--grigio); }
.porte { display: grid; grid-template-columns: 1.5fr 1fr; gap: 20px; }
.porta {
  position: relative; overflow: hidden; border-radius: var(--r-lg);
  display: flex; flex-direction: column; justify-content: space-between;
  transition: transform .18s ease, box-shadow .18s ease;
}
.porta:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(23,22,15,.12); }
.luoghi-home { padding-top: 72px; padding-bottom: 78px; }
.luoghi-home .porte__testa { margin-bottom: 30px; }
.luoghi-home .porte__domanda { font-size: clamp(29px,3vw,43px); line-height: 1.08; max-width: 21ch; }
.luoghi-home .porta { isolation: isolate; color: #fff; min-height: 232px; padding: 28px; }
.luoghi-home .porta--flagship { min-height: 484px; }
.porta__img, .porta__velo { position: absolute; inset: 0; width: 100%; height: 100%; }
.porta__img { object-fit: cover; z-index: -3; transition: transform .55s cubic-bezier(.2,.65,.2,1); }
.porta__velo { z-index: -2; background: linear-gradient(0deg,rgba(19,16,16,.84),rgba(19,16,16,.12) 76%); }
.luoghi-home .porta:hover .porta__img { transform: scale(1.035); }
.luoghi-home .porta__tag, .luoghi-home .porta__desc { color: rgba(255,255,255,.83); }
.luoghi-home .porta,
.luoghi-home .porta--chiara,
.luoghi-home .porta--flagship,
.luoghi-home .porta__titolo,
.luoghi-home .porta__freccia { color: #fff; }
.luoghi-home .porta__titolo { font-size: clamp(28px,3vw,46px); line-height: 1; }
.luoghi-home .porta--chiara .porta__titolo { font-size: clamp(24px,2vw,31px); }
.luoghi-home .porta__desc { font-size: 14px; line-height: 1.5; max-width: 52ch; margin-top: 10px; }
.nota-professionale { font-size: 13px; line-height: 1.55; font-weight: 700; color: var(--rosa-scuro); margin: 20px 0 24px; }
.prova-musei{padding:26px 0;border-top:1px solid var(--bordo-caldo);border-bottom:1px solid var(--bordo-caldo)}
.prova-musei__titolo{font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--grigio);margin-bottom:22px}
.prova-musei__loghi{display:grid;grid-template-columns:repeat(7,1fr);gap:22px;align-items:center}
.prova-musei__loghi img{width:100%;max-height:54px;object-fit:contain;filter:grayscale(1);opacity:.72}
.esperienza-in-breve{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:34px;border-top:1px solid var(--bordo-caldo);border-bottom:1px solid var(--bordo-caldo)}
.esperienza-in-breve>div{padding:24px 24px 24px 0}
.esperienza-in-breve>div+div{border-left:1px solid var(--bordo-caldo);padding-left:24px}
.esperienza-in-breve strong,.esperienza-in-breve span{display:block}
.esperienza-in-breve strong{font-size:16px;margin-bottom:6px}.esperienza-in-breve span{font-size:13.5px;line-height:1.55;color:var(--grigio)}
.porta--flagship { min-height: 260px; background: var(--ink); color: #fff; padding: 32px; }
.porta--chiara { background: #fff; border: 1px solid var(--bordo); padding: 26px 28px; }
.porta__testa { display: flex; align-items: center; justify-content: space-between; }
.porta__tag { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--rosa-scuro); }
.porta--flagship .porta__tag { color: var(--rosa-chiaro); }
.porta__freccia { font-size: 22px; color: var(--rosa); }
.porta--flagship .porta__freccia { color: #fff; font-size: 24px; }
.porta__titolo { font-weight: 700; font-size: 26px; line-height: 1.05; margin-bottom: 5px; }
.porta--flagship .porta__titolo { font-size: 38px; line-height: 1; margin-bottom: 10px; }
.porta__desc { font-size: 13.5px; line-height: 1.5; color: var(--grigio); }
.porta--flagship .porta__desc { font-size: 15px; color: rgba(255,255,255,.72); max-width: 360px; }
.porte__colonna { display: grid; grid-template-rows: 1fr 1fr; gap: 20px; }

/* Filiera chips */
.filiera { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.filiera__chip {
  font-size: 13px; font-weight: 700; padding: 9px 16px;
  border-radius: var(--r-pill); background: #fff; border: 1.5px solid var(--bordo-caldo);
}
.filiera__chip--attivo { border-color: var(--rosa); color: var(--rosa-scuro); }
.filiera__freccia { color: var(--rosa); font-weight: 800; }

/* Pill argomento (museo del brand / d'impresa / …) */
.pill-tema { font-size: 12.5px; font-weight: 600; padding: 6px 13px; border-radius: var(--r-pill); background: var(--rosa-tinta); color: var(--rosa-scuro); }
.pill-riga { display: flex; flex-wrap: wrap; gap: 8px; }

/* Card primo passo (studio di fattibilità) */
.primo-passo { border: 1px solid var(--bordo); border-radius: var(--r-sm); padding: 22px 24px; background: #fff; }
.primo-passo__tag { font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--rosa-scuro); }
.primo-passo__titolo { font-weight: 700; font-size: 21px; margin: 8px 0 6px; }
.primo-passo__desc { font-size: 14px; line-height: 1.55; color: var(--grigio); margin-bottom: 14px; }

/* Griglia a due colonne con media */
.duo { display: grid; grid-template-columns: 1.05fr 1fr; gap: 52px; align-items: center; }
.duo--inversa { grid-template-columns: 1fr 1.05fr; }
.media { border-radius: var(--r-md); overflow: hidden; background: #E7E0D4; box-shadow: var(--ombra-foto); }
.media--16-11 { aspect-ratio: 16/11; }
.media--16-10 { aspect-ratio: 16/10; }
.media--4-3 { aspect-ratio: 4/3; }
.media--3-4 { aspect-ratio: 3/4; }
.media img { width: 100%; height: 100%; object-fit: cover; }
.media-coppia { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.media-coppia .media:nth-child(2) { margin-top: 30px; }

/* Riga progetto (elenco con filetto) */
.riga-progetto { border-top: 1px solid var(--bordo-caldo); padding: 16px 0; }
.riga-progetto__titolo { font-weight: 700; font-size: 19px; }
.riga-progetto__meta { font-size: 14px; color: var(--grigio); margin-top: 5px; }

/* Scheda caso (chiara e scura) */
.schede { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.scheda { border-radius: var(--r-sm); overflow: hidden; background: #fff; border: 1px solid var(--bordo); transition: transform .18s ease, box-shadow .18s ease; text-align: left; padding: 0; }
.scheda:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(23,22,15,.12); }
.sezione--scura .scheda { background: var(--card-scura); border: none; }
.scheda__corpo { padding: 18px 20px; }
.scheda__tag { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--rosa-scuro); }
.sezione--scura .scheda__tag { color: var(--rosa-chiaro); }
.scheda__titolo { font-weight: 700; font-size: 19px; margin: 8px 0 6px; }
.scheda__meta { font-size: 12.5px; color: var(--grigio); line-height: 1.5; }
.sezione--scura .scheda__meta { color: rgba(245,240,230,.66); }

/* Tavola dei rinnovi / continuità */
.rinnovi { border-top: 1px solid var(--bordo-caldo); }
.rinnovi__riga { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--bordo-caldo); }
.rinnovi__riga:last-child { border-bottom: none; }
.rinnovi__nome { font-weight: 700; font-size: 19px; }
.rinnovi__stato { font-size: 14px; color: var(--grigio); }

/* Doppia colonna cooperativa/benefit */
.sistema { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border: 1px solid var(--bordo); border-radius: var(--r-md); overflow: hidden; }
.sistema__cella { padding: 32px 34px; }
.sistema__cella:first-child { border-right: 1px solid var(--bordo); }
.sistema__cella--calda { background: var(--carta-calda); }
.sistema__tag { font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--rosa-scuro); }
.sistema__testo { font-size: 16px; line-height: 1.66; color: var(--ink-70); margin-top: 12px; }

/* Contatto */
.contatto { display: grid; grid-template-columns: 1fr 1.15fr; gap: 60px; align-items: start; }
.referente { margin-top: 28px; padding: 18px 20px; border: 1px solid var(--bordo); border-radius: 12px; background: #fff; display: flex; gap: 14px; align-items: center; }
.referente__avatar { width: 46px; height: 46px; border-radius: 50%; background: var(--avorio); flex-shrink: 0; overflow: hidden; }
.referente__nome { font-size: 14.5px; font-weight: 600; }
.referente__nota { font-size: 13px; color: var(--grigio); }
.recapiti { margin-top: 20px; display: flex; flex-direction: column; gap: 9px; font-size: 15px; color: var(--ink-70); }
.recapiti a { color: var(--rosa); font-weight: 600; }

/* Form */
.form { display: grid; gap: 14px; }
.form__riga { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form label { font-size: 13px; font-weight: 600; color: var(--ink-70); display: block; margin-bottom: 6px; }
.form input, .form textarea, .form select {
  width: 100%; font: inherit; font-size: 15px; color: var(--ink);
  padding: 13px 15px; border: 1px solid var(--bordo-caldo); border-radius: 10px;
  background: #fff;
}
.form input:focus, .form textarea:focus, .form select:focus { outline: 2px solid var(--rosa); outline-offset: 0; border-color: var(--rosa); }
.form textarea { min-height: 120px; resize: vertical; }
.form__privacy { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--grigio); }
.form__privacy input { width: auto; margin-top: 2px; }
.form__esito { display: none; padding: 14px 16px; border-radius: 10px; font-size: 14.5px; }
.form__esito--ok { display: block; background: #EAF6EC; color: #22633A; }
.form__esito--errore { display: block; background: #FBEAEA; color: #8A2626; }

/* Modal unico (sostituisce i 5 sistemi del sito originale) */
.modal { position: fixed; inset: 0; z-index: 100; display: none; }
.modal.aperto { display: block; }
.modal__sfondo { position: absolute; inset: 0; background: rgba(23,22,15,.6); }
.modal__pannello {
  position: relative; z-index: 1; max-width: 780px; margin: 6vh auto; max-height: 88vh;
  overflow-y: auto; background: var(--carta); border-radius: var(--r-md);
  padding: 0 0 36px;
}
.modal__foto { aspect-ratio: 16/9; overflow: hidden; }
.modal__foto img { width: 100%; height: 100%; object-fit: cover; }
.modal__corpo { padding: 30px 40px 0; }
.modal__chiudi {
  position: absolute; top: 16px; right: 16px; z-index: 2;
  width: 40px; height: 40px; border-radius: 50%; border: none;
  background: rgba(23,22,15,.55); color: #fff; font-size: 18px; line-height: 1;
}
.modal__tag { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--rosa-scuro); }
.modal__titolo { font-size: 32px; font-weight: 700; letter-spacing: -.02em; margin: 8px 0 4px; }
.modal__committente { font-size: 14.5px; color: var(--grigio); margin-bottom: 18px; }
.modal__lead { font-family: var(--serif); font-style: italic; font-size: 20px; line-height: 1.5; color: var(--ink-70); margin-bottom: 18px; }
.modal__testo { font-size: 15px; line-height: 1.66; color: var(--ink-70); margin-bottom: 14px; }
.modal__capitoletto { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--rosa-scuro); margin: 22px 0 8px; }
.modal__dati { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.modal__dato { border: 1px solid var(--bordo-caldo); border-radius: 10px; padding: 10px 14px; }
.modal__dato-v { font-weight: 700; font-size: 18px; display: block; }
.modal__dato-l { font-size: 12px; color: var(--grigio); }
.modal__ruolo { font-size: 13px; color: var(--grigio); border-top: 1px solid var(--bordo-caldo); padding-top: 14px; margin-top: 8px; }

/* Footer */
.footer { background: var(--ink); color: rgba(245,240,230,.75); }
.footer__inner { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-top: 64px; padding-bottom: 48px; }
.footer__brand { font-size: 24px; font-weight: 800; color: var(--avorio); }
.footer__brand em { font-style: normal; color: var(--rosa); }
.footer h4 { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--rosa-chiaro); margin-bottom: 14px; }
.footer a:hover { color: var(--avorio); }
.footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; font-size: 14.5px; }
.footer__legale { border-top: 1px solid rgba(245,240,230,.14); padding-top: 22px; padding-bottom: 30px; font-size: 12.5px; color: rgba(245,240,230,.5); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

/* Utilità */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.spazio-sm { margin-top: 16px; } .spazio-md { margin-top: 28px; } .spazio-lg { margin-top: 44px; }

/* 4 · RESPONSIVE --------------------------------------------------------- */
@media (max-width: 1080px) {
  :root { --pad-x: 48px; --sez-y: 72px; }
  .h-hero { font-size: 56px; }
  .h-sez { font-size: 38px; }
  .orbite { right: -8%; width: 460px; height: 460px; }
  .disco { width: 320px; height: 320px; }
  .disco__titolo { font-size: 27px; }
}
@media (max-width: 860px) {
  :root { --pad-x: 28px; --sez-y: 60px; }
  .nav__links {
    display: none; position: absolute; top: 76px; left: 0; right: 0;
    flex-direction: column; align-items: stretch; gap: 0;
    background: var(--carta); border-bottom: 1px solid var(--bordo); padding: 8px 0 16px;
  }
  .nav__links.aperto { display: flex; }
  .nav__links a { padding: 13px var(--pad-x); }
  .nav__cta { margin: 8px var(--pad-x) 0; text-align: center; }
  .nav__toggle { display: block; }
  .hero { min-height: 0; }
  .hero__copy { padding: 96px 0 320px; }
  .h-hero { font-size: 42px; }
  .orbite { top: auto; bottom: -40px; right: 50%; transform: translateX(50%); width: 340px; height: 340px; }
  .orbite__svg { width: 700px; height: 700px; }
  .disco { width: 250px; height: 250px; padding: 0 30px; }
  .disco__titolo { font-size: 22px; }
  .hero__metafora { position: static; display: block; padding: 0 0 28px; }
  .porte, .porte__colonna { grid-template-columns: 1fr; grid-template-rows: none; }
  .duo, .duo--inversa, .contatto, .sistema { grid-template-columns: 1fr; }
  [data-responsive="duo"] { grid-template-columns: 1fr !important; }
  .sistema__cella:first-child { border-right: none; border-bottom: 1px solid var(--bordo); }
  .schede { grid-template-columns: 1fr; }
  .media-coppia .media:nth-child(2) { margin-top: 0; }
  .footer__inner { grid-template-columns: 1fr 1fr; }
  .form__riga { grid-template-columns: 1fr; }
  .modal__pannello { margin: 0; max-height: 100vh; border-radius: 0; }
  .modal__corpo { padding: 24px 22px 0; }
}
@media (max-width: 480px) {
  .h-hero { font-size: 36px; }
  .h-sez { font-size: 30px; }
  .footer__inner { grid-template-columns: 1fr; }
}

/* 5 · MOTION ------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero__img--fade { animation: none !important; }
  .hero__img--fade:nth-of-type(2), .hero__img--fade:nth-of-type(3) { opacity: 0 !important; }
  .btn, .porta, .scheda { transition: none; }
}

/* ==========================================================================
   pagine perche + contenuti
   ========================================================================== */

/* Hero tipografico di pagina interna */
.paghero { padding-top: 78px; }
.paghero__titolo { font-size: 58px; line-height: 1.05; letter-spacing: -0.02em; max-width: 20ch; }
.paghero__lead { margin-top: 22px; max-width: 580px; }
.paghero__banner { margin-top: 52px; }
.media--21-9 { aspect-ratio: 21/9; }

/* Timeline sobria (storia) */
.timeline { border-top: 1px solid var(--bordo-caldo); }
.timeline__riga { display: grid; grid-template-columns: 140px 1fr; gap: 26px; padding: 22px 0; border-bottom: 1px solid var(--bordo-caldo); }
.timeline__anno { font-family: var(--serif); font-style: italic; font-size: 26px; color: var(--rosa); line-height: 1.2; }
.timeline__titolo { font-weight: 700; font-size: 19px; }
.timeline__testo { font-size: 14.5px; line-height: 1.62; color: var(--grigio); margin-top: 5px; }

/* Metodo in tre fasi */
.metodo { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.metodo__fase { background: #fff; border: 1px solid var(--bordo); border-radius: var(--r-md); padding: 28px 30px; }
.metodo__num { font-family: var(--serif); font-style: italic; font-size: 30px; color: var(--rosa); display: block; }
.metodo__titolo { font-weight: 700; font-size: 20px; margin: 10px 0 8px; }
.metodo__testo { font-size: 14px; line-height: 1.62; color: var(--grigio); }

/* Convinzioni (pull serif + testo) */
.convinzioni { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: start; }
.convinzione__pull { font-family: var(--serif); font-style: italic; font-size: 27px; line-height: 1.3; margin-bottom: 14px; }
.convinzione__pull em { color: var(--rosa); }
.convinzione__testo { font-size: 15px; line-height: 1.7; color: var(--ink-70); }

/* Rassegna riconoscimenti — solo testo */
.rassegna { border-top: 1px solid var(--bordo-caldo); }
.rassegna__riga { display: grid; grid-template-columns: 260px 1fr; gap: 26px; padding: 18px 0; border-bottom: 1px solid var(--bordo-caldo); align-items: baseline; }
.rassegna__nome { font-weight: 700; font-size: 19px; }
.rassegna__nota { font-size: 14px; line-height: 1.6; color: var(--grigio); }

/* Dati grandi su fondo scuro (spotlight) */
.spot-dati { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.spot-dato { border: 1px solid rgba(245,240,230,.25); border-radius: 10px; padding: 12px 16px; }
.spot-dato__v { display: block; font-weight: 700; font-size: 20px; color: var(--avorio); }
.spot-dato__l { font-size: 12.5px; color: rgba(245,240,230,.65); }

/* Righe "dove li usiamo" */
.dove { border-top: 1px solid var(--bordo-caldo); }
.dove__riga { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--bordo-caldo); }
.dove__nome { font-weight: 700; font-size: 21px; transition: color .15s ease; }
.dove__riga:hover .dove__nome { color: var(--rosa); }
.dove__meta { font-size: 14px; color: var(--grigio); flex: 1; margin-left: 8px; }
.dove__freccia { font-size: 20px; color: var(--rosa); }

/* Lista puntata dentro il modal */
.modal__lista { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 8px; font-size: 14.5px; line-height: 1.55; color: var(--ink-70); }
.modal__lista li { position: relative; padding-left: 22px; }
.modal__lista li::before { content: "—"; position: absolute; left: 0; color: var(--rosa); }

/* Contatto breve */
.contatto-breve { max-width: 640px; margin: 0 auto; text-align: center; }
.contatto-breve .kicker { margin-bottom: 14px; }

/* Scheda usata come bottone (trigger modal) */
button.scheda { display: block; width: 100%; }

@media (max-width: 860px) {
  .paghero__titolo { font-size: 38px; }
  .metodo, .convinzioni { grid-template-columns: 1fr; }
  .timeline__riga, .rassegna__riga { grid-template-columns: 1fr; gap: 4px; }
  .dove__meta { display: none; }
}

/* pagina progetti educativi */
.scheda--btn { cursor: pointer; font: inherit; color: inherit; text-align: left; display: block; width: 100%; }
.media--testata { aspect-ratio: 21/9; }
.passi { display: grid; grid-template-columns: 1fr; align-content: start; }
@media (max-width: 860px) {
  .media--testata { aspect-ratio: 16/10; }
}

/* pagina eventi ---------------------------------------------------------- */
.media--16-9 { aspect-ratio: 16/9; }
.eventi-hero { min-height: 600px; }
.eventi-hero .hero__copy { padding: 110px 0; max-width: 680px; }
.eventi-hero .hero__nota { font-size: 14.5px; color: rgba(255,255,255,.8); margin-top: 16px; max-width: 470px; }
button.scheda { cursor: pointer; font: inherit; color: inherit; width: 100%; display: block; }
.eventi-blocco { aspect-ratio: 4/3; display: flex; align-items: flex-end; padding: 18px 20px; background: linear-gradient(135deg, var(--rosa-tinta) 0%, var(--carta-calda) 100%); }
.eventi-blocco span { font-family: var(--serif); font-style: italic; font-size: 27px; line-height: 1.15; color: var(--rosa-scuro); }
.eventi-foto-griglia { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.eventi-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
.eventi-stat { border: 1px solid rgba(245,240,230,.22); border-radius: 12px; padding: 14px 16px; }
.eventi-stat__v { display: block; font-weight: 700; font-size: 21px; }
.eventi-stat__l { display: block; font-size: 12.5px; color: rgba(245,240,230,.62); margin-top: 3px; }
@media (max-width: 480px) { .eventi-stats { grid-template-columns: 1fr; } .eventi-foto-griglia { grid-template-columns: 1fr; } }

/* REVISIONE CHATGPT — pagine interne */
.nav{position:sticky;top:0;z-index:80;background:rgba(245,240,230,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,22,15,.08)}
.editorial-hero{position:relative;min-height:clamp(610px,78vh,820px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:#17160f;color:var(--avorio)}
.editorial-hero__image,.editorial-hero__wash,.editorial-hero__scrim,.editorial-hero__orbits{position:absolute;inset:0}
.editorial-hero__image{width:100%;height:100%;object-fit:cover;z-index:-4}
.editorial-hero__wash{z-index:-3;background:linear-gradient(115deg,rgba(84,5,34,.88) 0%,rgba(230,58,110,.58) 54%,rgba(23,22,15,.16) 100%);mix-blend-mode:multiply}
.editorial-hero__scrim{z-index:-2;background:linear-gradient(90deg,rgba(16,12,13,.78) 0%,rgba(16,12,13,.42) 43%,rgba(16,12,13,.08) 75%),linear-gradient(0deg,rgba(16,12,13,.55),transparent 48%)}
.editorial-hero__orbits{z-index:-1;left:auto;right:-11vw;top:50%;width:min(67vw,900px);height:min(67vw,900px);transform:translateY(-48%);border:1px solid rgba(245,240,230,.34);border-radius:50%}
.editorial-hero__orbits::before,.editorial-hero__orbits::after{content:"";position:absolute;border:1px solid rgba(245,240,230,.3);border-radius:50%}
.editorial-hero__orbits::before{inset:12%}.editorial-hero__orbits::after{inset:25%}
.editorial-hero__planet{position:absolute;z-index:-1;right:clamp(7vw,11vw,160px);top:50%;width:clamp(230px,27vw,390px);aspect-ratio:1;transform:translateY(-43%);border-radius:50%;background:var(--avorio);box-shadow:0 26px 70px rgba(23,22,15,.2)}
.editorial-hero__content{padding-top:92px;padding-bottom:clamp(62px,9vh,108px)}
.editorial-hero__copy{width:min(730px,67%);position:relative;z-index:2}
.editorial-hero .capitolo{color:var(--avorio);margin-bottom:22px}
.editorial-hero .capitolo__num,.editorial-hero .serif{color:#ff7ca4}
.editorial-hero h1{font-size:clamp(52px,6.1vw,92px);line-height:.92;letter-spacing:-.055em;max-width:12ch}
.editorial-hero .lead{color:rgba(245,240,230,.86);max-width:610px;margin-top:28px;font-size:clamp(17px,1.35vw,21px)}
.editorial-hero__actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:32px}
.editorial-hero .btn--link{color:var(--avorio);border-color:rgba(245,240,230,.45)}
.editorial-hero--educativi .editorial-hero__image{object-position:center 42%}
.editorial-hero--perche .editorial-hero__image{object-position:center 40%}
.editorial-orbite{top:50%;right:4%;width:560px;height:560px;transform:translateY(-50%)}
.editorial-disco{width:384px;height:384px;padding:0;background:var(--avorio)}
.sezione,.sezione--calda>.container{padding-top:clamp(78px,9vw,132px);padding-bottom:clamp(78px,9vw,132px)}
.h-sez{letter-spacing:-.045em}.lead{line-height:1.62}.kicker{letter-spacing:.17em}
.sezione--scura .schede{gap:18px}
.sezione--scura .scheda{position:relative;border:1px solid rgba(245,240,230,.11);background:#232119;overflow:hidden}
.sezione--scura .scheda::after{content:"↗";position:absolute;right:15px;bottom:14px;width:29px;height:29px;display:grid;place-items:center;border:1px solid rgba(245,240,230,.25);border-radius:50%;color:var(--avorio);opacity:0;transform:translateY(5px);transition:.25s ease}
.sezione--scura .scheda:hover::after,.sezione--scura .scheda:focus-visible::after{opacity:1;transform:none}
.sezione--scura .scheda img{transition:transform .55s cubic-bezier(.2,.65,.2,1)}
.sezione--scura .scheda:hover img{transform:scale(1.035)}
.sezione--scura .scheda__corpo{padding:22px 22px 28px}
.sezione--scura .scheda__titolo{font-size:clamp(20px,1.8vw,27px);letter-spacing:-.035em}
.rinnovi,.timeline,.passi{border-top:1px solid rgba(23,22,15,.18)}
.primo-passo{border:1px solid rgba(230,58,110,.24);box-shadow:0 18px 50px rgba(23,22,15,.06)}
.pill-tema{background:rgba(230,58,110,.07)}
.eventi-blocco{position:relative;overflow:hidden;background:linear-gradient(135deg,#f8e8ed 0%,#f4d4de 100%)}
.eventi-blocco::before,.eventi-blocco::after{content:"";position:absolute;border:1px solid rgba(230,58,110,.35);border-radius:50%}
.eventi-blocco::before{width:180px;height:180px;right:-42px;top:-92px}.eventi-blocco::after{width:110px;height:110px;right:7px;top:-57px}
.viaggio-museo{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:34px}
.viaggio-museo__fase{min-width:0}
.viaggio-museo__foto{aspect-ratio:4/5;overflow:hidden;border-radius:var(--r-md);margin-bottom:18px;background:var(--bordo)}
.viaggio-museo__foto img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.65,.2,1)}
.viaggio-museo__fase:hover img{transform:scale(1.035)}
.viaggio-museo__num{display:block;font-family:var(--serif);font-style:italic;color:var(--rosa);font-size:22px;margin-bottom:4px}
.viaggio-museo h3{font-size:23px;letter-spacing:-.035em;margin-bottom:7px}
.viaggio-museo p{font-size:13.5px;line-height:1.58;color:var(--grigio)}
.filiera--sintesi{padding-top:24px;border-top:1px solid var(--bordo-caldo)}
.viaggio-progetto{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:34px}
.viaggio-progetto__fase{min-width:0}
.viaggio-progetto__foto{aspect-ratio:4/5;overflow:hidden;border-radius:var(--r-md);margin-bottom:18px;background:var(--bordo)}
.viaggio-progetto__foto img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.65,.2,1)}
.viaggio-progetto__fase:hover img{transform:scale(1.035)}
.viaggio-progetto__num{display:block;font-family:var(--serif);font-style:italic;color:var(--rosa);font-size:22px;margin-bottom:4px}
.viaggio-progetto h3{font-size:23px;letter-spacing:-.035em;margin-bottom:7px}
.viaggio-progetto p{font-size:13.5px;line-height:1.58;color:var(--grigio)}
.due-scale{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--bordo-caldo);margin-top:26px}
.due-scale>div{padding:22px 24px 0 0}.due-scale>div+div{border-left:1px solid var(--bordo-caldo);padding-left:24px}
.due-scale span{font-weight:700;font-size:15px}.due-scale p{font-size:13.5px;line-height:1.58;color:var(--grigio);margin-top:5px}
@media(max-width:760px){
  .editorial-hero{min-height:690px}.editorial-hero__content{padding-top:84px;padding-bottom:48px}.editorial-hero__copy{width:100%}
  .editorial-hero h1{font-size:clamp(48px,14vw,68px);max-width:9.5ch}.editorial-hero .lead{font-size:16px;max-width:94%}
  .editorial-hero__planet{width:188px;right:-42px;top:27%;opacity:.94}.editorial-hero__orbits{width:560px;height:560px;right:-310px;top:30%}
  .editorial-orbite{top:29%;right:-168px;width:390px;height:390px;transform:translateY(-50%);opacity:.92}
  .editorial-orbite .orbite__svg{width:760px;height:760px}
  .editorial-disco{width:266px;height:266px}
  .editorial-hero__scrim{background:linear-gradient(0deg,rgba(16,12,13,.9) 0%,rgba(16,12,13,.5) 62%,rgba(16,12,13,.12) 100%)}
  .sezione,.sezione--calda>.container{padding-top:76px;padding-bottom:76px}
  .viaggio-museo{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:calc(var(--pad-x)*-1);padding-right:var(--pad-x);gap:14px}
  .viaggio-museo__fase{flex:0 0 78vw;scroll-snap-align:start}.viaggio-museo__foto{aspect-ratio:4/3}
  .viaggio-progetto{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:calc(var(--pad-x)*-1);padding-right:var(--pad-x);gap:14px}
  .viaggio-progetto__fase{flex:0 0 78vw;scroll-snap-align:start}.viaggio-progetto__foto{aspect-ratio:4/3}
  .due-scale{grid-template-columns:1fr}.due-scale>div+div{border-left:0;padding-left:0}
  .luoghi-home .porta--flagship,.luoghi-home .porta{min-height:330px}
  .prova-musei__loghi{grid-template-columns:repeat(3,1fr)}
  .esperienza-in-breve{grid-template-columns:1fr}.esperienza-in-breve>div+div{border-left:0;border-top:1px solid var(--bordo-caldo);padding-left:0}
}



/* ===== HOME · modifiche richieste ===== */
/* interlinea titoli più corta, soprattutto i grandi */
.h-hero{ line-height:.95; }
.h-sez{ line-height:1.06; }

/* FILIERA come striscia di solo testo, fondo rosa scuro */
.sezione--filiera{ background:var(--rosa-scuro); color:#fff; }
.sezione--filiera .kicker{ color:rgba(255,255,255,.82); }
.sezione--filiera .h-sez{ color:#fff; }
.sezione--filiera .serif--rosa{ color:#FBD3E0; }
.sezione--filiera .lead{ color:rgba(255,255,255,.92); }

/* Rete musei nel blocco "Perché Pleiadi" */
.rete-musei{ margin-top:30px; padding-top:28px; border-top:1px solid var(--bordo); }
.rete-musei__intro{ font-family:var(--serif); font-style:italic; font-size:23px; line-height:1.48; color:var(--ink-70); max-width:740px; margin-bottom:18px; }
.rete-musei__nomi{ font-size:18px; line-height:1.8; color:var(--ink); max-width:840px; font-weight:500; }
/* fine modifiche home */

/* ===== ZONE CHIARE — TEST BIANCO ===== */
:root{
  --carta: #FFFFFF;        /* bianco */
  --carta-calda: #F7F6F3;  /* fascia alternata appena percettibile */
}
body{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E") repeat,
    var(--carta);
}
.nav{ background: rgba(255,255,255,.86) !important; }
/* fine zone chiare */

/* ===== HOME v2 · richieste Lucio ===== */

/* Brand testuale in stampatello al posto del simil-logo */
.nav__brand{ display:inline-flex; align-items:center; text-decoration:none; }
.brand-lockup{ font-weight:700; font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink); white-space:nowrap; }

/* Titolo "Tre modalità" in stampatello, una linea */
.porte__domanda{ font-family:var(--sans); font-style:normal; font-weight:700; text-transform:uppercase; letter-spacing:.2em; font-size:12px; white-space:nowrap; color:var(--rosa-scuro); }
@media(max-width:640px){ .porte__domanda{ white-space:normal; font-size:11px; letter-spacing:.16em; } }

/* FILIERA con foto sotto + tinta rosa (come la hero) */
.sezione--filiera{ position:relative; overflow:hidden; background:var(--rosa-scuro); color:#fff; }
.filiera__bg{ position:absolute; inset:0; z-index:0; background:url("img/Macchine_del_Tempo_OGR_Img_05.webp") center/cover no-repeat; filter:grayscale(.5) brightness(.72); }
.filiera__tint{ position:absolute; inset:0; z-index:1; background:var(--rosa-scuro); mix-blend-mode:multiply; opacity:.74; }
.filiera__scrim{ position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(18,5,11,.60), rgba(18,5,11,.18) 74%); }
.sezione--filiera > .container{ position:relative; z-index:2; }
.sezione--filiera .kicker{ color:rgba(255,255,255,.85); }
.sezione--filiera .h-sez{ color:#fff; }
.sezione--filiera .serif--rosa{ color:#FBD3E0; }

/* Competenze valorizzate (no chip) */
.competenze{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px 30px; margin-top:34px; }
.competenza{ border-top:2px solid rgba(255,255,255,.28); padding-top:14px; }
.competenza__t{ display:block; font-weight:700; font-size:17px; letter-spacing:.02em; color:#fff; margin-bottom:7px; }
.competenza__d{ display:block; font-size:13.5px; line-height:1.55; color:rgba(255,255,255,.82); }
@media(max-width:820px){ .competenze{ grid-template-columns:repeat(2,1fr); gap:22px; } }
@media(max-width:460px){ .competenze{ grid-template-columns:1fr; } }

/* Separatore rosa tra sezioni chiare */
.sep-rosa{ height:2px; background:var(--rosa); max-width:var(--container); margin:0 auto; }

/* Loghi musei in fila su sfondo bianco */
.loghi-musei{ margin-top:22px; background:#fff; border:1px solid var(--bordo); border-radius:var(--r-md); padding:22px 26px;
  display:flex; flex-wrap:wrap; align-items:center; gap:30px 40px; }
.loghi-musei img{ height:44px; width:auto; object-fit:contain; filter:grayscale(1); opacity:.72; transition:filter .2s, opacity .2s; }
.loghi-musei img:hover{ filter:none; opacity:1; }
@media(max-width:640px){ .loghi-musei{ gap:22px 26px; padding:18px; } .loghi-musei img{ height:34px; } }

/* Larghezza testo rete musei come il resto (meno a capo) */
.rete-musei__intro{ font-size:20px; line-height:1.55; max-width:900px; }
/* fine home v2 */

/* ===== FILIERA ORBITE (stesse forme della hero) ===== */
.filiera__orbite{ position:absolute; top:50%; right:-4%; width:640px; height:640px; transform:translateY(-50%); z-index:1; pointer-events:none; }
.filiera__orbite svg{ position:absolute; top:50%; left:50%; width:1150px; height:1150px; transform:translate(-50%,-50%); overflow:visible; }
@media(max-width:900px){ .filiera__orbite{ right:-28%; width:460px; height:460px; opacity:.6; } }
/* fine filiera orbite */



/* ===== FILIERA fix3 · rosa identico alla hero ===== */
.sezione--filiera > .container{ padding-top:58px !important; padding-bottom:58px !important; }
/* stesso duotone della hero: foto grayscale + rosa pieno multiply */
.filiera__bg{ background-image:url("../../img/Festival-Disegno-Castello-Sforzesco_Img_02.webp"); filter:grayscale(1) contrast(1.08) brightness(.9); }
.filiera__tint{ background:var(--rosa); mix-blend-mode:multiply; opacity:1; }
.filiera__scrim{ background:linear-gradient(90deg, rgba(40,8,22,.62) 0%, rgba(40,8,22,.28) 44%, rgba(40,8,22,0) 74%); }
.sezione--filiera .lead{ max-width:640px; }
.competenze{ grid-template-columns:repeat(4,1fr); max-width:none; gap:18px 26px; margin-top:26px; }
.filiera__orbite{ top:-40%; right:2%; width:420px; height:420px; }
.filiera__orbite svg{ width:760px; height:760px; }
@media(max-width:820px){
  .competenze{ grid-template-columns:repeat(2,1fr); }
  .filiera__orbite{ top:-18%; right:-22%; width:320px; height:320px; opacity:.5; }
}
@media(max-width:460px){ .competenze{ grid-template-columns:1fr; } }
/* fine filiera fix */

/* ===== HOME v3 · loghi liberi + casi ===== */
/* Loghi musei a colori, senza riquadro */
.loghi-musei--liberi{ background:none; border:none; padding:0; margin-top:26px; gap:34px 46px; }
.loghi-musei--liberi img{ filter:none; opacity:1; height:50px; }
.loghi-musei--liberi img:hover{ filter:none; opacity:1; }
@media(max-width:640px){ .loghi-musei--liberi{ gap:26px 30px; } .loghi-musei--liberi img{ height:38px; } }

/* Casi: sfondo neutro dietro le foto (niente bianco che spunta) */
.schede .media--4-3{ background:var(--bordo-caldo); }
.schede .scheda img{ object-position:center; }
/* fine home v3 */


/* ===== CASI uniformi · stessa immagine, testi allineati ===== */
.schede{ grid-template-columns:repeat(3,1fr); gap:24px; align-items:stretch; }
.schede .scheda{ display:flex; flex-direction:column; height:100%; }
.schede .scheda .media--4-3{ width:100%; aspect-ratio:4/3; overflow:hidden; flex:0 0 auto; }
.schede .scheda .media--4-3 img{ width:100%; height:100%; object-fit:cover; display:block; transform:none; transition:transform .35s ease; }
.schede .scheda:hover .media--4-3 img{ transform:scale(1.05); }
.schede .scheda__corpo{ flex:1 1 auto; display:flex; flex-direction:column; padding:18px 20px 20px; }
.schede .scheda__tag{ display:block; min-height:2.4em; }
.schede .scheda__titolo{ min-height:2.5em; margin:8px 0 8px; }
.schede .scheda__meta{ margin-top:auto; }
@media(max-width:820px){ .schede{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .schede{ grid-template-columns:1fr; } .schede .scheda__tag,.schede .scheda__titolo{ min-height:0; } }
/* fine casi uniformi */



/* ===== PERCHE duotone rosa (come hero) + 1 milione + dove siamo ===== */
.sezione--perche{ position:relative; overflow:hidden; background:var(--rosa-scuro); color:#fff; }
.perche__bg{ position:absolute; inset:0; z-index:0; background:url("../../img/Musei_CMV_01.webp") center/cover no-repeat; filter:grayscale(1) contrast(1.06) brightness(.85); }
.perche__tint{ position:absolute; inset:0; z-index:1; background:var(--rosa); mix-blend-mode:multiply; }
.perche__scrim{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(30,6,15,.34), rgba(30,6,15,.56)); }
.perche__orbite{ position:absolute; top:-14%; right:1%; width:340px; height:340px; z-index:1; pointer-events:none; }
.perche__orbite svg{ position:absolute; top:50%; left:50%; width:620px; height:620px; transform:translate(-50%,-50%); overflow:visible; }
.sezione--perche > .container{ position:relative; z-index:2; }
.sezione--perche .kicker{ color:rgba(255,255,255,.85); }
.sezione--perche .h-sez{ color:#fff; }
.sezione--perche .serif--rosa{ color:#FBD3E0; }
.sezione--perche .btn--link{ color:#fff; }

.perche__top{ display:grid; grid-template-columns:1.6fr 1fr; gap:44px; align-items:end; }
.perche__lead{ color:rgba(255,255,255,.92); max-width:none; margin:0; }
.milione__num{ display:block; font-family:var(--serif); font-style:italic; font-size:62px; line-height:.95; color:#fff; }
.milione__lbl{ display:block; font-size:14px; line-height:1.45; color:rgba(255,255,255,.85); margin-top:10px; }
@media(max-width:820px){ .perche__top{ grid-template-columns:1fr; gap:24px; } .milione__num{ font-size:52px; } }

/* Dove siamo su fondo scuro */
.dove-siamo{ position:relative; margin-top:40px; }
.dove-siamo__lista{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:0 56px; }
.dove-siamo__lista li{ display:flex; align-items:baseline; gap:14px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.2); }
.ds-nome{ font-weight:600; font-size:16.5px; color:#fff; letter-spacing:-.005em; }
.ds-city{ margin-left:auto; font-family:var(--serif); font-style:italic; font-size:18px; color:#FBD3E0; white-space:nowrap; }
@media(max-width:680px){ .dove-siamo__lista{ grid-template-columns:1fr; gap:0; } }
/* fine perche duotone */

/* ===== PERCHE compatto · città più visibili ===== */
.sezione--perche > .container.sezione{ padding-top:60px !important; padding-bottom:60px !important; }
.sezione--perche .h-sez{ margin-bottom:20px !important; }
.perche__top{ align-items:center; gap:40px; }
.dove-siamo{ margin-top:28px; }
.dove-siamo__lista li{ padding:11px 0; }
/* città protagoniste, nome secondario */
.ds-city{ font-size:21px; color:#fff; margin-left:auto; }
.ds-nome{ font-size:15.5px; font-weight:500; color:rgba(255,255,255,.78); }
.milione__num{ font-size:56px; }
/* fine perche compatto */

/* ===== PERCHE compatto2 · lista fitta, no numero grande ===== */
.sezione--perche > .container.sezione{ padding-top:56px !important; padding-bottom:56px !important; }
.perche__lead{ margin:0; }
.dove-siamo{ margin-top:26px; }
.dove-siamo__lista{ gap:0 56px; }
.dove-siamo__lista li{ padding:9px 0; }
.ds-city{ font-size:20px; }
/* fine perche compatto2 */

/* ===== FOOTER brand come in alto ===== */
.footer__brand-lockup{ color:#fff; font-size:14px; letter-spacing:.16em; }
/* fine footer brand */




/* ===== BOTTONI rosa · duotone scuro (opzione 5) ===== */
.btn--rosa, .nav__cta{
  background-color:#D22E60;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='d'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.011' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23d)' opacity='0.6'/%3E%3C/svg%3E");
  background-blend-mode:multiply;
  border:none;
}
.btn--rosa:hover, .nav__cta:hover{ filter:brightness(1.05); }
/* fine bottoni texture */

/* ===== ANIM soft · contatto 2 col + comparsa + orbite lente ===== */
.contatto{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.contatto__frase{ font-family:var(--serif); font-size:33px; line-height:1.16; color:var(--ink); max-width:15ch; margin:0; }
.contatto__frase .serif--rosa{ font-style:italic; }
@media(max-width:820px){ .contatto{ grid-template-columns:1fr; gap:26px; } .contatto__frase{ font-size:27px; max-width:none; } }

@media (prefers-reduced-motion: no-preference){
  .reveal{ opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease; }
  .reveal.is-visible{ opacity:1; transform:none; }
  .orbite__svg, .filiera__orbite > svg, .perche__orbite > svg{ animation:orbitaSpin 90s linear infinite; }
  @keyframes orbitaSpin{ from{ transform:translate(-50%,-50%) rotate(0deg); } to{ transform:translate(-50%,-50%) rotate(360deg); } }
}
/* fine anim soft */


/* ===== CONTATTO · sfondo bianco, orbite scure a sinistra ===== */
.sezione--contatto{ position:relative; overflow:hidden; }
.sezione--contatto > .container{ position:relative; z-index:2; }
.contatto__orbite{ position:absolute; top:50%; left:0; width:820px; height:820px; margin:-410px 0 0 -300px; z-index:0; pointer-events:none; opacity:.25; }
.contatto__orbite svg{ width:100%; height:100%; overflow:visible; }
.pl{ transform-box:view-box; transform-origin:550px 550px; }

@media (prefers-reduced-motion: no-preference){
  .contatto__orbite{ animation:orbitaSpin2 140s linear infinite; transform-origin:center; }
  @keyframes orbitaSpin2{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
  .pl1{ animation:plspin 28s linear infinite; }
  .pl2{ animation:plspin 44s linear infinite reverse; }
  .pl3{ animation:plspin 66s linear infinite; }
  @keyframes plspin{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
}
/* fine contatto fascia */

/* ===== promessa in hero: unico interlocutore ===== */
.unico{ display:inline-block; margin:24px 0 4px; padding:12px 20px;
  background:rgba(255,255,255,.14); border-left:3px solid #fff;
  font-weight:800; font-size:19px; line-height:1.35; letter-spacing:-.01em; color:#fff; }
@media(max-width:600px){ .unico{ font-size:16.5px; padding:10px 15px; } }

/* ===== partner di progetto (senza loghi) ===== */
.partner-progetto{ margin-top:26px; padding-top:18px; border-top:1px solid rgba(245,240,230,.22);
  font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(245,240,230,.55); }
.partner-progetto span{ display:block; margin-top:9px; font-family:var(--serif); font-style:italic;
  font-size:18px; font-weight:400; letter-spacing:0; text-transform:none; color:rgba(245,240,230,.9); line-height:1.5; }
/* titolo CTA su una riga */
.contatto__frase--riga{ max-width:none; white-space:normal; }
@media(min-width:900px){ .contatto__frase--riga{ white-space:nowrap; font-size:30px; } }
.risposta{ font-size:13px; color:var(--grigio); margin-top:6px; }






/* ===== attestati (riconoscimenti a schede) ===== */
.attestati{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:34px; }
.attestato{ background:#fff; border:1px solid var(--bordo); border-top:3px solid var(--rosa);
  transition:box-shadow .2s ease, transform .2s ease; }
.attestato:hover{ box-shadow:0 14px 34px rgba(23,22,15,.08); transform:translateY(-2px); }
.attestato summary{ list-style:none; cursor:pointer; padding:24px 26px 24px; position:relative; }
.attestato summary::-webkit-details-marker{ display:none; }
.attestato summary::after{ content:"+"; position:absolute; top:20px; right:24px;
  color:var(--rosa); font-size:23px; line-height:1; }
.attestato[open] summary::after{ content:"–"; }
.attestato__cat{ display:block; font-size:10.5px; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--rosa-scuro); margin-bottom:12px; }
.attestato__nome{ display:block; font-family:var(--serif); font-style:italic; font-size:27px;
  line-height:1.15; color:var(--ink); padding-right:30px; }
.attestato__riga{ display:block; font-size:14px; line-height:1.5; color:var(--grigio); margin-top:9px; }
.attestato__corpo{ padding:0 26px 26px; }
.attestato__corpo p{ font-size:14.5px; line-height:1.66; color:var(--ink-70); }
@media(max-width:820px){ .attestati{ grid-template-columns:1fr; } .attestato__nome{ font-size:23px; } }




/* ===== riconoscimenti, versione compatta ===== */
.ricon-compatta{ list-style:none; display:flex; flex-wrap:wrap; gap:0; border-top:1px solid var(--bordo); }
.ricon-compatta li{ flex:1 1 260px; padding:14px 22px 14px 0; border-bottom:1px solid var(--bordo);
  font-weight:600; font-size:15.5px; line-height:1.35; }
.ricon-compatta em{ display:block; font-style:normal; font-weight:400; font-size:13px;
  color:var(--grigio); margin-top:3px; }
@media(max-width:600px){ .ricon-compatta li{ flex:1 1 100%; font-size:14.5px; } }


/* ===== hero: i tre servizi, righe separate da filo ===== */
.hero__servizi{ list-style:none; margin:26px 0 20px; max-width:34ch;
  border-top:1px solid rgba(255,255,255,.35); }
.hero__servizi li{ font-size:20px; font-weight:600; line-height:1.25; color:#fff;
  padding:9px 0; border-bottom:1px solid rgba(255,255,255,.35); }
@media(max-width:640px){ .hero__servizi li{ font-size:17px; padding:8px 0; } }

.h-hero,.h-sez,.brand-lockup,.disco__titolo,.scheda__titolo,.porta__titolo,
.contatto__frase,.fase__t,.attestato__nome,.hero__servizi li,.cella b{ font-family:var(--display); }

/* ===== fasce in grigio chiaro con grana · evidenziato ROSA ===== */
.sezione--filiera, .sezione--perche, .sezione--contatto{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E") repeat, #EDEDE9 !important; color:var(--ink) !important; }
.filiera__bg,.filiera__tint,.filiera__scrim,.filiera__orbite,
.perche__bg,.perche__tint,.perche__scrim{ display:none !important; }
.sezione--filiera .h-sez,.sezione--perche .h-sez{ color:var(--ink) !important; }
.sezione--filiera .lead,.sezione--perche .lead,
.sezione--filiera .lead strong,.sezione--perche .lead strong{ color:var(--ink-70) !important; }
.sezione--filiera .kicker,.sezione--perche .kicker{ color:var(--rosa-scuro) !important; }
.sezione--filiera .serif--rosa,.sezione--perche .serif--rosa,
.sezione--contatto .serif--rosa{ color:var(--rosa) !important; }
.dove-siamo__lista li{ border-bottom-color:var(--bordo) !important; }
.ds-nome{ color:var(--ink) !important; } .ds-city{ color:var(--rosa-scuro) !important; }
.unico{ background:rgba(230,58,110,.10); border-left-color:var(--rosa); color:var(--ink); }
.contatto__frase{ color:var(--ink) !important; }


/* ===== PROVA HERO: fondo grigio, cerchio e pianeti, titolo evidenziato ===== */
/* niente fotografia: solo grigio chiaro con grana */
.hero{ background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E") repeat,
  #EDEDE9 !important; }
.hero .hero__img, .hero .hero__duotone, .hero .hero__scrim{ display:none !important; }

/* via le orbite, restano i pianeti */
.orbite__svg g[fill="none"]{ display:none !important; }
.orbite__svg g[fill="rgba(255,255,255,.95)"] circle{ fill:#8E1741 !important; }

/* titolo: rettangoli rosa scuro aderenti, senza toccare la riga sotto */
.hero__copy .h-hero{ display:inline; background:#8E1741; color:#fff;
  box-decoration-break:clone; -webkit-box-decoration-break:clone;
  padding:.02em .16em; line-height:1.0; }
.hero__copy .h-hero .serif{ color:#fff; }

/* testi su fondo chiaro */
.hero__eyebrow{ color:var(--rosa-scuro) !important; }
.hero__servizi{ margin-top:26px; border-top-color:rgba(23,22,15,.22) !important; }
.hero__servizi li{ color:var(--ink) !important; border-bottom-color:rgba(23,22,15,.22) !important; }
.hero__lead{ color:var(--ink-70) !important; }
.btn--bianco{ background:var(--ink) !important; color:#fff !important; }
.btn--ghost{ color:var(--ink) !important; border-color:rgba(23,22,15,.3) !important; }
.hero__metafora{ color:var(--grigio) !important; }


/* ===== DIREZIONE: angoli retti ovunque + rosa scuro ===== */
:root{ --rosa: #8E1741; --rosa-scuro: #6B0F30; --rosa-tinta: rgba(142,23,65,.09); }

/* spigoli vivi su tutto, tranne il disco e i pianeti che sono cerchi per natura */
*, *::before, *::after{ border-radius:0 !important; }
.disco, .eventi-blocco::before, .referente__avatar{ border-radius:50% !important; }
.orbite__svg circle, .contatto__orbite circle{ border-radius:0 !important; }

/* bottoni squadrati */
.btn, .nav__cta, .btn--rosa, .btn--bianco, .btn--ghost,
.form input, .form textarea, .form select, .form button{ border-radius:0 !important; }

/* immagini e riquadri a spigolo */
.media, .media--4-3, .media--16-9, .media--16-10, .media--16-11, .media--3-4,
.scheda, .porta, .modal__pannello, .modal__foto, .attestato, .cella,
.primo-passo, .referente, .eventi-blocco, .pill-tema, .flag{ border-radius:0 !important; }

/* tutto ciò che era rosa acceso passa al rosa scuro */
.nav__cta, .btn--rosa{ background-color:#8E1741 !important; }
.kicker, .serif--rosa, .ds-city, .btn--link, .attestato__cat,
.cella summary::after, .fase__n, .fase summary::after,
.passaggi summary::before, .ric__corpo a{ color:#8E1741 !important; }
.cella svg, .macchina svg{ stroke:#8E1741 !important; }
.sep-rosa, .impatto-tre div, .ottieni div, .attestato, .autor div{ border-color:#8E1741 !important; }
.attestato{ border-top-color:#8E1741 !important; }
.hero__eyebrow{ color:#8E1741 !important; }

/* kicker sopra foto: bianco, non rosa */
.porta .kicker, .porta__kicker{ color:#fff !important; }


/* ===== TEXTURE RETINO (halftone) sulle fasce grigie ===== */
:root{ --retino-opacita:.16; }

.hero, .sezione--filiera, .sezione--perche, .sezione--contatto{ position:relative; }
.sezione--filiera > .container{ position:relative; z-index:2; }
.hero > *{ position:relative; z-index:2; }

.hero::before,
.sezione--filiera::before,
.sezione--perche::before,
.sezione--contatto::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background-image:url("../../img/texture/halftone.png");
  background-repeat:repeat;
  background-size:480px 480px;
  opacity:var(--retino-opacita);
  mix-blend-mode:multiply;
}
@media (max-width:760px){ :root{ --retino-opacita:.12; } }

/* via il disco e i pianeti: hero solo tipografica */
.hero .orbite{ display:none !important; }


/* ===== SCHEDE: interlinee compatte, titolo nero al 90% ===== */
.scheda__tag{
  color:rgba(23,22,15,.90) !important;
  letter-spacing:.045em;
  line-height:1.12;
  min-height:2.24em;      /* due righe con la nuova interlinea */
  margin-bottom:10px;
}
.scheda__titolo{
  color:rgba(23,22,15,.90);
  line-height:1.06;
  margin:0 0 14px;
  min-height:2.12em;
  text-wrap:pretty;
}
.scheda__meta{
  list-style:none; margin:auto 0 0; padding:0;
  line-height:1.18;
}
.scheda__meta li{ padding:0; margin:0 0 2px; }
.scheda__meta li:last-child{ margin-bottom:0; }


/* ===== PROVA: hero con foto rosa, evidenza bianca ===== */
/* torna la foto in duotone rosa, restano fuori cerchi e pianeti */
.hero{ background:var(--rosa-scuro) !important; }
.hero .hero__img, .hero .hero__duotone, .hero .hero__scrim{ display:block !important; }
.hero .orbite{ display:none !important; }
.hero::before{ display:none !important; }   /* niente retino dove c'e la foto */

/* l'evidenza diventa bianca, il testo dentro rosa scuro */
.hero .h-hero{ background:#fff !important; color:var(--rosa-scuro) !important; }
.hero .h-hero .serif{ color:var(--rosa-scuro) !important; }

/* quello che era nero diventa bianco al 70% */
.hero .hero__eyebrow{ color:rgba(255,255,255,.70) !important; }
.hero .hero__servizi{ border-top-color:rgba(255,255,255,.32) !important; }
.hero .hero__servizi li{
  color:rgba(255,255,255,.70) !important;
  border-bottom-color:rgba(255,255,255,.32) !important;
}
.hero .hero__lead{ color:rgba(255,255,255,.70) !important; }

.hero .btn--bianco{ background:#fff !important; color:var(--rosa-scuro) !important; }
.hero .btn--ghost{ color:rgba(255,255,255,.85) !important; border-color:rgba(255,255,255,.45) !important; }

/* la regola del retino rendeva relative anche le foto: le rimetto assolute */
.hero > *{ position:static; z-index:auto; }
.hero .hero__img, .hero .hero__duotone, .hero .hero__scrim{ position:absolute !important; inset:0 !important; }
.hero .hero__img{ width:100% !important; height:100% !important; object-fit:cover !important; }
.hero > .container{ position:relative !important; z-index:2 !important; }


/* ===== il trio dei servizi passa a destra, allineato al box Parliamone ===== */
:root{ --allinea-cta:80px; }   /* scarto tra il bordo del contenitore e il bottone in navigazione */

@media (min-width:1025px){
  .hero > .container{ position:relative !important; }
  .hero .hero__copy{ position:static; }   /* altrimenti il trio si ancora al blocco di sinistra */
  .hero--home > .container{ display:flex; align-items:center; justify-content:space-between; gap:60px; }
  .hero--home .hero__copy{ flex:0 1 600px; }
  .hero .hero__servizi{
    flex:0 0 auto; width:min(360px, 30vw); max-width:none;
    margin:0;
  }
}


/* ===== le tre fasce tornano rosa scuro pieno ===== */
.sezione--filiera, .sezione--perche, .sezione--contatto{
  background:var(--rosa-scuro) !important;
  color:#fff !important;
}
/* il retino vive solo sul grigio: qui non serve piu */
.sezione--filiera::before, .sezione--perche::before, .sezione--contatto::before{ display:none !important; }

.sezione--filiera .h-sez, .sezione--perche .h-sez, .sezione--contatto .h-sez{ color:#fff !important; }
.sezione--filiera .lead, .sezione--perche .lead, .sezione--contatto .lead,
.sezione--filiera .lead strong, .sezione--perche .lead strong{ color:rgba(255,255,255,.78) !important; }
.sezione--filiera .kicker, .sezione--perche .kicker, .sezione--contatto .kicker{ color:rgba(255,255,255,.85) !important; }
.sezione--filiera .serif--rosa, .sezione--perche .serif--rosa, .sezione--contatto .serif--rosa{ color:#F2B8CD !important; }
.sezione--filiera .contatto__frase, .sezione--perche .contatto__frase, .sezione--contatto .contatto__frase{ color:#fff !important; }

.sezione--perche .dove-siamo__lista li, .sezione--filiera .dove-siamo__lista li{ border-bottom-color:rgba(255,255,255,.22) !important; }
.sezione--perche .ds-nome, .sezione--filiera .ds-nome{ color:#fff !important; }
.sezione--perche .ds-city, .sezione--filiera .ds-city{ color:#F2B8CD !important; }
.sezione--filiera .fase__n, .sezione--filiera .fase__t{ color:#fff !important; }
.sezione--filiera .passaggi summary::before{ color:#F2B8CD !important; }

/* modulo dei contatti sul fondo scuro */
.sezione--contatto label, .sezione--contatto .form label,
.sezione--contatto .privacy, .sezione--contatto small{ color:rgba(255,255,255,.82) !important; }
.sezione--contatto input, .sezione--contatto textarea{
  background:#fff !important; color:var(--ink) !important; border-color:rgba(255,255,255,.35) !important; }
.sezione--contatto .btn--rosa, .sezione--contatto button[type=submit]{
  background:#fff !important; background-image:none !important; color:var(--rosa-scuro) !important; }
.sezione--contatto a{ color:#fff !important; }


/* ===== hero a griglia: il trio parte dalla stessa riga della frase ===== */
.hero__servizi{ padding:0 !important; }          /* toglie il rientro dell'elenco: la linea sopra ora e uguale alle altre */

@media (min-width:1025px){
  .hero--home > .container{
    display:grid !important;
    grid-template-columns:600px 360px;
    justify-content:space-between;
    align-content:center;
    column-gap:60px;
    padding-top:120px; padding-bottom:120px;
  }
  .hero--home .hero__copy{ grid-column:1; grid-row:1; padding:0; max-width:none; }
  .hero--home .hero__sotto{ grid-column:1; grid-row:2; }
  .hero--home .hero__servizi{ grid-column:2; grid-row:2; align-self:start; margin:0 !important; width:auto; }
}

/* il trio meno sbiadito degli altri testi */
.hero .hero__servizi li{ color:rgba(255,255,255,.95) !important; }
.hero .hero__servizi{ border-top-color:rgba(255,255,255,.42) !important; }
.hero .hero__servizi li{ border-bottom-color:rgba(255,255,255,.42) !important; }

/* ===== tornano le foto in duotone dentro le fasce rosa ===== */
.sezione--filiera, .sezione--perche{ overflow:hidden; }
.filiera__bg, .filiera__tint, .filiera__scrim,
.perche__bg, .perche__tint, .perche__scrim{ display:block !important; }
.filiera__orbite{ display:none !important; }
.sezione--filiera > .container, .sezione--perche > .container{ position:relative !important; z-index:2 !important; }

.hero .hero__sotto .hero__lead{ margin-top:0 !important; }

@media (min-width:1025px){
  /* la prima riga del trio si allinea alla prima riga della frase */
  .hero .hero__servizi{ margin-top:-8px !important; }
}

/* la barretta rosa dopo la fascia scura sembrava uno sbordo: via */
.sezione--perche + .sep-rosa, .sezione--filiera + .sep-rosa, .sezione--contatto + .sep-rosa{ display:none !important; }

/* link su fondo rosa: era rosa su rosa */
.sezione--perche .btn--link, .sezione--filiera .btn--link{ color:#fff !important; }


/* ===== allineamento delle pagine interne alla home ===== */

/* la barra "un solo interlocutore" sulle testate scure */
.hero .unico, .editorial-hero .unico{
  background:rgba(255,255,255,.14) !important;
  border-left-color:#fff !important;
  color:#fff !important;
}

/* testate editoriali (Perche Pleiadi, Contenuti e formati) */
.editorial-hero{ background:var(--rosa-scuro) !important; }
.editorial-hero .orbite, .editorial-hero__orbits, .editorial-hero__planet, .editorial-disco{ display:none !important; }
.editorial-hero__wash{
  background:var(--rosa-scuro) !important; mix-blend-mode:multiply !important; opacity:1 !important; }
.editorial-hero__image{ filter:grayscale(1) contrast(1.05) brightness(.9); }
.editorial-hero__scrim{
  background:linear-gradient(90deg, rgba(40,8,22,.62) 0%, rgba(40,8,22,.28) 44%, rgba(40,8,22,0) 74%) !important; }

.editorial-hero h1{
  display:inline; background:#fff; color:var(--rosa-scuro);
  box-decoration-break:clone; -webkit-box-decoration-break:clone;
  padding:.02em .16em; line-height:1.0;
}
.editorial-hero h1 .serif{ color:var(--rosa-scuro) !important; }
.editorial-hero .capitolo, .editorial-hero .capitolo__label{ color:rgba(255,255,255,.70) !important; }
.editorial-hero .capitolo__num{ color:rgba(255,255,255,.70) !important; }
.editorial-hero .lead{ color:rgba(255,255,255,.70) !important; margin-top:34px !important; }
.editorial-hero .btn--rosa{ background:#fff !important; background-image:none !important; color:var(--rosa-scuro) !important; }
.editorial-hero .btn--ghost, .editorial-hero .btn--link{ color:rgba(255,255,255,.85) !important; border-color:rgba(255,255,255,.45) !important; }

/* niente cerchi e orbite anche sulle altre testate */
.pg-hero .orbite, .eventi-hero .orbite{ display:none !important; }


/* ===== prova: DM Sans per tutto cio che non e titolo ===== */
/* i titoli restano su --display (Helvetica Neue), il resto passa a DM Sans */
:root{ --sans:'DM Sans', system-ui, sans-serif !important; }
body, .lead, .hero__lead, .hero__eyebrow, .kicker, .btn, .nav__links a, .nav__cta,
.scheda__tag, .scheda__meta, .modal__lead, .modal__contenuto, input, textarea, button, label,
.footer, footer{ font-family:var(--sans) !important; }


/* ===== corsivo scelto: Newsreader italic 600 ===== */
:root{ --serif:'Newsreader', Georgia, serif !important; }
.serif, .h-hero .serif, .h-sez .serif, .serif--rosa{ font-weight:600 !important; font-style:italic !important; }

/* interlinea del titolo hero: 0.97 e il limite prima che il rettangolo
   della riga sotto cominci a mangiare la coda della g di "luogo" */
.hero .h-hero{ line-height:.97 !important; }


/* ===== evidenza a rettangoli: uno per riga, mai sopra le parole ===== */
.hero .h-hero--righe{
  display:block !important;
  background:none !important;
  padding:0 !important;
  line-height:1 !important;
}
.hero .h-hero--righe .riga{
  display:block; width:fit-content;
  background:#fff; color:var(--rosa-scuro);
  line-height:.84;                 /* il testo dentro al rettangolo */
  padding:.01em .16em .07em;       /* misurato: ultimo valore che non taglia nessuna lettera */
  margin:0 0 0 0;                  /* rettangoli a contatto: nessuna sovrapposizione */
}
.hero .h-hero--righe .serif{ color:var(--rosa-scuro) !important; }


/* ===== dettagli: trio cliccabile, schede, modale, messa a fuoco ===== */

/* 1 · i tre servizi diventano link */
.hero .hero__servizi li{ padding:0 !important; border-bottom:0 !important; }
.hero .hero__servizi li a{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:9px 0; text-decoration:none;
  color:rgba(255,255,255,.95);
  border-bottom:1px solid rgba(255,255,255,.42);
  transition:color .18s ease, border-color .18s ease;
}
.hero .hero__servizi .freccia{
  opacity:0; transform:translateX(-6px);
  transition:opacity .18s ease, transform .18s ease;
  font-weight:400;
}
.hero .hero__servizi li a:hover,
.hero .hero__servizi li a:focus-visible{ color:#fff; border-bottom-color:#fff; }
.hero .hero__servizi li a:hover .freccia,
.hero .hero__servizi li a:focus-visible .freccia{ opacity:1; transform:none; }

/* 2 · le schede dichiarano di essere cliccabili */
.schede .scheda{ position:relative; transition:none !important; }
.schede .scheda:hover{ transform:none !important; box-shadow:none !important; }
.schede .scheda .media--4-3 img{ transition:filter .22s ease, transform .5s ease; }
.schede .scheda:hover .media--4-3 img,
.schede .scheda:focus-visible .media--4-3 img{ filter:brightness(.86); transform:scale(1.02); }
.schede .scheda__corpo{ position:relative; }
.schede .scheda__corpo::after{
  content:"→"; position:absolute; right:20px; bottom:0;
  font-size:19px; color:var(--rosa-scuro);
  opacity:0; transform:translateX(-6px);
  transition:opacity .2s ease, transform .2s ease;
}
.schede .scheda:hover .scheda__corpo::after,
.schede .scheda:focus-visible .scheda__corpo::after{ opacity:1; transform:none; }

/* 3 · pagina corrente nel menu */
.nav__links a[aria-current="page"]{
  color:var(--ink); box-shadow:inset 0 -2px 0 0 var(--rosa-scuro); padding-bottom:2px;
}

/* 4 · il modale entra invece di comparire di colpo */
@media (prefers-reduced-motion: no-preference){
  .modal.aperto .modal__pannello{ animation:pannelloSu .2s ease-out both; }
  .modal.aperto .modal__sfondo{ animation:sfondoIn .16s ease-out both; }
  @keyframes pannelloSu{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
  @keyframes sfondoIn{ from{ opacity:0; } to{ opacity:1; } }
}

/* 5 · messa a fuoco da tastiera ben visibile anche sul rosa */
:focus-visible{ outline:2px solid var(--rosa-scuro) !important; outline-offset:3px; border-radius:0 !important; }
.hero :focus-visible, .sezione--filiera :focus-visible,
.sezione--perche :focus-visible, .sezione--contatto :focus-visible{ outline-color:#fff !important; }

/* 6 · comparsa in dissolvenza piu discreta */
@media (prefers-reduced-motion: no-preference){
  .reveal{ transform:translateY(10px) !important; transition:opacity .45s ease, transform .45s ease !important; }
}


/* hero: "Un unico interlocutore" come riga a se */
.hero .hero__lead-cap{
  display:block; margin-bottom:10px;
  font-weight:700; color:#fff;
  letter-spacing:.01em;
}

/* titolo della fascia filiera su due righe */
.h-sez--due{ max-width:none !important; font-size:clamp(30px,3.1vw,43px); line-height:1.04; }

/* il testo dell'hero sta su due righe: colonna piu larga, corpo appena piu piccolo */
.hero .hero__lead{ max-width:none !important; }
.hero .hero__lead-testo{ display:block; max-width:none; }
.hero .lead--valore, .sezione--filiera .lead--valore{ color:rgba(255,255,255,.86) !important; }
.sezione--filiera .lead--valore strong{ color:#fff !important; }

/* la colonna dell'hero si allarga quel tanto che basta a tenere il testo su due righe */
@media (min-width:1025px){
  .hero--home > .container{ grid-template-columns:660px 340px !important; column-gap:20px !important; }
  .hero--home .hero__copy{ flex:none; }
}


/* ===== entrata della testata: i rettangoli arrivano in sequenza ===== */
@media (prefers-reduced-motion: no-preference){
  @keyframes entraDaSinistra{
    from{ opacity:0; transform:translateX(-16px); }
    to  { opacity:1; transform:none; }
  }
  @keyframes entraDalBasso{
    from{ opacity:0; transform:translateY(12px); }
    to  { opacity:1; transform:none; }
  }
  @keyframes fotoRespira{
    from{ transform:scale(1.045); }
    to  { transform:scale(1); }
  }

  .hero--home .hero__eyebrow{ animation:entraDalBasso .5s ease-out both; animation-delay:.05s; }
  .hero--home .h-hero--righe .riga{ animation:entraDaSinistra .52s cubic-bezier(.22,.8,.3,1) both; }
  .hero--home .h-hero--righe .riga:nth-child(1){ animation-delay:.12s; }
  .hero--home .h-hero--righe .riga:nth-child(2){ animation-delay:.22s; }
  .hero--home .h-hero--righe .riga:nth-child(3){ animation-delay:.32s; }
  .hero--home .hero__lead{ animation:entraDalBasso .55s ease-out both; animation-delay:.46s; }
  .hero--home .hero__actions{ animation:entraDalBasso .55s ease-out both; animation-delay:.56s; }
  .hero--home .hero__servizi{ border-top-color:transparent; animation:filoSopra .5s ease-out both .5s; }
  @keyframes filoSopra{ from{ border-top-color:transparent; } to{ border-top-color:rgba(255,255,255,.42); } }
  .hero--home .hero__servizi li{ animation:entraDaSinistra .5s cubic-bezier(.22,.8,.3,1) both; }
  .hero--home .hero__servizi li:nth-child(1){ animation-delay:.54s; }
  .hero--home .hero__servizi li:nth-child(2){ animation-delay:.63s; }
  .hero--home .hero__servizi li:nth-child(3){ animation-delay:.72s; }

  /* la fotografia si assesta lentamente: otto secondi, una volta sola */
  .hero--home .hero__img{ animation:fotoRespira 9s cubic-bezier(.16,.7,.3,1) both; }
}

/* ===== passaggio del mouse sui tre servizi: filo che cresce da sinistra ===== */
.hero .hero__servizi li a{ position:relative; }
.hero .hero__servizi li a::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px;
  background:#fff; transform:scaleX(0); transform-origin:left;
  transition:transform .32s cubic-bezier(.22,.8,.3,1);
}
.hero .hero__servizi li a:hover::after,
.hero .hero__servizi li a:focus-visible::after{ transform:scaleX(1); }
.hero .hero__servizi li a span:first-child{
  transition:transform .28s cubic-bezier(.22,.8,.3,1);
}
.hero .hero__servizi li a:hover span:first-child,
.hero .hero__servizi li a:focus-visible span:first-child{ transform:translateX(5px); }
.hero .hero__servizi .freccia{ transition:opacity .22s ease, transform .28s cubic-bezier(.22,.8,.3,1); }

/* ogni voce del trio sta su una riga sola */
.hero .hero__servizi li a > span:first-child{ white-space:nowrap; }


/* ===== riconoscimenti: pista che scorre, tre alla volta ===== */
.ric-testa{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; flex-wrap:wrap; }
.ric-frecce{ display:flex; gap:8px; }
.ric-freccia{
  width:44px; height:44px; display:grid; place-items:center;
  background:none; border:1px solid var(--bordo); color:var(--ink);
  font-size:17px; cursor:pointer;
  transition:background-color .18s ease, border-color .18s ease, color .18s ease;
}
.ric-freccia:hover:not(:disabled){ background:var(--rosa-scuro); border-color:var(--rosa-scuro); color:#fff; }
.ric-freccia:disabled{ opacity:.28; cursor:default; }

.ric-pista{
  list-style:none; margin:0; padding:0 0 6px;
  display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 2*28px)/3);
  gap:28px; overflow-x:auto; scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.ric-pista::-webkit-scrollbar{ display:none; }
.ric-carta{
  scroll-snap-align:start;
  border-top:2px solid var(--rosa-scuro);
  padding:18px 0 0;
}
.ric-carta__ente{
  display:block; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  font-weight:700; color:rgba(23,22,15,.90); margin-bottom:12px;
}
.ric-carta__dicitura{
  font-family:var(--display); font-size:19px; line-height:1.22; font-weight:600;
  color:rgba(23,22,15,.90); margin:0 0 10px;
}
.ric-carta__nota{ font-size:13.5px; line-height:1.45; color:var(--grigio); margin:0; }

@media (max-width:900px){
  .ric-pista{ grid-auto-columns:78%; gap:20px; }
  .ric-frecce{ display:none; }
}

/* titolo su quattro righe: corpo ridotto quel tanto che basta a farle stare tutte su una riga */
.hero .h-hero--quattro{ font-size:clamp(38px,4.3vw,62px) !important; }


/* ===== testata della home: composizione approvata ===== */
  /* "Diffondiamo" si riduce: il rettangolo finisce poco prima di meta dell'ultima "a" di "conoscenza" */
  .hero .h-hero--quattro .r1{ font-size:.9617em; }
  /* il trio: la sua ultima linea si allinea al fondo del rettangolo di "straordinari." */
  .hero--home .hero__servizi{ grid-row:1 !important; align-self:start !important; margin-top:262px !important; }
  /* piu spazio sotto: la "g" di "luoghi" restava sotto il bordo del rettangolo */
  .hero .h-hero--righe .riga{ padding:.01em .16em .13em !important; }
  /* entrata: le sei parole arrivano in fila, dalla prima all'ultima */
  .hero--home .h-hero--righe .riga:nth-child(1){ animation-delay:.12s !important; }
  .hero--home .h-hero--righe .riga:nth-child(2){ animation-delay:.20s !important; }
  .hero--home .h-hero--righe .riga:nth-child(3){ animation-delay:.28s !important; }
  .hero--home .h-hero--righe .riga:nth-child(4){ animation-delay:.36s !important; }
  .hero--home .h-hero--righe .riga:nth-child(5){ animation-delay:.44s !important; }
  .hero--home .h-hero--righe .riga:nth-child(6){ animation-delay:.52s !important; }
  .hero--home .hero__lead{ animation-delay:.66s !important; }
  .hero--home .hero__actions{ animation-delay:.74s !important; }
  .hero--home .hero__servizi{ animation-delay:.70s !important; }
  .hero--home .hero__servizi li:nth-child(1){ animation-delay:.74s !important; }
  .hero--home .hero__servizi li:nth-child(2){ animation-delay:.82s !important; }
  .hero--home .hero__servizi li:nth-child(3){ animation-delay:.90s !important; }
  /* le tre voci del 20% piu grandi */
  .hero .hero__servizi li a{ font-size:24px; }
  .hero .hero__servizi li{ font-size:24px; }
  /* la colonna delle voci si allarga verso sinistra per contenerle su una riga */
  .hero--home > .container{ grid-template-columns:600px 400px !important; }


/* ===== entrata delle testate interne ===== */
@media (prefers-reduced-motion: no-preference){
  .hero--entra .hero__eyebrow, .hero--entra .capitolo{ animation:entraDalBasso .5s ease-out both .06s; }
  .hero--entra .h-hero, .hero--entra h1{ animation:entraDaSinistra .55s cubic-bezier(.22,.8,.3,1) both .16s; }
  .hero--entra .unico{ animation:entraDalBasso .5s ease-out both .34s; }
  .hero--entra .lead, .hero--entra .hero__lead{ animation:entraDalBasso .55s ease-out both .42s; }
  .hero--entra .hero__actions, .hero--entra .editorial-hero__actions{ animation:entraDalBasso .55s ease-out both .52s; }
  .hero--entra .hero__img, .hero--entra .editorial-hero__image{ animation:fotoRespira 9s cubic-bezier(.16,.7,.3,1) both; }
}




/* ===== titoli delle pagine interne: evidenza continua, interlinea che evita i sormonti ===== */

.editorial-hero h1{ line-height:1.31 !important; padding:0 .16em !important; }


/* ===== titoli interni: un rettangolo per riga, spazio a destra ridotto ===== */
.hero:not(.hero--home) .h-hero--righe{
  display:block !important; background:none !important; padding:0 !important;
  line-height:1 !important; max-width:none !important;
}
.hero:not(.hero--home) .h-hero--righe .riga{
  display:block; width:fit-content;
  background:#fff; color:var(--rosa-scuro);
  line-height:.84;
  padding:.01em .07em .13em .13em;   /* a destra si ferma appena dopo l'ultima lettera */
}
.hero:not(.hero--home) .hero__copy{ max-width:none !important; }


/* ===== titoli delle testate: niente rettangolo, testo bianco ===== */
.hero .h-hero,
.hero .h-hero--righe .riga,
.editorial-hero h1{
  background:none !important;
  color:#fff !important;
  padding:0 !important;
}
.hero .h-hero .serif,
.hero .h-hero--righe .riga .serif,
.editorial-hero h1 .serif{ color:#fff !important; }

/* senza rettangoli le righe si possono stringere: niente piu sormonti possibili */
.hero .h-hero{ line-height:.92 !important; }
.hero .h-hero--righe{ line-height:1 !important; }
.hero .h-hero--righe .riga{ line-height:.92 !important; }
.editorial-hero h1{ line-height:.92 !important; }

/* nella home tutte le parole tornano alla stessa misura */
.hero--home .h-hero--righe .riga{ font-size:1em !important; }


/* ===== testate a due colonne, come la home (Musei) ===== */
@media (min-width:1025px){
  .hero--doppia > .container{
    display:grid !important;
    grid-template-columns:640px 360px;
    justify-content:space-between;
    align-content:center;
    column-gap:20px;
  }
  .hero--doppia .hero__copy{ grid-column:1; grid-row:1; max-width:none !important; padding:0; }
  .hero--doppia .hero__sotto{ grid-column:1; grid-row:2; }
  .hero--doppia .hero__tipi{ grid-column:2; grid-row:1 / span 2; align-self:center; margin:0 !important; }
}
.hero__tipi{ list-style:none; padding:0 !important; border-top:1px solid rgba(255,255,255,.42); }
.hero__tipi li{ padding:0; border-bottom:0; }
.hero__tipi li a{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:9px 0; text-decoration:none; font-size:19px; font-weight:600; font-family:var(--display);
  color:rgba(255,255,255,.95); border-bottom:1px solid rgba(255,255,255,.42);
  transition:color .18s ease, border-color .18s ease; position:relative;
}
.hero__tipi li a > span:first-child{ white-space:nowrap; transition:transform .28s cubic-bezier(.22,.8,.3,1); }
.hero__tipi .freccia{ opacity:0; transform:translateX(-6px); transition:opacity .22s ease, transform .28s cubic-bezier(.22,.8,.3,1); font-weight:400; }
.hero__tipi li a::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; background:#fff;
  transform:scaleX(0); transform-origin:left; transition:transform .32s cubic-bezier(.22,.8,.3,1);
}
.hero__tipi li a:hover::after, .hero__tipi li a:focus-visible::after{ transform:scaleX(1); }
.hero__tipi li a:hover, .hero__tipi li a:focus-visible{ color:#fff; }
.hero__tipi li a:hover > span:first-child, .hero__tipi li a:focus-visible > span:first-child{ transform:translateX(5px); }
.hero__tipi li a:hover .freccia, .hero__tipi li a:focus-visible .freccia{ opacity:1; transform:none; }
@media (prefers-reduced-motion: no-preference){
  .hero--doppia .hero__tipi li{ animation:entraDaSinistra .5s cubic-bezier(.22,.8,.3,1) both; }
  .hero--doppia .hero__tipi li:nth-child(1){ animation-delay:.30s; }
  .hero--doppia .hero__tipi li:nth-child(2){ animation-delay:.38s; }
  .hero--doppia .hero__tipi li:nth-child(3){ animation-delay:.46s; }
  .hero--doppia .hero__tipi li:nth-child(4){ animation-delay:.54s; }
  .hero--doppia .hero__tipi li:nth-child(5){ animation-delay:.62s; }
}


/* ===== le fasi in forma compatta: pista che scorre ===== */
.fase-pista{
  list-style:none; margin:0; padding:0 0 6px;
  display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 2*28px)/3);
  gap:28px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none;
}
.fase-pista::-webkit-scrollbar{ display:none; }
.fase-carta{ scroll-snap-align:start; border-top:2px solid var(--rosa-scuro); padding:18px 0 0; }
.fase-carta__n{
  display:block; font-family:var(--display); font-size:13px; font-weight:700;
  letter-spacing:.06em; color:var(--rosa-scuro); margin-bottom:12px;
}
.fase-carta__t{
  display:block; font-family:var(--display); font-size:20px; font-weight:700;
  line-height:1.1; letter-spacing:-.015em; color:rgba(23,22,15,.90); margin-bottom:10px; max-width:16ch;
}
.fase-carta__d{ font-size:14px; line-height:1.5; color:var(--grigio); margin:0; }
@media (max-width:900px){ .fase-pista{ grid-auto-columns:78%; gap:20px; } }

/* schede senza fotografia */
.media--vuota{
  background:repeating-linear-gradient(135deg, rgba(23,22,15,.05) 0 10px, rgba(23,22,15,.02) 10px 20px);
  display:grid; place-items:center;
}
.media__nota{ font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--grigio); }


/* ===== fascia grigia per le fasi, così stacca dai casi ===== */
.sezione--grigia{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E") repeat,
             #EDEDE9;
}

/* il "+" che apre l'elenco completo di ogni fase */
.fase-carta__piu{ margin-top:14px; }
.fase-carta__piu > summary{
  list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:8px;
  font-size:12px; letter-spacing:.1em; text-transform:uppercase; font-weight:700;
  color:var(--rosa-scuro); padding:0;
}
.fase-carta__piu > summary::-webkit-details-marker{ display:none; }
.fase-carta__piu > summary::before{
  content:"+"; display:inline-grid; place-items:center;
  width:20px; height:20px; border:1px solid var(--rosa-scuro);
  font-size:14px; line-height:1; font-weight:700;
}
.fase-carta__piu[open] > summary::before{ content:"–"; }
.fase-carta__elenco{ margin-top:14px; }
.fase-carta__elenco > div{ margin-bottom:14px; }
.fase-carta__elenco b{ display:block; font-size:12.5px; letter-spacing:.04em; color:rgba(23,22,15,.90); margin-bottom:6px; }
.fase-carta__elenco ul{ list-style:none; margin:0; padding:0; }
.fase-carta__elenco li{ position:relative; padding-left:14px; font-size:13px; line-height:1.45; color:var(--grigio); margin-bottom:4px; }
.fase-carta__elenco li::before{ content:"·"; position:absolute; left:2px; color:var(--rosa-scuro); font-weight:700; }

/* la pista si adatta in altezza quando una scheda si apre */
.fase-pista{ align-items:start; }

/* la fascia dello studio di fattibilità diventa bianca */
.sezione--calda{ background:#fff !important; }

/* piu aria sotto ai bottoni della testata */
.hero--doppia > .container{ padding-bottom:clamp(70px,9vh,120px); }


/* ===== testata Musei: stessa misura e stessa entrata della home ===== */
.hero--doppia .h-hero--righe{ font-size:clamp(38px,4.3vw,62px) !important; }
.hero--doppia > .container{ padding-top:clamp(96px,13vh,150px); }

@media (prefers-reduced-motion: no-preference){
  .hero--entra .h-hero--righe .riga{ animation:entraDaSinistra .52s cubic-bezier(.22,.8,.3,1) both; }
  .hero--entra .h-hero--righe .riga:nth-child(1){ animation-delay:.12s; }
  .hero--entra .h-hero--righe .riga:nth-child(2){ animation-delay:.20s; }
  .hero--entra .h-hero--righe .riga:nth-child(3){ animation-delay:.28s; }
  .hero--entra .h-hero--righe .riga:nth-child(4){ animation-delay:.36s; }
  .hero--entra .h-hero--righe .riga:nth-child(5){ animation-delay:.44s; }
  .hero--entra .h-hero--righe .riga:nth-child(6){ animation-delay:.52s; }
  .hero--entra .unico{ animation-delay:.50s !important; }
  .hero--entra .hero__lead{ animation-delay:.58s !important; }
  .hero--entra .hero__actions{ animation-delay:.66s !important; }
}


/* ===== le cinque fasi: tutte visibili, una per riga ===== */
.fase-elenco{ list-style:none; margin:0; padding:0; border-top:1px solid var(--bordo); }
.fase-elenco .fase-carta{
  border-top:0; border-bottom:1px solid var(--bordo);
  display:grid; grid-template-columns:64px minmax(0,300px) 1fr;
  gap:0 32px; align-items:start; padding:22px 0;
}
.fase-elenco .fase-carta__n{
  margin:0; font-size:15px; letter-spacing:.04em; padding-top:2px;
}
.fase-elenco .fase-carta__t{
  margin:0; font-size:21px; line-height:1.12; max-width:none;
}
.fase-elenco .fase-carta__d{ margin:0; max-width:56ch; }
.fase-elenco .fase-carta__piu{ grid-column:2 / -1; margin-top:14px; }
.fase-elenco .fase-carta__elenco{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:26px 40px; margin-top:18px;
}
.fase-elenco .fase-carta__elenco > div{ margin:0; }
@media (max-width:820px){
  .fase-elenco .fase-carta{ grid-template-columns:44px 1fr; gap:0 16px; }
  .fase-elenco .fase-carta__d{ grid-column:2; margin-top:8px; }
  .fase-elenco .fase-carta__piu{ grid-column:2; }
}


/* ===== tre articoli che si aprono ===== */
.articoli{ list-style:none; margin:0; padding:0; border-top:1px solid var(--bordo); }
.articolo{ border-bottom:1px solid var(--bordo); }
.articolo > details > summary{
  list-style:none; cursor:pointer; position:relative;
  display:grid; grid-template-columns:64px minmax(0,320px) 1fr 48px;
  gap:0 32px; align-items:start; padding:26px 0;
}
.articolo > details > summary::-webkit-details-marker{ display:none; }
.articolo__n{ font-family:var(--display); font-size:15px; font-weight:700; letter-spacing:.04em; color:var(--rosa-scuro); padding-top:4px; }
.articolo__t{ font-family:var(--display); font-size:24px; font-weight:700; line-height:1.1; letter-spacing:-.015em; color:rgba(23,22,15,.90); }
.articolo__d{ font-size:15px; line-height:1.5; color:var(--grigio); max-width:52ch; }
.articolo > details > summary::after{
  content:"+"; justify-self:end; align-self:start;
  display:grid; place-items:center; width:34px; height:34px;
  border:1px solid var(--rosa-scuro); color:var(--rosa-scuro);
  font-size:19px; line-height:1; font-weight:700;
  transition:background-color .18s ease, color .18s ease;
}
.articolo > details[open] > summary::after{ content:"–"; background:var(--rosa-scuro); color:#fff; }
.articolo > details > summary:hover::after{ background:var(--rosa-scuro); color:#fff; }

.articolo__corpo{ padding:0 0 34px; }
@media (min-width:821px){ .articolo__corpo{ padding-left:96px; } }
.articolo__testo{ font-size:16px; line-height:1.62; color:var(--ink-70); max-width:70ch; margin:0 0 14px; }
.articolo__passi{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:24px 36px; }
.articolo__passi b{ display:block; font-family:var(--display); font-size:16px; color:rgba(23,22,15,.90); margin-bottom:6px; }
.articolo__passi p{ font-size:14px; line-height:1.5; color:var(--grigio); margin:0; }
.articolo__due{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:28px 48px; }
.articolo__col{
  font-family:var(--display); font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--rosa-scuro); margin:0 0 14px; padding-bottom:10px; border-bottom:2px solid var(--rosa-scuro);
}
.articolo__due ul{ list-style:none; margin:0; padding:0; }
.articolo__due li{ position:relative; padding-left:16px; font-size:15px; line-height:1.55; color:var(--ink-70); margin-bottom:9px; }
.articolo__due li::before{ content:"·"; position:absolute; left:3px; color:var(--rosa-scuro); font-weight:700; }
@media (max-width:820px){
  .articolo > details > summary{ grid-template-columns:44px 1fr 40px; gap:0 14px; }
  .articolo__d{ grid-column:2; margin-top:8px; }
}


/* schede descrittive: il testo dentro la scheda respira come un paragrafo */
.sezione--grigia .schede .scheda{ background:#fff; border:1px solid var(--bordo); }
.sezione--grigia .schede .scheda__meta li{
  font-size:14.5px; line-height:1.55; color:var(--ink-70);
  margin-bottom:12px;
}
.sezione--grigia .schede .scheda__meta li b{ color:rgba(23,22,15,.90); }
.sezione--grigia .schede .scheda__meta{ border-top:1px solid var(--bordo); padding-top:16px; }
.sezione--grigia .schede .scheda__corpo::after{ content:none !important; }

/* nelle schede descrittive il testo segue il titolo, senza spinta in fondo */
.sezione--grigia .schede .scheda__meta{ margin-top:16px !important; }
.sezione--grigia .schede .scheda__titolo{ min-height:0 !important; margin-bottom:0 !important; }
.sezione--grigia .schede .scheda__tag{ min-height:0 !important; }

/* due schede affiancate, piu larghe */
.schede--due{ grid-template-columns:repeat(2,1fr) !important; gap:28px !important; }
@media (max-width:820px){ .schede--due{ grid-template-columns:1fr !important; } }


/* occhiello in nero, dove il colore non serve */
.kicker--nero{ color:rgba(23,22,15,.90) !important; }

/* titoli delle due schede descrittive, un terzo piu grandi */
.schede--due .scheda__titolo{ font-size:38px !important; line-height:.90 !important; letter-spacing:-.055em !important; }
@media (max-width:820px){ .schede--due .scheda__titolo{ font-size:30px !important; } }

/* i puntini e la freccia che invitano ad aprire */
.continua{ white-space:nowrap; color:rgba(23,22,15,.90); font-weight:600; }
.schede--due .scheda:hover .continua, .schede--due .scheda:focus-visible .continua{ color:var(--rosa-scuro); }


/* ===== la fascia grigia prende vita: grana, entrata, reazione al tocco ===== */
.sezione--grigia{ position:relative; overflow:hidden; }
.sezione--grigia::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:url("../../img/texture/halftone.png");
  background-repeat:repeat; background-size:480px 480px;
  opacity:.055; mix-blend-mode:multiply;
}
.sezione--grigia > .container{ position:relative; z-index:1; }

/* una riga sottile che si allunga sotto l'occhiello quando la fascia entra */
.sezione--grigia .kicker--nero{ position:relative; padding-bottom:16px; }
.sezione--grigia .kicker--nero::after{
  content:""; position:absolute; left:0; bottom:0; height:2px; width:72px;
  background:var(--rosa-scuro); transform-origin:left;
}
@media (prefers-reduced-motion: no-preference){
  .sezione--grigia .kicker--nero::after{ transform:scaleX(0); }
}
@media (prefers-reduced-motion: no-preference){
  .sezione--grigia.is-visible .kicker--nero::after{ animation:filoCresce .6s cubic-bezier(.22,.8,.3,1) both .2s; }
  @keyframes filoCresce{ from{ transform:scaleX(0);} to{ transform:scaleX(1);} }
  .sezione--grigia.is-visible .schede--due .scheda{ animation:entraDalBasso .6s ease-out both; }
  .sezione--grigia.is-visible .schede--due .scheda:nth-child(1){ animation-delay:.26s; }
  .sezione--grigia.is-visible .schede--due .scheda:nth-child(2){ animation-delay:.38s; }
}

/* al passaggio del mouse: la fotografia respira e una riga corre in cima alla scheda */
.schede--due .scheda{ position:relative; overflow:hidden; }
.schede--due .scheda::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px; z-index:2;
  background:var(--rosa-scuro); transform:scaleX(0); transform-origin:left;
  transition:transform .38s cubic-bezier(.22,.8,.3,1);
}
.schede--due .scheda:hover::before,
.schede--due .scheda:focus-visible::before{ transform:scaleX(1); }
.schede--due .scheda .media img{ transition:transform .6s cubic-bezier(.22,.8,.3,1), filter .3s ease; }
.schede--due .scheda:hover .media img,
.schede--due .scheda:focus-visible .media img{ transform:scale(1.04); }
.schede--due .scheda .continua{ transition:color .2s ease, letter-spacing .25s ease; }
.schede--due .scheda:hover .continua{ letter-spacing:.06em; }


/* ===== Making Future: fascia chiara, il logo vuole il bianco ===== */
.sezione--mf{ background:#fff; position:relative; }
.mf-testa{
  display:grid; grid-template-columns:1fr auto; gap:40px; align-items:start;
  padding-bottom:34px; margin-bottom:38px; border-bottom:1px solid var(--bordo);
}
.mf-titolo{
  font-size:clamp(30px,3.4vw,48px) !important; line-height:.90 !important;
  letter-spacing:-.045em !important; color:rgba(23,22,15,.90) !important; max-width:none !important;
}
.mf-logo{ width:clamp(180px,20vw,280px); height:auto; align-self:center; }
.mf-corpo{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.mf-lead{ margin-bottom:18px; }
.mf-testo{ font-size:15.5px; line-height:1.7; color:var(--grigio); margin:0 0 14px; }
.mf-stats{ margin-top:44px; padding-top:26px; border-top:1px solid var(--bordo); }
.sezione--mf .eventi-stat__v{ color:rgba(23,22,15,.90); }
.sezione--mf .eventi-stat__l{ color:var(--grigio); }
.sezione--mf .partner-progetto{ color:var(--grigio); margin-top:22px; }
.sezione--mf .partner-progetto span{ color:rgba(23,22,15,.90); }
@media (max-width:900px){
  .mf-testa{ grid-template-columns:1fr; gap:22px; }
  .mf-corpo{ grid-template-columns:1fr; gap:30px; }
}


/* ===== schede tipologia: titoli grandi e schiacciati, testi allineati ===== */
.sezione--calda .schede .scheda__titolo{
  font-size:34px !important; line-height:.90 !important; letter-spacing:-.055em !important;
  min-height:0 !important; margin:0 0 0 !important;
}
.sezione--calda .schede .scheda__tag{ min-height:0 !important; margin-bottom:12px !important; }
.sezione--calda .schede .scheda__meta{
  margin-top:18px !important; border-top:1px solid var(--bordo); padding-top:16px !important;
}
.sezione--calda .schede .scheda__meta li{ font-size:14.5px; line-height:1.55; color:var(--ink-70); }
/* i titoli occupano due righe fisse: cosi i testi partono tutti alla stessa quota */
.sezione--calda .schede .scheda__titolo{ min-height:2em !important; }
.sezione--calda .schede .scheda{ background:#fff; border:1px solid var(--bordo); }
.sezione--calda .schede .scheda__corpo::after{ content:none !important; }
.sezione--calda .schede .scheda .media img{ transition:transform .6s cubic-bezier(.22,.8,.3,1); }
.sezione--calda .schede .scheda:hover .media img{ transform:scale(1.04); }
.sezione--calda .schede .scheda::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px; z-index:2;
  background:var(--rosa-scuro); transform:scaleX(0); transform-origin:left;
  transition:transform .38s cubic-bezier(.22,.8,.3,1);
}
.sezione--calda .schede .scheda{ position:relative; overflow:hidden; }
.sezione--calda .schede .scheda:hover::before, .sezione--calda .schede .scheda:focus-visible::before{ transform:scaleX(1); }

/* ===== Parliamone: frase piu grande, campi senza riquadro ===== */
.contatto__frase--grande{ font-size:clamp(30px,3.4vw,46px) !important; line-height:.98 !important; letter-spacing:-.03em; }
.sezione--contatto .form input[type=text],
.sezione--contatto .form input[type=email],
.sezione--contatto .form input[type=tel],
.sezione--contatto .form textarea{
  background:transparent !important; color:#fff !important;
  border:0 !important; border-bottom:1px solid rgba(255,255,255,.45) !important;
  border-radius:0 !important; padding-left:0 !important; padding-right:0 !important;
}
.sezione--contatto .form input::placeholder, .sezione--contatto .form textarea::placeholder{ color:rgba(255,255,255,.5); }
.sezione--contatto .form input:focus, .sezione--contatto .form textarea:focus{
  border-bottom-color:#fff !important; outline:none !important;
}
.sezione--contatto .form label{ color:rgba(255,255,255,.72) !important; }

/* Eventi: le due frasi vanno a capo prima, cosi restano lontane dall'elenco */
@media (min-width:1025px){
  .eventi-hero .hero__sotto{ max-width:520px; }
  .eventi-hero .unico{ max-width:520px; }
}


/* ===== riconoscimenti: tutto nero, titolo stretto come su Eventi ===== */
.ric-carta{ border-top-color:rgba(23,22,15,.90) !important; }
.ric-carta__ente{ color:rgba(23,22,15,.90) !important; }
.ric-carta__dicitura{ color:rgba(23,22,15,.90) !important; }
.ric-freccia{ border-color:rgba(23,22,15,.35) !important; color:rgba(23,22,15,.90) !important; }
.ric-freccia:hover:not(:disabled){ background:rgba(23,22,15,.90) !important; border-color:rgba(23,22,15,.90) !important; color:#fff !important; }

/* Parliamone: la parola sola, grande */
.contatto__frase--grande{ margin:0; }

.ric-pista ~ .btn--link, .ric-testa ~ .btn--link{ color:rgba(23,22,15,.90) !important; }


/* ===== la barra dell'unico interlocutore prende vita ===== */
.hero .unico{ position:relative; }
@media (prefers-reduced-motion: no-preference){
  .hero--entra .unico{ overflow:hidden; }
  .hero--entra .unico::before{
    content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
    background:#fff; transform:scaleY(0); transform-origin:top;
    animation:barraCresce .7s cubic-bezier(.22,.8,.3,1) both .52s;
  }
  @keyframes barraCresce{ from{ transform:scaleY(0);} to{ transform:scaleY(1);} }
}


/* ===== occhielli: neri sui fondi chiari, bianchi sulle fasce scure ===== */
.kicker{ color:rgba(23,22,15,.90) !important; }
.sezione--filiera .kicker,
.sezione--perche .kicker,
.sezione--contatto .kicker,
.sezione--scura .kicker,
.hero .kicker,
.editorial-hero .kicker{ color:rgba(255,255,255,.85) !important; }

/* ===== Eventi: la fascia delle modalità usa la grana fotografica ===== */
#tipologie::before{
  background-image:url("../../img/texture/grana.webp") !important;
  background-size:480px 480px !important;
  opacity:.09 !important;
}


/* ===== home: "Un unico interlocutore" con il filo che cresce ===== */
.hero--home .hero__lead-cap{ position:relative; display:inline-block; padding-bottom:10px; margin-bottom:14px; }
.hero--home .hero__lead-cap::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:#fff; transform-origin:left;
}
@media (prefers-reduced-motion: no-preference){
  .hero--home .hero__lead-cap::after{
    transform:scaleX(0);
    animation:filoCresce .7s cubic-bezier(.22,.8,.3,1) both .62s;
  }
}


/* ===== fasi piu compatte: il "+" accanto al testo, righe piu strette ===== */
.fase-elenco .fase-carta{
  grid-template-columns:56px minmax(0,250px) 1fr;
  gap:0 28px;
  padding:14px 0;
  align-items:baseline;
}
.fase-elenco .fase-carta__n{ padding-top:0; font-size:14px; }
.fase-elenco .fase-carta__t{ font-size:19px; }
.fase-elenco .fase-carta__d{ margin:0; max-width:62ch; }
.fase-elenco .fase-carta__piu{ grid-column:3; margin-top:8px; }
.fase-elenco .fase-carta__piu > summary{ font-size:11px; }
.fase-elenco .fase-carta__piu > summary::before{ width:18px; height:18px; font-size:13px; }
@media (max-width:820px){
  .fase-elenco .fase-carta{ grid-template-columns:40px 1fr; gap:0 14px; }
  .fase-elenco .fase-carta__d, .fase-elenco .fase-carta__piu{ grid-column:2; }
}

/* approfondimenti: come le schede descrittive, su fondo bianco */
.approfondimenti .scheda{ background:#fff; border:1px solid var(--bordo); position:relative; overflow:hidden; }
.approfondimenti .scheda__titolo{ font-size:32px !important; line-height:.90 !important; letter-spacing:-.055em !important; min-height:0 !important; margin:0 !important; }
.approfondimenti .scheda__tag{ min-height:0 !important; margin-bottom:12px !important; }
.approfondimenti .scheda__meta{ margin-top:16px !important; border-top:1px solid var(--bordo); padding-top:16px !important; }
.approfondimenti .scheda__meta li{ font-size:14.5px; line-height:1.55; color:var(--ink-70); }
.approfondimenti .scheda__corpo::after{ content:none !important; }
.approfondimenti .scheda::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px; z-index:2;
  background:var(--rosa-scuro); transform:scaleX(0); transform-origin:left;
  transition:transform .38s cubic-bezier(.22,.8,.3,1);
}
.approfondimenti .scheda:hover::before, .approfondimenti .scheda:focus-visible::before{ transform:scaleX(1); }
.approfondimenti .scheda .media img{ transition:transform .6s cubic-bezier(.22,.8,.3,1); }
.approfondimenti .scheda:hover .media img{ transform:scale(1.04); }


/* ===== una sola texture per tutte le fasce grigie: grana fotografica ===== */
.sezione--grigia::before, #tipologie::before{
  background-image:url("../../img/texture/grana.webp") !important;
  background-size:480px 480px !important;
  opacity:.09 !important;
}

/* le schede dei riconoscimenti diventano cliccabili */
.ric-carta__btn{
  display:block; width:100%; text-align:left; background:none; border:0; padding:0;
  font:inherit; color:inherit; cursor:pointer;
}
.ric-carta{ transition:border-color .2s ease; }
.ric-carta:hover{ border-top-color:var(--rosa-scuro) !important; }
.ric-carta:hover .continua{ color:var(--rosa-scuro); }
.ric-carta__btn:focus-visible{ outline:2px solid var(--rosa-scuro); outline-offset:6px; }


/* ===== riconoscimenti e finestre: taglio editoriale ===== */
.modal__titolo{
  font-family:var(--display); letter-spacing:-.045em !important; line-height:.92 !important;
}
.ric-carta__dicitura{
  letter-spacing:-.035em !important; line-height:.98 !important; font-size:20px;
}
.modal__testo strong{ font-weight:700; color:rgba(23,22,15,.92); }

/* fotografie verticali usate in orizzontale */
.taglio-alto{ object-position:center top !important; }
.taglio-basso{ object-position:center bottom !important; }

/* la copertina della rivista si mostra dall'alto e riempie il riquadro */
.approfondimenti .taglio-alto{ object-fit:cover; object-position:center top !important; }

/* logo dentro una scheda: sta al centro, con aria attorno */
.media--logo{ display:grid !important; place-items:center; background:#fff; padding:12% 14%; }
.media--logo img{ width:100% !important; height:auto !important; max-height:100% !important; object-fit:contain !important; }


/* ===== Chi è Pleiadi: il racconto e i due fondatori ===== */
.storia{ max-width:70ch; }
.storia__testo{ font-size:17px; line-height:1.72; color:var(--ink-70); margin:0 0 18px; }
.storia__testo strong{ color:rgba(23,22,15,.92); font-weight:700; }

.fondatori{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:40px; margin-top:52px; padding-top:38px; border-top:1px solid var(--bordo); }
.fondatore__foto{ aspect-ratio:4/5; margin-bottom:18px; }
.fondatore__nome{ font-family:var(--display); font-size:26px; font-weight:700; letter-spacing:-.045em; line-height:.94; color:rgba(23,22,15,.90); margin:0 0 6px; }
.fondatore__ruolo{ font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:rgba(23,22,15,.90); margin:0 0 12px; }
.fondatore__testo{ font-size:14.5px; line-height:1.55; color:var(--grigio); margin:0; max-width:42ch; }

/* ============================================================
   GALLERIA DENTRO LE SCHEDE CASO
   Striscia orizzontale: le immagini tengono le loro proporzioni,
   niente ritagli. Le verticali diventano strette, le orizzontali larghe.
   ============================================================ */
.modal__galleria{ margin:34px 0 6px; }
.modal__pista{
  display:flex; gap:10px; overflow-x:auto; overflow-y:hidden;
  padding:0 0 12px; margin:0;
  scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.modal__pista:focus-visible{ outline:2px solid var(--rosa-scuro); outline-offset:4px; }
.modal__pista img{
  flex:0 0 auto; display:block;
  height:300px; width:auto; max-width:none;
  border-radius:0 !important;
  background:#EFEEE8;
  scroll-snap-align:start;
}
.modal__pista::-webkit-scrollbar{ height:3px; }
.modal__pista::-webkit-scrollbar-track{ background:rgba(23,22,15,.08); }
.modal__pista::-webkit-scrollbar-thumb{ background:rgba(23,22,15,.35); }
.modal__gal-nota{
  font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:700;
  color:var(--grigio-chiaro); margin:10px 0 0;
}
@media (max-width:700px){
  .modal__pista img{ height:210px; }
  .modal__galleria{ margin-top:26px; }
}
@media (prefers-reduced-motion:reduce){
  .modal__pista{ scroll-behavior:auto; }
}

/* Bottone di approfondimento dentro una scheda caso: porta a una pagina dedicata */
.modal__scheda-link{ margin:30px 0 6px; }
.modal__scheda-link .btn{ display:inline-flex; }

/* Elenco puntato dentro una pagina di approfondimento */
.elenco-testo{ list-style:none; margin:14px 0 0; padding:0; max-width:70ch; }
.elenco-testo li{ position:relative; padding-left:20px; font-size:16px; line-height:1.65; color:var(--grigio); margin-bottom:12px; }
.elenco-testo li::before{ content:"—"; position:absolute; left:0; top:0; color:var(--rosa-scuro); font-weight:700; }

/* ============================================================
   PAGINA CORSO DOCENTI CONTROL ALT CARE
   Palette presa dalla copertina del progetto: blu profondo,
   blu medio e arancione. Tutto sotto .cac-, non tocca il resto.
   ============================================================ */
:root{
  --cac-blu:#154983;
  --cac-blu-medio:#1B71B8;
  --cac-blu-chiaro:#EEF4FA;
  --cac-arancio:#E45125;
  --cac-arancio-chiaro:#FFA07A;   /* per testo piccolo sul blu profondo */
  --cac-arancio-scuro:#C8431B;    /* per il fondo dei bottoni */
}

.cac-hero{ background:var(--cac-blu); color:#fff; padding:0; position:relative; overflow:hidden; }
.cac-hero::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(115deg,#123F73 0%,#154983 45%,#1B6BAC 100%);
}
.cac-hero__inner{
  position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,520px);
  gap:56px; align-items:center; padding:64px 0 66px;
}
.cac-hero__torna{ display:inline-block; font-size:13px; letter-spacing:.02em; color:rgba(255,255,255,.66); text-decoration:none; margin-bottom:30px; }
.cac-hero__torna:hover{ color:#fff; }
.cac-kicker{
  display:block; font-size:11.5px; letter-spacing:.18em; text-transform:uppercase;
  font-weight:800; color:var(--cac-arancio-chiaro); margin-bottom:16px;
}
.cac-titolo{
  font-family:var(--display); font-weight:700; color:#fff; margin:0 0 18px;
  font-size:clamp(32px,4vw,54px); line-height:.94; letter-spacing:-.045em; max-width:18ch;
}
.cac-sottotitolo{ font-size:17px; line-height:1.5; color:rgba(255,255,255,.82); margin:0; max-width:34ch; }
.cac-hero__foto{ margin:0; }
.cac-hero__foto img{ width:100%; height:auto; display:block; }

/* striscia dei dati */
.cac-dati{ background:var(--cac-blu-chiaro); border-top:3px solid var(--cac-arancio); }
.cac-dati__inner{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:34px; padding:34px 0; }
.cac-dato__v{ display:block; font-family:var(--display); font-weight:700; font-size:34px; line-height:1; letter-spacing:-.04em; color:var(--cac-blu); }
.cac-dato__l{ display:block; font-size:12px; letter-spacing:.09em; text-transform:uppercase; font-weight:700; color:rgba(21,73,131,.62); margin-top:9px; }

/* corpo del testo */
.cac-corpo{ max-width:74ch; }
.cac-corpo p{ font-size:16.5px; line-height:1.72; color:var(--grigio); margin:0 0 20px; }
.cac-corpo p strong{ color:rgba(23,22,15,.92); }
.cac-occhiello{
  font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:800;
  color:var(--cac-blu-medio); margin:0 0 16px;
}

/* blocchi elenco */
.cac-blocco{ margin-top:52px; padding:36px 40px; background:var(--cac-blu-chiaro); border-left:4px solid var(--cac-blu-medio); }
.cac-blocco--scuro{ background:var(--cac-blu); border-left-color:var(--cac-arancio); }
.cac-blocco--scuro .cac-occhiello{ color:var(--cac-arancio-chiaro); }
.cac-blocco--scuro .cac-lista li{ color:rgba(255,255,255,.90); }
.cac-blocco--scuro .cac-lista li::before{ background:var(--cac-arancio-chiaro); }
.cac-lista{ list-style:none; margin:0; padding:0; }
.cac-lista li{ position:relative; padding-left:26px; font-size:16px; line-height:1.66; color:var(--grigio); margin-bottom:15px; }
.cac-lista li:last-child{ margin-bottom:0; }
.cac-lista li::before{ content:""; position:absolute; left:0; top:.72em; width:14px; height:2px; background:var(--cac-arancio); }

/* pulsanti e tag */
.cac-btn{
  display:inline-flex; align-items:center; gap:10px; padding:15px 26px;
  background:var(--cac-arancio-scuro); color:#fff; text-decoration:none;
  font-size:14px; font-weight:700; letter-spacing:.01em; border:0;
}
.cac-btn:hover{ background:#A63512; }
.cac-btn--vuoto{ background:transparent; color:var(--cac-blu); border:1px solid rgba(21,73,131,.34); }
.cac-btn--vuoto:hover{ background:var(--cac-blu); color:#fff; border-color:var(--cac-blu); }
.cac-tag{ display:flex; flex-wrap:wrap; gap:8px; margin-top:44px; }
.cac-tag span{
  font-size:11.5px; letter-spacing:.06em; font-weight:700; text-transform:uppercase;
  padding:7px 12px; background:var(--cac-blu-chiaro); color:var(--cac-blu);
}
.cac-chiusura{ margin-top:56px; padding-top:30px; border-top:1px solid var(--bordo); display:flex; gap:14px; flex-wrap:wrap; align-items:center; }

@media (max-width:900px){
  .cac-hero__inner{ grid-template-columns:1fr; gap:34px; padding:44px 0 48px; }
  .cac-blocco{ padding:28px 24px; }
}

/* ============================================================
   PAGINA CHI È PLEIADI — blocchi nuovi
   Prefisso .cp-, non tocca nient'altro.
   ============================================================ */

/* frase manifesto isolata */
.cp-frase{ padding:74px 0 66px; }
.cp-frase p{
  font-family:var(--display); font-weight:700; color:rgba(23,22,15,.90);
  font-size:clamp(28px,3.4vw,46px); line-height:1.04; letter-spacing:-.042em;
  max-width:20ch; margin:0;
}
.cp-frase__nota{ font-size:15.5px; line-height:1.65; color:var(--grigio); max-width:52ch; margin:24px 0 0 !important; font-family:var(--corpo) !important; font-weight:400 !important; font-size:15.5px !important; letter-spacing:0 !important; }

/* tre tappe */
.cp-tappe{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:38px; }
.cp-tappa{ border-top:3px solid var(--rosa-scuro); padding-top:22px; }
.cp-tappa__anno{ display:block; font-family:var(--display); font-weight:700; font-size:44px; line-height:1; letter-spacing:-.05em; color:rgba(23,22,15,.90); margin-bottom:14px; }
.cp-tappa__t{ display:block; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--rosa-scuro); margin-bottom:10px; }
.cp-tappa__d{ font-size:15px; line-height:1.6; color:var(--grigio); margin:0; }

/* squadra */
.cp-squadra{ display:grid; grid-template-columns:200px 1fr; gap:48px; align-items:start; margin-top:34px; }
.cp-squadra__n{ font-family:var(--display); font-weight:700; font-size:clamp(64px,8vw,104px); line-height:.86; letter-spacing:-.055em; color:rgba(23,22,15,.90); }
.cp-squadra__l{ display:block; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--rosa-scuro); margin-top:10px; }
.cp-mestieri{ display:flex; flex-wrap:wrap; gap:9px; }
.cp-mestieri span{ font-size:13.5px; font-weight:600; padding:9px 15px; background:#F3EFE7; color:rgba(23,22,15,.86); }

/* le sette cose di un unico interlocutore */
.cp-griglia{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1px; background:var(--bordo); margin-top:34px; }
.cp-cella{ background:var(--avorio,#FBF8F2); padding:26px 24px 28px; }
.cp-cella b{ display:block; font-size:16px; font-weight:700; color:rgba(23,22,15,.90); margin-bottom:8px; letter-spacing:-.01em; }
.cp-cella span{ font-size:14px; line-height:1.55; color:var(--grigio); }

/* muro dei nomi */
.cp-muro{ display:grid; grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); gap:0; margin-top:34px; border-top:1px solid var(--bordo); }
.cp-muro span{
  font-size:15px; font-weight:600; color:rgba(23,22,15,.82);
  padding:15px 16px 15px 0; border-bottom:1px solid var(--bordo);
}

/* chiusura scura */
.cp-chiusura{ background:var(--ink,#17160F); color:#F5F0E6; padding:78px 0 82px; }
.cp-chiusura p{
  font-family:var(--display); font-weight:700; color:#fff;
  font-size:clamp(26px,3vw,40px); line-height:1.08; letter-spacing:-.04em; max-width:24ch; margin:0;
}
.cp-chiusura .kicker{ color:rgba(245,240,230,.72) !important; }

@media (max-width:900px){
  .cp-tappe{ grid-template-columns:1fr; }
  .cp-squadra{ grid-template-columns:1fr; gap:26px; }
}

/* ============================================================
   CHI È PLEIADI — pagina senza rosa, con i titoli "giornale"
   ============================================================ */
/* il rosa torna, ma solo come accento: niente fasce piene su questa pagina */
.pagina-chi{ --rosa-chiaro:rgba(245,240,230,.74); }
/* il bottone della barra resta com'e su tutto il sito */
.pagina-chi .nav__cta{ background:#8E1741 !important; color:#fff !important; }

/* titoli con il taglio editoriale su tutta la pagina */
.pagina-chi .h-sez{
  font-size:clamp(30px,3.4vw,48px) !important; line-height:.90 !important;
  letter-spacing:-.045em !important; color:rgba(23,22,15,.90) !important;
}
.pagina-chi .cp-chiusura .h-sez, .pagina-chi .sezione--contatto .h-sez{ color:#fff !important; }

/* apertura tipografica al posto della testata fotografica */
.cp-apertura{ padding:78px 0 62px; border-bottom:1px solid var(--bordo); }
.cp-apertura .capitolo{ margin-bottom:34px; }
.cp-apertura__frase{
  font-family:var(--display); font-weight:700; color:rgba(23,22,15,.92);
  font-size:clamp(34px,5.2vw,74px); line-height:.92; letter-spacing:-.05em;
  max-width:15ch; margin:0;
}
.cp-apertura__nota{
  font-size:16.5px; line-height:1.7; color:var(--grigio);
  max-width:56ch; margin:30px 0 0;
}

/* fondatori senza ritratto */
.cp-persone{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1px; background:var(--bordo); margin-top:34px; }
.cp-persona{ background:#FBF8F2; padding:32px 30px 30px; }
.cp-persona__nome{ font-family:var(--display); font-weight:700; font-size:30px; line-height:.94; letter-spacing:-.045em; color:rgba(23,22,15,.90); margin:0 0 8px; }
.cp-persona__ruolo{ font-size:11.5px; letter-spacing:.13em; text-transform:uppercase; font-weight:700; color:rgba(23,22,15,.62); margin:0 0 14px; }
.cp-persona__testo{ font-size:15px; line-height:1.6; color:var(--grigio); margin:0 0 18px; max-width:40ch; }
.cp-persona__link{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:700; color:rgba(23,22,15,.90); text-decoration:none; border-bottom:1px solid rgba(23,22,15,.28); padding-bottom:3px; }
.cp-persona__link:hover{ border-bottom-color:rgba(23,22,15,.9); }

@media (max-width:700px){ .cp-apertura{ padding:52px 0 44px; } }
/* i riconoscimenti seguono il nero della pagina, non il rosa del sito */
.pagina-chi .attestato{ border-top-color:rgba(23,22,15,.90) !important; }
.pagina-chi .attestato__cat{ color:rgba(23,22,15,.62) !important; }
.pagina-chi .attestato summary::after{ color:rgba(23,22,15,.55) !important; }
.pagina-chi .btn--link{ color:rgba(23,22,15,.90) !important; }
.pagina-chi .attestato__nome{ font-family:var(--display) !important; font-style:normal !important; font-weight:700 !important; letter-spacing:-.04em !important; line-height:.96 !important; }
.pagina-chi .convinzione__pull{ font-family:var(--display) !important; font-style:normal !important; font-weight:700 !important; letter-spacing:-.042em !important; line-height:1 !important; font-size:30px !important; }
.pagina-chi .convinzione__pull em{ color:rgba(23,22,15,.55) !important; font-style:normal !important; }
/* ritratto tondo dei fondatori */
.cp-persona{ display:flex; gap:22px; align-items:center; }
.cp-avatar{ flex:0 0 96px; width:96px; height:96px; border-radius:50% !important; overflow:hidden; background:#EDEAE2; display:grid; place-items:center; }
.cp-avatar img{ width:100%; height:100%; object-fit:cover; display:block; border-radius:50% !important; }
.cp-avatar span{ font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:rgba(23,22,15,.42); text-align:center; line-height:1.3; padding:0 8px; }
.cp-persona__nome{ margin-bottom:6px !important; }
.cp-persona__ruolo{ margin-bottom:12px !important; }
/* la griglia dell'interlocutore unico dentro la fascia grigia */
.sezione--grigia .cp-griglia{ background:rgba(23,22,15,.10); margin-top:44px; }
.sezione--grigia .cp-cella{ background:#F5F2EB; }

/* Griglia delle competenze: sole etichette, niente descrizioni. */
.cp-griglia{ grid-template-columns:repeat(4,1fr); }
@media (max-width:980px){ .cp-griglia{ grid-template-columns:repeat(3,1fr); } }
.cp-cella{ padding:13px 16px; font-size:13.5px; font-weight:600;
  color:rgba(23,22,15,.82); letter-spacing:0; line-height:1.35;
  display:flex; align-items:center; min-height:0; }
@media (max-width:640px){ .cp-griglia{ grid-template-columns:repeat(2,1fr); }
  .cp-cella{ font-size:12.5px; padding:11px 12px; } }

/* ===== TELEFONO · bersagli da toccare e corpo del testo =====
   Sul telefono un collegamento alto 18 px si sbaglia a premere.
   Qui sotto niente cambia l'aspetto: cambia solo l'area sensibile. */
.form__privacy input[type="checkbox"]{
  width:20px !important; height:20px; flex:0 0 20px; margin-top:0; accent-color:var(--rosa);
}
@media (max-width:768px){
  .footer ul{ gap:2px; }
  .footer ul li a{ display:inline-block; padding:9px 0; }
  .footer ul li{ line-height:1.35; }
  .nav__brand{ min-height:44px; }
  .btn--link{ display:inline-block; padding:11px 0; }
  .hero__servizi li a{ padding:12px 0; }
  /* le etichette sopra i titoli delle schede erano a 10,5 px: troppo poco per leggerle in mano */
  .scheda__tag, .ric-carta__ente{ font-size:11.5px !important; letter-spacing:.09em; }
  .modal__dato__l, .dato__l{ font-size:12px; }
}
@media (max-width:768px){
  .cp-persona__link, .cac-hero__torna{ display:inline-block; padding:10px 0; }
}

/* Chi è Pleiadi · dentro la fascia grigia le tessere restano chiare */
.sezione--grigia .cp-persona{ background:#F5F2EB; }
.sezione--grigia .cp-persone{ background:rgba(23,22,15,.10); }

/* ===== CHI È PLEIADI · le sei carte orizzontali =====
   Stesso stile delle schede progetto, impaginazione diversa:
   foto stretta a sinistra, testo a destra, numerate. */
.cp-carte{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:var(--bordo); border:1px solid var(--bordo); margin-top:36px; }
.cp-carta{ display:grid; grid-template-columns:150px 1fr; align-items:stretch;
  background:#fff; border:0; padding:0; margin:0; text-align:left; font:inherit; color:inherit;
  cursor:pointer; transition:background .2s ease; }
.cp-carta:hover, .cp-carta:focus-visible{ background:#FBF9F4; }
.cp-carta__foto{ display:block; overflow:hidden; background:#EDEAE2; }
.cp-carta__foto img{ width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.cp-carta:hover .cp-carta__foto img{ transform:scale(1.05); }
.cp-carta__corpo{ display:block; padding:26px 26px 24px; }
.cp-carta__n{ display:block; font-size:10.5px; font-weight:700; letter-spacing:.15em;
  text-transform:uppercase; color:var(--rosa); }
.cp-carta__t{ display:block; font-family:var(--display); font-weight:700;
  font-size:25px; line-height:.98; letter-spacing:-.04em;
  color:rgba(23,22,15,.92); margin:11px 0 11px; }
.cp-carta__d{ display:block; font-size:14.5px; line-height:1.62; color:var(--ink-70); }
.cp-carta__link{ display:inline-block; margin-top:16px; font-size:13px; font-weight:700;
  letter-spacing:-.01em; color:var(--rosa); border-bottom:1px solid rgba(142,23,65,.3); padding-bottom:2px; }
.cp-carta:hover .cp-carta__link{ border-bottom-color:var(--rosa); }
@media (max-width:980px){ .cp-carte{ grid-template-columns:1fr; } }
@media (max-width:560px){
  .cp-carta{ grid-template-columns:104px 1fr; }
  .cp-carta__corpo{ padding:20px 18px 20px; }
  .cp-carta__t{ font-size:21px; }
  .cp-carta__d{ font-size:14px; }
}

/* Chi è Pleiadi · le immagini delle sei carte sono dettagli, non progetti:
   un trattamento uniforme le tiene insieme e le distingue dalle schede di caso. */
.cp-carta__foto{ position:relative; }
.cp-carta__foto img{ filter:saturate(.62) contrast(1.05); }
.cp-carta__foto::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:var(--rosa); mix-blend-mode:multiply; opacity:.14;
}
.cp-carta:hover .cp-carta__foto img{ filter:saturate(.8) contrast(1.03); }
