/* CFR v1.6.42. Final-loaded visual corrections, scoped to affected components.
   The site uses per-request compiled CSS bundles, so corrections MUST be enqueued. */

/* Contact hero: consistent high contrast before, during and after hover. */
.cfr-contact-page .cfr-contact-owner-hero .cfr-actions a.cfr-contact-hero-phone,
.cfr-contact-page .cfr-contact-owner-hero .cfr-actions a.cfr-contact-hero-phone:visited {
  color:#ffffff!important;border:1px solid rgba(255,255,255,.70)!important;
  background:rgba(255,255,255,.065)!important;
}
.cfr-contact-page .cfr-contact-owner-hero .cfr-actions a.cfr-contact-hero-phone:hover,
.cfr-contact-page .cfr-contact-owner-hero .cfr-actions a.cfr-contact-hero-phone:focus-visible {
  color:#fff!important;background:#17618b!important;border-color:#fff!important;
  text-shadow:none!important;
}
.cfr-contact-page .cfr-contact-owner-hero .cfr-actions a.cfr-contact-hero-phone:focus-visible {outline:3px solid #d5f1ff!important;outline-offset:3px}

/* Footer branding: center the existing lockup as a unit, never modify the logo. */
.cfr-footer-v132 .cfr-footer-v132-logo-plate{display:flex!important;justify-content:center!important;align-items:center!important}
.cfr-footer-v132 .cfr-footer-v132-logo-plate .cfr-brand,
.cfr-footer-v132 .cfr-footer-v132-logo-plate .cfr-logo-exact-viewport{
  margin-inline:auto!important;justify-content:center!important;
}

/* Actual printable resources belong in legible, contained editorial notes. */
.cfr-roofing-service-page .cfr-source-note,
.cfr-rs-page .cfr-source-note {
  max-width:76ch!important;padding:1rem 1.2rem!important;
  margin:1.25rem auto!important;border:1px solid #cbdfe9;
  border-left:4px solid #0b6ca5;border-radius:9px;
  background:#f5fafc;color:#26465f!important;line-height:1.6!important;
}
.cfr-roofing-service-page .cfr-source-note a,
.cfr-rs-page .cfr-source-note a{color:#075887!important;font-weight:760!important;text-decoration:underline;text-underline-offset:3px}
.cfr-roofing-service-page .cfr-source-note a:is(:hover,:focus-visible),
.cfr-rs-page .cfr-source-note a:is(:hover,:focus-visible){color:#033d65!important}

/* Flat-roof owner quote checklist: centered container, readable list. */
.cfr-fr-page .cfr-fr-quote-prep{max-width:1000px!important;margin-inline:auto!important}
.cfr-fr-page .cfr-fr-quote-prep .cfr-fr-story-copy{max-width:100%!important;margin-inline:auto!important}
.cfr-fr-page .cfr-fr-quote-prep h2{max-width:23ch!important;margin-inline:auto!important;text-align:center!important;text-wrap:balance!important}
.cfr-fr-page .cfr-fr-quote-prep :is(ul,p){max-width:74ch!important;margin-left:auto!important;margin-right:auto!important}
.cfr-fr-page .cfr-fr-quote-prep ul{padding-left:1.5rem!important}

/* Roofing-system information: no empty right rail unless actual media exists. */
.cfr-rs-page .cfr-rs-contained .cfr-rs-centered-chapter{max-width:1050px!important;margin-inline:auto!important}
.cfr-rs-page .cfr-rs-contained .cfr-rs-centered-chapter>.cfr-industry-grid{max-width:100%!important}
.cfr-rs-page .cfr-rs-faq-answers{min-width:0}
.cfr-rs-page .cfr-rs-faq-answers .cfr-faq-list{width:100%}

/* Guides: the editorial split has consistent left/right space and balanced heading. */
@media(min-width:1101px){
  main#main-content .cfr-guides-story .cfr-guides-story-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important;
    gap:clamp(2rem,3.4vw,3.8rem)!important;align-items:start!important;
  }
  main#main-content .cfr-guides-story .cfr-guides-story-copy{max-width:none!important}
  main#main-content .cfr-guides-story .cfr-guides-story-copy h2{
    max-width:23ch!important;font-size:clamp(1.95rem,2.6vw,2.65rem)!important;
    line-height:1.16!important;text-wrap:balance!important;
  }
}
main#main-content .cfr-guides-story .cfr-guides-story-copy p{max-width:68ch;line-height:1.7}

/* Guides decision panel: intentional LIGHT transition after dark hero.
   Avoid two identical adjacent dark sections and restore eyebrow/card contrast. */
main#main-content .cfr-guides-decision-band{
  background:#eef5fa!important;color:#0a2e4b!important;
  border-block:1px solid #d8e6ef!important;padding-block:clamp(2.1rem,3.8vw,3.4rem)!important;
}
main#main-content .cfr-guides-decision-heading .cfr-eyebrow{color:#075e92!important}
main#main-content .cfr-guides-decision-heading .cfr-eyebrow:before{background:#0876b9!important}
main#main-content .cfr-guides-decision-heading h2{color:#102f4a!important}
main#main-content .cfr-guides-decision-grid a{
  background:#fff!important;color:#163a54!important;border:1px solid #cbdfeb!important;
  box-shadow:0 11px 28px -25px rgba(12,51,81,.34);
}
main#main-content .cfr-guides-decision-grid a:nth-child(even){background:#e5f1f8!important}
main#main-content .cfr-guides-decision-grid a strong{color:#092d4a!important}
main#main-content .cfr-guides-decision-grid a span{color:#365870!important}
main#main-content .cfr-guides-decision-grid a:is(:hover,:focus-visible){background:#d2eaf7!important;border-color:#478cba!important;transform:translateY(-2px)}
main#main-content .cfr-guides-decision-grid a:focus-visible{outline:3px solid #067bb9!important;outline-offset:3px}

