/* ============================================================
   NOVARIC® Partnership Gateway — Page-Specific Styles
   Token: 20260826a
   Scope: .nv-partners-page (applied to <main id="main">)
   DO NOT use selectors here that will affect:
     governance-document pages, governance hub, footer,
     other landing pages, jobs hub, academy, real estate.
   ============================================================ */

/* ── Local design tokens ─────────────────────────────────────
   Aliases from global design-tokens.css; redeclared here so
   this file is self-contained and readable.
   ──────────────────────────────────────────────────────────── */
.nv-partners-page {
  --pg-navy:        #30384B;
  --pg-teal:        #0B6B73;
  --pg-teal-soft:   #E8F4F3;
  --pg-teal-mid:    #0a5d64;
  --pg-blue:        #0072A9;
  --pg-bg:          #F6F7F5;
  --pg-white:       #FFFFFF;
  --pg-text:        #30384B;
  --pg-muted:       #4D5A6B;
  --pg-border:      #D9DFE7;
  --pg-red:         #9F2D38;
  --pg-red-soft:    #FBEDEF;
  --pg-focus:       #0072A9;
  --pg-section-v:   clamp(3.5rem, 7vw, 6rem);
  --pg-container:   1200px;
  --pg-radius:      10px;
  --pg-radius-sm:   6px;
  --pg-shadow-sm:   0 1px 4px rgba(0,0,0,.07);
  --pg-shadow-md:   0 3px 14px rgba(0,0,0,.09);
  --pg-transition:  .17s ease;
}

/* ── Section rhythm ──────────────────────────────────────────── */
.nv-partners-section {
  padding-block: var(--pg-section-v);
}
.nv-partners-section--tinted  { background: var(--pg-bg); }
.nv-partners-section--teal    { background: var(--pg-teal-soft); }
.nv-partners-section--navy    { background: var(--pg-navy); color: #fff; }
.nv-partners-section--alert   { background: var(--pg-red-soft); }

/* Inner container */
.nv-partners-wrap {
  max-width: var(--pg-container);
  margin-inline: auto;
  padding-inline: clamp(18px, 4vw, 48px);
}
.nv-partners-wrap--narrow {
  max-width: 860px;
}

/* Section header group */
.nv-partners-hd {
  margin-bottom: clamp(1.75rem, 3vw, 2.75rem);
}
.nv-partners-eyebrow {
  display: block;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--pg-teal);
  margin: 0 0 .5rem;
}
.nv-partners-section--navy .nv-partners-eyebrow {
  color: rgba(255,255,255,.65);
}
.nv-partners-hd h2 {
  font-size: clamp(1.7rem, 3.2vw, 2.6rem);
  font-weight: 700;
  color: var(--pg-navy);
  line-height: 1.1;
  margin: 0 0 .7rem;
  letter-spacing: -.02em;
}
.nv-partners-section--navy .nv-partners-hd h2 { color: #fff; }
.nv-partners-lead {
  font-size: clamp(.95rem, 1.4vw, 1.08rem);
  color: var(--pg-muted);
  line-height: 1.72;
  max-width: 68ch;
  margin: 0;
}
.nv-partners-section--navy .nv-partners-lead { color: rgba(255,255,255,.75); }

/* ── Breadcrumb override for partners page ───────────────────── */
.nv-partners-page .nv-breadcrumb {
  border-bottom: 1px solid var(--pg-border);
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  1. HERO                                                 ║
   ╚══════════════════════════════════════════════════════════╝ */
.nv-partners-hero {
  background: var(--pg-navy);
  padding-block: clamp(3.5rem, 8vw, 6.5rem);
  position: relative;
  overflow: hidden;
}
/* Geometric background detail */
.nv-partners-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 120% at 85% 50%, rgba(11,107,115,.18) 0%, transparent 60%),
    linear-gradient(135deg, rgba(11,107,115,.06) 0%, transparent 50%);
  pointer-events: none;
}
.nv-partners-hero__inner {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
  position: relative;
}
.nv-partners-hero__copy {}
.nv-partners-hero__eyebrow {
  display: inline-block;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--pg-teal);
  background: rgba(11,107,115,.15);
  border: 1px solid rgba(11,107,115,.30);
  border-radius: 3px;
  padding: .28rem .7rem;
  margin-bottom: 1.25rem;
}
.nv-partners-hero h1 {
  font-size: clamp(2.25rem, 5vw, 4.25rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.03;
  letter-spacing: -.035em;
  margin: 0 0 1.1rem;
}
.nv-partners-hero__lead {
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  color: rgba(255,255,255,.80);
  line-height: 1.7;
  max-width: 56ch;
  margin: 0 0 2rem;
}
.nv-partners-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
}
.nv-partners-hero__links {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  margin-top: 1.5rem;
}
.nv-partners-hero__link {
  font-size: .82rem;
  color: rgba(255,255,255,.60);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  transition: color var(--pg-transition);
}
.nv-partners-hero__link:hover { color: rgba(255,255,255,.90); }
.nv-partners-hero__link::after { content: ' →'; }

