/* Incipit public site v2, inner page components: glass cards, gradient accents, branded labels and motion for the shared
   Nexit component classes (nx-*, ix-*, oit-*, bn-*, inc-*), so every page matches the home. Loaded after iv-pages.css. */
main.nx-main { --iv-mk: url(../../Images/Logo/iv-mark-white.png); }

/* Sections */
.nx-sec--soft, .ix-section--soft { background: linear-gradient(180deg, #f4f6f4, #e6ebe8); }
.nx-sec, .ix-section { position: relative; }
.nx-head--center h2, .nx-head--center .nx-h2 { text-wrap: balance; }

/* Branded section labels: the "i" mark replaces the old dot/asterisk */
.nx-eyebrow, .ix-kicker, .inc-eyebrow, .oit-section-subtitle { font-weight: 600; letter-spacing: .12em; text-transform: uppercase; font-size: 11.5px; border-radius: 999px; box-shadow: inset 0 0 0 1px rgba(18, 78, 102, .16); }
.nx-eyebrow::before, .ix-kicker::before, .inc-eyebrow::before, .oit-section-subtitle::before { content: ""; display: inline-block; width: 18px; height: 11px; background: currentColor; -webkit-mask: var(--iv-mk) center / contain no-repeat; mask: var(--iv-mk) center / contain no-repeat; flex: none; }
.oit-section-subtitle svg, .oit-section-subtitle > i { display: none; }

/* Cards: one family */
.nx-card, .ix-card, .bn-tile, .oit-choose-item, .inc-card, .m-item, .nx-card-stack, .nx-stop__body {
  background: linear-gradient(160deg, #fff, #f3f6f4);
  border: 1px solid rgba(18, 78, 102, .12); border-radius: 24px; box-shadow: 0 1px 2px rgba(22, 29, 34, .04), 0 24px 48px -32px rgba(22, 29, 34, .35);
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s, border-color .35s;
}
.nx-card:hover, .ix-card--lift:hover, .ix-card--link:hover, .bn-tile:hover, .oit-choose-item:hover, .inc-card:hover {
  transform: translateY(-6px); border-color: rgba(18, 78, 102, .35);
  background: radial-gradient(380px circle at var(--mx, 50%) var(--my, 50%), rgba(46, 138, 171, .14), transparent 45%), linear-gradient(160deg, #fff, #f3f6f4);
  box-shadow: 0 30px 60px -28px rgba(18, 78, 102, .5);
}
.nx-card--dark, .nx-step { background: var(--iv-dark); border-color: rgba(255, 255, 255, .1); }
.nx-card--dark:hover { background: var(--iv-dark); }
.nx-card__more, .oit-link-btn { color: #124E66; font-weight: 600; }
.nx-card__more:not(:has(i))::after { content: "\2192"; margin-left: .4rem; display: inline-block; transition: transform .25s; }
.nx-card:hover .nx-card__more:not(:has(i))::after { transform: translateX(5px); }

/* Icon tiles */
.nx-icon, .ix-icon, .m-ico, .inc-icon, .bn-ico { background: linear-gradient(140deg, #e3ecee, #cfdcdf); color: #124E66; border-radius: 16px; box-shadow: inset 0 0 0 1px rgba(18, 78, 102, .14); }
.oit-choose-item .icon { display: inline-block; transition: transform .3s; }
.oit-choose-item:hover .icon, .nx-card:hover .nx-icon { transform: scale(1.06); }

/* Buttons */
.ix-btn, .ix-btn--solid, .btn-glow, .nx-btn--primary, .btn-primary { border-radius: 999px; font-weight: 600; background: var(--iv-grad); color: #fff; border: 0; box-shadow: 0 10px 30px -10px rgba(46, 138, 171, .65), inset 0 1px 0 rgba(255, 255, 255, .25); transition: transform .25s, box-shadow .25s; }
.ix-btn:hover, .ix-btn--solid:hover, .btn-glow:hover, .nx-btn--primary:hover, .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 18px 40px -10px rgba(46, 138, 171, .85), inset 0 1px 0 rgba(255, 255, 255, .3); color: #fff; }
.ix-btn--light, .nx-btn--light { background: #fff; color: #124E66 !important; box-shadow: 0 10px 30px -14px rgba(0, 0, 0, .4); }

/* FAQ and accordions */
.nx-faq details, .ix-acc details { background: linear-gradient(160deg, #fff, #f3f6f4); border: 1px solid rgba(18, 78, 102, .12); border-radius: 18px; overflow: hidden; transition: box-shadow .3s, border-color .3s; }
.nx-faq details[open], .ix-acc details[open] { border-color: #124E66; box-shadow: 0 24px 48px -30px rgba(18, 78, 102, .5); }
.nx-faq summary i, .nx-faq-search i { color: #124E66; }

/* Chips, tags */
.nx-chips a, .nx-chip, .inc-chip { border-radius: 999px; background: #fff; border-color: rgba(18, 78, 102, .16); color: #212A31; transition: background .2s, color .2s, border-color .2s; }
.nx-chips a:hover { border-color: #124E66; color: #fff; background: #124E66; }
.nx-chips i { color: #124E66; } .nx-chips a:hover i { color: #fff; }
.nx-tags li, .nx-card .nx-tags span { background: #dfe7e8; color: #212A31; }

/* Split media, aside, prose, timeline */
.nx-split__media { position: relative; overflow: hidden; box-shadow: 0 40px 80px -40px rgba(18, 78, 102, .6); }
.nx-split__media::after { content: ""; position: absolute; right: -40px; bottom: -40px; width: 220px; height: 112px; background: var(--iv-mk) center / contain no-repeat; opacity: .12; }
.nx-aside dt, .nx-stop__year { color: #124E66; }
.nx-aside__link:hover { color: #124E66; }
.nx-prose a, .nx-prose a:hover { color: #124E66 !important; text-decoration-color: rgba(18, 78, 102, .35); }
.nx-prose blockquote { border-left: 3px solid #2e8aab; background: #eef1ee; padding: 1rem 1.5rem; border-radius: 0 16px 16px 0; }
.nx-empty { border: 1.5px dashed rgba(18, 78, 102, .3); border-radius: 24px; background: rgba(255, 255, 255, .6); }

/* Forms */
main.nx-main :is(.form-control, .form-select, input[type=text], input[type=email], input[type=tel], input[type=search], input[type=url], input[type=number], textarea, select) { border-radius: 14px; border-color: rgba(18, 78, 102, .2); transition: border-color .2s, box-shadow .2s; }
main.nx-main :is(.form-control, .form-select, input, textarea, select):focus { border-color: #2e8aab; box-shadow: 0 0 0 4px rgba(46, 138, 171, .18); outline: 0; }
main.nx-main .form-check-input:checked { background-color: #124E66; border-color: #124E66; }
main.nx-main .alert { border-radius: 16px; }

/* Motion: staggered scroll reveal and reading progress (classes added by iv-pages.js; nothing is hidden if the script does not run) */
.ivr { opacity: 0; transform: translateY(24px); transition: opacity .65s cubic-bezier(.2, .8, .2, 1), transform .65s cubic-bezier(.2, .8, .2, 1); transition-delay: calc(var(--ivd, 0) * 70ms); }
.ivr.in { opacity: 1; transform: none; }
#ivProg { position: fixed; left: 0; top: 0; height: 3px; width: 100%; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, #124E66, #6fb3c8); z-index: 1200; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .ivr { opacity: 1; transform: none; transition: none; } .nx-card:hover, .oit-choose-item:hover, .bn-tile:hover { transform: none; } #ivProg { display: none; } }

/* footer chips: readable on the dark ground */
.iv footer .chip { color: #d3d9d4; box-shadow: inset 0 0 0 1px rgba(211, 217, 212, .28); }

/* headings on dark bands stay white */
.nx-card--dark :is(h2, h3, h4), .nx-sec--dark :is(h2, h3, h4), .ix-section--navy :is(h2, h3, h4), .nx-cta :is(h2, h3), .ix-cta :is(h2, h3), .nx-split__media :is(h2, h3), .nx-step :is(h3, h4) { color: #fff !important; }

/* Inner page hero: drifting glows and a faint "i" mark behind the title */
.oit-breadcrumb-area .ivh-orb { position: absolute; border-radius: 50%; filter: blur(60px); pointer-events: none; animation: ivdrift 14s ease-in-out infinite alternate; }
.oit-breadcrumb-area .ivh-orb--a { width: 380px; height: 380px; left: -80px; top: 10%; background: rgba(46, 138, 171, .35); }
.oit-breadcrumb-area .ivh-orb--b { width: 300px; height: 300px; right: 4%; bottom: -80px; background: rgba(111, 179, 200, .22); animation-delay: -6s; }
.oit-breadcrumb-area .ivh-mark { position: absolute; right: 6%; top: 52%; width: min(340px, 30vw); height: auto; opacity: .09; pointer-events: none; transform: translateY(calc(-50% + var(--ivpy, 0px))); animation: ivfloat 9s ease-in-out infinite; }
@keyframes ivdrift { to { transform: translate(60px, 30px) scale(1.15); } }
@keyframes ivfloat { 50% { margin-top: -14px; } }
@media (prefers-reduced-motion: reduce) { .oit-breadcrumb-area .ivh-orb, .oit-breadcrumb-area .ivh-mark { animation: none; } }
@media (max-width: 767.98px) { .oit-breadcrumb-area .ivh-mark { display: none; } }

/* Long-form pages (legal, policies): the prose becomes a card with a sticky "On this page" index */
.ivtoc-wrap { display: grid; gap: 2.5rem; align-items: start; }
@media (min-width: 992px) { .ivtoc-wrap { grid-template-columns: minmax(0, 1fr) 280px; } }
.ivtoc-wrap .nx-prose { max-width: none; background: linear-gradient(160deg, #fff, #f3f6f4); border: 1px solid rgba(18, 78, 102, .12); border-radius: 28px; padding: clamp(1.5rem, 1rem + 2.5vw, 3.25rem); box-shadow: 0 24px 48px -34px rgba(22, 29, 34, .4); }
.ivtoc-wrap .nx-prose :is(h2, h3)[id] { scroll-margin-top: 120px; padding-top: .5rem; }
.ivtoc { position: sticky; top: 118px; display: none; padding: 1.5rem; border-radius: 24px; background: var(--iv-dark); color: #cfd8d5; box-shadow: 0 30px 60px -30px rgba(18, 78, 102, .6); }
@media (min-width: 992px) { .ivtoc { display: block; } }
.ivtoc b { display: block; font: 600 11px "JetBrains Mono", monospace; letter-spacing: .16em; text-transform: uppercase; color: #9fb4b6; margin-bottom: .75rem; }
.ivtoc a { display: block; padding: .5rem .75rem; border-radius: 12px; color: #cfd8d5; font-size: .9rem; line-height: 1.35; text-decoration: none; transition: background .2s, color .2s; }
.ivtoc a:hover, .ivtoc a.on { background: rgba(255, 255, 255, .1); color: #fff; }

/* Home hero: only the first slide is the page's h1, the other statements share its look */
.iv .sl .hl { font-size: clamp(46px, 6.6vw, 100px); margin: 22px 0 20px; font-weight: 600; line-height: 1.05; letter-spacing: -.02em; color: #fff; }
.iv .sl .hl .serif { display: block; background: linear-gradient(100deg, var(--p3), #fff 55%, var(--a1)); -webkit-background-clip: text; background-clip: text; color: transparent; }
/* White cards on the dark home keep dark titles */
.iv .sc .b h3 { color: #212A31; }

/* Contrast pass (pixel-sampled audit): text on gradient and glass grounds */
.iv .hx .bdg, .iv .cta .bdg { color: #d6edf3; background: rgba(8, 28, 38, .55); box-shadow: inset 0 0 0 1px rgba(159, 205, 220, .45); }
.iv .cta .sub, .iv .cta .mono, .iv .ctab p { color: #f1f7f7; }
.iv footer a.l, .iv footer .l { color: #dbe4e2; }
.iv footer a.l:hover { color: #fff; }
main.nx-main .text-secondary, main.nx-main .form-text, main.nx-main .text-muted { color: #4a5a5f !important; }
.iv .bdg { color: #d6edf3; }
.iv .mist .bdg { color: var(--p); }
.iv .cta .mono { color: #fff; }
.iv .hx .bdg, .iv .cta .bdg, .iv .sh .bdg { color: #eef8fa; background: rgba(8, 28, 38, .65); }
.iv .mist .bdg { background: rgba(18, 78, 102, .08); }
.iv .wk .tag, .iv .pj .tag, .iv .tag { color: #f1f7f7; background: rgba(8, 28, 38, .78); }
.iv .fchip { color: #eef3f1; }

