/* HAOLLA v1.34.5 — cross-site contrast hardening
   Final cascade layer. It only locks text contrast on known light/dark surfaces. */
:root{
  --v1345-ink:#0b1d39;
  --v1345-body:#40536f;
  --v1345-muted:#5c6d85;
  --v1345-on-dark:#f7fbff;
  --v1345-on-dark-soft:#d5e3f3;
}

/* ---------- Learning Results: light-card readability ---------- */
#main.learningResultsV1344 .lrSection,
#main.learningResultsV1344 .lrStory,
#main.learningResultsV1344 .lrGalleryCard,
#main.learningResultsV1344 .lrLongCard,
#main.learningResultsV1344 .lrDisclosure{
  color:var(--v1345-ink)!important;
}
#main.learningResultsV1344 .lrSectionHead h2,
#main.learningResultsV1344 .lrStory h3,
#main.learningResultsV1344 .lrGalleryCard b,
#main.learningResultsV1344 .lrLongCard h3{
  color:var(--v1345-ink)!important;
  opacity:1!important;
  text-shadow:none!important;
  filter:none!important;
}
#main.learningResultsV1344 .lrSectionHead p,
#main.learningResultsV1344 .lrLongCard p,
#main.learningResultsV1344 .lrGalleryCard span,
#main.learningResultsV1344 .lrPrivacy,
#main.learningResultsV1344 .lrDisclosure{
  color:var(--v1345-body)!important;
  opacity:1!important;
}
#main.learningResultsV1344 .lrTimeline,
#main.learningResultsV1344 .lrEvidenceHead{
  color:#52647e!important;
  opacity:1!important;
}
#main.learningResultsV1344 .lrPoints li{
  color:#263750!important;
  opacity:1!important;
}
#main.learningResultsV1344 .lrPill{
  color:#17213a!important;
  opacity:1!important;
}
/* Restore intended light text inside the dark CTA/hero modules. */
#main.learningResultsV1344 .lrHero,
#main.learningResultsV1344 .lrTrust,
#main.learningResultsV1344 .lrCtaBand{
  color:var(--v1345-on-dark)!important;
}
#main.learningResultsV1344 .lrHero h1,
#main.learningResultsV1344 .lrTrust h2,
#main.learningResultsV1344 .lrTrust h3,
#main.learningResultsV1344 .lrCtaBand h1,
#main.learningResultsV1344 .lrCtaBand h2,
#main.learningResultsV1344 .lrCtaBand h3,
#main.learningResultsV1344 .lrCtaBand b,
#main.learningResultsV1344 .lrCtaBand strong{
  color:var(--v1345-on-dark)!important;
  opacity:1!important;
}
#main.learningResultsV1344 .lrHeroLead,
#main.learningResultsV1344 .lrTrust p,
#main.learningResultsV1344 .lrCtaBand p{
  color:var(--v1345-on-dark-soft)!important;
  opacity:1!important;
}

/* ---------- Legacy light sections ---------- */
.lightSection,
.proofProtocol,
.v122Paper,
.v1263FounderCopy,
.v1263VisualCard,
.v1263ProofVisual figure,
.v1263Credential{
  color:var(--v1345-ink);
}
.lightSection .sectionHead h1,
.lightSection .sectionHead h2,
.lightSection .sectionHead h3,
.proofProtocol h1,
.proofProtocol h2,
.proofProtocol h3,
.v122Paper h1,.v122Paper h2,.v122Paper h3,
.v1263FounderCopy h1,.v1263FounderCopy h2,.v1263FounderCopy h3,
.v1263ProofCopy h1,.v1263ProofCopy h2,.v1263ProofCopy h3{
  color:var(--v1345-ink);
  opacity:1;
  text-shadow:none;
}
.lightSection .sectionHead p,
.proofProtocol p,
.v122Paper p,
.v1263FounderCopy p,
.v1263ProofCopy p{
  color:var(--v1345-body);
  opacity:1;
}

/* ---------- Revenue / SEO light surfaces ---------- */
.r1290Section.white > .r1290Wrap > .r1290SectionHead h2,
.r1290Section.tint > .r1290Wrap > .r1290SectionHead h2,
.r1290ProblemCard h3,
.r1290FitGrid article h3,
.r1290Price:not(.featured) h3,
.r1290Price:not(.featured) .price,
.r1290Faq summary,
.r1290HubCard h2,
.r1290CaseMini h3,
.r1300Fact .value,
.r1300Action h3,
.r1300Comparison th,
.r1300Comparison td{
  color:var(--v1345-ink)!important;
  opacity:1!important;
  text-shadow:none!important;
  filter:none!important;
}
.r1290ProblemCard p,
.r1290FitGrid article p,
.r1290Price:not(.featured) p,
.r1290Price:not(.featured) li,
.r1290Faq details p,
.r1290HubCard p,
.r1290CaseMini p,
.r1300Fact p,
.r1300Action p,
.r1300Sources p,
.r1300Sources li{
  color:var(--v1345-body)!important;
  opacity:1!important;
}
.r1290Disclosure,
.r1300Sources,
.r1300BuzzItem{
  color:var(--v1345-body)!important;
  opacity:1!important;
}

