@font-face{font-family:"Syne";font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/syne-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Syne";font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/syne-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"DM Sans";font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/dm-sans-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"DM Sans";font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/dm-sans-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}.nxl{--p:#ff4d2e;--a:#ffd23f;--bg:#fffaf2;--ink:#16120e;--on-p:#16120e;--r:0px;--btn-r:0px;--fd:"Syne",system-ui, sans-serif;--ft:"DM Sans",system-ui, sans-serif}/* Nexus Landing – foglio di stile unico (le variabili arrivano dalla landing). Tutto è racchiuso in .nxl
   così la pagina funziona anche dentro un tema WordPress senza rompere il resto del sito. */
.nxl, .nxl *, .nxl *::before, .nxl *::after { box-sizing: border-box; }
.nxl {
  --muted: color-mix(in oklab, var(--ink) 64%, var(--bg));
  --line: color-mix(in oklab, var(--ink) 13%, transparent);
  --tint: color-mix(in oklab, var(--p) 7%, var(--bg));
  --surface: color-mix(in oklab, var(--bg) 70%, #fff);
  --wrap: 1180px; --gut: clamp(1.15rem, 4cqi, 2.5rem); --sec: clamp(4rem, 3rem + 5cqi, 7.5rem);
  margin: 0; background: var(--bg); color: var(--ink); font: 400 clamp(1rem, .96rem + .2vw, 1.0625rem)/1.65 var(--ft);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip;
}
.nxl.is-dark { --surface: color-mix(in oklab, var(--bg) 88%, #fff); --tint: color-mix(in oklab, var(--p) 12%, var(--bg)); --line: color-mix(in oklab, var(--ink) 16%, transparent); }
.nxl .nxl__c { container: nxl / inline-size; }
.nxl img { max-width: 100%; height: auto; display: block; }
.nxl a { color: inherit; }
.nxl :focus-visible { outline: 3px solid var(--a); outline-offset: 3px; border-radius: 4px; }
.nxl h1, .nxl h2, .nxl h3 { font-family: var(--fd); font-weight: 700; line-height: 1.06; letter-spacing: -.022em; margin: 0 0 .6em; text-wrap: balance; color: inherit; }
.nxl h1 { font-size: clamp(2.35rem, 1.3rem + 4.3cqi, 4.7rem); }
.nxl h2 { font-size: clamp(1.85rem, 1.25rem + 2.4cqi, 3.1rem); }
.nxl h3 { font-size: clamp(1.15rem, 1.05rem + .4cqi, 1.35rem); letter-spacing: -.01em; line-height: 1.25; }
.nxl p { margin: 0 0 1em; text-wrap: pretty; }
.nxl .wrap { width: min(var(--wrap), 100% - 2 * var(--gut)); margin-inline: auto; }
.nxl .narrow { max-width: 760px; }
.nxl .center { text-align: center; margin-inline: auto; }
.nxl .kicker { display: inline-flex; align-items: center; gap: .55rem; font: 600 .78rem/1.2 var(--ft); letter-spacing: .14em; text-transform: uppercase; color: var(--p); margin: 0 0 1.1rem; }
.nxl .kicker::before { content: ""; width: 1.6rem; height: 2px; background: currentColor; border-radius: 2px; }
.nxl .center .kicker, .nxl .kicker.center { justify-content: center; }
.nxl .lead { font-size: clamp(1.08rem, 1rem + .45cqi, 1.3rem); color: var(--muted); max-width: 62ch; }
.nxl .center .lead { margin-inline: auto; }
.nxl .sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* ---------- Pulsanti ---------- */
.nxl .btn { --bc: var(--p); --bt: var(--on-p); display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 3.35rem; padding: .85rem 1.7rem; border: 2px solid var(--bc); border-radius: var(--btn-r); background: var(--bc); color: var(--bt); font: 650 1.02rem/1.15 var(--ft); text-decoration: none; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease; box-shadow: 0 14px 30px -14px color-mix(in oklab, var(--bc) 70%, transparent); }
.nxl .btn:hover { transform: translateY(-2px); box-shadow: 0 20px 36px -16px color-mix(in oklab, var(--bc) 80%, transparent); }
.nxl .btn:active { transform: translateY(0); }
.nxl .btn svg { width: 1.15em; height: 1.15em; flex: none; }
.nxl .btn--ghost { background: transparent; color: var(--ink); --bc: var(--line); box-shadow: none; border-color: color-mix(in oklab, var(--ink) 22%, transparent); }
.nxl .btn--ghost:hover { border-color: var(--ink); box-shadow: none; }
.nxl .btn--wa { --bc: #1fa855; --bt: #fff; }
.nxl .btn--block { width: 100%; }
.nxl .btns { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }
.nxl .center .btns, .nxl .btns.center { justify-content: center; }
.nxl.sf-block .btn { box-shadow: 5px 5px 0 var(--ink); border-color: var(--ink); }
.nxl.sf-block .btn:hover { box-shadow: 7px 7px 0 var(--ink); transform: translate(-2px, -2px); }
.nxl.sf-block .btn--ghost { box-shadow: none; }

/* ---------- Testata e barra ---------- */
.nxl .bar { background: var(--ink); color: var(--bg); font-size: .92rem; }
.nxl.is-dark .bar { background: var(--p); color: var(--on-p); }
.nxl .bar .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .4rem 1.1rem; padding: .62rem 0; text-align: center; }
.nxl .bar a { font-weight: 700; text-underline-offset: 3px; }
.nxl .cd { display: inline-flex; gap: .3rem; font-variant-numeric: tabular-nums; font-weight: 700; }
.nxl .cd span { min-width: 2.3em; padding: .1rem .35rem; border-radius: 6px; background: color-mix(in oklab, currentColor 14%, transparent); }
.nxl .top { position: relative; z-index: 5; }
.nxl .top .wrap { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.6rem; }
.nxl .logo { display: inline-flex; align-items: center; gap: .6rem; font: 700 1.18rem/1 var(--fd); letter-spacing: -.01em; text-decoration: none; }
.nxl .logo img { height: 2.4rem; width: auto; }
.nxl .top .btn { min-height: 2.75rem; padding: .55rem 1.15rem; font-size: .93rem; }
.nxl .top__tel { font-weight: 650; text-decoration: none; display: inline-flex; align-items: center; gap: .4rem; }
.nxl .top__tel svg { width: 1.05rem; height: 1.05rem; }
.nxl .top__r { display: flex; align-items: center; gap: 1.2rem; }
@container nxl (max-width: 640px) { .nxl .top__tel span { display: none; } .nxl .top .top__cta { display: none; } }

/* ---------- Sezioni ---------- */
.nxl .sec { padding-block: var(--sec); position: relative; }
.nxl .sec--tint { background: var(--tint); }
.nxl .sec--dark { background: color-mix(in oklab, var(--ink) 96%, var(--p)); color: var(--bg); --muted: color-mix(in oklab, var(--bg) 70%, var(--ink)); --line: color-mix(in oklab, var(--bg) 16%, transparent); --surface: color-mix(in oklab, var(--ink) 86%, var(--bg)); }
.nxl.is-dark .sec--dark { background: color-mix(in oklab, var(--bg) 70%, #000); color: var(--ink); --muted: color-mix(in oklab, var(--ink) 64%, var(--bg)); --surface: color-mix(in oklab, var(--bg) 90%, #fff); }
.nxl .sec--dark .kicker { color: var(--a); }
.nxl .sec--dark .btn--ghost { color: inherit; border-color: color-mix(in oklab, currentColor 30%, transparent); }
.nxl .sec--accent { background: var(--p); color: var(--on-p); --muted: color-mix(in oklab, var(--on-p) 78%, var(--p)); --line: color-mix(in oklab, var(--on-p) 22%, transparent); --surface: color-mix(in oklab, var(--p) 84%, var(--on-p)); }
.nxl .sec--accent .kicker { color: inherit; }
.nxl .sec--accent .btn { --bc: var(--on-p); --bt: var(--p); }
.nxl .sec--accent .btn--ghost { color: inherit; }
.nxl .head { margin-bottom: clamp(2.2rem, 1.5rem + 2cqi, 3.6rem); max-width: 760px; }
.nxl .head.center { text-align: center; }

/* Schede: aspetto secondo lo stile */
.nxl .card { position: relative; padding: clamp(1.4rem, 1.1rem + 1cqi, 2rem); border-radius: var(--r); background: var(--surface); }
.nxl.sf-line .card { background: transparent; border: 1px solid var(--line); }
.nxl.sf-raised .card { box-shadow: 0 1px 0 color-mix(in oklab, #fff 60%, transparent) inset, 0 30px 60px -36px color-mix(in oklab, var(--ink) 45%, transparent), 0 6px 16px -10px color-mix(in oklab, var(--ink) 25%, transparent); }
.nxl.sf-soft .card { background: color-mix(in oklab, var(--p) 6%, var(--surface)); }
.nxl.sf-block .card { border: 2px solid var(--ink); box-shadow: 6px 6px 0 var(--ink); background: var(--surface); }
.nxl.sf-glass .card { background: color-mix(in oklab, var(--surface) 55%, transparent); border: 1px solid var(--line); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.nxl .sec--accent .card, .nxl .sec--dark .card { box-shadow: none; }
.nxl .sec--accent .card { background: color-mix(in oklab, var(--on-p) 10%, transparent); border-color: color-mix(in oklab, var(--on-p) 25%, transparent); }

.nxl .grid { display: grid; gap: clamp(1rem, .8rem + 1cqi, 1.6rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.nxl .grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.nxl .ico { display: inline-grid; place-items: center; width: 3rem; height: 3rem; border-radius: calc(var(--r) * .7 + 6px); background: color-mix(in oklab, var(--p) 13%, transparent); color: var(--p); margin-bottom: 1.1rem; }
.nxl .ico svg { width: 1.45rem; height: 1.45rem; }
.nxl .sec--accent .ico { background: color-mix(in oklab, var(--on-p) 16%, transparent); color: inherit; }
.nxl .sec--dark .ico { color: var(--a); background: color-mix(in oklab, var(--a) 16%, transparent); }
.nxl .card p:last-child { margin-bottom: 0; }
.nxl .card p { color: var(--muted); }

/* ---------- Apertura ---------- */
.nxl .hero { padding-block: clamp(3rem, 2rem + 5cqi, 6.5rem) clamp(4rem, 3rem + 5cqi, 7.5rem); position: relative; isolation: isolate; }
.nxl .hero__in { display: grid; gap: clamp(2.2rem, 1.5rem + 3cqi, 4.5rem); align-items: center; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); }
.nxl .hero--center .hero__in, .nxl .hero--cover .hero__in { grid-template-columns: minmax(0, 1fr); text-align: center; max-width: 900px; margin-inline: auto; }
.nxl .hero--center .lead, .nxl .hero--cover .lead { margin-inline: auto; }
.nxl .hero--center .btns, .nxl .hero--cover .btns, .nxl .hero--center .kicker, .nxl .hero--cover .kicker { justify-content: center; }
.nxl .hero--center .ticks, .nxl .hero--cover .ticks { justify-content: center; }
.nxl .hero h1 { margin-bottom: .45em; }
.nxl .hero .btns { margin-top: 2rem; }
.nxl .proof { margin: 1.1rem 0 0; font-size: .92rem; color: var(--muted); display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.nxl .hero--center .proof, .nxl .hero--cover .proof { justify-content: center; }
.nxl .stars { color: #f5b301; letter-spacing: .08em; }
.nxl .ticks { list-style: none; padding: 0; margin: 1.6rem 0 0; display: flex; flex-wrap: wrap; gap: .65rem 1.4rem; }
.nxl .ticks li { display: inline-flex; align-items: center; gap: .5rem; font-weight: 550; }
.nxl .ticks svg { width: 1.2rem; height: 1.2rem; color: var(--a); flex: none; }
.nxl .media { position: relative; border-radius: calc(var(--r) * 1.4); overflow: hidden; aspect-ratio: 4 / 4.4; background: var(--tint); }
.nxl .media img { width: 100%; height: 100%; object-fit: cover; }
.nxl .media--empty, .nxl .row__media.media--empty { display: grid; place-items: center; background: radial-gradient(120% 90% at 20% 10%, color-mix(in oklab, var(--a) 55%, transparent), transparent 60%), radial-gradient(90% 80% at 90% 90%, color-mix(in oklab, var(--p) 70%, transparent), transparent 65%), var(--tint); }
.nxl.sf-block .media { border: 2px solid var(--ink); box-shadow: 10px 10px 0 var(--ink); }
.nxl.sf-raised .media { box-shadow: 0 40px 80px -40px color-mix(in oklab, var(--ink) 60%, transparent); }
/* Trattamenti della prima sezione */
.nxl .hero-grid::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 56px 56px; mask-image: radial-gradient(75% 70% at 50% 30%, #000 30%, transparent 75%); -webkit-mask-image: radial-gradient(75% 70% at 50% 30%, #000 30%, transparent 75%); }
.nxl .hero-grid::after { content: ""; position: absolute; z-index: -1; width: 60cqi; height: 60cqi; max-width: 760px; max-height: 760px; right: -10cqi; top: -20%; background: radial-gradient(closest-side, color-mix(in oklab, var(--p) 22%, transparent), transparent); }
.nxl .hero-block { background: var(--a); color: #16120e; --muted: color-mix(in oklab, #16120e 78%, var(--a)); border-bottom: 2px solid var(--ink); }
.nxl .hero-block .ticks svg { color: var(--p); }
.nxl .hero-block .btn--ghost { border-color: #16120e; color: #16120e; }
.nxl .hero-block .kicker { color: #16120e; }
.nxl .hero-blob::before, .nxl .hero-blob::after { content: ""; position: absolute; z-index: -1; border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%; filter: blur(2px); }
.nxl .hero-blob::before { width: 46cqi; height: 46cqi; max-width: 620px; max-height: 620px; right: -8cqi; top: -6cqi; background: color-mix(in oklab, var(--p) 18%, var(--bg)); }
.nxl .hero-blob::after { width: 22cqi; height: 22cqi; max-width: 300px; max-height: 300px; left: -6cqi; bottom: 4cqi; background: color-mix(in oklab, var(--a) 25%, var(--bg)); }
.nxl .hero-glow::before, .nxl .hero-glow::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(80px); opacity: .55; }
.nxl .hero-glow::before { width: 520px; height: 520px; left: -140px; top: -160px; background: var(--p); }
.nxl .hero-glow::after { width: 460px; height: 460px; right: -120px; top: 20%; background: var(--a); opacity: .35; }
.nxl .hero--cover { min-height: min(88vh, 860px); display: grid; align-items: center; color: #fff; --muted: rgb(255 255 255 / .82); }
.nxl .hero--cover .cover { position: absolute; inset: 0; z-index: -2; }
.nxl .hero--cover .cover img { width: 100%; height: 100%; object-fit: cover; }
.nxl .hero--cover::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgb(0 0 0 / .25), rgb(0 0 0 / .62)); }
.nxl .hero--cover .kicker { color: #fff; }
.nxl .hero--cover .btn--ghost { color: #fff; border-color: rgb(255 255 255 / .55); }
.nxl .hero--cover:not(:has(.cover)) { background: radial-gradient(120% 120% at 0% 0%, var(--p), color-mix(in oklab, var(--p) 40%, #000)); }
@container nxl (max-width: 900px) { .nxl .hero__in { grid-template-columns: minmax(0, 1fr); } .nxl .media { aspect-ratio: 4 / 3; } }

/* ---------- Loghi ---------- */
.nxl .logos { padding-block: clamp(2.2rem, 1.8rem + 2cqi, 3.4rem); border-block: 1px solid var(--line); }
.nxl .logos p { text-align: center; font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 1.4rem; }
.nxl .logos ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1.2rem clamp(1.6rem, 1rem + 3cqi, 3.6rem); }
.nxl .logos li { font: 700 1.15rem/1 var(--fd); color: var(--muted); opacity: .9; }
.nxl .logos img { height: 2.1rem; width: auto; filter: grayscale(1); opacity: .75; }

/* ---------- Problema, passi, numeri ---------- */
.nxl .pain .card { border-left: 3px solid var(--a); }
.nxl.sf-block .pain .card { border-left-width: 2px; }
.nxl .pain h3::before { content: "✕"; display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; margin-right: .55rem; border-radius: 50%; font-size: .78rem; background: color-mix(in oklab, var(--a) 18%, transparent); color: var(--a); vertical-align: .12em; }
.nxl .steps { counter-reset: st; display: grid; gap: 1.4rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
.nxl .step { counter-increment: st; position: relative; padding-top: 1.2rem; border-top: 2px solid var(--line); }
.nxl .step::before { content: counter(st, decimal-leading-zero); display: block; font: 700 clamp(2.4rem, 2rem + 1.5cqi, 3.4rem)/1 var(--fd); color: var(--p); letter-spacing: -.03em; margin-bottom: .8rem; }
.nxl .sec--dark .step::before { color: var(--a); }
.nxl .step p { color: var(--muted); }
.nxl .stats { display: grid; gap: 1.6rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); text-align: center; }
.nxl .stat b { display: block; font: 700 clamp(2.6rem, 2rem + 2.6cqi, 4.2rem)/1 var(--fd); letter-spacing: -.03em; margin-bottom: .45rem; }
.nxl .stat span { color: var(--muted); }

/* ---------- Vantaggi a righe ---------- */
.nxl .rows { display: grid; gap: clamp(3rem, 2rem + 4cqi, 6rem); }
.nxl .row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 1.5rem + 3cqi, 4.5rem); align-items: center; }
.nxl .row:nth-child(even) .row__media { order: 2; }
.nxl .row__media { border-radius: calc(var(--r) * 1.2); overflow: hidden; aspect-ratio: 5 / 4; background: var(--tint); }
.nxl .row__media img { width: 100%; height: 100%; object-fit: cover; }
.nxl .row p { color: var(--muted); font-size: 1.08rem; }
@container nxl (max-width: 820px) { .nxl .row { grid-template-columns: minmax(0, 1fr); } .nxl .row:nth-child(even) .row__media { order: 0; } }

/* ---------- Recensioni ---------- */
.nxl .quotes { display: grid; gap: 1.4rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.nxl .quote { display: flex; flex-direction: column; gap: 1rem; margin: 0; }
.nxl .quote blockquote { margin: 0; font-size: 1.06rem; line-height: 1.6; color: inherit; }
.nxl .quote figcaption { display: flex; align-items: center; gap: .8rem; margin-top: auto; }
.nxl .quote figcaption img { width: 2.8rem; height: 2.8rem; border-radius: 50%; object-fit: cover; }
.nxl .quote figcaption b { display: block; }
.nxl .quote figcaption span { color: var(--muted); font-size: .9rem; }

/* ---------- Prezzi ---------- */
.nxl .plans { display: grid; gap: 1.4rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); align-items: stretch; }
.nxl .plans--1 { max-width: 560px; margin-inline: auto; grid-template-columns: minmax(0, 1fr); }
.nxl .plan { display: flex; flex-direction: column; }
.nxl .plan.is-hl { outline: 2px solid var(--p); outline-offset: -2px; }
.nxl.sf-block .plan.is-hl { outline: none; background: color-mix(in oklab, var(--a) 30%, var(--surface)); }
.nxl .plan__badge { position: absolute; top: -.85rem; left: 50%; transform: translateX(-50%); padding: .3rem .85rem; border-radius: 999px; background: var(--p); color: var(--on-p); font-size: .78rem; font-weight: 700; white-space: nowrap; }
.nxl .plan__price { display: flex; align-items: baseline; gap: .55rem; flex-wrap: wrap; margin: .3rem 0 1.2rem; }
.nxl .plan__price b { font: 700 clamp(2.4rem, 2rem + 1.6cqi, 3.2rem)/1 var(--fd); letter-spacing: -.03em; }
.nxl .plan__price s { color: var(--muted); font-size: 1.1rem; }
.nxl .plan__price small { color: var(--muted); }
.nxl .plan ul { list-style: none; padding: 0; margin: 0 0 1.6rem; display: grid; gap: .6rem; }
.nxl .plan li { display: flex; gap: .55rem; align-items: flex-start; }
.nxl .plan li svg { width: 1.15rem; height: 1.15rem; color: var(--a); flex: none; margin-top: .25rem; }
.nxl .plan .btn { margin-top: auto; }
.nxl .note { text-align: center; color: var(--muted); font-size: .9rem; margin-top: 1.6rem; }

/* ---------- Garanzia, FAQ, chi siamo, galleria, video ---------- */
.nxl .guar { display: flex; gap: 1.6rem; align-items: center; max-width: 860px; margin-inline: auto; }
.nxl .guar .ico { width: 5rem; height: 5rem; border-radius: 50%; flex: none; margin: 0; }
.nxl .guar .ico svg { width: 2.4rem; height: 2.4rem; }
.nxl .guar p { color: var(--muted); margin: 0; }
@container nxl (max-width: 600px) { .nxl .guar { flex-direction: column; text-align: center; } }
.nxl .faq { max-width: 820px; margin-inline: auto; }
.nxl .faq details { border-bottom: 1px solid var(--line); }
.nxl .faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 1rem; padding: 1.3rem 0; font: 650 1.1rem/1.35 var(--ft); }
.nxl .faq summary::-webkit-details-marker { display: none; }
.nxl .faq summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: color-mix(in oklab, var(--p) 12%, transparent); color: var(--p); font-weight: 500; transition: transform .2s; }
.nxl .faq details[open] summary::after { transform: rotate(45deg); }
.nxl .faq details p { color: var(--muted); padding: 0 0 1.3rem; margin: 0; white-space: pre-line; }
.nxl .about { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2rem, 1.5rem + 3cqi, 4.5rem); align-items: center; }
.nxl .about p { white-space: pre-line; color: var(--muted); font-size: 1.06rem; }
.nxl .about--noimg { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
@container nxl (max-width: 820px) { .nxl .about { grid-template-columns: minmax(0, 1fr); } }
.nxl .gal { display: grid; gap: .9rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.nxl .gal figure { margin: 0; border-radius: var(--r); overflow: hidden; background: var(--tint); }
.nxl .gal img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.nxl .gal figcaption { padding: .7rem .9rem; font-size: .92rem; color: var(--muted); }
.nxl .vid { position: relative; display: block; width: 100%; max-width: 980px; margin-inline: auto; aspect-ratio: 16 / 9; border: 0; padding: 0; border-radius: calc(var(--r) * 1.2); overflow: hidden; cursor: pointer; background: #000 center / cover no-repeat; }
.nxl .vid img { width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.nxl .vid span { position: absolute; inset: 0; margin: auto; width: 5.2rem; height: 5.2rem; border-radius: 50%; background: var(--p); color: var(--on-p); display: grid; place-items: center; box-shadow: 0 20px 40px -10px rgb(0 0 0 / .5); transition: transform .2s; }
.nxl .vid:hover span { transform: scale(1.06); }
.nxl .vid span svg { width: 2rem; height: 2rem; margin-left: .2rem; }
.nxl .vid iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- Modulo ---------- */
.nxl .conv { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(2rem, 1.5rem + 3cqi, 4.5rem); align-items: start; }
@container nxl (max-width: 900px) { .nxl .conv { grid-template-columns: minmax(0, 1fr); } }
.nxl .conv .ticks { flex-direction: column; }
.nxl .fbox { padding: clamp(1.4rem, 1rem + 1.5cqi, 2.3rem); border-radius: calc(var(--r) * 1.2); background: var(--bg); color: var(--ink); box-shadow: 0 40px 90px -40px rgb(0 0 0 / .55); --muted: color-mix(in oklab, var(--ink) 64%, var(--bg)); --line: color-mix(in oklab, var(--ink) 15%, transparent); }
.nxl.sf-block .fbox { border: 2px solid var(--ink); box-shadow: 10px 10px 0 var(--ink); }
.nxl .fbox h3 { margin-bottom: .3rem; }
.nxl .fbox > p { color: var(--muted); font-size: .95rem; }
.nxl .f { display: grid; gap: .95rem; margin-top: 1.2rem; }
.nxl .f label { display: grid; gap: .35rem; font-size: .9rem; font-weight: 600; }
.nxl .f label small { font-weight: 400; color: var(--muted); }
.nxl .f input, .nxl .f textarea, .nxl .f select { width: 100%; min-height: 3.1rem; padding: .75rem .95rem; border: 1.5px solid var(--line); border-radius: calc(var(--r) * .6 + 4px); background: color-mix(in oklab, var(--bg) 96%, var(--ink)); color: var(--ink); font: 400 1rem/1.4 var(--ft); transition: border-color .15s, box-shadow .15s; }
.nxl .f textarea { min-height: 6.5rem; resize: vertical; }
.nxl .f input:focus, .nxl .f textarea:focus { outline: none; border-color: var(--p); box-shadow: 0 0 0 4px color-mix(in oklab, var(--p) 18%, transparent); }
.nxl .f .chk { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; font-size: .85rem; color: var(--muted); line-height: 1.45; }
.nxl .f .chk input { width: 1.15rem; min-height: 0; height: 1.15rem; margin-top: .15rem; flex: none; accent-color: var(--p); }
.nxl .f .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.nxl .f .msg { font-size: .92rem; min-height: 1.3em; margin: 0; }
.nxl .f .msg.is-err { color: #c62828; }
.nxl .f .safe { display: flex; align-items: center; gap: .4rem; justify-content: center; font-size: .8rem; color: var(--muted); margin: 0; }
.nxl .f .safe svg { width: .95rem; height: .95rem; }
.nxl .qstep { display: grid; gap: .6rem; border: 0; padding: 0; margin: 0; }
.nxl .qstep legend { font: 650 1.12rem/1.3 var(--ft); margin-bottom: .6rem; padding: 0; }
.nxl .qstep[hidden], .nxl .fstep[hidden] { display: none; }
.nxl .opt { display: flex; align-items: center; gap: .75rem; padding: .95rem 1.1rem; border: 1.5px solid var(--line); border-radius: calc(var(--r) * .6 + 4px); cursor: pointer; font-weight: 550; transition: border-color .15s, background-color .15s; }
.nxl .opt:hover { border-color: var(--p); }
.nxl .opt input { position: absolute; opacity: 0; pointer-events: none; }
.nxl .opt::before { content: ""; width: 1.15rem; height: 1.15rem; border-radius: 50%; border: 2px solid var(--line); flex: none; transition: border .15s; }
.nxl .opt:has(input:checked) { border-color: var(--p); background: color-mix(in oklab, var(--p) 8%, transparent); }
.nxl .opt:has(input:checked)::before { border: 5px solid var(--p); }
.nxl .opt:has(input:focus-visible) { outline: 3px solid var(--a); outline-offset: 2px; }
.nxl .prog { display: flex; gap: .35rem; margin: 1rem 0 .2rem; }
.nxl .prog i { flex: 1; height: 4px; border-radius: 4px; background: var(--line); transition: background-color .25s; }
.nxl .prog i.on { background: var(--p); }
.nxl .back { background: none; border: 0; padding: .4rem 0; color: var(--muted); cursor: pointer; font: inherit; font-size: .9rem; justify-self: start; }
.nxl .done { text-align: center; padding: 1rem 0; }
.nxl .done .ico { width: 4rem; height: 4rem; border-radius: 50%; margin-inline: auto; background: color-mix(in oklab, #1fa855 16%, transparent); color: #1fa855; }
.nxl .done .ico svg { width: 2rem; height: 2rem; }

/* ---------- Invito finale ---------- */
.nxl .final { text-align: center; max-width: 820px; margin-inline: auto; }
.nxl .final .lead { margin-inline: auto; }
.nxl .final .btns { justify-content: center; margin-top: 2rem; }

/* ---------- Piede, barra mobile, popup, cookie ---------- */
.nxl .foot { padding-block: 2.6rem 6rem; font-size: .88rem; color: var(--muted); border-top: 1px solid var(--line); }
.nxl .foot .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; }
.nxl .foot a { color: inherit; }
.nxl .foot nav { display: flex; gap: 1.2rem; flex-wrap: wrap; }
.nxl .sticky { position: fixed; z-index: 40; left: .75rem; right: .75rem; bottom: max(.75rem, env(safe-area-inset-bottom)); display: flex; gap: .5rem; padding: .5rem; border-radius: calc(var(--btn-r) + 6px); background: color-mix(in oklab, var(--bg) 88%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 18px 40px -16px rgb(0 0 0 / .45); transform: translateY(160%); transition: transform .3s ease; }
.nxl .sticky.is-on { transform: none; }
.nxl .sticky .btn { flex: 1; min-height: 3rem; padding-inline: 1rem; }
.nxl .sticky .btn--icon { flex: none; width: 3rem; padding: 0; }
@media (min-width: 900px) { .nxl .sticky { left: auto; right: 1.5rem; bottom: 1.5rem; } }
.nxl .pop { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 1rem; background: rgb(8 10 20 / .6); }
.nxl .pop[hidden] { display: none; }
.nxl .pop__box { position: relative; width: min(480px, 100%); padding: 2.2rem; border-radius: calc(var(--r) * 1.3); background: var(--bg); color: var(--ink); text-align: center; box-shadow: 0 40px 100px -30px rgb(0 0 0 / .6); }
.nxl .pop__x { position: absolute; top: .8rem; right: .8rem; width: 2.4rem; height: 2.4rem; border: 0; border-radius: 50%; background: var(--line); color: inherit; font-size: 1.3rem; cursor: pointer; }
.nxl .cookie { position: fixed; z-index: 70; left: 1rem; bottom: 1rem; max-width: 420px; padding: 1.2rem 1.3rem; border-radius: calc(var(--r) + 4px); background: var(--bg); color: var(--ink); border: 1px solid var(--line); box-shadow: 0 30px 60px -24px rgb(0 0 0 / .45); font-size: .88rem; }
.nxl .cookie[hidden] { display: none; }
.nxl .cookie p { margin: 0 0 .9rem; color: var(--muted); }
.nxl .cookie .btns { gap: .5rem; }
.nxl .cookie .btn { min-height: 2.6rem; padding: .45rem 1rem; font-size: .9rem; }
@media (max-width: 600px) { .nxl .cookie { left: .6rem; right: .6rem; max-width: none; } }

/* Comparsa al primo scorrimento (solo se l'utente non ha chiesto meno animazioni) */
@media (prefers-reduced-motion: no-preference) {
  .nxl.js .rv { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
  .nxl.js .rv.in { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) { .nxl *, .nxl *::before, .nxl *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
@media print { .nxl .sticky, .nxl .pop, .nxl .cookie { display: none !important; } }

/* Menu dei siti di più pagine */
.nxl .top--nav .wrap { gap: 1.4rem; }
.nxl .menu { margin-left: auto; position: relative; }
.nxl .menu > summary { list-style: none; display: none; cursor: pointer; width: 2.75rem; height: 2.75rem; border-radius: var(--btn-r); align-items: center; justify-content: center; }
.nxl .menu > summary::-webkit-details-marker { display: none; }
.nxl .menu > summary span, .nxl .menu > summary span::before, .nxl .menu > summary span::after { display: block; width: 1.25rem; height: 2px; background: currentColor; border-radius: 2px; position: relative; content: ""; }
.nxl .menu > summary span::before { position: absolute; top: -6px; } .nxl .menu > summary span::after { position: absolute; top: 6px; }
.nxl .menu nav { display: flex; gap: .3rem 1.4rem; flex-wrap: wrap; }
.nxl .menu nav a { color: inherit; text-decoration: none; font-weight: 600; font-size: .96rem; padding: .35rem 0; border-bottom: 2px solid transparent; }
.nxl .menu nav a:hover, .nxl .menu nav a[aria-current="page"] { border-bottom-color: var(--p); }
.nxl .menu:not([open]) nav { display: flex; }
.nxl .foot nav a + a, .nxl .foot nav a { margin-right: 1rem; }
@container nxl (max-width: 820px) {
  .nxl .menu > summary { display: inline-flex; }
  .nxl .menu:not([open]) nav { display: none; }
  .nxl .menu[open] nav { display: flex; flex-direction: column; position: absolute; right: 0; top: calc(100% + .5rem); min-width: 14rem; padding: .8rem 1.1rem; background: var(--bg); color: var(--ink); border: 1px solid var(--line); border-radius: var(--r); box-shadow: 0 18px 40px -18px rgba(0,0,0,.35); z-index: 20; }
}

/* Negozio: vetrina prodotti e carrello */
.nxl .shop-grid { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.nxl .prod { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.nxl .prod__img { aspect-ratio: 1 / 1; background: var(--tint); display: grid; place-items: center; overflow: hidden; }
.nxl .prod__img img { width: 100%; height: 100%; object-fit: cover; }
.nxl .prod__ph svg { width: 2.6rem; height: 2.6rem; opacity: .4; }
.nxl .prod__b { display: flex; flex-direction: column; gap: .55rem; padding: 1rem 1.1rem 1.2rem; flex: 1; }
.nxl .prod__b h3 { margin: 0; font-size: 1.08rem; }
.nxl .prod__b p { margin: 0; font-size: .92rem; color: var(--muted); }
.nxl .prod__p { display: flex; align-items: baseline; gap: .6rem; margin-top: auto; }
.nxl .prod__p b { font: 700 1.25rem/1.1 var(--fd); }
.nxl .prod__p s { color: var(--muted); font-size: .92rem; }
.nxl .prod__opt { display: grid; gap: .25rem; font-size: .85rem; font-weight: 600; }
.nxl .prod__opt select { min-height: 2.6rem; border-radius: calc(var(--r) * .6); border: 1px solid var(--line); background: var(--bg); color: var(--ink); padding: 0 .6rem; font: inherit; }
.nxl .prod .btn[disabled] { opacity: .5; cursor: not-allowed; }
.nxl .top__cart { position: relative; display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: var(--btn-r); border: 1px solid var(--line); background: transparent; color: inherit; cursor: pointer; }
.nxl .top__cart svg { width: 1.3rem; height: 1.3rem; }
.nxl .top__cart span { position: absolute; top: -.35rem; right: -.35rem; min-width: 1.3rem; height: 1.3rem; padding: 0 .3rem; border-radius: 99px; background: var(--p); color: var(--on-p); font-size: .72rem; font-weight: 700; display: none; place-items: center; }
.nxl .top__cart.has-items span { display: grid; }
.nxl .cart { position: fixed; inset: 0; z-index: 60; background: rgb(0 0 0 / .45); display: flex; justify-content: flex-end; }
.nxl .cart[hidden] { display: none; }
.nxl .cart__box { width: min(28rem, 100%); height: 100%; overflow: auto; background: var(--bg); color: var(--ink); padding: 1.2rem 1.3rem 2rem; box-shadow: -20px 0 50px -20px rgb(0 0 0 / .4); }
.nxl .cart__h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.nxl .cart__h h2 { font-size: 1.35rem; margin: 0; }
.nxl .cart__h .pop__x { position: static; }
.nxl .cart__list { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .8rem; }
.nxl .cart__list li { display: grid; grid-template-columns: 3.4rem 1fr auto; gap: .7rem; align-items: center; padding-bottom: .8rem; border-bottom: 1px solid var(--line); }
.nxl .cart__list img, .nxl .cart__ph { width: 3.4rem; height: 3.4rem; object-fit: cover; border-radius: calc(var(--r) * .5); background: var(--tint); display: block; }
.nxl .cart__list small { display: block; color: var(--muted); font-size: .82rem; }
.nxl .cart__q { display: inline-flex; align-items: center; gap: .4rem; }
.nxl .cart__q button { width: 1.9rem; height: 1.9rem; border-radius: 99px; border: 1px solid var(--line); background: transparent; color: inherit; cursor: pointer; }
.nxl .cart__rm { grid-column: 2 / -1; justify-self: start; background: none; border: 0; padding: 0; color: var(--muted); text-decoration: underline; cursor: pointer; font-size: .82rem; }
.nxl .cart__sum { display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; margin: 1rem 0; }
.nxl .cart__sum dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.nxl .cart__sum .tot { font-weight: 700; font-size: 1.1rem; padding-top: .4rem; border-top: 1px solid var(--line); }
.nxl .cart__sum small { display: block; font-weight: 400; font-size: .75rem; color: var(--muted); }
.nxl .cart__note { font-size: .86rem; color: var(--muted); margin: .4rem 0 .8rem; }
.nxl .cart__empty { color: var(--muted); }
.nxl .cart__form { display: grid; gap: .7rem; }
.nxl .cart__form label { display: grid; gap: .3rem; font-size: .88rem; font-weight: 600; }
.nxl .cart__form input:not([type=checkbox]), .nxl .cart__form textarea { min-height: 2.75rem; padding: .55rem .75rem; border-radius: calc(var(--r) * .6); border: 1px solid var(--line); background: var(--surface, var(--bg)); color: var(--ink); font: inherit; }
.nxl .cart__form .two { display: grid; grid-template-columns: 1fr 1.6fr; gap: .7rem; }
.nxl .cart__form .chk { display: flex; gap: .55rem; font-weight: 400; align-items: flex-start; }
.nxl .shop-toast { position: fixed; left: 50%; bottom: 1.2rem; transform: translateX(-50%); z-index: 70; background: var(--ink); color: var(--bg); padding: .65rem 1.1rem; border-radius: 99px; font-size: .9rem; box-shadow: 0 10px 30px -10px rgb(0 0 0 / .4); }

.nxl .cart__form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.nxl .cart__form > *, .nxl .cart__form .two > * { min-width: 0; }
.nxl .cart__form input:not([type=checkbox]), .nxl .cart__form textarea { width: 100%; box-sizing: border-box; }
.nxl .cart__box { box-sizing: border-box; }
