/* ============================================================
   SANITAS ITALIA — sito pubblico
   Implementazione del handoff di design (settembre 2026).
   Ritmo chiaro/scuro: fondo bianco, fasce scure per apertura,
   catalogo, richiamo e footer.
   ============================================================ */

/* Caratteri ospitati sul sito (nessuna richiesta a servizi esterni). Licenza OFL, vedi assets/fonts. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/inter-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/inter-latin-800-normal.woff2') format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/barlow-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/barlow-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/barlow-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/barlow-condensed-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/barlow-condensed-latin-700-normal.woff2') format('woff2')}

:root{
  /* --- Marchio --- */
  --sn-blue:          #004A80;
  --sn-orange:        #F7931D;
  --sn-orange-ink:    #A85A00;   /* arancio leggibile su fondo chiaro */
  --sn-orange-hover:  #E07F09;
  --sn-orange-active: #C86F06;

  /* --- Fondi scuri --- */
  --sn-bg:            #05101F;
  --sn-surface:       #0A1A2F;
  --sn-surface-high:  #102844;
  --sn-border:        rgba(169,188,210,.16);
  --sn-border-strong: rgba(169,188,210,.30);
  --sn-ink:           #F3F6FA;
  --sn-ink-muted:     #A9BCD2;

  /* --- Fondi chiari --- */
  --sn-light-bg:      #EEF2F7;
  --sn-light-ink:     #0A1A2F;
  --sn-light-muted:   #41546C;
  --sn-light-note:    #5C6E85;
  --sn-light-border:  rgba(10,26,47,.12);
  --sn-white:         #FFFFFF;

  --sn-error:         #FF6B5A;

  /* --- Spazi --- */
  --sn-1:4px; --sn-2:8px; --sn-3:12px; --sn-4:16px;
  --sn-6:24px; --sn-8:32px; --sn-12:48px; --sn-16:64px; --sn-24:96px;

  /* --- Raggi --- */
  --sn-radius-sm: 4px;
  --sn-radius-md: 10px;

  --font-display: 'Inter', system-ui, -apple-system, sans-serif;
  --font-body:    'Inter', system-ui, -apple-system, sans-serif;
  /* Solo le schede prodotto: richiama il condensato stampato sulle scatole */
  --font-scheda:  'Barlow Condensed', 'Barlow', system-ui, sans-serif;
  --font-scheda-testo: 'Barlow', system-ui, sans-serif;

  --sezione-y: clamp(64px, 7vw, 120px);
}

*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

body{
  background:var(--sn-white);
  color:var(--sn-light-ink);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit}
::selection{background:var(--sn-orange);color:var(--sn-bg)}

h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.08;letter-spacing:-.025em}
h3,h4{font-weight:600;letter-spacing:-.015em}
h1{font-size:clamp(40px,5.2vw,80px)}
h2{font-size:clamp(32px,3.4vw,50px)}
h3{font-size:clamp(21px,1.6vw,24px);line-height:1.2}
h4{font-size:19px;line-height:1.25}

/* Focus sempre visibile: blu su chiaro, arancio su scuro. */
a:focus-visible,button:focus-visible,input:focus-visible,
textarea:focus-visible,select:focus-visible,summary:focus-visible{
  outline:2px solid var(--sn-blue);
  outline-offset:2px;
  border-radius:var(--sn-radius-sm);
}
.fascia-scura a:focus-visible,.fascia-scura button:focus-visible,
.fascia-scura input:focus-visible,.fascia-scura textarea:focus-visible{
  outline-color:var(--sn-orange);
}

/* ---------------------------------------------------- Contenitore */
.contenitore{
  width:100%;max-width:1520px;margin-inline:auto;
  padding-inline:16px;position:relative;
}
@media (min-width:768px){.contenitore{padding-inline:40px}}
@media (min-width:1200px){.contenitore{padding-inline:80px}}

.fascia{padding-block:var(--sezione-y)}
.fascia-scura{background:var(--sn-bg);color:var(--sn-ink);position:relative;overflow:hidden}
.fascia-chiara{background:var(--sn-light-bg);color:var(--sn-light-ink)}
.fascia-bianca{background:var(--sn-white);color:var(--sn-light-ink)}
.fascia-scura h1,.fascia-scura h2,.fascia-scura h3{color:var(--sn-ink)}

.salta-al-contenuto{
  position:absolute;left:-9999px;top:0;z-index:300;
  background:var(--sn-orange);color:var(--sn-bg);
  padding:12px 20px;font-weight:700;border-radius:var(--sn-radius-sm);
}
.salta-al-contenuto:focus{left:8px;top:8px}

/* ------------------------------------------------- Etichette e testi */
.etichetta{
  display:inline-block;
  font-family:var(--font-display);font-weight:700;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--sn-orange-ink);margin-bottom:var(--sn-4);
}
.fascia-scura .etichetta{color:var(--sn-orange)}
.lead{font-size:19px;line-height:1.65;color:var(--sn-light-muted);max-width:68ch}
.fascia-scura .lead{color:var(--sn-ink-muted)}
.nota-tecnica{font-family:var(--font-body);font-size:13px;letter-spacing:.04em;color:var(--sn-light-note)}
.fascia-scura .nota-tecnica{color:var(--sn-ink-muted)}

/* ------------------------------------------------------- Bottoni */
.bottone{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:0 22px;
  font-family:var(--font-body);font-weight:600;font-size:16px;
  text-decoration:none;cursor:pointer;
  border:1px solid transparent;border-radius:var(--sn-radius-sm);
  transition:background .16s ease,border-color .16s ease,color .16s ease;
  line-height:1.2;
}
.bottone svg{width:18px;height:18px;flex:none}
.bottone-primario{background:var(--sn-orange);color:var(--sn-bg);font-weight:700}
.bottone-primario:hover{background:var(--sn-orange-hover)}
.bottone-primario:active{background:var(--sn-orange-active);color:var(--sn-ink)}
.bottone-contorno{border-color:var(--sn-light-border);color:var(--sn-light-ink);background:transparent}
.bottone-contorno:hover{border-color:var(--sn-orange);background:rgba(247,147,29,.08)}
.bottone-contorno:active{background:rgba(247,147,29,.14)}
.fascia-scura .bottone-contorno{border-color:var(--sn-border-strong);color:var(--sn-ink)}
.fascia-scura .bottone-contorno:hover{border-color:var(--sn-orange);background:rgba(247,147,29,.10)}
.bottone[disabled],.bottone[aria-disabled="true"]{
  background:#E3E9F0;color:#98A6B8;border-color:transparent;cursor:not-allowed;
}
.link-testo{
  display:inline-flex;align-items:center;gap:6px;
  font-weight:600;font-size:15px;text-decoration:none;color:var(--sn-orange-ink);
}
.fascia-scura .link-testo{color:var(--sn-orange)}
.link-testo svg{width:16px;height:16px;transition:transform .16s ease}
.link-testo:hover svg{transform:translateX(3px)}

/* ------------------------------------------------- Barra di servizio */
.barra-servizio{background:var(--sn-bg);color:var(--sn-ink-muted);font-size:13px}
.barra-servizio .contenitore{
  display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;
}
.barra-servizio-info{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.barra-servizio a{text-decoration:none;color:var(--sn-ink-muted)}
.barra-servizio a:hover{color:var(--sn-orange)}
.barra-servizio svg{width:14px;height:14px;color:var(--sn-orange);vertical-align:-2px;margin-right:6px}
@media (max-width:640px){.barra-servizio-info span:not(:first-child){display:none}}

.lingue{display:flex;gap:2px;align-items:center}
.lingue a{
  padding:4px 8px;border-radius:var(--sn-radius-sm);
  font-family:var(--font-display);font-weight:700;font-size:12px;
  letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
  color:var(--sn-ink-muted);
}
.lingue a[aria-current="true"]{background:var(--sn-blue);color:var(--sn-ink)}

/* ------------------------------------------------------- Testata */
.testata{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--sn-light-border);
  transition:border-color .2s ease;
}
.testata .contenitore{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  height:96px;transition:height .2s ease;
}
.testata.compatta{border-bottom-color:rgba(10,26,47,.20)}
.testata.compatta .contenitore{height:68px}

