/* October 2026 review: readability, homepage alignment, and new page sections */
body.inner-page .inner-main h1,body.inner-page .inner-main h2,body.inner-page .inner-main h3{font-weight:400}
body.inner-page .inner-main :is(.dark,.dark-panel,.dark-card,[class*="dark"],[class*="navy"],[class*="night"],[style*="background:#0"],[style*="background: #0"]) :is(h1,h2,h3,h4,p,li){color:#edf5ff!important}
body.inner-page .inner-main :is(.dark,.dark-panel,.dark-card,[class*="dark"],[class*="navy"],[class*="night"]) a{color:#d3e9ff!important}
#problems-title{scroll-margin-top:1rem}
#problems-title,.section-intro{text-align:left}
.lsi-blog-featured{margin:1.2rem 0 2rem;display:grid;gap:1.2rem}
.lsi-blog-featured section{padding:1.15rem 1.35rem;border:1px solid #c9d7e8;border-radius:8px;background:#f6f9fc}
.lsi-blog-featured h2,.lsi-blog-featured h3{color:#214e7a!important;font-weight:400!important}
.lsi-blog-featured p{color:#263e54!important}
.lsi-status{font-style:italic}
.lsi-new-content{max-width:1050px;margin:0 auto;padding:1.2rem 1rem 3rem;color:#253c54}
.lsi-new-content h1,.lsi-new-content h2{color:#20517f;font-weight:400}
.lsi-new-content section{margin:1.6rem 0}
.lsi-registration{max-width:950px;margin:auto;padding:1rem 1.2rem 3rem;color:#243d55}
.lsi-registration h1{color:#20517f;font-weight:400}
.lsi-registration form{display:grid;gap:1rem;max-width:780px}
.lsi-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.lsi-registration label{display:flex;flex-direction:column;gap:.4rem}
.lsi-registration input,.lsi-registration select,.lsi-registration textarea{box-sizing:border-box;width:100%;padding:.7rem;border:1px solid #91abc5;border-radius:5px;background:#fff;color:#243d55;font:inherit}
.lsi-registration button{width:max-content;padding:.75rem 1.4rem;border:0;border-radius:5px;background:#20517f;color:#fff;font:inherit;cursor:pointer}
.lsi-form-error{color:#9d1b1b}
.lsi-registration [aria-invalid="true"]{border:2px solid #aa2222}
@media(max-width:650px){.lsi-form-grid{grid-template-columns:1fr}}
/* Explicit dark-panel contrast on the Our Approach page */
#main-content .card h2,#main-content .card h3,#main-content .card h4,#main-content .step strong,#main-content .statement h2,#main-content .statement h3{color:#f5f9ff!important;font-weight:400!important}
#main-content .card,#main-content .step,#main-content .statement{color:#eaf2ff!important}
#main-content .card p,#main-content .step span,#main-content .statement p{color:#e0eaf8!important}
#main-content .hero h1{font-size:clamp(1.75rem,2.8vw,2.65rem)!important;font-weight:400!important}
/* Align the homepage 'Start where you are' callout with the site grid */
.home-visual-row{margin-left:0!important;margin-right:0!important;max-width:100%;box-sizing:border-box}
.home-visual-row > div{margin-left:0!important}

/* Review revision: compact, blue, regular-weight headings on every page.
   Apply after legacy theme rules without altering body copy or navigation. */
html body :is(main, .lsi-main, .lsi-new-content, .lsi-registration) h1,
html body :is(main, .lsi-main, .lsi-new-content, .lsi-registration) .page-title,
html body :is(main, .lsi-main, .lsi-new-content, .lsi-registration) .hero-title {
  font-size:clamp(1.55rem,2.1vw,1.9rem)!important;
  line-height:1.3!important; font-weight:400!important; letter-spacing:-.01em;
}
html body :is(main, .lsi-main, .lsi-new-content, .lsi-registration) h2 {
  font-size:clamp(1.3rem,1.7vw,1.48rem)!important;
  line-height:1.38!important; font-weight:400!important;
}
html body :is(main, .lsi-main, .lsi-new-content, .lsi-registration) h3 {
  font-size:1.16rem!important;line-height:1.42!important;font-weight:400!important;
}
/* The old 1080px section width made this panel look indented
   relative to the 1240px header and other homepage sections. */
html body .problems > .wrap.home-visual-row {
  width:min(1240px,calc(100% - 48px))!important;
  max-width:1240px!important;
  margin-inline:auto!important;
  padding-inline:0!important;
  box-sizing:border-box!important;
}
html body .problems .section-intro,
html body .problems .problem-list {margin-left:0!important;text-align:left!important;}
@media(max-width:760px){
  html body .problems > .wrap.home-visual-row{width:calc(100% - 32px)!important;}
}

/* 2026-10-13: fix nested-width mismatch on homepage problem panel.
   The parent .problems was limited to 960px while its child was 1240px,
   causing the entire panel to overflow to the right. Align both to site grid. */
html body main > section.problems {
  width:min(1240px,calc(100% - 48px))!important;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
html body main > section.problems > .wrap.home-visual-row {
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
@media(max-width:760px){
  html body main > section.problems {width:calc(100% - 32px)!important;}
}
