/* ============================================================
   NVI — CHI SIAMO — institutional editorial
   Palette: NVI main (forest · sage · cream) — NO sub-brand
   Tone: editorial + scientific gravitas + italian warmth
   ============================================================ */

/* ---------- TOKENS (body.chi) ---------- */
body.chi{
  --chi-cream:    #FFFDFA;
  --chi-cream-w:  #F6F1E7;
  --chi-cream-s:  #FAF5EB;
  --chi-paper:    #F0EADF;
  --chi-sage:     #9BCB9C;
  --chi-sage-3:   #C3DFC4;
  --chi-sage-7:   #7FAA80;
  --chi-forest:   #41594C;
  --chi-forest-9: #2B3D35;
  --chi-forest-7: #38493F;
  --chi-ink:      #1C1C1C;
  --chi-ink-s:    #2B2B2B;
  --chi-gold:     #B8925A;        /* subtle award accent only */
  --chi-line:     rgba(43,61,53,.14);
  --chi-line-soft:rgba(43,61,53,.08);
}
body.chi{background:var(--chi-cream)}

/* Nav inherits universal glass from main.css */
body.chi .nav__link--active{background:rgba(255,253,250,.14);color:var(--chi-cream)}

/* ============================================================
   HERO — editorial institutional
   ============================================================ */
/* Pattern allineato a .lp-hero (Linee Prodotti):
   hero alto 100vh, contenuto centrato verticalmente,
   marquee in posizione assoluta in fondo. */
.chi-hero{
  position:relative;overflow:hidden;isolation:isolate;
  min-height:100vh;min-height:100svh;
  padding:calc(var(--nav-h) + 40px) 0 96px;
  color:var(--chi-cream);
  background:var(--chi-forest-9);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
}
@media (max-width:900px){
  .chi-hero{ padding:calc(var(--nav-h) + 32px) 0 100px }
}
.chi-hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.chi-hero__photo{
  position:absolute;inset:0;
  background:url("../../../images/innovazione.jpg") center/cover no-repeat;
  filter:grayscale(.3) saturate(.85) brightness(.55);
  transform:scale(1.06);will-change:transform;
}
.chi-hero__video{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;object-fit:cover;display:block;
}
/* overlay scuro regolabile sopra il video (leggibilità testo) */
.chi-hero__media-overlay{ position:absolute;inset:0;z-index:1;pointer-events:none }
/* con video/immagine di sfondo togliamo la griglia decorativa (mesh) */
.chi-hero--media .chi-hero__mesh{ display:none }
.chi-hero__scrim{
  position:absolute;inset:0;
  background:
    radial-gradient(1200px 700px at 18% 15%, rgba(155,203,156,.22), transparent 65%),
    radial-gradient(900px 600px at 82% 88%, rgba(43,61,53,.88), transparent 70%),
    linear-gradient(180deg, rgba(20,30,25,.55) 0%, rgba(20,30,25,.2) 42%, rgba(20,30,25,.82) 100%);
}
.chi-hero__mesh{
  position:absolute;inset:-10%;
  background:
    repeating-linear-gradient(0deg,
      rgba(255,253,250,.03) 0 1px, transparent 1px 80px),
    repeating-linear-gradient(90deg,
      rgba(255,253,250,.03) 0 1px, transparent 1px 80px);
  mix-blend-mode:screen;opacity:.7;
}
.chi-hero__grain{
  position:absolute;inset:0;mix-blend-mode:overlay;opacity:.35;
  background-image:
    radial-gradient(1px 1px at 23% 17%, rgba(255,253,250,.5) 50%, transparent 51%),
    radial-gradient(1px 1px at 77% 34%, rgba(255,253,250,.4) 50%, transparent 51%),
    radial-gradient(1px 1px at 42% 72%, rgba(255,253,250,.35) 50%, transparent 51%),
    radial-gradient(1px 1px at 88% 88%, rgba(255,253,250,.5) 50%, transparent 51%),
    radial-gradient(1px 1px at 10% 90%, rgba(255,253,250,.4) 50%, transparent 51%);
  background-size:220px 220px,320px 320px,260px 260px,300px 300px,240px 240px;
}

/* top strap */
.chi-hero__top{position:relative;z-index:3;padding-top:8px}
.chi-hero__eyebrow{
  font-family:var(--font-sans);font-size:11.5px;font-weight:500;
  letter-spacing:.28em;text-transform:uppercase;
  color:rgba(255,253,250,.82);
  display:inline-flex;align-items:center;gap:12px;
}
.chi-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--chi-sage);
  box-shadow:0 0 0 4px rgba(155,203,156,.18);
  animation:chi-blink 2.6s ease-in-out infinite;
}
@keyframes chi-blink{
  0%,100%{opacity:1;box-shadow:0 0 0 4px rgba(155,203,156,.18)}
  50%{opacity:.75;box-shadow:0 0 0 9px rgba(155,203,156,0)}
}

/* content */
.chi-hero__content{
  position:relative;z-index:3;
  padding:0 clamp(20px,4vw,48px);
  max-width:var(--container);margin:0 auto;width:100%;
  display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:32px;
}
.chi-hero__title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(44px,6.2vw,100px);
  line-height:1.04;letter-spacing:-.015em;
  color:var(--chi-cream);
  max-width:none;margin:0 auto;
}
.chi-hero__title em{
  font-family:var(--title-font);font-weight:var(--title-em-weight);font-style:var(--title-em-style);
}
.chi-hero__line{display:block;will-change:transform}
/* Desktop: ogni riga del titolo non va mai a capo da sola (le interruzioni sono
   solo quelle volute dagli <span>). Il font scala col viewport, quindi la riga
   più lunga resta sempre dentro lo schermo. Sotto i 900px torna a capo normale. */