.marchio{display:flex;align-items:center;gap:16px;text-decoration:none;flex:none}
.marchio img{width:196px;height:auto;transition:width .2s ease}
.testata.compatta .marchio img{width:148px}
.marchio-payoff{
  padding-left:16px;border-left:1px solid var(--sn-light-border);
  font-family:var(--font-display);font-weight:700;font-size:10px;
  letter-spacing:.11em;text-transform:uppercase;color:var(--sn-light-muted);
  max-width:15ch;line-height:1.35;
}
.testata.compatta .marchio-payoff{display:none}
@media (max-width:1100px){.marchio-payoff{display:none}}
@media (max-width:560px){.marchio img{width:150px}}

.navigazione{display:flex;align-items:center;gap:4px}
.navigazione a{
  display:inline-flex;align-items:center;min-height:44px;padding:0 16px;
  border-radius:var(--sn-radius-sm);text-decoration:none;
  font-size:16px;font-weight:600;color:#26384F;
  transition:background .16s ease,color .16s ease;
}
.navigazione a:hover{background:var(--sn-light-bg);color:var(--sn-blue)}
.navigazione a[aria-current="page"]{background:var(--sn-light-bg);color:var(--sn-blue)}
.navigazione .bottone{margin-left:12px}
.navigazione .bottone:hover{background:var(--sn-orange-hover)}

.apri-menu{
  display:none;width:44px;height:44px;align-items:center;justify-content:center;
  background:none;border:1px solid var(--sn-light-border);border-radius:var(--sn-radius-sm);
  color:var(--sn-light-ink);cursor:pointer;
}
.apri-menu svg{width:22px;height:22px}
@media (max-width:940px){
  /* Il filtro renderebbe la testata il riferimento del menu fisso,
     che resterebbe alto quanto lei invece che quanto lo schermo. */
  .testata{backdrop-filter:none;background:var(--sn-white)}
  .apri-menu{display:inline-flex}
  .navigazione{
    position:fixed;inset:0 0 0 auto;width:min(360px,88vw);z-index:120;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--sn-surface);border-left:1px solid var(--sn-border);
    padding:0 20px 24px;overflow-y:auto;
    transform:translateX(100%);visibility:hidden;
    transition:transform .24s ease-out,visibility 0s linear .24s;
  }
  .navigazione[data-aperto="true"]{transform:translateX(0);visibility:visible;transition:transform .24s ease-out}
  .navigazione a{
    min-height:56px;padding:0 4px;border-radius:0;font-size:19px;
    font-family:var(--font-display);font-weight:700;color:var(--sn-ink);
    border-bottom:1px solid var(--sn-border);
  }
  .navigazione a:hover,.navigazione a[aria-current="page"]{background:transparent;color:var(--sn-orange)}
  .menu-testata{
    display:flex;align-items:center;justify-content:space-between;
    height:76px;margin-bottom:8px;
  }
  .menu-testata img{width:150px}
  .navigazione .bottone{margin:20px 0 0;width:100%}
  .menu-lingue{margin-top:20px;display:flex;gap:8px;align-items:center}
  .menu-lingue a{
    min-height:40px;padding:0 14px;border:1px solid var(--sn-border);
    border-radius:var(--sn-radius-sm);font-size:13px;letter-spacing:.06em;
    font-family:var(--font-display);color:var(--sn-ink-muted);
  }
  .menu-lingue a[aria-current="true"]{background:var(--sn-blue);color:var(--sn-ink);border-color:var(--sn-blue)}
}
@media (min-width:941px){.menu-testata,.menu-lingue{display:none}}
.chiudi-menu{
  width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;
  background:none;border:1px solid var(--sn-border);border-radius:var(--sn-radius-sm);
  color:var(--sn-ink);cursor:pointer;
}
.chiudi-menu svg{width:20px;height:20px}
.velo{
  position:fixed;inset:0;z-index:110;background:rgba(5,16,31,.6);
  opacity:0;visibility:hidden;transition:opacity .2s ease;
}
.velo[data-attivo="true"]{opacity:1;visibility:visible}

/* --------------------------------------------------------- Apertura */
.apertura{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 520px at 78% 6%, rgba(0,74,128,.55) 0%, transparent 62%),
    var(--sn-bg);
  color:var(--sn-ink);
  padding-block:clamp(64px,8vw,128px) clamp(56px,7vw,112px);
}
.filigrana{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-family:var(--font-display);font-weight:800;line-height:.8;
  font-size:clamp(220px,26vw,500px);
  color:transparent;-webkit-text-stroke:1px rgba(169,188,210,.13);
  user-select:none;pointer-events:none;white-space:nowrap;
}
.apertura .contenitore{position:relative;z-index:2}
.apertura-testo{max-width:820px}
.apertura-kicker{
  display:inline-block;padding:8px 14px;margin-bottom:24px;
  border:1px solid rgba(247,147,29,.55);border-radius:var(--sn-radius-sm);
  font-family:var(--font-display);font-weight:700;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--sn-orange);
}
.apertura h1{margin-bottom:24px}
.apertura h1 .accento{color:var(--sn-orange)}
.apertura p{font-size:19px;line-height:1.65;color:var(--sn-ink-muted);max-width:660px}
.azioni{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}

/* ----------------------------- Benefici (impianto precedente) ----- */
.benefici{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
@media (max-width:1100px){.benefici{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.benefici{grid-template-columns:1fr}}
.beneficio-icona{
  width:72px;height:72px;border-radius:50%;
  display:grid;place-items:center;margin-bottom:20px;
  background:var(--sn-white);border:1px solid rgba(247,147,29,.55);
  color:var(--sn-orange-ink);
}
.beneficio-icona svg{width:28px;height:28px}
.beneficio h3{font-size:20px;margin-bottom:8px}
.beneficio p{font-size:15px;color:var(--sn-light-muted)}

/* -------------------------------------------------- Sezione azienda */
/* Nastro di parole che scivola da sinistra a destra con lo scroll */
.fascia-azienda{overflow:clip}
.fascia-azienda .due-colonne{align-items:start}
@media (min-width:1001px){.fascia-azienda .slot-media{position:sticky;top:104px}}
.fascia-azienda .testo-ricco h3{margin-top:36px;font-size:clamp(22px,2vw,28px);letter-spacing:-.02em}
.fascia-azienda .testo-ricco p{max-width:60ch}
.nastro-finestra{overflow:hidden;margin-bottom:clamp(32px,5vw,72px);pointer-events:none;user-select:none}
.nastro{display:flex;width:max-content;will-change:transform}
.nastro span{display:flex;flex:none;align-items:center}
.nastro b{
  font-family:var(--font-display);font-weight:700;letter-spacing:-.04em;line-height:1;
  font-size:clamp(64px,11vw,176px);white-space:nowrap;
  color:rgba(10,26,47,.09);
  display:flex;align-items:center;
}
.nastro b::after{
  content:"+";color:var(--sn-orange);
  font-weight:400;font-size:.5em;margin-inline:.55em;
}
.nastro b:nth-child(2){color:var(--sn-light-ink)}

/* L'immagine si apre da sinistra e scorre piano dentro la sua cornice */
.slot-parallasse{overflow:hidden;border-radius:var(--sn-radius-md)}
.slot-parallasse img{will-change:transform;transform:scale(1.14)}

.due-colonne{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:72px;align-items:center}
@media (max-width:1000px){.due-colonne{grid-template-columns:1fr;gap:40px}}
.slot-media{
  position:relative;border-radius:var(--sn-radius-md);overflow:visible;
}
.slot-media img,.slot-vuoto{
  width:100%;border-radius:var(--sn-radius-md);
  border:1px solid var(--sn-light-border);object-fit:cover;display:block;
}
.slot-vuoto{
  display:grid;place-items:center;text-align:center;padding:24px;
  background:var(--sn-light-bg);color:var(--sn-light-note);
  border-style:dashed;
}
.slot-4-5{aspect-ratio:4/5}
.slot-3-2{aspect-ratio:3/2}
.slot-16-9{aspect-ratio:16/9}
.punti{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin-top:32px}
@media (max-width:620px){.punti{grid-template-columns:1fr}}
.punti li{
  display:flex;gap:10px;align-items:flex-start;
  padding:14px 0;border-top:1px solid var(--sn-light-border);font-size:15px;
}
.punti svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--sn-orange-ink)}
.fascia-scura .punti li{border-top-color:var(--sn-border)}
.fascia-scura .punti svg{color:var(--sn-orange)}

