/* Incipit public site v2, inner pages: re-maps the legacy Nexit/shell tokens and the hard-coded blues onto the brand palette
   (#124E66 #212A31 #2E3944 #748D92 #D3D9D4) so every page matches the new header, footer and home.
   Loaded after nexit.css, incipit-shell.css and iv.css. No markup changes are needed on the inner pages. */
:root {
  --c1: #212A31; --c2: #2E3944; --c3: #124E66; --c4: #748D92; --c5: #D3D9D4; --glow: #6fb3c8; --teal-600: #0b3345;
  --paper: #eef1ee; --line: rgba(33, 42, 49, .12); --muted: #4a5a5f;
  --sh-sm: 0 1px 2px rgba(22, 29, 34, .06), 0 2px 8px rgba(22, 29, 34, .05); --sh-md: 0 18px 40px -18px rgba(22, 29, 34, .3);
  --oit-clr-black: #212A31; --oit-clr-blue: #124E66; --oit-gray-1: #eef1ee; --oit-text-body: #4a5a5f;
  --nx-navy: #212A31; --nx-ink: #212A31; --nx-blue: #124E66; --nx-blue-dark: #0b3345; --nx-soft: #eef1ee; --nx-tint: #dfe7e8;
  --nx-line: rgba(33, 42, 49, .12); --nx-body: #4a5a5f;
  --nx-head: "Inter Tight", "Inter", system-ui, sans-serif; --nx-text: "Inter Tight", "Inter", system-ui, sans-serif;
  --iv-grad: linear-gradient(135deg, #0b3345, #124E66 55%, #2e8aab);
  --iv-dark: linear-gradient(160deg, #161d22, #0b3345 70%, #124E66);
}
body, main.nx-main { font-family: var(--nx-text); color: var(--nx-body); }
body :is(h1, h2, h3, h4, h5, .ix-h1, .ix-h2, .ix-h3, .ix-h4, .oit-section-title, .oit-breadcrumb-title, .nx-h2, .brand, .bn-tile h3, .m-feature h4),
main.nx-main :is(h1, h2, h3, h4) { font-family: var(--nx-head); font-weight: 600; letter-spacing: -.02em; }

/* Hero banners and dark bands: palette gradients instead of flat navy and electric blue */
.ix-hero, .oit-breadcrumb-area {
  background: radial-gradient(900px 420px at 85% -10%, rgba(111, 179, 200, .35), transparent 60%), radial-gradient(700px 420px at 0% 100%, rgba(46, 138, 171, .25), transparent 60%), var(--iv-dark);
}
.nx-sec--dark, .ix-section--navy { background: var(--iv-dark); }
.nx-cta, .ix-cta, .nx-split__media { background: var(--iv-grad); }
.nx-card--dark { background: var(--iv-dark); border-color: rgba(255, 255, 255, .1); }
.nx-sec--dark, .nx-step p, .nx-card--dark { color: #cfd8d5; }
.nx-cta { color: #e2ebe9; }
.ix-kicker--light, .ix-note i, .ix-steps__item > i, .ix-contact i { color: #6fb3c8; }
.ix-kicker, .oit-breadcrumb-subtitle, .nx-eyebrow { background: #dfe7e8; color: #124E66; }
.ix-kicker--light, .ix-section--navy .ix-kicker, .oit-breadcrumb-subtitle { background: rgba(211, 217, 212, .16); color: #d3d9d4; }
.sh-hero::before { background: linear-gradient(83.5deg, #161d22 12.8%, rgba(22, 29, 34, 0) 65.8%); }

/* Buttons */
.btn-glow, .nx-btn--primary { background: var(--iv-grad); color: #fff; box-shadow: 0 10px 30px -10px rgba(46, 138, 171, .7), inset 0 1px 0 rgba(255, 255, 255, .25); }
.nx-btn--primary:hover, .btn-glow:hover { background: linear-gradient(135deg, #124E66, #2e8aab); color: #fff; }
.nav-cta .btn-glow:hover, .site-foot .f-cta .btn-glow:hover { background: #d3d9d4; color: #212A31; }
.nx-btn--ghost { color: #212A31 !important; border-color: #212A31; }
.nx-btn--ghost:hover { background: #212A31; color: #fff !important; }
.nx-btn, .btn-glow { transition: background .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s; }

/* Tiles, chips, icons, status labels: tinted from the palette */
.ix-card, .bn-tile { border-color: var(--line); }
.bn-tile:hover { border-color: rgba(18, 78, 102, .45); }
.ix-icon, .m-ico, .m-ico.alt, .bn-ico, .bn-chips li { background: #dfe7e8; color: #124E66; }
.bn-ico { background: linear-gradient(140deg, #124E66, #0b3345); color: #fff; }
.bn-chips li { background: rgba(18, 78, 102, .09); }
.bn-wm { color: rgba(18, 78, 102, .06); }
.nx-legacy .inc-icon, .nx-legacy .inc-icon--rose { background: rgba(18, 78, 102, .1); color: #124E66; }
.nx-status--internal { color: #124E66; background: #dfe7e8; }
.ix-tabs .nav-link.active { box-shadow: 0 10px 30px -20px rgba(22, 29, 34, .4); }
.nx-stop:nth-child(5n+1) .nx-pin { --c: #124E66; }

/* Keyboard focus stays visible, in the palette */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible,
:where(main.nx-main) :focus-visible { outline: 2px solid #2e8aab; outline-offset: 2px; }
.iv a:focus-visible, .iv button:focus-visible { outline: 2px solid #6fb3c8; outline-offset: 2px; }

/* The floating header sits on a dark ground on every page, so there is no white strip above the hero */
body { background: #161d22; }
main.nx-main { background: #fff; }

/* Banner artwork runs up behind the floating header (header pill is about 98px tall) */
.oit-breadcrumb-area { margin-top: -98px; padding-top: calc(var(--nav-h, 76px) + 64px + 98px); }

/* Bootstrap utilities used by a few pages (CertReady, cost planner) */
:root { --bs-primary: #124E66; --bs-primary-rgb: 18, 78, 102; --bs-primary-bg-subtle: #dfe7e8; --bs-primary-text-emphasis: #124E66; --bs-primary-border-subtle: #b9cdd2; --bs-link-color: #124E66; --bs-link-hover-color: #0b3345; }
.text-primary { color: #124E66 !important; }
.bg-primary { background-color: #124E66 !important; }
.btn-primary { --bs-btn-bg: #124E66; --bs-btn-border-color: #124E66; --bs-btn-hover-bg: #0b3345; --bs-btn-hover-border-color: #0b3345; --bs-btn-active-bg: #0b3345; }
.btn-outline-primary { --bs-btn-color: #124E66; --bs-btn-border-color: #124E66; --bs-btn-hover-bg: #124E66; --bs-btn-hover-border-color: #124E66; }
.nx-step__n { color: #6fb3c8; }

/* Drawer top level and header CTA: contrast and no wrapping at 375px */
.iv .drawer .ah.d1 { color: #e8eeee; }
header.ivh .ibtn.sm { white-space: nowrap; }
@media (max-width: 420px) { header.ivh .logo img { height: 28px; width: auto; } header.ivh .bar { gap: 10px; } }