/* Assurance panel */
.nv-partners-hero__panel {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: var(--pg-radius);
  padding: 1.75rem;
  backdrop-filter: blur(4px);
}
.nv-partners-hero__panel-title {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--pg-teal);
  margin: 0 0 1.15rem;
}
.nv-partners-hero__principles {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.nv-partners-hero__principle {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
}
.nv-partners-hero__principle-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--pg-teal);
  margin-top: .1rem;
}
.nv-partners-hero__principle-text {
  font-size: .88rem;
  color: rgba(255,255,255,.82);
  line-height: 1.5;
}
.nv-partners-hero__principle-text strong {
  display: block;
  color: #fff;
  font-weight: 600;
  font-size: .9rem;
  margin-bottom: .1rem;
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  2. PATHWAY NAVIGATION                                   ║
   ╚══════════════════════════════════════════════════════════╝ */
.nv-partners-pathway {
  background: var(--pg-white);
  border-bottom: 2px solid var(--pg-border);
  position: sticky;
  top: 0;
  z-index: 50;
}
.nv-partners-pathway__inner {
  display: flex;
  align-items: center;
  overflow-x: auto;
  scrollbar-width: none;
  gap: 0;
}
.nv-partners-pathway__inner::-webkit-scrollbar { display: none; }
.nv-partners-pathway__item {
  display: inline-flex;
  align-items: center;
  padding: .85rem 1.1rem;
  font-size: .82rem;
  font-weight: 600;
  color: var(--pg-muted);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color var(--pg-transition), border-color var(--pg-transition);
  min-height: 44px;
}
.nv-partners-pathway__item:hover {
  color: var(--pg-navy);
  border-bottom-color: var(--pg-border);
}
.nv-partners-pathway__item.is-active,
.nv-partners-pathway__item[aria-current="true"] {
  color: var(--pg-teal);
  border-bottom-color: var(--pg-teal);
}
.nv-partners-pathway__item:focus-visible {
  outline: 3px solid var(--pg-focus);
  outline-offset: -3px;
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  3. PARTNERSHIP OPPORTUNITY CARDS                        ║
   ╚══════════════════════════════════════════════════════════╝ */
.nv-partners-opps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.nv-partners-opp-card {
  display: flex;
  flex-direction: column;
  background: var(--pg-white);
  border: 1px solid var(--pg-border);
  border-radius: var(--pg-radius);
  overflow: hidden;
  transition: box-shadow var(--pg-transition), border-color var(--pg-transition),
              transform var(--pg-transition);
}
.nv-partners-opp-card:hover {
  border-color: var(--pg-teal);
  box-shadow: var(--pg-shadow-md);
  transform: translateY(-2px);
}
.nv-partners-opp-card__stripe {
  height: 4px;
  background: var(--pg-teal);
}
.nv-partners-opp-card__body {
  flex: 1;
  padding: 1.5rem 1.5rem 1rem;
}
.nv-partners-opp-card__icon {
  width: 40px;
  height: 40px;
  background: var(--pg-teal-soft);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  color: var(--pg-teal);
  flex-shrink: 0;
}
.nv-partners-opp-card__icon svg {
  width: 22px;
  height: 22px;
}
.nv-partners-opp-card__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--pg-navy);
  line-height: 1.3;
  margin: 0 0 .65rem;
}
.nv-partners-opp-card__desc {
  font-size: .88rem;
  color: var(--pg-muted);
  line-height: 1.65;
  margin: 0;
}
.nv-partners-opp-card__footer {
  padding: .85rem 1.5rem 1.1rem;
  border-top: 1px solid var(--pg-border);
}
.nv-partners-opp-card__link {
  font-size: .82rem;
  font-weight: 700;
  color: var(--pg-blue);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  transition: color var(--pg-transition);
}
.nv-partners-opp-card__link::after { content: ' →'; }
.nv-partners-opp-card__link:hover { color: var(--pg-teal); }
.nv-partners-opp-card__link:focus-visible {
  outline: 3px solid var(--pg-focus);
  outline-offset: 2px;
  border-radius: 2px;
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  4. APPROVAL LIFECYCLE — SIX STAGES                      ║
   ╚══════════════════════════════════════════════════════════╝ */
.nv-partners-lifecycle-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: stage;
}
.nv-partners-stage {
  background: var(--pg-white);
  border: 1px solid var(--pg-border);
  border-radius: var(--pg-radius);
  padding: 1.5rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.nv-partners-stage__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--pg-teal);
  color: #fff;
  border-radius: 50%;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .04em;
  flex-shrink: 0;
  margin-bottom: .35rem;
}
.nv-partners-stage__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--pg-navy);
  margin: 0 0 .5rem;
  line-height: 1.25;
}
.nv-partners-stage__body {
  font-size: .85rem;
  color: var(--pg-muted);
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  gap: .3rem;
}
.nv-partners-stage__body p { margin: 0; }
.nv-partners-stage__body strong { color: var(--pg-navy); }
.nv-partners-stage__body a {
  color: var(--pg-blue);
  text-underline-offset: 2px;
}
/* Final stage — full activation */
.nv-partners-stage--active {
  border-color: var(--pg-teal);
  background: var(--pg-teal-soft);
}
.nv-partners-stage--active .nv-partners-stage__num {
  background: var(--pg-teal-mid);
}
/* Approval notice callout */
.nv-partners-approval-note {
  margin-top: 1.75rem;
  padding: 1.1rem 1.4rem;
  background: rgba(11,107,115,.07);
  border: 1px solid rgba(11,107,115,.22);
  border-left: 4px solid var(--pg-teal);
  border-radius: var(--pg-radius-sm);
  display: flex;
  gap: .85rem;
  align-items: flex-start;
}
.nv-partners-approval-note__icon {
  color: var(--pg-teal);
  flex-shrink: 0;
  margin-top: .1rem;
}
.nv-partners-approval-note__text {
  font-size: .9rem;
  color: var(--pg-navy);
  line-height: 1.6;
  margin: 0;
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  5. WHY PARTNER — SPLIT LAYOUT                           ║
   ╚══════════════════════════════════════════════════════════╝ */
.nv-partners-benefits-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: start;
}
.nv-partners-benefits-intro {}
.nv-partners-benefits-intro h2 {
  font-size: clamp(1.7rem, 3.2vw, 2.6rem);
  font-weight: 700;
  color: var(--pg-navy);
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0 0 .8rem;
}
.nv-partners-benefits-intro p {
  font-size: clamp(.92rem, 1.3vw, 1.05rem);
  color: var(--pg-muted);
  line-height: 1.72;
  margin: 0 0 1rem;
}
.nv-partners-benefits-intro p:last-of-type {
  margin-bottom: 1.5rem;
}
.nv-partners-benefits-intro a {
  font-size: .88rem;
  font-weight: 700;
  color: var(--pg-blue);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
}
.nv-partners-benefits-intro a::after { content: ' →'; }
.nv-partners-benefits-intro a:hover { color: var(--pg-teal); }