/* Project galleries: panos follow exactly the same photo-card rhythm;
   full-size original still opens through the existing lightbox button. */
.cfr-projects-page .cfr-project-gallery>.cfr-project-card,
.cfr-projects-page .cfr-project-gallery>.cfr-project-card.cfr-project-card-panorama,
.cfr-projects-page .cfr-project-gallery>.cfr-project-card.cfr-project-card-native-wide{
  grid-column:auto!important;grid-row:auto!important;
  width:100%!important;max-width:none!important;min-width:0!important;
  justify-self:stretch!important;align-self:stretch!important;
  display:block!important;
}
.cfr-projects-page .cfr-project-gallery>.cfr-project-card .cfr-project-open,
.cfr-projects-page .cfr-project-gallery>.cfr-project-card.cfr-project-card-panorama .cfr-project-open,
.cfr-projects-page .cfr-project-gallery>.cfr-project-card.cfr-project-card-native-wide .cfr-project-open{
  display:block!important;width:100%!important;height:auto!important;min-height:0!important;
  aspect-ratio:16/10!important;border:0!important;overflow:hidden!important;
}
.cfr-projects-page .cfr-project-gallery>.cfr-project-card .cfr-project-open img{
  display:block!important;width:100%!important;height:100%!important;max-height:none!important;
  object-fit:cover!important;object-position:center!important;
}
.cfr-projects-page .cfr-project-gallery>.cfr-project-card.cfr-project-card-panorama figcaption{
  display:none!important;
}
@media(max-width:720px){
  .cfr-projects-page .cfr-project-gallery>.cfr-project-card .cfr-project-open{aspect-ratio:4/3!important}
}

/* Solar expansions: balanced three-item evidence row spans both hero columns. */
main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-grid>.cfr-exp-trustline{
  grid-area:trust!important;grid-column:1/-1!important;display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;max-width:none!important;margin:0!important;
  padding:0!important;gap:clamp(.7rem,1.3vw,1.25rem)!important;
  align-items:stretch!important;
}
main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-trustline span{
  display:flex!important;align-items:center!important;gap:.55rem!important;
  justify-content:flex-start!important;min-width:0!important;width:100%!important;
  white-space:normal!important;font-size:clamp(.85rem,.93vw,.98rem)!important;
  line-height:1.35!important;padding:.85rem .9rem!important;
  color:#eaf8ff!important;border:1px solid rgba(170,214,239,.3)!important;
  background:rgba(255,255,255,.08)!important;
}
main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-trustline span::before{
  flex:0 0 1.3rem!important;width:1.3rem!important;height:1.3rem!important;
  display:inline-grid!important;place-items:center!important;
  margin:0!important;font-size:.77rem!important;
}

