/*
 * NES – template Joomla 6
 * Stile "vetro e luce". Caratteri: Archivo (titoli) e Inter (testo), ospitati sul sito (SIL OFL 1.1).
 */

@font-face {
  font-family: "Archivo NES";
  src: url("../fonts/archivo-var.woff2") format("woff2-variations"), url("../fonts/archivo-var.woff2") format("woff2");
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Inter NES";
  src: url("../fonts/inter-var.woff2") format("woff2-variations"), url("../fonts/inter-var.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* ---------- Token ---------- */
:root {
  --nes-ink: #121517;
  --nes-ink-2: #2e3a3d;
  --nes-muted: #4a5458;
  --nes-muted-on-dark: #c9d2d4;
  --nes-ground: #f4f6f6;
  --nes-white: #ffffff;
  --nes-accent: #1f6f6b;          /* testo e pulsanti: contrasto AA su bianco */
  --nes-brand: #3c9894;           /* verde acqua del logo: decorazioni e testi grandi */
  --nes-accent-on-dark: #7fd0ca;
  --nes-tint: #e3f1f0;
  --nes-sun: #f2b33d;
  --nes-line: rgba(18, 21, 23, 0.08);
  --nes-line-strong: rgba(18, 21, 23, 0.16);
  --nes-glass: rgba(255, 255, 255, 0.74);
  --nes-glass-border: rgba(255, 255, 255, 0.9);
  --nes-shadow: 0 30px 60px -36px rgba(18, 21, 23, 0.35);
  --nes-shadow-strong: 0 40px 80px -30px rgba(18, 21, 23, 0.35);

  --nes-font-display: "Archivo NES", "Archivo", system-ui, sans-serif;
  --nes-font-body: "Inter NES", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

  --nes-radius-s: 12px;
  --nes-radius: 20px;
  --nes-radius-l: 28px;
  --nes-container: 1240px;
  --nes-gutter: clamp(16px, 3vw, 32px);
  --nes-section-y: clamp(72px, 9vw, 112px);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 96px; }
body {
  margin: 0;
  background: var(--nes-ground);
  color: var(--nes-ink);
  font-family: var(--nes-font-body);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--nes-accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--nes-ink); }
:focus-visible { outline: 3px solid var(--nes-brand); outline-offset: 3px; border-radius: 6px; }
h1, h2, h3, h4 { font-family: var(--nes-font-display); line-height: 1.08; letter-spacing: -0.015em; margin: 0 0 0.5em; }
p { margin: 0 0 1em; }
[hidden] { display: none !important; }
.nes-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nes-skip { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--nes-ink); color: #fff; padding: 12px 18px; border-radius: 999px; }
.nes-skip:focus { top: 12px; color: #fff; }

/* ---------- Tipografia ---------- */
.nes-h1 { font-size: clamp(42px, 6.2vw, 76px); line-height: 0.98; font-weight: 800; font-stretch: 92%; letter-spacing: -0.025em; }
.nes-h2 { font-size: clamp(32px, 4.2vw, 50px); line-height: 1.05; font-weight: 800; font-stretch: 92%; letter-spacing: -0.02em; }
.nes-h3 { font-size: clamp(21px, 2vw, 26px); font-weight: 700; }
.nes-lead { font-size: clamp(18px, 1.6vw, 20px); line-height: 1.55; color: var(--nes-muted); max-width: 60ch; }
.nes-eyebrow { display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nes-accent); margin: 0 0 12px; }
.nes-accent { color: var(--nes-accent); }
.nes-muted { color: var(--nes-muted); }
.nes-small { font-size: 13px; line-height: 1.5; color: var(--nes-muted); }

/* ---------- Layout ---------- */
.nes-container { width: 100%; max-width: calc(var(--nes-container) + 2 * var(--nes-gutter)); margin: 0 auto; padding-inline: var(--nes-gutter); }
.nes-section { padding-block: var(--nes-section-y); }
.nes-section--white { background: var(--nes-white); border-block: 1px solid var(--nes-line); }
.nes-section--dark { background: var(--nes-ink); color: #fff; }
.nes-section--dark .nes-eyebrow { color: var(--nes-accent-on-dark); }
.nes-section--dark .nes-lead, .nes-section--dark .nes-muted { color: var(--nes-muted-on-dark); }
.nes-section--dark a:not(.nes-btn) { color: var(--nes-accent-on-dark); }
.nes-section--light { background: radial-gradient(900px 480px at 85% 0%, rgba(60, 152, 148, 0.14), rgba(244, 246, 246, 0) 70%), var(--nes-ground); }
.nes-section--compact { padding-block: clamp(32px, 4vw, 48px); }
.nes-section__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 48px; margin-bottom: 40px; }
.nes-section__head > div { max-width: 720px; }
.nes-section__head .nes-h2 { margin: 0; }
.nes-section__head p { margin: 0; max-width: 400px; color: var(--nes-muted); }
.nes-split { display: flex; flex-wrap: wrap; gap: 48px 72px; align-items: center; }
.nes-split > * { flex: 1 1 420px; min-width: 0; }

.nes-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.nes-grid--4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.nes-grid--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }
.nes-grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.nes-grid--gap-l { gap: 20px; }
.nes-span-all { grid-column: 1 / -1; }

/* ---------- Pulsanti ---------- */
.nes-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 14px 26px; border-radius: 999px; border: 1px solid transparent;
  font: 600 16px/1.2 var(--nes-font-body); text-decoration: none; cursor: pointer;
  transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.nes-btn:hover { transform: translateY(-1px); }
