/* ============================================================
   NEXIM — US SKIN v1 "American Corporate"
   Light editorial look: white surfaces, navy ink, red accents,
   Inter-only typography. Loaded LAST (after pro.css); flips the
   Obsidian token set and neutralises the cyber effect layer.
   Remove this file (or its enqueue) to restore the dark skin.
   ============================================================ */

:root, body {
  /* surfaces */
  --nx-bg:        #ffffff;
  --nx-bg-2:      #f5f6f8;
  --nx-bg-soft:   #f5f6f8;
  --nx-bg-alt:    #eef0f4;
  --nx-surf:      #ffffff;
  --nx-surf-2:    #f5f6f8;

  /* hairlines on light */
  --nx-line:      rgba(14,27,61,.10);
  --nx-line-2:    rgba(14,27,61,.16);
  --nx-line-3:    rgba(14,27,61,.28);

  /* ink */
  --nx-ink:       #111827;
  --nx-ink-2:     #374151;
  --nx-ink-soft:  #5b6472;
  --nx-ink-dim:   #7b8494;

  /* brand: american red + navy (overrides every division accent) */
  --nx-brand:     #c8102e;
  --nx-brand-2:   #a30d25;
  --nx-accent:    #c8102e;

  /* geometry & elevation */
  --nx-radius:    12px;
  --nx-radius-lg: 16px;
  --nx-radius-sm: 8px;
  --nx-shadow-sm: 0 1px 2px rgba(14,27,61,.06);
  --nx-shadow:    0 10px 30px -10px rgba(14,27,61,.16);
  --nx-shadow-lg: 0 24px 60px -20px rgba(14,27,61,.22);

  /* Inter everywhere — no display/mono faces */
  --nx-font-display: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --nx-font-mono:    "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  /* pro layer re-pin */
  --pro-a:  #c8102e;
  --pro-b:  #12266b;
  --pro-b2: #0b1a4a;
  --pro-grad: linear-gradient(120deg, #c8102e 0%, #a30d25 100%);
  --pro-spot: rgba(200,16,46,.07);
  --pro-line-glow: rgba(200,16,46,.28);
  --pro-tint-strong: transparent;
  --pro-tint-soft:   transparent;

  /* skin constants */
  --us-navy:      #12266b;
  --us-navy-deep: #0b1a4a;
  --us-navy-ink:  #0e1b3d;
  --us-red:       #c8102e;
  --us-red-dark:  #a30d25;
}

/* ---------- foundations ---------- */
body { background: #ffffff !important; color: var(--nx-ink); }
::selection { background: var(--us-navy); color: #fff; }
html { scrollbar-color: #c3c9d6 #ffffff; }
@media (hover:hover) and (pointer:fine) {
  ::-webkit-scrollbar-track { background: #f1f3f7; }
  ::-webkit-scrollbar-thumb { background: #c3c9d6; border-color: #f1f3f7; }
  ::-webkit-scrollbar-thumb:hover { background: var(--us-navy); }
}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 2px solid var(--us-navy); box-shadow: 0 0 0 5px rgba(18,38,107,.12);
}

/* headings: heavy navy, tight tracking (dark sections re-whiten below) */
h1, h2, h3, h4, h5 { color: var(--us-navy-ink); font-weight: 800; letter-spacing: -.02em; }

/* kill the "aurora"/particle/cinematic layer */
.pro-hero-canvas, .pro-hero-beams, .pro-hero-blobs, .pro-hero-grid,
.pro-hero-vignette, .pro-watermark { display: none !important; }
.nxc-hero .pro-hero-canvas { display: none !important; }

/* gradient-shimmer text -> solid with red underline (the v4 hero look) */
.nxc-hero h1 em, .nx-vhero h1 em, h1 em, h2 em {
  background: none !important;
  -webkit-background-clip: initial !important; background-clip: initial !important;
  color: inherit !important; -webkit-text-fill-color: currentColor !important;
  animation: none !important; font-style: normal;
  box-shadow: inset 0 -.26em 0 rgba(200,16,46,.75);
}

/* eyebrows / mono labels: red bold caps, no terminal vibe */
[class*="__eyebrow"], [class*="-eyebrow"] {
  font-family: var(--nx-font-display) !important;
  font-weight: 700 !important; letter-spacing: .14em !important;
  color: var(--us-red) !important;
}

/* ---------- buttons: flat american red / outlined navy ---------- */
.nx-btn { border-radius: 10px !important; font-weight: 700 !important; }
.nx-btn--primary {
  background: var(--us-red) !important; color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 8px 20px -8px rgba(200,16,46,.55) !important;
}
.nx-btn--primary:hover { background: var(--us-red-dark) !important; color: #fff !important; }
.nx-btn--primary::after, .nx-btn--lg::after { content: none !important; } /* no shine sweep */
.nx-btn--ghost { color: var(--us-navy); border-color: #c7cede; }
.nx-btn--ghost:hover { background: rgba(18,38,107,.05); border-color: var(--us-navy); }

/* ghost buttons that sit on photos / dark bands stay white */
.nxc-hero .nx-btn--ghost, .nx-vhero .nx-btn--ghost, .nxc-cta-big .nx-btn--ghost,
.nx-footer .nx-btn--ghost {
  color: #fff; border-color: rgba(255,255,255,.5);
}
.nxc-hero .nx-btn--ghost:hover, .nx-vhero .nx-btn--ghost:hover,
.nxc-cta-big .nx-btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }

/* ---------- header: white sticky bar ---------- */
.nx-header {
  background: rgba(255,255,255,.94) !important;
  border-bottom: 1px solid var(--nx-line) !important;
  box-shadow: none;
}
.nx-header a, .nx-nav a { color: var(--nx-ink); }
.nx-nav a:hover { color: var(--us-red); }
.nx-burger span { background: var(--us-navy-ink) !important; }
.nx-mobile { background: #fff !important; }
.nx-netbar__panel { background: #ffffff !important; border-bottom: 1px solid var(--nx-line) !important; }
.nx-netbar__quick:hover { color: var(--us-red) !important; background: rgba(14,27,61,.04) !important; }
.nx-mega__item:hover { background: var(--nx-bg-2); }

/* ---------- heroes: navy scrim instead of black, white type ---------- */
.nxc-hero__scrim {
  background:
    linear-gradient(98deg, rgba(11,26,74,.93) 0%, rgba(11,26,74,.62) 44%, rgba(11,26,74,.18) 78%),
    linear-gradient(180deg, rgba(11,26,74,.35) 0%, rgba(11,26,74,.12) 45%, rgba(11,26,74,.95) 96%) !important;
}
@media (min-width: 901px) {
  .nxc-hero--video .nxc-hero__scrim {
    background:
      linear-gradient(98deg, rgba(11,26,74,.88) 0%, rgba(11,26,74,.45) 40%, rgba(11,26,74,.06) 66%, transparent 80%),
      linear-gradient(180deg, rgba(11,26,74,.28) 0%, transparent 32%, rgba(11,26,74,.94) 95%) !important;
  }
}
.nxc-hero__scrim::after { opacity: .2 !important; }
.nx-vhero__scrim {
  background:
    linear-gradient(100deg, rgba(11,26,74,.92) 0%, rgba(11,26,74,.6) 42%, rgba(11,26,74,.16) 72%, rgba(11,26,74,.06) 100%),
    linear-gradient(180deg, rgba(11,26,74,.32) 0%, transparent 40%, rgba(11,26,74,.9) 84%, rgba(11,26,74,.97) 100%) !important;
}
.nx-vhero__scrim::after { opacity: .25 !important; }
.nxc-hero, .nx-vhero, .nxn-hero { background: var(--us-navy-deep); }
.nxc-hero h1, .nx-vhero h1, .nxn-hero h1,
.nxc-hero__sub, .nx-vhero__sub { color: #fff; }
.nxc-hero__sub, .nx-vhero__sub { color: #dbe2f2 !important; }
.nxc-hero__eyebrow, .nx-vhero__eyebrow { color: #e8ecf7 !important; }
.nxc-hero__numbers-n { color: #fff; }
.nxc-hero__numbers-l { color: #aab6d8; }

/* ---------- logo tickers / partner walls: navy band (white logos) ---------- */
.nxc-ticker, .nx-logowall, .nx-partnerwall {
  background: var(--us-navy-deep) !important;
  border-top: 0 !important; border-bottom: 0 !important;
}

/* ---------- big numbers: navy numerals, red tick, no glow ---------- */
.nxc-bignum__item-n, .nx-kpi__num {
  filter: none !important;
  color: var(--us-navy-ink);
  font-weight: 800; letter-spacing: -.03em;
}
.nxc-bignum__item-l { color: var(--us-red); font-weight: 700; letter-spacing: .1em; }

/* ---------- cards: soft light, no neon border-glow ---------- */
.nxc-div, .nxc-event, .nxc-office, .nxn-card, .nxn-vert, .nxm-cat, .nxm-product,
.nxm-pa-card, .nxw-svc, .nx-hw__card, .nxb-plan, .nx-press__card {
  background-image: none !important;
  border-radius: var(--nx-radius);
}
.nxc-div:hover, .nxm-product:hover, .nxb-plan:hover {
  box-shadow: 0 18px 40px -18px rgba(14,27,61,.25) !important;
}
.nxc-div::before, .nxm-product::before, .nxb-plan::before { content: none !important; }

/* ---------- dark closing band: CTA + footer stay navy ---------- */
.nxc-cta-big {
  background: var(--us-navy-deep) !important; color: #c9d2ea;
}
.nxc-cta-big h2, .nxc-cta-big h3 { color: #fff; }
.nxc-cta-big p { color: #c9d2ea; }
.nx-footer {
  background: var(--us-navy-deep) !important; color: #c9d2ea;
  border-top: 0 !important;
}
.nx-footer::before { content: none !important; }
.nx-footer h4 { color: #fff; }
.nx-footer a { color: #c9d2ea; }
.nx-footer a:hover { color: #fff; }
.nx-footer__payoff { color: #fff; }
.nx-footer__tagline, .nx-footer__copy { color: #8fa0cd; }
.nx-footer__contact a { color: #fff; font-weight: 600; }
.nx-cert-chip { border-color: rgba(255,255,255,.25); color: #dbe2f2; }
.nx-cert-chip:hover { border-color: #fff; color: #fff; }
.nx-legal-footer { background: var(--us-navy-deep) !important; }

/* newsletter (sits in navy footer) */
.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: #8fa0cd; }
.nx-nlform__label, .nx-nlform__consent { color: #8fa0cd; }

/* commercial overlays */
.nx-coverage { background: rgba(255,255,255,.96) !important; color: var(--nx-ink); }

/* forms on light sections */
.nx-cform { background: #fff; border: 1px solid var(--nx-line); }
.nx-cform input, .nx-cform select, .nx-cform textarea {
  background: #fff; border-color: #d6dae3; color: var(--nx-ink);
}
.nx-cform input:focus, .nx-cform select:focus, .nx-cform textarea:focus { border-color: var(--us-navy); }
.nx-cform label { color: var(--nx-ink); }

/* cookie banner: keep its dark glass, switch CTA to brand red */
.nxlc__btn--primary { background: var(--us-red) !important; color: #fff !important; }
.nxlc__btn--primary:hover { background: var(--us-red-dark) !important; }

/* sticky-cta + progress bar from pro layer -> red */
.pro-progress { background: var(--us-red) !important; }
.pro-stickycta { background: var(--us-red) !important; color: #fff !important; }

/* ---------- v1.1 fixes ---------- */
/* header logo: brand asset is white — force dark on the light bar */
.nx-header .nx-logo-img { filter: brightness(0) opacity(.92) !important; }

/* split-headline & reveal safety: content must never stay hidden/blurred.
   (Same issue fix.css solved on the static mirror.) The US skin drops the
   cinematic text intro entirely. */
.nxc-hero h1, .nx-vhero h1, .nxc-hero__eyebrow, .nxc-hero__sub,
.nxc-hero__ctas, .nxc-hero__numbers {
  opacity: 1 !important; filter: none !important; animation: none !important; transform: none !important;
}
.pro-wi, .pro-w, .pro-split .pro-wi {
  opacity: 1 !important; filter: none !important; transform: none !important;
}
.pro-reveal { opacity: 1 !important; transform: none !important; filter: none !important; }

/* ---------- v1.2 fixes ---------- */
/* the mu-plugin prints per-site tokens on body.nexim-skin-* (higher specificity
   than :root/body) — re-pin the brand set above them */
body[class*="nexim-skin"], body[class*="nexim-site"] {
  --nx-brand:  #c8102e !important;
  --nx-brand-2:#a30d25 !important;
  --nx-accent: #c8102e !important;
}

/* em headline: pro.js wraps words in .pro-wi spans — clear the gradient on
   descendants too, and keep the red underline slab */
h1 em, h1 em *, h2 em, h2 em *, .nx-vhero h1 em * {
  background: none !important;
  -webkit-background-clip: initial !important; background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important; color: inherit !important;
  animation: none !important;
}
.nxc-hero h1 em, .nxc-hero h1 em *, .nx-vhero h1 em, .nx-vhero h1 em * { color: #fff !important; }
.nxc-hero h1 em, .nx-vhero h1 em, h1 em, h2 em { box-shadow: inset 0 -.2em 0 rgba(200,16,46,.8); }

/* cookie banner: its dark glass keeps its own palette — undo navy headings */
#nxlc-banner .nxlc__title, #nxlc-banner h2, #nxlc-banner h3 { color: #e6edf3 !important; }
#nxlc-banner a { color: #ffb9c4; }

/* ---------- v1.3: network map & media panels stay navy cards on light ---------- */
.nxm-world, .nxm { background: var(--us-navy-deep); border-radius: var(--nx-radius-lg); }
.nxc-show__stage, .nxc-show { border-radius: var(--nx-radius-lg); }

/* ---------- v1.4: nxlp landing framework + shared nxlc tokens ---------- */
:root, body {
  --nxlc-bg:   #0b1a4a;              /* dark panels + cookie banner -> navy   */
  --nxlc-bg-2: #12266b;
  --nxlc-cyan: #c8102e;              /* accents on light surfaces -> red      */
  --nxlc-blue: #12266b;
  --nxlc-violet: #0b1a4a;
  --nxlc-grad: linear-gradient(135deg, #c8102e 0%, #a30d25 100%);
}
/* the theme page-title duplicates the nxlp hero title — keep only the hero */
body:has(.nxlp) .nx-page-head { display: none; }
/* readable accents inside the navy hero panel */
.nxlp__hd a, .nxlp__crumb a { color: #ffb9c4 !important; }
.nxlp__hd [class*="upd"] em, .nxlp__hd [class*="upd"] { color: #aab6d8; }

/* ---------- v1.5: footer certs band, nxlp polish ---------- */
.nx-footer__certs { background: var(--us-navy-deep) !important; border-top: 1px solid rgba(255,255,255,.12); }
.nx-footer__certs-label { color: #8fa0cd; }
.nxlp__hd { background: var(--us-navy-deep) !important; }
.nxlp__sec a:not(.nxlp__btn) { color: var(--us-red); }
.nxlc-footer-legal { background: #071237 !important; }