@media (min-width:901px){ .chi-hero__line{ white-space:nowrap } }
.chi-hero__title em{
  font-style:italic;color:var(--chi-cream);
  background:none;
  -webkit-background-clip:border-box;background-clip:border-box;
  -webkit-text-fill-color:var(--chi-cream);
}
.chi-hero__lede{
  font-family:var(--font-sans);font-weight:var(--lede-weight);
  font-size:var(--lede-size);line-height:var(--lede-lh);
  color:var(--prose-on-dark);
  max-width:var(--measure-lede);margin:4px auto 0;text-align:center;
  padding:0 12px;
}

/* marquee — pinned in fondo al hero (absolute). Il padding-bottom del hero (96px)
   riserva lo spazio, così il contenuto centrato non lo sovrappone; su schermi bassi
   il hero cresce e la pagina scrolla, come nella Home. */
.chi-hero__marquee{
  position:absolute;left:0;right:0;bottom:0;z-index:3;overflow:hidden;
  border-top:1px solid rgba(255,253,250,.14);
  border-bottom:1px solid rgba(255,253,250,.14);
  padding:18px 0;
}
.chi-marquee__track{
  display:flex;gap:28px;white-space:nowrap;
  animation:chi-marquee 42s linear infinite;
  font-family:var(--font-display);font-weight:400;font-style:italic;
  font-size:clamp(20px,2vw,32px);color:rgba(255,253,250,.86);
}
.chi-marquee__track span:nth-child(even){
  font-family:var(--font-sans);font-style:normal;font-weight:300;
  color:var(--chi-sage);
}
@keyframes chi-marquee{
  0%{transform:translateX(0)}
  100%{transform:translateX(-50%)}
}

/* scroll cue — centered at the bottom of the hero, above the marquee, matching site-wide pattern */
.chi-hero__scroll{
  position:absolute;left:50%;bottom:120px;transform:translateX(-50%);
  z-index:4;
  width:52px;height:52px;border-radius:50%;
  border:1.5px solid rgba(255,253,250,.5);
  display:flex;align-items:center;justify-content:center;
  transition:background .3s var(--easing-out),border-color .3s,transform .3s var(--easing-out);
}
.chi-hero__scroll:hover{background:rgba(255,253,250,.1);border-color:rgba(255,253,250,.7);transform:translateX(-50%) translateY(4px)}
.chi-hero__scroll span{
  width:12px;height:12px;
  border-right:1.5px solid var(--chi-cream);
  border-bottom:1.5px solid var(--chi-cream);
  transform:rotate(45deg) translate(-3px,-3px);
  animation:chi-bounce 2.4s var(--easing-out) infinite;
}
@keyframes chi-bounce{
  0%,100%{transform:rotate(45deg) translate(-3px,-3px);opacity:.75}
  50%{transform:rotate(45deg) translate(0,0);opacity:1}
}

@media (max-width:900px){
  /* Altezza minima tipo Dulcya: il hero parte da 70vh e cresce col contenuto */
  .chi-hero{ min-height:70vh; min-height:70svh; padding:calc(var(--nav-h) + 32px) 0 76px; }
  .chi-hero__line--2,.chi-hero__line--3{padding-left:0}
  .chi-hero__scroll{display:none}
  .chi-hero__marquee{ padding:12px 0 }
}
/* Schermi BASSI (desktop/laptop con poca altezza): rimpicciolisce titolo e spazi
   in base all'altezza, così l'intero hero entra nel viewport senza tagli. */
@media (max-height:780px){
  .chi-hero__title{ font-size:clamp(34px,7vh,72px) }
  .chi-hero__content{ gap:clamp(16px,3vh,28px) }
  .chi-hero__lede{ font-size:clamp(15px,2.2vh,19px) }
}
@media (max-height:600px){
  .chi-hero__title{ font-size:clamp(28px,7.4vh,54px) }
  .chi-hero__content{ gap:clamp(12px,2.4vh,20px) }
  .chi-hero__scroll{ display:none }
}

/* ============================================================
   INTRO / MISSION
   ============================================================ */
.chi-intro{
  background:var(--chi-cream);
  padding:clamp(80px,9vw,140px) 0;
  position:relative;
  border-bottom:1px solid var(--chi-line-soft);
}
.chi-intro__grid{
  display:flex;flex-direction:column;align-items:center;
  gap:clamp(24px,3vw,40px);
  text-align:center;
}
/* Colonna label "La nostra missione" rimossa per layout centrato */
.chi-intro__label{display:none}
.chi-intro__body{
  max-width:var(--rail);margin:0 auto;
  display:flex;flex-direction:column;align-items:center;
}
.chi-intro__text{margin-left:auto;margin-right:auto;font-size:var(--body-size);line-height:var(--body-lh);font-weight:var(--body-weight);}
.chi-intro__kicker{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(36px,4.2vw,70px);line-height:1.1;
  letter-spacing:-.018em;color:var(--chi-forest-9);
  margin-bottom:clamp(18px,2vw,28px);
  text-wrap:balance;
}
.chi-intro__kicker em{
  font-family:var(--title-font);font-weight:var(--title-em-weight);font-style:var(--title-em-style);
  color:var(--chi-forest);
}
.chi-intro__text{
  font-family:var(--font-sans);font-weight:var(--body-weight);
  font-size:var(--body-size);line-height:var(--body-lh);
  color:var(--prose-ink);max-width:var(--measure-lede);
}
.chi-intro__text em{
  font-family:var(--font-display);font-style:italic;font-weight:400;
  color:var(--chi-forest-9);
}

