/* Rank Forge Marketing — editorial alignment, capitalization, and footer pass */
:root{
  --rf4-shell:1160px;
  --rf4-footer:#ddd4c7;
  --rf4-footer-panel:#f5f0e8;
  --rf4-footer-ink:#26323d;
  --rf4-footer-muted:#4d5a66;
  --rf4-footer-line:#aa9f91;
  --rf4-accent:#a93610;
}

/* Older page heroes were built as narrow, centered posters. Recast them as
   editorial introductions aligned to the same left edge as the navigation. */
body:not(.rf-page-home) main>section:first-of-type:not(.rf3-case-hero):not(.rf3-audit-page-hero):not(.rf3-work-index-hero)>div:has(>h1){
  box-sizing:border-box;
  width:calc(100% - 48px)!important;
  max-width:var(--rf4-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  text-align:left!important;
}
body:not(.rf-page-home) main>section:first-of-type:not(.rf3-case-hero):not(.rf3-audit-page-hero):not(.rf3-work-index-hero)>div:has(>h1)>h1,
body:not(.rf-page-home) main>section:first-of-type:not(.rf3-case-hero):not(.rf3-audit-page-hero):not(.rf3-work-index-hero)>div:has(>h1)>p{
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
}
body:not(.rf-page-home) main>section:first-of-type:not(.rf3-case-hero):not(.rf3-audit-page-hero):not(.rf3-work-index-hero)>div:has(>h1)>p{
  max-width:720px!important;
}

/* Long-form introductions retain a readable line length while sharing the
   wider page grid, so the text no longer floats in the middle of the screen. */
body:not(.rf-page-home) main>section>div[style*="max-width:820px"]:has(h2),
body:not(.rf-page-home) main>section>div[style*="max-width:900px"]:has(h2),
body:not(.rf-page-home) main>section>div[style*="max-width:1000px"]:has(h2){
  box-sizing:border-box;
  width:calc(100% - 48px)!important;
  max-width:var(--rf4-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  text-align:left!important;
}
body:not(.rf-page-home) main>section>div[style*="max-width:820px"]:has(h2)>div,
body:not(.rf-page-home) main>section>div[style*="max-width:900px"]:has(h2)>div,
body:not(.rf-page-home) main>section>div[style*="max-width:1000px"]:has(h2)>div{
  max-width:780px;
}
body:not(.rf-page-home) main>section>div[style*="max-width:820px"]:has(h2) h2,
body:not(.rf-page-home) main>section>div[style*="max-width:900px"]:has(h2) h2,
body:not(.rf-page-home) main>section>div[style*="max-width:1000px"]:has(h2) h2,
body:not(.rf-page-home) main>section>div[style*="max-width:820px"]:has(h2) p,
body:not(.rf-page-home) main>section>div[style*="max-width:900px"]:has(h2) p,
body:not(.rf-page-home) main>section>div[style*="max-width:1000px"]:has(h2) p{
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
}

/* Headings should read like edited publishing, not generated sentence-case UI. */
main h1,main h2,main h3{
  text-align:inherit;
  text-wrap:pretty;
}

/* One light, high-contrast footer across every template. */
footer{
  background:var(--rf4-footer)!important;
  color:var(--rf4-footer-ink)!important;
  border-top:1px solid var(--rf4-footer-line)!important;
}
footer>div[style*="height:120px"]{display:none!important;}
footer>div:last-child{
  box-sizing:border-box;
  width:calc(100% - 48px)!important;
  max-width:var(--rf4-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:52px 0 0!important;
}
footer>div:last-child>div:first-child{
  grid-template-columns:minmax(250px,1.2fr) repeat(3,minmax(150px,.8fr))!important;
  gap:36px!important;
  align-items:start!important;
}
footer div[style*="grid-column:1 / -1"]{
  grid-column:auto!important;
  max-width:320px!important;
}
footer p,footer div,footer span,footer b,footer small,footer a{
  color:var(--rf4-footer-muted)!important;
}
footer .rf-footer-brand b,
footer [style*="color:#F3F2EE"],footer [style*="color: #F3F2EE"],
footer [style*="color:#1E2A3A"],footer [style*="color: #1E2A3A"]{
  color:var(--rf4-footer-ink)!important;
}
footer [style*="color:#E4531E"],footer [style*="color: #E4531E"],
footer [style*="color:#F26522"],footer [style*="color: #F26522"],
footer .rf-footer-heading{
  color:var(--rf4-accent)!important;
}
footer a{
  text-decoration-color:rgba(38,50,61,.35)!important;
  text-underline-offset:4px;
}
footer a:hover{color:var(--rf4-accent)!important;}
footer a[style*="background:#202225"],footer a[style*="background: #202225"],
footer a[style*="background:#ffffff"],footer a[style*="background: #ffffff"]{
  background:var(--rf4-footer-panel)!important;
  border-color:var(--rf4-footer-line)!important;
  color:var(--rf4-footer-ink)!important;
}
footer a[aria-label][style*="width:38px"]{
  background:var(--rf4-footer-panel)!important;
  border-color:var(--rf4-footer-line)!important;
  color:var(--rf4-footer-ink)!important;
}
footer>div:last-child>div:last-child{
  border-top-color:var(--rf4-footer-line)!important;
  margin-top:42px!important;
}

@media(max-width:980px){
  footer>div:last-child>div:first-child{
    grid-template-columns:minmax(240px,1.15fr) repeat(2,minmax(170px,.85fr))!important;
  }
}

@media(max-width:760px){
  body:not(.rf-page-home) main>section:first-of-type:not(.rf3-case-hero):not(.rf3-audit-page-hero):not(.rf3-work-index-hero)>div:has(>h1),
  body:not(.rf-page-home) main>section>div[style*="max-width:820px"]:has(h2),
  body:not(.rf-page-home) main>section>div[style*="max-width:900px"]:has(h2),
  body:not(.rf-page-home) main>section>div[style*="max-width:1000px"]:has(h2),
  footer>div:last-child{
    width:calc(100% - 36px)!important;
  }
  footer>div:last-child{padding-top:38px!important;}
  footer>div:last-child>div:first-child{display:block!important;}
  footer div[style*="grid-column:1 / -1"]{max-width:none!important;margin-bottom:30px;}
  footer .rf-footer-group{padding-top:0!important;}
  footer .rf-footer-heading{color:var(--rf4-footer-ink)!important;}
  footer>div:last-child>div:last-child{margin-top:24px!important;}
}

