/* ============================================================
   FONT OSPITATI SUL SITO
   Nessuna richiesta a server esterni: nessun dato del visitatore
   esce dal dominio e il sito non ha bisogno di cookie di terze parti.
   ============================================================ */
@font-face{font-family:'Manrope';src:url('/assets/fonts/manrope-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('/assets/fonts/manrope-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('/assets/fonts/inter-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('/assets/fonts/inter-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('/assets/fonts/inter-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}

/* ============================================================
   FabrizioPalmaTeatro — style.css
   Design system: corallo #DD4B36 · nero caldo #23201D ·
   panna #FAF6EF · petrolio #0F6E7A (solo nel marchio)
   Font: Manrope (titoli) + Inter (testo), via Google Fonts
   Mobile-first: gli stili base sono per smartphone,
   i @media (min-width) adattano a tablet/desktop.
   ============================================================ */

:root{
  --corallo:#DD4B36;
  --corallo-scuro:#B23A28;   /* per testo corallo su chiaro: contrasto AA */
  --ink:#23201D;
  --panna:#FAF6EF;
  --panna-2:#F1EADE;
  --grigio:#6B655C;
  --scuro:#191512;
  --font-t:'Manrope',system-ui,sans-serif;
  --font-b:'Inter',system-ui,sans-serif;
  --radius:14px;
  --maxw:1180px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-b);
  color:var(--ink);
  background:var(--panna);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--font-t);font-weight:700;letter-spacing:-.015em;line-height:1.1}

/* Focus visibile per navigazione da tastiera (accessibilità) */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:3px solid var(--corallo);outline-offset:2px;border-radius:4px;
}

.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* ============ NAVIGAZIONE ============ */
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(250,246,239,.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(35,32,29,.08);
}
.nav-top{
  max-width:1300px;margin:0 auto;padding:12px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  flex-wrap:nowrap;
}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-t);font-weight:700;font-size:19px;letter-spacing:-.01em;white-space:nowrap;flex:none}
.brand img{width:34px;height:auto;flex:none}
.brand .p{color:var(--corallo)}
.menu{display:none}
.burger{
  background:none;border:0;cursor:pointer;color:var(--ink);flex:none;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
}
/* Menu mobile a tendina */
.mobile-menu{
  display:none;flex-direction:column;gap:2px;
  padding:8px 20px 18px;border-top:1px solid rgba(35,32,29,.08);
  background:var(--panna);
}
.mobile-menu.open{display:flex}
.mobile-menu a{padding:12px 4px;font-size:16px;border-bottom:1px solid rgba(35,32,29,.05)}
.mobile-menu a[aria-current="page"]{color:var(--corallo-scuro);font-weight:600}
.mobile-menu .m-cta{
  margin-top:12px;text-align:center;background:var(--corallo);color:#fff;
  font-weight:600;border-radius:12px;padding:13px;border-bottom:none;
}

/* Sopra i 1150px il menu sta comodo su una riga con il logo.
   Sotto resta il tendina: meglio un hamburger pulito di voci schiacciate. */
@media(min-width:1150px){
  .burger,.mobile-menu{display:none!important}
  .menu{
    display:flex;align-items:center;gap:17px;font-size:14px;flex:none;
  }
  .menu a{padding:4px 0;position:relative;white-space:nowrap;transition:color .2s}
  .menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:2px;background:var(--corallo);transition:right .25s}
  .menu a:hover{color:var(--corallo-scuro)}
  .menu a:hover::after,.menu a[aria-current="page"]::after{right:0}
  .menu a[aria-current="page"]{color:var(--corallo-scuro);font-weight:600}
}

/* ============ HERO (home) ============ */
.hero{display:grid;grid-template-columns:1fr}
.hero-photo{background:var(--scuro);min-height:46vh;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.hero-text{padding:44px 20px 56px;display:flex;flex-direction:column;justify-content:center}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;margin-bottom:20px;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--corallo-scuro);font-weight:600;
}
.eyebrow img{width:20px;height:auto}
.hero h1{font-size:clamp(38px,7vw,64px);margin-bottom:18px}
.hero h1 .p{color:var(--corallo)}
.hero .lead{font-size:clamp(16px,2vw,19px);color:var(--grigio);max-width:38ch;margin-bottom:32px}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.btn{
  display:inline-block;font-weight:600;font-size:15.5px;padding:14px 26px;
  border-radius:12px;border:1.5px solid transparent;cursor:pointer;
  transition:background .2s,border-color .2s,transform .1s;
}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--corallo);color:#fff}
.btn-primary:hover{background:var(--corallo-scuro)}
.btn-ghost{border-color:rgba(35,32,29,.25);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink)}

