/* Redesign 2026 – componenti (corrispondono a "03 · Componenti" in Figma) */

/* ---------- Icone ---------- */
.nw-icona { width: 1em; height: 1em; flex: none; }

/* ---------- Pulsante ---------- */
.nw-pulsante {
  display: inline-flex; align-items: center; gap: var(--space-md);
  border: 1.5px solid transparent; border-radius: var(--radius-pillola);
  font-family: var(--font-testo); font-weight: var(--peso-semibold); text-decoration: none; cursor: pointer;
  transition: background-color var(--transizione), color var(--transizione), transform var(--transizione);
}
.nw-pulsante--l { padding: 12px 12px 12px 32px; font-size: var(--fs-pulsante-l); line-height: var(--lh-pulsante-l); letter-spacing: var(--ls-pulsante-l); text-transform: uppercase; }
.nw-pulsante--l:not(:has(.nw-pulsante__freccia)) { padding-right: 32px; padding-block: 22px; }
.nw-pulsante--s { padding: 8px 16px; font-size: var(--fs-pulsante-s); line-height: var(--lh-pulsante-s); gap: var(--space-xs); }
.nw-pulsante__freccia { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; font-size: 15px; transition: transform var(--transizione); }
.nw-pulsante--s .nw-pulsante__freccia { width: auto; height: auto; font-size: 12px; background: none !important; }
.nw-pulsante:hover .nw-pulsante__freccia { transform: translateX(3px); }
.nw-pulsante--primario { background: var(--azione-primaria); color: var(--testo-inverso); }
.nw-pulsante--primario .nw-pulsante__freccia { background: var(--azione-inversa); color: var(--testo-primario); }
.nw-pulsante--primario:hover { background: var(--niew-petrolio-900); }
.nw-pulsante--accento { background: var(--azione-accento); color: var(--testo-inverso); }
.nw-pulsante--accento .nw-pulsante__freccia { background: var(--azione-inversa); color: var(--testo-primario); }
.nw-pulsante--accento:hover { background: var(--niew-ciano-700); }
.nw-pulsante--inverso { background: var(--azione-inversa); color: var(--testo-primario); }
.nw-pulsante--inverso .nw-pulsante__freccia { background: var(--azione-primaria); color: var(--testo-inverso); }
.nw-pulsante--inverso:hover { background: var(--sfondo-tenue); }
.nw-pulsante--contorno { background: transparent; color: var(--testo-primario); border-color: var(--azione-primaria); }
.nw-pulsante--contorno .nw-pulsante__freccia { background: var(--azione-primaria); color: var(--testo-inverso); }
.nw-pulsante--contorno:hover { background: var(--sfondo-tenue); }
.nw-pulsante:disabled, .nw-pulsante[aria-disabled="true"] { opacity: 0.5; cursor: not-allowed; }
.nw-azioni { display: flex; flex-wrap: wrap; gap: var(--space-md); }

/* ---------- Link azione ---------- */
.nw-link-azione {
  display: inline-flex; align-items: center; gap: var(--space-xs);
  color: var(--testo-accento); font-size: var(--fs-link); line-height: var(--lh-link); font-weight: var(--peso-semibold);
  letter-spacing: var(--ls-link); text-transform: uppercase; text-decoration: none;
}
.nw-link-azione .nw-icona { font-size: 12px; transition: transform var(--transizione); }
.nw-link-azione:hover .nw-icona { transform: translateX(3px); }
.nw-link-azione:hover { text-decoration: underline; text-underline-offset: 4px; }
.nw-link-azione--scuro { color: var(--testo-inverso); }

/* ---------- Chip filtro / sottomenu / paginazione ---------- */
.nw-chips { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-sm); padding: 0; margin: 0; list-style: none; }
.nw-chip {
  display: inline-flex; align-items: center; padding: 8px 16px; border: 1px solid var(--bordo-medio); border-radius: var(--radius-pillola);
  background: var(--sfondo-pagina); color: var(--testo-primario); font-size: var(--fs-pulsante-s); line-height: var(--lh-pulsante-s);
  font-weight: var(--peso-semibold); text-decoration: none; transition: border-color var(--transizione);
}
.nw-chip:hover { border-color: var(--azione-primaria); }
.nw-chip--attivo, .nw-chip[aria-current] { background: var(--azione-primaria); border-color: var(--azione-primaria); color: var(--testo-inverso); }
.nw-sottomenu { border-bottom: 1px solid var(--bordo-neutro); padding-block: var(--space-lg); }
.nw-paginazione { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-sm); }