/* ALL commercial solar priority cards: checkmark and title on one row. */
main.cfr-exp-main.cfr-exp-premium .cfr-exp-priority-card{
  display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;
  grid-template-areas:"icon title" "body body"!important;
  gap:.9rem 1rem!important;align-content:start!important;
}
main.cfr-exp-main.cfr-exp-premium .cfr-exp-priority-card>.cfr-exp-priority-icon{
  grid-area:icon!important;align-self:center!important;margin:0!important;
}
main.cfr-exp-main.cfr-exp-premium .cfr-exp-priority-card>h3{
  grid-area:title!important;align-self:center!important;margin:0!important;
  min-width:0!important;text-wrap:pretty!important;
}
main.cfr-exp-main.cfr-exp-premium .cfr-exp-priority-card>p{
  grid-area:body!important;max-width:100%!important;margin:0!important;
}

/* Solar maintenance title was excessively wide, creating a billboard effect. */
@media(min-width:900px){
  main.cfr-exp-owner-commercial-solar-maintenance-monitoring .cfr-exp-delivery-head h2{
    max-width:25ch!important;font-size:clamp(2rem,2.6vw,2.7rem)!important;
    line-height:1.16!important;letter-spacing:-.03em!important;
  }
}

/* EV cross-sell block: balanced H2 and right-side checklist, not a huge H2. */
.cfr-solar-managed .cfr-v1419-ev-hub-grid{align-items:center!important;gap:clamp(1.5rem,3vw,3rem)!important}
.cfr-solar-managed .cfr-v1419-ev-hub-copy h2{
  max-width:22ch!important;font-size:clamp(2rem,2.85vw,2.8rem)!important;
  line-height:1.14!important;letter-spacing:-.035em!important;
}
.cfr-solar-managed .cfr-v1419-ev-hub-panel{align-self:center!important}
.cfr-solar-managed .cfr-v1419-ev-hub-panel li{color:#eef8ff!important;line-height:1.5!important}

/* Solar roof readiness: align text and form from same top, remove dead air. */
@media(min-width:901px){
  main.cfr-solar-managed .cfr-quote-section .cfr-quote-grid{
    grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
    align-items:start!important;gap:clamp(1.5rem,3vw,3rem)!important;
  }
  main.cfr-solar-managed .cfr-quote-section .cfr-solar-assessment-copy,
  main.cfr-solar-managed .cfr-quote-section .cfr-quote-panel{
    align-self:start!important;margin-top:0!important;
  }
}
main.cfr-solar-managed .cfr-solar-assessment-next .cfr-source-note{
  margin:1rem 0 0!important;padding:1rem 1.1rem!important;
  border:1px solid #60869c!important;border-left:4px solid #8bdbff!important;
  border-radius:9px!important;background:#0b2e45!important;
  color:#e8f5ff!important;line-height:1.62!important;
}
main.cfr-solar-managed .cfr-solar-assessment-next .cfr-source-note strong{
  color:#fff!important;display:block!important;margin-bottom:.32rem!important;
}
main.cfr-solar-managed .cfr-solar-assessment-next .cfr-source-note a{
  color:#b8edff!important;text-decoration:underline!important;
  text-decoration-thickness:1.5px!important;text-underline-offset:3px!important;
  font-weight:780!important;
}
main.cfr-solar-managed .cfr-solar-assessment-next .cfr-source-note a:is(:hover,:focus-visible){
  color:#fff!important;text-decoration-thickness:2px!important;
}

/* Article hero summaries: never crop or clamp text visually, keep dark contrast. */
body.single-post main#main-content .cfr-article-wrap .cfr-article-hero-deck{
  display:block!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;
  max-height:none!important;height:auto!important;overflow:visible!important;
  color:#e4f2fb!important;
}
body.single-post main#main-content .cfr-article-wrap .cfr-article-header{
  min-height:0!important;overflow:visible!important;
}

