/* ==========================================================================
   Redesign overrides — loaded last. Keep new rules here instead of editing
   the copied legacy CSS.
   ========================================================================== */
:root {
  --accent-ink: #8C6A54;   /* darker Antique Brass for small text on light backgrounds */
  --ink-hover: #2C4378;    /* hover for navy buttons */
}

/* ---------- Buttons: no navy-on-brass ----------
   On light backgrounds: navy pill, white text.
   On dark/photo backgrounds: Floral White pill, navy text. */
.btn-primary, .btn-accent, .v8 .btn-primary, .v8 .touch .btn-primary,
.lead-form button[type=submit], .aside-card a.btn {
  background: var(--ink); color: #fff; border: none;
}
.btn-primary:hover, .btn-accent:hover, .v8 .btn-primary:hover,
.lead-form button[type=submit]:hover, .aside-card a.btn:hover,
.site-nav .cta:hover {
  background: var(--ink-hover); color: #fff;
}
.v8 .hero .btn-primary, .cta-band .btn-primary, .svc-side .partner-cta a,
.elig-side .btn-accent, .tier.feat .cta-btn {
  background: #F4F0E8; color: var(--ink);
}
.v8 .hero .btn-primary:hover, .cta-band .btn-primary:hover, .svc-side .partner-cta a:hover,
.elig-side .btn-accent:hover, .tier.feat .cta-btn:hover, .tier .cta-btn:hover {
  background: #fff; color: var(--ink);
}
.v8 .svc-card:hover .meta .arr { background: var(--ink); border-color: var(--ink); color: #fff; }
.proc-step.act .ring { background: var(--ink); border-color: var(--ink); color: #fff; }

/* ---------- Home hero: readable lede over the photo ---------- */
.v8 .hero .lede {
  color: #fff; font-size: 21px; line-height: 1.55;
  text-shadow: 0 1px 14px rgba(15, 26, 50, 0.55);
}

/* ---------- Product hero: shorter photo ---------- */
.svc-hero.overlay .svc-hero-photo { min-height: 420px; }
.svc-hero.overlay .lede { color: #fff; text-shadow: 0 1px 12px rgba(15, 26, 50, 0.5); }
@media (max-width: 1100px) { .svc-hero.overlay .svc-hero-photo { min-height: 380px; } }
@media (max-width: 720px)  { .svc-hero.overlay .svc-hero-photo { min-height: 340px; } }

/* ---------- Sidebar "On this page": darker, heavier ---------- */
.svc-side .toc h4 { color: var(--accent-ink); font-weight: 600; }
.svc-side .toc a { color: var(--ink); font-weight: 500; font-size: 16px; }
.svc-side .toc a .n { color: var(--accent-ink); font-weight: 600; }
.svc-side .toc a:hover { color: var(--accent-ink); }
.svc-side .toc a.act { color: var(--ink); font-weight: 700; }
.svc-side .toc a.act .n { color: var(--accent-ink); }

/* ---------- Sidebar "Main product" card: readable text ---------- */
.svc-side .partner-cta p { color: rgba(255,255,255,0.88); }
.svc-side .partner-cta .row .it .k { color: rgba(255,255,255,0.7); }

/* ---------- Product hero: stronger scrim behind the text (left + bottom) ---------- */
.svc-hero.overlay .svc-hero-photo::before {
  background:
    linear-gradient(90deg, rgba(23,40,73,0.72) 0%, rgba(23,40,73,0.48) 45%, rgba(23,40,73,0.42) 100%),
    linear-gradient(180deg, rgba(23,40,73,0.25) 0%, rgba(23,40,73,0.35) 45%, rgba(23,40,73,0.85) 100%);
}
.svc-hero.overlay .svc-hero-top { text-shadow: 0 1px 10px rgba(15,26,50,0.45); }
.svc-hero.overlay .crumbs { font-size: 12.5px; font-weight: 500; }
.svc-hero.overlay .crumbs, .svc-hero.overlay .crumbs a { color: rgba(255,255,255,0.92); }
.svc-hero.overlay .crumbs .sep { color: rgba(255,255,255,0.6); }
.svc-hero.overlay .crumbs .curr { color: #E6CDBD; }
.svc-hero.overlay .eyebrow-line { color: #E6CDBD; font-size: 12.5px; font-weight: 600; }
.svc-hero.overlay .eyebrow-line .ln { background: #E6CDBD; }
.svc-hero.overlay .lede { font-size: 21px; }

/* ---------- Home hero: new copy ---------- */
.v8 .hero h1 {
  text-transform: uppercase; font-size: 68px; line-height: 1.04; letter-spacing: 0.01em;
  text-shadow: 0 2px 18px rgba(15,26,50,0.35);
}
.v8 .hero h1 em { font-style: normal; color: #E6CDBD; }
.v8 .hero .sub {
  margin: 0 0 18px; color: #fff; font-size: 26px; line-height: 1.3; font-weight: 500;
  max-width: 480px; text-shadow: 0 1px 14px rgba(15,26,50,0.55);
}
.v8 .hero .lede { max-width: 440px; }
@media (max-width: 1100px) { .v8 .hero h1 { font-size: 52px; } }
@media (max-width: 720px) {
  .v8 .hero h1 { font-size: 36px; }
  .v8 .hero .sub { font-size: 21px; }
}

/* ---------- Home hero: shorter banner ---------- */
.v8 .hero { min-height: 540px; display: flex; align-items: center; }
.v8 .hero-inner { width: 100%; padding: 96px 40px 80px; align-items: center; }
.v8 .hero .meta { justify-content: center; padding-bottom: 0; }
@media (max-width: 1100px) { .v8 .hero-inner { padding: 80px 40px 64px; } }
@media (max-width: 960px)  { .v8 .hero { min-height: 0; } .v8 .hero-inner { padding: 64px 20px 48px; } }

/* ---------- Home hero: single column (title / subtitle / button) ---------- */
.v8 .hero-inner.hero-stack { display: block; max-width: var(--maxw); }
.v8 .hero-stack h1 {
  text-transform: none; letter-spacing: -0.005em; font-size: 72px; line-height: 1.05;
  max-width: 900px; margin: 0 0 24px;
}
.v8 .hero-stack h1 em { font-style: italic; color: #E6CDBD; }
.v8 .hero-stack .sub { max-width: 640px; margin: 0 0 36px; font-size: 24px; font-weight: 400; }
@media (max-width: 1100px) { .v8 .hero-stack h1 { font-size: 56px; } }
@media (max-width: 720px)  { .v8 .hero-stack h1 { font-size: 38px; } .v8 .hero-stack .sub { font-size: 19px; margin-bottom: 28px; } }

/* ---------- Logo: MadeiraLab ---------- */
.site-nav .logo, .site-footer .logo { letter-spacing: 0; font-size: 22px; }