/* --------------------------------------------------- Certificazioni */
.certificazioni{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px}
@media (max-width:820px){.certificazioni{grid-template-columns:1fr}}
.certificato{
  display:flex;gap:20px;align-items:flex-start;
  background:var(--sn-white);border:1px solid var(--sn-light-border);
  border-radius:var(--sn-radius-md);padding:24px;
}
.certificato-sigillo{
  width:86px;height:86px;flex:none;border-radius:var(--sn-radius-sm);
  border:1px solid var(--sn-blue);display:grid;place-items:center;
  color:var(--sn-blue);text-align:center;gap:4px;
}
.certificato-sigillo svg{width:26px;height:26px;margin-inline:auto}
.certificato-sigillo b{font-family:var(--font-display);font-size:11px;letter-spacing:.1em;display:block}
.certificato-corpo h3{font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--sn-blue)}
.certificato-corpo p{font-size:15px;color:var(--sn-light-muted);margin-top:4px}
.certificato-meta{
  margin-top:12px;padding-top:12px;border-top:1px solid var(--sn-light-border);
  font-family:var(--font-body);font-size:13px;color:var(--sn-light-note);
}
.certificazioni-nota{margin-top:24px;font-size:15px;color:var(--sn-light-muted);max-width:80ch}
.certificazioni-nota strong{color:var(--sn-light-ink);font-weight:600}

/* ------------------------------------------------------ Briciole */
.briciole{
  background:var(--sn-white);border-bottom:1px solid var(--sn-light-border);
  font-family:var(--font-body);font-size:13px;color:var(--sn-light-note);
}
.briciole ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-block:16px}
.briciole a{text-decoration:none;color:var(--sn-light-note)}
.briciole a:hover{color:var(--sn-blue)}
.briciole li+li::before{content:"›";margin-right:6px}

/* -------------------------------------------------------- Filtri */
.filtri{
  display:flex;flex-wrap:nowrap;gap:8px;margin-top:clamp(28px,4vw,48px);
  overflow-x:auto;scrollbar-width:none;padding-bottom:4px;
  margin-inline:-16px;padding-inline:16px;scroll-snap-type:x proximity;
}
.filtri::-webkit-scrollbar{display:none}
@media (min-width:768px){.filtri{flex-wrap:wrap;overflow:visible;margin-inline:0;padding-inline:0}}
.filtri a{
  flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 20px;
  border:1px solid var(--sn-light-border);border-radius:999px;scroll-snap-align:start;
  text-decoration:none;font-size:15px;font-weight:600;color:var(--sn-light-muted);
  transition:border-color .16s ease,background .16s ease,color .16s ease;
}
.filtri a:hover{border-color:var(--sn-light-ink);color:var(--sn-light-ink)}
.filtri a[aria-current="true"]{background:var(--sn-light-ink);border-color:var(--sn-light-ink);color:var(--sn-white)}

/* ---------------------------------------------------- Stato vuoto */
.stato-vuoto{
  max-width:620px;margin:0 auto;text-align:center;padding:72px 24px;
  border:1px dashed var(--sn-light-border);border-radius:var(--sn-radius-md);
}
.stato-vuoto-icona{
  width:64px;height:64px;border-radius:50%;margin:0 auto 24px;
  display:grid;place-items:center;border:1px solid rgba(247,147,29,.5);color:var(--sn-orange-ink);
}
.stato-vuoto h2{font-size:26px;margin-bottom:12px}
.stato-vuoto p{color:var(--sn-light-muted);margin-bottom:24px}

.avvertenza{
  border-left:3px solid var(--sn-blue);background:var(--sn-light-bg);color:var(--sn-light-muted);
  padding:16px 20px;font-size:15px;line-height:1.55;
}

/* confezione senza foto: la sagoma della scatola con il nome */
.sagoma-confezione{
  display:grid;place-items:center;width:62%;aspect-ratio:16/10;padding:0 8%;
  border:1px solid rgba(10,26,47,.25);border-radius:var(--sn-radius-sm);
  font-family:var(--font-scheda);font-weight:700;text-transform:uppercase;
  font-size:clamp(22px,2vw,30px);letter-spacing:.04em;line-height:1;text-align:center;
  color:rgba(10,26,47,.45);
}

/* ---------------------------------------------------- Cronologia */
.cronologia{list-style:none;margin-top:8px}
.cronologia li{padding:16px 0;border-top:1px solid var(--sn-light-border)}
.cronologia b{
  display:block;font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--sn-blue);
}
.cronologia span{font-size:15px;color:var(--sn-light-muted)}

/* --------------------------------------------------------- News */
.griglia-news{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:40px}
.news-card{
  display:flex;flex-direction:column;text-decoration:none;
  background:var(--sn-white);border:1px solid var(--sn-light-border);
  border-radius:var(--sn-radius-md);overflow:hidden;
  transition:transform .18s ease,border-color .18s ease;
}
.news-card:hover{transform:translateY(-3px);border-color:rgba(247,147,29,.6)}
.news-card figure{aspect-ratio:16/9;background:var(--sn-light-bg);overflow:hidden}
.news-card figure img{width:100%;height:100%;object-fit:cover}
.news-corpo{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.news-meta{font-family:var(--font-body);font-size:13px;color:var(--sn-light-note)}
.news-meta b{color:var(--sn-blue);font-weight:400}
.news-card h3{font-size:21px}
.news-card p{font-size:15px;color:var(--sn-light-muted);flex:1}

.articolo{max-width:720px;margin-inline:auto}
.articolo h1{font-size:clamp(32px,4vw,48px);margin:12px 0 20px}
.articolo .lead{font-size:21px;color:var(--sn-light-muted)}
.articolo-riga{border-top:1px solid var(--sn-light-border);margin:32px 0}
.articolo figure{margin:32px 0}
.articolo figure img{width:100%;border-radius:var(--sn-radius-sm)}
.articolo figcaption{font-size:14px;color:var(--sn-light-note);margin-top:10px}

/* -------------------------------------------------- Testo formattato */
.testo-ricco{font-size:17px;color:var(--sn-light-muted)}
.testo-ricco > *+*{margin-top:20px}
.testo-ricco h2{font-size:clamp(26px,2.4vw,34px);color:var(--sn-light-ink);margin-top:48px}
.testo-ricco h3{font-size:22px;color:var(--sn-light-ink);margin-top:32px}
.testo-ricco ul,.testo-ricco ol{padding-left:22px}
.testo-ricco li+li{margin-top:8px}
.testo-ricco a{color:var(--sn-blue);text-decoration:underline;text-underline-offset:3px}
.testo-ricco strong{color:var(--sn-light-ink)}
.testo-ricco blockquote{border-left:3px solid var(--sn-orange);padding-left:20px;color:var(--sn-light-ink)}
.testo-ricco img{border-radius:var(--sn-radius-sm);border:1px solid var(--sn-light-border)}
.testo-ricco table{width:100%;border-collapse:collapse;font-size:15px}
.testo-ricco th,.testo-ricco td{border:1px solid var(--sn-light-border);padding:10px 14px;text-align:left}
.testo-ricco th{background:var(--sn-light-bg);color:var(--sn-light-ink)}
.articolo .testo-ricco{font-size:18px;line-height:1.75}
.articolo .testo-ricco > *+*{margin-top:24px}

/* ------------------------------------------------------ Contatti */
.griglia-contatti{display:grid;grid-template-columns:repeat(2,minmax(340px,1fr));gap:64px;align-items:start}
@media (max-width:1000px){.griglia-contatti{grid-template-columns:1fr;gap:40px}}
@media (max-width:420px){.griglia-contatti{grid-template-columns:minmax(0,1fr)}}
.recapiti{list-style:none;margin-top:24px}
.recapiti li{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--sn-light-border)}
.recapito-icona{
  width:44px;height:44px;flex:none;border-radius:var(--sn-radius-sm);
  display:grid;place-items:center;border:1px solid var(--sn-light-border);color:var(--sn-blue);
}
.recapito-icona svg{width:20px;height:20px}
.recapiti dt{font-family:var(--font-display);font-weight:700;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--sn-light-note)}
.recapiti dd{font-size:17px;margin-top:4px}
.recapiti a{text-decoration:none;color:inherit}
.recapiti a:hover{color:var(--sn-blue)}
.nota-titolarita{margin-top:24px;font-size:15px;color:var(--sn-light-note)}