@media(min-width:960px){
  .hero{grid-template-columns:1.05fr .95fr;min-height:calc(100vh - 64px)}
  .hero-photo{order:2;min-height:0}
  .hero-text{order:1;padding:64px 48px 64px calc((100vw - var(--maxw))/2 + 20px)}
}

/* ============ SEZIONI ============ */
.band{padding:64px 0}
.band.alt{background:var(--panna-2)}
.band h2{font-size:clamp(27px,4vw,38px);margin-bottom:10px}
.band .sub{color:var(--grigio);margin-bottom:36px;max-width:60ch}
.center{text-align:center}
.center .sub{margin-left:auto;margin-right:auto}
@media(min-width:960px){.band{padding:96px 0}}

/* Card grid (Cosa posso fare / Spettacoli) */
.cards{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:700px){.cards{grid-template-columns:repeat(3,1fr);gap:22px}}
.card{
  background:var(--panna);border:1px solid rgba(35,32,29,.08);
  border-radius:var(--radius);padding:28px 26px;
  transition:transform .2s,box-shadow .2s;
}
.band.alt .card{background:#fff}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(35,32,29,.08)}
.card h3{font-size:21px;margin-bottom:8px}
.card p{font-size:15px;color:var(--grigio);margin-bottom:16px}
.card .go{font-weight:600;font-size:14.5px;color:var(--corallo-scuro)}
.card .go::after{content:" →"}

/* Card spettacolo (con immagine) — struttura duplicabile:
   copia l'intero <article class="show-card"> e cambia immagine/testi */
.show-card{
  background:#fff;border:1px solid rgba(35,32,29,.08);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .2s,box-shadow .2s;
}
.show-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(35,32,29,.08)}
.show-card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.show-card .body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.show-card h3{font-size:20px}
.show-card .meta{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--corallo-scuro);font-weight:600}
.show-card p{font-size:14.5px;color:var(--grigio);flex:1}
.show-card .go{font-weight:600;font-size:14.5px;color:var(--corallo-scuro)}
.show-card .go::after{content:" →"}

/* Split (testo+foto) */
.split{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:56px}}
.split img{border-radius:var(--radius);width:100%;object-fit:cover}
.split .txt p{color:var(--grigio);margin-bottom:14px}

/* Libri */
.books{display:grid;grid-template-columns:1fr;gap:22px}
@media(min-width:760px){.books{grid-template-columns:1fr 1fr}}
.book{
  display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:start;
  background:#fff;border:1px solid rgba(35,32,29,.08);border-radius:var(--radius);padding:22px;
}
.book img{border-radius:8px;aspect-ratio:3/4;object-fit:cover;object-position:center 30%}
.book h3{font-size:19px;margin-bottom:6px}
.book p{font-size:14px;color:var(--grigio);margin-bottom:12px}

/* Chi sono — le quattro anime */
.anime{display:grid;grid-template-columns:1fr;gap:22px}
@media(min-width:760px){.anime{grid-template-columns:1fr 1fr}}
.anima{background:#fff;border:1px solid rgba(35,32,29,.08);border-radius:var(--radius);overflow:hidden}
.anima img{aspect-ratio:16/11;object-fit:cover;width:100%}
.anima .body{padding:22px 24px 26px}
.anima h3{font-size:21px;margin-bottom:8px;color:var(--corallo-scuro)}
.anima p{font-size:15px;color:var(--grigio)}

/* Sezioni scuole (accordion-free, semplici ancore) */
.grade{border-top:1px solid rgba(35,32,29,.1);padding:36px 0}
.grade h3{font-size:23px;margin-bottom:10px}
.grade .tagline{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--corallo-scuro);font-weight:600;margin-bottom:6px}
.grade ul{margin:12px 0 16px 18px;color:var(--grigio);font-size:15px}
.grade li{margin-bottom:6px}

/* Griglia riquadri fasce scolastiche (5 card) */
.age-cards{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:8px}
@media(min-width:560px){.age-cards{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.age-cards{grid-template-columns:repeat(5,1fr);gap:14px}}
.age-card{
  background:#fff;border:1px solid rgba(35,32,29,.08);border-radius:var(--radius);
  padding:22px 20px 24px;display:flex;flex-direction:column;gap:6px;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.age-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(35,32,29,.09);border-color:rgba(221,75,54,.35)}
.age-card .eta{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--corallo-scuro);font-weight:700}
.age-card h3{font-size:18px;line-height:1.2}
.age-card .classi{font-size:13px;color:var(--grigio)}
.age-card .go{margin-top:auto;padding-top:12px;font-weight:600;font-size:14px;color:var(--corallo-scuro)}
.age-card .go::after{content:" ↓"}

