/* ==============================================================
 * NEXIM FOUNDATION — SKIN v7 "GLOBAL TELCO" (ott 2026)
 * Caricata per ULTIMA (dopo premium.css). Stile da grande operatore
 * mondiale: pagina chiara (bianco + grigi freddi), navy per i testi,
 * blu istituzionale per CTA e accenti, tipografia corporate (Manrope),
 * fotografia grande. Gli hero restano navy con foto/3D; globo, catena
 * broadcast, multiviewer e board di rete sono pannelli navy nella
 * pagina chiara; footer navy. Rollback: rimuovere l'enqueue in
 * functions.php (torna la skin scura v6).
 * ============================================================== */

/* ---------- 1. Token (superfici chiare) ---------- */
:root, body {
  --nx-bg:        #ffffff;
  --nx-bg-2:      #f3f6fb;
  --nx-bg-soft:   #f3f6fb;
  --nx-bg-alt:    #e9eef7;
  --nx-surf:      #ffffff;
  --nx-surf-2:    #f3f6fb;
  --nx-line:      rgba(11,27,58,.10);
  --nx-line-2:    rgba(11,27,58,.16);
  --nx-line-3:    rgba(11,27,58,.28);
  --nx-ink:       #0b1b3a;
  --nx-ink-2:     #2f3f5c;
  --nx-ink-soft:  #5c6c86;
  --nx-ink-dim:   #8793a8;
  --tc-navy:      #0b1b3a;
  --tc-navy-deep: #071533;
  --tc-navy-mid:  #10265c;
  --tc-on-dark:   #d9e2f5;
  --tc-on-dark-2: #9fb0d4;
  --nx-radius:    8px;
  --nx-radius-lg: 14px;
  --nx-radius-sm: 6px;
  --nx-shadow-sm: 0 1px 2px rgba(11,27,58,.06);
  --nx-shadow:    0 10px 30px -12px rgba(11,27,58,.18);
  --nx-shadow-lg: 0 26px 60px -24px rgba(11,27,58,.25);
  --nx-font-display: "Manrope", "Inter", ui-sans-serif, system-ui, sans-serif;
  --nx-font-body:    "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --nx-font-mono:    "Inter", ui-sans-serif, system-ui, sans-serif;
  /* pro layer: niente glow, tinte neutre */
  --pro-spot: rgba(11,27,58,.04);
  --pro-line-glow: rgba(31,92,209,.25);
  --pro-tint-strong: transparent;
  --pro-tint-soft: transparent;
  --pro-grad: linear-gradient(120deg, var(--nx-brand-2), var(--nx-brand));
}
/* contrasto: sui fondi chiari testo/CTA usano lo step scuro della skin */
body[class*="nexim-skin"] { --tc-link: var(--nx-brand-2); }
html { background: #fff; color-scheme: light; scrollbar-color: #c6cfdd #fff; }
body { background: #fff !important; color: var(--nx-ink); font-size: 16px; }
body::after { display: none !important; }                 /* scanline */
::selection { background: var(--nx-brand-2); color: #fff; }
a { color: var(--tc-link, var(--nx-brand-2)); }
a:hover { color: var(--nx-ink); }
h1, h2, h3, h4, h5 { color: var(--nx-ink); font-weight: 800; letter-spacing: -.025em; }
p { color: var(--nx-ink-2); }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 2px solid var(--nx-brand-2); outline-offset: 3px; box-shadow: none; }

/* gradienti-testo del layer scuro → colore pieno */
h1 em, h2 em, h3 em, .nx-strip__n em, .nx-netmap__stat b, .nxc-bignum__item-n, .nx-why__n, .nx-stat__n, .nx-process__n, .nxm-stat__n, .nx-logo-text strong, .nx-hub__city {
  background: none !important; -webkit-background-clip: initial !important; background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important; color: var(--nx-ink); animation: none !important; filter: none !important;
}
h1 em, h2 em, h3 em { font-style: normal; color: var(--nx-brand-2); }
.pro-wi { filter: none !important; }
h1 em .pro-wi, h1.pro-split em .pro-wi { background: none !important; -webkit-text-fill-color: currentColor !important; color: inherit !important; animation: proWordIn .85s var(--pro-ease) both !important; }
.nx-section-head.pro-reveal { filter: none; }
.pro-progress { background: var(--nx-brand-2); box-shadow: none; }
.pro-hero-blobs, .pro-hero-beams, .pro-hero-grid, .pro-hero-canvas, .pro-hero-vignette, .pro-watermark, .nx-vhero::after { display: none !important; }
.nx-vband::before, .nxc-cta-big::before { display: none !important; }

/* ---------- 2. Header bianco ---------- */
.nx-header, .nx-header.pro-shrink {
  background: rgba(255,255,255,.96) !important; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--nx-line) !important; box-shadow: 0 1px 0 rgba(11,27,58,.04);
}
.nx-header .nx-logo-img { filter: brightness(0) !important; opacity: .92; height: 28px; }
.nx-nav__list a, .nx-mega__btn, .nx-lang__btn { color: var(--nx-ink); font-weight: 600; }
.nx-nav__list a:hover, .nx-mega__btn:hover, .nx-lang__btn:hover { color: var(--nx-brand-2); background: none; }
.nx-nav__list a::after { background: var(--nx-brand-2); }
.nx-nav__list .current-menu-item > a { color: var(--nx-brand-2); }
.nx-nav__list li > ul, .nx-mega__panel, .nx-lang__menu { background: #fff; border-color: var(--nx-line); box-shadow: var(--nx-shadow-lg); backdrop-filter: none; }
.nx-mega__item:hover { background: var(--nx-bg-2); }
.nx-mega__item strong { color: var(--nx-ink); } .nx-mega__item span { color: var(--nx-ink-soft); }
.nx-mega__glabel, .nx-mega__foot-label { color: var(--nx-ink-dim); }
.nx-mega__foot a { color: var(--nx-ink-2); }
.nx-burger span { background: var(--nx-ink) !important; }
.nx-mobile { background: #fff !important; }
.nx-mobile__nav a { color: var(--nx-ink); border-bottom-color: var(--nx-line); }
.nx-mobile__glinks a { color: var(--nx-ink-2); }
.nx-header__right .nx-btn--primary { border-radius: 8px; }

/* ---------- 3. Bottoni ---------- */
.nx-btn { border-radius: 8px; font-weight: 700; letter-spacing: 0; }
.nx-btn--primary {
  background: var(--nx-brand-2) !important; color: #fff !important; border-color: var(--nx-brand-2) !important;
  box-shadow: 0 8px 22px -10px color-mix(in srgb, var(--nx-brand-2) 70%, transparent) !important; filter: none !important;
}
.nx-btn--primary:hover { background: color-mix(in srgb, var(--nx-brand-2) 82%, #000) !important; border-color: transparent !important; color: #fff !important; transform: translateY(-1px); }
.nx-btn--primary::after, .nx-btn--lg::after { content: none !important; }
.nx-btn--ghost { background: #fff; color: var(--nx-ink); border-color: var(--nx-line-3); backdrop-filter: none; }
.nx-btn--ghost:hover { background: var(--nx-bg-2); border-color: var(--nx-ink); color: var(--nx-ink); }
/* ghost su hero/band scure */
.nxc-hero .nx-btn--ghost, .nx-vhero .nx-btn--ghost, .nxc-cta-big .nx-btn--ghost, .nx-vband .nx-btn--ghost, .nxn-hero .nx-btn--ghost, .nx-footer .nx-btn--ghost {
  background: rgba(255,255,255,.06); color: #fff; border-color: rgba(255,255,255,.45);
}
.nxc-hero .nx-btn--ghost:hover, .nx-vhero .nx-btn--ghost:hover, .nxc-cta-big .nx-btn--ghost:hover, .nx-vband .nx-btn--ghost:hover { background: rgba(255,255,255,.14); border-color: #fff; color: #fff; }
.nxc-hero .nx-btn--primary, .nx-vhero .nx-btn--primary, .nxc-cta-big .nx-btn--primary, .nx-vband .nx-btn--primary { background: var(--nx-brand) !important; border-color: var(--nx-brand) !important; }
.nxc-hero .nx-btn--primary:hover, .nx-vhero .nx-btn--primary:hover, .nxc-cta-big .nx-btn--primary:hover, .nx-vband .nx-btn--primary:hover { background: #fff !important; color: var(--tc-navy) !important; }
.nx-btn--white { background: #fff; color: var(--tc-navy); }

/* ---------- 4. Sezioni, testate, card ---------- */
.nx-section { padding: clamp(72px, 8vw, 112px) 0; }
.nx-section--alt { background: var(--nx-bg-2); border-block: 1px solid var(--nx-line); }
.nx-section-head .nx-kicker, .nx-eyebrow, .nxc-bighead__eyebrow, .nx-vband__code, .nxc-cta-big__eyebrow, [class*="__eyebrow"] {
  font-family: var(--nx-font-body) !important; font-size: 12.5px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase;
  color: var(--nx-brand-2) !important; border: 0 !important; background: none !important; padding: 0 !important;
}
.nx-section-head .nx-kicker::before, .nx-eyebrow::before { content: none !important; }
.nx-section-head .nx-kicker::after { display: none; }
.nxc-bighead__eyebrow::before { width: 28px; height: 2px; background: var(--nx-brand-2) !important; box-shadow: none !important; content: "" !important; }
.nx-section-head h2, .nxc-bighead h2 { color: var(--nx-ink); font-weight: 800; letter-spacing: -.03em; }
.nx-section-head p, .nxc-bighead__sub { color: var(--nx-ink-soft); }
.nx-services__item, .nx-why__item, .nx-process__step, .nx-hub-card, .nx-offer, .nx-post-card, .nxc-div, .nxc-office, .nx-hub, .nx-netmap__side, .nx-bcast__specs li, .nxn-card, .nxn-vert, .nxm-cat, .nxm-product, .nxm-pa-card, .nxw-svc, .nx-hw__card, .nxb-plan, .nx-press__card {
  background: #fff !important; background-image: none !important; border: 1px solid var(--nx-line) !important; border-radius: 12px;
  box-shadow: var(--nx-shadow-sm) !important; transform-style: flat;
}
.nx-services__item:hover, .nx-why__item:hover, .nx-process__step:hover, .nxc-div:hover, .nx-hub:hover, .nxm-product:hover, .nxb-plan:hover, .nx-hub-card:hover {
  border-color: var(--nx-line-2) !important; box-shadow: var(--nx-shadow) !important; background: #fff !important;
}
.nx-services__item::before, .nx-hub-card::before, .nx-offer::before, .nxc-div::before, .nxm-product::before, .nxb-plan::before, .pro-spot::after { content: none !important; display: none !important; }
.nx-process__step { border-top: 3px solid var(--nx-brand-2) !important; }
.nx-services__code, .nx-process__n, .nxc-div__num, .nx-hub-card__code, .nx-why__l, .nx-hub__role, .nx-hub__coords, .nxc-office__tz, .nxc-office__country, .nxc-office__coords, .nx-strip__l, .nx-netmap__stat span, .nx-bcast__specs span, .nxc-bignum__item-l, .nxc-hero__numbers-l, .nx-vhero__trust, .nxc-hero__trust, .nxc-divisions__group, .nxc-div__cta, .nx-services__link, .nx-vhero__code, .nxc-show__tag, .nxc-show__idx, .nxc-show__tab, .nx-trust-strip__list li, .nx-trust-strip__label, .nx-netmap__hubs li, .nxg__legend li, .nxg__caption, .nx-footer__certs-label, .nx-cert-chip, .nx-footer__bar {
  font-family: var(--nx-font-body) !important; letter-spacing: .06em;
}
.nx-services__code, .nxc-div__num, .nx-hub-card__code { color: var(--nx-brand-2); font-weight: 700; }
.nx-services__title, .nx-process__t, .nxc-div__name, .nx-hub-card__name { color: var(--nx-ink); font-weight: 800; }
.nx-services__desc, .nx-process__d, .nx-why__d, .nxc-div__desc { color: var(--nx-ink-soft); }
.nx-services__link, .nxc-div__cta { color: var(--nx-brand-2) !important; font-weight: 700; border-top-color: var(--nx-line); letter-spacing: .04em !important; }
.nx-services__item:hover .nx-services__link, .nxc-div:hover .nx-div__cta { color: var(--nx-ink) !important; letter-spacing: .04em !important; }
.nx-services__item:hover .nx-services__code { text-shadow: none; color: var(--nx-brand-2); }
.nx-why__n { color: var(--tc-navy); font-weight: 800; }
.nx-why__l { color: var(--nx-brand-2) !important; font-weight: 700; }
.nx-why__item:hover, .nx-process__step:hover { background: #fff; }
.nx-process__n { color: var(--nx-brand-2); font-weight: 700; }
.nx-trust-strip { background: var(--nx-bg-2); border-color: var(--nx-line); }
.nx-trust-strip__list li { color: var(--nx-ink-2); font-weight: 600; }
.pro-marquee .nx-trust-strip__list li:hover { color: var(--nx-brand-2); }
.nxc-divisions__group { color: var(--nx-ink-dim); font-weight: 700; }
.nxc-divisions__group::after { background: var(--nx-line); }
.nxc-div__rail { box-shadow: none; }
.nxc-div__photo { border-color: var(--nx-line); }
.nx-strip { background: #fff; border-color: var(--nx-line); }
.nx-strip__n { color: var(--tc-navy); font-weight: 800; }
.nx-strip__n em { color: var(--nx-brand-2); }
.nx-strip__l { color: var(--nx-ink-soft); font-weight: 600; }
.nx-strip__item { border-inline-end-color: var(--nx-line); }

/* ---------- 5. Hero (verticali e corporate): navy con foto/3D, testo bianco ---------- */
.nx-vhero, .nxc-hero, .nxn-hero { background: var(--tc-navy-deep); border-bottom: 0; }
.nx-vhero__bg { filter: contrast(1.05) brightness(.78) saturate(1.05); opacity: 1; }
.nx-vhero__scrim, .nxc-hero__scrim {
  background:
    linear-gradient(100deg, rgba(7,21,51,.94) 0%, rgba(7,21,51,.74) 40%, rgba(7,21,51,.26) 70%, rgba(7,21,51,.10) 100%),
    linear-gradient(180deg, rgba(7,21,51,.30) 0%, transparent 38%, rgba(7,21,51,.9) 86%, var(--tc-navy-deep) 100%) !important;
}
.nx-vhero__scrim::after, .nxc-hero__scrim::after { display: none !important; }
.nxc-hero--stadium .nxc-hero__scrim {
  background:
    linear-gradient(92deg, rgba(7,21,51,.95) 0%, rgba(7,21,51,.76) 34%, rgba(7,21,51,.24) 58%, rgba(7,21,51,.06) 80%),
    linear-gradient(180deg, rgba(7,21,51,.5) 0%, transparent 28%, transparent 70%, var(--tc-navy-deep) 100%) !important;
}
.nx-vhero h1, .nxc-hero h1, .nxn-hero h1, .nx-vhero h1 em, .nxc-hero h1 em, .nx-vhero h1 em *, .nxc-hero h1 em * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.nx-vhero h1 em, .nxc-hero h1 em, .nx-vhero h1 em .pro-wi, .nxc-hero h1 em .pro-wi { box-shadow: none !important; text-decoration: none !important; }
.nx-vhero h1, .nxc-hero h1 { font-weight: 800; letter-spacing: -.035em; line-height: 1.02; }
.nxc-hero--stadium h1 { font-size: clamp(42px, 5.6vw, 84px); }
.nx-vhero--globe h1 { font-size: clamp(40px, 5vw, 72px); }
.nx-vhero__sub, .nxc-hero__sub, .nxn-hero__sub { color: var(--tc-on-dark) !important; font-size: clamp(16px, 1.25vw, 19px); }
.nx-vhero__code, .nxc-hero__eyebrow, .nxc-hero__eyebrow *, .nx-vhero__eyebrow { color: var(--tc-on-dark) !important; }
.nx-vhero__code { background: rgba(255,255,255,.1) !important; border-color: rgba(255,255,255,.28) !important; border-radius: 999px; font-weight: 600; letter-spacing: .08em; }
.nx-vhero__code strong, .nxc-hero__eyebrow strong { color: #fff !important; }
.nxc-hero__eyebrow::before { background: var(--nx-brand) !important; }
.nx-vhero__trust, .nxc-hero__trust { color: var(--tc-on-dark-2); border-top-color: rgba(255,255,255,.18); font-weight: 600; letter-spacing: .04em; }
.nx-vhero__trust span, .nxc-hero__trust--inst span { color: #fff; border-color: rgba(255,255,255,.26) !important; background: rgba(255,255,255,.06) !important; }
.nxc-hero__numbers { background: rgba(7,21,51,.55); border-top-color: rgba(255,255,255,.14); }
.nxc-hero__numbers-n { color: #fff !important; } .nxc-hero__numbers-l { color: var(--tc-on-dark-2); font-weight: 600; }
.nx-vhero__panel { background: rgba(7,21,51,.78); border-color: rgba(255,255,255,.18); }
.nx-vhero__panel-hd { color: var(--tc-on-dark-2) !important; } .nx-vhero__panel-row { color: var(--tc-on-dark) !important; } .nx-vhero__panel-row span:last-child { color: #fff !important; }
.nxn-hero__sub { color: var(--tc-on-dark) !important; } .nxn-stat dd { color: #fff !important; } .nxn-stat dt { color: var(--tc-on-dark-2) !important; }
.nxn-hero h1 em, .nxn-hero h1 em *, .nxn-hero h1 .pro-wi { color: #fff !important; -webkit-text-fill-color: #fff !important; }
/* fallback poster del globo nell'hero: più discreto sul navy */
.nx-vhero__globe .nxg__poster, .nxc-hero__globe .nxg__poster { opacity: .55; }
.nxs3d__poster { filter: saturate(.9) brightness(.85); }

/* ---------- 6. Ticker partner e bento (corporate) ---------- */
.nxc-ticker { background: var(--nx-bg-2) !important; border-color: var(--nx-line) !important; }
.nxc-ticker--logos .nxc-ticker__list img { filter: grayscale(1) brightness(.35) !important; opacity: .55; }
.nxc-ticker--logos .nxc-ticker__list li:hover img { filter: grayscale(0) brightness(1) !important; opacity: 1; }
.nxc-ticker__list li::after { color: var(--nx-line-3); }
.nxc-bigsection { background: #fff; }
.nxc-bigsection--tint { background: var(--nx-bg-2); border-color: var(--nx-line); }
.nxc-bigsection::before { display: none !important; }
.nxc-bighead h2 em { color: var(--nx-brand-2); }
.nxc-bento__tile { border-color: var(--nx-line) !important; border-radius: 16px; box-shadow: var(--nx-shadow); }
.nxc-bento__tile:hover { box-shadow: var(--nx-shadow-lg); border-color: var(--nx-line-2) !important; }
.nxc-bento__grade { background: linear-gradient(180deg, rgba(7,21,51,.15) 0%, rgba(7,21,51,.45) 48%, rgba(7,21,51,.94) 90%); }
.nxc-bento__grade::after { opacity: .28; }
.nxc-bento__code { color: rgba(255,255,255,.8); font-family: var(--nx-font-body); font-weight: 700; letter-spacing: .12em; }
.nxc-bento__tile::before { display: none; }
.nxc-bento__links span { font-family: var(--nx-font-body); font-weight: 600; letter-spacing: .06em; background: rgba(7,21,51,.45); border-color: rgba(255,255,255,.3); }
.nxc-bignum { background: #fff; }
.nxc-bignum__item { border-top-color: var(--nx-line-2); }
.nxc-bignum__item::after { background: var(--nx-brand-2); }
.nxc-bignum__item-n { color: var(--tc-navy); font-weight: 800; }
.nxc-bignum__item-l { color: var(--nx-brand-2); font-weight: 700; }
.nxc-bignum__item-d { color: var(--nx-ink-soft); }
.nxc-timeline::before { background: linear-gradient(90deg, var(--nx-brand-2), var(--nx-brand) 60%, transparent); }
.nxc-timeline .nxc-bignum__item::before { background: var(--nx-brand-2); box-shadow: 0 0 0 4px color-mix(in srgb, var(--nx-brand-2) 15%, transparent); }
/* showcase track record */
.nxc-show__stage { border-color: var(--nx-line); box-shadow: var(--nx-shadow); }
.nxc-show__grade { background: linear-gradient(98deg, rgba(7,21,51,.8) 0%, rgba(7,21,51,.3) 45%, transparent 70%), linear-gradient(180deg, transparent 40%, rgba(7,21,51,.9) 96%); }
.nxc-show__tab { color: var(--nx-ink-dim); border-top-color: var(--nx-line-2); font-weight: 700; }
.nxc-show__tab.is-on, .nxc-show__tab:hover { color: var(--nx-ink); }
.nxc-show__tab i { background: var(--nx-brand-2); }
.nxc-show__btn { border-color: rgba(255,255,255,.4); background: rgba(7,21,51,.5); }
/* sedi */
.nx-hub { background: #fff !important; background-image: linear-gradient(var(--nx-line) 1px, transparent 1px), linear-gradient(90deg, var(--nx-line) 1px, transparent 1px) !important; background-size: 40px 40px, 40px 40px !important; }
.nx-hub::before { background: radial-gradient(90% 80% at 50% 0%, transparent 20%, #fff 100%); }
.nx-hub__city { color: var(--tc-navy); font-weight: 800; }
.nx-hub__city::after { background: #16a34a; box-shadow: none; }
.nx-hub__clock { color: var(--nx-brand-2); font-weight: 700; font-variant-numeric: tabular-nums; }
.nx-hub__role, .nx-hub__coords { color: var(--nx-ink-dim); }
.nx-hub__name { color: var(--nx-ink); } .nx-hub__addr { color: var(--nx-ink-soft); }
.nx-hub__coords { border-top-color: var(--nx-line); }

/* ---------- 7. Pannelli navy nella pagina chiara: globo, board rete, catena, multiviewer ---------- */
.nxg--full, .nxg--card, .nxm, .nxs, .nxmv, .nx-netmap__side.is-dark {
  --nx-bg: var(--tc-navy-deep); --nx-bg-2: #0a1a40; --nx-surf: #0e2150; --nx-surf-2: #13295f;
  --nx-line: rgba(255,255,255,.1); --nx-line-2: rgba(255,255,255,.18); --nx-line-3: rgba(255,255,255,.3);
  --nx-ink: #ffffff; --nx-ink-2: var(--tc-on-dark); --nx-ink-soft: var(--tc-on-dark-2); --nx-ink-dim: #7f90b5;
  --nx-font-mono: "Inter", ui-sans-serif, system-ui, sans-serif;
  color: var(--nx-ink);
}
.nxg--full { background: radial-gradient(80% 90% at 50% 0%, color-mix(in srgb, var(--nx-brand) 18%, transparent), transparent 62%), var(--tc-navy-deep); border-color: rgba(255,255,255,.1); box-shadow: var(--nx-shadow-lg); border-radius: 16px; }
.nxg--full .nxg__stage { border-radius: 10px; }
.nxg__label { font-family: var(--nx-font-body); font-weight: 700; letter-spacing: .08em; background: rgba(7,21,51,.75); border-color: rgba(255,255,255,.22); }
.nxg__hud-item { font-family: var(--nx-font-body); background: rgba(7,21,51,.7); border-color: rgba(255,255,255,.16); }
.nxg__hud-item::before { display: none; }
.nxg__hint { font-family: var(--nx-font-body); font-weight: 600; letter-spacing: .1em; }
.nxg__orbit { opacity: .3; }
.nxg__legend li { color: var(--tc-on-dark-2); font-weight: 600; letter-spacing: .04em; }
.nxg__caption { color: var(--tc-on-dark-2); }
.nxm { background: var(--tc-navy-deep); border-radius: 16px; padding: 16px; }
.nxm .nxm-inset, .nxm .nxm-side { background: var(--nx-surf); border-color: var(--nx-line); }
.nxm .nxm-inset__map { background: var(--tc-navy-deep); border-color: var(--nx-line); }
.nxm .nxm-lab { font-family: var(--nx-font-body); font-weight: 700; letter-spacing: .1em; }
.nxm .nxm-legend li, .nxm .nxm-stat__l, .nxm .nxm-inset__code, .nxm .nxm-board-cap { font-family: var(--nx-font-body); font-weight: 600; letter-spacing: .06em; }
.nxm .nxm-stat__n { color: #fff; font-weight: 800; }
.nxm .nxm-side__copy { color: var(--tc-on-dark); }
.nxm .nxm-inset__head h3 { color: #fff; }
.nxs { background: linear-gradient(var(--nx-line) 1px, transparent 1px), linear-gradient(90deg, var(--nx-line) 1px, transparent 1px), var(--tc-navy-deep); background-size: 44px 44px, 44px 44px, auto; border-color: rgba(255,255,255,.1); border-radius: 16px; }
.nxs__lab, .nxs__sub, .nxs__tag, .nxs__bar { font-family: var(--nx-font-body); font-weight: 700; letter-spacing: .1em; }
.nxs__lab { fill: #fff; } .nxs__sub { fill: var(--tc-on-dark-2); font-weight: 500; } .nxs__tag { fill: var(--tc-on-dark-2); }
.nxs__node { fill: rgba(7,21,51,.95); stroke: rgba(255,255,255,.35); }
.nxs__bar { background: rgba(255,255,255,.04); border-top-color: rgba(255,255,255,.1); color: var(--tc-on-dark-2); }
.nxs__tc { color: #fff; }
.nxmv { background: var(--tc-navy-deep); border-color: rgba(255,255,255,.12); font-family: var(--nx-font-body); font-weight: 600; letter-spacing: .08em; border-radius: 14px; }
.nxmv__top, .nxmv__foot { color: var(--tc-on-dark-2); background: rgba(255,255,255,.03); }
.nxmv__title, .nxmv__tc { color: #fff; }
.nxmv__grid { background: #040c22; }
.nx-netmap__side { background: #fff !important; border-color: var(--nx-line) !important; box-shadow: var(--nx-shadow-sm); border-radius: 16px; }
.nx-netmap__side h3 { color: var(--nx-ink); font-weight: 800; }
.nx-netmap__side p { color: var(--nx-ink-soft); }
.nx-netmap__stat b { color: var(--tc-navy); font-weight: 800; }
.nx-netmap__stat span { color: var(--nx-ink-soft); font-weight: 600; }
.nx-netmap__stats { border-top-color: var(--nx-line); }
.nx-netmap__hubs li { border-top-color: var(--nx-line); color: var(--nx-ink-2); font-weight: 600; letter-spacing: .04em; }
.nx-netmap__hubs li b { color: var(--nx-ink); } .nx-netmap__hubs li i { color: var(--nx-ink-dim); } .nx-netmap__hubs li em { color: var(--nx-brand-2); font-weight: 700; }
.nx-bcast__copy h3 { color: var(--nx-ink); font-weight: 800; }
.nx-bcast__copy p { color: var(--nx-ink-soft); }
.nx-bcast__specs li { background: var(--nx-bg-2) !important; box-shadow: none !important; }
.nx-bcast__specs b { color: var(--tc-navy); font-weight: 800; } .nx-bcast__specs span { color: var(--nx-ink-soft); font-weight: 600; }

/* ---------- 8. Band finale e footer navy ---------- */
.nx-vband, .nxc-cta-big {
  background: linear-gradient(120deg, var(--tc-navy-deep) 0%, var(--tc-navy-mid) 100%) !important; border-color: transparent;
}
.nx-vband h2, .nxc-cta-big h2, .nx-vband h2 em, .nxc-cta-big h2 em { color: #fff !important; }
.nx-vband h2 em, .nxc-cta-big h2 em { box-shadow: none; color: #8fb8ff !important; }
.nx-vband p, .nxc-cta-big p { color: var(--tc-on-dark); }
.nx-vband__code, .nxc-cta-big__eyebrow { color: #9fc1ff !important; }
.nx-cform { background: #fff !important; border: 1px solid rgba(255,255,255,.18); box-shadow: var(--nx-shadow-lg); border-radius: 16px; }
.nx-cform__head { color: var(--nx-brand-2) !important; font-family: var(--nx-font-body) !important; font-weight: 700; letter-spacing: .1em; font-size: 12.5px !important; }
.nx-cform label { color: var(--nx-ink); }
.nx-cform input, .nx-cform select, .nx-cform textarea { background: #fff; border-color: var(--nx-line-3); color: var(--nx-ink); }
.nx-cform input:focus, .nx-cform select:focus, .nx-cform textarea:focus { border-color: var(--nx-brand-2); box-shadow: 0 0 0 3px color-mix(in srgb, var(--nx-brand-2) 18%, transparent); }
.nx-cform label a { color: var(--nx-brand-2) !important; }
.nx-cform__note { color: var(--nx-ink-dim); font-family: var(--nx-font-body); letter-spacing: .08em; }
.nx-footer, .nx-legal-footer, .nxlc-footer-legal { background: var(--tc-navy-deep) !important; color: var(--tc-on-dark) !important; border-top: 0 !important; }
.nx-footer::before { display: none !important; }
.nx-footer h4 { color: #fff !important; font-family: var(--nx-font-body); letter-spacing: .1em; }
.nx-footer__col a, .nx-footer__list a, .nx-footer__contact a, .nx-footer__legal a { color: var(--tc-on-dark) !important; }
.nx-footer__col a:hover, .nx-footer__list a:hover, .nx-footer__contact a:hover, .nx-footer__legal a:hover { color: #fff !important; }
.nx-footer__payoff { color: #fff; font-weight: 800; }
.nx-footer__tagline, .nx-footer__copy, .nx-footer__bar { color: var(--tc-on-dark-2) !important; }
.nx-footer__certs { background: rgba(255,255,255,.03) !important; border-top: 1px solid rgba(255,255,255,.1) !important; }
.nx-footer__certs-label { color: var(--tc-on-dark-2); }
.nx-cert-chip { border-color: rgba(255,255,255,.28); color: #fff; border-radius: 6px; font-weight: 600; }
.nx-cert-chip:hover { border-color: #fff; color: #fff; }
.nx-legal-disclose { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.1); }
.nx-legal-disclose summary { color: var(--tc-on-dark) !important; }
.nx-legal-disclose__body ul li a { color: var(--tc-on-dark) !important; }
.nx-nlform__row input { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.25); color: #fff; }
.nx-nlform__row input::placeholder { color: var(--tc-on-dark-2); }
.nx-nlform__label, .nx-nlform__consent { color: var(--tc-on-dark-2); }

/* ---------- 9. Componenti commerciali e inline CSS dei child (contrasto su chiaro) ---------- */
.nx-coverage { background: rgba(255,255,255,.96) !important; color: var(--nx-ink); }
.nxb-plan__name, .nxb-plan__amount, .nxb-plan__feat strong, .nxw-svc h3, .nxw-partner-list strong, .nxm-product h4, .nxm-pa-card h3 { color: var(--tc-navy) !important; }
.nxb-plan__sub, .nxb-plan__currency, .nxb-plan__period, .nxb-plan__period small, .nxb-plan__feat li, .nxb-plans__note, .nxw-svc p, .nxw-partner-list span, .nxw-partners-note, .nxm-product p, .nxm-pa-card p, .nxm-product__price span { color: var(--nx-ink-2) !important; }
.nxb-plan__badge:not(.nxb-plan__badge--featured) { color: var(--nx-ink-soft) !important; background: var(--nx-bg-2) !important; border-color: var(--nx-line-2) !important; }
.nxb-plan__price { border-bottom-color: var(--nx-line) !important; }
.nxm-pa-card__code, .nxm-pa-link, .nx-cform label a { color: var(--nx-brand-2) !important; }
.nx-hw-cond__tag--new { color: #166534 !important; }
.nxn-badge--src, .nxn-chip__num { color: var(--tc-navy) !important; }
.argo-wordmark__name, .argo-wordmark__tag { color: #fff !important; }
.nx-root .nx-section--alt { background: var(--surf, #13151c) !important; }
.nx-archive__title { color: var(--nx-ink); } .nx-archive__title em { color: var(--nx-brand-2); }
.nx-post-card__title a { color: var(--nx-ink); } .nx-post-card__cat, .nx-post-card:hover .nx-post-card__more { color: var(--nx-brand-2); }
.nx-prose a { color: var(--nx-brand-2); }
.nx-archive .page-numbers.current { border-color: var(--nx-brand-2); color: #fff; background: var(--nx-brand-2); }
/* cookie banner: resta vetro scuro, CTA blu */
#nxlc-banner .nxlc__title, #nxlc-banner h2, #nxlc-banner h3, #nxlc-title, .nxlc__col-text h2 { color: #e6edf3 !important; }
.nxlc__btn--primary { background: var(--nx-brand-2) !important; color: #fff !important; }
:root, body { --nxlc-bg: #0b1b3a; --nxlc-bg-2: #10265c; --nxlc-cyan: var(--nx-brand-2); --nxlc-blue: #10265c; --nxlc-violet: #0b1b3a; --nxlc-grad: linear-gradient(135deg, var(--nx-brand-2), var(--nx-brand)); }
.nxlp__hd { background: var(--tc-navy-deep) !important; }
.nxlp__hd a, .nxlp__crumb a { color: #9fc1ff !important; }
.nxlp__sec a:not(.nxlp__btn) { color: var(--nx-brand-2); }
.pro-stickycta .nx-btn { box-shadow: var(--nx-shadow); }

/* ---------- 10. Mobile ---------- */
@media (max-width: 760px) {
  .nx-section { padding: 64px 0; }
  .nxc-hero__eyebrow { display: block; }
  .nxc-hero__eyebrow::before { display: none; }
  .nxc-hero__eyebrow strong { display: block; margin-top: 4px; }
  .nxm { padding: 10px; }
}
/* hero: il globo e lo stadio vivono su navy → token locali navy per i colori letti dal JS */
.nxg--hero, .nxs3d { --nx-bg: var(--tc-navy-deep); --nx-ink: #fff; --nx-ink-2: var(--tc-on-dark); --nx-ink-soft: var(--tc-on-dark-2); --nx-line: rgba(255,255,255,.1); --nx-line-2: rgba(255,255,255,.18); }
/* broadcast "solo" (corporate): la copy occupa tutta la larghezza, specifiche a destra */
.nx-bcast__grid--solo { grid-template-columns: minmax(0, 1fr) !important; max-width: none; }
.nx-bcast__grid--solo .nx-bcast__copy { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 0 56px; align-items: start; }
.nx-bcast__grid--solo .nx-bcast__copy > h3, .nx-bcast__grid--solo .nx-bcast__copy > p, .nx-bcast__grid--solo .nx-bcast__actions { grid-column: 1; }
.nx-bcast__grid--solo .nx-bcast__copy > h3 { font-size: clamp(28px, 2.8vw, 42px); }
.nx-bcast__grid--solo .nx-bcast__copy > p { font-size: 17px; max-width: 60ch; }
.nx-bcast__grid--solo .nx-bcast__specs { grid-column: 2; grid-row: 1 / span 3; grid-template-columns: repeat(2, 1fr) !important; margin: 6px 0 0; gap: 12px; }
.nx-bcast__grid--solo .nx-bcast__specs li { padding: 18px 18px 16px; }
.nx-bcast__grid--solo .nx-bcast__specs b { font-size: 30px; }
.nx-bcast__actions { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 900px) {
  .nx-bcast__grid--solo .nx-bcast__copy { grid-template-columns: 1fr; }
  .nx-bcast__grid--solo .nx-bcast__specs { grid-column: 1; grid-row: auto; margin: 18px 0 22px; }
}
/* blocco "esplora anche" del plugin SEO (stili inline scuri) → navy coerente col footer */
aside.nxs-related { background: var(--tc-navy-deep) !important; border-top-color: rgba(255,255,255,.1) !important; color: var(--tc-on-dark) !important; }
aside.nxs-related div[style*="JetBrains"] { font-family: var(--nx-font-body) !important; font-weight: 700; letter-spacing: .12em !important; color: var(--tc-on-dark-2) !important; }
aside.nxs-related a[style] { background: rgba(255,255,255,.05) !important; border-color: rgba(255,255,255,.12) !important; }
aside.nxs-related a[style]:hover { background: rgba(255,255,255,.1) !important; border-color: rgba(255,255,255,.3) !important; }
aside.nxs-related span[style] { color: var(--tc-on-dark-2) !important; }