.modulo{
  background:var(--sn-surface);border:1px solid var(--sn-border);
  border-radius:var(--sn-radius-md);padding:clamp(24px,3vw,36px);color:var(--sn-ink);
}
.modulo h2{font-size:24px;color:var(--sn-ink)}
.modulo-obbligatori{font-family:var(--font-body);font-size:13px;color:var(--sn-ink-muted);margin:8px 0 24px}
.campi{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px}
@media (max-width:560px){.campi{grid-template-columns:1fr}}
.campo{display:flex;flex-direction:column;gap:8px}
.campo-largo{grid-column:1/-1}
.campo label{font-size:14px;color:var(--sn-ink-muted)}
.campo input,.campo textarea{
  width:100%;min-height:48px;padding:12px 16px;
  font-family:inherit;font-size:15.5px;color:var(--sn-ink);
  background:var(--sn-surface-high);border:1px solid rgba(169,188,210,.24);
  border-radius:var(--sn-radius-sm);transition:border-color .16s ease;
}
.campo textarea{min-height:132px;resize:vertical;line-height:1.6}
.campo input:hover,.campo textarea:hover{border-color:var(--sn-border-strong)}
.campo input::placeholder,.campo textarea::placeholder{color:var(--sn-ink-muted);opacity:.7}
.campo[data-errore="true"] input,.campo[data-errore="true"] textarea{border-color:var(--sn-error)}
.errore-campo{display:flex;gap:6px;align-items:center;font-size:14px;color:var(--sn-error)}
.errore-campo svg{width:15px;height:15px;flex:none}
.trappola{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.consenso{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--sn-ink-muted)}
.consenso input{width:20px;height:20px;margin-top:2px;accent-color:var(--sn-orange);flex:none;min-height:0}
.consenso a{color:var(--sn-orange)}
.modulo .bottone{margin-top:24px}

.conferma{text-align:center;padding:32px 8px}
.conferma-icona{
  width:64px;height:64px;border-radius:50%;margin:0 auto 20px;
  display:grid;place-items:center;border:1px solid var(--sn-orange);color:var(--sn-orange);
}
.conferma-icona svg{width:28px;height:28px}
.conferma h2{font-size:26px;margin-bottom:12px}
.conferma p{color:var(--sn-ink-muted);margin-bottom:24px}

/* ------------------------------------------------------- Richiamo */
.richiamo{
  position:relative;overflow:hidden;color:var(--sn-ink);
  background:linear-gradient(120deg,#004A80 0%,#05101F 78%);
}
.richiamo .contenitore{
  position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;
  gap:32px;flex-wrap:wrap;padding-block:clamp(48px,5vw,72px);
}
.richiamo h2{font-size:clamp(28px,3vw,40px)}
.richiamo p{color:var(--sn-ink-muted);margin-top:8px}

/* --------------------------------------------------------- Footer */
.pie{background:#0F2744;color:var(--sn-ink-muted);font-size:15px;overflow:hidden}
/* Scritta a tutta larghezza, tagliata in basso: sale mentre il footer si scopre */
.pie-marchio{margin-top:clamp(8px,2vw,24px);line-height:.72;overflow:hidden;user-select:none}
.pie-marchio span{
  display:block;white-space:nowrap;text-align:center;
  font-family:var(--font-display);font-weight:800;letter-spacing:-.055em;
  font-size:min(24.6vw,420px,36vh);line-height:.8;color:var(--sn-blue);
  margin-bottom:-.2em;will-change:transform;
}
/* Footer a comparsa: sta fermo sotto la pagina, che scorre via e lo scopre */
html.rivela main{position:relative;z-index:1;background:var(--sn-white);margin-bottom:var(--pie-h);box-shadow:0 30px 70px rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.08)}
html.rivela .pie{position:fixed;left:0;right:0;bottom:0;z-index:0}
.pie-griglia{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:48px;
  padding-block:clamp(32px,5vh,64px) clamp(24px,3.5vh,40px);
}
@media (max-width:1000px){.pie-griglia{grid-template-columns:1fr 1fr;gap:40px}}
@media (max-width:560px){.pie-griglia{grid-template-columns:1fr}}
.pie img{width:196px}
.pie-blurb{margin-top:20px;max-width:34ch;color:var(--sn-ink-muted)}
.pie-titolare{margin-top:20px;font-size:14px;color:var(--sn-ink-muted)}
.pie-titolare b{display:block;color:var(--sn-ink);font-weight:600}
.pie h4{
  font-family:var(--font-display);font-weight:700;font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--sn-orange);margin-bottom:20px;
}
.pie ul{list-style:none;display:grid;gap:12px}
.pie a{color:var(--sn-ink-muted);text-decoration:none}
.pie a:hover{color:var(--sn-ink)}
.pie-contatti li{display:flex;gap:12px;align-items:flex-start}
.pie-contatti svg{width:16px;height:16px;flex:none;margin-top:4px;color:var(--sn-orange)}
.pie-certificazioni{
  border-top:1px solid var(--sn-border);padding-block:clamp(14px,2.4vh,24px) 0;
  font-size:14px;line-height:1.6;color:var(--sn-ink-muted);
}
.pie-certificazioni + .pie-basso{margin-top:clamp(14px,2.4vh,24px)}
.pie-basso{
  border-top:1px solid var(--sn-border);padding-block:clamp(14px,2.4vh,24px);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-family:var(--font-body);font-size:13px;color:var(--sn-ink-muted);
}
.pie-basso div:last-child{text-align:right}
@media (max-width:640px){.pie-basso div:last-child{text-align:left}}

/* ---------------------------------------------------------- 404 */
.pagina-404{
  position:relative;overflow:hidden;background:var(--sn-bg);color:var(--sn-ink);
  min-height:62vh;display:grid;align-items:center;padding-block:var(--sezione-y);
}
.pagina-404 .contenitore{position:relative;z-index:2}
.pagina-404 h1{font-size:clamp(36px,4.6vw,68px);margin:16px 0}
.pagina-404 p{max-width:46ch;color:var(--sn-ink-muted);margin-bottom:32px}