/* ============================================================
   PILLARS NAV
   ============================================================ */
.chi-pillars{
  background:var(--chi-paper);
  padding:clamp(24px,3vw,40px) 0 clamp(40px,5vw,72px);
}
.chi-pillars__grid{
  display:grid;grid-template-columns:repeat(5,1fr);
  border-top:1px solid var(--chi-line);
  border-bottom:1px solid var(--chi-line);
  background:var(--chi-cream);
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(43,61,53,.06);
}
@media (max-width:1100px){.chi-pillars__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:500px){.chi-pillars__grid{grid-template-columns:1fr}}
.chi-pillar{
  position:relative;
  padding:clamp(24px,2.6vw,36px) clamp(20px,2vw,28px);
  display:flex;flex-direction:column;gap:10px;
  border-right:1px solid var(--chi-line);
  transition:background .35s var(--easing-out),color .35s;
  overflow:hidden;isolation:isolate;
  color:var(--chi-forest-9);
  background:var(--chi-cream);
  min-height:150px;
}
.chi-pillar:last-child{border-right:0}
@media (max-width:1100px){
  .chi-pillar:nth-child(2n){border-right:0}
  .chi-pillar:nth-child(-n+3){border-bottom:1px solid var(--chi-line)}
}
@media (max-width:500px){
  .chi-pillar{border-right:0;border-bottom:1px solid var(--chi-line)}
  .chi-pillar:last-child{border-bottom:0}
}
.chi-pillar::before{
  content:"";position:absolute;inset:auto 0 0 0;height:3px;
  background:var(--chi-sage);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .5s var(--easing-out);z-index:2;
}
.chi-pillar::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--chi-forest-9);
  transform:translateY(101%);transition:transform .55s var(--easing-out);
}
.chi-pillar:hover::before{transform:scaleX(1)}
.chi-pillar:hover::after{transform:translateY(0)}
.chi-pillar:hover{color:var(--chi-cream)}
.chi-pillar__num{
  font-family:var(--font-display);font-style:italic;font-weight:400;
  font-size:clamp(20px,1.8vw,26px);
  color:var(--chi-sage-7);
  transition:color .35s;
}
.chi-pillar:hover .chi-pillar__num{color:var(--chi-sage)}
.chi-pillar__label{
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(22px,1.85vw,28px);line-height:1.1;
  letter-spacing:-.01em;color:var(--chi-forest-9);
  transition:color .35s;
  overflow-wrap:break-word;hyphens:auto;
  -webkit-hyphens:auto;
  max-width:100%;
}
.chi-pillar:hover .chi-pillar__label{color:var(--chi-cream)}
.chi-pillar__arrow{
  margin-top:auto;font-size:20px;align-self:flex-end;
  color:var(--chi-forest);opacity:.55;
  transition:transform .4s var(--easing-out),color .35s,opacity .35s;
}
.chi-pillar:hover .chi-pillar__arrow{
  color:var(--chi-sage);opacity:1;transform:translate(4px,4px);
}

/* ============================================================
   FILOSOFIA
   ============================================================ */
.chi-phil{
  background:var(--chi-cream);
  padding:clamp(80px,10vw,160px) 0;
  position:relative;
}
.chi-phil__grid{
  display:grid;grid-template-columns:1fr;gap:clamp(32px,5vw,80px);
  align-items:stretch;
}
@media (min-width:900px){
  .chi-phil__grid{grid-template-columns:minmax(360px,0.9fr) 1.1fr;gap:clamp(48px,6vw,100px)}
}
.chi-phil__media{
  position:relative;
  border-radius:28px;overflow:hidden;
  background:var(--chi-forest-9);isolation:isolate;
  min-height:480px;
  height:100%;align-self:stretch;
}
@media (max-width:899px){
  .chi-phil__media{aspect-ratio:4/5;min-height:0;height:auto}
}
.chi-phil__photo{
  position:absolute;inset:0;overflow:hidden;
}
.chi-phil__photo img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  will-change:transform;
}
.chi-phil__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(20,30,25,0) 50%, rgba(20,30,25,.55) 100%);
  pointer-events:none;
}
.chi-phil__caption{
  position:absolute;left:24px;bottom:20px;z-index:2;
  display:flex;flex-direction:column;gap:2px;
  color:var(--chi-cream);font-family:var(--font-sans);
}
.chi-phil__cap-num{font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;opacity:.8}
.chi-phil__cap-text{font-family:var(--font-display);font-style:italic;font-size:22px}

.chi-phil__seal{
  position:absolute;right:-26px;top:-26px;z-index:3;
  width:140px;height:140px;
  color:var(--chi-cream);
  background:var(--chi-forest);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  animation:chi-rotate 38s linear infinite;
  box-shadow:0 12px 30px rgba(43,61,53,.32);
}
@keyframes chi-rotate{to{transform:rotate(360deg)}}