.nes-btn--accent { background: var(--nes-accent); color: #fff; }
.nes-btn--accent:hover { background: var(--nes-ink); color: #fff; }
.nes-btn--dark { background: var(--nes-ink); color: #fff; }
.nes-btn--dark:hover { background: var(--nes-accent); color: #fff; }
.nes-btn--light { background: #fff; color: var(--nes-ink); border-color: rgba(18, 21, 23, 0.12); }
.nes-btn--light:hover { color: var(--nes-accent); }
.nes-btn--ghost-dark { background: rgba(255, 255, 255, 0.08); color: #fff; border-color: rgba(255, 255, 255, 0.28); }
.nes-btn--ghost-dark:hover { background: #fff; color: var(--nes-ink); }
.nes-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.nes-link { font-weight: 600; text-decoration: none; display: inline-block; padding: 8px 0; }
.nes-link::after { content: " →"; }

/* ---------- Pillole e selettori ---------- */
.nes-pill { display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; padding: 7px 12px; border-radius: 999px; background: var(--nes-tint); color: var(--nes-accent); }
.nes-pill--outline { background: #fff; color: var(--nes-muted); border: 1px solid var(--nes-line); }
.nes-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.nes-chip {
  min-height: 44px; padding: 10px 18px; border-radius: 999px; cursor: pointer;
  font: 600 15px/1.2 var(--nes-font-body); background: #fff; color: var(--nes-ink); border: 1px solid var(--nes-line-strong);
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.nes-chip[aria-pressed="true"] { background: var(--nes-ink); color: #fff; border-color: var(--nes-ink); }
.nes-section--dark .nes-chip { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.3); }
.nes-section--dark .nes-chip[aria-pressed="true"] { background: var(--nes-accent-on-dark); color: var(--nes-ink); border-color: var(--nes-accent-on-dark); }

/* ---------- Superfici ---------- */
.nes-card { background: #fff; border: 1px solid var(--nes-line); border-radius: var(--nes-radius); padding: 28px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.nes-card > :last-child { margin-bottom: 0; }
.nes-card p { margin: 0; color: var(--nes-muted); font-size: 15px; line-height: 1.55; }
.nes-card .nes-link { margin-top: auto; }
.nes-card--dark { background: var(--nes-ink); color: #fff; border-color: var(--nes-ink); }
.nes-card--dark p { color: var(--nes-muted-on-dark); }
.nes-card--dark .nes-link { color: var(--nes-accent-on-dark); }
.nes-card--tint { background: var(--nes-tint); border-color: rgba(31, 111, 107, 0.18); }
.nes-card--tint p { color: var(--nes-ink-2); }
.nes-card--soft { background: rgba(255, 255, 255, 0.7); }
.nes-card--on-dark { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.12); color: #fff; }
.nes-card--on-dark p { color: var(--nes-muted-on-dark); }
a.nes-card { text-decoration: none; color: inherit; transition: transform .25s ease, box-shadow .25s ease; }
a.nes-card:hover { transform: translateY(-3px); box-shadow: var(--nes-shadow); color: inherit; }
.nes-glass {
  background: var(--nes-glass);
  -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
  border: 1px solid var(--nes-glass-border); border-radius: var(--nes-radius);
  box-shadow: 0 20px 40px -20px rgba(18, 21, 23, 0.35);
}
.nes-icon { width: 40px; height: 40px; color: var(--nes-accent); }
.nes-card--dark .nes-icon { color: var(--nes-accent-on-dark); }

/* ---------- Intestazione ---------- */
.nes-header { position: sticky; top: 0; z-index: 50; background: rgba(244, 246, 246, 0.82); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(18, 21, 23, 0.06); transition: box-shadow .3s ease; }
.nes-header.is-scrolled { box-shadow: 0 10px 30px -20px rgba(18, 21, 23, 0.4); }
.nes-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px 32px; min-height: 76px; }
.nes-header__brand img { display: block; height: 44px; width: auto; }
.nes-header__nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 28px; }
.nes-header__nav li { position: relative; }
.nes-header__nav a, .nes-header__nav .mod-menu__heading, .nes-header__nav .nav-header { display: block; padding: 10px 0; color: var(--nes-ink); text-decoration: none; font-size: 15px; font-weight: 500; }
.nes-header__nav a:hover, .nes-header__nav .current > a, .nes-header__nav .active > a { color: var(--nes-accent); }
.nes-header__nav .current > a { font-weight: 600; }
.nes-header__nav ul ul { display: none; position: absolute; top: 100%; left: -16px; min-width: 240px; flex-direction: column; gap: 0; padding: 10px 16px; background: #fff; border: 1px solid var(--nes-line); border-radius: var(--nes-radius-s); box-shadow: var(--nes-shadow); }
.nes-header__nav li:hover > ul, .nes-header__nav li:focus-within > ul { display: flex; }
.nes-header__nav .mod-menu__toggle-sub { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 8px; padding: 10px 0; cursor: pointer; color: var(--nes-ink); font-size: 15px; font-weight: 500; }
.nes-header__nav .mod-menu__toggle-sub:hover { color: var(--nes-accent); }
.nes-header__nav .mod-menu__toggle-sub:focus-visible { outline: 2px solid var(--nes-accent); outline-offset: 4px; border-radius: 4px; }
.nes-header__nav .mod-menu__toggle-sub .mod-menu__heading { padding: 0; color: inherit; font: inherit; }
.nes-header__nav .mod-menu__toggle-sub .icon-chevron-down { width: 6px; height: 6px; margin-top: -3px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.nes-header__nav .mod-menu__toggle-sub .icon-chevron-down::before { content: none; }
.nes-header__nav .mod-menu__sub { font-size: inherit; }
.nes-header__actions { display: flex; align-items: center; gap: 16px; }
.nes-header__phone { color: var(--nes-muted); text-decoration: none; font-size: 15px; font-weight: 500; white-space: nowrap; }
.nes-header__actions .nes-btn { min-height: 44px; padding: 11px 20px; font-size: 15px; }
.nes-header__toggle { display: none; width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; border-radius: 12px; }
.nes-burger, .nes-burger::before, .nes-burger::after { display: block; width: 22px; height: 2px; background: var(--nes-ink); border-radius: 2px; position: relative; transition: transform .25s ease, opacity .25s ease; margin: 0 auto; }
.nes-burger::before, .nes-burger::after { content: ""; position: absolute; left: 0; }
.nes-burger::before { top: -7px; }
.nes-burger::after { top: 7px; }
.nes-header__toggle[aria-expanded="true"] .nes-burger { background: transparent; }
.nes-header__toggle[aria-expanded="true"] .nes-burger::before { transform: translateY(7px) rotate(45deg); }
.nes-header__toggle[aria-expanded="true"] .nes-burger::after { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 1080px) {
  .nes-header__inner { flex-wrap: wrap; }
  .nes-header__toggle { display: block; order: 2; margin-left: auto; }
  .nes-header__actions { order: 1; margin-left: auto; }
  .nes-header__phone { display: none; }
  .nes-header__nav { order: 3; flex-basis: 100%; display: none; padding: 8px 0 20px; }
  .nes-header__nav.is-open { display: block; }
  .nes-header__nav ul { flex-direction: column; gap: 0; }
  .nes-header__nav a { padding: 12px 0; font-size: 17px; border-bottom: 1px solid var(--nes-line); }
  .nes-header__nav .mod-menu__toggle-sub { width: 100%; padding: 12px 0; font-size: 17px; border-bottom: 1px solid var(--nes-line); }
  .nes-header__nav ul ul { display: flex; position: static; box-shadow: none; border: 0; padding: 0 0 0 16px; background: transparent; }
}
@media (max-width: 560px) {
  .nes-header__actions .nes-btn { display: none; }
  .nes-header__brand img { height: 38px; }
}

/* ---------- Hero ---------- */
.nes-hero { position: relative; overflow: hidden; background: radial-gradient(1100px 520px at 78% 8%, rgba(60, 152, 148, 0.16), rgba(244, 246, 246, 0) 70%), var(--nes-ground); }
.nes-hero__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 56px; padding-block: clamp(56px, 7vw, 88px) clamp(64px, 8vw, 96px); }
.nes-hero__text { flex: 1 1 500px; min-width: 0; display: flex; flex-direction: column; gap: 26px; }
.nes-hero__text > * { margin: 0; }
.nes-hero__visual { flex: 1 1 460px; min-width: 0; position: relative; }
.nes-hero--dark { background: var(--nes-ink); color: #fff; }
.nes-hero--dark .nes-lead { color: #dde4e5; }
.nes-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.38; }
.nes-hero--dark::after { content: ""; position: absolute; inset: 0; background: radial-gradient(900px 600px at 15% 70%, rgba(18, 21, 23, 0.92), rgba(18, 21, 23, 0.35) 75%); pointer-events: none; }
.nes-hero--dark .nes-hero__inner { position: relative; z-index: 1; }

/* Slideshow */
.nes-slides { position: relative; height: clamp(360px, 42vw, 540px); border-radius: var(--nes-radius-l); overflow: hidden; background: var(--nes-ink); box-shadow: var(--nes-shadow-strong); }
.nes-slides__item { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1.1s ease; }
.nes-slides__item.is-active { opacity: 1; }
.nes-slides__item img { width: 100%; height: 100%; object-fit: cover; transform: scale(1); transition: transform 6.5s ease-out; }
.nes-slides__item.is-active img { transform: scale(1.04); }
.nes-slides__item figcaption { display: none; }
.nes-slides__controls { position: absolute; right: 16px; bottom: 16px; display: flex; align-items: center; gap: 2px; padding: 0 6px 0 10px; border-radius: 999px; }
.nes-slides__dot { border: 0; background: transparent; padding: 18px 4px; cursor: pointer; display: flex; }
.nes-slides__dot span { display: block; width: 8px; height: 8px; border-radius: 999px; background: rgba(18, 21, 23, 0.35); transition: width .3s ease, background-color .3s ease; }
.nes-slides__dot[aria-current="true"] span { width: 26px; background: var(--nes-ink); }
.nes-slides__pause { border: 0; background: transparent; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--nes-ink); }
.nes-slides__pause svg { width: 16px; height: 16px; }
.nes-slides__pause .nes-ico-play { display: none; }
.nes-slides.is-paused .nes-slides__pause .nes-ico-play { display: block; }
.nes-slides.is-paused .nes-slides__pause .nes-ico-pause { display: none; }
.nes-slides__caption { position: absolute; left: -28px; bottom: 36px; max-width: 300px; padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; }
.nes-slides__caption strong { font-family: var(--nes-font-display); font-size: 20px; }
.nes-slides__caption span { font-size: 14px; line-height: 1.45; color: var(--nes-muted); }
.nes-slides__caption .nes-slides__tag { font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--nes-accent); }
@media (max-width: 720px) { .nes-slides__caption { left: 12px; right: 12px; bottom: 72px; max-width: none; } }

/* ---------- Numeri ---------- */
.nes-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 32px; }
.nes-stat { display: flex; flex-direction: column; gap: 6px; }
.nes-stat strong { font-family: var(--nes-font-display); font-size: clamp(38px, 4vw, 48px); font-weight: 800; letter-spacing: -0.02em; line-height: 1; }
.nes-stat span { font-size: 15px; line-height: 1.45; color: var(--nes-muted); }
.nes-stat--text strong { font-size: 22px; line-height: 1.15; padding-top: 6px; }

/* ---------- Passi ---------- */
.nes-steps { list-style: none; margin: 0; padding: 0; counter-reset: nes-step; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 16px; }
.nes-steps > li { counter-increment: nes-step; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: var(--nes-radius); padding: 26px; display: flex; flex-direction: column; gap: 8px; }
.nes-steps > li::before { content: counter(nes-step, decimal-leading-zero); font-family: var(--nes-font-display); font-weight: 800; font-size: 15px; color: var(--nes-accent-on-dark); }
.nes-steps strong { font-family: var(--nes-font-display); font-size: 22px; }
.nes-steps p { margin: 0; color: var(--nes-muted-on-dark); font-size: 15px; line-height: 1.5; }
.nes-steps--list { grid-template-columns: 1fr; gap: 12px; }
.nes-steps--list > li { flex-direction: row; align-items: flex-start; gap: 20px; background: #fff; border-color: var(--nes-line); }
.nes-steps--list > li::before { color: var(--nes-accent); min-width: 28px; }
.nes-steps--list p { color: var(--nes-muted); }

/* ---------- Progetti ---------- */
.nes-project { position: relative; border-radius: 24px; overflow: hidden; min-height: 420px; background: var(--nes-ink); min-width: 0; }
.nes-project > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.nes-project:hover > img { transform: scale(1.03); }
.nes-project__body { position: absolute; left: 20px; right: 20px; bottom: 20px; padding: 20px 22px; display: flex; flex-direction: column; gap: 6px; }
.nes-project__body .nes-pill { align-self: flex-start; padding: 0; background: none; font-size: 12px; letter-spacing: 0.06em; }
.nes-project__body strong { font-family: var(--nes-font-display); font-size: 24px; }
.nes-project__body p { margin: 0; font-size: 15px; line-height: 1.45; color: var(--nes-ink-2); }
.nes-project--wide { min-height: 460px; }
.nes-project--row { display: flex; flex-wrap: wrap; min-height: 0; background: #fff; border: 1px solid var(--nes-line); }
.nes-project--row > img { position: static; flex: 1 1 380px; min-width: 0; height: 440px; }
.nes-project--row .nes-project__body { position: static; flex: 1 1 420px; padding: 40px; justify-content: center; }

/* ---------- Marchi ---------- */
.nes-brands { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 120px), 1fr)); gap: 10px; }
.nes-brand { display: flex; align-items: center; justify-content: center; height: 76px; padding: 0 18px; border-radius: 16px; background: var(--nes-ground); }
.nes-brand img { max-height: 36px; width: auto; max-width: 100%; }
.nes-brands--inline { display: flex; flex-wrap: wrap; gap: 10px; }
.nes-brands--inline .nes-brand { height: 48px; background: transparent; border: 1px solid var(--nes-line); border-radius: 12px; font-weight: 600; font-size: 15px; color: var(--nes-ink-2); }
.nes-brands--inline .nes-brand img { max-height: 24px; filter: grayscale(1); opacity: 0.8; transition: filter .3s ease, opacity .3s ease; }
.nes-brands--inline .nes-brand:hover img { filter: none; opacity: 1; }

/* ---------- Recensioni ---------- */
.nes-rating { display: flex; flex-direction: column; gap: 8px; padding: 24px 26px; border-radius: var(--nes-radius); background: var(--nes-ink); color: #fff; text-decoration: none; }
.nes-rating:hover { color: #fff; }
.nes-rating__score { font-family: var(--nes-font-display); font-size: 44px; font-weight: 800; line-height: 1; }
.nes-rating__stars { color: var(--nes-sun); letter-spacing: 2px; font-size: 18px; }
.nes-quote { margin: 0; padding: 24px 26px; border-radius: var(--nes-radius); background: #fff; border: 1px solid var(--nes-line); display: flex; flex-direction: column; gap: 12px; }
.nes-quote blockquote { margin: 0; font-size: 17px; line-height: 1.5; }
.nes-quote figcaption { font-size: 14px; font-weight: 600; color: var(--nes-accent); }

/* ---------- Domande frequenti ---------- */
.nes-faq { display: flex; flex-direction: column; gap: 10px; }
.nes-faq details { background: #fff; border: 1px solid var(--nes-line); border-radius: 18px; }
.nes-faq summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 24px; font-size: 18px; font-weight: 600; }
.nes-faq summary::-webkit-details-marker { display: none; }
.nes-faq summary::after { content: "+"; flex: none; width: 32px; height: 32px; border-radius: 999px; background: var(--nes-ground); display: flex; align-items: center; justify-content: center; font-size: 20px; color: var(--nes-accent); }
.nes-faq details[open] summary::after { content: "–"; }
.nes-faq details > div { padding: 0 24px 22px; color: var(--nes-muted); }

/* ---------- Moduli e form ---------- */
.nes-form { display: flex; flex-direction: column; gap: 18px; }
.nes-form--panel { padding: clamp(22px, 3vw, 32px); border-radius: var(--nes-radius-l); background: rgba(255, 255, 255, 0.8); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); border: 1px solid rgba(255, 255, 255, 0.95); box-shadow: var(--nes-shadow); }
.nes-form .nes-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; }
.nes-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; }
.nes-form input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), .nes-form select, .nes-form textarea {
  width: 100%; padding: 14px 16px; border-radius: var(--nes-radius-s); border: 1px solid var(--nes-line-strong); background: #fff;
  font: 400 16px/1.4 var(--nes-font-body); color: var(--nes-ink);
}
.nes-form textarea { resize: vertical; min-height: 110px; }
.nes-form input:focus, .nes-form select:focus, .nes-form textarea:focus { outline: none; border-color: var(--nes-accent); box-shadow: 0 0 0 3px rgba(31, 111, 107, 0.18); }
.nes-form fieldset { border: 0; margin: 0; padding: 0; }
.nes-form legend { font-size: 14px; font-weight: 600; padding: 0; margin-bottom: 10px; }
.nes-form .nes-check { flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 400; color: var(--nes-muted); line-height: 1.45; }
.nes-form .nes-check input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--nes-brand); flex: none; }
.nes-form button[type="submit"] { align-self: flex-start; }
.nes-form .nes-hp { position: absolute; left: -9999px; }
.nes-form__status { font-weight: 600; }
.nes-form__status[data-state="ok"] { color: var(--nes-accent); }
.nes-form__status[data-state="error"] { color: #b42318; }
.nes-segmented { display: flex; flex-wrap: wrap; gap: 8px; }
.nes-segmented label { flex-direction: row; align-items: center; gap: 8px; padding: 11px 16px; border-radius: 999px; border: 1px solid var(--nes-line-strong); font-weight: 500; font-size: 15px; cursor: pointer; }
.nes-segmented input { accent-color: var(--nes-brand); }
.nes-segmented label:has(input:checked) { background: var(--nes-ink); color: #fff; border-color: var(--nes-ink); }

/* ---------- Simulatore fotovoltaico ---------- */
.nes-sim { display: flex; flex-wrap: wrap; gap: 20px; }
.nes-sim__inputs { flex: 1 1 440px; gap: 28px; padding: 32px; }
.nes-sim__inputs fieldset { border: 0; margin: 0; padding: 0; }
.nes-sim__inputs legend { font-size: 15px; font-weight: 600; color: #fff; padding: 0; margin-bottom: 12px; }
.nes-sim__range { display: flex; flex-direction: column; gap: 12px; color: #fff; font-weight: 600; font-size: 15px; }
.nes-sim__range strong { font-family: var(--nes-font-display); font-size: 28px; font-weight: 800; }
.nes-sim__range input { width: 100%; accent-color: var(--nes-accent-on-dark); height: 28px; }
.nes-sim__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.nes-sim__result { flex: 1 1 460px; min-width: 0; background: var(--nes-ground); color: var(--nes-ink); border-radius: 24px; padding: 32px; display: flex; flex-direction: column; gap: 20px; }
.nes-sim__result .nes-eyebrow { color: var(--nes-accent); margin: 0; }
.nes-sim__size { margin: 6px 0 0; font-family: var(--nes-font-display); font-size: clamp(34px, 4vw, 44px); font-weight: 800; letter-spacing: -0.02em; line-height: 1; }
.nes-sim__kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: 12px; }
.nes-sim__kpis > div { background: #fff; border-radius: 16px; padding: 18px; display: flex; flex-direction: column; gap: 4px; }
.nes-sim__kpis > div.is-accent { background: var(--nes-tint); }
.nes-sim__kpis span { font-size: 13px; color: var(--nes-muted); }
.nes-sim__kpis strong { font-family: var(--nes-font-display); font-size: 24px; font-weight: 800; }
.nes-sim__kpis .is-accent strong { color: var(--nes-accent); }
.nes-sim__tiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 12px; }
.nes-sim__tier { border-radius: 16px; padding: 18px 20px; background: #fff; border: 1px solid var(--nes-line); display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.nes-sim__tier strong { font-family: var(--nes-font-display); font-size: 18px; }
.nes-sim__tier b { font-family: var(--nes-font-display); font-size: 20px; font-weight: 800; padding-top: 4px; }
.nes-sim__tier small { font-size: 12px; opacity: 0.75; padding-top: 6px; border-top: 1px solid var(--nes-line); }
.nes-sim__tier--premium { background: var(--nes-ink); color: #fff; border-color: var(--nes-ink); }
.nes-sim__tier--premium .nes-small { color: var(--nes-muted-on-dark); }
.nes-sim__tier--premium small { border-color: rgba(255, 255, 255, 0.2); }
.nes-sim__gain { font-size: 14px; font-weight: 600; padding-top: 4px; }
.nes-sim .nes-btn { align-self: flex-start; }

/* ---------- Pagine a sezioni (articoli con classe pagina "nes-landing") ---------- */
.nes-landing-content .com-content-article > .page-header,
.nes-landing-content .com-content-article .article-info,
.nes-landing-content .com-content-article .icons,
.nes-landing-content .com-content-article .tags { display: none; }
.nes-landing-content .com-content-article__body > :first-child { margin-top: 0; }

/* Testi lunghi dentro le pagine a sezioni (privacy, cookie) */
.nes-article { display: flex; flex-direction: column; }
.nes-article h1 { margin: 6px 0 12px; }
.nes-article h2 { font-size: clamp(22px, 2.4vw, 28px); margin: 1.6em 0 0.4em; }
.nes-article p, .nes-article li { font-size: 17px; line-height: 1.65; }
.nes-article ul { padding-left: 22px; display: grid; gap: 8px; }
.nes-draft-note { background: #fff6df; border: 1px solid #f2d48a; border-radius: var(--nes-radius-s); padding: 14px 18px; font-size: 15px !important; }

/* Scheda "in breve" (Chi siamo) */
.nes-facts { margin: 0; display: grid; grid-template-columns: minmax(130px, 200px) 1fr; border-top: 1px solid var(--nes-line); }
.nes-facts dt, .nes-facts dd { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--nes-line); font-size: 16px; line-height: 1.5; }
.nes-facts dt { font-weight: 600; color: var(--nes-ink); padding-right: 20px; }
.nes-facts dd { color: var(--nes-ink-2); }
@media (max-width: 560px) { .nes-facts { grid-template-columns: 1fr; } .nes-facts dt { border-bottom: 0; padding-bottom: 0; } }

/* Correzioni contrasto su sezioni scure */
.nes-steps--list > li { color: var(--nes-ink); }
.nes-section--dark .nes-stat span { color: var(--nes-muted-on-dark); }
.nes-section--dark .nes-card--tint { color: var(--nes-ink); }
.nes-section--dark .nes-card--tint .nes-link, .nes-hero--dark .nes-card--tint .nes-link { color: var(--nes-accent); }

/* ---------- Contenuti (articoli) ---------- */
.nes-content { padding-block: clamp(48px, 6vw, 80px); }
.nes-content--sidebar { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; }
@media (max-width: 960px) { .nes-content--sidebar { grid-template-columns: 1fr; } }
.nes-content__main { max-width: 820px; }
.nes-content--sidebar .nes-content__main { max-width: none; }
.nes-content .page-header h1, .nes-content .page-header h2, .nes-content h1 { font-size: clamp(36px, 4.6vw, 56px); font-weight: 800; font-stretch: 92%; letter-spacing: -0.02em; }
.nes-content h2 { font-size: clamp(26px, 3vw, 34px); margin-top: 1.6em; }
.nes-content h3 { font-size: 22px; margin-top: 1.4em; }
.nes-content .com-content-article__body img { border-radius: var(--nes-radius); }
.nes-content .article-info { font-size: 14px; color: var(--nes-muted); margin: 0 0 1.5em; display: flex; flex-wrap: wrap; gap: 4px 16px; }
.nes-content .article-info dt { display: none; }
.nes-content .article-info dd { margin: 0; }
.nes-content .blog-item, .nes-content .com-content-category-blog__item { background: #fff; border: 1px solid var(--nes-line); border-radius: var(--nes-radius); padding: 28px; margin-bottom: 20px; }
.nes-content .pagination, .nes-content .com-content-category-blog__pagination { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; }
.nes-breadcrumbs { padding-top: 24px; font-size: 14px; color: var(--nes-muted); }
.nes-breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.nes-breadcrumbs li + li::before { content: "/"; margin-right: 6px; color: var(--nes-line-strong); }
.nes-breadcrumbs .mod-breadcrumbs__divider { display: none; }
.nes-breadcrumbs .mod-breadcrumbs__divider + li::before { content: none; }
.nes-breadcrumbs a { color: var(--nes-muted); text-decoration: none; }
joomla-alert, .alert { display: block; border-radius: var(--nes-radius-s); padding: 14px 18px; margin: 20px 0; background: var(--nes-tint); color: var(--nes-ink); }

/* ---------- Piè di pagina ---------- */
.nes-footer { background: var(--nes-ink); color: var(--nes-muted-on-dark); }
.nes-footer__inner { padding-block: 72px 40px; display: flex; flex-direction: column; gap: 40px; }
.nes-footer__claim { margin: 0; font-family: var(--nes-font-display); font-size: clamp(36px, 5vw, 56px); line-height: 1.02; font-weight: 800; font-stretch: 92%; letter-spacing: -0.02em; color: #fff; }
.nes-footer__claim span { color: var(--nes-accent-on-dark); }
.nes-footer__grid { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 32px; }
.nes-footer__brand { display: flex; flex-direction: column; gap: 18px; }
.nes-footer__brand img { height: 52px; width: auto; max-width: 100%; align-self: flex-start; object-fit: contain; }
.nes-footer address { font-style: normal; display: flex; flex-direction: column; gap: 6px; font-size: 15px; }
.nes-footer a { color: var(--nes-muted-on-dark); text-decoration: none; }
.nes-footer a:hover { color: #fff; }
.nes-footer__nav ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 8px 48px; font-size: 15px; min-width: min(100%, 520px); }
.nes-footer__nav a { display: block; padding: 6px 0; }
.nes-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.12); font-size: 13px; color: #9aa6a9; }
.nes-footer__legal ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 16px; }
.nes-footer__legal p { margin: 0; }
.nes-footer__nav { flex: 1 1 560px; max-width: 780px; }
.nes-footer__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 24px 40px; }
.nes-footer__cols ul { display: block; min-width: 0; }
.nes-footer__cols li a { display: inline-block; padding: 5px 0; }
.nes-footer__head { margin: 0 0 6px; color: #fff; font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.nes-footer__cols ul + .nes-footer__head { margin-top: 20px; }

/* ---------- Pagina d'errore / offline ---------- */
.nes-error { min-height: 100vh; display: flex; align-items: center; background: radial-gradient(1000px 520px at 80% 0%, rgba(60, 152, 148, 0.16), rgba(244, 246, 246, 0) 70%), var(--nes-ground); }
.nes-error__inner { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; padding-block: 80px; }
.nes-error__inner .nes-h1, .nes-error__inner p { margin: 0; }
.nes-error__debug { white-space: pre-wrap; font-size: 13px; background: #fff; padding: 16px; border-radius: 12px; }
.nes-offline-form { width: min(100%, 420px); }

/* ---------- Animazioni ---------- */
.nes-animate [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
.nes-animate [data-reveal].is-visible { opacity: 1; transform: none; }
.nes-animate [data-reveal="delay-1"] { transition-delay: .08s; }
.nes-animate [data-reveal="delay-2"] { transition-delay: .16s; }
.nes-animate [data-reveal="delay-3"] { transition-delay: .24s; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .nes-animate [data-reveal] { opacity: 1; transform: none; }
  .nes-slides__item.is-active img { transform: none; }
}

@media print {
  .nes-header, .nes-footer, .nes-slides__controls { display: none; }
  body { background: #fff; }
}

/* ---------- Guide ---------- */
.nes-toc { gap: 12px; }
.nes-toc ol { margin: 0; padding-left: 20px; display: grid; gap: 8px; font-size: 15px; }
.nes-toc a { color: var(--nes-ink-2); text-decoration: none; }
.nes-toc a:hover { color: var(--nes-accent); text-decoration: underline; }
.nes-guide h2 { scroll-margin-top: 96px; }
.nes-guide ol { padding-left: 22px; display: grid; gap: 10px; }
.nes-guide ol li, .nes-guide ul li { font-size: 17px; line-height: 1.65; }
.nes-guide a:not(.nes-link):not(.nes-btn) { color: var(--nes-accent); }
.nes-guide__cta { margin-top: 40px; }
.nes-guide__cta strong { font-family: var(--nes-font-display); font-size: 20px; }

/* ---------- Galleria foto ---------- */
.nes-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px; }
.nes-gallery figure { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.nes-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--nes-radius); display: block; background: var(--nes-tint); }
.nes-gallery figcaption { font-size: 14px; color: var(--nes-muted); }
.nes-gallery--mini { grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 8px; }
.nes-gallery--mini img { border-radius: var(--nes-radius-s); aspect-ratio: 1; }

/* Simulatore di valorizzazione */
.nes-sim__field { display: flex; flex-direction: column; gap: 10px; color: #fff; font-weight: 600; font-size: 15px; }
.nes-sim__field select, .nes-sim__field input { width: 100%; min-height: 48px; padding: 10px 14px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.3); background: #fff; color: var(--nes-ink); font: inherit; font-weight: 500; }
.nes-sim .nes-chip:disabled { opacity: 0.4; cursor: not-allowed; }
.nes-sim__msg { margin: 0; padding: 14px 18px; border-radius: 14px; background: #fff; border-left: 4px solid var(--nes-accent); font-weight: 600; color: var(--nes-ink); }
.nes-sim__kpis > div:not(.is-accent) strong { color: var(--nes-ink); }
[data-nes-valsim] .nes-sim__size { font-size: clamp(28px, 3.4vw, 40px); }
[data-nes-valsim] .nes-sim__kpis strong { font-size: 20px; }

/* Dove interveniamo */
.nes-zone__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.nes-zone__list li { padding: 8px 14px; border-radius: 999px; background: var(--nes-tint); color: var(--nes-ink); font-size: 14px; font-weight: 600; }

/* Tabelle dati (guide) */
.nes-table-wrap { overflow-x: auto; margin: 20px 0; border: 1px solid var(--nes-line); border-radius: 16px; -webkit-overflow-scrolling: touch; }
.nes-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 620px; }
.nes-table th, .nes-table td { padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--nes-line); vertical-align: top; }
.nes-table thead th { background: var(--nes-tint); font-weight: 700; color: var(--nes-ink); font-size: 13px; }
.nes-table tbody th { font-weight: 600; }
.nes-table tbody tr:last-child th, .nes-table tbody tr:last-child td { border-bottom: 0; }
.nes-table td { white-space: nowrap; }
.nes-facts-inline { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 12px; margin: 24px 0 0; }
.nes-facts-inline > div { background: #fff; border-radius: 16px; padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.nes-facts-inline span { font-size: 13px; color: var(--nes-muted); }
.nes-facts-inline strong { font-family: var(--nes-font-display); font-size: 22px; font-weight: 800; }
.nes-zone__list a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* Griglia compatta di collegamenti (pagine dei comuni) */
.nes-grid--links { grid-template-columns: repeat(auto-fill, minmax(min(100%, 160px), 1fr)); gap: 10px; }
.nes-grid--links .nes-card { padding: 16px 18px; gap: 6px; }
.nes-grid--links .nes-h3 { font-size: 17px; }
@media (max-width: 480px) { .nes-grid--links { grid-template-columns: 1fr 1fr; } }

/* Pagine marchio: tema colore, contatto rapido, prezzi, catalogo */
.nes-brandhero { background: linear-gradient(160deg, var(--brand-soft) 0%, var(--nes-ground) 70%); border-top: 6px solid var(--brand); }
.nes-brandhero__eyebrow { color: var(--brand); }
.nes-brandhero .nes-h1 { text-wrap: balance; }
.nes-brandhero__product { width: 100%; max-width: 320px; height: auto; max-height: 260px; object-fit: contain; border-radius: 16px; align-self: center; }
.nes-quick { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 4px; }
.nes-quick__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 12px 20px; border-radius: 999px; font-weight: 700; font-size: 16px; text-decoration: none; color: #fff; transition: transform .15s ease, filter .15s ease; }
.nes-quick__btn:hover { transform: translateY(-1px); filter: brightness(1.05); }
.nes-quick__btn:focus-visible { outline: 3px solid var(--nes-ink); outline-offset: 3px; }
.nes-quick__btn--call { background: var(--brand, var(--nes-accent)); }
.nes-quick__btn--wa { background: #128C3E; }
.nes-quick__btn--book { background: var(--nes-ink); }
.nes-quickbar { display: none; }
@media (max-width: 760px) {
  .nes-quickbar { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 8px 8px calc(8px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, 0.97); box-shadow: 0 -6px 20px rgba(18, 21, 23, 0.12); }
  .nes-quickbar .nes-quick__btn { min-height: 48px; padding: 8px 6px; font-size: 14px; border-radius: 12px; }
  .nes-quickbar .nes-quick__btn--call { background: var(--nes-accent); }
  body:has(.nes-quickbar) { padding-bottom: 72px; }
}
.nes-prices { display: grid; gap: 10px; }
.nes-price { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 22px; border: 1px solid var(--nes-line); border-radius: 16px; background: #fff; }
.nes-price .nes-h3 { font-size: 18px; margin: 0 0 4px; }
.nes-price p { margin: 0; color: var(--nes-muted); font-size: 14px; }
.nes-price__value { flex: none; font-family: var(--nes-font-display); font-size: 18px; font-weight: 800; color: var(--nes-ink); background: var(--brand-soft, var(--nes-tint)); padding: 8px 14px; border-radius: 999px; white-space: nowrap; }
@media (max-width: 600px) { .nes-price { flex-direction: column; align-items: flex-start; gap: 10px; } }
.nes-catalog { background: var(--brand-soft, var(--nes-tint)); }
.nes-catalog .nes-eyebrow { color: var(--brand, var(--nes-accent)); }
.nes-products { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 16px; }
.nes-product { background: #fff; border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; border: 1px solid rgba(18, 21, 23, 0.06); }
.nes-product__img { background: #fff; display: flex; align-items: center; justify-content: center; height: 190px; padding: 14px; border-bottom: 4px solid var(--brand, var(--nes-accent)); }
.nes-product__img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.nes-product__body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.nes-product__body .nes-h3 { margin: 0; font-size: 19px; }
.nes-product__body p { margin: 0; font-size: 14px; color: var(--nes-muted); }
.nes-product__cat { font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--brand, var(--nes-accent)); }
.nes-product__price { display: flex; flex-direction: column; gap: 2px; margin-top: auto !important; padding-top: 10px; border-top: 1px solid var(--nes-line); }
.nes-product__price span { font-size: 12px; }
.nes-product__price strong { font-family: var(--nes-font-display); font-size: 20px; font-weight: 800; color: var(--nes-ink); }
.nes-product .nes-link { font-size: 14px; }

/* Note in piccolo: stime, prezzi, incentivi */
.nes-finenote { margin: 18px 0 0 !important; color: var(--nes-muted); max-width: 820px; }
.nes-finenote a, .nes-incentivi a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.nes-incentivi { padding: 18px 0; background: var(--nes-ground); border-top: 1px solid var(--nes-line); }
.nes-incentivi p { margin: 0; color: var(--nes-muted); max-width: 900px; }
.nes-footer__legal span { line-height: 1.6; }
.nes-footer__legal span a { text-decoration: underline; }

/* ASLTI */
.nes-aslti { background: #12304a; border: 0; align-items: center; justify-content: center; text-align: center; gap: 18px; min-height: 240px; padding: clamp(28px, 4vw, 48px); text-decoration: none; transition: transform .2s ease; }
.nes-aslti:hover { transform: translateY(-2px); }
.nes-aslti img { width: 100%; max-width: 420px; height: auto; }
.nes-aslti span { color: rgba(255, 255, 255, 0.78); font-size: 14px; }

/* Chi siamo: le persone */
.nes-team { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.nes-team__person { margin: 0; position: relative; border-radius: 24px; overflow: hidden; background: #262626; aspect-ratio: 3 / 4.4; }
.nes-team__person img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.nes-team__person figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 16px 14px; background: linear-gradient(transparent, rgba(0, 0, 0, 0.78)); color: #fff; display: flex; flex-direction: column; gap: 2px; }
.nes-team__person figcaption strong { font-family: var(--nes-font-display); font-size: 17px; }
.nes-team__person figcaption span { font-size: 13px; opacity: 0.85; }

/* Prezzo al netto degli incentivi in evidenza */
.nes-product__price--net strong { color: var(--nes-accent); font-size: 24px; }
.nes-product__badge { align-self: flex-start; background: var(--nes-accent); color: #fff !important; font-size: 12px !important; font-weight: 700; letter-spacing: 0.02em; padding: 4px 10px; border-radius: 999px; margin-bottom: 4px; }

.nes-footer__aslti { display: inline-flex; flex-direction: column; gap: 6px; align-self: flex-start; margin-top: 8px; }
.nes-footer__aslti img { height: 50px !important; width: auto !important; opacity: 0.92; }
.nes-footer__aslti span { font-size: 12px; color: var(--nes-muted-on-dark); }

@media (min-width: 900px) { .nes-stats--3 { grid-template-columns: repeat(3, 1fr); row-gap: 40px; } }