/* ---------------------------------------------- Comparsa progressiva */
/* Gli elementi con data-anim e .sale partono nascosti solo se lo script di
   animazione è in grado di mostrarli; altrimenti .anim-off li lascia visibili. */
.js:not(.anim-off) [data-anim],.js:not(.anim-off) .sale{opacity:0}
@media print{.js [data-anim],.js .sale{opacity:1 !important;transform:none !important}}

/* ---------------------------------------------------- Banner cookie */
/* Avviso informativo: il sito usa solo cookie tecnici, non c'è nulla da accettare o rifiutare. */
.cookie{
  position:fixed;left:12px;right:12px;bottom:12px;z-index:200;
  display:grid;gap:14px;
  background:var(--sn-surface);color:var(--sn-ink-muted);
  border:1px solid var(--sn-border-strong);border-radius:var(--sn-radius-md);
  padding:18px 20px;box-shadow:0 18px 50px rgba(5,16,31,.45);
  animation:cookie-su .6s cubic-bezier(.2,.7,.3,1) .4s both;
}
.cookie p{font-size:14.5px;line-height:1.55;margin:0}
.cookie a{color:var(--sn-orange);font-weight:600;white-space:nowrap}
.cookie .bottone{min-height:44px;width:100%}
.cookie[hidden]{display:none}
@media (min-width:640px){
  .cookie{left:24px;right:auto;bottom:24px;width:min(460px,calc(100% - 48px));padding:20px 24px}
  .cookie .bottone{width:auto;justify-self:start;padding-inline:26px}
}
@keyframes cookie-su{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.cookie{animation:none}}

/* ============================================================
   IMPIANTO EDITORIALE
   Apertura a tutta pagina, capitoli numerati, schede prodotto
   che si aprono al passaggio del mouse, comparse in sequenza.
   ============================================================ */

/* I titoli tornano leggeri e larghi: meno "istituzionale", più rivista. */
.editoriale h1,.editoriale h2{font-weight:600;letter-spacing:-.035em;line-height:1.04}
.editoriale h1{font-size:clamp(44px,5.6vw,92px)}
.editoriale h2{font-size:clamp(34px,4vw,64px)}

/* --------------------------------------------------- Apertura piena */
.copertina{
  position:relative;min-height:min(92vh,900px);
  display:grid;align-items:center;
  background:var(--sn-bg);color:var(--sn-ink);overflow:hidden;
  padding-block:clamp(80px,10vw,140px);
}
.copertina-media{position:absolute;inset:0;z-index:0}
/* --copertina-fuoco sposta l'inquadratura senza ritagliare il file:
   primo valore orizzontale, secondo verticale. */
.copertina-media img{
  width:100%;height:100%;object-fit:cover;
  object-position:var(--copertina-fuoco, 50% 38%);
}
.copertina-media::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(5,16,31,.72) 0%, rgba(5,16,31,.58) 45%, rgba(5,16,31,.88) 100%),
    radial-gradient(70% 60% at 50% 35%, rgba(0,74,128,.45), transparent 70%);
}
.copertina-vuota{
  position:absolute;inset:0;
  background:
    radial-gradient(90% 70% at 50% 30%, rgba(0,74,128,.55) 0%, transparent 65%),
    radial-gradient(60% 50% at 85% 85%, rgba(247,147,29,.12) 0%, transparent 60%),
    var(--sn-bg);
}
.copertina .contenitore{position:relative;z-index:2;text-align:center}
.copertina-testo{max-width:900px;margin-inline:auto}
.copertina h1{margin-bottom:28px}
.copertina p{
  font-size:clamp(17px,1.3vw,20px);line-height:1.7;color:var(--sn-ink-muted);
  max-width:620px;margin-inline:auto;
}
.copertina .azioni{justify-content:center;margin-top:40px}

/* Occhiello centrato con i filetti ai lati */
.occhiello-filetto{
  display:flex;align-items:center;justify-content:center;gap:20px;
  margin-bottom:28px;
  font-family:var(--font-display);font-weight:600;font-size:12px;
  letter-spacing:.24em;text-transform:uppercase;color:var(--sn-ink-muted);
}
.occhiello-filetto::before,.occhiello-filetto::after{
  content:"";height:1px;width:clamp(32px,6vw,90px);background:var(--sn-border-strong);
}
/* Su due righe i filetti resterebbero appesi ai lati della prima */
@media (max-width:560px){.occhiello-filetto::before,.occhiello-filetto::after{display:none}}
.fascia-bianca .occhiello-filetto,.fascia-chiara .occhiello-filetto{color:var(--sn-light-note)}
.fascia-bianca .occhiello-filetto::before,.fascia-bianca .occhiello-filetto::after,
.fascia-chiara .occhiello-filetto::before,.fascia-chiara .occhiello-filetto::after{background:var(--sn-light-border)}

/* Bottone sottile, da copertina */
.bottone-sottile{
  border:1px solid rgba(243,246,250,.45);color:var(--sn-ink);background:transparent;
  min-height:56px;padding:0 32px;font-weight:600;letter-spacing:.14em;
  font-size:12px;text-transform:uppercase;font-family:var(--font-display);
}
.bottone-sottile:hover{border-color:var(--sn-orange);background:rgba(247,147,29,.12)}

/* ------------------------------------------------ Barra di ancoraggio */
.ancoraggi{background:var(--sn-surface);border-bottom:1px solid var(--sn-border)}
.ancoraggi .contenitore{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  flex-wrap:wrap;padding-block:18px;
}
.ancoraggi-lista{display:flex;gap:clamp(16px,4vw,64px);flex-wrap:wrap;align-items:center}
.ancoraggi-lista a{
  font-family:var(--font-display);font-weight:600;font-size:12px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--sn-ink-muted);
  text-decoration:none;padding:8px 0;position:relative;
}
.ancoraggi-lista a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--sn-orange);transition:right .28s ease;
}
.ancoraggi-lista a:hover{color:var(--sn-ink)}
.ancoraggi-lista a:hover::after{right:0}

/* ---------------------------------------------------- Testate di sezione */
.capitolo-testata{margin-bottom:clamp(40px,5vw,72px);max-width:70ch}
.capitolo-testata h2{margin-bottom:16px}
.capitolo-testata .lead{max-width:60ch}

/* --------------------------------------------------- Numeri, editoriale */
.numeri-editoriali{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:clamp(24px,3vw,48px);margin-top:clamp(40px,5vw,72px);
}
.numero-editoriale{border-top:1px solid var(--sn-light-border);padding-top:20px}
.fascia-scura .numero-editoriale{border-top-color:var(--sn-border)}
.numero-editoriale dt{
  font-family:var(--font-display);font-weight:400;letter-spacing:-.03em;
  font-size:clamp(40px,4vw,68px);line-height:1;color:var(--sn-light-ink);
}
.fascia-scura .numero-editoriale dt{color:var(--sn-ink)}
.numero-editoriale dd{
  margin-top:10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--sn-light-note);font-family:var(--font-display);font-weight:600;
}
.fascia-scura .numero-editoriale dd{color:var(--sn-ink-muted)}

/* ============================================================
   I KIT
   Elenco numerato a sinistra, scatola al centro di un pannello dai
   toni tenui a destra. Con JavaScript e schermo largo la sezione si
   ferma e lo scroll della pagina passa da un kit al successivo;
   altrimenti resta una lista di pannelli, uno per kit.
   ============================================================ */