.chi-phil__body{padding-top:clamp(10px,2vw,24px)}
.chi-phil__body .eyebrow{color:var(--chi-forest);display:block;margin-bottom:16px}
.chi-phil__title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(36px,4.2vw,70px);line-height:1.1;
  letter-spacing:-.018em;color:var(--chi-forest-9);
  max-width:14ch;
}
.chi-phil__title em{
  font-family:var(--title-font);font-weight:var(--title-em-weight);font-style:var(--title-em-style);
  color:var(--chi-forest);
}
.chi-phil__lede{
  font-family:var(--font-sans);font-weight:var(--lede-weight);
  font-size:var(--lede-size);line-height:var(--lede-lh);
  color:var(--prose-ink);
  margin-top:clamp(20px,2.5vw,32px);max-width:var(--measure-lede);
  padding-left:22px;border-left:2px solid var(--chi-sage);
}
.chi-phil__text{
  font-family:var(--font-sans);font-weight:var(--body-weight);
  font-size:var(--body-size);line-height:var(--body-lh);
  color:var(--prose-ink);margin-top:20px;max-width:var(--measure-lede);
}
.chi-phil__text em{
  font-family:var(--font-display);font-style:italic;font-weight:400;
  color:var(--chi-forest-9);
}
.chi-phil__sign{
  display:flex;align-items:center;gap:18px;
  margin-top:clamp(28px,3vw,48px);flex-wrap:wrap;
}
.chi-phil__sign-script{
  font-family:var(--font-display);font-style:italic;font-weight:400;
  font-size:26px;color:var(--chi-forest);
}
.chi-phil__sign-rule{flex:1;min-width:40px;height:1px;background:var(--chi-line)}
.chi-phil__sign-loc{
  font-family:var(--font-sans);font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--chi-forest-7);opacity:.8;
}

/* ============================================================
   VALORI
   ============================================================ */
.chi-val{
  background:var(--chi-paper);
  padding:clamp(80px,10vw,160px) 0 clamp(60px,7vw,100px);
  position:relative;
}
.chi-val__head{
  max-width:var(--rail-wide);margin:0 auto clamp(40px,5vw,80px);
  text-align:center;
}
.chi-val__head .eyebrow{
  color:var(--chi-forest);display:inline-block;margin-bottom:14px;
}
.chi-val__title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(36px,4.2vw,70px);line-height:1.1;
  letter-spacing:-.018em;color:var(--chi-forest-9);
  text-wrap:balance;
}
.chi-val__title em{
  font-family:var(--title-font);font-weight:var(--title-em-weight);font-style:var(--title-em-style);
  color:var(--chi-forest);
}
.chi-val__lede{
  font-family:var(--font-sans);font-weight:var(--lede-weight);
  font-size:var(--lede-size);line-height:var(--lede-lh);
  color:var(--prose-ink);
  margin:clamp(18px,2vw,26px) auto 0;max-width:var(--measure-lede);
}

.chi-val__grid{
  display:grid;gap:clamp(20px,2.5vw,32px);
  grid-template-columns:1fr;
}
@media (min-width:900px){
  .chi-val__grid{grid-template-columns:repeat(3,1fr)}
}

.chi-card{
  position:relative;
  background:var(--chi-cream);
  border-radius:32px;
  padding:clamp(28px,2.8vw,42px);
  overflow:hidden;isolation:isolate;
  display:flex;flex-direction:column;gap:20px;
  border:1px solid var(--chi-line-soft);
  transition:transform .5s var(--easing-out),box-shadow .5s;
}
.chi-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(43,61,53,.12)}
/* Numero index decorativo rimosso per layout pulito */
.chi-card__index{display:none}
.chi-card__head{position:relative;z-index:1}
.chi-card__label{
  display:inline-block;
  font-family:var(--font-sans);font-size:11.5px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--chi-forest);
  margin-bottom:14px;
  padding:6px 12px;border:1px solid var(--chi-forest);border-radius:999px;
}
.chi-card__title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(24px,2.2vw,34px);line-height:1.2;
  letter-spacing:-.01em;color:var(--chi-forest-9);
}
/* Nessuna riserva di altezza: il testo segue il titolo con gap uniforme.
   Le card restano di pari altezza e i tag sono ancorati in basso (margin-top:auto). */
.chi-card__title em{
  font-family:var(--title-font);font-weight:var(--title-em-weight);font-style:var(--title-em-style);
  color:var(--chi-forest);
}
.chi-card__text{
  position:relative;z-index:1;
  font-family:var(--font-sans);font-weight:var(--body-sm-weight);
  font-size:var(--body-sm-size);line-height:var(--body-sm-lh);color:var(--prose-ink);
}
.chi-card__tags{
  position:relative;z-index:1;margin-top:auto;
  display:flex;flex-wrap:wrap;gap:8px;
  padding-top:18px;border-top:1px dashed var(--chi-line);
}
.chi-card__tags li{
  font-family:var(--font-sans);font-size:12px;letter-spacing:.04em;
  color:var(--chi-forest-7);
  padding:6px 12px;border-radius:999px;
  background:var(--chi-sage-3);
}

/* ============================================================
   NUMERI
   ============================================================ */
.chi-num{
  background:var(--chi-cream);
  padding:clamp(24px,3vw,44px) 0 clamp(40px,5vw,72px);
}
.chi-num__band{
  background:var(--chi-forest-9);
  color:var(--chi-cream);
  border-radius:40px;
  padding:clamp(40px,5vw,72px) clamp(28px,4vw,56px);
  position:relative;overflow:hidden;isolation:isolate;
}
.chi-num__band::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(600px 340px at 8% 12%, rgba(155,203,156,.22), transparent 70%),
    radial-gradient(520px 320px at 92% 92%, rgba(127,170,128,.18), transparent 70%);
}
.chi-num__band::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.18;
  background:
    repeating-linear-gradient(0deg, rgba(255,253,250,.1) 0 1px, transparent 1px 60px),
    repeating-linear-gradient(90deg, rgba(255,253,250,.1) 0 1px, transparent 1px 60px);
  mix-blend-mode:screen;
}
.chi-num__head{
  position:relative;z-index:1;
  display:flex;flex-direction:column;gap:8px;
  margin-bottom:clamp(32px,4vw,56px);
  max-width:var(--rail);
}
.chi-num__head .eyebrow{
  color:var(--chi-sage);letter-spacing:.26em;
}
.chi-num__title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(30px,3.4vw,52px);line-height:1.12;
  letter-spacing:-.015em;color:var(--chi-cream);
}
.chi-num__title em{
  font-family:var(--title-font);font-weight:var(--title-em-weight);font-style:var(--title-em-style);
  color:var(--chi-sage);
}

