/* immigration: accent is decorative; foreground is accessible text/focus. */
.rv-approved-light-immigration .rv-site-header__logo { width: clamp(15rem, 25vw, 20rem); max-width: 100%; height: auto; object-fit: contain; }
.rv-approved-light-immigration .rv-site-header__brand { max-width: calc(100% - 4rem); }
.rv-approved-light-immigration .rv-site-header { border-bottom: 3px solid #4D88BF; }
.rv-approved-light-immigration .rv-site-header__brand:focus-visible { outline-color: #245A88; }
/* insurance: accent is decorative; foreground is accessible text/focus. */
.rv-approved-light-insurance .rv-site-header__logo { width: clamp(15rem, 25vw, 20rem); max-width: 100%; height: auto; object-fit: contain; }
.rv-approved-light-insurance .rv-site-header__brand { max-width: calc(100% - 4rem); }
.rv-approved-light-insurance .rv-site-header { border-bottom: 3px solid #D2A64A; }
.rv-approved-light-insurance .rv-site-header__brand:focus-visible { outline-color: #785200; }
/* kiwisaver: accent is decorative; foreground is accessible text/focus. */
.rv-approved-light-kiwisaver .rv-site-header__logo { width: clamp(15rem, 25vw, 20rem); max-width: 100%; height: auto; object-fit: contain; }
.rv-approved-light-kiwisaver .rv-site-header__brand { max-width: calc(100% - 4rem); }
.rv-approved-light-kiwisaver .rv-site-header { border-bottom: 3px solid #5B9675; }
.rv-approved-light-kiwisaver .rv-site-header__brand:focus-visible { outline-color: #286043; }

/* The vertical lockups now use a white matte, so the shared brand link must not
 * reintroduce the previous warm rectangle behind the image. */
.rv-approved-light-immigration .rv-site-header__brand,
.rv-approved-light-insurance .rv-site-header__brand,
.rv-approved-light-kiwisaver .rv-site-header__brand { background: transparent; border-radius: 0; }

/* Milestone 2 hubs already receive responsive block spacing from their inner
 * hero grid. Remove the second outer padding layer that created the oversized
 * gap below the local navigation on all three verticals. */
.rv-approved-light-immigration .m2-hero,
.rv-approved-light-insurance .m2-hero,
.rv-approved-light-kiwisaver .m2-hero { padding-block: 0; }

/* Keep the accepted layout and type scale while carrying each vertical's
 * approved colour system through its hero, start panel and alternating hub
 * sections. Foreground colours are the manifest's accessible text colours. */
.rv-approved-light-immigration {
  --rv-vertical-accent: #4D88BF;
  --rv-vertical-foreground: #245A88;
  --rv-vertical-tint: #EAF1F8;
  --rv-vertical-soft: #F7FAFD;
  --rv-vertical-line: rgba(77, 136, 191, .11);
}
.rv-approved-light-insurance {
  --rv-vertical-accent: #D2A64A;
  --rv-vertical-foreground: #785200;
  --rv-vertical-tint: #FAF2DD;
  --rv-vertical-soft: #FFFCF6;
  --rv-vertical-line: rgba(210, 166, 74, .12);
}
.rv-approved-light-kiwisaver {
  --rv-vertical-accent: #5B9675;
  --rv-vertical-foreground: #286043;
  --rv-vertical-tint: #EAF3ED;
  --rv-vertical-soft: #F7FBF8;
  --rv-vertical-line: rgba(91, 150, 117, .11);
}

.rv-approved-light-immigration .m2-hero,
.rv-approved-light-insurance .m2-hero,
.rv-approved-light-kiwisaver .m2-hero {
  background:
    linear-gradient(90deg, var(--rv-vertical-soft), color-mix(in srgb, var(--rv-vertical-tint) 88%, white)),
    repeating-linear-gradient(135deg, var(--rv-vertical-line) 0 1px, transparent 1px 24px);
}

.rv-approved-light-immigration .m2-hero h1,
.rv-approved-light-insurance .m2-hero h1,
.rv-approved-light-kiwisaver .m2-hero h1,
.rv-approved-light-immigration .m2-hero .eyebrow,
.rv-approved-light-insurance .m2-hero .eyebrow,
.rv-approved-light-kiwisaver .m2-hero .eyebrow,
.rv-approved-light-immigration .m2-hero .breadcrumbs a,
.rv-approved-light-insurance .m2-hero .breadcrumbs a,
.rv-approved-light-kiwisaver .m2-hero .breadcrumbs a,
.rv-approved-light-immigration .m2-hero .start-panel h2,
.rv-approved-light-insurance .m2-hero .start-panel h2,
.rv-approved-light-kiwisaver .m2-hero .start-panel h2,
.rv-approved-light-immigration .m2-start-list strong,
.rv-approved-light-insurance .m2-start-list strong,
.rv-approved-light-kiwisaver .m2-start-list strong {
  color: var(--rv-vertical-foreground);
}

.rv-approved-light-immigration .m2-hero .start-panel,
.rv-approved-light-insurance .m2-hero .start-panel,
.rv-approved-light-kiwisaver .m2-hero .start-panel {
  border-color: color-mix(in srgb, var(--rv-vertical-accent) 45%, #d9e0de);
  border-top: 4px solid var(--rv-vertical-accent);
  background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--rv-vertical-tint) 48%, white) 100%);
}

.rv-approved-light-immigration .m2-hero .button:not(.button--secondary),
.rv-approved-light-insurance .m2-hero .button:not(.button--secondary),
.rv-approved-light-kiwisaver .m2-hero .button:not(.button--secondary) {
  background: var(--rv-vertical-foreground);
  color: #fff;
}
.rv-approved-light-immigration .m2-hero .button:not(.button--secondary):hover,
.rv-approved-light-insurance .m2-hero .button:not(.button--secondary):hover,
.rv-approved-light-kiwisaver .m2-hero .button:not(.button--secondary):hover {
  background: color-mix(in srgb, var(--rv-vertical-foreground) 82%, black);
}

.rv-approved-light-immigration .rv-site-header__link.is-active,
.rv-approved-light-insurance .rv-site-header__link.is-active,
.rv-approved-light-kiwisaver .rv-site-header__link.is-active,
.rv-approved-light-immigration .rv-local-nav__link.is-active,
.rv-approved-light-insurance .rv-local-nav__link.is-active,
.rv-approved-light-kiwisaver .rv-local-nav__link.is-active {
  background: var(--rv-vertical-tint);
  color: var(--rv-vertical-foreground);
}

.rv-approved-light-immigration .ralenvo-candidate-page > .section:nth-of-type(odd):not(.m2-hero),
.rv-approved-light-insurance .ralenvo-candidate-page > .section:nth-of-type(odd):not(.m2-hero),
.rv-approved-light-kiwisaver .ralenvo-candidate-page > .section:nth-of-type(odd):not(.m2-hero) {
  background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--rv-vertical-tint) 54%, white) 100%);
}

.rv-approved-light-immigration .section-header,
.rv-approved-light-insurance .section-header,
.rv-approved-light-kiwisaver .section-header { border-left-color: var(--rv-vertical-accent); }
.rv-approved-light-immigration .section-header .eyebrow,
.rv-approved-light-insurance .section-header .eyebrow,
.rv-approved-light-kiwisaver .section-header .eyebrow { color: var(--rv-vertical-foreground); }

/* Publishing cards inherit their vertical from the canonical guide link. This
 * keeps the shared updates page and future cards aligned without changing the
 * accepted article markup or relying on editable label text. */
:is(.ralenvo-candidate-page, .ralenvo-accepted-presentation) .change-item:has(a[href^="/nz/immigration/"]) {
  --rv-publication-accent: #4D88BF;
  --rv-publication-foreground: #245A88;
  --rv-publication-tint: #EAF1F8;
}
:is(.ralenvo-candidate-page, .ralenvo-accepted-presentation) .change-item:has(a[href^="/nz/insurance/"]) {
  --rv-publication-accent: #D2A64A;
  --rv-publication-foreground: #785200;
  --rv-publication-tint: #FAF2DD;
}
:is(.ralenvo-candidate-page, .ralenvo-accepted-presentation) .change-item:has(a[href^="/nz/kiwisaver/"]) {
  --rv-publication-accent: #5B9675;
  --rv-publication-foreground: #286043;
  --rv-publication-tint: #EAF3ED;
}
:is(.ralenvo-candidate-page, .ralenvo-accepted-presentation) .change-item {
  border-left-color: var(--rv-publication-accent, var(--wf-color-accent));
  background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--rv-publication-tint, #f7efe1) 58%, white) 100%);
}
:is(.ralenvo-candidate-page, .ralenvo-accepted-presentation) .change-item .tag {
  border-color: color-mix(in srgb, var(--rv-publication-accent, var(--wf-color-accent)) 52%, var(--wf-color-border));
  background: var(--rv-publication-tint, #fff8ec);
  color: var(--rv-publication-foreground, #6f4b08);
}
:is(.ralenvo-candidate-page, .ralenvo-accepted-presentation) .change-item .card-meta { color: var(--rv-publication-foreground, var(--wf-color-brand-dark)); }
:is(.ralenvo-candidate-page, .ralenvo-accepted-presentation) .change-item .change-date {
  align-self: start;
  border: 1px solid color-mix(in srgb, var(--rv-publication-accent, var(--wf-color-accent)) 42%, var(--wf-color-border));
  border-radius: var(--wf-radius-sm);
  background: var(--rv-publication-tint, var(--wf-color-accent-soft));
  padding: .35rem .55rem;
  color: var(--rv-publication-foreground, var(--wf-color-warning));
}
