
/* =========================================================
   v65 — FINAL RESOURCE CONTRAST + READABILITY LOCK
   Loaded last on all resource pages so legacy styles cannot
   create white-on-white or dark-on-dark text.
   ========================================================= */
:root{
  --rc-ink:#071c31;
  --rc-navy:#0c2a46;
  --rc-copy:#506578;
  --rc-muted:#65798a;
  --rc-blue:#2f78ad;
  --rc-sky:#8fc5f5;
  --rc-soft:#f4f8fb;
  --rc-line:#d7e2ea;
  --rc-white:#ffffff;
}

/* ---------- GLOBAL RESOURCE LIGHT SURFACES ---------- */
body.page-resources .visual-intro,
body.page-preapproval .visual-intro,
body.page-checklist .visual-intro,
body.page-mtgcalc .visual-intro,
body.page-calculators .visual-intro,
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{
  color:var(--rc-ink)!important;
}

body.page-resources .visual-intro h1,
body.page-preapproval .visual-intro h1,
body.page-checklist .visual-intro h1,
body.page-mtgcalc .visual-intro h1,
body.page-calculators .visual-intro h1{
  color:var(--rc-ink)!important;
  -webkit-text-fill-color:var(--rc-ink)!important;
  opacity:1!important;
}
body.page-resources .visual-intro .intro-copy,
body.page-resources .visual-intro .intro-copy p,
body.page-preapproval .visual-intro .intro-copy,
body.page-preapproval .visual-intro .intro-copy p,
body.page-checklist .visual-intro .intro-copy,
body.page-checklist .visual-intro .intro-copy p,
body.page-mtgcalc .visual-intro .intro-copy,
body.page-mtgcalc .visual-intro .intro-copy p,
body.page-calculators .visual-intro .intro-copy,
body.page-calculators .visual-intro .intro-copy p{
  color:var(--rc-copy)!important;
  -webkit-text-fill-color:var(--rc-copy)!important;
  opacity:1!important;
}
body.page-resources .visual-intro .eyebrow,
body.page-preapproval .visual-intro .eyebrow,
body.page-checklist .visual-intro .eyebrow,
body.page-mtgcalc .visual-intro .eyebrow,
body.page-calculators .visual-intro .eyebrow{
  color:#4e91ca!important;
  -webkit-text-fill-color:#4e91ca!important;
}

/* Image badges are white cards, always dark text. */
body.page-resources .intro-media-badge,
body.page-preapproval .intro-media-badge,
body.page-checklist .intro-media-badge,
body.page-mtgcalc .intro-media-badge,
body.page-calculators .intro-media-badge{
  background:rgba(255,255,255,.96)!important;
  color:var(--rc-ink)!important;
}
body.page-resources .intro-media-badge strong,
body.page-preapproval .intro-media-badge strong,
body.page-checklist .intro-media-badge strong,
body.page-mtgcalc .intro-media-badge strong,
body.page-calculators .intro-media-badge strong{
  color:var(--rc-ink)!important;
  -webkit-text-fill-color:var(--rc-ink)!important;
}
body.page-resources .intro-media-badge span,
body.page-preapproval .intro-media-badge span,
body.page-checklist .intro-media-badge span,
body.page-mtgcalc .intro-media-badge span,
body.page-calculators .intro-media-badge span{
  color:#4e85b4!important;
  -webkit-text-fill-color:#4e85b4!important;
}

/* Resource subnav: white surface, dark readable labels. */
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:#4e6274!important;
  -webkit-text-fill-color:#4e6274!important;
  background:#fff!important;
}
body.page-resources .resource-link:hover,
body.page-preapproval .resource-link:hover,
body.page-checklist .resource-link:hover,
body.page-mtgcalc .resource-link:hover,
body.page-calculators .resource-link:hover,
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(--rc-ink)!important;
  -webkit-text-fill-color:var(--rc-ink)!important;
  background:#eef6fc!important;
}

/* ---------- RESOURCE CENTER ---------- */
body.page-resources .resource-spotlight-copy{
  background:#f5f9fc!important;
  color:var(--rc-ink)!important;
}
body.page-resources .resource-spotlight-copy h2{
  color:var(--rc-ink)!important;
  -webkit-text-fill-color:var(--rc-ink)!important;
}
body.page-resources .resource-spotlight-copy p:not(.eyebrow){
  color:var(--rc-copy)!important;
  -webkit-text-fill-color:var(--rc-copy)!important;
}
body.page-resources .resource-spotlight-copy .eyebrow{
  color:var(--rc-blue)!important;
  -webkit-text-fill-color:var(--rc-blue)!important;
}

