/* =========================================================
   V24 RESOURCE TYPOGRAPHY / CONTRAST FIX
   Loaded last on every Resource page.
   ========================================================= */

:root{
  --res-ink:#071c31;
  --res-copy:#4f6273;
  --res-blue:#2f6ea5;
  --res-line:#d6e1ea;
  --res-paper:#ffffff;
  --res-soft:#f4f8fb;
}

body.page-resources,
body.page-preapproval,
body.page-checklist,
body.page-mtgcalc,
body.page-calculators{
  color:var(--res-ink)!important;
  font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif!important;
}

/* ---------- LIGHT RESOURCE HEROES ---------- */
body.page-resources main>.intro,
body.page-preapproval main>.intro,
body.page-checklist main>.intro,
body.page-mtgcalc main>.intro,
body.page-calculators main>.intro{
  color:var(--res-ink)!important;
  background:
    radial-gradient(circle at 82% 30%,rgba(120,185,246,.13),transparent 27%),
    linear-gradient(135deg,#f8fbfd 0%,#edf5fb 100%)!important;
}

body.page-resources main>.intro::before,
body.page-preapproval main>.intro::before,
body.page-checklist main>.intro::before,
body.page-mtgcalc main>.intro::before,
body.page-calculators main>.intro::before{
  opacity:.035!important;
}

body.page-resources main>.intro h1,
body.page-preapproval main>.intro h1,
body.page-checklist main>.intro h1,
body.page-mtgcalc main>.intro h1,
body.page-calculators main>.intro h1{
  color:var(--res-ink)!important;
  -webkit-text-fill-color:var(--res-ink)!important;
  font-weight:600!important;
  letter-spacing:-.035em!important;
  text-shadow:none!important;
}

body.page-resources main>.intro p,
body.page-preapproval main>.intro p,
body.page-checklist main>.intro p,
body.page-mtgcalc main>.intro p,
body.page-calculators main>.intro p,
body.page-resources .intro-copy,
body.page-preapproval .intro-copy,
body.page-checklist .intro-copy,
body.page-mtgcalc .intro-copy,
body.page-calculators .intro-copy{
  color:var(--res-copy)!important;
  -webkit-text-fill-color:var(--res-copy)!important;
  text-shadow:none!important;
}

body.page-resources main>.intro .eyebrow,
body.page-preapproval main>.intro .eyebrow,
body.page-checklist main>.intro .eyebrow,
body.page-mtgcalc main>.intro .eyebrow,
body.page-calculators main>.intro .eyebrow{
  color:#5a9bd4!important;
  -webkit-text-fill-color:#5a9bd4!important;
}

/* ---------- RESOURCE SUBNAV ---------- */
body.page-resources .resource-switcher,
body.page-preapproval .resource-switcher,
body.page-checklist .resource-switcher,
body.page-mtgcalc .resource-switcher,
body.page-calculators .resource-switcher{
  background:#fff!important;
  border-color:var(--res-line)!important;
}

body.page-resources .resource-link,
body.page-preapproval .resource-link,
body.page-checklist .resource-link,
body.page-mtgcalc .resource-link,
body.page-calculators .resource-link{
  color:#526474!important;
  -webkit-text-fill-color:#526474!important;
  background:#fff!important;
}

body.page-resources .resource-link.active,
body.page-preapproval .resource-link.active,
body.page-checklist .resource-link.active,
body.page-mtgcalc .resource-link.active,
body.page-calculators .resource-link.active{
  color:var(--res-ink)!important;
  -webkit-text-fill-color:var(--res-ink)!important;
  background:#f7fafc!important;
}

/* ---------- RESOURCE CENTER ---------- */
body.page-resources .jb-inline-visual-copy h2,
body.page-resources .resource-spotlight-copy h2,
body.page-resources .resource-card:not(.feature) h2,
body.page-resources .resource-callout h2{
  color:var(--res-ink)!important;
  -webkit-text-fill-color:var(--res-ink)!important;
}

body.page-resources .jb-inline-visual-copy p:not(.eyebrow),
body.page-resources .resource-spotlight-copy p:not(.eyebrow),
body.page-resources .resource-card:not(.feature) p,
body.page-resources .resource-callout p{
  color:var(--res-copy)!important;
  -webkit-text-fill-color:var(--res-copy)!important;
}

body.page-resources .jb-inline-visual-copy .eyebrow,
body.page-resources .resource-spotlight-copy .eyebrow,
body.page-resources .resource-callout .eyebrow{
  color:var(--res-blue)!important;
  -webkit-text-fill-color:var(--res-blue)!important;
}

/* Featured resource is intentionally dark. */
body.page-resources .resource-card.feature,
body.page-resources .resource-card.feature h2,
body.page-resources .resource-card.feature .btn{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.page-resources .resource-card.feature p{
  color:rgba(255,255,255,.76)!important;
  -webkit-text-fill-color:rgba(255,255,255,.76)!important;
}
body.page-resources .resource-card.feature .num{
  color:#8fc5f5!important;
  -webkit-text-fill-color:#8fc5f5!important;
}

/* ---------- PRE-APPROVAL ---------- */
body.page-preapproval .content-block h2,
body.page-preapproval .content-block h3,
body.page-preapproval .compare-card h3,
body.page-preapproval .next-step h2{
  color:var(--res-ink)!important;
  -webkit-text-fill-color:var(--res-ink)!important;
}

body.page-preapproval .content-block p,
body.page-preapproval .compare-card p,
body.page-preapproval .next-step p,
body.page-preapproval .benefit-list li{
  color:var(--res-copy)!important;
  -webkit-text-fill-color:var(--res-copy)!important;
}

body.page-preapproval .side-card h2,
body.page-preapproval .side-card .btn{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.page-preapproval .side-card p{
  color:rgba(255,255,255,.76)!important;
  -webkit-text-fill-color:rgba(255,255,255,.76)!important;
}
body.page-preapproval .side-card .eyebrow{
  color:#8fc5f5!important;
  -webkit-text-fill-color:#8fc5f5!important;
}
body.page-preapproval .side-card .btn.primary{
  color:#081f36!important;
  -webkit-text-fill-color:#081f36!important;
}

/* ---------- CHECKLIST ---------- */
body.page-checklist .check-group h2,
body.page-checklist .check-item label{
  color:var(--res-ink)!important;
  -webkit-text-fill-color:var(--res-ink)!important;
}
body.page-checklist .check-group .group-note,
body.page-checklist .check-item small{
  color:#65788a!important;
  -webkit-text-fill-color:#65788a!important;
}
body.page-checklist .check-side h2,
body.page-checklist .check-side .btn,
body.page-checklist .progress strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.page-checklist .check-side p,
body.page-checklist .progress span,
body.page-checklist .print-note{
  color:rgba(255,255,255,.72)!important;
  -webkit-text-fill-color:rgba(255,255,255,.72)!important;
}
body.page-checklist .check-side .btn.primary{
  color:#081f36!important;
  -webkit-text-fill-color:#081f36!important;
}

/* ---------- MORTGAGE CALCULATOR ---------- */
body.page-mtgcalc .calculator-section h2,
body.page-mtgcalc .calculator-section h3,
body.page-mtgcalc .next-step h2,
body.page-mtgcalc .rate-section h2,
body.page-mtgcalc label{
  color:var(--res-ink)!important;
  -webkit-text-fill-color:var(--res-ink)!important;
}
body.page-mtgcalc .calculator-section p,
body.page-mtgcalc .next-step p,
body.page-mtgcalc .rate-section p{
  color:var(--res-copy)!important;
  -webkit-text-fill-color:var(--res-copy)!important;
}

/* ---------- MORE CALCULATORS ---------- */
body.page-calculators .jb-inline-visual-copy h2,
body.page-calculators .panel-heading h2,
body.page-calculators .payment-cta h2,
body.page-calculators .field label{
  color:var(--res-ink)!important;
  -webkit-text-fill-color:var(--res-ink)!important;
}
body.page-calculators .jb-inline-visual-copy p:not(.eyebrow),
body.page-calculators .panel-heading p,
body.page-calculators .payment-cta p{
  color:var(--res-copy)!important;
  -webkit-text-fill-color:var(--res-copy)!important;
}
body.page-calculators .jb-inline-visual-copy .eyebrow{
  color:var(--res-blue)!important;
  -webkit-text-fill-color:var(--res-blue)!important;
}
body.page-calculators .outputs,
body.page-calculators .outputs strong,
body.page-calculators .outputs .big-result{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.page-calculators .outputs .result-row span,
body.page-calculators .outputs .calc-note{
  color:rgba(255,255,255,.68)!important;
  -webkit-text-fill-color:rgba(255,255,255,.68)!important;
}

/* Keep resource typography readable and consistent on smaller screens. */
@media(max-width:980px){
  body.page-resources main>.intro h1,
  body.page-preapproval main>.intro h1,
  body.page-checklist main>.intro h1,
  body.page-mtgcalc main>.intro h1,
  body.page-calculators main>.intro h1{
    font-size:clamp(34px,8.8vw,44px)!important;
    line-height:1.04!important;
  }
}

/* =========================================================
   V25 RESOURCE HERO — FINAL COLOR LOCK
   Prevent legacy dark-hero rules from washing text out on light resource heroes.
   ========================================================= */
body.page-resources main > .intro,
body.page-preapproval main > .intro,
body.page-checklist main > .intro,
body.page-mtgcalc main > .intro,
body.page-calculators main > .intro{
  color:#071c31 !important;
}

body.page-resources main > .intro .section-inner,
body.page-preapproval main > .intro .section-inner,
body.page-checklist main > .intro .section-inner,
body.page-mtgcalc main > .intro .section-inner,
body.page-calculators main > .intro .section-inner{
  color:#071c31 !important;
  opacity:1 !important;
}

body.page-resources main > .intro h1,
body.page-preapproval main > .intro h1,
body.page-checklist main > .intro h1,
body.page-mtgcalc main > .intro h1,
body.page-calculators main > .intro h1{
  color:#071c31 !important;
  -webkit-text-fill-color:#071c31 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

body.page-resources main > .intro .intro-copy,
body.page-resources main > .intro .intro-copy p,
body.page-preapproval main > .intro .intro-copy,
body.page-preapproval main > .intro .intro-copy p,
body.page-checklist main > .intro .intro-copy,
body.page-checklist main > .intro .intro-copy p,
body.page-mtgcalc main > .intro .intro-copy,
body.page-mtgcalc main > .intro .intro-copy p,
body.page-calculators main > .intro .intro-copy,
body.page-calculators main > .intro .intro-copy p{
  color:#40566a !important;
  -webkit-text-fill-color:#40566a !important;
  opacity:1 !important;
  text-shadow:none !important;
}

body.page-resources main > .intro .eyebrow,
body.page-preapproval main > .intro .eyebrow,
body.page-checklist main > .intro .eyebrow,
body.page-mtgcalc main > .intro .eyebrow,
body.page-calculators main > .intro .eyebrow{
  color:#4c8fc9 !important;
  -webkit-text-fill-color:#4c8fc9 !important;
  opacity:1 !important;
}

/* Slightly stronger readability at the lower edge of the first viewport. */
body.page-resources main > .intro .intro-copy p,
body.page-preapproval main > .intro .intro-copy p,
body.page-checklist main > .intro .intro-copy p,
body.page-mtgcalc main > .intro .intro-copy p,
body.page-calculators main > .intro .intro-copy p{
  font-size:17px !important;
  line-height:1.7 !important;
  max-width:58ch !important;
}