.chi-num__grid{
  position:relative;z-index:1;
  display:grid;gap:clamp(24px,2.5vw,40px);
  grid-template-columns:1fr;
}
@media (min-width:640px){.chi-num__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.chi-num__grid{grid-template-columns:repeat(4,1fr)}}
.chi-stat{
  position:relative;
  padding:24px 28px 26px 0;
  border-left:1px solid rgba(255,253,250,.22);
  padding-left:28px;
}
.chi-stat__num{
  font-family:var(--font-display);font-weight:400;
  font-size:clamp(58px,6.5vw,108px);line-height:.96;
  letter-spacing:-.02em;color:var(--chi-cream);
}
.chi-stat__lbl{
  font-family:var(--font-sans);font-size:13px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--chi-sage);
  margin-top:14px;
}
.chi-stat__desc{
  font-family:var(--font-sans);font-weight:var(--body-sm-weight);
  font-size:var(--body-sm-size);line-height:var(--body-sm-lh);
  color:var(--prose-on-dark);
  margin-top:10px;max-width:32ch;
}

/* ============================================================
   INNOVAZIONE — scrollytelling pinned
   ============================================================ */
.chi-inn{
  background:var(--chi-cream);
  padding:clamp(80px,10vw,160px) 0;
}
.chi-inn__head{
  max-width:var(--rail);margin:0 auto clamp(50px,6vw,90px);
  text-align:center;
}
.chi-inn__head .eyebrow{color:var(--chi-forest);display:inline-block;margin-bottom:14px}
.chi-inn__title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(36px,4.4vw,72px);line-height:1.1;
  letter-spacing:-.018em;color:var(--chi-forest-9);
}
.chi-inn__title em{
  font-family:var(--title-font);font-weight:var(--title-em-weight);font-style:var(--title-em-style);
  color:var(--chi-forest);
}
.chi-inn__lede{
  font-family:var(--font-sans);font-weight:var(--lede-weight);
  font-size:var(--lede-size);line-height:var(--lede-lh);
  color:var(--prose-ink);
  margin:clamp(18px,2vw,26px) auto 0;max-width:var(--measure-lede);
}

.chi-inn__stage{
  display:grid;grid-template-columns:minmax(280px,420px) 1fr;
  gap:clamp(40px,6vw,100px);
  align-items:start;
}
@media (max-width:900px){
  .chi-inn__stage{grid-template-columns:1fr;gap:40px}
}
.chi-inn__pinned{
  position:sticky;top:calc(var(--nav-h) + 40px);align-self:start;
}
@media (max-width:900px){.chi-inn__pinned{position:static}}
.chi-inn__pinned-inner{
  display:flex;flex-direction:column;gap:18px;
}
.chi-inn__kicker{
  font-family:var(--font-sans);font-size:11.5px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--chi-forest);
  padding-bottom:14px;border-bottom:1px solid var(--chi-line);
}
.chi-inn__pinned-title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(30px,3.2vw,48px);line-height:1.12;
  letter-spacing:-.015em;color:var(--chi-forest-9);
}
.chi-inn__pinned-title em{
  font-family:var(--title-font);font-weight:var(--title-em-weight);font-style:var(--title-em-style);
  color:var(--chi-forest);
}
.chi-inn__pinned-text{
  font-family:var(--font-sans);font-weight:var(--body-sm-weight);
  font-size:var(--body-sm-size);line-height:var(--body-sm-lh);color:var(--prose-ink);
  max-width:42ch;
}
.chi-inn__pinned-text em{font-style:italic;color:var(--chi-forest-9)}

.chi-inn__nav{
  display:flex;flex-direction:column;gap:0;
  margin-top:14px;border-top:1px solid var(--chi-line);
}
.chi-inn__nav-item{
  position:relative;
  display:flex;align-items:baseline;gap:18px;
  padding:18px 0 18px 22px;
  border-bottom:1px solid var(--chi-line);
  color:var(--chi-forest-7);opacity:.55;
  transition:color .4s var(--easing-out),opacity .4s,padding-left .4s;
}
.chi-inn__nav-item::before{
  content:"";position:absolute;left:0;top:22px;
  width:12px;height:1px;background:var(--chi-forest);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .5s var(--easing-out);
}
.chi-inn__nav-item.is-active{
  color:var(--chi-forest-9);opacity:1;padding-left:28px;
}
.chi-inn__nav-item.is-active::before{transform:scaleX(1)}
.chi-inn__nav-num{
  font-family:var(--font-display);font-style:italic;font-weight:400;
  font-size:18px;color:var(--chi-sage-7);flex:none;
}
.chi-inn__nav-lbl{
  font-family:var(--font-sans);font-weight:500;font-size:16px;
  letter-spacing:.01em;
}