/* Pagina dettaglio spettacolo */
.show-hero{display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:900px){.show-hero{grid-template-columns:1fr 1fr;align-items:stretch}}
.show-hero img{width:100%;height:100%;object-fit:cover;min-height:260px}
.show-hero .txt{padding:44px 20px}
@media(min-width:900px){.show-hero .txt{padding:64px 48px;display:flex;flex-direction:column;justify-content:center}}
.show-hero h1{font-size:clamp(32px,5vw,50px);margin:10px 0 8px}
.show-hero .sottotitolo{font-family:var(--font-t);font-weight:600;font-size:clamp(17px,2.2vw,21px);color:var(--corallo);margin-bottom:18px}

/* Etichetta del formato (Conferenza-spettacolo, Teatro ragazzi…) */
.formato{
  display:inline-block;align-self:flex-start;margin-bottom:22px;
  font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--corallo-scuro);background:rgba(221,75,54,.1);
  border:1px solid rgba(221,75,54,.28);border-radius:999px;padding:7px 15px;
}

/* Etichette tematiche sulle schede spettacolo */
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 20px}
.tag{
  font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--corallo-scuro);background:rgba(221,75,54,.1);
  border:1px solid rgba(221,75,54,.25);border-radius:999px;padding:6px 13px;
}
.con{font-size:14.5px;color:var(--grigio);font-style:italic;margin-bottom:4px}
.bozza{
  font-size:13px;color:#7A5B12;background:#FBF3DF;border:1px solid #E8D6A8;
  border-radius:8px;padding:9px 13px;margin-bottom:18px;
}
/* Colonna di lettura più stretta per i testi lunghi */
.container.narrow{max-width:760px}
.container.narrow h2{font-size:clamp(21px,2.6vw,26px);margin:34px 0 10px}
.container.narrow p{color:var(--grigio)}
.lead-testo{font-size:clamp(17px,2vw,20px);color:var(--ink)!important;line-height:1.6}
/* Citazioni: nessun riquadro scuro, solo un filo corallo a sinistra */
.quote{
  border:0;border-left:3px solid var(--corallo);
  background:none;padding:4px 0 4px 22px;margin:34px 0 0;
  font-family:var(--font-t);font-weight:600;font-size:clamp(18px,2.3vw,22px);
  line-height:1.4;color:var(--ink);font-style:normal;
}
.quote footer{
  display:block;margin-top:10px;font-family:var(--font-b);font-style:normal;
  font-weight:500;font-size:14px;color:var(--grigio);background:none;
}
.quote footer::before{content:"— "}
/* Numeri in evidenza */
.numeri{display:grid;grid-template-columns:1fr;gap:20px;margin-top:44px;padding-top:32px;border-top:1px solid rgba(35,32,29,.1)}
@media(min-width:640px){.numeri{grid-template-columns:repeat(3,1fr)}}
.numeri div{text-align:center}
.numeri strong{display:block;font-family:var(--font-t);font-weight:700;font-size:clamp(34px,5vw,46px);color:var(--corallo);line-height:1}
.numeri span{display:block;margin-top:6px;font-size:13.5px;color:var(--grigio)}
/* Riquadro promozione */
.promo{background:#fff;border:1px solid rgba(221,75,54,.3);border-radius:var(--radius);padding:28px 26px}
.promo h3{font-size:20px;margin-bottom:10px;color:var(--corallo-scuro)}
.promo p{color:var(--grigio);margin-bottom:18px}
.show-hero .sottotitolo + .con{margin-top:-10px}

/* Scheda tecnica: coppie etichetta/valore */
.specs{display:grid;grid-template-columns:1fr;gap:0;margin:8px 0 28px;max-width:620px}
.specs div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid rgba(35,32,29,.1)}
.specs dt,.specs .k{font-weight:600;font-size:14.5px}
.specs dd,.specs .v{font-size:14.5px;color:var(--grigio);text-align:right;margin:0}

/* Riga dei download */
.download-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}

/* Modulo contatti (Netlify Forms) */
form{display:grid;gap:14px;max-width:640px}
label{font-weight:600;font-size:14px}
input,textarea{
  font-family:var(--font-b);font-size:15.5px;color:var(--ink);
  background:#fff;border:1.5px solid rgba(35,32,29,.18);border-radius:10px;
  padding:12px 14px;width:100%;
}
input:hover,textarea:hover{border-color:rgba(35,32,29,.35)}
textarea{min-height:140px;resize:vertical}
.hp{position:absolute;left:-9999px}  /* honeypot antispam */

