/* Shared product-page design based on the approved Internet Banking layout. */
.nv-solution {
  --solution-ink: #002d4a;
  --solution-navy: #002d4a;
  --solution-blue: var(--blue-900, #004672);
  --solution-green: var(--green-500, #2dc471);
  --solution-muted: var(--gray-600, #475569);
  color: var(--solution-ink);
  font-family: var(--font-body, 'Nunito Sans', sans-serif);
  overflow: clip;
}
.nv-solution *, .nv-solution *::before, .nv-solution *::after { box-sizing: border-box; }
.nv-solution__wrap { width: min(1190px, calc(100% - 48px)); margin-inline: auto; }
.nv-solution h2, .nv-solution h3 { font-family: var(--font-heading, 'Sora', sans-serif); }
.nv-solution h2 { letter-spacing: -.045em; }
.nv-solution em { font-style: normal; color: var(--solution-green); }
.nv-solution__eyebrow { display: inline-flex; align-items: center; gap: 11px; color: var(--solution-blue); font-size: .74rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.nv-solution__eyebrow > span { width: 24px; height: 2px; background: var(--solution-green); }
.nv-solution section[id] { scroll-margin-top: 80px; }

/* Product-specific compositions share typography and rhythm, not one template. */
.nv-product-board { padding: 32px; background: #002d4a; border-top: 3px solid #2dc471; color: #fff; }
.nv-product-board > .nv-solution__eyebrow { color: #fff; font-size: .65rem; }
.nv-product-board__items { display: grid; margin-top: 24px; }
.nv-product-board__items > div { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.22); }
.nv-product-board__index { color: #2dc471; font-size: .68rem; font-weight: 800; }
.nv-product-board strong { font-family: var(--font-heading); font-size: 1.05rem; line-height: 1.35; }
.nv-product-board small { color: #bfd2d8; font-size: .8rem; line-height: 1.5; }
.nv-product-board--matrix .nv-product-board__items { grid-template-columns: 1fr 1fr; gap: 0 24px; }
.nv-product-board--flow .nv-product-board__items { position: relative; padding-left: 24px; }
.nv-product-board--flow .nv-product-board__items::before { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 1px; background: rgba(45,196,113,.4); }
.nv-product-board--flow .nv-product-board__items > div::before { content: ''; position: absolute; left: -28px; top: 27px; width: 9px; height: 9px; background: #2dc471; }
.nv-solution--tiles .nv-solution__features-grid { grid-template-columns: 1fr; gap: 44px; }
.nv-solution--tiles .nv-solution__features-intro { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 75px; align-items: end; }
.nv-solution--tiles .nv-solution__features-intro .nv-solution__eyebrow { grid-column: 1 / -1; }
.nv-solution--tiles .nv-solution__features-intro h2 { margin: 10px 0 0; }
.nv-solution--tiles .nv-solution__feature-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 44px; }
.nv-product-related-head h2 { margin: 22px 0 36px; font-size: clamp(2rem,3.2vw,3.2rem); line-height: 1.15; color: #002d4a; }
.nv-product-related { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.nv-product-related a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 26px; min-height: 90px; background: #fff; border: 1px solid #d5e7dc; color: #002d4a; font-weight: 600; text-decoration: none; }
.nv-product-related a > span:last-child { flex: 0 0 auto; color: #004672; }
.nv-product-related a:hover, .nv-product-related a:focus-visible { border-color: #2dc471; }
.nv-solution--bankowosc-mobilna .nv-solution__opening-grid { grid-template-columns: 1fr; gap: 48px; }
.nv-solution--bankowosc-mobilna .nv-solution__opening-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 70px; align-items: center; }
.nv-solution--bankowosc-mobilna .nv-solution__opening-copy .nv-solution__eyebrow { grid-column: 1 / -1; }
.nv-solution--bankowosc-mobilna .nv-solution__opening-copy h2 { margin: 8px 0 0; }
.nv-solution--bankowosc-mobilna .nv-product-board { background: #fff; color: #002d4a; border: 1px solid #d5e7dc; border-top: 3px solid #2dc471; }
.nv-solution--bankowosc-mobilna .nv-product-board > .nv-solution__eyebrow { color: #004672; }
.nv-solution--bankowosc-mobilna .nv-product-board__items { grid-template-columns: repeat(3,1fr); padding-left: 0; gap: 36px; }
.nv-solution--bankowosc-mobilna .nv-product-board__items > div { border-color: #d5e7dc; }
.nv-solution--bankowosc-mobilna .nv-product-board small { color: #475569; }
.nv-solution--bankowosc-mobilna .nv-product-board__items::before, .nv-solution--bankowosc-mobilna .nv-product-board__items > div::before { display: none; }
@media (max-width: 950px) {
  .nv-solution--bankowosc-mobilna .nv-solution__opening-copy { display: block; }
  .nv-solution--bankowosc-mobilna .nv-solution__opening-copy h2 { margin: 24px 0; }
  .nv-solution--tiles .nv-solution__features-intro { display: block; }
  .nv-solution--tiles .nv-solution__features-intro h2 { margin: 24px 0; }
}
@media (max-width: 640px) {
  .nv-solution--bankowosc-mobilna .nv-product-board__items { grid-template-columns: 1fr; gap: 0; }
  .nv-product-board { padding: 25px; }
  .nv-solution--tiles .nv-solution__feature-list, .nv-product-related { grid-template-columns: 1fr; }
  .nv-product-related a { min-height: 75px; padding: 22px; }
}


.nv-solution__opening { position: relative; padding: clamp(72px, 8vw, 120px) 0 0; background: #f8fbf9; }
.nv-solution__opening::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: #dfece6; }
.nv-solution__opening-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(370px, .82fr); gap: clamp(50px, 8vw, 125px); align-items: center; }
.nv-solution__opening-copy h2 { max-width: 670px; margin: 24px 0 30px; color: var(--solution-navy); font-size: clamp(2.75rem, 4.7vw, 4.75rem); line-height: 1.08; }
.nv-solution__opening-copy > p { max-width: 570px; margin: 0; color: var(--solution-muted); font-size: clamp(1.03rem, 1.3vw, 1.15rem); line-height: 1.78; }
.nv-solution__journey { position: relative; padding: 30px 34px 23px; background: var(--solution-navy); box-shadow: 0 24px 56px rgba(3, 39, 60, .12); color: #fff; }
.nv-solution__journey::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--solution-green); }
.nv-solution__journey-top { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.16); color: #90bcae; font-size: .61rem; font-weight: 900; letter-spacing: .12em; }
.nv-solution__journey-line { position: absolute; top: 91px; bottom: 71px; left: 60px; width: 1px; background: rgba(45,196,113,.3); pointer-events: none; }
.nv-solution__journey-step { position: relative; display: grid; grid-template-columns: 18px 47px minmax(0,1fr); align-items: center; gap: 15px; min-height: 94px; border-bottom: 1px solid rgba(255,255,255,.12); }
.nv-solution__journey-index { color: var(--solution-green); font-size: .63rem; font-weight: 900; }
.nv-solution__journey-mark { display: grid; place-items: center; width: 47px; height: 47px; border: 1px solid rgba(45,196,113,.5); background: var(--solution-blue); color: var(--solution-green); }
.nv-solution__journey-mark svg, .nv-solution__feature-icon svg { width: 28px; height: 28px; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.nv-solution__journey-step strong { display: block; font-size: 1rem; font-weight: 800; line-height: 1.3; }
.nv-solution__journey-step small { display: block; margin-top: 3px; color: #b9d2da; font-size: .8rem; }
.nv-solution__journey > p { margin: 18px 0 0; color: #a5c3c9; font-size: .72rem; line-height: 1.5; }
.nv-solution__jump { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; margin: clamp(65px, 8vw, 105px) auto 0; padding: 28px 24px 34px; border-top: 1px solid #dbe9e4; }
.nv-solution__jump a { display: inline-flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 48px; padding: 11px 16px; border: 1px solid #cde3d7; background: #fff; color: var(--solution-blue); font-size: .86rem; font-weight: 800; text-decoration: none; transition: border-color .22s ease, background .22s ease, transform .22s ease; }
.nv-solution__jump a:hover, .nv-solution__jump a:focus-visible { border-color: var(--solution-green); background: #edf9f2; transform: translateY(-2px); }
.nv-solution__jump a:active, .nv-solution__cta-button:active { transform: translateY(1px); }

.nv-solution__deferred { content-visibility: auto; contain-intrinsic-size: auto 850px; }
.nv-solution__features { padding: clamp(80px, 8vw, 125px) 0; background: #fff; }
.nv-solution__features-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(55px, 8vw, 125px); }
.nv-solution__features-intro { align-self: start; position: sticky; top: 115px; }
.nv-solution__features-intro h2 { margin: 24px 0; color: var(--solution-navy); font-size: clamp(2.15rem, 3.2vw, 3.3rem); line-height: 1.15; }
.nv-solution__features-intro p { max-width: 460px; margin: 0; color: var(--solution-muted); font-size: 1.02rem; line-height: 1.73; }
.nv-solution__feature-list { border-top: 1px solid #cbded9; }
.nv-solution__feature { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 22px; padding: 31px 0 34px; border-bottom: 1px solid #d9e6e2; }
.nv-solution__feature-icon { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid var(--solution-green); background: #f3fbf6; color: var(--solution-blue); }
.nv-solution__feature-id { color: var(--solution-blue); font-size: .66rem; font-weight: 900; letter-spacing: .12em; }
.nv-solution__feature h3 { margin: 7px 0 11px; color: var(--solution-navy); font-size: clamp(1.16rem, 1.5vw, 1.38rem); line-height: 1.28; }
.nv-solution__feature p { margin: 0; color: var(--solution-muted); font-size: .95rem; line-height: 1.68; }

.nv-solution__value { position: relative; padding: clamp(86px, 8vw, 130px) 0; background: var(--solution-blue); color: #fff; }
.nv-solution__value::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 0% 15%, rgba(38,151,107,.17), transparent 43%); }
.nv-solution__value-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); gap: clamp(65px, 9vw, 140px); align-items: start; }
.nv-solution__value .nv-solution__eyebrow { color: #fff; }
.nv-solution__value-lead h2 { max-width: 690px; margin: 24px 0; color: #fff; font-size: clamp(2.35rem, 3.7vw, 3.85rem); line-height: 1.12; }
.nv-solution__value-lead h2 em { color: var(--solution-green); }
.nv-solution__value-lead > p { max-width: 555px; margin: 0; color: #bfd2d8; font-size: 1.03rem; line-height: 1.75; }
.nv-solution__value-points { border-top: 1px solid rgba(255,255,255,.25); }
.nv-solution__value-points > div { display: grid; grid-template-columns: 35px minmax(0,1fr); gap: 14px 20px; padding: 27px 0 31px; border-bottom: 1px solid rgba(255,255,255,.25); }
.nv-solution__value-points span { grid-row: span 2; color: var(--solution-green); font-size: .72rem; font-weight: 900; }
.nv-solution__value-points h3 { margin: 0; color: #fff; font-size: 1.13rem; line-height: 1.35; }
.nv-solution__value-points p { margin: 0; color: #bfd2d8; font-size: .94rem; line-height: 1.68; }

.nv-solution__ecosystem { padding: clamp(83px, 8vw, 125px) 0; background: #f6faf8; }
.nv-solution__ecosystem-head { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); column-gap: clamp(40px, 7vw, 110px); align-items: end; }
.nv-solution__ecosystem-head .nv-solution__eyebrow { grid-column: 1 / -1; }
.nv-solution__ecosystem-head h2 { margin: 20px 0 0; color: var(--solution-navy); font-size: clamp(2.2rem, 3.3vw, 3.4rem); line-height: 1.14; }
.nv-solution__ecosystem-head p { max-width: 590px; margin: 0 0 4px; color: var(--solution-muted); font-size: 1.02rem; line-height: 1.7; }
.nv-solution__ecosystem-flow { display: grid; grid-template-columns: minmax(0, 1fr) 55px minmax(220px, 1.12fr) 55px minmax(0, 1fr); align-items: center; margin-top: 60px; padding: 38px; border: 1px solid #d5e7dc; background: #fff; }
.nv-solution__ecosystem-side { display: grid; gap: 10px; min-width: 0; height: 218px; }
.nv-solution__ecosystem-side--left { grid-template-rows: repeat(2, minmax(0, 1fr)); }
.nv-solution__ecosystem-side--right { grid-template-rows: repeat(3, minmax(0, 1fr)); }
.nv-solution__ecosystem-side a, .nv-solution__ecosystem-current { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; padding: 13px 16px; border: 1px solid #d5e7dc; background: #f9fcfa; color: var(--solution-navy); font-size: .86rem; font-weight: 700; line-height: 1.35; text-decoration: none; }
.nv-solution__ecosystem-side a span { flex: 0 0 auto; color: var(--solution-blue); }
.nv-solution__ecosystem-side a:hover, .nv-solution__ecosystem-side a:focus-visible { border-color: var(--solution-green); background: #eef9f2; }
.nv-solution__ecosystem-current { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 4px; border-left: 3px solid var(--solution-green); background: #f3fbf6; }
.nv-solution__ecosystem-current small { color: var(--solution-muted); font-size: .7rem; font-weight: 600; }
.nv-solution__ecosystem-core { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 13px; min-height: 218px; padding: 26px; border-left: 4px solid var(--solution-green); background: var(--solution-navy); color: #fff; text-decoration: none; }
.nv-solution__ecosystem-core small { color: var(--solution-green); font-family: var(--font-body, 'Nunito Sans', sans-serif); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.nv-solution__ecosystem-core strong { font-family: var(--font-heading, 'Sora', sans-serif); font-size: clamp(1.08rem, 1.7vw, 1.45rem); font-weight: 700; line-height: 1.25; }
.nv-solution__ecosystem-core > span { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; color: #fff; font-size: .78rem; font-weight: 700; }
.nv-solution__ecosystem-core > span span { color: var(--solution-green); font-size: 1.05rem; }
.nv-solution__ecosystem-core:hover, .nv-solution__ecosystem-core:focus-visible { background: var(--solution-blue); }
.nv-solution__ecosystem-connector { position: relative; height: 1px; background: rgba(45,196,113,.55); }
.nv-solution__ecosystem-connector::after { content: ''; position: absolute; left: 50%; top: 50%; width: 12px; height: 12px; border: 2px solid #fff; border-radius: 0; background: var(--solution-green); box-shadow: 0 0 0 1px var(--solution-green); transform: translate(-50%, -50%); }

.nv-solution__cta { padding: clamp(85px, 8vw, 130px) 0; background: #fff; text-align: center; }
.nv-solution__cta .nv-solution__wrap { display: flex; flex-direction: column; align-items: center; }
.nv-solution__cta h2 { margin: 21px 0 0; color: var(--solution-navy); font-size: clamp(2.2rem, 3.55vw, 3.55rem); line-height: 1.14; }
.nv-solution__cta p { max-width: min(100%, 850px); margin: 21px 0 31px; color: var(--solution-muted); font-size: 1.03rem; line-height: 1.7; }
.nv-solution__cta-button { gap: 8px; padding: 16px 36px; background: var(--solution-green); color: var(--solution-navy); font-size: 1rem; font-weight: 600; text-decoration: none; }
.nv-solution__cta .nv-solution__cta-button { margin-top: 32px; }
.nv-solution__cta-button:hover, .nv-solution__cta-button:focus-visible { background: var(--solution-green); filter: brightness(1.05); transform: translateY(-2px); }

@media (prefers-reduced-motion: no-preference) {
  .nv-solution--js [data-solution-reveal] { opacity: 0; transform: translateY(23px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
  .nv-solution--js [data-solution-reveal].is-visible { opacity: 1; transform: translateY(0); }
  .nv-solution__journey-line::before { content: ''; position: absolute; top: 0; left: -1px; width: 2px; height: 25%; background: var(--solution-green); animation: nv-solution-flow 4.4s ease-in-out infinite; }
  @keyframes nv-solution-flow { 0% { transform: translateY(0); opacity: .12; } 45% { opacity: .72; } 100% { transform: translateY(300%); opacity: .12; } }
  .nv-solution__ecosystem-connector::after { animation: nv-solution-exchange 4.8s ease-in-out infinite; }
  .nv-solution__ecosystem-connector--right::after { animation-delay: -2.4s; }
  @keyframes nv-solution-exchange { 0%, 100% { left: 16%; } 50% { left: 84%; } }
}

@media (max-width: 950px) {
  .nv-solution__opening-grid, .nv-solution__features-grid, .nv-solution__value-grid { grid-template-columns: 1fr; gap: 45px; }
  .nv-solution__journey { max-width: 640px; }
  .nv-solution__features-intro { position: static; }
  .nv-solution__ecosystem-head { grid-template-columns: 1fr; gap: 20px; }
  .nv-solution__ecosystem-head .nv-solution__eyebrow { grid-column: 1; }
  .nv-solution__ecosystem-flow { grid-template-columns: minmax(0,1fr); justify-items: stretch; padding: 25px; }
  .nv-solution__ecosystem-side { height: auto; }
  .nv-solution__ecosystem-side--left, .nv-solution__ecosystem-side--right { grid-template-rows: none; }
  .nv-solution__ecosystem-side a, .nv-solution__ecosystem-current { min-height: 62px; }
  .nv-solution__ecosystem-connector { width: 1px; height: 36px; margin-inline: auto; }
  .nv-solution__ecosystem-core { min-height: 158px; }
}
@media (max-width: 640px) {
  .nv-solution__wrap { width: calc(100% - 36px); }
  .nv-solution__opening-grid { gap: 34px; }
  .nv-solution__opening-copy h2 { font-size: clamp(2.35rem, 10.5vw, 3.5rem); }
  .nv-solution__journey { padding: 22px 20px 17px; }
  .nv-solution__journey-line { left: 42px; top: 83px; bottom: 63px; }
  .nv-solution__journey-step { grid-template-columns: 17px 42px minmax(0,1fr); gap: 10px; min-height: 87px; }
  .nv-solution__journey-mark { width: 42px; height: 42px; }
  .nv-solution__jump { gap: 8px; padding-inline: 18px; }
  .nv-solution__jump a { width: 100%; max-width: 390px; }
  .nv-solution__features, .nv-solution__value, .nv-solution__ecosystem, .nv-solution__cta { padding-block: 78px; }
  .nv-solution__feature { grid-template-columns: 44px minmax(0,1fr); gap: 16px; padding-block: 26px; }
  .nv-solution__feature-icon { width: 42px; height: 42px; }
  .nv-solution__feature-icon svg { width: 24px; height: 24px; }
  .nv-solution__value-points > div { grid-template-columns: 26px minmax(0,1fr); gap: 10px 12px; }
  .nv-solution__ecosystem-flow { margin-top: 35px; padding: 17px; }
  .nv-solution__ecosystem-core { padding: 22px; }
}
@media (max-width: 950px) and (prefers-reduced-motion: no-preference) {
  .nv-solution__ecosystem-connector::after { left: 50%; animation: nv-solution-exchange-vertical 4.8s ease-in-out infinite; }
  @keyframes nv-solution-exchange-vertical { 0%, 100% { top: 24%; } 50% { top: 76%; } }
}

/* Product graphics use the same green top edge as the service diagram. */
.nv-solution__media { margin: 0; border-top: 3px solid #2dc471; background: #fff; max-width: 470px; justify-self: end; }
.nv-solution__media img { display: block; width: 100%; height: auto; }

/* Junior: a readable text column with the campaign artwork on the right. */
.nv-solution .nv-junior-hero { background: #002d4a; height: auto; min-height: 460px; max-height: none; padding: 110px 0 54px; }
.nv-solution .nv-junior-hero::before { display: none; }
.nv-junior-hero .subpage-hero__bg {
    inset: auto 0 60px auto;
    width: min(58%, 970px);
    height: auto;
    aspect-ratio: 3 / 1;
    background-size: contain !important;
    background-position: right center !important;
    filter: none;
    mask-image: linear-gradient(90deg, transparent 0%, #000 20%);
    border-top: 3px solid #2dc471;
}
.nv-junior-hero .subpage-hero__bg::after {
    background: linear-gradient(90deg, #002d4a 0%, rgba(0,45,74,.84) 11%, rgba(0,45,74,.12) 45%, transparent 70%);
}
.nv-junior-hero .subpage-hero__title { max-width: 54%; font-size: clamp(2.1rem, 3.7vw, 3.75rem); }
.nv-junior-hero .subpage-hero__desc { max-width: 46%; font-size: clamp(1rem, 1.25vw, 1.2rem); }
.nv-junior-hero .subpage-hero__breadcrumb { flex-wrap: wrap; }
.nv-solution--junior .nv-solution__opening-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }

/* The approved data-page copy follows the same typography and section rhythm. */
.nv-solution--insights .data-page { --text-primary: #002d4a; --text-secondary: #475569; }
.nv-solution--insights .nv-block-main { padding-block: clamp(80px, 8vw, 125px); }
.nv-solution--insights .nv-header-lead { max-width: none; display: grid; grid-template-columns: .9fr 1.1fr; column-gap: clamp(40px, 7vw, 110px); align-items: end; margin-bottom: 65px; }
.nv-solution--insights .nv-badge { grid-column: 1 / -1; padding: 0; background: transparent; border: 0; color: #004672; margin-bottom: 24px; font-family: var(--font-body); letter-spacing: .12em; }
.nv-solution--insights .nv-badge__dot { width: 24px; height: 2px; border-radius: 0; }
.nv-solution--insights .nv-main-title { font-size: clamp(2.2rem, 3.3vw, 3.4rem); letter-spacing: -.045em; margin-bottom: 0; }
.nv-solution--insights .nv-main-desc { font-size: 1.02rem; line-height: 1.7; }
.nv-solution--insights .nv-pillars-grid { gap: 55px; }
.nv-solution--insights .nv-pillar-card { border: 0; border-top: 1px solid #cbded9; padding: 30px 0 0; }
.nv-solution--insights .nv-pillar-card:hover { background: transparent; border-color: #cbded9; }
.nv-solution--insights .nv-pillar-card__label { color: #004672; }
.nv-solution--insights .nv-pillar-card__title { font-size: clamp(1.45rem, 2.05vw, 2rem); letter-spacing: -.025em; }
.nv-solution--insights .nv-pillar-feature { grid-template-columns: 52px minmax(0,1fr); gap: 22px; padding-bottom: 24px; border-bottom: 1px solid #d9e6e2; }
.nv-solution--insights .nv-pillar-feature__icon { width: 52px; height: 52px; background: #f3fbf6; border: 1px solid #2dc471; color: #004672; }
.nv-solution--insights .nv-block-cta { background: #004672; border: 0; padding-block: clamp(86px,8vw,130px); }
.nv-solution--insights .nv-cta-card { border: 0; background: transparent; gap: 65px; grid-template-columns: 1.1fr .9fr; }
.nv-solution--insights .nv-cta-card::before { display: none; }
.nv-solution--insights .nv-cta-copy { padding: 0; }
.nv-solution--insights .nv-cta-badge { padding: 0; border: 0; background: transparent; color: #fff; font-family: var(--font-body); }
.nv-solution--insights .nv-cta-title { color: #fff; font-size: clamp(2.35rem,3.7vw,3.85rem); letter-spacing: -.045em; }
.nv-solution--insights .nv-cta-lead, .nv-solution--insights .nv-cta-point { color: #bfd2d8; }
.nv-solution--insights .nv-cta-point strong { color: #fff; }
.nv-solution--insights .nv-cta-point svg { color: #2dc471; }
.nv-solution--insights .nv-cta-action-panel { align-self: center; border: 1px solid rgba(255,255,255,.25); border-top: 3px solid #2dc471; background: #002d4a; padding: 34px; }
.nv-solution--insights .nv-cta-action-panel__header { color: #fff; }
.nv-solution--insights .nv-cta-btn { font-family: var(--font-body); font-weight: 600; border: 0; background: #2dc471; color: #002d4a; white-space: normal; }
.nv-solution--insights .nv-cta-btn:hover { background: #2dc471; color: #002d4a; filter: brightness(1.05); }
.nv-solution--insights .nv-cta-note { color: #bfd2d8; }
.nv-solution--insights .nv-block-related { padding-block: clamp(83px,8vw,125px); background: #f6faf8; }
.nv-solution--insights .nv-related-title { font-size: clamp(2rem,3vw,3rem); letter-spacing: -.045em; }
.nv-solution--insights .nv-rel-node { font-family: var(--font-body); color: #002d4a; background: #fff; border-color: #d5e7dc; font-weight: 600; }
.nv-solution--insights .nv-rel-node--active { background: #2dc471; border-color: #2dc471; color: #002d4a; }
@media (max-width: 950px) {
    .nv-solution--junior .nv-solution__opening-grid { grid-template-columns: 1fr; }
    .nv-solution__media { justify-self: start; max-width: 470px; }
    .nv-solution--insights .nv-header-lead, .nv-solution--insights .nv-cta-card { grid-template-columns: 1fr; gap: 28px; }
    .nv-solution--insights .nv-pillars-grid { grid-template-columns: 1fr; gap: 45px; }
    .nv-solution--insights .nv-cta-action-panel { width: 100%; max-width: 600px; }
}
@media (max-width: 640px) {
    .nv-solution .nv-junior-hero { padding-bottom: 240px; min-height: 0; }
    .nv-junior-hero .subpage-hero__title, .nv-junior-hero .subpage-hero__desc { max-width: 100%; }
    .nv-junior-hero .subpage-hero__bg { width: calc(100% - 36px); height: 190px; right: 18px; bottom: 24px; mask-image: none; background-position: center !important; }
    .nv-junior-hero .subpage-hero__bg::after { background: linear-gradient(0deg, rgba(0,45,74,.2), transparent 55%); }
    .nv-solution--insights .nv-cta-action-panel { padding: 26px 20px; }
    .nv-solution--insights .nv-block-main, .nv-solution--insights .nv-block-cta, .nv-solution--insights .nv-block-related { padding-block: 78px; }
}

/* Editorial service and company pages keep distinct content formats. */
.nv-editorial-section { padding: clamp(76px,8vw,120px) 0; background: #fff; }
.nv-editorial-lead { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 75px; align-items: end; margin-bottom: 48px; }
.nv-editorial-lead .nv-solution__eyebrow { grid-column: 1 / -1; }
.nv-editorial-lead h2 { margin: 0; font-size: clamp(2.2rem,3.6vw,3.6rem); line-height: 1.14; color: #002d4a; }
.nv-editorial-lead p, .nv-editorial-section p { line-height: 1.75; color: #475569; }
.nv-editorial-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; }
.nv-editorial-cards > article { border-top: 1px solid #cbded9; padding-top: 26px; }
.nv-editorial-cards > article > span { color: #004672; font-weight: 800; font-size: .7rem; }
.nv-editorial-cards h3 { margin: 18px 0 14px; color: #002d4a; font-size: 1.35rem; }
.nv-editorial-cards p { margin: 0; font-size: .98rem; }
.nv-editorial-section--blue { background: #004672; }
.nv-editorial-section--blue h2, .nv-editorial-section--blue h3, .nv-editorial-section--blue .nv-solution__eyebrow { color: #fff; }
.nv-editorial-section--blue p { color: #bfd2d8; }
.nv-editorial-section--blue .nv-editorial-cards article { border-color: rgba(255,255,255,.25); }
.nv-editorial-section--blue .nv-editorial-cards article > span { color: #2dc471; }
.nv-editorial-section--blue .nv-text-link { color: #fff; }
.nv-text-link { display: inline-flex; gap: 16px; align-items: center; color: #004672; font-weight: 600; text-decoration: none; border-bottom: 1px solid #2dc471; padding: 10px 0; }
.nv-text-link:hover { border-bottom-width: 2px; }
.nv-support-access { padding: 32px 0; }
.nv-support-access p { max-width: 700px; color: #475569; line-height: 1.7; }
.nv-training-contact { background: #f6faf8; padding: 64px 0; text-align: center; }
.nv-training-contact h2 { color: #002d4a; font-size: clamp(1.7rem,2.5vw,2.4rem); }
.nv-training-contact p { color: #475569; }
.nv-training-contact .nv-solution__wrap > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 40px; margin-top: 24px; }
.nv-training-contact a { color: #004672; font-weight: 600; text-decoration: none; border-bottom: 1px solid #2dc471; padding: 10px 0; }
.nv-editorial-video { background: #f6faf8; text-align: center; }
.nv-editorial-video h2 { color: #002d4a; font-size: clamp(2rem,3vw,3rem); margin-top: 22px; }
.nv-editorial-video .video-facade { border-top: 3px solid #2dc471; margin-top: 40px !important; }
.nv-editorial-proof { max-width: 760px; text-align: center; }
.nv-editorial-proof h2 { color: #002d4a; font-size: clamp(2rem,3vw,3rem); margin: 22px 0; }
.nv-solution--certificates .nv-editorial-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }

.nv-solution--company .sub-section, .nv-solution--company .section { padding-block: clamp(76px,8vw,120px); }
.nv-solution--company .sub-block { max-width: 780px; }
.nv-solution--company .sub-block__title { color: #002d4a; font-size: clamp(2.15rem,3.2vw,3.3rem); }
.nv-solution--company .sub-block__badge { background: transparent; padding-left: 0; color: #004672; letter-spacing: .1em; font-size: .74rem; }
.nv-solution--company .sub-block__text { color: #475569; font-size: 1.05rem; line-height: 1.75; }
.nv-solution--company .sub-section--navy .sub-block__title, .nv-solution--company .sub-section--navy .sub-feature__title { color: #fff; }
.nv-solution--company .sub-section--navy .sub-block__text, .nv-solution--company .sub-section--navy .sub-feature__text { color: #bfd2d8; }
.nv-solution--company .sub-feature { box-shadow: none; border-color: #d5e7dc; }
.nv-solution--company .novum-award-card, .nv-solution--company .calendar-card, .nv-solution--company .patronage-poster { border-radius: 0; box-shadow: none; border-top: 3px solid #2dc471; }
.nv-solution--company .novum-history-year-panel, .nv-solution--company .auth-partner-item { border-radius: 0; border-color: #d5e7dc; }
.nv-solution--company .sub-cta { background: #fff; padding-block: 90px; }
.nv-solution--company .sub-cta__title { color: #002d4a; font-size: clamp(2rem,3vw,3rem); }
.nv-solution--company .sub-cta__desc { color: #475569; }
.nv-solution--company .sub-cta__btn, .nv-solution--career .career-hero__btn--primary { background: #2dc471; color: #002d4a; font-weight: 600; }
.nv-solution--career .career-hero__particles span, .nv-solution--career .career-timeline__dot { border-radius: 0; }
.nv-solution--career .career-perk, .nv-solution--career .career-timeline__card { border-radius: 0; box-shadow: none; border-color: #d5e7dc; }
.nv-solution--career .career-culture__image, .nv-solution--career .career-tech__image { border-top: 3px solid #2dc471; }
.nv-solution--board .zarzad-intro__image-wrapper { border: 0; border-top: 3px solid #2dc471; padding: 0; }
.nv-solution--board .zarzad-intro__image-wrapper::before, .nv-solution--board .zarzad-intro__image-wrapper::after { display: none; }
.nv-solution--board .zarzad-intro__title { color: #002d4a; font-size: clamp(2.15rem,3.2vw,3.3rem); }
.nv-solution--board .zarzad-intro__badge { padding-left: 0; background: transparent; color: #004672; }
.nv-solution--board .zarzad-card { border-radius: 0; box-shadow: none; border-top: 3px solid #2dc471; }
@media(max-width:950px) {
 .nv-editorial-lead { grid-template-columns: 1fr; gap: 20px; }
 .nv-editorial-cards { gap: 24px; }
}
@media(max-width:640px) {
 .nv-editorial-cards, .nv-solution--certificates .nv-editorial-cards { grid-template-columns: 1fr; gap: 32px; }
 .nv-solution--company .sub-cta__btn { white-space: normal; }
 .nv-junior-hero .subpage-hero__bg { height: auto; aspect-ratio: 3 / 1; bottom: 42px; }
}

/* Readable hierarchy and product-specific editorial sections. */
.nv-solution__opening-copy h2 { font-size: clamp(2.15rem, 3.05vw, 3.5rem); line-height: 1.16; }
.nv-solution__features-intro h2, .nv-solution__ecosystem-head h2, .nv-product-related-head h2 { font-size: clamp(1.9rem, 2.65vw, 2.75rem); }
.nv-solution__value-lead h2 { font-size: clamp(2rem, 2.9vw, 3.1rem); }
.nv-solution__cta h2 { max-width: 850px; font-size: clamp(1.9rem, 2.8vw, 2.9rem); }
.nv-product-board > .nv-solution__eyebrow { font-size: .78rem; }
.nv-product-board__index, .nv-solution__journey-index { font-size: .8rem; }
.nv-product-board strong { font-size: 1.18rem; }
.nv-product-board small, .nv-solution__journey-step small { font-size: 1rem; line-height: 1.55; }
.nv-solution__journey-top { font-size: .76rem; }
.nv-solution__journey > p { font-size: .94rem; }
.nv-solution__ecosystem-side a, .nv-solution__ecosystem-current { font-size: 1rem; }
.nv-solution__ecosystem-current small, .nv-solution__ecosystem-core small { font-size: .85rem; }
.nv-solution__ecosystem-core > span { font-size: .95rem; }
.nv-solution__ecosystem-side { height: 260px; }
.nv-solution__ecosystem-core { min-height: 260px; }
.nv-solution__cta p + .nv-solution__cta-button { margin-top: 0; }
.nv-editorial { padding: clamp(72px,7vw,108px) 0; background: #fff; }
.nv-editorial--tint { background: #f3faf6; }
.nv-editorial__head { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 65px; align-items: end; margin-bottom: 40px; }
.nv-editorial__head .nv-solution__eyebrow { grid-column: 1 / -1; }
.nv-editorial__head h2 { margin: 8px 0 0; font-size: clamp(1.85rem,2.6vw,2.7rem); line-height: 1.2; color: var(--solution-navy); }
.nv-editorial__head p, .nv-context-panels p, .nv-perspectives p, .nv-credit-stages p, .nv-question-table p { margin: 0; font-size: 1.02rem; line-height: 1.72; color: var(--solution-muted); }
.nv-editorial__note { margin: 24px 0 0; max-width: 900px; color: var(--solution-muted); font-size: .94rem; line-height: 1.65; }
.nv-solution--novum-bank-enterprise-nux .nv-editorial__note { max-width: none; }
.nv-module-atlas { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.nv-module-atlas details { border: 1px solid #d1e2d9; background: #f8fbf9; }
.nv-module-atlas summary { display: flex; align-items: center; gap: 16px; padding: 25px; cursor: pointer; list-style: none; }
.nv-module-atlas summary::-webkit-details-marker { display: none; }
.nv-module-atlas summary > span:first-child { color: var(--solution-blue); font-size: .85rem; font-weight: 800; }
.nv-module-atlas h3 { margin: 0; font-size: 1.17rem; line-height: 1.4; letter-spacing: -.02em; }
.nv-module-atlas__toggle { margin-left: auto; width: 24px; flex: 0 0 24px; font-size: 1.4rem; color: var(--solution-blue); }
.nv-module-atlas details[open] { border-top: 3px solid var(--solution-green); background: #fff; }
.nv-module-atlas details[open] .nv-module-atlas__toggle { transform: rotate(45deg); }
.nv-module-atlas details > div { padding: 0 25px 26px; }
.nv-module-atlas p, .nv-module-atlas li { font-size: 1rem; line-height: 1.7; color: var(--solution-muted); }
.nv-module-atlas p { margin: 0; }
.nv-module-atlas ul { padding-left: 18px; margin: 16px 0 0; }
.nv-module-atlas li { margin-top: 8px; }
.nv-module-atlas li::marker { color: var(--solution-green); }
.nv-nux-map { background: var(--solution-navy); color: #fff; padding: 34px; border-top: 3px solid var(--solution-green); }
.nv-nux-map > .nv-solution__eyebrow { color: #fff; }
.nv-nux-map > strong { display: block; font-family: var(--font-heading); font-size: 1.6rem; margin: 24px 0; }
.nv-nux-map > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.nv-nux-map > div > span { border: 1px solid #3c657f; padding: 14px; font-size: 1rem; }
.nv-nux-map p { color: #bfd2d8; font-size: 1rem; line-height: 1.7; margin: 24px 0 0; }
.nv-context-panels { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.nv-context-panels article { border-top: 2px solid var(--solution-green); padding: 25px 0 0; }
.nv-context-panels__index { color: var(--solution-blue); font-size: .85rem; font-weight: 800; }
.nv-context-panels h3, .nv-perspectives h3, .nv-credit-stages h3 { margin: 14px 0; font-size: 1.2rem; line-height: 1.4; }
.nv-context-flow { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 26px; padding: 0; margin: 0; list-style: none; }
.nv-context-flow li { position: relative; border-top: 1px solid #b9d9c8; padding-top: 24px; }
.nv-context-flow li::before { content: ''; position: absolute; width: 10px; height: 10px; top: -5px; left: 0; background: var(--solution-green); }
.nv-context-flow li > span { font-size: .82rem; font-weight: 800; color: var(--solution-blue); }
.nv-context-flow h3 { margin: 12px 0; font-size: 1.12rem; line-height: 1.4; }
.nv-context-flow p { font-size: 1rem; line-height: 1.65; color: var(--solution-muted); margin: 0; }
.nv-perspectives, .nv-credit-stages { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 42px; }
.nv-perspectives article { padding: 28px; background: #fff; border: 1px solid #d1e2d9; border-left: 3px solid var(--solution-green); }
.nv-perspectives h3 { margin-top: 0; }
.nv-credit-stages { margin-top: 0; }
.nv-credit-stages article { padding: 32px; background: #fff; border: 1px solid #d1e2d9; }
.nv-credit-stages article + article { background: var(--solution-navy); color: #fff; }
.nv-credit-stages article + article .nv-solution__eyebrow { color: var(--solution-green); }
.nv-credit-stages article + article h3 { color: #fff; }
.nv-credit-stages article + article p { color: #bfd2d8; }
.nv-question-table { border: 1px solid #d1e2d9; background: #fff; }
.nv-question-table > div { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; padding: 27px 32px; border-top: 1px solid #d1e2d9; }
.nv-question-table > div:first-child { background: var(--solution-navy); color: #fff; border: 0; }
.nv-question-table h3 { margin: 0; color: #fff; font-size: 1rem; }
.nv-question-table strong { font-family: var(--font-heading); font-size: 1.15rem; line-height: 1.5; }
.nv-solution--novum-eod .nv-product-board--flow .nv-product-board__items { padding-left: 34px; }
.nv-solution--novum-eod .nv-product-board--flow .nv-product-board__items > div::before { left: -38px; }
@media (prefers-reduced-motion: no-preference) {
 .nv-context-flow li::before { animation: nv-context-pixel 5s ease-in-out infinite; }
 .nv-context-flow li:nth-child(2)::before { animation-delay: -1.7s; }
 .nv-context-flow li:nth-child(3)::before { animation-delay: -3.4s; }
 @keyframes nv-context-pixel { 0%,100% { left: 0; } 50% { left: calc(100% - 10px); } }
}
@media (max-width: 950px) {
 .nv-editorial__head { grid-template-columns: 1fr; gap: 20px; }
 .nv-module-atlas { grid-template-columns: 1fr; }
 .nv-solution__ecosystem-side { height: auto; }
 .nv-solution__ecosystem-core { min-height: 180px; }
 .nv-context-flow { grid-auto-flow: row; grid-template-columns: 1fr 1fr; }
 .nv-context-panels { grid-template-columns: 1fr; gap: 32px; }
 .nv-nux-map { max-width: 650px; }
}
@media (max-width: 640px) {
 .nv-solution__opening-copy h2 { font-size: clamp(1.95rem,8.1vw,2.7rem); }
 .nv-context-flow, .nv-perspectives, .nv-credit-stages { grid-template-columns: 1fr; }
 .nv-question-table > div { grid-template-columns: 1fr; gap: 12px; padding: 24px; }
 .nv-question-table > div:first-child { display: none; }
 .nv-module-atlas summary { padding: 22px 18px; gap: 10px; }
 .nv-module-atlas details > div { padding-inline: 18px; }
 .nv-nux-map { padding: 25px; }
 .nv-nux-map > div > span { padding: 12px; font-size: .96rem; }
 .nv-editorial { padding-block: 68px; }
}
/* Cash recycling: one banknote moves through the same cassette. */
.nv-cash-cycle { margin: 0; padding: 28px; background: #fff; border: 1px solid #d1e2d9; border-top: 3px solid var(--solution-green); }
.nv-cash-cycle__drawing { display: block; width: 100%; height: auto; }
.nv-cash-cycle__drawing text { font-family: var(--font-body); font-size: 17px; fill: var(--solution-navy); }
.nv-cash-cycle__drawing .nv-cash-cycle__bold { font-family: var(--font-heading); font-size: 21px; font-weight: 700; }
.nv-cash-cycle__drawing .nv-cash-cycle__small { font-size: 14px; }
.nv-cash-cycle__lines { stroke: var(--solution-green); }
.nv-cash-cycle__client rect { fill: #f3faf6; stroke: #bddbc9; }
.nv-cash-cycle__device > rect { fill: var(--solution-navy); }
.nv-cash-cycle__device text, .nv-cash-cycle__drawing .nv-cash-cycle__caption { fill: #fff; }
.nv-cash-cycle__device .nv-cash-cycle__verifier { fill: #004672; stroke: #3c657f; }
.nv-cash-cycle__cassettes rect { fill: #004672; stroke: #6a99b1; }
.nv-cash-cycle__cassettes path { stroke: #6a99b1; fill: none; }
.nv-cash-cycle__cassettes text { fill: #fff; }
.nv-cash-cycle__note rect { fill: var(--solution-green); stroke: #fff; stroke-width: 2; }
.nv-cash-cycle__note path { stroke: var(--solution-navy); stroke-width: 1.5; }
.nv-cash-cycle__controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #d1e2d9; padding-top: 20px; }
.nv-cash-cycle__controls p { margin: 0; font-size: 1rem; font-weight: 700; color: var(--solution-navy); }
.nv-cash-cycle__controls button { font-family: var(--font-body); font-size: .95rem; padding: 10px 15px; background: #fff; border: 1px solid var(--solution-blue); color: var(--solution-blue); cursor: pointer; }
.nv-cash-cycle figcaption { color: var(--solution-muted); font-size: .94rem; line-height: 1.65; margin-top: 20px; }
.nv-cash-cycle__mobile { display: none; }
@media (max-width: 640px) {
 .nv-cash-cycle { padding: 24px 20px; }
 .nv-cash-cycle__drawing { display: none; }
 .nv-cash-cycle__controls { display: none; }
 .nv-cash-cycle__mobile { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; }
 .nv-cash-cycle__mobile li { position: relative; padding: 0 0 30px 28px; border-left: 1px solid #b9d9c8; }
 .nv-cash-cycle__mobile li:last-child { padding-bottom: 0; }
 .nv-cash-cycle__mobile li::before { content: ''; width: 10px; height: 10px; position: absolute; left: -5px; top: 5px; background: var(--solution-green); }
 .nv-cash-cycle__mobile strong { display: block; font-family: var(--font-heading); font-size: 1rem; line-height: 1.5; }
 .nv-cash-cycle__mobile li > span { display: block; color: var(--solution-muted); font-size: 1rem; line-height: 1.65; margin-top: 8px; }
 .nv-cash-cycle__mini-cassettes { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-top: 12px; }
 .nv-cash-cycle__mini-cassettes span { border-top: 2px solid var(--solution-green); padding: 12px 0; text-align: center; background: var(--solution-navy); color: #fff; font-size: .9rem; }
}
.nv-module-atlas details[open] { grid-column: 1 / -1; }
.nv-module-atlas details[open] > div { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; }
.nv-module-atlas details[open] ul { margin-top: 0; }
@media (max-width: 640px) {
 .nv-module-atlas details[open] > div { grid-template-columns: 1fr; gap: 12px; }
}

/* One expanded module at a time; stable-width rows avoid grid jumps. */
.nv-module-atlas--accordion { grid-template-columns: 1fr; gap: 12px; }
.nv-module-atlas--accordion summary { padding-block: 20px; }
.nv-module-atlas--accordion details[open] { border-top-width: 1px; box-shadow: inset 0 2px 0 var(--solution-green); }
.nv-module-atlas--accordion details > div { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; }
.nv-module-atlas--accordion details ul { margin-top: 0; }
.nv-module-atlas--accordion .nv-module-atlas__toggle { transition: transform .28s ease; }
.nv-module-atlas--accordion details[open] > div {
    align-items: stretch;
    gap: 0;
    margin: 0 25px 26px;
    padding: 24px 0 0;
    border-top: 1px solid #e0ebe5;
}
.nv-module-atlas--accordion details > div > p { margin: 0; padding: 0 32px 0 0; }
.nv-module-atlas--accordion details > div > ul {
    margin: 0;
    padding: 0 0 0 48px;
    border-inline-start: 1px solid #d1e2d9;
    list-style: square;
}
.nv-module-atlas--accordion details > div > ul > li { margin: 0; }
.nv-module-atlas--accordion details > div > ul > li + li { margin-top: 12px; }
@media (max-width: 640px) {
    .nv-module-atlas--accordion details[open] > div { margin-inline: 18px; grid-template-columns: 1fr; gap: 18px; }
    .nv-module-atlas--accordion details > div > p { padding: 0; }
    .nv-module-atlas--accordion details > div > ul { border-inline-start: 0; border-top: 1px solid #d1e2d9; padding: 18px 0 0 18px; }
}
@supports (interpolate-size: allow-keywords) and selector(details::details-content) {
 .nv-module-atlas--accordion { interpolate-size: allow-keywords; }
 .nv-module-atlas--accordion details::details-content { block-size: 0; overflow: clip; opacity: 0; transition: block-size .34s cubic-bezier(.2,.7,.2,1), opacity .22s ease, content-visibility .34s allow-discrete; }
 .nv-module-atlas--accordion details[open]::details-content { block-size: auto; opacity: 1; }
}
@media (max-width: 640px) {
 .nv-module-atlas--accordion details > div { grid-template-columns: 1fr; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
 .nv-module-atlas--accordion details::details-content, .nv-module-atlas--accordion .nv-module-atlas__toggle { transition: none; }
}

/* The banknote remains visible under a scanning beam in a separate window. */
.nv-cash-cycle__scan-frame { fill: rgba(45,196,113,.05); stroke: rgba(45,196,113,.65); stroke-width: 1.5; }
.nv-cash-cycle__scan path { stroke: var(--solution-green); stroke-width: 2; }
.nv-cash-cycle__scan rect { fill: var(--solution-green); opacity: .24; }
.nv-cash-cycle__drawing .nv-cash-cycle__stock { fill: var(--solution-green); font-size: 26px; font-weight: 700; }
.nv-cash-cycle__controls [data-cash-stage] { min-height: 2.8em; }

/* A compact operations list gives the payout page its own rhythm. */
.nv-atm-operations { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.nv-atm-operations article { display: flex; align-items: flex-start; gap: 20px; padding: 28px; border-top: 3px solid var(--solution-green); background: #f2f8f5; }
.nv-atm-operations article > span { flex: none; color: var(--solution-blue); font-weight: 700; font-size: 1rem; }
.nv-atm-operations h3 { margin: 0 0 14px; font-family: var(--font-heading); font-size: 1.25rem; line-height: 1.4; color: var(--solution-navy); }
.nv-atm-operations p { margin: 0; font-size: 1.05rem; line-height: 1.75; color: var(--solution-muted); }
@media (max-width: 900px) { .nv-atm-operations { grid-template-columns: 1fr; gap: 16px; } }

.nv-solution .partner-card__logo { background: #fff; }
.nv-training-schedules { margin-top: 38px; border-top: 3px solid var(--solution-green); padding-top: 24px; }
.nv-training-schedules h3 { font-family: var(--font-heading); font-size: 1.3rem; line-height: 1.4; color: var(--solution-navy); margin: 0 0 12px; }
.nv-training-schedules > p { font-size: 1rem; margin-bottom: 20px; }
.nv-training-schedules table { width: 100%; border-collapse: collapse; font-size: 1rem; color: var(--solution-navy); }
.nv-training-schedules th, .nv-training-schedules td { text-align: left; padding: 16px 12px; border-bottom: 1px solid #d4e5dc; vertical-align: top; }
.nv-training-schedules thead { background: #f2f8f5; }
.nv-training-schedules thead th { font-weight: 600; }
.nv-training-schedules tbody th { font-weight: 600; width: 52%; }
.nv-training-schedules small { display: block; color: var(--solution-muted); font-size: .9rem; font-weight: 400; margin-top: 6px; }
.nv-training-schedules td a { display: inline-flex; gap: 12px; align-items: center; font-weight: 600; color: var(--solution-blue); }
.nv-training-schedules td a:hover { text-decoration: underline; }
.nv-training-schedules__empty { line-height: 1.6; color: var(--solution-muted); }

/* Tighter editorial rhythm on product pages, without changing hero heights. */
.nv-solution__opening { padding-top: clamp(52px,5vw,80px); }
.nv-solution__features, .nv-solution__ecosystem { padding-block: clamp(52px,5vw,80px); }
.nv-solution__value { padding-block: clamp(56px,5vw,84px); }
.nv-solution__cta { padding-block: clamp(48px,4.5vw,72px); }
.nv-solution__ecosystem + .nv-solution__cta { padding-top: clamp(24px,2.5vw,40px); }
.nv-training-schedules caption { text-align:left; padding: 18px 0 10px; color:var(--solution-blue); font-weight:800; }
.nv-training-schedules table + table { margin-top:18px; }
.nv-training-schedules th, .nv-training-schedules td { padding:14px 10px; }
.nv-training-schedules td { width:30%; }
.nv-training-schedules__empty { font-size:.9rem; }
@media(max-width:640px) { .nv-training-schedules th, .nv-training-schedules td { padding:12px 6px; font-size:.86rem; } }
.nv-training-contact { padding-block: clamp(32px,3vw,48px); }
.nv-solution__ecosystem:has(+ .nv-training-contact) { padding-bottom: clamp(32px,3vw,48px); }

.nv-training-schedules tbody th { width:40%; }
.nv-mobile-illustration { margin:30px 0 0; max-width:460px; border-top:3px solid var(--solution-green); background:#fff; padding:12px 0 0; overflow:hidden; }
.nv-mobile-illustration img { display:block; width:100%; height:auto; }
.nv-solution--bankowosc-mobilna .nv-solution__features-intro { align-self:start; }

/* Consistent spacing for legacy editorial sections inside subpages. */
.nv-solution .sub-section { padding-block:clamp(48px,4.5vw,72px); }
.nv-solution--insights .nv-section { padding-block:clamp(52px,5vw,80px); }

/* A clear example of the document workflow, with NOVUM square markers. */
.nv-eod-workflow { margin-top:36px; padding:clamp(24px,3vw,40px); background:#fff; border:1px solid var(--gray-200, #dce7e3); }
.nv-eod-workflow__intro { max-width:720px; }
.nv-eod-workflow h3 { margin:12px 0; font-size:clamp(1.3rem,2vw,1.65rem); color:var(--solution-navy); }
.nv-eod-workflow p { color:var(--solution-muted); font-size:1rem; line-height:1.7; }
.nv-eod-workflow ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:28px 0 0; padding:0; list-style:none; gap:24px; }
.nv-eod-workflow li { position:relative; border-top:1px solid var(--solution-green); padding:22px 0 0; }
.nv-eod-workflow__pixel { position:absolute; top:-5px; left:0; width:9px; height:9px; background:var(--solution-green); }
.nv-eod-workflow__number { font-size:.8rem; font-weight:700; color:var(--solution-blue); }
.nv-eod-workflow h4 { font-family:var(--font-heading); font-size:1.15rem; color:var(--solution-navy); margin:8px 0; }
.nv-eod-workflow li p { margin:0; }
.nv-eod-workflow__note { margin:24px 0 0; padding-top:18px; border-top:1px solid var(--gray-200, #dce7e3); }
@media(max-width:900px) { .nv-eod-workflow ol { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) { .nv-eod-workflow ol { grid-template-columns:1fr; gap:20px; } }

.nv-eod-time { border:1px solid var(--gray-200, #dce7e3); padding:clamp(18px,2.5vw,32px); background:#fff; }
.nv-eod-time table { width:100%; border-collapse:collapse; text-align:left; font-size:1rem; line-height:1.65; }
.nv-eod-time caption { text-align:left; font-family:var(--font-heading); color:var(--solution-navy); font-size:1.2rem; font-weight:700; padding-bottom:18px; }
.nv-eod-time th, .nv-eod-time td { padding:18px 16px; border-bottom:1px solid var(--gray-200, #dce7e3); vertical-align:top; }
.nv-eod-time thead { color:var(--solution-navy); background:#f2f8f5; }
.nv-eod-time tbody th { width:22%; color:var(--solution-navy); }
.nv-eod-time td { color:var(--solution-muted); }
.nv-eod-time > p { font-size:.94rem; color:var(--solution-muted); line-height:1.7; margin:20px 0 0; }
.nv-tco { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(30px,5vw,70px); }
.nv-tco h2 { margin:20px 0; font-size:clamp(1.8rem,3vw,2.6rem); color:var(--solution-navy); line-height:1.2; }
.nv-tco p, .nv-tco li span { color:var(--solution-muted); font-size:1rem; line-height:1.75; }
.nv-tco__costs { background:#fff; border-top:3px solid var(--solution-green); padding:28px; }
.nv-tco__costs h3 { margin:0 0 20px; font-size:1.25rem; color:var(--solution-navy); }
.nv-tco ul { margin:0; padding:0; list-style:none; }
.nv-tco li { padding:16px 0; border-bottom:1px solid var(--gray-200, #dce7e3); }
.nv-tco li strong, .nv-tco li span { display:block; }
.nv-tco li strong { color:var(--solution-navy); margin-bottom:6px; }
.nv-tco__costs > p { font-size:.94rem; margin:20px 0 0; }
@media(max-width:900px) { .nv-tco { grid-template-columns:1fr; } }
@media(max-width:640px) {
 .nv-eod-time thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .nv-eod-time tbody tr { display:block; padding:20px 0; border-bottom:1px solid var(--gray-200, #dce7e3); }
 .nv-eod-time tbody th, .nv-eod-time tbody td { display:block; width:auto; padding:0; border:0; font-size:1rem; }
 .nv-eod-time tbody th { font-family:var(--font-heading); margin-bottom:14px; }
 .nv-eod-time tbody td + td { margin-top:14px; }
 .nv-eod-time td::before { content:attr(data-label); display:block; color:var(--solution-navy); font-size:.85rem; font-weight:700; margin-bottom:4px; }
}

/* A compact, interactive illustration of analytical cubes. */
.nv-solution--hurtownia-danych .nv-solution__features-intro { position:sticky; }
.nv-cube-builder-wrap { margin-top:32px; }
.nv-solution--hurtownia-danych .nv-solution__features-grid { row-gap:32px; }
.nv-cube-builder { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr); gap:0 24px; margin-top:0; padding:28px; border:1px solid #dce7e3; border-top:3px solid var(--solution-green); background:#f7faf8; }
.nv-cube-builder > h3, .nv-cube-builder > p { grid-column:1 / -1; }
.nv-cube-builder__controls { display:grid; grid-template-columns:1fr 1fr; gap:20px 16px; align-content:start; }
.nv-cube-builder__controls fieldset:first-child { grid-column:1 / -1; }
.nv-cube-builder .nv-cube-builder__controls fieldset { margin:0; }
.nv-cube-builder__output { min-width:0; }
.nv-cube-builder > h3 { margin:0 0 8px; font-size:1.15rem; line-height:1.4; color:var(--solution-navy); }
.nv-cube-builder > p { margin:0 0 24px; font-size:1rem; line-height:1.65; }
.nv-cube-builder fieldset { min-width:0; border:0; padding:0; margin:0 0 20px; }
.nv-cube-builder legend { margin-bottom:10px; padding:0; color:var(--solution-blue); font-weight:700; font-size:.85rem; }
.nv-cube-builder__cubes { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.nv-cube-builder button { font:inherit; cursor:pointer; color:var(--solution-navy); }
.nv-cube-builder__cube { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:110px; padding:12px 5px; background:#fff; border:1px solid #cbdad3; font-size:1rem; transition:border-color .2s,background .2s; }
.nv-cube-builder__cube svg { width:48px; height:48px; flex-shrink:0; overflow:visible; }
.nv-cube-builder__cube .cube-top { fill:#edf5f1; }
.nv-cube-builder__cube .cube-left { fill:#fff; }
.nv-cube-builder__cube .cube-right { fill:#e0ece7; }
.nv-cube-builder__cube svg path { stroke:var(--solution-blue); stroke-width:1.4; stroke-linejoin:round; }
.nv-cube-builder__cube[aria-pressed="true"] { background:#fff; border-color:var(--solution-green); box-shadow:inset 0 -3px var(--solution-green); }
.nv-cube-builder__cube[aria-pressed="true"] .cube-top { fill:var(--solution-green); }
.nv-cube-builder__cube[aria-pressed="true"] .cube-left { fill:var(--solution-blue); }
.nv-cube-builder__cube[aria-pressed="true"] .cube-right { fill:var(--solution-navy); }
.nv-cube-builder__cube[aria-pressed="true"] svg path { stroke:#fff; }
.nv-cube-builder__options { display:flex; gap:8px; }
.nv-cube-builder__options button { flex:1; padding:10px 8px; min-height:42px; border:1px solid #cbdad3; background:#fff; }
.nv-cube-builder__options button[aria-pressed="true"] { border-color:var(--solution-blue); background:var(--solution-blue); color:#fff; }
.nv-cube-builder button:hover { border-color:var(--solution-blue); }
.nv-cube-builder button:focus-visible { outline:2px solid var(--solution-blue); outline-offset:3px; }
.nv-cube-builder__connection { position:relative; height:1px; width:100%; margin:0; align-self:center; border-top:1px solid var(--solution-green); }
.nv-cube-builder__connection::after { content:''; position:absolute; left:50%; top:-5px; width:9px; height:9px; background:var(--solution-green); }
.nv-cube-builder.is-updating .nv-cube-builder__connection::after { animation:nv-cube-pixel .6s ease-in-out; }
.nv-cube-builder__result { padding:22px; background:var(--solution-navy); color:#fff; }
.nv-cube-builder__result > span { color:var(--solution-green); font-size:.8rem; font-weight:700; }
.nv-cube-builder__result h4 { color:#fff; font-family:var(--font-heading); font-size:1.13rem; line-height:1.45; margin:10px 0; }
.nv-cube-builder__result > p { color:#d1e2e7; font-size:.95rem; line-height:1.6; margin:0 0 20px; }
.nv-cube-builder__chart { padding:0; margin:0; display:grid; gap:14px; }
.nv-cube-builder__chart > div { display:grid; grid-template-columns:1fr auto; gap:6px 12px; }
.nv-cube-builder__chart dt { font-size:.9rem; color:#fff; }
.nv-cube-builder__chart dd { margin:0; color:#d1e2e7; font-size:.9rem; }
.nv-cube-builder__bar { grid-column:1 / -1; height:7px; background:rgba(255,255,255,.13); }
.nv-cube-builder__bar span { display:block; height:100%; width:var(--bar-width); background:var(--solution-green); transition:width .45s ease; }
.nv-cube-builder .nv-cube-builder__note { color:var(--solution-muted); font-size:.85rem; margin:14px 0 0; }
.nv-cube-builder__status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@keyframes nv-cube-pixel { 0% { left:0; } 100% { left:50%; } }
@media(max-width:900px) {
 .nv-solution--hurtownia-danych .nv-solution__features-intro { position:static; }
 .nv-cube-builder { grid-template-columns:1fr; gap:20px; padding:24px; }
 .nv-cube-builder > p { margin-bottom:0; }
 .nv-cube-builder__connection { width:calc(100% - 28px); margin:0 auto; }
}
@media(max-width:640px) { .nv-cube-builder { padding:18px 14px; } .nv-cube-builder__controls { grid-template-columns:1fr; gap:16px; } .nv-cube-builder__result { padding:20px 16px; } }
@media(prefers-reduced-motion:reduce) { .nv-cube-builder * { transition:none!important; animation:none!important; } }

/* Accepted insights copy uses the shared page rhythm and contact action. */
.nv-insights-opening { padding-bottom:48px; }
.nv-insights-opening__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:24px 70px; align-items:center; }
.nv-insights-opening__grid .nv-solution__eyebrow { grid-column:1 / -1; }
.nv-insights-opening__grid h2 { margin:0; color:var(--solution-navy); font-size:clamp(2rem,3.2vw,3.2rem); line-height:1.17; }
.nv-insights-opening__grid p, .nv-insights-shared .nv-product-related-head p { margin:0; color:var(--solution-muted); font-size:1.02rem; line-height:1.73; }
.nv-insights-section--tinted { background:#f6faf8; }
.nv-insights-shared .nv-solution__features-intro .nv-solution__eyebrow { line-height:1.6; }
.nv-insights-shared .nv-product-related-head h2 { margin-bottom:20px; }
.nv-insights-related { margin-top:28px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.nv-insights-current { grid-column:1 / -1; color:var(--solution-blue); font-size:.85rem; }
.nv-insights-contact-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; width:100%; list-style:none; padding:0; margin:0; text-align:left; }
.nv-insights-contact-points li { border-top:2px solid var(--solution-green); padding-top:18px; color:var(--solution-muted); font-size:1rem; line-height:1.7; }
.nv-insights-contact-points strong { color:var(--solution-navy); }
@media(max-width:950px) {
 .nv-insights-opening__grid { grid-template-columns:1fr; gap:22px; }
 .nv-insights-contact-points { grid-template-columns:1fr; gap:20px; }
}
@media(max-width:640px) { .nv-insights-related { grid-template-columns:1fr; } }

/* Careers: brand colours, compact application form and shared page details. */
.nv-solution--career .career-stats { background:#fff; padding:48px 0; border-bottom:1px solid #e2e8f0; }
.nv-solution--career .career-stats::before { display:none; }
.nv-solution--career .career-stats__number, .nv-solution--career .career-stats__suffix { color:var(--solution-green); opacity:1; }
.nv-solution--career .career-stats__label { color:var(--solution-muted); }
.nv-solution--career .career-stats__item:not(:last-child)::after { background:#e2e8f0; }
.nv-solution--career .sub-block__badge { padding:0; border:0; background:transparent; color:var(--solution-blue); display:inline-flex; align-items:center; gap:11px; letter-spacing:.12em; }
.nv-solution--career .sub-block__badge::before { content:''; width:24px; height:2px; background:var(--solution-green); }
.nv-solution--career .sub-block__title { color:var(--solution-navy); }
.nv-solution--career .sub-section--navy { background:var(--solution-blue); }
.nv-solution--career .sub-section--navy .sub-block__badge { color:#fff; }
.nv-solution--career .career-perk__icon { border:1px solid var(--solution-green); background:#f3fbf6; color:var(--solution-blue); }
.nv-solution--career .career-perk h3, .nv-solution--career .career-culture__text h2, .nv-solution--career .career-timeline__card h3 { color:var(--solution-navy); }
.nv-solution--career .career-timeline__dot { background:var(--solution-blue); border-color:var(--solution-green); }
.nv-solution--career .career-culture__highlight-dot { background:var(--solution-green); border-radius:0; }
.nv-solution--career .career-hero__particles { display:none; }
.nv-solution--career .career-hero { min-height:clamp(480px,65vh,640px); }
.nv-solution--career .career-hero__btn { font-weight:400; box-shadow:none; }
.nv-solution--career .career-form-section { background:var(--solution-navy); padding:52px 0; }
.nv-solution--career .career-form-section::before { display:none; }
.nv-solution--career .career-form-wrap { max-width:1190px; }
.nv-solution--career .career-form__header { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:16px 48px; align-items:center; text-align:left; margin-bottom:28px; }
.nv-solution--career .career-form__badge { grid-column:1/-1; justify-self:start; margin:0; padding:0; border:0; color:var(--solution-green); background:transparent; }
.nv-solution--career .career-form__title { margin:0; }
.nv-solution--career .career-form__desc { color:#bfd2d8; }
.nv-solution--career .career-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:28px; border-top:3px solid var(--solution-green); box-shadow:none; }
.nv-solution--career .career-form > .career-form__grid { display:contents; }
.nv-solution--career .career-form__group { min-width:0; margin:0; }
.nv-solution--career .career-form > .career-form__group { grid-column:1/-1; }
.nv-solution--career .career-form > .career-form__group:has(#cfMessage), .nv-solution--career .career-form > .career-form__group:has(#cfFile), .nv-solution--career .career-form__consent { grid-column:span 2; margin:0; }
.nv-solution--career .career-form__group textarea { min-height:130px; height:130px; }
.nv-solution--career .career-form__file { min-height:130px; padding:18px; background:#f6faf8; border-color:var(--solution-green); }
.nv-solution--career .career-form__file svg { width:28px; height:28px; color:var(--solution-green); }
.nv-solution--career .career-form__iod { grid-column:span 3; align-self:center; margin:0; color:var(--solution-muted); }
.nv-solution--career .career-form__submit { grid-column:span 1; align-self:center; margin:0; background:var(--solution-green); color:var(--solution-navy); font-weight:400; box-shadow:none; }
.nv-solution--career .career-form__submit:hover { background:var(--solution-green); filter:brightness(1.05); box-shadow:none; }
.nv-solution--career .career-form__checkbox a, .nv-solution--career .career-form__iod a { color:var(--solution-blue); }
.nv-solution--career .job-accordion { border-color:#d5e7dc; box-shadow:none; }
.nv-solution--career .job-accordion__icon { background:#f3fbf6; color:var(--solution-blue); border:1px solid var(--solution-green); }
.nv-solution--career .job-accordion__facts { padding:18px 22px; margin-bottom:24px; background:#f6faf8; border-left:3px solid var(--solution-green); }
.nv-solution--career .job-accordion__facts p { margin:4px 0; color:var(--solution-navy); }
.nv-solution--career .job-accordion__apply { font-weight:400; background:var(--solution-green); color:var(--solution-navy); }
@media(max-width:950px) {
 .nv-solution--career .career-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .nv-solution--career .career-form__header { grid-template-columns:1fr; gap:16px; }
 .nv-solution--career .career-form > .career-form__group:has(#cfMessage), .nv-solution--career .career-form > .career-form__group:has(#cfFile), .nv-solution--career .career-form__iod { grid-column:span 1; }
}
@media(max-width:640px) {
 .nv-solution--career .career-form { grid-template-columns:1fr; padding:24px 18px; }
 .nv-solution--career .career-form__consent, .nv-solution--career .career-form__iod, .nv-solution--career .career-form__submit { grid-column:1/-1; }
 .nv-solution--career .career-stats { padding:32px 0; }
 .nv-solution--career .career-hero { min-height:560px; }
}

/* One accessibility font step, scoped to Careers without changing global preferences. */
.nv-solution--career .sub-block__badge { font-size:calc((0.75rem) * 1.125) !important; }
.nv-solution--career .sub-block__title { font-size:calc((clamp(1.5rem, 2.5vw, 2rem)) * 1.125) !important; }
.nv-solution--career .sub-block__text { font-size:calc((1.1rem) * 1.125) !important; }
@media (max-width: 480px) {
.nv-solution--career .sub-block__title { font-size:calc((1.4rem) * 1.125) !important; }
}
.nv-solution--career .job-apply-box__content h3 { font-size:calc((1.15rem) * 1.125) !important; }
.nv-solution--career .job-apply-box__content p { font-size:calc((0.95rem) * 1.125) !important; }
.nv-solution--career .job-rodo-note h4 { font-size:calc((0.95rem) * 1.125) !important; }
.nv-solution--career .job-rodo-note p { font-size:calc((0.88rem) * 1.125) !important; }
.nv-solution--career .job-rodo-note__iod { font-size:calc((0.85rem) * 1.125) !important; }
.nv-solution--career .job-accordion__info h3 { font-size:calc((1.12rem) * 1.125) !important; }
.nv-solution--career .job-accordion__tag { font-size:calc((0.78rem) * 1.125) !important; }
.nv-solution--career .job-accordion__section h4 { font-size:calc((0.95rem) * 1.125) !important; }
.nv-solution--career .job-accordion__section p { font-size:calc((0.9rem) * 1.125) !important; }
.nv-solution--career .job-accordion__section ul li { font-size:calc((0.9rem) * 1.125) !important; }
.nv-solution--career .job-accordion__apply { font-size:calc((0.92rem) * 1.125) !important; }
@media (max-width: 640px) {
.nv-solution--career .job-accordion__info h3 { font-size:calc((1rem) * 1.125) !important; }
}
.nv-solution--career .career-form__badge { font-size:calc((0.78rem) * 1.125) !important; }
.nv-solution--career .career-form__title { font-size:calc((clamp(1.5rem, 3vw, 2rem)) * 1.125) !important; }
.nv-solution--career .career-form__desc { font-size:calc((1rem) * 1.125) !important; }
.nv-solution--career .career-form__group label { font-size:calc((0.82rem) * 1.125) !important; }
.nv-solution--career .career-form__group input[type="text"], .nv-solution--career .career-form__group input[type="email"], .nv-solution--career .career-form__group input[type="tel"], .nv-solution--career .career-form__group select, .nv-solution--career .career-form__group textarea { font-size:calc((0.92rem) * 1.125) !important; }
.nv-solution--career .career-form__file-text { font-size:calc((0.92rem) * 1.125) !important; }
.nv-solution--career .career-form__file-info { font-size:calc((0.78rem) * 1.125) !important; }
.nv-solution--career .career-form__file-name { font-size:calc((0.85rem) * 1.125) !important; }
.nv-solution--career .career-form__checkbox { font-size:calc((0.8rem) * 1.125) !important; }
.nv-solution--career .career-form__iod { font-size:calc((0.75rem) * 1.125) !important; }
.nv-solution--career .career-form__submit { font-size:calc((1rem) * 1.125) !important; }
.nv-solution--career .career-form__error { font-size:calc((0.85rem) * 1.125) !important; }
.nv-solution--career .career-form__success h3 { font-size:calc((1.5rem) * 1.125) !important; }
.nv-solution--career .career-form__success p { font-size:calc((1rem) * 1.125) !important; }
.nv-solution--career .career-hero__breadcrumb { font-size:calc((0.875rem) * 1.125) !important; }
.nv-solution--career .career-hero__badge { font-size:calc((0.78rem) * 1.125) !important; }
.nv-solution--career .career-hero__title { font-size:calc((clamp(2.4rem, 5vw, 3.8rem)) * 1.125) !important; }
.nv-solution--career .career-hero__desc { font-size:calc((clamp(1rem, 1.5vw, 1.2rem)) * 1.125) !important; }
.nv-solution--career .career-hero__btn { font-size:calc((0.95rem) * 1.125) !important; }
.nv-solution--career .career-hero__scroll-hint { font-size:calc((0.75rem) * 1.125) !important; }
.nv-solution--career .career-stats__number { font-size:calc((2.6rem) * 1.125) !important; }
.nv-solution--career .career-stats__suffix { font-size:calc((1.8rem) * 1.125) !important; }
.nv-solution--career .career-stats__label { font-size:calc((0.88rem) * 1.125) !important; }
.nv-solution--career .career-perk h3 { font-size:calc((1.1rem) * 1.125) !important; }
.nv-solution--career .career-perk p { font-size:calc((0.92rem) * 1.125) !important; }
.nv-solution--career .career-parallax__quote { font-size:calc((clamp(1.4rem, 3vw, 2.2rem)) * 1.125) !important; }
.nv-solution--career .career-parallax__quote::before { font-size:calc((1.3em) * 1.125) !important; }
.nv-solution--career .career-parallax__quote::after { font-size:calc((1.3em) * 1.125) !important; }
.nv-solution--career .career-parallax__author { font-size:calc((0.95rem) * 1.125) !important; }
.nv-solution--career .career-culture__image-badge { font-size:calc((0.8rem) * 1.125) !important; }
.nv-solution--career .career-culture__highlight strong { font-size:calc((0.95rem) * 1.125) !important; }
.nv-solution--career .career-culture__highlight span { font-size:calc((0.88rem) * 1.125) !important; }
.nv-solution--career .career-tech__tag { font-size:calc((0.85rem) * 1.125) !important; }
.nv-solution--career .career-timeline__dot span { font-size:calc((1.1rem) * 1.125) !important; }
.nv-solution--career .career-timeline__card h3 { font-size:calc((1.05rem) * 1.125) !important; }
.nv-solution--career .career-timeline__card p { font-size:calc((0.92rem) * 1.125) !important; }
@media (max-width: 768px) {
.nv-solution--career .career-stats__number { font-size:calc((2rem) * 1.125) !important; }
.nv-solution--career .career-stats__suffix { font-size:calc((1.4rem) * 1.125) !important; }
.nv-solution--career .career-stats__label { font-size:calc((0.82rem) * 1.125) !important; }
.nv-solution--career .career-parallax__quote { font-size:calc((clamp(1.1rem, 4vw, 1.6rem)) * 1.125) !important; }
.nv-solution--career .career-timeline__dot span { font-size:calc((0.95rem) * 1.125) !important; }
.nv-solution--career .career-timeline__card h3 { font-size:calc((0.98rem) * 1.125) !important; }
.nv-solution--career .career-timeline__card p { font-size:calc((0.88rem) * 1.125) !important; }
.nv-solution--career .job-rodo-note p { font-size:calc((0.85rem) * 1.125) !important; }
}
@media (max-width: 480px) {
.nv-solution--career .career-hero__title { font-size:calc((1.8rem) * 1.125) !important; }
.nv-solution--career .career-hero__desc { font-size:calc((0.95rem) * 1.125) !important; }
.nv-solution--career .career-stats__number { font-size:calc((1.7rem) * 1.125) !important; }
.nv-solution--career .career-perk h3 { font-size:calc((1rem) * 1.125) !important; }
.nv-solution--career .career-perk p { font-size:calc((0.88rem) * 1.125) !important; }
.nv-solution--career .career-tech__tag { font-size:calc((0.8rem) * 1.125) !important; }
.nv-solution--career .career-culture__highlight strong { font-size:calc((0.9rem) * 1.125) !important; }
.nv-solution--career .career-culture__highlight span { font-size:calc((0.84rem) * 1.125) !important; }
}
@media (max-width: 600px) {
.nv-solution--career .sub-block__title { font-size:calc((1.3rem) * 1.125) !important; }
}

/* Legal information: a focused two-column document layout. */
.nv-rodo-info { padding:60px 0; background:#fff; }
.nv-rodo-info__grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:start; gap:42px 70px; }
.nv-rodo-info__intro h2 { font-size:clamp(1.95rem,2.9vw,2.75rem); line-height:1.2; margin:22px 0; }
.nv-rodo-info p { margin:0; color:var(--solution-muted); font-size:1.04rem; line-height:1.75; }
.nv-rodo-document { padding:30px; border:1px solid #d5e7dc; border-top:3px solid var(--solution-green); background:#f7faf8; }
.nv-rodo-document__icon { width:52px; height:52px; display:grid; place-items:center; color:var(--solution-blue); border:1px solid var(--solution-green); margin-bottom:22px; }
.nv-rodo-document h3 { margin:12px 0; font-size:1.35rem; line-height:1.35; }
.nv-rodo-document p:last-child { margin-top:22px; }
.nv-rodo-document .sub-cta__btn { display:inline-flex; align-items:center; gap:18px; margin:0; padding:13px 22px; background:var(--solution-green); color:var(--solution-navy); font-size:1rem; font-weight:400; box-shadow:none; }
.nv-rodo-document .sub-cta__btn::after { content:'↓'; }
.nv-rodo-contact { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:60px; padding-top:30px; border-top:1px solid #d5e7dc; align-items:center; }
.nv-rodo-contact h3 { margin:14px 0 0; font-size:1.4rem; }
@media(max-width:800px) { .nv-rodo-info__grid,.nv-rodo-contact { grid-template-columns:1fr; gap:26px; } .nv-rodo-info { padding:42px 0; } .nv-rodo-document { padding:24px; } }

/* Original Junior artwork composed within the shared NOVUM hero. */
.nv-solution .nv-junior-hero-v2 { min-height:450px; height:auto; max-height:none; padding:86px 0 50px; background:#002d4a; border-top:3px solid var(--solution-green); align-items:center; }
.nv-junior-hero-v2::before { display:none; }
.nv-solution .nv-junior-hero-v2 .subpage-hero__bg { opacity:1; animation:none; filter:none; background-size:auto 94% !important; background-position:right max(24px,calc((100vw - 1190px)/2)) center !important; background-color:#004672; }
.nv-solution .nv-junior-hero-v2 .subpage-hero__bg::after { background:linear-gradient(90deg,#002d4a 0%,#002d4a 35%,rgba(0,45,74,.93) 45%,rgba(0,45,74,.25) 66%,rgba(0,45,74,0) 80%); }
.nv-junior-hero-v2 .subpage-hero__title { max-width:58%; }
.nv-junior-hero-v2 .subpage-hero__desc { max-width:49%; }
.nv-junior-hero-v2__savings { position:absolute; z-index:1; width:240px; height:auto; right:max(16px,calc((100vw - 1190px)/2 - 12px)); bottom:20px; filter:drop-shadow(0 7px 15px rgba(0,45,74,.18)); }
.nv-junior-phone { margin:30px auto 0; width:min(100%,390px); }
.nv-junior-phone img { display:block; width:100%; height:auto; }
.nv-junior-site, .nv-dedicated-site { background:#f5faf7; padding:48px 0; border-top:1px solid #d5e7dc; }
.nv-junior-site__grid, .nv-dedicated-site__grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:42px; align-items:center; }
.nv-junior-site h2, .nv-dedicated-site h2 { margin:17px 0; font-size:clamp(1.8rem,2.5vw,2.6rem); line-height:1.2; }
.nv-junior-site p, .nv-dedicated-site p { color:var(--solution-muted); font-size:1.04rem; line-height:1.7; max-width:570px; margin:0; }
.nv-junior-site a, .nv-dedicated-site a { display:inline-flex; align-items:center; gap:24px; padding:16px 22px; background:var(--solution-green); color:var(--solution-navy); font-size:1rem; font-weight:400; text-decoration:none; }
.nv-junior-site a:hover, .nv-dedicated-site a:hover { background:#35d17d; }
.nv-junior-site a:focus-visible, .nv-dedicated-site a:focus-visible { outline:2px solid var(--solution-blue); outline-offset:4px; }
@media(max-width:800px) {
 .nv-junior-hero-v2 .subpage-hero__title,.nv-junior-hero-v2 .subpage-hero__desc { max-width:100%; }
 .nv-junior-hero-v2__savings { width:165px; right:calc(50% - 157px); bottom:17px; }
 .nv-junior-phone { width:min(100%,320px); margin-top:24px; }
 .nv-junior-site__grid, .nv-dedicated-site__grid { grid-template-columns:1fr; gap:24px; }
 .nv-junior-site a, .nv-dedicated-site a { width:fit-content; max-width:100%; white-space:normal; }
}

/* Related solutions follow the primary contact action and use compact links. */
.nv-solution__cta + .nv-solution__ecosystem { padding-block:clamp(32px,3vw,48px); }
.nv-solution__cta + .nv-solution__ecosystem .nv-product-related-head h2 { font-size:clamp(1.45rem,2vw,2rem); margin:18px 0 24px; }
.nv-solution__cta + .nv-solution__ecosystem .nv-product-related a { min-height:64px; padding:18px 22px; font-size:.94rem; }

/* Calm Junior photography: same full-width hero language as other products. */
.nv-solution .nv-junior-hero-v2 .subpage-hero__bg { inset:0; width:100%; height:100%; background-size:auto 100% !important; background-position:right center !important; background-color:#002d4a; filter:saturate(.62); }
.nv-solution .nv-junior-hero-v2 .subpage-hero__bg::after { background:linear-gradient(90deg,rgba(0,45,74,.8),rgba(0,45,74,.62) 42%,rgba(0,45,74,.3) 72%,rgba(0,45,74,.3)); }
.nv-solution--junior .nv-solution__opening .nv-solution__media { max-width:390px; justify-self:center; }
.nv-solution--junior .nv-solution__opening .nv-solution__media img { filter:none; }
@media(max-width:800px) {
}

.nv-solution__cta + .nv-solution__ecosystem .nv-solution__ecosystem-side { height:220px; }
.nv-solution__cta + .nv-solution__ecosystem .nv-solution__ecosystem-core { min-height:220px; padding:24px; }
.nv-solution__cta + .nv-solution__ecosystem .nv-solution__ecosystem-core strong { font-size:1.5rem; }
@media(max-width:800px) { .nv-solution__cta + .nv-solution__ecosystem .nv-solution__ecosystem-side { height:auto; } }

/* Goal completion: centered dialog and a full-screen NOVUM pixel burst. */
.nv-junior-success { position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:20px; border:0; background:transparent; color:#002d4a; overflow:hidden; }
.nv-junior-success[open] { display:grid; place-items:center; }
.nv-junior-success::backdrop { background:rgba(0,45,74,.38); backdrop-filter:blur(3px); }
.nv-junior-success__particles { position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:2; }
.nv-junior-success__pixel { position:absolute; left:50%; top:50%; pointer-events:none; }
.nv-junior-success__card { position:relative; z-index:3; width:min(100%,480px); padding:44px 32px 32px; background:#fff; border-top:4px solid #24c571; text-align:center; box-shadow:0 20px 80px rgba(0,45,74,.24); animation:junior-success-enter .4s ease-out both; }
.nv-junior-success__badge { display:grid; place-items:center; width:64px; height:64px; margin:0 auto 20px; background:#eaf8f0; color:#138447; font-size:36px; }
.nv-junior-success__card h2 { margin:0 0 14px; color:#004672; font-size:clamp(2rem,5vw,2.8rem); line-height:1.2; }
.nv-junior-success__card p { margin:0 0 28px; color:#53657a; font-size:1.1rem; line-height:1.65; }
.nv-junior-success__card button { border:0; padding:14px 24px; background:#24c571; color:#002d4a; font:inherit; font-weight:600; cursor:pointer; }
.nv-junior-success__card .nv-junior-success__close { position:absolute; top:8px; right:10px; background:transparent; font-size:28px; padding:4px 12px; }
.nv-junior-success__card button:focus-visible { outline:3px solid #004672; outline-offset:4px; }
@keyframes junior-success-enter { from { opacity:0; transform:scale(.88); } to { opacity:1; transform:scale(1); } }
@media(prefers-reduced-motion:reduce) { .nv-junior-success__card { animation:none; } }

/* Novum Host: keep the complete monitoring illustration visible in the hero. */
@media(min-width:801px) {
 .page-id-7 .subpage-hero__bg { background-size:auto 100% !important; background-position:right center !important; background-repeat:no-repeat; background-color:#002d4a; }
}

/* Junior: solid navy flows seamlessly into the photographic right side. */
.nv-solution .nv-junior-hero-v2 .subpage-hero__bg { filter:none; background-color:#002d4a; }
.nv-solution .nv-junior-hero-v2 .subpage-hero__bg::after { background:linear-gradient(90deg,#002d4a 0%,#002d4a 48%,rgba(0,45,74,.98) 60%,rgba(0,45,74,.48) 77%,rgba(0,45,74,.25) 100%); }
.nv-junior-success__foreground { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:4; }

/* Novum HOST: deployment scale, paired with the opening story. */
.nv-solution--novum-host .nv-host-scale { display:flex; align-items:center; gap:24px; margin-top:28px; padding-top:22px; border-top:2px solid var(--solution-green); }
.nv-solution--novum-host .nv-host-scale strong { font-size:clamp(2.8rem,4vw,4rem); line-height:1; color:var(--solution-blue); letter-spacing:-.04em; }
.nv-solution--novum-host .nv-host-scale strong span { color:var(--solution-green); }
.nv-solution--novum-host .nv-host-scale p { margin:0; font-size:1rem; line-height:1.55; }
@media(max-width:480px) { .nv-solution--novum-host .nv-host-scale { gap:18px; align-items:flex-start; } }

.nv-junior-phone figcaption { margin-top:12px; color:var(--solution-muted); font-size:.8rem; line-height:1.5; text-align:center; }

/* Junior uses the same mobile hero geometry as the other banking pages. */
@media (max-width:768px) {
 body .nv-solution .nv-junior-hero-v2 {
  height:auto; min-height:410px; max-height:none;
  padding:100px 0 36px; align-items:center; border-top:0;
 }
 .nv-junior-hero-v2 .subpage-hero__title,
 .nv-junior-hero-v2 .subpage-hero__desc { max-width:100%; }
 body .nv-solution .nv-junior-hero-v2 .subpage-hero__bg {
  inset:0; width:100%; height:100%; aspect-ratio:auto; mask-image:none;
  background-size:cover !important; background-position:100% 0% !important;
 }
 body .nv-solution .nv-junior-hero-v2 .subpage-hero__bg::after {
  background:linear-gradient(90deg,rgba(0,31,53,.82),rgba(0,55,90,.68)),
   linear-gradient(0deg,rgba(2,25,43,.4),transparent 65%);
 }
}

/* Native editor choice: content keeps its full width when an icon is omitted. */
.nv-solution__feature.nv-solution__feature--no-icon { grid-template-columns: minmax(0, 1fr); }