@media(max-width:980px){
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-grid>.cfr-exp-trustline{
    grid-template-columns:1fr!important;
  }
  .cfr-solar-managed .cfr-v1419-ev-hub-copy h2{max-width:23ch!important}
}
@media(max-width:640px){
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-priority-card{
    grid-template-columns:42px minmax(0,1fr)!important;gap:.8rem!important;
  }
  main#main-content .cfr-guides-story .cfr-guides-story-copy h2{max-width:100%!important}
}

/* Override historic "special last panorama" selectors including :last-child. */
main.cfr-projects-page .cfr-project-gallery-last-panorama > figure.cfr-project-card.cfr-project-card-panorama:last-child,
main.cfr-projects-page .cfr-project-gallery-solar > figure.cfr-project-card.cfr-project-card-panorama:last-child,
main.cfr-projects-page .cfr-project-gallery-roofing > figure.cfr-project-card.cfr-project-card-panorama:last-child{
  grid-column:auto!important;grid-row:auto!important;
  width:100%!important;max-width:none!important;justify-self:stretch!important;
  display:block!important;min-height:0!important;
}
main.cfr-projects-page .cfr-project-gallery-last-panorama > figure.cfr-project-card.cfr-project-card-panorama:last-child .cfr-project-open{
  width:100%!important;aspect-ratio:16/10!important;height:auto!important;min-height:0!important;
}


/* v1.6.43 - owner follow-up: footer tagline centering + centered solar trust row */
.cfr-footer-v132 .cfr-brand-footer.cfr-brand-exact,
.cfr-footer-v132 .cfr-brand.cfr-brand-footer.cfr-brand-exact{
  position:relative!important;
  display:inline-block!important;
  width:min(100%,430px)!important;
  margin-inline:auto!important;
  line-height:0!important;
}
.cfr-footer-v132 .cfr-brand-footer .cfr-logo-exact-img,
.cfr-footer-v132 .cfr-brand.cfr-brand-footer .cfr-logo-exact-img{
  display:block!important;
  width:100%!important;
  height:auto!important;
}
.cfr-footer-v132 .cfr-brand-footer .cfr-brand-tagline,
.cfr-footer-v132 .cfr-brand.cfr-brand-footer .cfr-brand-tagline{
  left:18.2%!important;
  right:0!important;
  width:81.8%!important;
  text-align:center!important;
  margin:0!important;
  transform:none!important;
  letter-spacing:.18em!important;
}

main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-grid>.cfr-exp-trustline{
  width:min(100%,1140px)!important;
  margin:0 auto!important;
  justify-items:center!important;
}
main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-trustline span{
  justify-content:center!important;
  text-align:center!important;
  margin:0 auto!important;
}
@media(max-width:980px){
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-grid>.cfr-exp-trustline{
    width:100%!important;
  }
}


/* v1.6.45 - verified solar check card and footer lockup alignment */
main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero{
  padding-bottom:2rem!important;
}
main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-grid>.cfr-exp-trustline,
main.cfr-exp-main.cfr-exp-premium .cfr-exp-trustline{
  grid-column:1 / -1!important;
  width:min(100%,1220px)!important;
  margin:1rem auto 0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:1rem!important;
  align-items:stretch!important;
  justify-items:stretch!important;
}
main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-trustline span,
main.cfr-exp-main.cfr-exp-premium .cfr-exp-trustline span{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:.7rem!important;
  min-height:76px!important;
  width:100%!important;
  margin:0!important;
  padding:1rem 1.2rem!important;
  border:1px solid rgba(144,190,217,.35)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.08)!important;
  color:#f2f9ff!important;
  text-align:left!important;
  line-height:1.35!important;
  font-size:clamp(.92rem,.98vw,1.02rem)!important;
  font-weight:780!important;
  box-shadow:none!important;
}
main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-trustline span::before,
main.cfr-exp-main.cfr-exp-premium .cfr-exp-trustline span::before{
  flex:0 0 2rem!important;
  width:2rem!important;
  height:2rem!important;
  border:1px solid rgba(149,211,244,.8)!important;
  border-radius:50%!important;
  background:transparent!important;
  color:#9dddfd!important;
  font-size:1.05rem!important;
  font-weight:800!important;
}