/* Footer */
footer{background:var(--ink);color:#CFC9BF;padding:48px 0 32px;font-size:14px}
footer .cols{display:grid;grid-template-columns:1fr;gap:28px;margin-bottom:32px}
@media(min-width:760px){footer .cols{grid-template-columns:2fr 1fr 1fr}}
footer .fbrand{display:flex;align-items:center;gap:10px;color:#fff;font-family:var(--font-t);font-weight:700;font-size:17px;margin-bottom:12px}
footer .fbrand img{width:30px}
footer h4{color:#fff;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
footer a:hover{color:#fff}
footer ul{list-style:none}
footer li{margin-bottom:8px}
footer .legal{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;font-size:12.5px;color:#9A948A;line-height:1.7}

/* Animazioni leggere, rispettando prefers-reduced-motion */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.animate{opacity:0;animation:rise .6s cubic-bezier(.2,.7,.2,1) forwards}
@media(prefers-reduced-motion:reduce){.animate{animation:none;opacity:1}}


/* ============ AGGIUNTE ============ */

/* Badge "Novità" sulle card */
.show-card-img{position:relative}
.show-card-img img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}
.badge-novita{
  position:absolute;top:12px;left:12px;z-index:2;
  background:var(--corallo);color:#fff;font-weight:700;
  font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;
  padding:6px 12px;border-radius:999px;box-shadow:0 2px 10px rgba(0,0,0,.18);
}
.tag-novita{background:var(--corallo)!important;color:#fff!important;border-color:var(--corallo)!important}

/* Navigazione per fascia d'età */
.age-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.age-link{
  display:flex;flex-direction:column;gap:2px;
  background:#fff;border:1px solid rgba(35,32,29,.12);border-radius:12px;
  padding:12px 18px;transition:border-color .2s,transform .15s;
}
.band.alt .age-link{background:var(--panna)}
.age-link:hover{border-color:var(--corallo);transform:translateY(-2px)}
.age-link .eta{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--corallo-scuro)}
.age-link .nome{font-size:14.5px;font-weight:600;color:var(--ink)}

/* Obiettivi didattici sotto le card di fascia */
.obiettivi{margin-top:32px;padding-top:24px;border-top:1px solid rgba(35,32,29,.1)}
.obiettivi h3{font-size:17px;margin-bottom:10px}
.obiettivi ul{margin-left:18px;color:var(--grigio);font-size:15px;columns:2;column-gap:36px}
.obiettivi li{margin-bottom:6px;break-inside:avoid}
@media(max-width:700px){.obiettivi ul{columns:1}}


/* Nota tecnica sotto la scheda */
.nota-tecnica{font-size:14px;color:var(--grigio);margin-top:18px;max-width:70ch;line-height:1.6}

/* Elenco "In breve" */
.inbreve ul{margin:0 0 22px 18px;color:var(--grigio);font-size:15.5px}
.inbreve li{margin-bottom:8px}
.inbreve strong{color:var(--ink)}

/* Le quattro anime: inquadratura foto */
.anima img{aspect-ratio:16/11;object-fit:cover;width:100%;object-position:center 22%}
.anima img.trio{object-position:center 5%}
.anima img.falcone{object-position:center 75%}


/* ============ SOTTOMENU "SPETTACOLI" ============ */
.has-sub{position:relative;display:none}
.sub-toggle{
  display:flex;align-items:center;gap:6px;background:none;border:0;cursor:pointer;
  font-family:var(--font-b);font-size:14px;color:var(--ink);padding:4px 0;line-height:1.65;
  position:relative;white-space:nowrap;
}
.sub-toggle svg{transition:transform .2s;margin-top:1px}
.has-sub.open .sub-toggle svg{transform:rotate(180deg)}
.sub-toggle::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:2px;background:var(--corallo);transition:right .25s}
.has-sub.open .sub-toggle::after,.sub-toggle.attivo::after{right:0}
.sub-toggle.attivo{color:var(--corallo-scuro);font-weight:600}
.sub-menu{
  display:none;position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);
  min-width:290px;background:#fff;border:1px solid rgba(35,32,29,.1);
  border-radius:14px;box-shadow:0 14px 40px rgba(35,32,29,.14);padding:8px;z-index:120;
}
.has-sub.open .sub-menu{display:block}
.sub-menu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.sub-menu a{display:block;padding:10px 14px;border-radius:9px;transition:background .15s}
.sub-menu a:hover{background:var(--panna-2)}
.sub-menu a[aria-current="page"]{background:rgba(221,75,54,.08)}
.sub-menu strong{display:block;font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:2px}
.sub-menu span{display:block;font-size:12.5px;color:var(--grigio);line-height:1.35}
@media(min-width:1150px){.has-sub{display:block}}

/* Menu mobile: gruppo Spettacoli */
.m-group{
  display:block;padding:16px 4px 6px;font-size:11.5px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--corallo-scuro);
}
.mobile-menu a.m-sub{padding-left:16px}

/* Ancore: lo scroll si ferma sotto la barra fissa */
[id]{scroll-margin-top:80px}


/* Locandine: si mostrano intere invece di essere ritagliate */
.show-card-img img.poster,.show-hero img.poster{object-fit:contain;background:#F5EFE0}
.show-hero img.poster{padding:14px}


/* ============ BANNER COOKIE ============ */
.cookie{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:200;
  background:#fff;border:1px solid rgba(35,32,29,.14);border-radius:16px;
  box-shadow:0 16px 48px rgba(35,32,29,.20);
  padding:20px 22px;max-width:640px;margin:0 auto;
  transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
.cookie.mostra{transform:translateY(0)}
.cookie h2{font-family:var(--font-t);font-weight:700;font-size:17px;margin-bottom:8px}
.cookie p{font-size:14px;color:var(--grigio);margin-bottom:16px;line-height:1.55}
.cookie p a{color:var(--corallo-scuro);font-weight:600;text-decoration:underline}
.cookie-azioni{display:flex;flex-wrap:wrap;gap:10px}
.cookie .btn{font-size:14.5px;padding:11px 22px}
@media(prefers-reduced-motion:reduce){.cookie{transition:none}}

/* Pagina informativa */
.testo-legale{max-width:760px}
.testo-legale h2{font-size:clamp(19px,2.4vw,24px);margin:32px 0 10px}
.testo-legale p,.testo-legale li{color:var(--grigio);font-size:15.5px}
.testo-legale ul{margin:0 0 16px 20px}
.testo-legale li{margin-bottom:7px}
.testo-legale table{width:100%;border-collapse:collapse;margin:14px 0 20px;font-size:14.5px}
.testo-legale th,.testo-legale td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(35,32,29,.1);vertical-align:top}
.testo-legale th{font-weight:600;color:var(--ink);background:var(--panna-2)}


/* ============ RASSEGNA STAMPA ============ */

/* Articolo in evidenza: è un link, quindi deve sembrarlo */
.intervista{
  display:block;background:#fff;border:1px solid rgba(35,32,29,.1);
  border-left:4px solid var(--corallo);border-radius:var(--radius);
  padding:28px 30px;margin-bottom:30px;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.intervista:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(35,32,29,.10)}
.intervista .testata{
  display:block;font-size:11.5px;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--corallo-scuro);margin-bottom:10px;
}
.intervista h3{font-size:clamp(20px,2.6vw,26px);margin-bottom:12px;line-height:1.2}
.intervista p{font-size:15.5px;color:var(--grigio);margin-bottom:20px;max-width:68ch}
.intervista em{color:var(--ink);font-style:italic}
.intervista .finto-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--corallo);color:#fff;font-weight:600;font-size:15px;
  padding:12px 22px;border-radius:12px;transition:background .2s;
}
.intervista:hover .finto-btn{background:var(--corallo-scuro)}
.intervista .finto-btn svg{flex:none}

/* Ritagli: miniature tutte uguali, si aprono a schermo intero */
.ritagli{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:640px){.ritagli{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.ritagli{grid-template-columns:repeat(3,1fr)}}
.ritaglio{
  margin:0;background:#fff;border:1px solid rgba(35,32,29,.1);
  border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;
  transition:transform .2s,box-shadow .2s;
}
.ritaglio:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(35,32,29,.09)}
.ritaglio .scatto{position:relative;display:block;background:var(--panna-2)}
.ritaglio img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center top;display:block}
.ritaglio .lente{
  position:absolute;right:10px;bottom:10px;
  background:rgba(255,255,255,.94);border-radius:999px;padding:6px 13px;
  font-size:11.5px;font-weight:600;color:var(--ink);
  box-shadow:0 2px 10px rgba(0,0,0,.14);
}
.ritaglio figcaption{padding:16px 18px 20px;font-size:14px;color:var(--grigio);line-height:1.5;flex:1}
.ritaglio figcaption strong{display:block;color:var(--ink);font-size:12px;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px}