/* ---------- Header ---------- */
.nw-header { position: relative; z-index: 100; background: var(--sfondo-pagina); color: var(--testo-primario); }
.nw-header--su-immagine { position: absolute; inset: 0 0 auto; background: transparent; color: var(--testo-inverso); }
.nw-header__barra { display: flex; align-items: center; justify-content: space-between; min-height: 64px; }
.nw-header__logo { display: inline-flex; color: inherit; }
.nw-header__logo svg { width: auto; height: 24px; }   /* review 28/10: 28px su desktop, equilibrato con il pulsante Contact (36px) */
.nw-nav { display: none; }
.nw-nav__lista { display: flex; align-items: center; gap: var(--space-2xl); padding: 0; margin: 0; list-style: none; }
.nw-nav__link {
  position: relative; display: inline-block; padding-block: 10px; color: inherit; text-decoration: none;
  font-size: var(--fs-menu); line-height: var(--lh-menu); font-weight: var(--peso-semibold);
}
.nw-nav__link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--bordo-accento); transform: scaleX(0); transition: transform var(--transizione); }
.nw-nav__link:hover::after { transform: scaleX(0.5); }
.nw-nav__link[aria-current]::after { transform: scaleX(1); }
.nw-header__menu-btn { display: inline-grid; place-items: center; width: 44px; height: 44px; margin-right: -10px; border: 0; background: none; color: inherit; cursor: pointer; font-size: 24px; }
@media (min-width: 1024px) {
  .nw-header__barra { min-height: 100px; }
  .nw-header__logo svg { width: auto; height: 28px; }
  .nw-nav { display: flex; align-items: center; gap: var(--space-2xl); }
  .nw-header__menu-btn { display: none; }
}
/* Menu mobile */
.nw-menu { position: fixed; inset: 0; z-index: 1000; display: none; flex-direction: column; overflow-y: auto; background: var(--sfondo-scuro); color: var(--testo-inverso); }
.nw-menu[data-aperto] { display: flex; }
.nw-menu__voci { display: flex; flex-direction: column; gap: var(--space-lg); padding: var(--space-2xl) var(--layout-margine) 0; margin: 0; list-style: none; }
.nw-menu__link { color: inherit; text-decoration: none; font-family: var(--font-titoli); font-size: var(--fs-h2); line-height: var(--lh-h2); }
.nw-menu__link[aria-current] { color: var(--testo-accento-grande); }
.nw-menu__azioni { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-lg); padding: var(--space-2xl) var(--layout-margine) var(--space-2xl); }
.nw-lingue { display: flex; flex-wrap: wrap; gap: var(--space-sm); padding: 0; margin: 0; list-style: none; font-size: var(--fs-corpo-s); }
.nw-lingue a { color: inherit; text-decoration: none; opacity: 0.7; }
.nw-lingue a[aria-current] { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
html.nw-menu-aperto { overflow: hidden; }
/* Senza JavaScript il menu mobile resta raggiungibile come elenco sotto l’header */
html.no-js .nw-menu { position: static; display: flex; }
html.no-js .nw-menu .nw-header__barra, html.no-js .nw-header__menu-btn { display: none; }
@media (min-width: 1024px) { html.no-js .nw-menu { display: none; } }

/* ---------- Footer ---------- */
.nw-footer { background: var(--sfondo-scuro); color: var(--testo-inverso); padding-block: var(--space-4xl) var(--space-2xl); }
.nw-footer__colonne { display: grid; gap: var(--space-2xl); }
.nw-footer__logo svg { width: 128px; height: auto; }
.nw-footer__legale { margin-top: var(--space-lg); font-size: var(--fs-corpo-s); line-height: var(--lh-corpo-s); opacity: 0.8; font-style: normal; }
.nw-footer__titolo { font-size: var(--fs-corpo-m); font-weight: var(--peso-semibold); margin-bottom: var(--space-sm); }
.nw-footer__lista { display: flex; flex-direction: column; gap: var(--space-sm); padding: 0; margin: 0; list-style: none; }
.nw-footer__lista a { color: inherit; opacity: 0.8; text-decoration: none; font-size: var(--fs-footer); line-height: var(--lh-footer); }
.nw-footer__lista a:hover { opacity: 1; text-decoration: underline; text-underline-offset: 3px; }
.nw-social { display: flex; gap: var(--space-md); padding: 0; margin: 0; list-style: none; }
.nw-social a { display: inline-grid; place-items: center; width: 32px; height: 32px; color: inherit; font-size: 22px; }
.nw-footer__fondo { display: flex; flex-direction: column; gap: var(--space-sm); margin-top: var(--space-3xl); padding-top: var(--space-lg); border-top: 1px solid rgb(255 255 255 / 15%); font-size: var(--fs-didascalia); line-height: var(--lh-didascalia); }
.nw-footer__fondo a, .nw-footer__fondo p { color: inherit; opacity: 0.7; }
.nw-footer__fondo a:hover { opacity: 1; }
.nw-footer__legali { display: flex; flex-wrap: wrap; gap: var(--space-lg); padding: 0; margin: 0; list-style: none; }
@media (min-width: 768px) {
  .nw-footer__colonne { grid-template-columns: repeat(3, auto); justify-content: space-between; }
  .nw-footer__fondo { flex-direction: row; justify-content: space-between; align-items: center; }
}
@media (min-width: 1024px) { .nw-footer__colonne { grid-template-columns: 1.4fr repeat(3, auto); gap: 96px; } }

/* ---------- Intestazione di sezione ---------- */
.nw-intestazione { display: flex; flex-direction: column; gap: var(--space-md); max-width: var(--layout-testo); }
.nw-intestazione--centrata { align-items: center; text-align: center; margin-inline: auto; }
.nw-intestazione .nw-lead { color: var(--testo-secondario); }

/* ---------- Hero ---------- */
.nw-hero { position: relative; color: var(--testo-inverso); background: var(--sfondo-scuro); overflow: hidden; }
.nw-hero__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nw-hero--testo { background: var(--sfondo-pagina); color: var(--testo-primario); padding-block: var(--space-2xl) var(--space-2xl); }
.nw-hero--testo .nw-hero__contenuto { max-width: 1200px; margin-inline: auto; text-align: center; }
.nw-hero--testo .nw-h1 { max-width: 800px; margin-inline: auto; }   /* review 28/10: il sottotitolo può stare su una riga */
.nw-hero--testo .nw-lead { color: var(--testo-secondario); }
.nw-hero--immagine { display: flex; align-items: flex-end; min-height: 640px; padding-block: 120px 48px; }
.nw-hero--immagine::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgb(0 17 20 / 20%) 0%, rgb(0 17 20 / 88%) 100%); }
/* Review del 28/10/2026: immagini luminose; sfumatura petrolio solo a sinistra, sotto il testo, e leggera in alto per il menu */
.nw-hero--home::before { background: linear-gradient(90deg, rgb(0 32 40 / 92%) 0%, rgb(0 32 40 / 80%) 40%, rgb(0 32 40 / 35%) 60%, rgb(0 32 40 / 0%) 78%), linear-gradient(180deg, rgb(0 32 40 / 45%) 0%, rgb(0 32 40 / 0%) 22%); }
@media (max-width: 767px) { .nw-hero--home::before { background: linear-gradient(180deg, rgb(0 32 40 / 45%) 0%, rgb(0 32 40 / 30%) 35%, rgb(0 32 40 / 85%) 100%); } }
.nw-hero--immagine .nw-hero__contenuto { max-width: 760px; }
.nw-hero--case { display: flex; align-items: center; min-height: 520px; padding-block: 120px 64px; text-align: center; }
.nw-hero--case::before { content: ""; position: absolute; inset: 0; z-index: 1; background: var(--velatura); }
.nw-hero--case .nw-hero__contenuto { max-width: 960px; margin-inline: auto; align-items: center; }
.nw-hero .nw-contenitore { position: relative; z-index: 2; }
.nw-hero__contenuto { display: flex; flex-direction: column; gap: var(--space-lg); }
.nw-hero .nw-etichetta { color: inherit; }
@media (min-width: 1024px) {
  .nw-hero--testo { padding-block: var(--space-2xl) var(--space-4xl); }   /* review 28/10: contenuto più in alto */
  .nw-hero--immagine { min-height: 720px; padding-bottom: 96px; }
  .nw-hero--case { min-height: 560px; }
}
.nw-hero-con-header { position: relative; }

