/* Territorio — rifiniture leggere */

/* Territorio – hero */
.hero--territorio{position:relative}
.hero--territorio::before{
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(0deg,rgba(12,22,24,.42) 14%,rgba(12,22,24,.2) 58%,rgba(12,22,24,.1) 100%)
}
.hero--territorio .hero-content{position:relative;z-index:3;padding-block:clamp(3rem,8vw,6rem)}

.card.card--soft img{display:block;width:100%;height:auto;border-radius:6px}
.card.card--soft .h4{margin-top:.75rem}

/* Griglia iniziative (spazi e card) */
#iniziative .card.card--soft{padding:clamp(1rem,2.2vw,1.5rem)}

/* Stats inline */
.stats-inline{display:flex;flex-wrap:wrap;gap:14px 22px}
.stats-inline li{list-style:none}

/* Cards grid “in evidenza” */
.cards-grid{display:grid;gap:clamp(18px,2vw,24px);grid-template-columns:repeat(3,1fr)}
.cards-grid .card{display:flex;flex-direction:column;gap:.6rem}
.cards-grid .card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px}
.cards-grid .cta-link{margin-top:.25rem;max-width:max-content}
.cards-grid .card.card--soft{
  border:1px solid #e6e5df;border-radius:10px;
  padding:clamp(12px,1.6vw,16px)
}
.cards-grid .card.card--soft img{border-radius:8px}

/* Iniziative – griglia e card */
.bg-stone{background-color:var(--cl-stone)}
#iniziative .grid{
  display:grid;gap:clamp(14px,1.8vw,18px);
  grid-template-columns:repeat(3,1fr);
  padding-block:clamp(20px,3.5vw,36px)
}
#iniziative .card.iniziativa{
  background:#fff;border:1px solid #e6e5df;border-radius:10px;
  padding:clamp(14px,1.6vw,18px);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease
}
#iniziative .card.iniziativa:hover{transform:translateY(-1px);border-color:#dad9d2;box-shadow:0 10px 24px rgba(0,0,0,.04)}
@media (max-width:1024px){#iniziative .grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){#iniziative .grid{grid-template-columns:1fr}}

/* ===== Pillars Bento (gap ridotto + più alti) ===== */
.pillars-bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}

/* overlay + hover */
.pillar--img::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background-image:linear-gradient(180deg,rgba(0,77,78,.35) 0%,rgba(0,0,0,.55) 100%),var(--img);
  background-size:cover;background-position:center;
  transform:scale(1);transition:transform .28s ease
}


/* ===== PILASTRI – BENTO (specificità più alta) ===== */
.pillars-bento{grid-template-columns:1fr 1fr;gap:10px}
.pillars-bento .pillar{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:clamp(340px,32vw,460px);border-radius:12px;
  padding:clamp(16px,2vw,22px);
  display:flex;flex-direction:column;justify-content:flex-end;color:var(--cl-ivory);
  background:transparent;border:0;box-shadow:none
}
.pillars-bento .pillar::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background-image:linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.5) 100%),var(--img);
  background-size:cover;background-position:center;
  transform:scale(1);transition:transform .22s ease;will-change:transform
}
.pillars-bento .pillar:hover::before{transform:scale(1.02)}
.pillars-bento .pillar .h3{margin:0 0 .35rem;color:var(--cl-ivory)}
.pillars-bento .pillar .p{margin:0;color:var(--cl-ivory);opacity:.96;max-width:52ch}
.pillars-bento .pillar:hover{transform:none;box-shadow:none;border-color:transparent}

/* Micro-tweak tipografico */
.section .content-narrow>.p,.section .container>.p{max-width:68ch}

/* ===== Partner & Patrocini ===== */
.logo-bar{
  --gap:clamp(40px,8vw,80px);
  margin-inline:0;margin-top:clamp(20px,3.5vw,36px);
  list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--gap);align-items:center
}
.logo-bar>li{list-style:none;margin:0;padding:0}
.logo-bar__item{flex:0 0 auto}
.logo-bar__item img{
  display:block;height:80px;width:auto;object-fit:contain;
  filter:grayscale(100%);opacity:.9;
  transition:filter .2s ease,opacity .2s ease,transform .2s ease
}
.logo-bar__item img:hover{filter:none;opacity:1;transform:translateY(-1px)}
.logo-bar[data-marquee]{display:block;overflow:hidden;padding-block:6px}
.logo-bar--track{display:flex;gap:var(--gap);align-items:center;flex-wrap:nowrap;will-change:transform}
@media (prefers-reduced-motion:reduce){.logo-bar[data-marquee]{overflow:visible}}

/* ===== Progetti in dettaglio ===== */
.projects-dettaglio .h2{margin-bottom:clamp(1rem,2.2vw,1.5rem)}
.project--dettaglio{padding-block:clamp(20px,3.5vw,36px);border-top:1px solid var(--cl-stone)}
.project--dettaglio:first-of-type{border-top:0}
.project-wrap{
  display:grid;grid-template-columns:minmax(0,1fr) 50%;
  gap:clamp(18px,3vw,40px);align-items:start
}
.project-body{max-width:70ch}
.project-body .h3{margin-bottom:.5rem}
.project-aside{
  position:sticky;top:96px;border:1px solid var(--cl-stone);
  background:var(--cl-ivory);border-radius:10px;
  padding:clamp(14px,1.6vw,18px);box-shadow:0 10px 24px rgba(0,0,0,.04)
}
.project-aside .h5{margin-bottom:.5rem}
.project-aside .cta-link{display:inline-flex;margin-top:.5rem}
.list-checked.clean{margin:0 0 .75rem 0;padding:0}
.list-checked.clean li{list-style:none;margin:.35rem 0;line-height:1.35}