/* Normal cards are white, dark type. */
body.page-resources .resource-card:not(.feature){
  background:#fff!important;
  color:var(--rc-ink)!important;
}
body.page-resources .resource-card:not(.feature) h2{
  color:var(--rc-ink)!important;
  -webkit-text-fill-color:var(--rc-ink)!important;
}
body.page-resources .resource-card:not(.feature) p{
  color:var(--rc-copy)!important;
  -webkit-text-fill-color:var(--rc-copy)!important;
}
body.page-resources .resource-card:not(.feature) .num{
  color:var(--rc-blue)!important;
  -webkit-text-fill-color:var(--rc-blue)!important;
}
body.page-resources .resource-card:not(.feature) .btn{
  color:var(--rc-ink)!important;
  -webkit-text-fill-color:var(--rc-ink)!important;
  border-color:#7899b3!important;
  background:transparent!important;
}
body.page-resources .resource-card:not(.feature) .btn:hover{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:var(--rc-navy)!important;
  border-color:var(--rc-navy)!important;
}

/* Featured card is navy, light type. */
body.page-resources .resource-card.feature{
  background:linear-gradient(145deg,#08243e,#0d3558)!important;
  border-color:#17466e!important;
  color:#fff!important;
}
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,.78)!important;
  -webkit-text-fill-color:rgba(255,255,255,.78)!important;
}
body.page-resources .resource-card.feature .num{
  color:#9dd2ff!important;
  -webkit-text-fill-color:#9dd2ff!important;
}
body.page-resources .resource-card.feature .btn{
  border-color:#a8d8ff!important;
  background:transparent!important;
}
body.page-resources .resource-card.feature .btn:hover{
  background:#e7f4ff!important;
  border-color:#e7f4ff!important;
  color:#092844!important;
  -webkit-text-fill-color:#092844!important;
}