/* feed items */
.chi-inn__feed{display:flex;flex-direction:column;gap:clamp(60px,8vw,120px)}
.chi-inn__item{
  display:flex;flex-direction:column;gap:22px;
}
.chi-inn__item-tag{
  font-family:var(--font-sans);font-size:11.5px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--chi-forest);
  padding-bottom:6px;border-bottom:1px solid var(--chi-line);
  align-self:flex-start;padding-right:16px;
}
.chi-inn__item-title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(28px,3vw,46px);line-height:1.14;
  letter-spacing:-.015em;color:var(--chi-forest-9);
  max-width:22ch;
}
.chi-inn__item-title em{
  font-family:var(--title-font);font-weight:var(--title-em-weight);font-style:var(--title-em-style);
  color:var(--chi-forest);
}
.chi-inn__item-text{
  font-family:var(--font-sans);font-weight:300;
  font-size:var(--fs-body-l);line-height:1.72;
  color:var(--chi-ink-s);max-width:var(--measure-lede);
}
.chi-inn__item-media{
  position:relative;overflow:hidden;
  aspect-ratio:16/10;border-radius:24px;
  background:var(--chi-forest);
}
.chi-inn__item-media img{
  position:absolute;inset:-10% 0 auto 0;
  width:100%;height:120%;object-fit:cover;object-position:center;
  will-change:transform;
}

/* support items (inside item 3) */
.chi-inn__support{
  display:flex;flex-direction:column;gap:22px;margin-top:4px;
}
.chi-inn__support li{
  display:grid;grid-template-columns:56px 1fr;gap:18px;
  padding:22px;background:var(--chi-paper);border-radius:20px;
  border:1px solid var(--chi-line-soft);
}
.chi-inn__support-num{
  font-family:var(--font-display);font-style:italic;font-weight:400;
  font-size:34px;line-height:1;color:var(--chi-forest);
  width:44px;height:44px;border-radius:50%;
  border:1px solid var(--chi-forest);
  display:flex;align-items:center;justify-content:center;
  flex:none;
}
.chi-inn__support h5{
  font-family:var(--font-sans);font-weight:700;
  font-size:20px;line-height:1.25;color:var(--chi-forest-9);
  letter-spacing:-.005em;
  margin-bottom:6px;
}
.chi-inn__support p{
  font-family:var(--font-sans);font-weight:300;
  font-size:14.5px;line-height:1.7;color:var(--chi-ink-s);
}

/* ============================================================
   SETTORI
   ============================================================ */
.chi-set{
  background:var(--chi-cream-s);
  padding:clamp(80px,10vw,160px) 0;
}
.chi-set__head{
  max-width:var(--rail-wide);margin:0 auto clamp(40px,5vw,80px);
  text-align:center;
}
.chi-set__head .eyebrow{color:var(--chi-forest);display:block;margin-bottom:14px}
.chi-set__title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(36px,4.4vw,70px);line-height:1.1;
  letter-spacing:-.018em;color:var(--chi-forest-9);
  text-wrap:balance;
}
.chi-set__title em{
  font-family:var(--title-font);font-weight:var(--title-em-weight);font-style:var(--title-em-style);
  color:var(--chi-forest);
}
.chi-set__lede{
  font-family:var(--font-sans);font-weight:var(--lede-weight);
  font-size:var(--lede-size);line-height:var(--lede-lh);color:var(--prose-ink);
  margin:clamp(16px,2vw,24px) auto 0;max-width:var(--measure-lede);
}

.chi-set__grid{
  display:grid;grid-template-columns:1fr;
  gap:clamp(20px,2.5vw,32px);
}
.chi-sec{
  display:grid;grid-template-columns:1fr;
  background:var(--chi-cream);border-radius:32px;overflow:hidden;
  border:1px solid var(--chi-line-soft);
  box-shadow:0 4px 16px rgba(43,61,53,.04);
}
@media (min-width:900px){
  .chi-sec{grid-template-columns:1fr 1.1fr;align-items:stretch}
  .chi-sec--flip{grid-template-columns:1.1fr 1fr}
  .chi-sec--flip .chi-sec__media{order:2}
  .chi-sec--flip .chi-sec__body{order:1}
}
.chi-sec__media{
  position:relative;overflow:hidden;
  aspect-ratio:4/3;background:var(--chi-forest);
}
@media (min-width:900px){.chi-sec__media{aspect-ratio:auto;min-height:420px}}
.chi-sec__media img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  transition:transform 1.2s var(--easing-out);will-change:transform;
}
.chi-sec:hover .chi-sec__media img{transform:scale(1.04)}
.chi-sec__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(20,30,25,0) 55%, rgba(20,30,25,.35) 100%);
  pointer-events:none;
}

.chi-sec__body{
  padding:clamp(28px,3vw,48px);
  display:flex;flex-direction:column;gap:16px;justify-content:center;
  position:relative;
}
.chi-sec__num{
  font-family:var(--font-display);font-style:italic;font-weight:400;
  font-size:clamp(36px,3.4vw,48px);color:var(--chi-sage);
  line-height:1;letter-spacing:-.01em;
}
.chi-sec__title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(26px,2.6vw,40px);line-height:1.18;
  letter-spacing:-.01em;color:var(--chi-forest-9);
}
.chi-sec__text{
  font-family:var(--font-sans);font-weight:var(--body-sm-weight);
  font-size:var(--body-sm-size);line-height:var(--body-sm-lh);color:var(--prose-ink);
  max-width:var(--measure-lede);
}
.chi-sec__list{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;
}
.chi-sec__list li{
  font-family:var(--font-sans);font-size:12.5px;letter-spacing:.02em;
  color:var(--chi-forest-9);font-weight:500;
  padding:8px 14px;border-radius:999px;
  background:var(--chi-sage-3);
}

/* ============================================================
   CERTIFICAZIONI + AWARD
   ============================================================ */