.project-body .p+.p{margin-top:.65rem}

/* ============ IMPATTO ============ */
.section--impatto{background:var(--cl-ivory)}
.stats-grid{
  list-style:none;margin:0;padding:0;
  display:grid;gap:clamp(12px,2vw,18px);
  grid-template-columns:repeat(4,minmax(0,1fr))
}

.stat-card{
  display:grid;align-content:start;gap:.4rem;min-height:112px;background:#fff;
  border:1px solid var(--cl-stone);border-radius:12px;
  padding:clamp(14px,2vw,18px);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;will-change:transform
}
.stat-card:hover{transform:translateY(-1px);border-color:#dad9d2;box-shadow:0 10px 24px rgba(0,0,0,.05)}
.stat-number{
  font-weight:800;line-height:1;font-variant-numeric:tabular-nums;
  font-size:clamp(1.75rem,3.5vw,2.5rem);color:var(--cl-dark)
}
.stat-label{
  display:block;font-size:clamp(.95rem,.35vw + 1rem,1.125rem);line-height:1.25;
  color:var(--color-text-grey);hyphens:auto;word-break:break-word
}
@media (prefers-reduced-motion:reduce){
  .stat-card{transition:none}
  .stat-card:hover{transform:none;box-shadow:none}
}

/* Responsive */
@media (min-width:1280px){.pillar{min-height:360px}}
@media (max-width:1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1024px){.pillars{grid-template-columns:repeat(2,1fr)}.cards-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:980px){
  .project-wrap{grid-template-columns:1fr}
  .project-aside{position:static;order:2}
}
@media (max-width:768px){
  .hero--territorio::before{background:linear-gradient(0deg,rgba(12,22,24,.55) 12%,rgba(12,22,24,.28) 60%,rgba(12,22,24,.14) 100%)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){.cards-grid{grid-template-columns:1fr}.pillars-bento{grid-template-columns:1fr;gap:8px}.pillar{min-height:260px}}
@media (max-width:479px){.stats-grid{grid-template-columns:1fr}}

/* L'elemento LCP deve essere visibile subito */
.hero .h1,
.hero .p,
.hero .btn-hero-primary { opacity: 1 !important; transform: none !important; }

/* Evita animazioni/scale/blur sull'immagine di sfondo della hero */
.hero .hero-bg { animation: none !important; }

.hero--territorio .hero-link-secondary{
  margin-top: .75rem;
  display: inline-flex;
  color: var(--cl-ivory);
  text-decoration: underline;
  text-underline-offset: 4px;
  opacity: .95;
}
.hero--territorio .hero-link-secondary:hover{opacity:1}

/* Territorio: richiamo al Sigillo di Ateneo (da accodare a css/territorio.css) */
.sg-callout-section{padding-block:clamp(3rem,7vw,6rem) 0}
.sg-callout{
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  background:var(--cl-dark);color:var(--cl-ivory);border-radius:12px;overflow:hidden;isolation:isolate
}
.sg-callout__media{display:block;position:relative;min-block-size:100%;background:#1b2527}
.sg-callout__media picture,.sg-callout__media img{display:block;inline-size:100%;block-size:100%}
.sg-callout__media img{object-fit:cover;object-position:50% 30%;aspect-ratio:1600/1357;transition:transform .5s cubic-bezier(.33,1,.55,1)}
.sg-callout:hover .sg-callout__media img{transform:scale(1.02)}
.sg-callout__body{
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:clamp(1.75rem,4.5vw,4.5rem)
}
.sg-callout .sg-callout__kicker{margin-bottom:.75rem;color:var(--cl-sage)}
.sg-callout .h2{color:var(--cl-ivory);max-width:16ch;margin-bottom:1rem}
.sg-callout .p{color:#d5dcd9;max-width:52ch}
.sg-callout__link{
  display:inline-flex;align-items:center;gap:.6rem;margin-top:1.75rem;min-block-size:44px;
  padding:.7rem 1.4rem;border-radius:4px;background:var(--cl-ivory);color:var(--cl-dark);
  text-decoration:none;font-weight:500;transition:background-color .18s ease
}
.sg-callout__link:hover{background:#fff}
.sg-callout__link .icon-arrow{inline-size:1em;block-size:1em;opacity:1;margin:0;transform:none;flex:0 0 auto;transition:transform .18s ease}
.sg-callout__link:hover .icon-arrow{transform:translateX(3px)}
.sg-callout__link:focus-visible{outline:3px solid var(--cl-sage);outline-offset:3px}
@media (max-width:900px){
  .sg-callout{grid-template-columns:1fr}
  .sg-callout__media img{aspect-ratio:1600/1357}
  .sg-callout__link{padding-inline:1.1rem}
}
@media (prefers-reduced-motion:reduce){
  .sg-callout__media img,.sg-callout__link .icon-arrow{transition:none}
  .sg-callout:hover .sg-callout__media img{transform:none}
}