body.page-resources .resource-callout{
  background:#fff!important;
  color:var(--rc-ink)!important;
}
body.page-resources .resource-callout h2{
  color:var(--rc-ink)!important;
  -webkit-text-fill-color:var(--rc-ink)!important;
}
body.page-resources .resource-callout p:not(.eyebrow){
  color:var(--rc-copy)!important;
  -webkit-text-fill-color:var(--rc-copy)!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(--rc-ink)!important;
  -webkit-text-fill-color:var(--rc-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(--rc-copy)!important;
  -webkit-text-fill-color:var(--rc-copy)!important;
}
body.page-preapproval .compare-card{
  background:#fff!important;
  color:var(--rc-ink)!important;
}
body.page-preapproval .compare-card span{
  color:var(--rc-blue)!important;
  -webkit-text-fill-color:var(--rc-blue)!important;
}

/* Dark sidebar: never allow inherited dark text. */
body.page-preapproval .side-card{
  background:linear-gradient(155deg,#08243e,#0c3153)!important;
  color:#fff!important;
}
body.page-preapproval .side-card h2,
body.page-preapproval .side-card .btn:not(.primary){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.page-preapproval .side-card p:not(.eyebrow),
body.page-preapproval .side-card .side-note{
  color:rgba(255,255,255,.76)!important;
  -webkit-text-fill-color:rgba(255,255,255,.76)!important;
}
body.page-preapproval .side-card .eyebrow{
  color:#9dd2ff!important;
  -webkit-text-fill-color:#9dd2ff!important;
}
body.page-preapproval .side-card .btn:not(.primary){
  border-color:#9cccf4!important;
  background:transparent!important;
}
body.page-preapproval .side-card .btn:not(.primary):hover{
  background:#e4f3ff!important;
  border-color:#e4f3ff!important;
  color:#08243e!important;
  -webkit-text-fill-color:#08243e!important;
}
body.page-preapproval .side-card .btn.primary{
  background:#8fc5f5!important;
  border-color:#8fc5f5!important;
  color:#071c31!important;
  -webkit-text-fill-color:#071c31!important;
}

/* ---------- CHECKLIST ---------- */
body.page-checklist .check-group{
  background:#fff!important;
  color:var(--rc-ink)!important;
}
body.page-checklist .check-group h2,
body.page-checklist .check-item label{
  color:var(--rc-ink)!important;
  -webkit-text-fill-color:var(--rc-ink)!important;
}
body.page-checklist .check-group .group-note,
body.page-checklist .check-item small{
  color:var(--rc-muted)!important;
  -webkit-text-fill-color:var(--rc-muted)!important;
}
body.page-checklist .check-side{
  background:linear-gradient(155deg,#08243e,#0c3153)!important;
  color:#fff!important;
}
body.page-checklist .check-side h2,
body.page-checklist .check-side .progress strong,
body.page-checklist .check-side .btn:not(.primary){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.page-checklist .check-side p:not(.eyebrow),
body.page-checklist .check-side .progress span,
body.page-checklist .check-side .print-note{
  color:rgba(255,255,255,.76)!important;
  -webkit-text-fill-color:rgba(255,255,255,.76)!important;
}
body.page-checklist .check-side .eyebrow{
  color:#9dd2ff!important;
  -webkit-text-fill-color:#9dd2ff!important;
}
body.page-checklist .check-side .btn:not(.primary){
  background:transparent!important;
  border-color:#9cccf4!important;
}
body.page-checklist .check-side .btn:not(.primary):hover{
  background:#e4f3ff!important;
  border-color:#e4f3ff!important;
  color:#08243e!important;
  -webkit-text-fill-color:#08243e!important;
}
body.page-checklist .check-side .btn.primary{
  background:#8fc5f5!important;
  border-color:#8fc5f5!important;
  color:#071c31!important;
  -webkit-text-fill-color:#071c31!important;
}

/* ---------- MORTGAGE PAYMENT CALCULATOR ---------- */
body.page-mtgcalc .calculator-header h2,
body.page-mtgcalc .calc-inputs label,
body.page-mtgcalc .next-step h2,
body.page-mtgcalc .rate-section h2{
  color:var(--rc-ink)!important;
  -webkit-text-fill-color:var(--rc-ink)!important;
}
body.page-mtgcalc .calculator-header p,
body.page-mtgcalc .next-step p,
body.page-mtgcalc .rate-section > .section-inner > div > p:not(.eyebrow){
  color:var(--rc-copy)!important;
  -webkit-text-fill-color:var(--rc-copy)!important;
}
body.page-mtgcalc .calc-inputs{
  background:#fff!important;
  color:var(--rc-ink)!important;
}
body.page-mtgcalc .calc-results{
  background:linear-gradient(155deg,#08243e,#0c3153)!important;
  color:#fff!important;
}
body.page-mtgcalc .calc-results .result-kicker{
  color:#9dd2ff!important;
  -webkit-text-fill-color:#9dd2ff!important;
}
body.page-mtgcalc .calc-results .monthly-total,
body.page-mtgcalc .calc-results .result-row strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.page-mtgcalc .calc-results .monthly-total span,
body.page-mtgcalc .calc-results .result-row,
body.page-mtgcalc .calc-results .result-row span,
body.page-mtgcalc .calc-results .calc-note{
  color:rgba(255,255,255,.74)!important;
  -webkit-text-fill-color:rgba(255,255,255,.74)!important;
}

/* CRM/CTA cards are pale or white: dark text, never white. */
body.page-mtgcalc .crm-cta-card,
body.page-mtgcalc .signup.crm-cta-card{
  background:#fff!important;
  color:var(--rc-ink)!important;
  border-color:#cfdce6!important;
}
body.page-mtgcalc .crm-cta-card p,
body.page-mtgcalc .signup.crm-cta-card p{
  color:var(--rc-copy)!important;
  -webkit-text-fill-color:var(--rc-copy)!important;
  opacity:1!important;
}
body.page-mtgcalc .crm-cta-card .btn.primary,
body.page-mtgcalc .signup.crm-cta-card .btn.primary{
  background:var(--rc-blue)!important;
  border-color:var(--rc-blue)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* ---------- MORE CALCULATORS ---------- */
body.page-calculators .calc-tabs,
body.page-calculators .calc-panel,
body.page-calculators .inputs{
  color:var(--rc-ink)!important;
}
body.page-calculators .calc-tab{
  color:#506578!important;
  -webkit-text-fill-color:#506578!important;
  background:#fff!important;
}
body.page-calculators .calc-tab.active{
  background:var(--rc-navy)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.page-calculators .panel-heading h2,
body.page-calculators .field label,
body.page-calculators .payment-cta h2{
  color:var(--rc-ink)!important;
  -webkit-text-fill-color:var(--rc-ink)!important;
}
body.page-calculators .panel-heading p,
body.page-calculators .payment-cta p{
  color:var(--rc-copy)!important;
  -webkit-text-fill-color:var(--rc-copy)!important;
}
body.page-calculators .outputs{
  background:linear-gradient(155deg,#08243e,#0c3153)!important;
  color:#fff!important;
}
body.page-calculators .outputs .result-kicker{
  color:#9dd2ff!important;
  -webkit-text-fill-color:#9dd2ff!important;
}
body.page-calculators .outputs .big-result,
body.page-calculators .outputs .result-row strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.page-calculators .outputs .result-row,
body.page-calculators .outputs .result-row span,
body.page-calculators .outputs .calc-note{
  color:rgba(255,255,255,.74)!important;
  -webkit-text-fill-color:rgba(255,255,255,.74)!important;
}

/* ---------- BUTTONS ON LIGHT SURFACES ---------- */
body.page-resources .btn.primary,
body.page-preapproval .next-step .btn.primary,
body.page-mtgcalc .next-step .btn.primary,
body.page-calculators .payment-cta .btn.primary{
  background:var(--rc-blue)!important;
  border-color:var(--rc-blue)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.page-resources .resource-callout .btn:not(.primary),
body.page-preapproval .next-step .btn:not(.primary),
body.page-mtgcalc .next-step .btn:not(.primary),
body.page-calculators .payment-cta .btn:not(.primary){
  color:var(--rc-ink)!important;
  -webkit-text-fill-color:var(--rc-ink)!important;
  border-color:#7899b3!important;
  background:transparent!important;
}
body.page-resources .resource-callout .btn:not(.primary):hover,
body.page-preapproval .next-step .btn:not(.primary):hover,
body.page-mtgcalc .next-step .btn:not(.primary):hover,
body.page-calculators .payment-cta .btn:not(.primary):hover{
  background:var(--rc-navy)!important;
  border-color:var(--rc-navy)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