.sezione-kit{--g:16px;overflow:clip}
@media (min-width:768px){.sezione-kit{--g:40px}}
@media (min-width:1200px){.sezione-kit{--g:80px}}
.kit-colonna{
  padding-inline:max(var(--g), calc((100vw - 1520px) / 2 + var(--g)));
}
.kit-titolo h2{
  font-size:clamp(28px,3.2vw,52px);line-height:1.05;letter-spacing:-.03em;font-weight:500;
}
@media (min-width:480px){.kit-titolo h2{white-space:nowrap}}
.kit-titolo .lead{margin-top:clamp(20px,2.4vw,32px);max-width:42ch;font-size:17px;color:var(--sn-light-muted)}

.kit-elenco{list-style:none;margin-top:clamp(48px,7vw,80px);display:grid;gap:clamp(36px,6vw,64px)}
.kit-elenco a{
  display:flex;flex-direction:column;gap:clamp(10px,1.4vh,16px);
  color:var(--sn-light-ink);text-decoration:none;
}
.kit-elenco a:focus-visible{outline:2px solid var(--sn-orange);outline-offset:6px}
.kit-tipo{
  font-family:var(--font-scheda-testo);font-weight:600;font-size:12px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--sn-orange-ink);
}
.kit-nome{
  font-family:var(--font-scheda);font-weight:700;text-transform:uppercase;line-height:.9;
  font-size:clamp(56px,8.6vw,148px);letter-spacing:-.005em;
}
.kit-testo{max-width:40ch;font-size:17px;line-height:1.55;color:var(--sn-light-muted)}
.kit-scopri{
  display:inline-flex;align-items:center;gap:10px;margin-top:6px;
  font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--sn-light-ink);
}
.kit-scopri svg{width:16px;height:16px;transition:transform .2s ease}
.kit-elenco a:hover .kit-scopri svg{transform:translateX(5px)}
/* pannello del singolo kit, nella versione senza blocco */
.kit-riga-img{
  margin-bottom:20px;aspect-ratio:1.45;overflow:hidden;position:relative;
  border-radius:var(--sn-radius-md);
}
.kit-riga-img img{
  position:absolute;left:0;top:50%;width:100%;height:auto;transform:translateY(-50%);
  filter:drop-shadow(0 20px 22px rgba(0,0,0,.55)) drop-shadow(0 0 40px rgba(var(--acc-rgb,232,134,52),.16));
}
.kit-vetrina{display:none}
.kit-tutti{margin-top:clamp(28px,4vw,40px)}
@media (min-width:700px) and (max-width:899px){.kit-elenco{grid-template-columns:1fr 1fr}.kit-nome{font-size:clamp(48px,9vw,80px)}}

/* Versione ferma: attivata dallo script solo se c'è spazio */
.sezione-kit.attiva{
  padding-block:0;
  height:calc(100vh + (var(--n) - 1) * 60vh);height:calc(100svh + (var(--n) - 1) * 60svh);
}
.sezione-kit.attiva .kit-fisso{
  position:sticky;top:0;height:100vh;height:100svh;box-sizing:border-box;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-top:68px;
}
.sezione-kit.attiva .kit-colonna{
  display:flex;flex-direction:column;justify-content:space-between;
  padding-block:clamp(16px,3vh,40px);padding-right:clamp(24px,3vw,56px);
}
.sezione-kit.attiva .kit-elenco{margin-top:0;padding-top:clamp(28px,5vh,72px);gap:0;margin-block:auto 0;display:grid}
.sezione-kit.attiva .kit-elenco li{grid-area:1/1;align-self:end;will-change:opacity,transform}
.sezione-kit.attiva .kit-riga-img{display:none}
.sezione-kit.attiva .kit-tutti{margin-top:20px;align-self:flex-start}
.sezione-kit.attiva .kit-vetrina{display:block}
.kit-quadro{position:absolute;inset:0;display:grid;place-items:center;will-change:opacity}
.kit-quadro img{
  width:min(88%,820px);height:auto;will-change:transform;
  filter:drop-shadow(0 34px 38px rgba(0,0,0,.6)) drop-shadow(0 0 70px rgba(var(--acc-rgb,232,134,52),.18));
}
.kit-avanzamento{display:none;height:2px;background:var(--sn-light-border);margin-top:24px;overflow:hidden}
.sezione-kit.attiva .kit-avanzamento{display:block}
.kit-avanzamento i{display:block;height:100%;background:var(--sn-orange);transform:scaleX(0);transform-origin:left}

/* ============================================================
   COSA FA IL KIT
   Riprende il trattamento della scatola: cerchi arancio su fondo
   scuro per le tre azioni, sotto l'indice di ciò che c'è dentro.
   ============================================================ */

.azioni-kit{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(24px,3vw,56px);
}
@media (max-width:900px){.azioni-kit{grid-template-columns:1fr;gap:32px;max-width:520px;margin-inline:auto}}

.azione-kit{text-align:center}
.azione-kit .cerchio{
  width:clamp(96px,8vw,124px);aspect-ratio:1;margin:0 auto clamp(20px,2vw,28px);
  border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(247,147,29,.5);
  background:radial-gradient(circle at 34% 28%, rgba(247,147,29,.26) 0%, rgba(247,147,29,.05) 70%);
  color:var(--sn-orange);
  transition:transform .4s cubic-bezier(.2,.7,.3,1),border-color .3s ease;
}
.azione-kit:hover .cerchio{transform:translateY(-4px);border-color:var(--sn-orange)}
.azione-kit .cerchio svg{width:46%;height:46%;fill:currentColor}
/* Le icone del cliente sono a tratto pieno: niente contorno aggiuntivo. */
.azione-kit .cerchio svg[stroke]{fill:none}

.azione-kit h3{
  font-family:var(--font-display);font-weight:700;font-size:15px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--sn-orange);
  margin-bottom:14px;
}
.azione-kit p{
  font-size:16px;line-height:1.65;color:var(--sn-ink-muted);
  max-width:34ch;margin-inline:auto;
}

/* Indice del contenuto: la riga di icone che sta sul fronte della scatola */
.indice-contenuto{
  margin-top:clamp(48px,6vw,88px);
  padding-top:clamp(32px,4vw,48px);
  border-top:1px solid var(--sn-border);
}
.indice-contenuto-titolo{
  font-family:var(--font-body);font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--sn-ink-muted);text-align:center;margin-bottom:clamp(28px,3vw,40px);
}
.indice-voci{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));
  gap:clamp(20px,2.4vw,36px);
}
.indice-voce{text-align:center}
.indice-voce .cerchio{
  width:64px;height:64px;margin:0 auto 14px;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid var(--sn-border-strong);color:var(--sn-ink-muted);
  transition:border-color .25s ease,color .25s ease;
}
.indice-voce:hover .cerchio{border-color:rgba(247,147,29,.7);color:var(--sn-orange)}
.indice-voce .cerchio svg{width:28px;height:28px;fill:currentColor}
.indice-voce .cerchio svg[stroke]{fill:none}
.indice-voce b{
  display:block;font-family:var(--font-display);font-weight:600;font-size:13px;
  color:var(--sn-ink);margin-bottom:4px;
}
.indice-voce span{font-size:12.5px;color:var(--sn-ink-muted);line-height:1.5}

/* ============================================================
   PAGINE INTERNE
   Stesso impianto della home: apertura, fasce alternate,
   misura di lettura controllata.
   ============================================================ */

/* Apertura delle pagine interne: chiara, titolo grande, nessuna immagine di sfondo */
.apertura-pagina{
  background:var(--sn-white);color:var(--sn-light-ink);
  padding-block:clamp(28px,4vw,56px) clamp(36px,5vw,72px);
}
.apertura-pagina h1{
  font-size:clamp(44px,7vw,112px);font-weight:500;letter-spacing:-.04em;line-height:.98;
  max-width:14ch;margin:clamp(20px,3vw,40px) 0 clamp(18px,2.4vw,32px);
}
.apertura-pagina .lead{max-width:56ch;font-size:clamp(17px,1.5vw,20px)}
.briciole-chiare{padding:0;background:none;border:none;font-family:var(--font-body);font-size:14px}
.briciole-chiare ol{padding-block:0}
.briciole-chiare,.briciole-chiare a{color:var(--sn-light-note)}
.briciole-chiare a:hover{color:var(--sn-light-ink)}