.cfr-footer-v132 .cfr-footer-v132-brand .cfr-footer-v132-logo-plate{
  width:min(100%,430px)!important;
  margin-inline:0 auto!important;
}
.cfr-footer-v132 .cfr-footer-v132-brand .cfr-brand.cfr-brand-footer.cfr-brand-exact{
  position:relative!important;
  display:block!important;
  width:min(100%,430px)!important;
  max-width:100%!important;
  margin:0!important;
  line-height:0!important;
}
.cfr-footer-v132 .cfr-footer-v132-brand .cfr-brand.cfr-brand-footer.cfr-brand-exact .cfr-logo-exact-viewport,
.cfr-footer-v132 .cfr-footer-v132-brand .cfr-brand.cfr-brand-footer.cfr-brand-exact .cfr-logo-exact-img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
}
.cfr-footer-v132 .cfr-footer-v132-brand .cfr-brand.cfr-brand-footer.cfr-brand-exact .cfr-brand-tagline{
  position:absolute!important;
  left:18.2%!important;
  right:0!important;
  width:81.8%!important;
  bottom:5.8%!important;
  display:block!important;
  margin:0!important;
  text-align:center!important;
  transform:none!important;
  color:#62758a!important;
  font-size:7px!important;
  font-weight:750!important;
  line-height:1!important;
  letter-spacing:.18em!important;
  white-space:nowrap!important;
}
@media(max-width:980px){
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-grid>.cfr-exp-trustline,
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-trustline{
    width:100%!important;
    grid-template-columns:1fr!important;
  }
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-trustline span,
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-trustline span{
    min-height:unset!important;
  }
}


/* Final lockup geometry: center the real-text subtitle under the wordmark,
   not under the building icon. The approved image itself is unchanged. */
.cfr-footer-v132 .cfr-footer-v132-brand .cfr-brand.cfr-brand-footer.cfr-brand-exact .cfr-brand-tagline {
  left:18.2%!important;right:auto!important;width:81.8%!important;
  box-sizing:border-box!important;text-align:center!important;
  font-size:clamp(6px,.48vw,8px)!important;letter-spacing:.16em!important;
}

/* Desktop and tablet: equal-width solar proof cards fill the two-column hero. */
@media(min-width:981px){
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-grid>.cfr-exp-trustline {
    max-width:100%!important;justify-self:stretch!important;
    margin:0 auto!important;
  }
}


/* CFR v1.6.46: repair the REAL solar-expansion grid, not margins around
   incorrectly named grid areas. The template wraps heading + lead in one
   .cfr-hero-content-stack: there are only THREE direct grid children. */