/* ---------- Card (case study, settore, articolo) ---------- */
.nw-card { position: relative; display: flex; flex-direction: column; gap: var(--space-md); }
.nw-card__media { aspect-ratio: 16 / 9; width: 100%; object-fit: cover; border-radius: var(--radius-sm); background: var(--sfondo-segnaposto); }
.nw-card__titolo { font-family: var(--font-titoli); font-size: var(--fs-h5); line-height: var(--lh-h5); font-weight: var(--peso-regolare); }
.nw-card__titolo a { color: inherit; text-decoration: none; }
.nw-card__titolo a::after { content: ""; position: absolute; inset: 0; }   /* tutta la card cliccabile */
.nw-card:hover .nw-card__titolo a { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.nw-card__testo { color: var(--testo-secondario); }
.nw-card .nw-link-azione { margin-top: auto; }

/* ---------- Voce servizio ---------- */
.nw-servizio { display: flex; flex-direction: column; gap: 10px; padding-bottom: var(--space-lg); border-bottom: 1px solid var(--bordo-neutro); }
.nw-servizio__titolo { font-family: var(--font-titoli); font-size: var(--fs-card); line-height: var(--lh-card); font-weight: var(--peso-bold); }
.nw-servizio__testo { color: var(--testo-secondario); }
.nw-sezione--scura .nw-servizio { border-color: rgb(255 255 255 / 15%); }
.nw-sezione--scura .nw-servizio__testo { color: rgb(255 255 255 / 80%); }

/* ---------- Area (intestazione area servizi) ---------- */
.nw-area { display: flex; flex-direction: column; gap: var(--space-md); }
.nw-area .nw-etichetta { color: var(--testo-secondario); }
.nw-area__testo { color: var(--testo-secondario); }
.nw-sezione--scura .nw-area .nw-etichetta { color: var(--testo-accento-grande); }
.nw-sezione--scura .nw-area__testo { color: rgb(255 255 255 / 80%); }

/* ---------- Dato chiave ---------- */
.nw-dato-box { display: flex; flex-direction: column; align-items: center; gap: var(--space-xs); padding: var(--space-xl) var(--space-lg); background: var(--sfondo-tenue); text-align: center; }

/* ---------- Passo del metodo ---------- */
.nw-passo { display: flex; flex-direction: column; gap: var(--space-sm); }
.nw-passo__testa { display: flex; align-items: center; gap: var(--space-sm); }
.nw-passo__numero { font-family: var(--font-titoli); font-size: var(--fs-h2); line-height: var(--lh-h2); color: var(--testo-accento-grande); }
.nw-passo__titolo { font-family: var(--font-titoli); font-size: var(--fs-card); line-height: var(--lh-card); font-weight: var(--peso-bold); }
.nw-passo__testo { color: var(--testo-secondario); }

/* ---------- Card icona ---------- */
.nw-card-icona { display: flex; align-items: center; gap: var(--space-lg); padding: var(--space-xl); background: var(--sfondo-tenue); }
.nw-card-icona .nw-icona { font-size: 48px; }
@media (max-width: 767px) { .nw-card-icona { padding: var(--space-lg); gap: var(--space-md); } .nw-card-icona .nw-icona { font-size: 36px; } }

/* ---------- Citazione ---------- */
.nw-citazione { display: grid; gap: var(--space-lg); align-items: center; }
.nw-citazione__testo { font-family: var(--font-titoli); font-style: italic; font-size: clamp(28px, calc(28px + 12 * var(--fluid)), 40px); line-height: clamp(36px, calc(36px + 16 * var(--fluid)), 52px); }
.nw-citazione__media { width: 200px; height: 200px; object-fit: contain; }
@media (min-width: 1024px) { .nw-citazione { grid-template-columns: 1fr 360px; gap: var(--space-2xl); } .nw-citazione__media { width: 360px; height: 360px; } }

/* ---------- Fascia call to action ---------- */
.nw-cta { padding-block: clamp(56px, calc(56px + 40 * var(--fluid)), 96px); text-align: center; }
.nw-cta__contenuto { display: flex; flex-direction: column; align-items: center; gap: var(--space-lg); max-width: 720px; margin-inline: auto; }
.nw-cta--scura { background: var(--sfondo-scuro); color: var(--testo-inverso); }

/* ---------- Fascia immagine ---------- */
.nw-fascia-img { width: 100%; height: 180px; object-fit: cover; }
@media (min-width: 768px) { .nw-fascia-img { height: 300px; } }

/* ---------- Muro loghi ---------- */
.nw-loghi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 12px; align-items: center; padding: 0; margin: 0; list-style: none; }
.nw-loghi img { width: 100%; max-width: 150px; height: 48px; margin-inline: auto; object-fit: contain; opacity: 0.85; }
@media (min-width: 768px) { .nw-loghi { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .nw-loghi { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 40px 24px; } .nw-loghi img { height: 64px; } }

/* ---------- Riquadro premio ---------- */
.nw-premio { display: flex; flex-direction: column; gap: var(--space-lg); padding: var(--space-xl) var(--space-lg); background: var(--sfondo-tenue); }
.nw-premio__badge { width: 120px; height: 120px; object-fit: contain; }
@media (min-width: 768px) { .nw-premio { flex-direction: row; align-items: center; gap: var(--space-2xl); padding: var(--space-2xl) 48px; } .nw-premio__badge { width: 160px; height: 160px; } }

/* ---------- Modulo ---------- */
.nw-modulo { display: flex; flex-direction: column; gap: var(--space-lg); padding: var(--space-2xl) var(--space-lg); background: var(--sfondo-tenue); border-radius: var(--radius-md); }
@media (min-width: 768px) { .nw-modulo { padding: var(--space-2xl); } }
.nw-campo { display: flex; flex-direction: column; gap: var(--space-xs); }
.nw-campo__etichetta { color: var(--testo-secondario); font-size: var(--fs-corpo-s); line-height: var(--lh-corpo-s); }
.nw-campo__input {
  width: 100%; padding: 12px 0; border: 0; border-bottom: 1px solid var(--bordo-medio); border-radius: 0; background: transparent;
  font-size: var(--fs-corpo-m); line-height: var(--lh-corpo-m); transition: border-color var(--transizione);
}
textarea.nw-campo__input { min-height: 120px; resize: vertical; }
.nw-campo__input:focus { outline: none; border-bottom: 2px solid var(--bordo-accento); box-shadow: none; padding-bottom: 11px; }
.nw-campo__input:focus-visible { box-shadow: none; }
.nw-campo--errore .nw-campo__input { border-bottom: 2px solid var(--stato-errore); padding-bottom: 11px; }
.nw-campo__aiuto { min-height: var(--lh-didascalia); font-size: var(--fs-didascalia); line-height: var(--lh-didascalia); color: var(--testo-secondario); }
.nw-campo--errore .nw-campo__aiuto { color: var(--stato-errore); }
.nw-consenso { display: flex; gap: var(--space-sm); align-items: flex-start; font-size: var(--fs-corpo-s); line-height: var(--lh-corpo-s); color: var(--testo-secondario); }
.nw-consenso input { flex: none; width: 20px; height: 20px; margin: 0; accent-color: var(--azione-primaria); }
.nw-consenso a { color: var(--testo-accento); }
.nw-modulo__invio { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-md); }
.nw-modulo__stato { font-size: var(--fs-corpo-s); color: var(--testo-secondario); }
.nw-modulo__esito { min-height: 1.5em; }

