/* ══════════════════════════════════════════════════════════════════════════
   NOVA VENERE AGENCY — style.css condiviso
   Tema: scuro premium · Clash Display + IBM Plex Mono
   ══════════════════════════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --blue:#1C35C8;
  --blue-dark:#0F1F8A;
  --blue-light:#8FA0F5;
  --black:#0A0A0A;
  --ink:#111214;
  --panel:#141519;
  --panel-2:#1A1B20;
  --cream:#E8DDD0;
  --white:#FFFFFF;
  --text:rgba(255,255,255,.82);
  --muted:rgba(255,255,255,.52);
  --faint:rgba(255,255,255,.32);
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.18);
  --red:#E08A80;
  --nav-h:72px;
  --ease:cubic-bezier(.16,1,.3,1);
  --wrap:1200px;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;background:var(--black)}
body{
  font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--black);color:var(--text);
  font-weight:300;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.serif{font-family:'Clash Display','Space Grotesk',system-ui,sans-serif}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 40px}
@media(max-width:768px){.wrap{padding:0 22px}}

/* ── TYPO SCALE ─────────────────────────────────────────────────────────── */
h1,h2,h3,h4{font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;font-weight:300;line-height:1.1;color:var(--white);letter-spacing:-.01em}
.eyebrow{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blue-light);font-weight:500;font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace}
.lead{font-size:1.05rem;color:var(--muted);line-height:1.7;font-weight:300}
em{font-style:italic;color:var(--cream)}