@media (min-width:1101px) {
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero > .cfr-exp-hero-grid {
    display:grid!important;
    grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr)!important;
    grid-template-areas:"content visual" "trust trust"!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    align-content:start!important;
    column-gap:clamp(1.35rem,3.1vw,2.65rem)!important;
    row-gap:clamp(.75rem,1.3vw,1.15rem)!important;
  }
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-grid > .cfr-hero-content-stack {
    grid-area:content!important;
    justify-content:center!important;
    align-self:center!important;
    gap:clamp(.75rem,1.1vw,1.05rem)!important;
  }
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-grid > .cfr-exp-hero-visual {
    grid-area:visual!important;
    align-self:center!important;
  }
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-actions {
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:clamp(.55rem,.95vw,.9rem)!important;
    margin-top:clamp(.95rem,1.4vw,1.2rem)!important;
  }
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-actions .cfr-btn {
    flex:0 1 auto!important;
    min-width:0!important;
    max-width:67%!important;
    padding:.75rem clamp(.7rem,1.1vw,1rem)!important;
    font-size:clamp(.91rem,1vw,1rem)!important;
    line-height:1.3!important;
  }
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-actions .cfr-exp-hero-secondary {
    flex:1 1 auto!important;
    min-width:0!important;
    padding:0!important;
    font-size:clamp(.87rem,.95vw,.99rem)!important;
    line-height:1.35!important;
    white-space:normal!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
}
main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero {
  padding-top:clamp(1.7rem,2.8vw,2.7rem)!important;
  padding-bottom:clamp(1.45rem,2.4vw,2.1rem)!important;
}
main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-grid > .cfr-exp-trustline {
  grid-area:trust!important;
  grid-column:1/-1!important;
  align-self:start!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
@media (max-width:1100px) {
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero > .cfr-exp-hero-grid {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"content" "visual" "trust"!important;
    grid-template-rows:auto auto auto!important;
    row-gap:clamp(.85rem,1.8vw,1.25rem)!important;
    align-items:start!important;
    align-content:start!important;
  }
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-grid > .cfr-hero-content-stack {grid-area:content!important;}
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-grid > .cfr-exp-hero-visual {grid-area:visual!important;}
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-actions {flex-wrap:wrap!important;}
}
/* Preserve the approved boxed proof cards and their one-row check+text layout. */
main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-trustline span {
  align-items:center!important;
  text-align:left!important;
  overflow-wrap:normal!important;
}


/* CFR v1.6.47 | Owner-approved visual closeout. */
/* The managed-solar hub is rendered by solar-render.php, not solar-expansion.php.
   Match the approved expansion check-card presentation, with readable contrast. */
main.cfr-solar-managed .cfr-solar-hero .cfr-solar-hero-grid > .cfr-solar-trust-row {
  display:grid!important;
  grid-area:trust!important;
  grid-column:1/-1!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  margin:0!important;
  gap:clamp(.75rem,1.25vw,1.2rem)!important;
  justify-content:stretch!important;
  align-items:stretch!important;
}
main.cfr-solar-managed .cfr-solar-hero .cfr-solar-trust-row > span {
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  width:100%!important;
  min-height:70px!important;
  margin:0!important;
  padding:1rem clamp(.7rem,1.3vw,1.2rem)!important;
  gap:.65rem!important;
  border:1px solid rgba(157,201,225,.49)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.09)!important;
  color:#f1faff!important;
  text-align:left!important;
  font-size:clamp(.85rem,.96vw,1rem)!important;
  line-height:1.45!important;
  font-weight:780!important;
  box-shadow:none!important;
}
main.cfr-solar-managed .cfr-solar-hero .cfr-solar-trust-row > span::before {
  content:"✓"!important;
  box-sizing:border-box!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 2rem!important;
  width:2rem!important;
  height:2rem!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(158,223,253,.85)!important;
  border-radius:50%!important;
  color:#a6e2ff!important;
  font-size:1.05rem!important;
  font-weight:750!important;
  line-height:1!important;
}
/* Remove grid-template-area phantom rows from older CSS, where heading and copy
   are wrapped inside one real direct child (.cfr-hero-content-stack). */
@media(min-width:981px){
  main.cfr-solar-managed .cfr-solar-hero .cfr-solar-hero-grid:not(.cfr-solar-hero-no-media){
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)!important;
    grid-template-areas:"content photo" "trust trust"!important;
    grid-template-rows:auto auto!important;
    row-gap:clamp(.85rem,1.4vw,1.3rem)!important;
    align-items:center!important;
  }
  main.cfr-solar-managed .cfr-solar-hero .cfr-solar-hero-grid > .cfr-hero-content-stack{
    grid-area:content!important;
    align-self:center!important;
    min-width:0!important;
  }
  main.cfr-solar-managed .cfr-solar-hero .cfr-solar-hero-grid > .cfr-solar-hero-media{
    grid-area:photo!important;
    align-self:center!important;
  }
}
@media(max-width:980px){
  main.cfr-solar-managed .cfr-solar-hero .cfr-solar-hero-grid:not(.cfr-solar-hero-no-media){
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"content" "photo" "trust"!important;
    grid-template-rows:auto auto auto!important;
  }
  main.cfr-solar-managed .cfr-solar-hero .cfr-solar-hero-grid > .cfr-hero-content-stack{
    grid-area:content!important;
  }
  main.cfr-solar-managed .cfr-solar-hero .cfr-solar-hero-grid > .cfr-solar-hero-media{
    grid-area:photo!important;
  }
}
@media(max-width:760px){
  main.cfr-solar-managed .cfr-solar-hero .cfr-solar-hero-grid > .cfr-solar-trust-row{
    grid-template-columns:minmax(0,1fr)!important;
  }
  main.cfr-solar-managed .cfr-solar-hero .cfr-solar-trust-row > span{
    min-height:58px!important;
  }
}
/* Footer: restore header's exact approved wordmark and place a readable
   brand tagline underneath, centered below the *wordmark*, not the icon.
   Avoid the old absolute-position/7px caption that overlapped the image. */