/* ---------- School guides / hub light surfaces ---------- */
body.schoolGuideV1330 .sgSection.white,
body.schoolGuideV1330 .sgSection.tint,
body.schoolHubV1330 .sgSection.white,
body.schoolHubV1330 .sgSection.tint,
.sgCard,.sgConcern,.sgGrade,.sgSource,.sgFaq details,.sgSchoolCard,.sgDisclaimer{
  color:var(--v1345-ink);
}
.sgSection.white .sgSectionHead h2,
.sgSection.tint .sgSectionHead h2,
.sgCard h3,.sgConcern h3,.sgSource h3,.sgSchoolCard h3,
.sgFaq summary,.sgGroupTitle h2,.sgTipBox h2{
  color:var(--v1345-ink)!important;
  opacity:1!important;
  text-shadow:none!important;
}
.sgSection.white .sgSectionHead p,
.sgSection.tint .sgSectionHead p,
.sgCard p,.sgConcern p,.sgGrade p,.sgSource p,.sgSchoolCard p,
.sgFaq p,.sgDisclaimer{
  color:var(--v1345-body)!important;
  opacity:1!important;
}

/* ---------- Light forms ---------- */
.r1290LeadForm,.sgForm{
  color:var(--v1345-ink)!important;
}
.r1290LeadForm label,.sgForm label{
  color:#304966!important;
  opacity:1!important;
}
.r1290LeadForm input,.r1290LeadForm select,.r1290LeadForm textarea,
.sgForm input,.sgForm textarea{
  color:#10213d!important;
  background:#f7faff!important;
  opacity:1!important;
}
.r1290LeadForm input::placeholder,.r1290LeadForm textarea::placeholder,
.sgForm input::placeholder,.sgForm textarea::placeholder{
  color:#687b94!important;
  opacity:1!important;
}

/* ---------- Dark-surface safety locks ---------- */
.r1290Hero,.r1290HubHero,.r1290Lead,.r1290Section.dark,.r1290Price.featured,
.r1300Road,.r1290MapNode,.r1290MapCore,
.sgHero,.sgSection.dark,.sgStep,.sgService,.sgConsultBox,.sgHubBanner,
.darkCard,.darkPanel,.darkSurface,.navyCard,
.productShell,.engineStage,.demoInput,.demoOutput,.languageCard,.modalCard{
  color:var(--v1345-on-dark)!important;
}
.r1290Hero h1,.r1290HubHero h1,.r1290Lead h1,.r1290Lead h2,.r1290Lead h3,
.r1290Section.dark h1,.r1290Section.dark h2,.r1290Section.dark h3,
.r1290Price.featured h2,.r1290Price.featured h3,.r1290Price.featured .price,
.r1300Road h2,.r1300Road h3,
.sgHero h1,.sgHero h2,.sgHero h3,.sgSection.dark h1,.sgSection.dark h2,.sgSection.dark h3,
.sgStep h3,.sgService h2,.sgService h3,.sgConsultBox h2,.sgConsultBox h3,.sgHubBanner h2,
.darkCard h1,.darkCard h2,.darkCard h3,.darkPanel h1,.darkPanel h2,.darkPanel h3,
.darkSurface h1,.darkSurface h2,.darkSurface h3,.navyCard h1,.navyCard h2,.navyCard h3{
  color:var(--v1345-on-dark)!important;
  opacity:1!important;
  text-shadow:none!important;
}
.r1290Hero p,.r1290Lead p,.r1290Lead li,.r1290Section.dark p,.r1290Section.dark li,
.r1290Price.featured p,.r1290Price.featured li,.r1300Road p,
.sgHero p,.sgSection.dark p,.sgSection.dark li,.sgStep p,.sgService p,.sgService li,
.sgConsultBox p,.sgConsultBox li,.sgHubBanner p,
.darkCard p,.darkCard li,.darkPanel p,.darkPanel li,.darkSurface p,.darkSurface li,.navyCard p,.navyCard li{
  color:var(--v1345-on-dark-soft)!important;
  opacity:1!important;
}

/* Footer/header remain dark and high contrast regardless of page surface. */
.siteHeader .brand,.siteHeader .brandWord,.siteHeader .desktopNav a,.siteHeader .langBtn,.siteHeader .menuBtn,.siteHeader .mobileNav a{
  color:#edf4ff;
}
.siteHeader .primaryBtn{color:#101328!important}
footer .brand,footer .brand span,footer .footerCol b{color:#f7fbff!important;opacity:1!important}
footer .footerBrand p,footer .footerCol a,footer .footerBottom{color:#b2c1d6!important;opacity:1!important}