/* ── BUTTONS ────────────────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:9px;padding:15px 30px;cursor:pointer;
  font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;font-weight:500;letter-spacing:.09em;
  text-transform:uppercase;border:none;transition:all .3s var(--ease);white-space:nowrap;
}
.btn svg{width:14px;height:14px;transition:transform .3s;flex-shrink:0}
.btn:hover svg{transform:translateX(4px)}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover{background:var(--blue-dark)}
.btn-cream{background:var(--cream);color:var(--black)}
.btn-cream:hover{background:#fff}
.btn-outline{background:transparent;color:#fff;border:1px solid var(--line-strong)}
.btn-outline:hover{background:rgba(255,255,255,.08);border-color:var(--white)}
.btn-ghost{background:transparent;color:var(--cream);padding:15px 0}
.btn-ghost:hover{color:#fff}

/* ── NAV ────────────────────────────────────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);display:flex;align-items:center;background:rgba(10,10,10,.72);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:background .4s,border-color .4s}
.nav.scrolled{background:rgba(10,10,10,.95);border-bottom-color:var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--wrap);margin:0 auto;padding:0 40px}
@media(max-width:768px){.nav-inner{padding:0 22px}}
.logo{display:flex;flex-direction:column;line-height:1}
.logo-top{font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;font-size:1.32rem;font-weight:400;letter-spacing:.07em;color:#fff}
.logo-sub{font-size:.54rem;letter-spacing:.26em;text-transform:uppercase;color:var(--blue-light);margin-top:2px;font-weight:500}
.nav-links{display:flex;align-items:center;gap:32px;list-style:none}
.nav-links a{font-size:.82rem;font-weight:400;color:var(--muted);transition:color .25s;letter-spacing:.02em}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a.hot{color:var(--cream);font-weight:500}
.nav-links a.hot::after{content:'';display:inline-block;width:6px;height:6px;background:var(--blue);border-radius:50%;margin-left:6px;vertical-align:middle}
@media(max-width:900px){.nav-links,.nav-cta{display:none}}
.nav-cta{padding:11px 22px;font-size:.74rem}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.burger span{width:22px;height:1.5px;background:#fff;transition:all .35s var(--ease)}
.burger.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}
@media(max-width:900px){.burger{display:flex}}
.mobile{position:fixed;inset:0;z-index:999;background:var(--black);display:flex;flex-direction:column;justify-content:center;padding:60px 32px;gap:2px;opacity:0;pointer-events:none;transform:translateX(100%);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.mobile.open{opacity:1;pointer-events:all;transform:none}
.mobile a{font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;font-size:1.9rem;font-weight:300;color:#fff;padding:11px 0;border-bottom:1px solid var(--line)}
.mobile a.hot{color:var(--cream)}
.mobile .m-label{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:18px}
.mobile .m-cta{margin-top:26px;font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;width:fit-content;border:none}

/* ── HERO (generic dark) ────────────────────────────────────────────────── */
.page-hero{position:relative;padding:calc(var(--nav-h) + 90px) 0 90px;overflow:hidden}
.page-hero.tall{min-height:100svh;display:flex;align-items:center;padding-top:var(--nav-h)}
.hero-bg{position:absolute;inset:0;z-index:0;background:linear-gradient(140deg,#0A0A0A 0%,#0F1F8A 68%,#1C35C8 115%)}
.hero-grid{position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:76px 76px}
.page-hero .wrap{position:relative;z-index:2}
.hero-eyebrow{display:flex;align-items:center;gap:15px;margin-bottom:26px}
.hero-eyebrow::before{content:'';width:32px;height:1px;background:rgba(232,221,208,.55)}
.hero-eyebrow span{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
h1.hero-title{font-size:clamp(2.5rem,5.4vw,4.6rem);line-height:1.04;max-width:880px;margin-bottom:26px}
.page-hero .lead{max-width:540px;margin-bottom:40px}

/* ── SECTIONS ───────────────────────────────────────────────────────────── */
.section{padding:110px 0}
@media(max-width:768px){.section{padding:72px 0}}
.section.panel{background:var(--ink)}
.section.dark{background:#060606}
.sec-head{max-width:640px;margin-bottom:64px}
.sec-head .eyebrow{margin-bottom:16px;display:block}
.sec-head h2{font-size:clamp(2rem,3.6vw,3rem)}
.two-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:64px}
@media(max-width:820px){.two-head{grid-template-columns:1fr;gap:22px;margin-bottom:44px}}
.two-head h2{font-size:clamp(2rem,3.6vw,3rem)}

/* ── GRIDS & CARDS ──────────────────────────────────────────────────────── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line)}
@media(max-width:768px){.grid-2{grid-template-columns:1fr}}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}
@media(max-width:900px){.grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid-3{grid-template-columns:1fr}}
.card{background:var(--panel);padding:48px 40px;display:flex;flex-direction:column}
.card .btn{margin-top:auto;align-self:flex-start}
.card.blue{background:var(--blue-dark)}
.card.black{background:#0A0A0A}
.card-badge{display:inline-block;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;padding:5px 12px;border:1px solid var(--line-strong);color:var(--cream);margin-bottom:22px;font-weight:500;font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace}
.card h3{font-size:1.55rem;margin-bottom:14px}
.card p{font-size:.92rem;color:var(--muted);margin-bottom:28px}
.ck-list{list-style:none;margin-bottom:32px}
.ck-list li{display:flex;align-items:flex-start;gap:11px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.87rem;color:var(--text);font-weight:300}
.ck-list li svg{flex-shrink:0;margin-top:3px;stroke:var(--cream)}

/* feature tiles */
.tile{background:var(--panel);padding:40px 32px;position:relative;overflow:hidden;transition:background .3s}
.tile:hover{background:var(--panel-2)}
.tile-num{font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;font-size:2.4rem;color:rgba(28,53,200,.25);line-height:1;margin-bottom:16px}
.tile h3{font-size:1.2rem;margin-bottom:10px}
.tile p{font-size:.86rem;color:var(--muted)}

/* stat row */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}
@media(max-width:700px){.stats{grid-template-columns:1fr 1fr}}
.stat{background:var(--panel);padding:32px 20px;text-align:center}
.stat b{display:block;font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;font-size:2.2rem;font-weight:400;color:#fff;margin-bottom:6px}
.stat span{font-size:.72rem;color:var(--faint);letter-spacing:.04em}

/* ── STEPS ──────────────────────────────────────────────────────────────── */
.step{display:grid;grid-template-columns:64px 1fr;gap:28px;padding:34px 0;border-top:1px solid var(--line)}
.step-n{font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;font-size:2rem;color:var(--blue-light);line-height:1}
.step h3{font-size:1.3rem;margin-bottom:9px}
.step p{font-size:.9rem;color:var(--muted)}

/* ── FORM ───────────────────────────────────────────────────────────────── */
.form-wrap{max-width:640px}
.field{margin-bottom:22px}
.field label{display:block;font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;font-weight:500}
.field label .opt{text-transform:none;letter-spacing:0;color:var(--faint);font-weight:300}
.field input,.field select,.field textarea{
  width:100%;padding:15px 16px;background:var(--panel);border:1px solid var(--line-strong);
  color:#fff;font-size:16px;font-weight:300;font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;transition:border-color .25s,box-shadow .25s;
}
.field input::placeholder,.field textarea::placeholder{color:var(--faint)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cream);box-shadow:0 0 0 3px rgba(232,221,208,.1)}
.field input.err,.field textarea.err,.field select.err{border-color:var(--red)}
.field textarea{resize:vertical;min-height:120px;line-height:1.6}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.field .count{text-align:right;font-size:.7rem;color:var(--faint);margin-top:6px}
.grid-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.grid-fields{grid-template-columns:1fr}}
.consent{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid var(--line-strong);background:var(--panel);cursor:pointer;margin-bottom:22px}
.consent input{width:18px;height:18px;flex-shrink:0;margin-top:2px;accent-color:var(--blue)}
.consent span{font-size:.82rem;color:var(--muted);line-height:1.55}
.consent a{color:var(--cream);text-decoration:underline}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg{font-size:.82rem;margin-bottom:16px;font-weight:400}
.form-msg.err{color:var(--red)}
.form-msg.ok{color:var(--cream)}
.form-msg:empty{display:none}

/* ── CTA BANNER ─────────────────────────────────────────────────────────── */
.cta-band{position:relative;padding:110px 0;text-align:center;overflow:hidden}
.cta-band .hero-bg{background:linear-gradient(140deg,#0A0A0A 0%,#0F1F8A 72%,#1C35C8 120%)}
.cta-band .wrap{position:relative;z-index:2}
.cta-band h2{font-size:clamp(2rem,4vw,3.2rem);max-width:680px;margin:0 auto 32px}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ── FOOTER ─────────────────────────────────────────────────────────────── */
footer{background:#060606;border-top:1px solid var(--line);padding:62px 0 34px}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:44px;margin-bottom:46px}
@media(max-width:900px){.foot-top{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:560px){.foot-top{grid-template-columns:1fr}}
.foot-logo-top{font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;font-size:1.5rem;color:#fff;letter-spacing:.06em}
.foot-logo-sub{font-size:.54rem;letter-spacing:.25em;text-transform:uppercase;color:var(--faint);margin-top:4px}
.foot-tag{font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;font-style:italic;font-size:1rem;color:var(--muted);margin-top:14px}
.foot-col h4{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:16px;font-weight:500;font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace}
.foot-col ul{list-style:none}
.foot-col li{margin-bottom:10px}
.foot-col a{font-size:.85rem;color:var(--muted);transition:color .25s}
.foot-col a:hover{color:#fff}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:30px;border-top:1px solid var(--line);flex-wrap:wrap;gap:12px}
.foot-bottom p{font-size:.74rem;color:var(--faint)}
.foot-social{display:flex;gap:18px}
.foot-social a{font-size:.74rem;color:var(--faint);transition:color .25s}
.foot-social a:hover{color:#fff}

/* ── LEGAL / TEXT PAGES ─────────────────────────────────────────────────── */
.doc{max-width:760px}
.doc .updated{font-size:.8rem;color:var(--faint);font-style:italic;margin-bottom:32px}
.doc h2{font-size:1.4rem;margin:34px 0 12px}
.doc h3{font-size:1.05rem;margin:22px 0 8px;color:var(--cream)}
.doc p{font-size:.92rem;color:var(--muted);margin-bottom:12px;line-height:1.75}
.doc ul{padding-left:20px;margin-bottom:16px}
.doc li{font-size:.9rem;color:var(--muted);margin-bottom:6px;line-height:1.7}
.doc a{color:var(--cream);text-decoration:underline}

/* ── REVEAL ─────────────────────────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.vis{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}

/* ── MISC ───────────────────────────────────────────────────────────────── */
.center{text-align:center}
.mt-s{margin-top:16px}.mt-m{margin-top:32px}.mt-l{margin-top:56px}
.status-msg{max-width:560px;margin:60px auto;text-align:center}


/* ── Unificazioni (griglia a 3, card allineate, note, pagine di stato) ── */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line)}
@media(max-width:1024px){.grid-3{grid-template-columns:1fr}}
.sec-note{margin-top:32px;color:var(--muted);font-size:.88rem;text-align:center}
.status-title{font-size:clamp(2.2rem,4vw,3.4rem);margin-bottom:16px}
@media(max-width:768px){.sec-note{margin-top:24px}}


/* ── Sezione chiara: form eleganti su crema ─────────────────────────
   Le variabili vengono ridefinite localmente: tutto ciò che sta dentro
   (inclusi gli stili inline che usano var(--muted) ecc.) si adatta da solo. */
.section.light{
  background:#F3F3F1;
  --text:rgba(10,10,10,.85);
  --muted:rgba(10,10,10,.55);
  --faint:rgba(10,10,10,.38);
  --line:rgba(10,10,10,.12);
  --line-strong:rgba(10,10,10,.28);
  --panel:transparent;
}
.section.light h1,.section.light h2,.section.light h3{color:var(--black)}
.section.light .lead{color:var(--muted)}
.section.light .eyebrow{color:var(--blue)}
.section.light .contact-big{font-size:1.4rem;color:var(--black);border-bottom:1px solid rgba(10,10,10,.25);padding-bottom:2px;transition:border-color .25s,color .25s}
.section.light .contact-big:hover{color:var(--blue);border-color:var(--blue)}

/* Campi: linea sottile sotto, niente scatole. Fine, essenziale. */
.section.light .field input,
.section.light .field select,
.section.light .field textarea{
  background-color:transparent;border:none;border-bottom:1px solid rgba(10,10,10,.3);
  border-radius:0;color:var(--black);padding:14px 2px;
}
.section.light .field input::placeholder,
.section.light .field textarea::placeholder{color:rgba(10,10,10,.35)}
.section.light .field input:focus,
.section.light .field select:focus,
.section.light .field textarea:focus{
  outline:none;border-bottom-color:var(--blue);box-shadow:none;
}
.section.light .field input.err,
.section.light .field textarea.err,
.section.light .field select.err{border-bottom-color:#B4483C}
.section.light .field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230A0A0A' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-position:right 2px center;padding-right:30px;
}
.section.light .field label{color:rgba(10,10,10,.55)}
.section.light .field label .opt{color:rgba(10,10,10,.38)}
.section.light .consent{color:rgba(10,10,10,.65)}
.section.light .consent a{color:var(--black);text-decoration:underline}
.section.light .form-msg.err{color:#B4483C}
.section.light .form-msg.ok{color:var(--blue-dark)}
.section.light .field .count{color:rgba(10,10,10,.38)}

/* Bottoni: stessa altezza ovunque, allineati in basso nelle card */
.btn{min-height:50px}

/* v6: tema chiaro bianco/grigio */
.section.light{background:#F3F3F1}
.section.light .form-wrap{background:#FFFFFF;border:1px solid rgba(10,10,10,.08);box-shadow:0 30px 70px rgba(10,10,10,.07);padding:56px 52px;max-width:660px}
.section.light .btn-cream{background:#0A0A0A;border-color:#0A0A0A;color:#F7F6F2}


/* ══ v7: TEMA CHIARO DI SISTEMA — alternanza scuro/chiaro su tutto il sito ══
   Ridefinisce le variabili localmente: tutto ciò che sta dentro si adatta. */
.section.light{
  background:#F3F3F1;
  color:var(--text);
  --text:rgba(10,10,10,.82);
  --muted:rgba(10,10,10,.55);
  --faint:rgba(10,10,10,.38);
  --line:rgba(10,10,10,.1);
  --line-strong:rgba(10,10,10,.25);
  --panel:#FFFFFF;
  --panel-2:#FAFAF8;
}
.section.light h1,.section.light h2,.section.light h3,.section.light h4{color:#0A0A0A}
.section.light .eyebrow{color:var(--blue)}
.section.light .step-n{color:var(--blue)}
.section.light .tile{border:1px solid rgba(10,10,10,.08)}
.section.light .tile-num{color:rgba(28,53,200,.35)}
.section.light .btn-cream{background:#0A0A0A;border-color:#0A0A0A;color:#F7F6F2}
.section.light .btn-cream:hover{background:transparent;color:#0A0A0A}
.section.light .btn-outline{color:#0A0A0A;border-color:rgba(10,10,10,.4)}
.section.light .btn-outline:hover{background:rgba(10,10,10,.05)}


/* ══ v8: SU CHIARO, TUTTO SCURO — copertura totale ══ */
.section.light em{color:var(--blue)}
.section.light .btn-ghost{color:#0A0A0A}
.section.light .btn-ghost:hover{color:var(--blue)}
.section.light .stat b{color:#0A0A0A}
.section.light .doc h3{color:#0A0A0A}
.section.light .doc a{color:#0A0A0A}
.section.light .consent a{color:#0A0A0A}
.section.light .form-msg.ok{color:#0F1F8A}
.section.light .field input,.section.light .field select,.section.light .field textarea{color:#0A0A0A}
.section.light .field select{background-repeat:no-repeat;background-size:12px auto}
.section.light .field input:focus,.section.light .field select:focus,.section.light .field textarea:focus{border-color:var(--blue);box-shadow:none}


/* ══ v9: SU SCURO, TUTTO CHIARO — guardie a specchio ══ */
/* Autofill del browser: quando Chrome riempie i campi da solo, forza i suoi colori.
   Queste regole lo domano in entrambi i temi. */
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill{
  -webkit-text-fill-color:#fff; caret-color:#fff;
  transition:background-color 999999s ease-in-out 0s;
}
.section.light input:-webkit-autofill,
.section.light textarea:-webkit-autofill,
.section.light select:-webkit-autofill{
  -webkit-text-fill-color:#0A0A0A; caret-color:#0A0A0A;
}
/* Tendine aperte dei select: leggibili sempre, anche con temi scuri di sistema */
select option{color:#0A0A0A;background:#fff}

/* ══ v10: ISOLE SCURE DENTRO SEZIONI CHIARE ══
   Le card nere e blu restano scure ovunque: dentro di loro
   le variabili tornano ai valori del tema scuro, sempre. */
.section.light .card.black,.section.light .card.blue{
  color:var(--text);
  --text:rgba(255,255,255,.82);
  --muted:rgba(255,255,255,.52);
  --faint:rgba(255,255,255,.32);
  --line:rgba(255,255,255,.12);
  --line-strong:rgba(255,255,255,.26);
}
.section.light .card.black h1,.section.light .card.black h2,.section.light .card.black h3,.section.light .card.black h4,
.section.light .card.blue h1,.section.light .card.blue h2,.section.light .card.blue h3,.section.light .card.blue h4{color:var(--white)}
.section.light .card.black em,.section.light .card.blue em{color:var(--cream)}
.section.light .card.black .btn-outline{color:#fff;border-color:rgba(255,255,255,.35)}
.section.light .card.black .btn-outline:hover{background:rgba(255,255,255,.07);color:#fff}
.section.light .card.blue .btn-cream{background:var(--cream);border-color:var(--cream);color:#0A0A0A}
.section.light .card.blue .btn-cream:hover{background:#fff;border-color:#fff;color:#0A0A0A}


/* v11: numeri grandi nelle statistiche */
.stat-big{font-size:clamp(2.2rem,4.2vw,3.2rem);color:var(--white);line-height:1;margin-bottom:14px}
.section.light .stat-big{color:#0A0A0A}


/* ══ NC: layout chiaro a schede (creator / brand) ══ */
.nav.solid{background:rgba(10,10,10,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.12)}
.nc{background:#F3F3F1;color:#0A0A0A}
.nc .wrap{max-width:1180px;margin:0 auto;padding:0 40px}
@media(max-width:768px){.nc .wrap{padding:0 22px}}
.nc-sec{padding:96px 0}
.nc-sec.tight{padding:72px 0}
.nc-sec.white{background:#FFFFFF}
@media(max-width:768px){.nc-sec{padding:64px 0}}

/* Hero */
.nc-hero{padding:calc(72px + 84px) 0 84px}
@media(max-width:768px){.nc-hero{padding:calc(72px + 52px) 0 56px}}
.nc-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
@media(max-width:960px){.nc-hero-grid{grid-template-columns:1fr;gap:40px}}
.nc-eyebrow{display:inline-block;font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#1C35C8;margin-bottom:22px}
.nc-h1{font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;font-weight:500;font-size:clamp(2.7rem,5.6vw,4.4rem);line-height:1.02;letter-spacing:-.01em;color:#0A0A0A;margin-bottom:24px}
.nc-h1 em{font-style:italic;color:#1C35C8}
.nc-lead{font-size:1.05rem;line-height:1.75;color:rgba(10,10,10,.6);font-weight:300;max-width:52ch}
.nc-strip{display:flex;align-items:center;gap:16px;background:#1C35C8;color:#fff;padding:18px 22px;margin:30px 0;max-width:560px}
.nc-strip-ico{flex:none;width:38px;height:38px;border:1px solid rgba(255,255,255,.45);display:flex;align-items:center;justify-content:center}
.nc-strip-ico svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.6}
.nc-strip p{margin:0;font-size:.92rem;font-weight:500;line-height:1.45}
.nc-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:44px}
.nc-btn{display:inline-flex;align-items:center;gap:9px;min-height:52px;padding:15px 28px;font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;border:1px solid transparent;transition:all .35s cubic-bezier(.16,1,.3,1);cursor:pointer}
.nc-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .35s}
.nc-btn:hover svg{transform:translateX(4px)}
.nc-btn-dark{background:#0A0A0A;color:#F7F6F2;border-color:#0A0A0A}
.nc-btn-dark:hover{background:transparent;color:#0A0A0A}
.nc-btn-line{background:#fff;color:#0A0A0A;border-color:rgba(10,10,10,.22)}
.nc-btn-line:hover{border-color:#0A0A0A}
.nc-btn-blue{background:#1C35C8;color:#fff;border-color:#1C35C8}
.nc-btn-blue:hover{background:#0F1F8A;border-color:#0F1F8A}

/* Fascia numeri */
.nc-stats{display:grid;grid-template-columns:repeat(4,auto);gap:44px;justify-content:start}
@media(max-width:700px){.nc-stats{grid-template-columns:1fr 1fr;gap:28px}}
.nc-stat-n{font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1;color:#0A0A0A;margin-bottom:8px}
.nc-stat-l{font-size:.78rem;line-height:1.4;color:rgba(10,10,10,.5);max-width:15ch}

/* Pannello destro (al posto della foto) */
.nc-panel{background:#FFFFFF;border:1px solid rgba(10,10,10,.08);box-shadow:0 30px 70px rgba(10,10,10,.07);padding:44px 40px}
@media(max-width:768px){.nc-panel{padding:32px 24px}}
.nc-panel-lab{font-size:.66rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#1C35C8;margin-bottom:18px}
.nc-panel h3{font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;font-weight:500;font-size:1.75rem;line-height:1.2;color:#0A0A0A;margin-bottom:22px}
.nc-panel ul{list-style:none;margin:0;padding:0}
.nc-panel li{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid rgba(10,10,10,.08);font-size:.9rem;line-height:1.55;color:rgba(10,10,10,.72);font-weight:300}
.nc-panel li:last-child{border-bottom:none}
.nc-panel li svg{flex:none;width:15px;height:15px;stroke:#1C35C8;fill:none;stroke-width:1.8;margin-top:4px}
.nc-panel-foot{margin-top:24px;padding-top:20px;border-top:1px solid rgba(10,10,10,.08);font-size:.82rem;color:rgba(10,10,10,.5);font-style:italic}

/* Intestazione centrata */
.nc-head{text-align:center;max-width:760px;margin:0 auto 56px}
.nc-head h2{font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;font-weight:500;font-size:clamp(2rem,4vw,3rem);line-height:1.12;color:#0A0A0A;margin-bottom:16px}
.nc-head h2 em{font-style:italic;color:#1C35C8}
.nc-head p{font-size:1rem;line-height:1.7;color:rgba(10,10,10,.55);font-weight:300}

/* Griglia schede */
.nc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:960px){.nc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.nc-grid{grid-template-columns:1fr}}
.nc-card{background:#FFFFFF;border:1px solid rgba(10,10,10,.08);padding:34px 30px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s}
.nc-card:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(10,10,10,.07)}
.nc-ico{width:46px;height:46px;background:#1C35C8;display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.nc-ico svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.6}
.nc-card h3{font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:500;font-size:1.02rem;color:#0A0A0A;margin-bottom:10px;letter-spacing:.01em}
.nc-card p{font-size:.88rem;line-height:1.65;color:rgba(10,10,10,.55);font-weight:300;margin:0}

/* Step numerati */
.nc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:860px){.nc-steps{grid-template-columns:1fr}}
.nc-step{background:#FFFFFF;border:1px solid rgba(10,10,10,.08);padding:40px 32px;text-align:center}
.nc-step-n{width:58px;height:58px;margin:0 auto 22px;background:#0A0A0A;color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;font-size:1.6rem}
.nc-step:nth-child(2) .nc-step-n{background:#1C35C8}
.nc-step h3{font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:500;font-size:1.05rem;color:#0A0A0A;margin-bottom:10px}
.nc-step p{font-size:.88rem;line-height:1.65;color:rgba(10,10,10,.55);font-weight:300;margin:0}

/* Tessere (al posto della griglia foto) */
.nc-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
@media(max-width:960px){.nc-tiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.nc-tiles{grid-template-columns:repeat(2,1fr)}}
.nc-tile{background:#FFFFFF;border:1px solid rgba(10,10,10,.08);padding:26px 16px;text-align:center;transition:border-color .3s,transform .3s}
.nc-tile:hover{border-color:#1C35C8;transform:translateY(-2px)}
.nc-tile-dot{width:7px;height:7px;border-radius:50%;background:#1C35C8;margin:0 auto 14px}
.nc-tile span{display:block;font-size:.84rem;font-weight:500;color:#0A0A0A;line-height:1.35}
.nc-tile small{display:block;font-size:.72rem;color:rgba(10,10,10,.45);margin-top:5px;font-weight:300}
.nc-tiles-foot{text-align:center;margin-top:40px}
.nc-tiles-foot p{font-size:.95rem;color:rgba(10,10,10,.6);margin-bottom:22px;font-weight:300}
.nc-tiles-foot b{color:#1C35C8;font-weight:600}

/* Box CTA finale */
.nc-box{background:#FFFFFF;border:1px solid rgba(10,10,10,.1);box-shadow:0 30px 70px rgba(10,10,10,.06);padding:66px 52px;text-align:center;max-width:960px;margin:0 auto}
@media(max-width:768px){.nc-box{padding:44px 24px}}
.nc-box-ico{width:56px;height:56px;background:#1C35C8;margin:0 auto 26px;display:flex;align-items:center;justify-content:center}
.nc-box-ico svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:1.6}
.nc-box h2{font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;font-weight:500;font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.14;color:#0A0A0A;margin-bottom:18px}
.nc-box h2 em{font-style:italic;color:#1C35C8}
.nc-box p{font-size:1rem;line-height:1.7;color:rgba(10,10,10,.58);font-weight:300;max-width:56ch;margin:0 auto 34px}
.nc-box-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.nc-box-foot{margin-top:30px;padding-top:22px;border-top:1px solid rgba(10,10,10,.08);font-size:.8rem;color:rgba(10,10,10,.5)}
.nc-box-foot b{color:#0A0A0A;font-weight:500}


/* ══ v16: TIPOGRAFIA CLASH DISPLAY + IBM PLEX MONO, FORME ARROTONDATE ══ */
:root{
  --r-xs:10px;   /* micro elementi */
  --r-sm:14px;   /* tessere, campi */
  --r-md:20px;   /* schede */
  --r-lg:26px;   /* pannelli e box grandi */
  --r-pill:999px;/* bottoni */
}

/* Corpo: il mono corre largo, quindi corpo leggermente ridotto e interlinea aperta */
body{font-family:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.94rem;line-height:1.68;font-weight:300;letter-spacing:-.01em}
p{letter-spacing:-.01em}

/* Titoli: Clash Display non ha corsivo reale, quindi l'enfasi passa dal colore */
h1,h2,h3,h4,.serif,.nc-h1,.nc-h2{font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;letter-spacing:-.02em}
h1 em,h2 em,h3 em,.serif em,.nc-h1 em,.nc-head h2 em,.nc-box h2 em{font-style:normal}
.serif{font-weight:600}
.hero-title,.nc-h1{font-weight:600;letter-spacing:-.03em;line-height:1.02}
.sec-head h2,.two-head h2,.nc-head h2,.nc-box h2,.cta-band h2{font-weight:600;letter-spacing:-.025em}

/* Etichette e occhielli: il mono qui dà il meglio */
.eyebrow,.nc-eyebrow,.card-badge,.nc-panel-lab,.foot-col h4,.label{font-family:'IBM Plex Mono',ui-monospace,monospace;font-weight:500}

/* Numeri grandi in Clash Display, più incisivi */
.stat-big,.nc-stat-n,.tile-num,.step-n,.nc-step-n{font-family:'Clash Display','Space Grotesk',system-ui,sans-serif;font-weight:600;letter-spacing:-.03em}

/* ── Forme arrotondate ── */
.btn,.nc-btn{border-radius:var(--r-pill)}
.card,.nc-card,.tile{border-radius:var(--r-md)}
.nc-panel,.nc-box,.form-wrap,.section.light .form-wrap{border-radius:var(--r-lg)}
.nc-tile{border-radius:var(--r-sm)}
.nc-ico,.nc-box-ico,.nc-strip-ico{border-radius:var(--r-xs)}
.nc-strip{border-radius:var(--r-sm)}
.nc-step{border-radius:var(--r-md)}
.nc-step-n{border-radius:50%}
.hero-eyebrow span,.card-badge,.nc-eyebrow{border-radius:var(--r-pill)}
.cookie-banner{border-radius:var(--r-lg) var(--r-lg) 0 0}
.field input,.field select,.field textarea{border-radius:var(--r-xs)}
.section.light .field input,.section.light .field select,.section.light .field textarea{border-radius:0}

/* Le griglie a filetto diventano griglie a schede staccate */
.grid-2,.grid-3{gap:14px;background:transparent}


/* ══ v17: ALLINEAMENTI, MENU EVIDENTE, CTA FLUO ══ */
:root{--fluo:#D8FF3E;--fluo-deep:#C2EA22;--gap:16px;--sec-pad:110px;--sec-pad-m:72px}

/* 1. Un solo contenitore per tutto il sito: nav, contenuti, footer in colonna */
.nc .wrap{max-width:var(--wrap);padding:0 40px}
@media(max-width:768px){.nc .wrap{padding:0 22px}}

/* 2. Stesso ritmo verticale ovunque */
.nc-hero{padding:calc(var(--nav-h) + 90px) 0 90px}
@media(max-width:768px){.nc-hero{padding:calc(var(--nav-h) + 52px) 0 56px}}
.nc-sec{padding:var(--sec-pad) 0}
.nc-sec.tight{padding:var(--sec-pad-m) 0}
@media(max-width:768px){.nc-sec,.nc-sec.tight{padding:var(--sec-pad-m) 0}}

/* 3. Stesso stacco sotto le intestazioni di sezione */
.nc-head{margin:0 auto 64px}
@media(max-width:820px){.nc-head{margin-bottom:44px}}

/* 4. Stessa aria tra le schede in ogni griglia */
.grid-2,.grid-3,.nc-grid,.nc-steps{gap:var(--gap)}
.nc-tiles{gap:12px}

/* 5. Menu più evidente */
.nav-links{gap:30px}
.nav-links a{font-size:.85rem;font-weight:600;color:rgba(255,255,255,.82);letter-spacing:.01em}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a.active{position:relative}
.nav-links a.active::before{content:'';position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--fluo);border-radius:2px}
.nav-links a.hot{color:#fff;font-weight:600}
.nav-links a.hot::after{background:var(--fluo)}
.logo-top{font-weight:600}
.nav.scrolled{box-shadow:0 1px 0 rgba(255,255,255,.14),0 12px 40px rgba(0,0,0,.45)}

/* 6. CTA Candidati in fluo */
.nav-cta,.nav-cta.btn-cream,.m-cta,.m-cta.btn-cream{background:var(--fluo);border-color:var(--fluo);color:#0A0A0A;font-weight:600;letter-spacing:.06em}
.nav-cta:hover,.m-cta:hover{background:var(--fluo-deep);border-color:var(--fluo-deep);color:#0A0A0A}
.mobile a{font-weight:600}
.mobile a.hot{color:var(--fluo)}


/* ══ v18: LEGGIBILITÀ, ALLINEAMENTI MOBILE, TAGLIO APP ══ */

/* 1. Testo più contrastato e leggermente più corposo: il mono in peso 300 sparisce */
body{font-weight:400;color:rgba(255,255,255,.9)}
p,li,.lead,.nc-lead,.card p,.nc-card p,.step p,.nc-step p,.nc-panel li,.nc-head p,.nc-box p,.tile p,.persona p,.servizio-body p{font-weight:400}
.lead,.nc-lead,.nc-head p,.nc-box p{color:rgba(255,255,255,.78)}
.card p,.step p,.nc-card p,.nc-step p,.tile p{color:rgba(255,255,255,.76)}
.nc-stat-l,.card-badge{color:rgba(255,255,255,.68)}
.section.light .lead,.section.light .nc-head p,.section.light p,.nc-sec .nc-lead,.nc-sec p{color:rgba(10,10,10,.74)}
.nc .nc-lead,.nc .nc-head p,.nc .nc-card p,.nc .nc-step p,.nc .nc-box p,.nc .nc-panel li{color:rgba(10,10,10,.74)}
.nc .nc-stat-l,.nc .nc-tile small{color:rgba(10,10,10,.6)}
.section.light .field label,.section.light .consent{color:rgba(10,10,10,.7)}
.foot-col a,.foot-tag{color:rgba(232,221,208,.8)}

/* 2. Titoli: crenatura meno stretta, le parole non si attaccano più */
h1,h2,.hero-title,.nc-h1{letter-spacing:-.02em}
h3,h4,.card h3,.nc-card h3,.nc-step h3,.persona h3,.servizio-side h3{letter-spacing:-.005em}
@media(max-width:768px){
  h1,h2,.hero-title,.nc-h1,.nc-head h2,.nc-box h2{letter-spacing:-.015em;line-height:1.08}
}

/* 3. Su mobile tutto allineato a sinistra, nessun blocco centrato */

/* 4. Taglio app: bersagli grandi, bottoni a piena larghezza su mobile */
.btn,.nc-btn{min-height:54px}
@media(max-width:768px){
  .btn,.nc-btn{width:100%;justify-content:center;min-height:58px;font-size:.8rem}
  .nc-btn svg,.btn svg{margin-left:2px}
  .card .btn,.nc-card .nc-btn,.tile .btn{width:100%}
}
a,button{-webkit-tap-highlight-color:rgba(216,255,62,.18)}

/* 5. Menu mobile: voce e bottone in scala, non più il bottone piccolo sotto titoloni */
.mobile a{font-size:clamp(1.9rem,7vw,2.4rem);padding:16px 0}
.mobile .m-label{font-size:.7rem;letter-spacing:.24em;margin-top:26px;margin-bottom:14px}
.mobile .m-cta{
  width:100%;display:flex;justify-content:center;align-items:center;
  min-height:64px;font-size:.9rem;font-weight:600;letter-spacing:.06em;
  border-radius:var(--r-pill);padding:20px 24px;
}
@media(max-width:768px){.mobile .m-cta{font-size:.86rem}}


/* ══ v19: NIENTE SFORAMENTI, TUTTO IN COLONNA ══ */

/* 1. Niente overflow orizzontale in tutto il sito */
html,body{overflow-x:hidden;max-width:100%}

/* 2. Le celle delle griglie non si allargano più oltre la colonna */
.grid-2>*,.grid-3>*,.nc-grid>*,.nc-steps>*,.nc-tiles>*,.packages>*{min-width:0}
.card,.nc-card,.tile,.nc-panel,.nc-box,.nc-step{overflow-wrap:anywhere}
.card p,.nc-card p,.ck-list li,.nc-panel li,.pkg-list li{overflow-wrap:break-word;hyphens:auto}

/* 3. I bottoni mandano a capo invece di sfondare la scheda */
.btn,.nc-btn{white-space:normal;text-align:center;line-height:1.3;padding-left:20px;padding-right:20px}
@media(max-width:768px){
  .btn,.nc-btn{font-size:.74rem;letter-spacing:.05em;padding:16px 18px}
}

/* 4. Badge e occhielli restano della larghezza del testo, non stirati */
.card-badge,.pkg-tag,.nc-panel-lab,.hero-eyebrow span,.nc-eyebrow,.eyebrow{align-self:flex-start;width:auto;max-width:100%}

/* 5. Menu mobile: bottone finalmente a piena larghezza */
.mobile .m-cta,.mobile a.m-cta,.mobile .btn.m-cta{
  align-self:stretch;width:100%;display:flex;justify-content:center;align-items:center;
  min-height:64px;font-size:.86rem;font-weight:600;letter-spacing:.06em;
  padding:20px 18px;margin-top:14px;text-align:center;
}

/* 6. Schede allineate sulla stessa colonna del resto della pagina */
.grid-2,.grid-3,.nc-grid,.nc-steps,.nc-tiles,.packages{width:100%;margin-left:0;margin-right:0}
.card,.nc-card,.nc-panel,.nc-box,.form-wrap{max-width:100%}


/* ══ v20: BOTTONE MENU DEFINITIVO + ANCORA AL MODULO ══ */

/* Bottone "Candidati come creator": piena larghezza, alto, con aria intorno al testo */
.mobile .m-cta,
.mobile a.m-cta,
.mobile .btn.m-cta,
.mobile .btn-cream.m-cta{
  display:flex !important;
  width:100% !important;
  align-self:stretch !important;
  box-sizing:border-box !important;
  min-height:76px !important;
  padding:26px 30px !important;
  font-size:1rem !important;
  font-weight:600 !important;
  letter-spacing:.03em !important;
  line-height:1.2 !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  gap:12px !important;
  border-radius:999px !important;
  margin-top:18px !important;
}
.mobile .m-cta svg{width:18px !important;height:18px !important;flex:none}

/* Bottone "Candidati" nella barra desktop: un filo più generoso */
.nav-cta{padding:14px 28px !important;font-size:.78rem !important;min-height:48px}

/* Le ancore non finiscono più sotto la barra fissa */
[id]{scroll-margin-top:calc(var(--nav-h) + 20px)}


/* ══ v21: TESTO CHIARO NELLE SCHEDE SCURE + ALLINEAMENTO PERFETTO SU MOBILE ══ */

/* 1. Dentro una scheda scura il testo è SEMPRE chiaro, ovunque si trovi la scheda */
.card.black,.card.blue,
.section.light .card.black,.section.light .card.blue,
.nc .card.black,.nc .card.blue{color:rgba(255,255,255,.84) !important}

.card.black p,.card.blue p,
.card.black li,.card.blue li,
.card.black .ck-list li,.card.blue .ck-list li,
.card.black .pkg-list li,.card.blue .pkg-list li,
.section.light .card.black p,.section.light .card.blue p,
.section.light .card.black li,.section.light .card.blue li,
.nc .card.black p,.nc .card.blue p{color:rgba(255,255,255,.84) !important}

.card.black h2,.card.blue h2,.card.black h3,.card.blue h3,
.section.light .card.black h3,.section.light .card.blue h3{color:#FFFFFF !important}

.card.black em,.card.blue em{color:var(--cream) !important}

.card.black .card-badge,.card.blue .card-badge{
  color:rgba(255,255,255,.85) !important;border-color:rgba(255,255,255,.4) !important;
}
.card.black .ck-list li,.card.blue .ck-list li{border-bottom-color:rgba(255,255,255,.16) !important}
.card.black .ck-list svg,.card.blue .ck-list svg{stroke:rgba(255,255,255,.85) !important}

/* Bottoni dentro le schede scure */
.section.light .card.black .btn-outline,.nc .card.black .btn-outline{color:#fff !important;border-color:rgba(255,255,255,.4) !important}
.section.light .card.blue .btn-cream,.nc .card.blue .btn-cream{background:var(--cream) !important;border-color:var(--cream) !important;color:#0A0A0A !important}

/* 2. Su mobile le schede vanno da bordo a bordo: il testo interno cade
      sulla stessa linea verticale dei titoli di sezione */
@media(max-width:768px){
  .grid-2,.grid-3,.nc-grid,.nc-steps,.packages{
    margin-left:-22px;margin-right:-22px;width:calc(100% + 44px);
  }
  .card,.nc-card,.nc-step,.package{
    padding-left:22px !important;padding-right:22px !important;
    border-radius:22px;
  }
  .nc-panel,.nc-box,.form-wrap,.section.light .form-wrap{
    margin-left:-22px;margin-right:-22px;width:calc(100% + 44px);
    padding-left:22px !important;padding-right:22px !important;border-radius:22px;
  }
  .nc-tiles{margin-left:0;margin-right:0;width:100%}
}


/* ══ v25: ICONE E NUMERI CENTRATI — identico su desktop e mobile ══ */
.nc-ico{margin-left:auto;margin-right:auto}
.nc-box-ico{margin-left:auto;margin-right:auto}
.nc-tile-dot{margin-left:auto;margin-right:auto}
.nc-step-n{margin-left:auto;margin-right:auto}
.step-n{margin-left:auto;margin-right:auto;text-align:center}
.tile-num{text-align:center}


/* ══ v27: TUTTE LE CARD ALLINEATE ALLO STESSO MODO SU MOBILE ══
   Su mobile pannelli, statistiche e schede seguono la stessa regola
   di box CTA, step e tessere: contenuto centrato. */
@media(max-width:768px){
  .nc-panel,.nc-stats,.nc-stats>div,.nc-card,.nc-hero .wrap,.nc-hero-grid>div{
    text-align:center;
  }
  .nc-panel ul,.nc-card ul,.ck-list{padding-left:0;list-style:none}
  .nc-panel li,.nc-card li,.ck-list li{
    justify-content:center;text-align:center;
  }
  .nc-panel-lab,.nc-panel-foot,.nc-stat-n,.nc-stat-l,.nc-eyebrow{
    text-align:center;margin-left:auto;margin-right:auto;
  }
  .nc-strip{
    flex-direction:column;align-items:center;text-align:center;
    margin-left:auto;margin-right:auto;
  }
  .nc-actions,.hero-actions{align-items:stretch}
}