.cfr-footer-v132 .cfr-footer-v132-logo-plate {
  display:block!important;
  width:min(100%,430px)!important;
  max-width:100%!important;
  min-height:0!important;
  margin:0 0 1rem!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.cfr-footer-v132 .cfr-footer-v132-logo-plate .cfr-brand.cfr-brand-footer.cfr-brand-exact {
  display:block!important;
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  line-height:normal!important;
  text-decoration:none!important;
}
.cfr-footer-v132 .cfr-footer-v132-logo-plate .cfr-brand-footer .cfr-logo-exact-img {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}
.cfr-footer-v132 .cfr-footer-v132-logo-plate .cfr-brand-footer .cfr-brand-tagline {
  position:static!important;
  display:block!important;
  box-sizing:border-box!important;
  width:81.8%!important;
  max-width:none!important;
  margin:0 0 0 18.2%!important;
  padding:0!important;
  transform:none!important;
  text-align:center!important;
  font-family:var(--cfr-sans)!important;
  font-size:clamp(8px,.65vw,10px)!important;
  line-height:1.45!important;
  letter-spacing:.12em!important;
  font-weight:780!important;
  white-space:nowrap!important;
  color:#46617a!important;
}
@media(max-width:480px){
  .cfr-footer-v132 .cfr-footer-v132-logo-plate .cfr-brand-footer .cfr-brand-tagline{
    font-size:clamp(6px,1.9vw,9px)!important;
    letter-spacing:.07em!important;
  }
}

/* v1.6.47 footer final specificity: older QA stylesheet used six class
   selectors with !important. Exceed that specificity to make the tagline
   part of normal document flow beneath the same approved header wordmark. */
html body footer.cfr-footer-v132 .cfr-footer-v132-main .cfr-footer-v132-brand .cfr-footer-v132-logo-plate > a.cfr-brand.cfr-brand-footer.cfr-brand-exact > span.cfr-brand-tagline {
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:81.8%!important;
  height:auto!important;
  max-width:none!important;
  margin:0 0 0 18.2%!important;
  padding:0!important;
  font-size:clamp(8px,.65vw,10px)!important;
  font-weight:780!important;
  letter-spacing:.12em!important;
  line-height:1.4!important;
  text-align:center!important;
  white-space:nowrap!important;
  color:#46617a!important;
  transform:none!important;
}

/* A few managed solar routes have no hero media. They contain only the content
   stack and trust cards, so do not reserve empty heading/copy grid tracks. */
main.cfr-solar-managed .cfr-solar-hero .cfr-solar-hero-grid.cfr-solar-hero-no-media{
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:"content" "trust"!important;
  grid-template-rows:auto auto!important;
  align-items:start!important;
}
main.cfr-solar-managed .cfr-solar-hero .cfr-solar-hero-grid.cfr-solar-hero-no-media > .cfr-hero-content-stack{
  grid-area:content!important;
}

/* CFR v1.6.48 | Final owner alignment closeout. */

/* Expansion-page trust rows should follow the approved managed-solar spacing rhythm:
   tight to the hero, equal left/right container gutters, and balanced card gaps. */
@media(min-width:981px){
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero > .cfr-exp-hero-grid{
    row-gap:clamp(.6rem,1vw,.95rem)!important;
  }
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-actions{
    margin-top:clamp(.8rem,1.15vw,1rem)!important;
    margin-bottom:0!important;
  }
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-copy > p{
    margin-bottom:0!important;
  }
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-trustline,
  main.cfr-exp-main.cfr-exp-premium .cfr-exp-hero .cfr-exp-hero-grid > .cfr-exp-trustline{
    margin-top:.1rem!important;
    gap:clamp(.75rem,1.2vw,1.05rem)!important;
  }
}

/* Nicaragua hero: move the photo up so the top edge aligns cleanly with the copy block. */
@media(min-width:981px){
  main#main-content.cfr-missions-page .cfr-missions-hero-grid{
    align-items:start!important;
    gap:clamp(2rem,3vw,2.9rem)!important;
  }
  main#main-content.cfr-missions-page .cfr-missions-hero-visual{
    align-self:start!important;
    margin-top:-8px!important;
  }
  main#main-content.cfr-missions-page .cfr-missions-hero-photo{
    margin-top:0!important;
  }
  main#main-content.cfr-missions-page .cfr-missions-logo-badge{
    left:-18px!important;
    bottom:26px!important;
  }
}