.nv-partners-benefits-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  border: 1px solid var(--pg-border);
  border-radius: var(--pg-radius);
  overflow: hidden;
  background: var(--pg-border);
}
.nv-partners-benefit {
  background: var(--pg-white);
  padding: 1.2rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.nv-partners-benefit:hover {
  background: var(--pg-teal-soft);
}
.nv-partners-benefit__icon {
  color: var(--pg-teal);
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-bottom: .1rem;
}
.nv-partners-benefit__title {
  font-size: .9rem;
  font-weight: 700;
  color: var(--pg-navy);
  line-height: 1.3;
  margin: 0;
}
.nv-partners-benefit__desc {
  font-size: .82rem;
  color: var(--pg-muted);
  line-height: 1.6;
  margin: 0;
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  6. PARTNERSHIP ENQUIRY — TWO-COLUMN                     ║
   ╚══════════════════════════════════════════════════════════╝ */
.nv-partners-enquiry-layout {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}
.nv-partners-enquiry-context {}
.nv-partners-enquiry-context h2 {
  font-size: clamp(1.6rem, 2.8vw, 2.25rem);
  font-weight: 700;
  color: var(--pg-navy);
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0 0 .75rem;
}
.nv-partners-enquiry-context p {
  font-size: .92rem;
  color: var(--pg-muted);
  line-height: 1.7;
  margin: 0 0 1.1rem;
}
.nv-partners-enquiry-steps {
  list-style: none;
  margin: 1.5rem 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .8rem;
}
.nv-partners-enquiry-step {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  font-size: .88rem;
  color: var(--pg-muted);
  line-height: 1.55;
}
.nv-partners-enquiry-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  min-width: 22px;
  border-radius: 50%;
  background: var(--pg-teal);
  color: #fff;
  font-size: .65rem;
  font-weight: 800;
  flex-shrink: 0;
  margin-top: .05rem;
}
.nv-partners-enquiry-step strong { color: var(--pg-navy); }
.nv-partners-enquiry-note {
  font-size: .8rem;
  color: var(--pg-muted);
  border: 1px solid var(--pg-border);
  border-left: 3px solid var(--pg-teal);
  border-radius: var(--pg-radius-sm);
  padding: .75rem 1rem;
  margin-top: 1.25rem;
  line-height: 1.6;
}
.nv-partners-enquiry-note a {
  color: var(--pg-blue);
  text-underline-offset: 2px;
}
.nv-partners-enquiry-context-links {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  margin-top: 1.5rem;
}
.nv-partners-enquiry-context-links a {
  font-size: .83rem;
  font-weight: 600;
  color: var(--pg-blue);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .3rem;
}
.nv-partners-enquiry-context-links a::after { content: ' →'; }
.nv-partners-enquiry-context-links a:hover { color: var(--pg-teal); }

/* Form panel */
.nv-partners-form-panel {
  background: var(--pg-white);
  border: 1px solid var(--pg-border);
  border-radius: var(--pg-radius);
  padding: 2rem;
  box-shadow: var(--pg-shadow-md);
}
.nv-partners-form-panel .nv-form-group {
  margin-bottom: 1.1rem;
}
.nv-partners-form-panel .nv-label {
  display: block;
  font-size: .85rem;
  font-weight: 600;
  color: var(--pg-navy);
  margin-bottom: .35rem;
}
.nv-partners-form-panel .nv-input {
  width: 100%;
  box-sizing: border-box;
  font-size: .92rem;
  color: var(--pg-text);
  background: var(--pg-white);
  border: 1px solid var(--pg-border);
  border-radius: var(--pg-radius-sm);
  padding: .6rem .85rem;
  transition: border-color var(--pg-transition), box-shadow var(--pg-transition);
  font-family: inherit;
  appearance: none;
}
.nv-partners-form-panel .nv-input:focus {
  outline: none;
  border-color: var(--pg-teal);
  box-shadow: 0 0 0 3px rgba(11,107,115,.15);
}
.nv-partners-form-panel .nv-textarea {
  resize: vertical;
  min-height: 90px;
}
.nv-partners-form-panel .nv-field-hint {
  font-size: .78rem;
  color: var(--pg-muted);
  margin: .3rem 0 0;
  line-height: 1.5;
}
.nv-partners-form-panel .nv-required {
  color: var(--pg-red);
  font-weight: 700;
}
.nv-partners-form-panel .nv-form-group--fieldset {
  border: none;
  padding: 0;
  margin: 0 0 1.1rem;
}
.nv-partners-form-panel legend.nv-label {
  font-size: .85rem;
  font-weight: 600;
  color: var(--pg-navy);
  margin-bottom: .5rem;
  float: left;
  width: 100%;
}
.nv-partners-form-panel .nv-checkbox-group {
  margin-top: .55rem;
}
.nv-partners-form-panel .nv-checkbox-label {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  font-size: .83rem;
  color: var(--pg-muted);
  line-height: 1.6;
  cursor: pointer;
}
.nv-partners-form-panel .nv-checkbox {
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-top: .15rem;
  accent-color: var(--pg-teal);
  cursor: pointer;
}
.nv-partners-form-panel .nv-checkbox-label a {
  color: var(--pg-blue);
  text-underline-offset: 2px;
}
.nv-partners-form-panel .nv-form-submit {
  margin-top: 1.35rem;
}
.nv-partners-form-panel .nv-form-legal {
  font-size: .75rem;
  color: var(--pg-muted);
  line-height: 1.6;
  margin-top: .85rem;
}
.nv-partners-form-panel .nv-form-legal a {
  color: var(--pg-blue);
  text-underline-offset: 2px;
}

/* Enquiry callout (before-submit notice) */
.nv-partners-enquiry-notice {
  background: rgba(11,107,115,.07);
  border: 1px solid rgba(11,107,115,.22);
  border-left: 4px solid var(--pg-teal);
  border-radius: var(--pg-radius-sm);
  padding: .85rem 1.1rem;
  font-size: .82rem;
  color: var(--pg-navy);
  line-height: 1.6;
  margin-bottom: 1.25rem;
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  7. GOVERNANCE DOCUMENT COLLECTION                       ║
   ╚══════════════════════════════════════════════════════════╝ */
.nv-partners-doc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.1rem;
}
.nv-partners-doc-card {
  display: flex;
  flex-direction: column;
  background: var(--pg-white);
  border: 1px solid var(--pg-border);
  border-radius: var(--pg-radius);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: border-color var(--pg-transition), box-shadow var(--pg-transition);
}
.nv-partners-doc-card:hover {
  border-color: var(--pg-teal);
  box-shadow: var(--pg-shadow-md);
}
.nv-partners-doc-card:focus-visible {
  outline: 3px solid var(--pg-focus);
  outline-offset: 2px;
}
.nv-partners-doc-card__stripe {
  height: 3px;
  background: var(--pg-teal);
}
.nv-partners-doc-card__body {
  flex: 1;
  padding: 1.15rem 1.25rem .85rem;
}
.nv-partners-doc-card__meta {
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--pg-teal);
  margin-bottom: .4rem;
}
.nv-partners-doc-card__title {
  font-size: .95rem;
  font-weight: 700;
  color: var(--pg-navy);
  margin: 0 0 .5rem;
  line-height: 1.35;
}
.nv-partners-doc-card__desc {
  font-size: .82rem;
  color: var(--pg-muted);
  line-height: 1.6;
  margin: 0;
}
.nv-partners-doc-card__footer {
  padding: .55rem 1.25rem .75rem;
  border-top: 1px solid var(--pg-border);
  background: #FAFBFC;
}
.nv-partners-doc-card__cta {
  font-size: .78rem;
  font-weight: 700;
  color: var(--pg-blue);
  display: inline-flex;
  align-items: center;
  gap: .25rem;
}
.nv-partners-doc-card__cta::after { content: ' →'; }