/* Colonna di lettura per i testi lunghi */
.colonna-lettura{max-width:70ch}
.colonna-lettura .testo-ricco h2:first-child{margin-top:0}

/* Recapiti, versione più netta */
.recapiti li{align-items:center}
.recapito-icona{border-color:rgba(0,74,128,.28);background:var(--sn-light-bg)}

/* News: schede chiare con immagine in alto */
.news-card{background:var(--sn-white);border-color:rgba(10,26,47,.12)}
.news-card:hover{border-color:rgba(247,147,29,.7);box-shadow:0 16px 34px rgba(5,16,31,.12)}
.news-card figure{background:var(--sn-light-bg)}
.news-card h3{font-size:20px;letter-spacing:-.02em}
.news-meta{letter-spacing:.1em;text-transform:uppercase}

/* ============================================================
   CATALOGO E SCHEDA KIT
   Pannelli dai toni tenui con la confezione in primo piano, nome
   nel condensato stampato sulle scatole. Arancio solo per le azioni.
   ============================================================ */
.kit-griglia{
  display:grid;gap:clamp(24px,3vw,40px) clamp(16px,2vw,28px);
  grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));
}
.kit-scheda{display:flex;flex-direction:column;text-decoration:none;color:var(--sn-light-ink)}
.kit-scheda:focus-visible{outline:2px solid var(--sn-blue);outline-offset:6px;border-radius:var(--sn-radius-md)}
.kit-scheda-img{
  position:relative;aspect-ratio:1.18;overflow:hidden;border-radius:var(--sn-radius-md);
  display:grid;place-items:center;
}
.kit-scheda-img img{
  width:108%;max-width:none;height:auto;
  filter:drop-shadow(0 26px 26px rgba(0,0,0,.55)) drop-shadow(0 0 48px rgba(var(--acc-rgb,232,134,52),.16));
  transition:transform .6s cubic-bezier(.2,.7,.3,1);
}
.kit-scheda:hover .kit-scheda-img img,.kit-scheda:focus-visible .kit-scheda-img img{transform:translateY(-3%) scale(1.035)}
.kit-scheda-testo{display:grid;gap:6px;padding-top:clamp(16px,1.6vw,22px)}
.kit-scheda .kit-nome{font-size:clamp(36px,3.2vw,52px)}
.kit-scheda .kit-testo{max-width:none;font-size:15.5px;line-height:1.5}
.kit-scheda:hover .kit-scopri svg{transform:translateX(5px)}
.catalogo{padding-top:clamp(8px,2vw,24px)}

/* ---- Scheda di un kit */
.prodotto-pagina{position:relative}
.prodotto-scheda{padding-block:clamp(16px,3vw,40px) clamp(48px,7vw,112px)}
.prodotto-griglia{display:grid;gap:clamp(28px,4vw,72px);grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){.prodotto-griglia{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:start}}
/* La confezione sta sul bianco della pagina, allineata al titolo: l'immagine è quadrata con un quarto di
   trasparenza sopra e sotto, i margini negativi (in % della larghezza) la ritagliano senza toccare il file. */
.prodotto-vetrina{position:relative;min-width:0}
@media (min-width:1000px){.prodotto-vetrina{position:sticky;top:96px;align-self:start}}
.prodotto-vetrina > img{
  display:block;width:108%;max-width:none;height:auto;margin:-24% 0 -27% -4%;
  filter:drop-shadow(0 30px 28px rgba(10,26,47,.28));will-change:transform;
}
.prodotto-vetrina .sagoma-confezione{width:70%;margin-inline:auto}
/* le tre azioni stampate sulla scatola */
.prodotto-icone{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,28px);margin-top:clamp(28px,3.4vw,48px)}
.prodotto-icone li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;min-width:0}
.prodotto-icone .cerchio{
  width:clamp(52px,5vw,68px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;margin-bottom:6px;
  border:1px solid rgba(247,147,29,.6);color:var(--sn-orange-ink);
  background:radial-gradient(circle at 34% 28%, rgba(247,147,29,.18) 0%, rgba(247,147,29,.04) 70%);
}
.prodotto-icone .cerchio svg{width:46%;height:46%;fill:currentColor}
.prodotto-icone .cerchio svg[stroke]{fill:none}
.prodotto-icone b{font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--sn-orange-ink)}
.prodotto-icone span:not(.cerchio){font-size:13.5px;line-height:1.5;color:var(--sn-light-muted)}
@media (max-width:699px){.prodotto-icone span:not(.cerchio){display:none}.prodotto-icone b{font-size:12px}}

.prodotto-testo{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.prodotto-nome{
  font-size:clamp(52px,7.2vw,116px);line-height:.86;letter-spacing:-.01em;margin:10px 0 0;
}
.prodotto-versioni{margin-top:14px;font-size:clamp(17px,1.5vw,20px);font-weight:600;letter-spacing:-.01em;color:var(--sn-orange-ink)}
.prodotto-lead{
  font-size:clamp(20px,2vw,27px);line-height:1.3;font-weight:500;letter-spacing:-.015em;
  color:var(--sn-light-ink);max-width:28ch;margin:clamp(18px,2.4vw,28px) 0 clamp(16px,2vw,24px);
}
.prodotto-descrizione{max-width:54ch}
.prodotto-specifico{
  margin-top:clamp(24px,3vw,36px);padding:20px 24px;width:100%;
  border-left:3px solid var(--sn-orange);background:var(--sn-light-bg);
}
.prodotto-specifico h2{font-size:15px;font-weight:600;letter-spacing:0;color:var(--sn-light-note);margin-bottom:6px}
.prodotto-specifico-nome{font-size:clamp(22px,2vw,28px);font-weight:600;letter-spacing:-.02em;color:var(--sn-light-ink);line-height:1.15}
.prodotto-specifico p+p{margin-top:8px;font-size:16px;color:var(--sn-light-muted);max-width:50ch}
.prodotto-fatti{list-style:none;display:grid;gap:14px;margin-top:clamp(24px,3vw,36px);width:100%}
@media (min-width:700px) and (max-width:999px),(min-width:1360px){.prodotto-fatti{grid-template-columns:repeat(3,1fr);gap:20px}}
.prodotto-fatti li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45;color:var(--sn-light-muted)}
.prodotto-fatti svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--sn-orange-ink)}
.prodotto-fatti b{display:block;color:var(--sn-light-ink);font-weight:600}
.prodotto-azioni{display:flex;gap:12px;flex-wrap:wrap;margin-top:clamp(28px,3.4vw,44px)}