/* ---------- Pagine non ancora realizzate (Fase 3): voce visibile ma non cliccabile ---------- */
.nw-in-arrivo { cursor: default; opacity: 0.55; text-decoration: none !important; }
.nw-pulsante.nw-in-arrivo:hover, .nw-chip.nw-in-arrivo:hover { background: inherit; border-color: inherit; }

/* ---------- Articolo ---------- */
.nw-articolo__testa { padding-bottom: var(--space-xl); }
.nw-articolo__intro { display: flex; flex-direction: column; gap: var(--space-lg); max-width: 960px; margin-inline: auto; text-align: center; }
.nw-articolo__intro .nw-lead { color: var(--testo-secondario); max-width: var(--layout-testo); margin-inline: auto; }
.nw-articolo__intro .nw-etichetta a { color: inherit; }
.nw-articolo__media { width: 100%; max-width: var(--layout-contenuto); margin: var(--space-2xl) auto 0; border-radius: var(--radius-sm); }
.nw-articolo__corpo { padding-bottom: var(--layout-sezione); }

/* ---------- Articolo in evidenza (Insight) ---------- */
.nw-evidenza { display: grid; gap: var(--space-xl); align-items: center; }
.nw-evidenza__media { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--radius-sm); }
.nw-evidenza__testo { display: flex; flex-direction: column; gap: var(--space-md); }
.nw-evidenza__testo h2 a { color: inherit; text-decoration: none; }
.nw-evidenza__testo h2 a:hover { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
@media (min-width: 1024px) { .nw-evidenza { grid-template-columns: 7fr 5fr; gap: var(--space-3xl); } }

/* ---------- 404 ---------- */
.nw-404 { display: flex; flex-direction: column; align-items: center; gap: var(--space-lg); text-align: center; padding-block: var(--space-4xl); }
.nw-404 .nw-azioni { justify-content: center; }
.nw-404 a:not([class]) { color: var(--testo-accento); }

/* ---------- Team ---------- */
.nw-persone { gap: var(--space-2xl) var(--space-3xl); }
.nw-persona { display: grid; grid-template-columns: 140px 1fr; gap: var(--space-lg); align-items: start; }
.nw-persona__foto { background: var(--sfondo-tenue); border-radius: 4px; overflow: hidden; }
.nw-persona__foto img { width: 100%; height: auto; }
.nw-persona__link { display: flex; flex-wrap: wrap; gap: var(--space-lg); }
@media (min-width: 768px) { .nw-persona { grid-template-columns: 220px 1fr; gap: var(--space-xl); } }

/* ---------- Banner con immagine (Careers nel Team) ---------- */
.nw-banner { display: grid; background: var(--sfondo-scuro); color: var(--testo-inverso); }
.nw-banner__media { width: 100%; height: 100%; min-height: 240px; object-fit: cover; }
.nw-banner__testo { display: flex; flex-direction: column; justify-content: center; gap: var(--space-md); padding: var(--space-2xl) var(--space-lg); }
.nw-banner__testo .nw-etichetta { color: var(--testo-accento-grande); }
@media (min-width: 1024px) { .nw-banner { grid-template-columns: 1fr 1fr; } .nw-banner__testo { padding: var(--space-3xl); } }

/* ---------- Careers ---------- */
.nw-foto { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-sm); }
.nw-video iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
.nw-sezione--tenue .nw-card-icona { background: var(--sfondo-pagina); }