/* Mission-story intro should read like an editorial section, not a full-width billboard. */
main#main-content.cfr-missions-page .cfr-missions-section-heading{
  max-width:1100px!important;
}
main#main-content.cfr-missions-page .cfr-missions-section-heading p{
  max-width:66ch!important;
}

/* v1.6.50: footer subtitle matches the approved header typography and
   wordmark alignment. The approved logo asset and header remain unchanged. */
html body footer.cfr-footer-v132 .cfr-footer-v132-main .cfr-footer-v132-brand .cfr-footer-v132-logo-plate{
  display:block!important;
  width:min(100%,390px)!important;
  max-width:100%!important;
  margin:0 auto .9rem!important;
  padding:0!important;
}
html body footer.cfr-footer-v132 .cfr-footer-v132-main .cfr-footer-v132-brand .cfr-footer-v132-logo-plate > a.cfr-brand.cfr-brand-footer.cfr-brand-exact{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  line-height:0!important;
}
html body footer.cfr-footer-v132 .cfr-footer-v132-main .cfr-footer-v132-brand .cfr-footer-v132-logo-plate > a.cfr-brand.cfr-brand-footer.cfr-brand-exact > img.cfr-logo-exact-img{
  display:block!important;
  width:100%!important;
  height:auto!important;
}
html body footer.cfr-footer-v132 .cfr-footer-v132-main .cfr-footer-v132-brand .cfr-footer-v132-logo-plate > a.cfr-brand.cfr-brand-footer.cfr-brand-exact > span.cfr-brand-tagline{
  position:absolute!important;
  inset:auto!important;
  left:18%!important;
  right:0!important;
  bottom:6.5%!important;
  display:block!important;
  box-sizing:border-box!important;
  width:82%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  text-align:center!important;
  font-family:var(--cfr-sans)!important;
  font-size:8px!important;
  line-height:1!important;
  letter-spacing:.21em!important;
  font-weight:750!important;
  color:#62758a!important;
  white-space:nowrap!important;
}
@media(max-width:1100px){
  html body footer.cfr-footer-v132 .cfr-footer-v132-main .cfr-footer-v132-brand .cfr-footer-v132-logo-plate{width:min(100%,330px)!important}
  html body footer.cfr-footer-v132 .cfr-footer-v132-main .cfr-footer-v132-brand .cfr-footer-v132-logo-plate > a.cfr-brand.cfr-brand-footer.cfr-brand-exact > span.cfr-brand-tagline{font-size:7px!important}
}
@media(max-width:900px){
  html body footer.cfr-footer-v132 .cfr-footer-v132-main .cfr-footer-v132-brand .cfr-footer-v132-logo-plate{width:min(100%,300px)!important}
  html body footer.cfr-footer-v132 .cfr-footer-v132-main .cfr-footer-v132-brand .cfr-footer-v132-logo-plate > a.cfr-brand.cfr-brand-footer.cfr-brand-exact > span.cfr-brand-tagline{font-size:6.5px!important}
}
@media(max-width:760px){
  html body footer.cfr-footer-v132 .cfr-footer-v132-main .cfr-footer-v132-brand .cfr-footer-v132-logo-plate{width:min(100%,250px)!important}
  html body footer.cfr-footer-v132 .cfr-footer-v132-main .cfr-footer-v132-brand .cfr-footer-v132-logo-plate > a.cfr-brand.cfr-brand-footer.cfr-brand-exact > span.cfr-brand-tagline{
    left:18.2%!important;width:81.8%!important;
    font-size:6px!important;letter-spacing:.14em!important;
  }
}