.chi-cert{
  background:var(--chi-cream);
  padding:clamp(80px,10vw,160px) 0 clamp(48px,6vw,88px);
}
.chi-cert__head{
  max-width:var(--rail);margin:0 auto clamp(40px,5vw,80px);
  text-align:center;
}
.chi-cert__head .eyebrow{color:var(--chi-forest);display:inline-block;margin-bottom:14px}
.chi-cert__title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(34px,4vw,62px);line-height:1.12;
  letter-spacing:-.018em;color:var(--chi-forest-9);
}
.chi-cert__title em{
  font-family:var(--title-font);font-weight:var(--title-em-weight);font-style:var(--title-em-style);
  color:var(--chi-forest);
}
.chi-cert__lede{
  font-family:var(--font-sans);font-weight:var(--lede-weight);
  font-size:var(--lede-size);line-height:var(--lede-lh);color:var(--prose-ink);
  margin:clamp(18px,2vw,24px) auto 0;max-width:var(--measure-lede);
}

.chi-cert__grid{
  display:grid;gap:clamp(18px,2vw,26px);
  grid-template-columns:1fr;
}
@media (min-width:700px){.chi-cert__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.chi-cert__grid{grid-template-columns:repeat(4,1fr)}}

.chi-badge{
  position:relative;
  padding:clamp(24px,2.5vw,32px);
  background:var(--chi-cream);border-radius:24px;
  border:1px solid var(--chi-line-soft);
  display:flex;flex-direction:column;gap:14px;
  transition:transform .5s var(--easing-out),background .4s,border-color .4s,color .4s;
  overflow:hidden;isolation:isolate;
}
.chi-badge::before{
  content:"";position:absolute;inset:auto 0 0 0;height:3px;
  background:var(--chi-sage);transform:scaleX(0);transform-origin:left center;
  transition:transform .5s var(--easing-out);
}
.chi-badge:hover{
  transform:translateY(-6px);
  background:var(--chi-forest-9);color:var(--chi-cream);
  border-color:var(--chi-forest-9);
}
.chi-badge:hover::before{transform:scaleX(1)}
.chi-badge__icon{
  width:56px;height:56px;border-radius:16px;
  background:var(--chi-sage-3);color:var(--chi-forest);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  transition:background .4s,color .4s;
}
.chi-badge:hover .chi-badge__icon{background:var(--chi-sage);color:var(--chi-forest-9)}
/* Variante con immagine: logo certificazione caricato dall'admin.
   Il fondo dell'icon resta SEMPRE bianco (anche in hover sul card scuro),
   per dare massimo contrasto al logo della certificazione. */
.chi-badge--has-image .chi-badge__icon,
.chi-badge--has-image:hover .chi-badge__icon{
  background:var(--chi-cream);
  border:1px solid var(--chi-line-soft);
  padding:8px;
}
.chi-badge--has-image:hover .chi-badge__icon{
  border-color:transparent;
}
.chi-badge__icon img{
  max-width:100%;max-height:100%;width:auto;height:auto;
  object-fit:contain;display:block;
}
.chi-badge__line{
  font-family:var(--font-sans);font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--chi-forest);opacity:.85;
  transition:color .4s,opacity .4s;
}
.chi-badge:hover .chi-badge__line{color:var(--chi-sage);opacity:1}
.chi-badge__title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(22px,1.9vw,28px);line-height:1.2;
  letter-spacing:-.01em;color:var(--chi-forest-9);
  transition:color .4s;
}
.chi-badge:hover .chi-badge__title{color:var(--chi-cream)}
.chi-badge__title em{
  font-family:var(--title-font);font-weight:var(--title-em-weight);font-style:var(--title-em-style);
}
.chi-badge__text{
  font-family:var(--font-sans);font-weight:var(--body-sm-weight);
  font-size:var(--body-sm-size);line-height:var(--body-sm-lh);color:var(--prose-ink);
  transition:color .4s;
}
.chi-badge:hover .chi-badge__text{color:rgba(255,253,250,.8)}
.chi-badge__text em{
  font-family:var(--font-display);font-style:italic;font-weight:400;
  color:var(--chi-forest-9);
  transition:color .4s;
}
.chi-badge:hover .chi-badge__text em{color:var(--chi-sage)}

/* Award (AISOM) */
.chi-award{
  position:relative;margin-top:clamp(40px,5vw,72px);
  background:var(--chi-cream-w);
  border-radius:40px;
  padding:clamp(32px,4vw,56px);
  overflow:hidden;isolation:isolate;
  border:1px solid var(--chi-line-soft);
}
.chi-award::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(600px 360px at 92% 8%, rgba(184,146,90,.16), transparent 70%),
    radial-gradient(500px 300px at 8% 92%, rgba(65,89,76,.08), transparent 70%);
}
.chi-award__tag{
  position:relative;z-index:1;display:inline-block;
  font-family:var(--font-sans);font-size:11px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--chi-forest);
  padding:8px 14px;border:1px solid var(--chi-forest);
  border-radius:999px;margin-bottom:clamp(20px,2vw,28px);
}
.chi-award__body{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr;gap:clamp(24px,3vw,40px);
  align-items:center;
}
@media (min-width:900px){
  .chi-award__body{grid-template-columns:auto 1fr}
}
.chi-award__crest{
  color:var(--chi-gold);
  display:flex;align-items:center;justify-content:center;
  transform:rotate(-3deg);
  transition:transform .6s var(--easing-out);
  flex:none;
}
.chi-award:hover .chi-award__crest{transform:rotate(0deg)}
/* Variante con immagine: logo del premio caricato dall'admin.
   Maschera con angoli arrotondati per omogeneità con gli altri card. */