/* ╔══════════════════════════════════════════════════════════╗
   ║  8. CANDIDATE & WORKER PROTECTION                        ║
   ╚══════════════════════════════════════════════════════════╝ */
.nv-partners-protection-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.1rem;
}
.nv-partners-protection-card {
  background: var(--pg-white);
  border: 1px solid var(--pg-border);
  border-radius: var(--pg-radius);
  padding: 1.4rem 1.5rem;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  transition: border-color var(--pg-transition);
}
.nv-partners-protection-card:hover {
  border-color: var(--pg-red);
}
.nv-partners-protection-card__icon {
  width: 36px;
  height: 36px;
  min-width: 36px;
  background: var(--pg-red-soft);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pg-red);
}
.nv-partners-protection-card__icon svg { width: 20px; height: 20px; }
.nv-partners-protection-card__body {}
.nv-partners-protection-card__title {
  font-size: .95rem;
  font-weight: 700;
  color: var(--pg-navy);
  margin: 0 0 .4rem;
}
.nv-partners-protection-card__desc {
  font-size: .85rem;
  color: var(--pg-muted);
  line-height: 1.6;
  margin: 0;
}
.nv-partners-protection-actions {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  9. FRAUD WARNING                                        ║
   ╚══════════════════════════════════════════════════════════╝ */
.nv-partners-fraud-header {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 1.75rem;
}
.nv-partners-fraud-header__icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  background: var(--pg-red);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}
.nv-partners-fraud-header__icon svg { width: 26px; height: 26px; }
.nv-partners-fraud-header__copy {}
.nv-partners-fraud-header__eyebrow {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--pg-red);
  margin: 0 0 .3rem;
}
.nv-partners-fraud-header__heading {
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 700;
  color: var(--pg-navy);
  margin: 0 0 .5rem;
  line-height: 1.1;
  letter-spacing: -.02em;
}
.nv-partners-fraud-header__lead {
  font-size: .92rem;
  color: var(--pg-muted);
  line-height: 1.7;
  margin: 0;
  max-width: 66ch;
}
.nv-partners-fraud-unauthorised {
  background: var(--pg-red-soft);
  border: 1px solid rgba(159,45,56,.25);
  border-left: 4px solid var(--pg-red);
  border-radius: var(--pg-radius-sm);
  padding: 1rem 1.25rem;
  font-size: .88rem;
  color: var(--pg-navy);
  line-height: 1.65;
  margin-bottom: 1.75rem;
}
.nv-partners-fraud-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin-bottom: 1.75rem;
}
.nv-partners-fraud-signs,
.nv-partners-fraud-safe {
  background: var(--pg-white);
  border: 1px solid var(--pg-border);
  border-radius: var(--pg-radius);
  padding: 1.3rem 1.4rem;
}
.nv-partners-fraud-signs { border-top: 3px solid var(--pg-red); }
.nv-partners-fraud-safe  { border-top: 3px solid var(--pg-teal); }
.nv-partners-fraud-signs h3,
.nv-partners-fraud-safe h3 {
  font-size: .82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin: 0 0 .85rem;
}
.nv-partners-fraud-signs h3 { color: var(--pg-red); }
.nv-partners-fraud-safe  h3 { color: var(--pg-teal); }
.nv-partners-fraud-signs ul,
.nv-partners-fraud-safe ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.nv-partners-fraud-signs li,
.nv-partners-fraud-safe li {
  font-size: .85rem;
  color: var(--pg-muted);
  line-height: 1.55;
  padding-left: 1.3rem;
  position: relative;
}
.nv-partners-fraud-signs li::before {
  content: '⚠';
  position: absolute;
  left: 0;
  color: var(--pg-red);
  font-size: .75rem;
}
.nv-partners-fraud-safe li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--pg-teal);
  font-weight: 700;
  font-size: .8rem;
}
.nv-partners-fraud-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  10. FAQ                                                 ║
   ╚══════════════════════════════════════════════════════════╝ */