/* ---- Cosa contiene: blu scuro del sito, come il footer */
.prodotto-contenuto{
  background:
    radial-gradient(60% 80% at 8% 0%, rgba(0,74,128,.32) 0%, transparent 62%),
    linear-gradient(180deg,#0F2744 0%,#0A1A2F 100%);
  color:var(--sn-ink-muted);padding-block:clamp(56px,8vw,120px);
}
.prodotto-contenuto-griglia{display:grid;gap:clamp(28px,4vw,72px);grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.prodotto-contenuto-griglia{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}}
.prodotto-contenuto-titolo{display:grid;gap:20px;justify-items:start}
@media (min-width:900px){.prodotto-contenuto-titolo{position:sticky;top:112px}}
.prodotto-contenuto-titolo h2{font-size:clamp(34px,4vw,60px);font-weight:500;letter-spacing:-.035em;line-height:1;color:var(--sn-ink)}
.prodotto-contenuto .avvertenza{
  background:rgba(255,255,255,.05);color:var(--sn-ink-muted);max-width:46ch;
  border-left-color:var(--sn-orange);
}
.prodotto-contenuto .link-testo{color:var(--sn-orange)}
.prodotto-contenuto a:focus-visible{outline-color:var(--sn-orange)}
.componenti{list-style:none}
.componenti li{padding:clamp(20px,2.4vw,32px) 0;border-top:1px solid var(--sn-border)}
.componenti li:last-child{border-bottom:1px solid var(--sn-border)}
.componenti li.specifico{border-top-color:var(--sn-orange)}
.componenti h3{font-size:clamp(22px,2.2vw,30px);font-weight:600;letter-spacing:-.02em;color:var(--sn-ink)}
.componenti p{margin-top:8px;max-width:58ch;font-size:16.5px;color:var(--sn-ink-muted)}

/* ---- Gli altri kit */
.prodotto-altri{padding-block:clamp(56px,8vw,112px)}
.prodotto-altri h2{font-size:clamp(30px,3.4vw,52px);font-weight:500;letter-spacing:-.035em;margin-bottom:clamp(24px,3vw,40px)}
@media (max-width:899px){
  .kit-griglia-scorri{
    display:grid;grid-auto-flow:column;grid-auto-columns:78%;grid-template-columns:none;
    overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
    margin-inline:-16px;padding-inline:16px;padding-bottom:4px;
  }
  .kit-griglia-scorri::-webkit-scrollbar{display:none}
  .kit-griglia-scorri > *{scroll-snap-align:start}
}
@media (min-width:900px){.kit-griglia-scorri{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}}

/* Barra d'azione su telefono: resta in vista mentre si legge la scheda */
.prodotto-barra{display:none}
@media (max-width:767px){
  .prodotto-barra{
    position:sticky;bottom:0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);
    border-top:1px solid var(--sn-light-border);box-shadow:0 -10px 30px rgba(10,26,47,.08);
    transition:transform .35s cubic-bezier(.2,.7,.3,1);
  }
  .js .prodotto-barra{transform:translateY(105%)}
  .js .prodotto-barra.visibile{transform:none}
  .prodotto-barra span{font-family:var(--font-scheda);font-weight:700;font-size:26px;text-transform:uppercase;line-height:1}
  .prodotto-barra .bottone{min-height:46px;padding-inline:18px;font-size:15px}
}

/* ============================================================
   PAGINA AZIENDA
   Capitoli ricavati dal testo: titolo a sinistra, testo a destra.
   ============================================================ */
.banda-immagine{
  margin:0;overflow:hidden;border-radius:var(--sn-radius-md);
  aspect-ratio:21/9;background:var(--sn-light-bg);
}
@media (max-width:700px){.banda-immagine{aspect-ratio:4/3}}
.banda-immagine img{width:100%;height:100%;object-fit:cover;transform:scale(1.14);will-change:transform}
.capitolo-azienda{padding-block:clamp(40px,6vw,96px);border-top:1px solid var(--sn-light-border)}
.capitolo-azienda:nth-of-type(2){border-top:0}
.capitolo-azienda-griglia{display:grid;gap:clamp(20px,3vw,48px);grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.capitolo-azienda-griglia{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}}
.capitolo-azienda h2{
  font-size:clamp(30px,3.6vw,56px);font-weight:500;letter-spacing:-.035em;line-height:1.02;max-width:14ch;
}
@media (min-width:900px){.capitolo-azienda h2{position:sticky;top:112px}}
.capitolo-azienda .testo-ricco{font-size:clamp(17px,1.4vw,19px);line-height:1.7;max-width:62ch}
.capitolo-azienda .testo-ricco h3{
  margin-top:36px;padding-top:18px;border-top:1px solid var(--sn-light-border);
  font-size:clamp(20px,1.8vw,24px);letter-spacing:-.02em;
}
.capitolo-azienda .testo-ricco h3+p{margin-top:8px}
.capitolo-azienda blockquote{
  border:0;padding:0;margin-top:40px;color:var(--sn-light-ink);
  font-size:clamp(28px,3.2vw,48px);font-weight:500;letter-spacing:-.035em;line-height:1.1;
}
.capitolo-azienda blockquote::before{content:"+";display:block;color:var(--sn-orange);font-size:.9em;line-height:1;margin-bottom:10px}
.capitolo-azienda ul{list-style:none;padding:0;margin-top:24px}
.capitolo-azienda li{padding:14px 0;border-top:1px solid var(--sn-light-border);color:var(--sn-light-ink)}
.capitolo-azienda li:last-child{border-bottom:1px solid var(--sn-light-border)}

/* ============================================================
   AMBIENTE DEI PANNELLI KIT
   Fondo scuro come la scatola, un alone di luce dell'accento dietro
   la confezione, anelli sottili in stile guilloché e un riflesso
   diagonale. Ogni kit ha il suo accento: rame, ambra, rosa oro,
   acciaio (dal blu del marchio) e champagne.
   ============================================================ */
.kit-scheda-img,.kit-riga-img,.sezione-kit.attiva .kit-vetrina{
  position:relative;isolation:isolate;overflow:hidden;
  background:
    radial-gradient(62% 52% at 50% 50%, rgba(var(--acc-rgb,232,134,52),.42) 0%, rgba(var(--acc-rgb,232,134,52),.14) 48%, transparent 76%),
    linear-gradient(162deg, var(--base,#3A2418) 0%, #0E0E11 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 1px 0 rgba(255,255,255,.16);
}
/* anelli concentrici, sfumano verso i bordi */
.kit-scheda-img::before,.kit-riga-img::before,.sezione-kit.attiva .kit-vetrina::before{
  content:"";position:absolute;inset:-10%;z-index:0;pointer-events:none;
  background:repeating-radial-gradient(circle at 50% 52%, transparent 0 15px, rgba(var(--acc-rgb,232,134,52),.30) 15px 16px);
  -webkit-mask:radial-gradient(circle at 50% 52%, #000 0%, rgba(0,0,0,.65) 34%, transparent 70%);
          mask:radial-gradient(circle at 50% 52%, #000 0%, rgba(0,0,0,.65) 34%, transparent 70%);
}
/* riflesso diagonale + vignettatura */
.kit-scheda-img::after,.kit-riga-img::after,.sezione-kit.attiva .kit-vetrina::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(112deg, transparent 30%, rgba(255,255,255,.07) 42%, rgba(255,255,255,.02) 52%, transparent 60%),
    radial-gradient(ellipse 80% 72% at 50% 50%, transparent 55%, rgba(0,0,0,.55) 100%);
}
.kit-scheda-img > img,.kit-riga-img > img,.kit-scheda-img > .sagoma-confezione{position:relative;z-index:1}
.kit-riga-img > img{position:absolute}
.kit-quadro{z-index:1}
.kit-scheda-img .sagoma-confezione{border-color:rgba(255,255,255,.25);color:rgba(255,255,255,.55)}

/* Pagine legali: lettura calma, titoli di misura normale */
.legale h1{font-size:clamp(34px,4.2vw,56px);font-weight:600;letter-spacing:-.03em;line-height:1.05}
.legale .lead{font-size:18px;margin-top:16px}
.legale .testo-ricco{font-size:17px;line-height:1.7;margin-top:36px}
.legale .testo-ricco h2{font-size:clamp(22px,2vw,28px);font-weight:600;letter-spacing:-.02em;margin-top:44px}
.legale .testo-ricco h2:first-child{margin-top:0}
.legale .testo-ricco h3{font-size:18px;margin-top:24px}
.legale .testo-ricco li{margin-top:10px}
