:root{
  --ns-content:min(1440px,calc(100% - 40px));
  --ns-content-reading:min(920px,calc(100% - 36px));
  --ns-space-section:clamp(56px,7vw,104px);
  --ns-radius:18px;
  --ns-line:rgba(255,255,255,.09);
  --ns-soft:rgba(255,255,255,.64);
}
html{scroll-behavior:smooth}
body{overflow-x:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
main{min-width:0}
h1,h2,h3{overflow-wrap:normal;word-break:normal;text-wrap:balance}
p{line-height:1.65}
.section,.wrap,.ns-editorial,.lp,.d{max-width:none}
.section{width:var(--ns-content);margin-inline:auto;padding-block:var(--ns-space-section)}
.section-head{margin-bottom:clamp(24px,3vw,42px)}
.section-head h2{font-size:clamp(2rem,4.1vw,4rem)!important;line-height:.96!important;letter-spacing:-.035em!important}
.section-kicker,.eyebrow,.kicker,.partner-eyebrow{font-size:clamp(.66rem,.75vw,.76rem)!important;letter-spacing:.14em!important}
.hero h1{font-size:clamp(2.7rem,6vw,5.8rem)!important;line-height:.9!important;letter-spacing:-.045em!important}
.hero-subtitle{font-size:clamp(.9rem,1.3vw,1.08rem)!important;letter-spacing:.12em!important}
.ns-editorial{width:var(--ns-content);margin:auto;padding:clamp(105px,10vw,150px) 0 var(--ns-space-section)}
.ns-editorial-hero h1{font-size:clamp(2.8rem,6.2vw,5.9rem)!important;line-height:.92!important}
.ns-copy h2{font-size:clamp(2rem,4.4vw,4.2rem)!important;line-height:1!important}
.ns-copy p{font-size:clamp(.98rem,1.2vw,1.08rem);color:var(--ns-soft)}
.lp{width:var(--ns-content)!important;padding:clamp(105px,9vw,140px) 0 var(--ns-space-section)!important}
.lp h1{font-size:clamp(2.7rem,6vw,5.7rem)!important;line-height:.92!important;letter-spacing:-.04em!important}
.lg{gap:clamp(18px,2vw,28px)!important;margin-top:clamp(28px,4vw,48px)!important}
.lc h2{font-size:clamp(1.1rem,1.5vw,1.35rem)!important;line-height:1.15!important}
.cm{border-radius:var(--ns-radius)!important}
.d{width:min(1280px,calc(100% - 40px))!important;padding:clamp(102px,9vw,138px) 0 var(--ns-space-section)!important}
.d .cover{border-radius:clamp(16px,2vw,24px)!important}
.d .dh h1{font-size:clamp(2.25rem,5vw,4.8rem)!important;line-height:.96!important;letter-spacing:-.035em!important}
.d section>h2{font-size:clamp(1.7rem,3.2vw,2.8rem)!important}
.ev h3{font-size:clamp(1rem,1.5vw,1.25rem)!important}
.ns-legal-page{width:var(--ns-content-reading)!important;margin-inline:auto!important;padding-top:clamp(100px,9vw,135px)!important}
.ns-legal-page .hero{min-height:0!important;padding:0 0 clamp(32px,5vw,56px)!important}
.ns-legal-page .hero h1{font-size:clamp(2.1rem,4.7vw,4.1rem)!important;line-height:1!important}
.ns-legal-page h2{font-size:clamp(1.15rem,2vw,1.55rem)!important;line-height:1.2!important;margin-top:2.2em!important}
.ns-legal-page p,.ns-legal-page li{font-size:clamp(.95rem,1.05vw,1.02rem)!important;line-height:1.72!important}
button,a,input,select,textarea{font:inherit}
input,select,textarea{border-radius:12px!important}
.btn,.ns-cta,.filter-reset{min-height:44px;border-radius:999px!important;display:inline-flex;align-items:center;justify-content:center;line-height:1.1!important}
.partner-hero h1,.wrap>header h1,.wrap .hero h1{font-size:clamp(2rem,4vw,3.8rem)!important;line-height:1!important;letter-spacing:-.03em!important}
.partner-card h2,.wrap h2{font-size:clamp(1.3rem,2.4vw,2rem)!important;line-height:1.08!important}
.partner-card{border-radius:18px!important}
@media(max-width:900px){
  :root{--ns-content:min(100% - 28px,1440px);--ns-space-section:clamp(44px,9vw,72px)}
  .section{padding-block:var(--ns-space-section)}
  .lg{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px){
  :root{--ns-content:calc(100% - 24px);--ns-content-reading:calc(100% - 28px)}
  .hero h1{font-size:clamp(2.45rem,12vw,3.6rem)!important}
  .section-head h2{font-size:clamp(1.9rem,10vw,2.7rem)!important}
  .ns-editorial-hero h1{font-size:clamp(2.35rem,11vw,3.45rem)!important}
  .ns-copy h2{font-size:clamp(1.8rem,8.5vw,2.6rem)!important}
  .lp h1{font-size:clamp(2.4rem,11vw,3.5rem)!important}
  .lg{grid-template-columns:1fr!important}
  .d{width:calc(100% - 24px)!important}
  .d .dh h1{font-size:clamp(2rem,9vw,3rem)!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}


/* V5.14 · Creazione massiva Topics Italia */
.ns-tg-bulk{margin-top:18px}
.ns-tg-bulk-progress{margin:16px 0;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.ns-tg-bulk-bar{height:9px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:10px}
.ns-tg-bulk-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s ease}
.ns-tg-bulk-stats{display:flex;gap:12px;flex-wrap:wrap;align-items:center;color:var(--text-muted);font-size:13px}
.ns-tg-bulk-stats strong{color:var(--text);font-size:15px}
.ns-tg-bulk-errors{margin-top:10px;display:grid;gap:6px;font-size:12px;color:var(--danger)}
@media (max-width:760px){.ns-tg-bulk-stats{gap:8px 12px}.ns-tg-bulk .ns-tg-actions form,.ns-tg-bulk .ns-tg-actions .ns-btn{width:100%}}
@media (prefers-reduced-motion:reduce){.ns-tg-bulk-bar span{transition:none}}