.nv-partners-faq-list {
  max-width: 840px;
  margin: 0 auto;
}
.nv-partners-accordion {
  border: 1px solid var(--pg-border);
  border-radius: var(--pg-radius-sm);
  margin-bottom: .5rem;
  overflow: hidden;
  transition: border-color var(--pg-transition);
}
.nv-partners-accordion[open] {
  border-color: var(--pg-teal);
}
.nv-partners-accordion__trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1rem 1.25rem;
  background: var(--pg-white);
  border: none;
  cursor: pointer;
  font-size: .95rem;
  font-weight: 600;
  color: var(--pg-navy);
  text-align: left;
  gap: 1rem;
  min-height: 56px;
  font-family: inherit;
  line-height: 1.4;
}
.nv-partners-accordion__trigger:hover {
  background: var(--pg-bg);
}
.nv-partners-accordion[open] > .nv-partners-accordion__trigger {
  border-bottom: 1px solid var(--pg-border);
  color: var(--pg-teal);
}
.nv-partners-accordion__trigger:focus-visible {
  outline: 3px solid var(--pg-focus);
  outline-offset: -3px;
}
.nv-partners-accordion__icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border: 1.5px solid var(--pg-border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pg-muted);
  font-size: .9rem;
  font-style: normal;
  transition: background var(--pg-transition), color var(--pg-transition),
              border-color var(--pg-transition);
}
.nv-partners-accordion[open] .nv-partners-accordion__icon {
  background: var(--pg-teal);
  border-color: var(--pg-teal);
  color: #fff;
}
.nv-partners-accordion__body {
  padding: 1rem 1.25rem 1.1rem;
  font-size: .9rem;
  line-height: 1.7;
  color: var(--pg-muted);
}
.nv-partners-accordion__body p { margin: 0 0 .5rem; }
.nv-partners-accordion__body p:last-child { margin-bottom: 0; }
.nv-partners-accordion__body a { color: var(--pg-blue); text-underline-offset: 2px; }

/* ╔══════════════════════════════════════════════════════════╗
   ║  11. FINAL CTA — NAVY SECTION                            ║
   ╚══════════════════════════════════════════════════════════╝ */