/* ---------- Contatti ---------- */
.nw-contatti__indirizzo { font-style: normal; color: var(--testo-secondario); line-height: var(--lh-corpo-l); }
.nw-contatti__indirizzo strong { color: var(--testo-primario); }
.nw-contatti__indirizzo a { color: var(--testo-accento); font-weight: var(--peso-semibold); }
.nw-mappa { display: block; width: 100%; height: 400px; border: 0; }
.c-contacts__ts-status { font-size: var(--fs-corpo-s); color: var(--testo-secondario); }
.j-turnstile:empty { display: none; }

/* Careers: processo di selezione */
.nw-processo { padding: 0; list-style: none; counter-reset: passo; }
.nw-processo li { counter-increment: passo; position: relative; padding-left: 3rem; }
.nw-processo li::before { content: counter(passo, decimal-leading-zero); position: absolute; left: 0; top: 0; font-family: var(--font-titoli); color: var(--testo-accento); font-weight: var(--peso-bold); }

/* ---------- Fase 3: pagine a blocchi (r-blocchi.njk) ---------- */
.nw-hero--sinistra .nw-hero__contenuto { max-width: 800px; margin-inline: 0; text-align: left; }
.nw-elenco { display: grid; gap: var(--space-sm); padding: 0; list-style: none; }
.nw-elenco li { display: flex; gap: var(--space-sm); align-items: flex-start; }
.nw-elenco .nw-icona { flex: none; width: 24px; height: 24px; color: var(--testo-accento); }
.nw-foto--larga { aspect-ratio: 2 / 1; }
.nw-aree .nw-servizio + .nw-servizio { padding-top: var(--space-xl); border-top: 1px solid var(--bordo-neutro); }
.nw-lista-card { padding: 0; list-style: none; }
.nw-lista-card > [hidden] { display: none; }
.nw-filtri button.nw-chip { font: inherit; cursor: pointer; }
.nw-premi { display: flex; flex-wrap: wrap; gap: var(--space-xl); align-items: center; padding: 0; list-style: none; }
.nw-premi img { width: 96px; height: 96px; object-fit: contain; }
.nw-dato-box--premi { justify-content: flex-start; }
.nw-dato-box--premi .nw-premi { display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: var(--space-xs); height: var(--lh-dato); margin: 0; }
.nw-dato-box--premi .nw-premi img { width: 40px; height: 40px; }
.nw-legale__griglia { display: grid; gap: var(--space-2xl); }
.nw-legale__indice ol { display: grid; gap: var(--space-xs); padding: 0; margin-top: var(--space-sm); list-style: none; }
.nw-legale__indice a { color: var(--testo-secondario); text-decoration: none; }
.nw-legale__indice a:hover, .nw-legale__indice a:focus-visible { color: var(--testo-accento); text-decoration: underline; }
.nw-legale section { scroll-margin-top: 96px; }
@media (min-width: 1024px) {
  .nw-legale__griglia { grid-template-columns: 260px minmax(0, 1fr); gap: 96px; }
  .nw-legale__indice { position: sticky; top: 32px; align-self: start; }
}
.nw-avviso { padding: var(--space-md) var(--space-lg); border-left: 3px solid var(--bordo-accento); background: var(--sfondo-tenue); font-size: var(--fs-corpo-m); }
/* Testi mancanti: "[DA DEFINIRE: …]" evidenziati finché non arriva il testo definitivo */
.nw-segnaposto { padding: 0 .25em; background: #fff1b8; color: #4a3b00; border-radius: 2px; }
.nw-hero__immagine { margin-top: var(--space-2xl); }
.nw-footer__testo { max-width: 28ch; color: rgb(255 255 255 / 75%); font-size: var(--fs-corpo-s); line-height: var(--lh-corpo-s); }

/* ---------- Round 27/10/2026: card a un livello, carosello, bollini ---------- */
.nw-card--riquadro { gap: 0; overflow: hidden; border: 1px solid var(--bordo-neutro); border-radius: var(--radius-sm); background: var(--sfondo-pagina); transition: box-shadow .2s ease, border-color .2s ease; }
.nw-card--riquadro:hover, .nw-card--riquadro:focus-within { border-color: var(--bordo-medio); box-shadow: 0 8px 24px rgb(0 17 20 / 8%); }
.nw-card--riquadro .nw-card__media { border-radius: 0; }
.nw-card__corpo { display: flex; flex: 1; flex-direction: column; gap: var(--space-sm); padding: var(--space-lg); }
.nw-card__corpo > .nw-link-azione { margin-top: auto; padding-top: var(--space-sm); }
.nw-card__area { display: flex; gap: var(--space-xs); align-items: center; }
.nw-card__area .nw-icona { width: 28px; height: 28px; color: var(--testo-accento); }
.nw-card__dati { display: grid; gap: var(--space-sm); margin: 0; font-size: var(--fs-corpo-s); line-height: var(--lh-corpo-s); }
.nw-card__dati dt { font-weight: var(--peso-semibold); color: var(--testo-primario); }
.nw-card__dati dd { margin: 0; color: var(--testo-secondario); }
.nw-elenco--compatto { gap: var(--space-xs); font-size: var(--fs-corpo-s); }
.nw-elenco--compatto .nw-icona { width: 18px; height: 18px; }
.nw-sezione--tenue .nw-card--riquadro { background: var(--sfondo-pagina); }

.nw-carosello { position: relative; }
.nw-carosello__finestra { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.nw-carosello__traccia { display: flex; gap: 0; width: max-content; padding: 0; list-style: none; animation: nw-scorri 90s linear infinite; }
.nw-carosello__traccia li { flex: none; padding-right: 120px; }   /* spazio nel li, non gap: il giro a -50% resta senza salti */
.nw-carosello:focus-visible { outline: 2px solid var(--bordo-accento); outline-offset: 4px; }
.nw-carosello__traccia img { width: 140px; height: 56px; object-fit: contain; }
.nw-carosello:hover .nw-carosello__traccia, .nw-carosello:focus-within .nw-carosello__traccia, .nw-carosello--fermo .nw-carosello__traccia { animation-play-state: paused; }
@keyframes nw-scorri { to { transform: translateX(-50%); } }
.no-js .nw-carosello__traccia { flex-wrap: wrap; width: auto; animation: none; }
.no-js .nw-carosello__traccia li[aria-hidden] { display: none; }
@media (prefers-reduced-motion: reduce) {
  .nw-carosello__traccia { flex-wrap: wrap; justify-content: center; width: auto; animation: none; }
  .nw-carosello__traccia li[aria-hidden] { display: none; }
  }
.nw-sintesi { display: grid; gap: var(--space-md); margin: 0; }
.nw-sintesi__tassello { position: relative; display: flex; flex-direction: column; gap: var(--space-sm); padding: var(--space-lg); background: var(--sfondo-pagina); border-top: 3px solid var(--bordo-accento); border-radius: var(--radius-sm); }
.nw-sintesi__tassello--risultato { background: var(--sfondo-scuro); color: var(--testo-inverso); border-top-color: var(--niew-giallo, #F2B531); }
.nw-sintesi__tassello--risultato .nw-etichetta { color: inherit; }
.nw-sintesi__icona { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: var(--sfondo-tenue); color: var(--testo-accento); font-size: 26px; }
.nw-sintesi__tassello--risultato .nw-sintesi__icona { background: rgb(255 255 255 / 12%); color: var(--testo-inverso); }
.nw-sintesi__testa { display: flex; align-items: center; gap: var(--space-sm); }
.nw-sintesi dd { margin: 0; font-size: var(--fs-corpo-l); line-height: var(--lh-corpo-l); }
.nw-sintesi strong { font-weight: var(--peso-bold); }
@media (min-width: 768px) { .nw-sintesi { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .nw-sintesi { grid-template-columns: repeat(3, 1fr); gap: var(--space-2xl); } }
.nw-chip--statico { cursor: default; }
.nw-sezione--scura .nw-chip--statico, .nw-sezione--scura .nw-chip--statico:hover { border-color: rgb(255 255 255 / 40%); background: transparent; color: var(--testo-inverso); }

/* Review del 28/10/2026: card invito in coda ai settori */
.nw-card--invito, .nw-sezione--tenue .nw-card--invito { background: var(--sfondo-scuro); color: var(--testo-inverso); border-color: transparent; }
.nw-card--invito .nw-card__corpo { justify-content: space-between; }
.nw-risultato { display: flex; gap: var(--space-md); align-items: flex-start; }
.nw-risultato > .nw-icona { flex: none; margin-top: 4px; color: var(--testo-accento); font-size: 1.5rem; }
.nw-card--invito .nw-card__testo { color: inherit; opacity: 0.85; }

/* Review del 28/10/2026 (3): pulsante della card invito a destra, più spazio sopra il carosello, premi su due colonne */
.nw-card--invito .nw-card__corpo > div:last-child { align-self: flex-end; }
.nw-carosello { margin-top: 48px; }
.nw-premi-colonne { display: grid; gap: var(--space-xl); align-items: center; }
.nw-premi-colonne .nw-premi { gap: var(--space-2xl); }
.nw-premi-colonne .nw-premi img { width: 64px; height: 64px; }
@media (min-width: 768px) { .nw-premi-colonne { grid-template-columns: 1fr 1fr; } .nw-premi-colonne .nw-premi { justify-content: flex-end; } }

/* Numeri della home con illustrazione a tratto nell’angolo in basso a destra, tagliata dal bordo (review del 28/10/2026) */
.nw-dato-box--icona { position: relative; overflow: hidden; }
.nw-dato-box--icona > p { position: relative; }
.nw-dato-box--icona, .nw-dato-box--premi { align-items: flex-start; text-align: left; }
.nw-dato-box--icona { padding-right: 96px; }
.nw-dato-box--premi .nw-premi { justify-content: flex-start; }
.nw-dato-box__sfondo { position: absolute; right: -22px; bottom: -26px; color: var(--testo-accento); opacity: 0.2; line-height: 0; pointer-events: none; transform: rotate(-8deg); }
.nw-illustrazione { width: 150px; height: 150px; }

/* Selettore della lingua nell’header: tendina (lingua corrente + chevron), tra News e Contact su desktop,
   accanto al pulsante del menu su mobile (review del 28/10/2026) */
.nw-lingua { position: relative; }
.nw-lingua__attuale { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; padding: 0 6px; list-style: none; cursor: pointer; font-size: var(--fs-menu); font-weight: var(--peso-semibold); border-radius: var(--radius-sm); }
.nw-lingua__attuale::-webkit-details-marker { display: none; }
.nw-lingua__attuale .nw-icona { width: 16px; height: 16px; transition: transform var(--transizione); }
.nw-lingua[open] .nw-lingua__attuale .nw-icona { transform: rotate(180deg); }
.nw-lingua__lista { position: absolute; top: calc(100% + 6px); right: 0; z-index: 1100; flex-direction: column; flex-wrap: nowrap; gap: 0; min-width: 176px; padding: 6px; background: var(--sfondo-pagina); color: var(--testo-primario); border: 1px solid var(--bordo-neutro); border-radius: var(--radius-sm); box-shadow: 0 12px 32px rgb(0 17 20 / 14%); font-size: var(--fs-corpo-m); }
.nw-lingua__lista a { display: flex; align-items: center; gap: var(--space-sm); padding: 10px 12px; border-radius: var(--radius-sm); opacity: 1; color: var(--testo-primario); }
.nw-lingua__lista a:hover, .nw-lingua__lista a:focus-visible { background: var(--sfondo-tenue); text-decoration: none; }
.nw-lingua__lista a[aria-current] { text-decoration: none; font-weight: var(--peso-semibold); color: var(--testo-accento); }
.nw-lingua__codice { min-width: 22px; font-size: var(--fs-corpo-s); font-weight: var(--peso-semibold); opacity: 0.6; }
.nw-lingua--mobile { margin-left: auto; margin-right: var(--space-xs); }
@media (min-width: 1024px) { .nw-lingua--mobile { display: none; } }
/* Header tra 1024 e 1279px: menu, lingue e Contact devono stare accanto al logo senza toccarlo */
@media (min-width: 1024px) and (max-width: 1279px) {
  .nw-nav, .nw-nav__lista { gap: var(--space-lg); }
  .nw-header__logo svg { height: 24px; }
}

/* Numeri della home animati (redesign.js, review del 28/10/2026). nw-conteggio arriva da hero-rotazione.js prima del primo
   disegno: numeri e illustrazioni restano nascosti finché lo script non li prepara (se lo script non parte, compaiono dopo 3 s). */
.nw-conteggio .nw-dato-box--icona .nw-dato, .nw-conteggio .nw-dato-box--icona .nw-dato-box__sfondo { animation: nw-comparsa 0s 3s both; }
.nw-conteggio--pronto .nw-dato-box--icona .nw-dato, .nw-conteggio--pronto .nw-dato-box--icona .nw-dato-box__sfondo { animation: none; }
@keyframes nw-comparsa { from { visibility: hidden; } to { visibility: visible; } }
.nw-dato__cifra { font-variant-numeric: tabular-nums; }
.nw-conteggio--pronto .nw-dato__suffisso { opacity: 0; transition: opacity 0.4s ease; }
.nw-conteggio--pronto .nw-dato-box--fatto .nw-dato__suffisso { opacity: 1; }
.nw-conteggio--pronto .nw-illustrazione * { transition: stroke-dashoffset 2.2s cubic-bezier(0.65, 0, 0.35, 1), fill-opacity 1s ease 1.4s, opacity 1s ease 1s; }

/* Tratti a pennarello nei titoli (redesign.js): sottolineatura o cerchio nel ciano del logo, disegnati dopo il caricamento.
   Il tracciato è in pixel (redesign.js) e resta invisibile finché lo script non lo prepara. */
.nw-tratto { position: relative; display: inline-block; white-space: nowrap; }
.nw-tratto__segno { position: absolute; max-width: none; overflow: visible; pointer-events: none; fill: none; stroke: var(--niew-ciano-500); stroke-linecap: round; stroke-linejoin: round; }
.nw-tratto__segno path { stroke-dashoffset: var(--nw-l); }
.nw-tratto--disegnato .nw-tratto__segno path { animation: nw-traccia 0.75s cubic-bezier(0.55, 0, 0.3, 1) both; }
.nw-tratto--disegnato[data-tratto="cerchio"] .nw-tratto__segno path { animation-duration: 1s; }
.nw-tratto--disegnato .nw-tratto__segno path + path { animation-duration: 0.5s; }
@keyframes nw-traccia { from { stroke-dashoffset: var(--nw-l); } to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .nw-tratto__segno path { stroke-dashoffset: 0 !important; } }
