/* v1.5.51 - EV hero: actual premium, locally hosted, licensed representative photo. */
body:not(.home) .cfr-ev-hero .cfr-ev-hero-image{
  display:block; position:relative; isolation:isolate; overflow:hidden; min-width:0;
  margin:0; padding:0; aspect-ratio:5/4; width:100%; max-width:680px;
  border:1px solid rgba(185,218,235,.26); border-radius:19px;
  background:#20425d; box-shadow:0 26px 64px -28px rgba(0,0,0,.47);
}
body:not(.home) .cfr-ev-hero .cfr-ev-hero-image::after{display:none!important}
body:not(.home) .cfr-ev-hero .cfr-ev-hero-image > img{
  display:block; width:100%; height:100%; min-height:0; max-height:none;
  aspect-ratio:auto; border-radius:0; object-fit:cover; object-position:50% 46%;
  filter:saturate(.95) contrast(1.04);
}
@media(max-width:1040px){body:not(.home) .cfr-ev-hero .cfr-ev-hero-image{max-width:720px}}
@media(max-width:620px){body:not(.home) .cfr-ev-hero .cfr-ev-hero-image{aspect-ratio:7/5;border-radius:14px}}

/* Hero-media QA: every previously text-only public interior hero receives its own photograph. */
body:not(.home) main .cfr-qa-hero-split{padding-block:clamp(2.6rem,4.3vw,4.4rem)}
body:not(.home) main .cfr-qa-split-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(1.5rem,3.8vw,4rem);width:min(calc(100% - 3rem),1320px);max-width:1320px;margin:0 auto}
body:not(.home) main .cfr-qa-split-hero>.cfr-page-hero-copy{min-width:0;max-width:690px}
body:not(.home) main .cfr-qa-split-hero .cfr-qa-side-photo{display:block;overflow:hidden;position:relative;isolation:isolate;width:100%;max-width:690px;min-width:0;aspect-ratio:16/10;min-height:0;margin:0;border-radius:18px;background:#d5e2ec;border:1px solid rgba(120,168,201,.34);box-shadow:0 22px 50px -27px rgba(8,32,53,.42)}
body:not(.home) main .cfr-qa-split-hero .cfr-qa-side-photo::after{display:none!important}
body:not(.home) main .cfr-qa-split-hero .cfr-qa-side-photo>img{display:block;width:100%;height:100%;aspect-ratio:auto;max-height:none;min-height:0;object-fit:cover;object-position:center 46%;border:0;border-radius:0;box-shadow:none;background:#c8d8e4;filter:saturate(.96) contrast(1.03)}
body:not(.home) main .cfr-qa-hero-split h1{max-width:19ch;text-wrap:balance;font-size:clamp(2rem,3.45vw,3.55rem);line-height:1.08;letter-spacing:-.04em}
body:not(.home) main .cfr-qa-hero-split .cfr-section-intro{max-width:65ch}
body:not(.home) main .cfr-projects-hero.cfr-qa-hero-split .cfr-project-gallery-summary{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}
@media(max-width:1000px){body:not(.home) main .cfr-qa-split-hero{grid-template-columns:1fr;max-width:790px;gap:1.6rem}body:not(.home) main .cfr-qa-split-hero .cfr-qa-side-photo{max-width:790px;aspect-ratio:16/9}}
@media(max-width:620px){body:not(.home) main .cfr-qa-split-hero{width:min(calc(100% - 2rem),540px)}body:not(.home) main .cfr-qa-hero-split{padding-block:2rem}body:not(.home) main .cfr-qa-split-hero .cfr-qa-side-photo{aspect-ratio:7/5;border-radius:13px}}
/* CFR v1.5.63: roofing-gallery hero â€” editorial proportion and top alignment. */
body:not(.home) main .cfr-legacy-gallery-hero{padding-block:clamp(1.9rem,3vw,3rem)!important}
body:not(.home) main .cfr-legacy-gallery-hero .cfr-qa-split-hero{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)!important;align-items:start!important;gap:clamp(1.5rem,3.3vw,3rem)!important;width:min(calc(100% - 2.5rem),1320px)!important;max-width:1320px!important;margin:0 auto!important}
body:not(.home) main .cfr-legacy-gallery-hero .cfr-qa-split-hero>.cfr-page-hero-copy{align-self:start!important;min-width:0;max-width:unset;padding-top:0!important}
body:not(.home) main .cfr-legacy-gallery-hero .cfr-page-hero-copy h1{max-width:650px;font-size:clamp(2.15rem,3.15vw,3.25rem);line-height:1.12;letter-spacing:-.035em;text-wrap:balance}
body:not(.home) main .cfr-legacy-gallery-hero .cfr-page-hero-copy .cfr-section-intro{max-width:650px;line-height:1.65}
body:not(.home) main .cfr-legacy-gallery-hero .cfr-qa-split-hero .cfr-qa-side-photo{display:block;align-self:start!important;justify-self:end!important;width:100%!important;max-width:560px!important;max-height:350px!important;min-height:0!important;aspect-ratio:16/10!important;margin:0!important;overflow:hidden;border-radius:16px}
body:not(.home) main .cfr-legacy-gallery-hero .cfr-qa-split-hero .cfr-qa-side-photo>img{display:block;width:100%!important;height:100%!important;object-fit:cover;object-position:center 50%}
body:not(.home) main .cfr-legacy-gallery-hero .cfr-gallery-hero-note,body:not(.home) main .cfr-legacy-gallery-hero .cfr-editorial-hero-details{display:none!important}
@media(max-width:1000px){body:not(.home) main .cfr-legacy-gallery-hero .cfr-qa-split-hero{grid-template-columns:minmax(0,1fr)!important;max-width:760px!important;gap:1.45rem!important}body:not(.home) main .cfr-legacy-gallery-hero .cfr-qa-split-hero .cfr-qa-side-photo{justify-self:stretch!important;max-width:100%!important;max-height:none!important;aspect-ratio:16/10!important}}
@media(max-width:620px){body:not(.home) main .cfr-legacy-gallery-hero{padding-block:1.6rem 2rem!important}body:not(.home) main .cfr-legacy-gallery-hero .cfr-qa-split-hero{width:min(calc(100% - 2rem),540px)!important;gap:1.2rem!important}body:not(.home) main .cfr-legacy-gallery-hero .cfr-page-hero-copy h1{font-size:clamp(2.05rem,8vw,2.65rem)}body:not(.home) main .cfr-legacy-gallery-hero .cfr-qa-split-hero .cfr-qa-side-photo{aspect-ratio:16/10!important;border-radius:12px}}
/* CFR v1.5.78 - selected directory/gallery/guides editorial hero alignment.
 * Use the real page width for H1 and a balanced copy/photo grid beneath.
 */
main#main-content .cfr-index-editorial-hero .cfr-index-editorial-grid{
 display:grid!important;
 grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)!important;
 grid-template-areas:"heading heading" "copy visual"!important;
 gap:clamp(1.2rem,2vw,1.9rem) clamp(1.5rem,3.3vw,3.3rem)!important;
 align-items:start!important;
}
main#main-content .cfr-index-editorial-hero .cfr-index-hero-heading{
 grid-area:heading!important;
 width:100%!important;
 max-width:none!important;
 min-width:0!important;
 text-align:left!important;
}
main#main-content .cfr-index-editorial-hero .cfr-index-hero-heading .cfr-breadcrumbs{
 margin:0 0 clamp(.85rem,1.3vw,1.15rem)!important;
}
main#main-content .cfr-index-editorial-hero .cfr-index-hero-heading .cfr-eyebrow{
 display:block!important;
 margin:0 0 .6rem!important;
}
main#main-content .cfr-index-editorial-hero .cfr-index-hero-heading h1{
 display:block!important;
 width:100%!important;
 max-width:none!important;
 font-size:clamp(2.05rem,3.06vw,3.25rem)!important;
 line-height:1.13!important;
 letter-spacing:-.036em!important;
 text-align:left!important;
 text-wrap:pretty!important;
 word-break:normal!important;
 overflow-wrap:break-word!important;
 margin:0!important;
 color:#fff!important;
}
main#main-content .cfr-index-editorial-hero .cfr-index-editorial-grid > .cfr-page-hero-copy{
 grid-area:copy!important;
 min-width:0!important;
 max-width:none!important;
 width:100%!important;
 padding:0!important;
 margin:0!important;
 align-self:start!important;
 text-align:left!important;
}
main#main-content .cfr-index-editorial-hero .cfr-index-editorial-grid > .cfr-page-hero-copy .cfr-section-intro{
 display:block!important;
 width:100%!important;
 max-width:76ch!important;
 font-size:clamp(1.04rem,1.2vw,1.15rem)!important;
 font-weight:430!important;
 line-height:1.67!important;
 margin:0 0 clamp(.75rem,1vw,1rem)!important;
 text-wrap:pretty!important;
}
main#main-content .cfr-index-editorial-hero .cfr-index-editorial-grid > .cfr-page-hero-visual{
 grid-area:visual!important;
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
 height:auto!important;
 aspect-ratio:16/10!important;
 margin:0!important;
 padding:0!important;
 align-self:start!important;
 overflow:hidden!important;
 border-radius:15px!important;
}
main#main-content .cfr-index-editorial-hero .cfr-index-editorial-grid > .cfr-page-hero-visual img{
 display:block!important;
 width:100%!important;
 height:100%!important;
 max-height:none!important;
 aspect-ratio:16/10!important;
 object-fit:cover!important;
}
/* Preserve original data-backed gallery counts and buttons, but don't trap summaries. */
main#main-content .cfr-index-editorial-hero .cfr-index-editorial-grid .cfr-project-gallery-summary{
 display:flex!important;
 flex-wrap:wrap!important;
 align-items:center!important;
 justify-content:flex-start!important;
 gap:.65rem 1rem!important;
 width:100%!important;
 max-width:none!important;
 margin:1.05rem 0 0!important;
}
@media(max-width:980px){
 main#main-content .cfr-index-editorial-hero .cfr-index-editorial-grid{
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:"heading" "copy" "visual"!important;
  gap:clamp(1.1rem,2.6vw,1.55rem)!important;
 }
 main#main-content .cfr-index-editorial-hero .cfr-index-hero-heading h1{
  font-size:clamp(1.95rem,4.6vw,2.72rem)!important;
  line-height:1.14!important;
 }
 main#main-content .cfr-index-editorial-hero .cfr-index-editorial-grid > .cfr-page-hero-visual,
 main#main-content .cfr-index-editorial-hero .cfr-index-editorial-grid > .cfr-page-hero-visual img{
  aspect-ratio:16/9!important;
 }
}
@media(max-width:580px){
 main#main-content .cfr-index-editorial-hero .cfr-index-editorial-grid{gap:1.1rem!important}
 main#main-content .cfr-index-editorial-hero .cfr-index-hero-heading h1{
  font-size:clamp(1.83rem,7.4vw,2.25rem)!important;
  line-height:1.15!important;
 }
 main#main-content .cfr-index-editorial-hero .cfr-index-editorial-grid > .cfr-page-hero-visual,
 main#main-content .cfr-index-editorial-hero .cfr-index-editorial-grid > .cfr-page-hero-visual img{
  aspect-ratio:4/3!important;
 }
}
/* CFR v1.5.78 contrast QA - projects gallery is light, unlike the dark gallery and directory heroes. */
main#main-content.cfr-projects-page:not(.cfr-solar-gallery-page) .cfr-index-editorial-hero .cfr-index-hero-heading h1 {
 color:#0b2d48!important;
}