.nv-partners-cta {
  background: var(--pg-navy);
  padding-block: clamp(3.5rem, 8vw, 6rem);
  position: relative;
  overflow: hidden;
  text-align: center;
}
.nv-partners-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 100% at 50% 100%, rgba(11,107,115,.22) 0%, transparent 65%);
  pointer-events: none;
}
.nv-partners-cta__inner {
  position: relative;
  max-width: 700px;
  margin-inline: auto;
}
.nv-partners-cta__eyebrow {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--pg-teal);
  margin: 0 0 .75rem;
}
.nv-partners-cta h2 {
  font-size: clamp(1.9rem, 4vw, 3rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.07;
  letter-spacing: -.03em;
  margin: 0 0 .9rem;
}
.nv-partners-cta__lead {
  font-size: clamp(.95rem, 1.4vw, 1.08rem);
  color: rgba(255,255,255,.72);
  line-height: 1.7;
  margin: 0 0 2rem;
}
.nv-partners-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: center;
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  BUTTON OVERRIDES (scoped to page)                       ║
   ╚══════════════════════════════════════════════════════════╝ */
.nv-partners-page .nv-btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .7rem 1.4rem;
  border-radius: var(--pg-radius-sm);
  font-size: .88rem;
  font-weight: 700;
  text-decoration: none;
  transition: background var(--pg-transition), color var(--pg-transition),
              border-color var(--pg-transition), box-shadow var(--pg-transition);
  cursor: pointer;
  border: 2px solid transparent;
  line-height: 1.3;
  min-height: 44px;
}
.nv-partners-page .nv-btn--primary {
  background: var(--pg-teal);
  color: #fff;
  border-color: var(--pg-teal);
}
.nv-partners-page .nv-btn--primary:hover {
  background: var(--pg-teal-mid);
  border-color: var(--pg-teal-mid);
  box-shadow: 0 2px 10px rgba(11,107,115,.35);
}
.nv-partners-page .nv-btn--ghost-light {
  background: transparent;
  color: rgba(255,255,255,.85);
  border-color: rgba(255,255,255,.35);
}
.nv-partners-page .nv-btn--ghost-light:hover {
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.60);
  color: #fff;
}
.nv-partners-page .nv-btn--secondary {
  background: var(--pg-white);
  color: var(--pg-navy);
  border-color: var(--pg-border);
}
.nv-partners-page .nv-btn--secondary:hover {
  border-color: var(--pg-teal);
  color: var(--pg-teal);
}
.nv-partners-page .nv-btn--danger {
  background: var(--pg-red);
  color: #fff;
  border-color: var(--pg-red);
}
.nv-partners-page .nv-btn--danger:hover {
  background: #861926;
  border-color: #861926;
}
.nv-partners-page .nv-btn:focus-visible {
  outline: 3px solid var(--pg-focus);
  outline-offset: 2px;
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  RESPONSIVE                                              ║
   ╚══════════════════════════════════════════════════════════╝ */
@media (max-width: 1100px) {
  .nv-partners-opps-grid { grid-template-columns: repeat(2, 1fr); }
  .nv-partners-lifecycle-grid { grid-template-columns: repeat(2, 1fr); }
  .nv-partners-benefits-grid { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
  .nv-partners-hero__inner {
    grid-template-columns: 1fr;
  }
  .nv-partners-hero__panel {
    display: none; /* hide assurance panel on tablet — re-show on >860 */
  }
  .nv-partners-benefits-layout {
    grid-template-columns: 1fr;
  }
  .nv-partners-enquiry-layout {
    grid-template-columns: 1fr;
  }
  .nv-partners-fraud-columns {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .nv-partners-opps-grid { grid-template-columns: 1fr; }
  .nv-partners-lifecycle-grid { grid-template-columns: 1fr; }
  .nv-partners-protection-layout { grid-template-columns: 1fr; }
  .nv-partners-hero__actions { flex-direction: column; }
  .nv-partners-hero__actions .nv-btn { width: 100%; justify-content: center; }
  .nv-partners-cta__actions { flex-direction: column; align-items: center; }
  .nv-partners-cta__actions .nv-btn { width: 100%; max-width: 320px; justify-content: center; }
  .nv-partners-protection-actions { flex-direction: column; }
  .nv-partners-protection-actions .nv-btn { width: 100%; justify-content: center; }
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  ACCESSIBILITY — focus & motion                          ║
   ╚══════════════════════════════════════════════════════════╝ */
@media (prefers-reduced-motion: reduce) {
  .nv-partners-opp-card,
  .nv-partners-stage,
  .nv-partners-doc-card,
  .nv-partners-protection-card,
  .nv-partners-accordion,
  .nv-partners-page .nv-btn {
    transition: none;
  }
  .nv-partners-opp-card:hover { transform: none; }
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  PRINT                                                   ║
   ╚══════════════════════════════════════════════════════════╝ */
@media print {
  .nv-partners-pathway { position: static; }
  .nv-partners-hero { background: none; color: #000; padding: 1rem 0; }
  .nv-partners-hero h1 { color: #000; }
  .nv-partners-hero__lead { color: #333; }
  .nv-partners-hero__panel { display: none; }
  .nv-partners-cta { background: none; color: #000; }
  .nv-partners-cta h2 { color: #000; }
  .nv-partners-opps-grid,
  .nv-partners-lifecycle-grid,
  .nv-partners-protection-layout,
  .nv-partners-fraud-columns { grid-template-columns: 1fr; }
  .nv-partners-opp-card,
  .nv-partners-stage,
  .nv-partners-protection-card { break-inside: avoid; }
  .nv-partners-accordion { display: block; }
  .nv-partners-accordion__body { display: block !important; }
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  PARTNERSHIP FORM — enhanced states                      ║
   ║  Token: 20260905a — appended to partners-gateway.css     ║
   ╚══════════════════════════════════════════════════════════╝ */

/* ── Checkbox layout fix (consent overflow) ──────────────────
   Replaces flex-based layout with grid so label text can never
   escape its column at any viewport width.
   ──────────────────────────────────────────────────────────── */
.nv-partners-form-panel .nv-checkbox-label {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: .65rem;
  align-items: start;
  cursor: pointer;
}
.nv-partners-form-panel .nv-checkbox-label span {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* ── Error state ─────────────────────────────────────────────── */
.nv-partners-form-panel .nv-input.nv-input--error {
  border-color: var(--pg-red);
  box-shadow: 0 0 0 3px rgba(159,45,56,.12);
}
.nv-partners-form-panel .nv-field-error {
  font-size: .78rem;
  color: var(--pg-red);
  margin: .3rem 0 0;
  line-height: 1.5;
}
.nv-partners-form-panel .nv-field-error:not([hidden])::before {
  content: '⚠ ';
}
.nv-form-opt {
  font-weight: 400;
  font-size: .78rem;
  color: var(--pg-muted);
}

/* ── Character counters ──────────────────────────────────────── */
.nv-char-counter {
  font-size: .72rem;
  color: var(--pg-muted);
  text-align: right;
  margin: .2rem 0 0;
  line-height: 1.4;
}
.nv-char-counter--warn { color: #8B6914; font-weight: 600; }
.nv-char-counter--limit { color: var(--pg-red); font-weight: 700; }

/* ── Category guidance callout ───────────────────────────────── */
.nv-partners-cat-guidance {
  background: rgba(11,107,115,.07);
  border: 1px solid rgba(11,107,115,.22);
  border-left: 4px solid var(--pg-teal);
  border-radius: var(--pg-radius-sm);
  padding: .7rem 1rem;
  font-size: .8rem;
  color: var(--pg-navy);
  line-height: 1.65;
  margin-top: .45rem;
  display: none;
}
.nv-partners-cat-guidance.is-visible { display: block; }

/* ── Error summary ───────────────────────────────────────────── */
.nv-error-summary {
  background: var(--pg-red-soft);
  border: 1px solid rgba(159,45,56,.28);
  border-left: 4px solid var(--pg-red);
  border-radius: var(--pg-radius-sm);
  padding: .85rem 1.1rem;
  margin-bottom: 1.25rem;
  display: none;
}
.nv-error-summary.is-visible { display: block; }
.nv-error-summary__heading {
  font-size: .87rem;
  font-weight: 700;
  color: var(--pg-red);
  margin: 0 0 .5rem;
}
.nv-error-summary ul {
  margin: 0;
  padding-left: 1.2rem;
  font-size: .82rem;
  color: var(--pg-navy);
}
.nv-error-summary ul li { margin-bottom: .2rem; }
.nv-error-summary a { color: var(--pg-red); }

/* ── Inline form status ──────────────────────────────────────── */
.nv-form-status {
  border-radius: var(--pg-radius-sm);
  padding: .85rem 1.1rem;
  font-size: .87rem;
  line-height: 1.6;
  margin-top: 1rem;
  display: none;
}
.nv-form-status.is-visible { display: block; }
.nv-form-status--success {
  background: rgba(11,107,115,.09);
  border: 1px solid rgba(11,107,115,.3);
  color: var(--pg-navy);
}
.nv-form-status--error {
  background: var(--pg-red-soft);
  border: 1px solid rgba(159,45,56,.28);
  color: var(--pg-navy);
}
.nv-form-status--ratelimit {
  background: #FFF8E1;
  border: 1px solid #F0C040;
  color: #5A4500;
}

/* ── Phone composite field ───────────────────────────────────── */
.nv-field-phone {
  display: flex;
  gap: .5rem;
  align-items: stretch;
}
.nv-field-phone select {
  flex: 0 0 auto;
  width: auto;
  min-width: 9rem;
  max-width: 12rem;
}
.nv-field-phone input {
  flex: 1 1 0;
  min-width: 0;
  width: 100%;
}

/* ── Success card (replaces form on confirmed submission) ─────── */
.nv-form-success-card {
  padding: 2rem 1.5rem;
  text-align: center;
}
.nv-form-success-card__icon {
  width: 56px;
  height: 56px;
  background: rgba(11,107,115,.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.25rem;
  color: var(--pg-teal);
  font-size: 1.6rem;
}
.nv-form-success-card h3 {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--pg-navy);
  margin: 0 0 .5rem;
}
.nv-form-success-card p {
  font-size: .9rem;
  color: var(--pg-muted);
  line-height: 1.7;
  margin: 0 0 .75rem;
}
.nv-form-success-card__ref {
  font-family: monospace;
  font-weight: 700;
  font-size: .95rem;
  color: var(--pg-teal);
  background: rgba(11,107,115,.08);
  border: 1px solid rgba(11,107,115,.22);
  border-radius: 4px;
  padding: .4rem .85rem;
  display: inline-block;
  margin: .5rem 0 1rem;
  cursor: pointer;
  transition: background var(--pg-transition);
}
.nv-form-success-card__ref:hover { background: rgba(11,107,115,.15); }
.nv-form-success-card__links {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  font-size: .83rem;
  margin-top: 1rem;
}
.nv-form-success-card__links a { color: var(--pg-blue); }

/* ── Submit button — partnership teal ───────────────────────── */
.nv-partners-form-panel .nv-btn--partner-submit {
  background: var(--pg-teal);
  color: #fff;
  border: 2px solid var(--pg-teal);
  border-radius: 8px;
  width: 100%;
  justify-content: center;
  font-size: .97rem;
  font-weight: 700;
  padding: .85rem 1.5rem;
  min-height: 48px;
  cursor: pointer;
  transition: background var(--pg-transition), border-color var(--pg-transition);
  display: flex;
  align-items: center;
}
.nv-partners-form-panel .nv-btn--partner-submit:hover:not(:disabled) {
  background: var(--pg-teal-mid);
  border-color: var(--pg-teal-mid);
}
.nv-partners-form-panel .nv-btn--partner-submit:focus-visible {
  outline: 2px solid var(--pg-focus);
  outline-offset: 2px;
}
.nv-partners-form-panel .nv-btn--partner-submit:disabled {
  opacity: .62;
  cursor: not-allowed;
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  OVERFLOW FIX — 2026-09-05b                              ║
   ║  Grid items need min-width:0; inline-flex links          ║
   ║  must become flex to allow wrapping.                     ║
   ╚══════════════════════════════════════════════════════════╝ */

/* Fix 1: grid item containment — prevents content blowout */
.nv-partners-enquiry-layout > * {
  min-width: 0;
  overflow-x: hidden;
}

/* Fix 2: context links — was inline-flex (no wrap); now flex */
.nv-partners-enquiry-context-links a {
  display: flex;
  white-space: normal;
  word-break: break-word;
}

/* Fix 3: step text — ensure long sentences wrap in flex row */
.nv-partners-enquiry-step > span:last-child {
  min-width: 0;
  overflow-wrap: break-word;
}

/* Fix 4: enquiry note — long sentences wrap */
.nv-partners-enquiry-note {
  overflow-wrap: break-word;
  word-break: break-word;
}

/* Fix 5: form panel — clip any internal overflow */
.nv-partners-form-panel {
  overflow-x: hidden;
}

/* Fix 6: phone composite — prevent select from forcing width */
@media (max-width: 480px) {
  .nv-field-phone {
    flex-direction: column;
  }
  .nv-field-phone select {
    width: 100%;
    max-width: none;
  }
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  CONSENT FIELDSET FIX — 2026-09-05c                     ║
   ║  1. Remove overflow-x:hidden from grid items (coerces   ║
   ║     overflow-y:auto, clips fieldset content).            ║
   ║  2. Fix legend float (pushes content down in fieldset).  ║
   ║  3. Revert checkbox-label to clean flex so span wraps.   ║
   ╚══════════════════════════════════════════════════════════╝ */

/* Fix 1 — remove overflow-x:hidden from grid items; min-width:0 is enough */
.nv-partners-enquiry-layout > * {
  overflow-x: visible;
  overflow-y: visible;
}

/* Fix 2 — form panel: use overflow:visible so fieldset content is never clipped */
.nv-partners-form-panel {
  overflow-x: visible;
  overflow-y: visible;
  overflow: visible;
}

/* Fix 3 — legend: remove float so fieldset clears correctly */
.nv-partners-form-panel legend.nv-label {
  float: none;
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: .75rem;
  clear: both;
}

/* Fix 4 — checkbox-label: flex (not grid) with proper span containment */
.nv-partners-form-panel .nv-checkbox-label {
  display: flex;
  flex-wrap: nowrap;
  gap: .65rem;
  align-items: flex-start;
  cursor: pointer;
  font-size: .83rem;
  color: var(--pg-muted);
  line-height: 1.6;
}
.nv-partners-form-panel .nv-checkbox-label .nv-checkbox {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-top: .18rem;
}
.nv-partners-form-panel .nv-checkbox-label > span {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* Fix 5 — fieldset: ensure it stretches to contain its children */
.nv-partners-form-panel .nv-form-group--fieldset {
  width: 100%;
  box-sizing: border-box;
  overflow: visible;
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  GUIDED ENQUIRY CARD — 2026-09-06a                       ║
   ╚══════════════════════════════════════════════════════════╝ */

/* Right-column wrapper */
.nv-partners-right-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}

/* Card shell */
.nv-partners-widget-card {
  background: #fff;
  border-radius: 16px;
  border: 1px solid var(--pg-border);
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(27,42,59,.08);
  display: flex;
  flex-direction: column;
}

/* Top coral stripe */
.nv-partners-widget-card__top-accent {
  height: 4px;
  background: linear-gradient(90deg, #C84A3E 0%, #A63C3C 100%);
  flex-shrink: 0;
}

/* Bottom navy tint stripe */
.nv-partners-widget-card__bottom-accent {
  height: 4px;
  background: rgba(27,42,59,.06);
  flex-shrink: 0;
}

/* Body */
.nv-partners-widget-card__body {
  padding: 1.75rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* RECOMMENDED badge */
.nv-partners-widget-card__badge {
  display: inline-block;
  background: rgba(200,74,62,.12);
  color: #C84A3E;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  border-radius: 12px;
  padding: .3rem .85rem;
  width: fit-content;
}

/* Heading */
.nv-partners-widget-card__title {
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--pg-navy);
  line-height: 1.15;
  letter-spacing: -.02em;
  margin: 0;
}

/* Description */
.nv-partners-widget-card__desc {
  font-size: .86rem;
  color: rgba(48,56,75,.65);
  line-height: 1.7;
  margin: 0;
}

/* Step timeline wrapper */
.nv-partners-widget-card__timeline {
  overflow-x: auto;
}

/* Horizontal track */
.nv-partners-widget-card__timeline-track {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0;
  min-width: 0;
}

/* Each step */
.nv-pw-timeline-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
  flex: 0 0 auto;
}

/* Step number dot */
.nv-pw-timeline-dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .7rem;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
}
.nv-pw-timeline-step--cyan .nv-pw-timeline-dot { background: #009AE4; }
.nv-pw-timeline-step--navy .nv-pw-timeline-dot { background: var(--pg-navy); }

/* Step label */
.nv-pw-timeline-label {
  font-size: .6rem;
  font-weight: 600;
  color: var(--pg-muted);
  text-align: center;
  white-space: nowrap;
}

/* Connector line between dots */
.nv-pw-timeline-connector {
  flex: 1 1 auto;
  height: 2px;
  background: #009AE4;
  margin-top: 13px; /* centres on dot */
  min-width: 14px;
}

/* Time badge */
.nv-partners-widget-card__time-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: var(--pg-bg);
  border: 1px solid var(--pg-border);
  border-radius: 14px;
  padding: .32rem .85rem;
  font-size: .75rem;
  font-weight: 600;
  color: var(--pg-muted);
  width: fit-content;
}

/* CTA link button */
.nv-partners-widget-card__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #C84A3E;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 0 1.5rem;
  font-size: .95rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  width: 100%;
  text-align: center;
  text-decoration: none;
  min-height: 52px;
  box-shadow: 0 4px 16px rgba(200,74,62,.2);
  transition: background 200ms ease-out, transform 200ms ease-out, box-shadow 200ms ease-out;
}
.nv-partners-widget-card__cta:hover {
  background: #A63C3C;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 12px 40px rgba(200,74,62,.25);
  text-decoration: none;
}
.nv-partners-widget-card__cta:focus-visible {
  outline: 2px solid #009AE4;
  outline-offset: 2px;
}

/* OR divider */
.nv-partners-or-divider {
  display: flex;
  align-items: center;
  gap: .75rem;
  font-size: .75rem;
  color: rgba(48,56,75,.5);
}
.nv-partners-or-divider::before,
.nv-partners-or-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--pg-border);
}

/* Contained form panel */
.nv-partners-right-col .nv-partners-form-panel {
  min-width: 0;
}