.chi-award--has-image .chi-award__crest{
  width:140px;height:140px;
  border-radius:24px;
  overflow:hidden;
  background:var(--chi-cream);
  border:1px solid var(--chi-line-soft);
  padding:12px;
  box-shadow:0 4px 16px rgba(43,61,53,.06);
}
.chi-award--has-image .chi-award__crest img{
  width:100%;height:100%;
  object-fit:contain;display:block;
}
.chi-award__title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(28px,3vw,44px);line-height:1.14;
  letter-spacing:-.015em;color:var(--chi-forest-9);
  margin-bottom:18px;
}
.chi-award__title em{
  font-family:var(--title-font);font-weight:var(--title-em-weight);font-style:var(--title-em-style);
  color:var(--chi-forest);
}
.chi-award__title strong{font-weight:var(--title-em-weight);color:var(--chi-gold)}
.chi-award__text{
  font-family:var(--font-sans);font-weight:var(--body-weight);
  font-size:var(--body-size);line-height:var(--body-lh);color:var(--prose-ink);
  max-width:var(--measure-lede);
}
.chi-award__text em{
  font-family:var(--font-display);font-style:italic;font-weight:400;
  color:var(--chi-forest-9);
}

/* ============================================================
   CTA
   ============================================================ */
/* CTA finale — sfondo cream chiaro per fare stacco netto col footer scuro
   subito sotto. Testi forest, accenti sage. */
.chi-cta{
  background:var(--chi-cream);color:var(--chi-forest-9);
  padding:clamp(64px,7vw,110px) 0 clamp(80px,9vw,140px);
  position:relative;overflow:hidden;isolation:isolate;
}
.chi-cta::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(700px 420px at 15% 10%, rgba(155,203,156,.18), transparent 70%),
    radial-gradient(520px 320px at 90% 90%, rgba(127,170,128,.10), transparent 70%);
}
.chi-cta::after{
  content:"";position:absolute;inset:0;z-index:0;opacity:.05;pointer-events:none;
  background:
    repeating-linear-gradient(0deg,rgba(43,61,53,.18) 0 1px,transparent 1px 80px),
    repeating-linear-gradient(90deg,rgba(43,61,53,.18) 0 1px,transparent 1px 80px);
}
.chi-cta__inner{position:relative;z-index:1;max-width:var(--rail-wide);text-align:center}
.chi-cta__inner .eyebrow{color:var(--chi-sage-7);display:inline-block;margin-bottom:20px}
.chi-cta__title{
  font-family:var(--title-font);font-weight:var(--title-weight);
  font-size:clamp(36px,4.2vw,70px);line-height:1.1;
  letter-spacing:-.018em;color:var(--chi-forest-9);
  margin:0 auto;
  text-wrap:balance;
}
.chi-cta__title em{
  font-family:var(--title-font);font-weight:var(--title-em-weight);font-style:var(--title-em-style);
  color:var(--chi-sage-7);
}
.chi-cta__body{
  font-family:var(--font-sans);font-weight:var(--body-weight);
  font-size:var(--body-size);line-height:var(--body-lh);
  color:var(--prose-ink);
  max-width:var(--measure-lede);margin:clamp(22px,3vw,34px) auto 0;
}
.chi-cta__actions{
  margin-top:clamp(30px,3.5vw,44px);
  display:flex;flex-wrap:wrap;gap:14px;justify-content:center;
}
.chi-cta__meta{
  margin-top:clamp(40px,4vw,60px);
  display:flex;justify-content:center;align-items:center;gap:18px;
  flex-wrap:wrap;
  font-family:var(--font-sans);font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(43,61,53,.55);
}
.chi-cta__meta-rule{
  width:40px;height:1px;background:rgba(43,61,53,.25);
}

/* Bottoni: in versione chiara servono varianti che contrastino col cream */
.chi-cta .btn--forest{
  background:var(--chi-forest-9);color:var(--chi-cream);
}
.chi-cta .btn--forest:hover{background:var(--chi-forest);color:var(--chi-cream)}
.chi-cta .btn--ghost{
  background:transparent;color:var(--chi-forest-9);
  border:1.5px solid rgba(43,61,53,.4);
}
.chi-cta .btn--ghost:hover{
  background:rgba(43,61,53,.06);border-color:var(--chi-forest-9);color:var(--chi-forest-9);
}

/* ============================================================
   Reveal (IO-driven on product pages pattern)
   ============================================================ */
[data-lp-reveal]{
  opacity:0;transform:translateY(24px);
  transition:opacity 1s var(--easing-out),transform 1s var(--easing-out);
}
[data-lp-reveal].is-in{opacity:1;transform:translateY(0)}
[data-lp-delay="1"]{transition-delay:.08s}
[data-lp-delay="2"]{transition-delay:.16s}
[data-lp-delay="3"]{transition-delay:.24s}
[data-lp-delay="4"]{transition-delay:.32s}
[data-lp-delay="5"]{transition-delay:.4s}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .chi-marquee__track,.chi-phil__seal{animation:none !important}
  [data-lp-reveal]{opacity:1;transform:none}
  .chi-dot{animation:none}
}

/* ============================================================
   Footer inherits main NVI branding — no override
   ============================================================ */

/* ============================================================
   Responsive polish
   ============================================================ */
@media (max-width:900px){
  .chi-hero__title{font-size:clamp(36px,7.6vw,64px)}
  .chi-phil__seal{width:110px;height:110px;right:-10px;top:-18px}
  .chi-card__index{font-size:180px}
  .chi-stat{padding-left:20px}
}
@media (max-width:600px){
  .chi-hero__content{gap:28px}
  .chi-hero__lede{padding:4px 0 4px 16px}
  .chi-marquee__track{font-size:20px;gap:20px}
  .chi-num__band{padding:32px 22px;border-radius:28px}
  .chi-stat__num{font-size:64px}
  .chi-award{border-radius:28px}
  .chi-sec{border-radius:24px}
  .chi-sec__media{aspect-ratio:16/11}
}
