:root {  --cfr-bg: #f8fafc;  --cfr-panel: #ffffff;  --cfr-panel-soft: #f1f5f9;  --cfr-panel-glass: rgba(255, 255, 255, 0.88);  --cfr-primary: #0e7ac4;  --cfr-primary-dark: #0a5f98;  --cfr-primary-soft: rgba(14, 122, 196, 0.08);  --cfr-primary-border: rgba(14, 122, 196, 0.2);  --cfr-ink: #0f172a;  --cfr-text: #1e293b;  --cfr-muted: #64748b;  --cfr-border: rgba(15, 23, 42, 0.09);  --cfr-success: #0f766e;  --cfr-danger: #b91c1c;  --cfr-radius: 14px;  --cfr-radius-sm: 8px;  --cfr-shadow: 0 18px 50px -30px rgba(15, 23, 42, 0.32);  --cfr-shadow-soft: 0 12px 30px -24px rgba(15, 23, 42, 0.25);  --cfr-container: 1200px;  --cfr-display: Outfit, "Aptos Display", "Segoe UI", Arial, sans-serif;  --cfr-sans: Inter, Aptos, "Segoe UI", Arial, sans-serif;}html { scroll-behavior: smooth; }* { box-sizing: border-box; }body {  margin: 0;  background: var(--cfr-bg);  color: var(--cfr-text);  font-family: var(--cfr-sans);  font-size: 16px;  line-height: 1.65;  -webkit-font-smoothing: antialiased;}body.cfr-menu-open { overflow: hidden; }body.cfr-project-lightbox-open { overflow: hidden; }img { max-width: 100%; height: auto; }a { color: var(--cfr-primary); }a:hover { color: var(--cfr-primary-dark); }button, input, select, textarea { font: inherit; }button, a { -webkit-tap-highlight-color: transparent; }.screen-reader-text {  position: absolute !important;  width: 1px;  height: 1px;  padding: 0;  margin: -1px;  overflow: hidden;  clip: rect(0,0,0,0);  white-space: nowrap;  border: 0;}.screen-reader-text:focus {  width: auto;  height: auto;  margin: 0;  padding: .75rem 1rem;  clip: auto;  white-space: normal;  background: #fff;  color: var(--cfr-ink);  z-index: 99999;}.cfr-container {  width: min(calc(100% - 2.5rem), var(--cfr-container));  margin-inline: auto;}.cfr-section { padding: clamp(3.5rem, 7vw, 6.5rem) 0; }.cfr-section-soft { background: var(--cfr-panel-soft); }.cfr-section-white { background: #fff; }.cfr-eyebrow {  display: inline-flex;  align-items: center;  gap: .55rem;  color: var(--cfr-primary);  font-family: var(--cfr-display);  font-size: .8rem;  font-weight: 800;  letter-spacing: .12em;  text-transform: uppercase;}.cfr-eyebrow::before { content: ""; width: 28px; height: 3px; border-radius: 99px; background: var(--cfr-primary); }.cfr-section-title,.cfr-content h1,.cfr-content h2,.cfr-content h3,.cfr-content h4 {  color: var(--cfr-ink);  font-family: var(--cfr-display);  letter-spacing: -.025em;  line-height: 1.16;}.cfr-section-title { margin: .75rem 0 1rem; font-size: clamp(2rem, 4vw, 3.15rem); }.cfr-section-intro { max-width: 760px; margin: 0; color: #475569; font-size: 1.08rem; }.cfr-btn {  display: inline-flex;  align-items: center;  justify-content: center;  gap: .5rem;  min-height: 48px;  padding: .78rem 1.25rem;  border: 1px solid transparent;  border-radius: 8px;  background: var(--cfr-primary);  color: #fff;  font-family: var(--cfr-display);  font-weight: 750;  text-decoration: none;  cursor: pointer;  transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;}.cfr-btn:hover { color: #fff; background: var(--cfr-primary-dark); transform: translateY(-1px); box-shadow: 0 10px 25px -18px rgba(14,122,196,.8); }.cfr-btn-outline { background: transparent; color: var(--cfr-ink); border-color: var(--cfr-border); }.cfr-btn-outline:hover { color: var(--cfr-primary); background: #fff; border-color: var(--cfr-primary-border); }.cfr-btn-small { min-height: 40px; padding: .55rem .85rem; font-size: .92rem; }.cfr-actions { display: flex; flex-wrap: wrap; gap: .8rem; }.cfr-site-header {  position: sticky;  top: 0;  z-index: 1000;  min-height: 78px;  background: var(--cfr-panel-glass);  border-bottom: 1px solid var(--cfr-border);  backdrop-filter: blur(14px);  -webkit-backdrop-filter: blur(14px);  transition: box-shadow .2s ease;}.cfr-site-header.is-scrolled { box-shadow: var(--cfr-shadow-soft); }.cfr-header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }.cfr-brand { display: inline-flex; align-items: center; min-width: 228px; color: var(--cfr-ink); text-decoration: none; }.cfr-brand:hover { color: var(--cfr-ink); }.cfr-nav-wrap { display: flex; align-items: center; gap: 1rem; }.cfr-primary-nav ul { display: flex; align-items: center; gap: 1.35rem; margin: 0; padding: 0; list-style: none; }.cfr-primary-nav li { position: relative; }.cfr-primary-nav a { display: flex; align-items: center; min-height: 44px; color: #475569; font-weight: 650; text-decoration: none; }.cfr-primary-nav a:hover,.cfr-primary-nav .current-menu-item > a,.cfr-primary-nav .current-menu-ancestor > a { color: var(--cfr-primary); }.cfr-primary-nav .menu-item-has-children > a::after { content: "⌄"; margin-left: .35rem; font-size: .85em; }.cfr-primary-nav .sub-menu {  position: absolute;  left: -.8rem;  top: calc(100% - .1rem);  min-width: 250px;  display: block;  padding: .6rem;  opacity: 0;  visibility: hidden;  transform: translateY(8px);  border: 1px solid var(--cfr-border);  border-radius: 12px;  background: #fff;  box-shadow: var(--cfr-shadow);  transition: .18s ease;}.cfr-primary-nav li:hover > .sub-menu,.cfr-primary-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }.cfr-primary-nav .sub-menu a { min-height: 40px; padding: .45rem .6rem; border-radius: 7px; }.cfr-primary-nav .sub-menu a:hover { background: var(--cfr-primary-soft); }.cfr-menu-toggle {  display: none;  width: 44px;  height: 44px;  border: 1px solid var(--cfr-border);  border-radius: 8px;  background: #fff;  color: var(--cfr-ink);  cursor: pointer;}.cfr-menu-toggle span { display: block; width: 20px; height: 2px; margin: 4px auto; background: currentColor; transition: .2s ease; }.cfr-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }.cfr-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }.cfr-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }.cfr-industry-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; margin-top: 2rem; }.cfr-industry { padding: 1.2rem; border: 1px solid var(--cfr-border); border-radius: 12px; background: #fff; }.cfr-industry strong { display: block; margin-bottom: .2rem; color: var(--cfr-ink); font-family: var(--cfr-display); }.cfr-industry span { color: var(--cfr-muted); font-size: .9rem; }.cfr-city-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: .65rem; margin-top: 2rem; }.cfr-city-link { display: block; padding: .7rem .8rem; border: 1px solid var(--cfr-border); border-radius: 8px; background: #fff; color: #334155; font-size: .92rem; font-weight: 650; text-align: center; text-decoration: none; }.cfr-city-link:hover { color: var(--cfr-primary); border-color: var(--cfr-primary-border); background: var(--cfr-primary-soft); }.cfr-city-link.is-static { cursor: default; }.cfr-city-link.is-static:hover { color: #334155; border-color: var(--cfr-border); background: #fff; }.cfr-quote-section .cfr-section-title { color: #fff; }.cfr-quote-section .cfr-section-intro { color: #cbd5e1; }.cfr-page-hero { padding: clamp(3rem, 6vw, 5.25rem) 0 2.5rem; background: linear-gradient(180deg,#fff,#f8fafc); border-bottom: 1px solid var(--cfr-border); }.cfr-page-hero h1 { max-width: 900px; margin: .65rem 0 .8rem; color: var(--cfr-ink); font-family: var(--cfr-display); font-size: clamp(2.35rem, 5vw, 4.4rem); line-height: 1.05; letter-spacing: -.04em; }.cfr-breadcrumbs { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0 0 1rem; color: var(--cfr-muted); font-size: .88rem; }.cfr-breadcrumbs a { text-decoration: none; }.cfr-content { font-size: 1.08rem; }.cfr-content > *:first-child { margin-top: 0; }.cfr-content h2 { margin: 2.4rem 0 .85rem; font-size: clamp(1.7rem,3vw,2.35rem); }.cfr-content h3 { margin: 1.85rem 0 .65rem; font-size: 1.45rem; }.cfr-content p, .cfr-content ul, .cfr-content ol { margin-top: 0; margin-bottom: 1.15rem; }.cfr-content ul, .cfr-content ol { padding-left: 1.4rem; }.cfr-content blockquote { margin: 1.6rem 0; padding: 1rem 1.2rem; border-left: 4px solid var(--cfr-primary); background: var(--cfr-primary-soft); color: #334155; }.cfr-content table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: .96rem; background: #fff; }.cfr-content th, .cfr-content td { padding: .75rem; border: 1px solid var(--cfr-border); text-align: left; vertical-align: top; }.cfr-content th { background: var(--cfr-panel-soft); color: var(--cfr-ink); }.cfr-content figure { margin: 1.6rem 0; }.cfr-content figcaption { margin-top: .5rem; color: var(--cfr-muted); font-size: .86rem; }.cfr-content .wp-block-image img { border-radius: 12px; }.cfr-content details { margin: .75rem 0; padding: .9rem 1rem; border: 1px solid var(--cfr-border); border-radius: 10px; background: #fff; }.cfr-content summary { cursor: pointer; color: var(--cfr-ink); font-weight: 750; }.cfr-article-featured { max-width: 1050px; margin: 0 auto 2.5rem; overflow: hidden; border: 1px solid var(--cfr-border); border-radius: 16px; box-shadow: var(--cfr-shadow); }.cfr-article-featured img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }.cfr-article-layout { display: grid; grid-template-columns: minmax(0,760px) 260px; justify-content: center; align-items: start; gap: 2.5rem; }.cfr-article-cta { margin-top: 3rem; padding: 1.5rem; border: 1px solid var(--cfr-primary-border); border-radius: 14px; background: var(--cfr-primary-soft); }.cfr-article-cta h2 { margin-top: 0; font-size: 1.55rem; }.cfr-post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; }.cfr-post-card { overflow: hidden; border: 1px solid var(--cfr-border); border-radius: 12px; background: #fff; }.cfr-post-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }.cfr-post-card-body { padding: 1.1rem; }.cfr-post-card h2, .cfr-post-card h3 { margin: 0 0 .5rem; color: var(--cfr-ink); font-family: var(--cfr-display); font-size: 1.22rem; line-height: 1.25; }.cfr-post-card p { margin: 0 0 .75rem; color: var(--cfr-muted); font-size: .94rem; }.cfr-footer { padding: 4rem 0 1.5rem; background: #0f172a; color: #cbd5e1; }.cfr-footer h2, .cfr-footer h3, .cfr-footer h4 { margin-top: 0; color: #fff; font-family: var(--cfr-display); }.cfr-footer p { color: #94a3b8; }.cfr-footer ul { margin: 0; padding: 0; list-style: none; }.cfr-footer li + li { margin-top: .45rem; }.cfr-footer a { color: #cbd5e1; text-decoration: none; }.cfr-footer a:hover { color: #7dd3fc; }.cfr-mobile-cta { display: none; }@media (max-width: 1080px) {.cfr-primary-nav { display: none; position: fixed; left: 1rem; right: 1rem; top: 88px; max-height: calc(100vh - 110px); overflow-y: auto; padding: .8rem; border: 1px solid var(--cfr-border); border-radius: 14px; background: #fff; box-shadow: var(--cfr-shadow); }.cfr-primary-nav.is-open { display: block; }.cfr-primary-nav ul { display: block; }.cfr-primary-nav li + li { margin-top: .2rem; }.cfr-primary-nav a { padding: .35rem .55rem; }.cfr-primary-nav .sub-menu { position: static; display: block; min-width: 0; padding: 0 0 0 .7rem; opacity: 1; visibility: visible; transform: none; border: 0; box-shadow: none; }.cfr-menu-toggle { display: inline-block; }.cfr-header-quote { display: none; }.cfr-industry-grid { grid-template-columns: repeat(2,1fr); }.cfr-city-grid { grid-template-columns: repeat(4,1fr); }.cfr-article-layout { grid-template-columns: minmax(0,760px); }}@media (max-width: 820px) {.cfr-city-grid { grid-template-columns: repeat(3,1fr); }.cfr-post-grid { grid-template-columns: repeat(2,1fr); }}@media (max-width: 560px) {.cfr-container, .cfr-narrow { width: min(calc(100% - 1.5rem), var(--cfr-container)); }.cfr-site-header, .cfr-header-inner { min-height: 68px; }.cfr-primary-nav { top: 76px; left: .75rem; right: .75rem; }.cfr-brand { min-width: 0; }.cfr-actions { display: grid; grid-template-columns: 1fr; }.cfr-btn { width: 100%; }.cfr-trust-grid, .cfr-card-grid, .cfr-industry-grid, .cfr-city-grid, .cfr-post-grid, .cfr-footer-grid, .cfr-form-grid, .cfr-article-sidebar { grid-template-columns: 1fr; }.cfr-mobile-cta {    position: fixed;    left: .7rem;    right: .7rem;    bottom: .7rem;    z-index: 1200;    display: flex;    gap: .6rem;    padding: .55rem;    border: 1px solid var(--cfr-border);    border-radius: 12px;    background: rgba(255,255,255,.95);    box-shadow: 0 16px 40px -20px rgba(15,23,42,.5);    backdrop-filter: blur(12px);  }.cfr-mobile-cta .cfr-btn { min-height: 46px; }}@media (prefers-reduced-motion: reduce) {html { scroll-behavior: auto; }*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }}@media (max-width: 720px) {.cfr-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }}.cfr-project-tile,.cfr-project-card {  margin: 0;  overflow: hidden;  border-radius: var(--cfr-radius);  background: #e2e8f0;  box-shadow: var(--cfr-shadow-soft);}.cfr-project-tile img,.cfr-project-card img {  display: block;  width: 100%;  height: 100%;  object-fit: cover;}.cfr-support-image-img{display:block;width:100%;height:auto;border-radius:18px}:root {  --cfr-bg: #f4f7fa;  --cfr-panel: #ffffff;  --cfr-panel-soft: #eef3f7;  --cfr-panel-glass: rgba(7, 20, 36, 0.94);  --cfr-primary: #1596e3;  --cfr-primary-dark: #0873ba;  --cfr-primary-bright: #38bdf8;  --cfr-primary-soft: rgba(21,150,227,.10);  --cfr-primary-border: rgba(21,150,227,.24);  --cfr-navy: #071424;  --cfr-navy-2: #0c2034;  --cfr-navy-3: #102b44;  --cfr-ink: #081525;  --cfr-text: #26364a;  --cfr-muted: #66768b;  --cfr-border: rgba(8,21,37,.10);  --cfr-radius: 22px;  --cfr-radius-sm: 12px;  --cfr-shadow: 0 28px 70px -34px rgba(3,13,24,.42);  --cfr-shadow-soft: 0 18px 42px -30px rgba(3,13,24,.32);  --cfr-container: 1320px;  --cfr-display: "Segoe UI Variable Display", "Aptos Display", "Segoe UI", Arial, sans-serif;  --cfr-sans: "Segoe UI Variable Text", Aptos, "Segoe UI", Arial, sans-serif;}body {  background: #fff;  color: var(--cfr-text);  font-size: 16px;  line-height: 1.62;  letter-spacing: -.005em;}.cfr-container { width: min(calc(100% - 3.5rem), var(--cfr-container)); }.cfr-section { padding: clamp(5.5rem, 8vw, 8.25rem) 0; }.cfr-section-white { background: #fff; }.cfr-section-soft { background: #f3f7fa; }.cfr-section-title { max-width: 820px; margin: .9rem 0 1.15rem; font-size: clamp(2.4rem, 4.4vw, 4.3rem); line-height: 1.02; letter-spacing: -.052em; }.cfr-section-intro { max-width: 760px; color: #53657b; font-size: clamp(1.02rem, 1.4vw, 1.18rem); line-height: 1.65; }.cfr-eyebrow { gap: .7rem; font-size: .76rem; letter-spacing: .17em; font-weight: 800; }.cfr-eyebrow::before { width: 38px; height: 2px; }.cfr-btn { min-height: 54px; padding: .88rem 1.35rem; border-radius: 10px; font-weight: 800; letter-spacing: -.01em; }.cfr-btn-primary { background: linear-gradient(135deg,#1596e3,#0879c4); box-shadow: 0 16px 38px -20px rgba(21,150,227,.8); }.cfr-btn-primary:hover { background: linear-gradient(135deg,#1ba5f3,#0873ba); }.cfr-btn-outline { border-color: rgba(8,21,37,.16); background: #fff; }.cfr-btn-ghost-light { color:#fff; border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.04); }.cfr-btn-ghost-light:hover { color:#fff; background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.45); }.cfr-site-header { min-height: 108px; background: rgba(7,20,36,.97); border-bottom: 1px solid rgba(255,255,255,.07); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }.cfr-site-header.is-scrolled { box-shadow:0 16px 40px -28px rgba(0,0,0,.6); }.cfr-utility-bar { min-height: 31px; display:flex; align-items:center; border-bottom:1px solid rgba(255,255,255,.07); background:#04111f; color:#91a8bd; font-size:.73rem; letter-spacing:.04em; text-transform:uppercase; }.cfr-utility-inner { min-height:31px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }.cfr-utility-inner > div { display:flex; align-items:center; gap:1.2rem; }.cfr-utility-inner a { color:#d7e9f6; text-decoration:none; font-weight:800; letter-spacing:.02em; }.cfr-utility-commercial { color:#6f879d; }.cfr-header-inner { min-height: 77px; gap: 2rem; }.cfr-brand { min-width: 250px; }.cfr-nav-wrap { gap: 1.1rem; }.cfr-primary-nav ul { gap: clamp(.8rem,1.5vw,1.45rem); }.cfr-primary-nav a { min-height:52px; color:#c5d2de; font-size:.89rem; font-weight:700; }.cfr-primary-nav a:hover,.cfr-primary-nav .current-menu-item > a,.cfr-primary-nav .current-menu-ancestor > a { color:#57c8ff; }.cfr-primary-nav .sub-menu { top:calc(100% - .25rem); min-width:270px; border-color:rgba(255,255,255,.08); background:#0b1d30; box-shadow:0 28px 70px -28px rgba(0,0,0,.65); }.cfr-primary-nav .sub-menu a { color:#d8e3ec; }.cfr-primary-nav .sub-menu a:hover { color:#fff; background:rgba(56,189,248,.10); }.cfr-header-quote { min-height:44px; padding:.64rem 1rem; background:#1596e3; border-radius:9px; white-space:nowrap; }.cfr-menu-toggle { border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.06); color:#fff; }.cfr-service-intro .cfr-section-title { font-size:clamp(2.65rem,4vw,4rem); }.cfr-systems-copy .cfr-section-title { color:#fff; }.cfr-heading-row { display:flex; align-items:end; justify-content:space-between; gap:3rem; margin-bottom:2.5rem; }.cfr-heading-row > div { flex:1; }.cfr-heading-row .cfr-section-title { margin-bottom:.8rem; }.cfr-heading-row .cfr-btn { flex:0 0 auto; }.cfr-heading-row-bottom { align-items:end; }.cfr-heading-row-bottom > .cfr-section-intro { max-width:480px; }.cfr-solar-copy .cfr-section-title { max-width:680px; }.cfr-industry-grid-premium { grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }.cfr-industry-grid-premium .cfr-industry { position:relative; min-height:160px; padding:1.25rem; border-radius:14px; background:#f8fafb; transition:transform .2s ease,border-color .2s ease,background .2s ease; }.cfr-industry-grid-premium .cfr-industry:hover { transform:translateY(-3px); border-color:#bfdbea; background:#fff; }.cfr-industry-grid-premium .cfr-industry > span { display:block; margin-bottom:1.5rem; color:#1596e3; font-size:.7rem; font-weight:900; letter-spacing:.12em; }.cfr-industry-grid-premium .cfr-industry strong { font-size:1rem; }.cfr-industry-grid-premium .cfr-industry small { display:block; margin-top:.45rem; color:#718195; font-size:.8rem; line-height:1.4; }.cfr-service-area-copy .cfr-section-title { color:#fff; }.cfr-quote-copy .cfr-section-title { max-width:650px; font-size:clamp(2.7rem,4.5vw,4.5rem); }.cfr-footer { padding:5rem 0 1.5rem; background:#04111f; }.cfr-footer h2 { font-size:1.6rem; letter-spacing:-.03em; }.cfr-footer h3 { color:#8edcff; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; }.cfr-footer p { max-width:430px; color:#7890a4; }.cfr-footer a { color:#b6c7d5; }.cfr-page-hero { position:relative; overflow:hidden; padding:clamp(4.5rem,7vw,7rem) 0 3.75rem; background:linear-gradient(120deg,#071424,#0c2439); border-bottom:0; }.cfr-page-hero::before { content:""; position:absolute; width:420px; height:420px; right:-180px; top:-180px; border:1px solid rgba(56,189,248,.10); border-radius:50%; box-shadow:0 0 0 70px rgba(56,189,248,.02); }.cfr-page-hero .cfr-breadcrumbs,.cfr-page-hero .cfr-breadcrumbs a { color:#8ea5b9; }.cfr-page-hero h1 { position:relative; max-width:980px; color:#fff; font-size:clamp(2.7rem,5vw,5rem); letter-spacing:-.055em; }.cfr-page-hero .cfr-section-intro,.cfr-page-hero p { color:#adc0cf; }.cfr-article-featured { border-radius:22px; box-shadow:0 24px 60px -36px rgba(8,21,37,.55); }.cfr-content { color:#304257; font-size:1.07rem; }.cfr-content h2 { letter-spacing:-.04em; }.cfr-content h3 { letter-spacing:-.025em; }.cfr-city-link { border-radius:10px; background:#fbfcfd; }.cfr-support-image-img { border-radius:22px; }@media (max-width: 1120px) {.cfr-utility-bar { display:none; }.cfr-site-header,.cfr-header-inner { min-height:78px; }.cfr-primary-nav { top:88px; background:#0a1b2d; border-color:rgba(255,255,255,.1); }.cfr-primary-nav .sub-menu { background:transparent; }}@media (max-width: 900px) {.cfr-container { width:min(calc(100% - 2.25rem),var(--cfr-container)); }.cfr-heading-row { align-items:start; flex-direction:column; gap:1.2rem; }.cfr-industry-grid-premium { grid-template-columns:repeat(2,minmax(0,1fr)); }}@media (max-width: 620px) {.cfr-container,.cfr-narrow { width:min(calc(100% - 1.35rem),var(--cfr-container)); }.cfr-service-grid,.cfr-mini-grid,.cfr-industry-grid-premium,.cfr-service-area-cities { grid-template-columns:1fr; }.cfr-mobile-cta { background:rgba(4,17,31,.94); border-color:rgba(255,255,255,.1); }.cfr-mobile-cta .cfr-btn-outline { color:#fff; border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.05); }}.cfr-page-hero-with-media { padding-bottom:clamp(3.5rem,6vw,5.5rem); }.cfr-page-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr); gap:clamp(2.5rem,6vw,6rem); align-items:center; }.cfr-page-hero-copy { min-width:0; }.cfr-page-hero-copy .cfr-section-intro { max-width:760px; }.cfr-page-hero-actions { margin-top:1.6rem; }.cfr-page-hero-visual,.cfr-solar-hero-media { position:relative; min-width:0; }.cfr-page-hero-visual::after,.cfr-solar-hero-media::after { content:""; position:absolute; inset:18px -18px -18px 18px; border:1px solid rgba(99,207,255,.18); border-radius:3px 26px 3px 26px; pointer-events:none; z-index:-1; }.cfr-page-hero-img,.cfr-page-hero-visual > img,.cfr-solar-hero-media > img { display:block; width:100%; aspect-ratio:1.24/1; object-fit:cover; border:1px solid rgba(255,255,255,.11); border-radius:3px 26px 3px 26px; background:#0b1d30; box-shadow:0 36px 80px -34px rgba(0,0,0,.72); }.cfr-dedicated-image-section { position:relative; overflow:hidden; }.cfr-dedicated-image-section::before { content:""; position:absolute; width:440px; height:440px; border-radius:50%; right:-250px; top:-260px; border:1px solid rgba(14,122,196,.08); box-shadow:0 0 0 76px rgba(14,122,196,.018); pointer-events:none; }.cfr-dedicated-image-grid { position:relative; display:grid; grid-template-columns:1.2fr .9fr .9fr; gap:1rem; }.cfr-dedicated-image-card { margin:0; min-width:0; overflow:hidden; border:1px solid #dfe7ed; border-radius:18px; background:#fff; box-shadow:0 18px 44px -34px rgba(8,21,37,.45); }.cfr-dedicated-image-card:first-child { grid-row:1 / span 2; }.cfr-dedicated-image-card img,.cfr-dedicated-image-card .cfr-image-nonphoto { display:block; width:100%; height:100%; min-height:250px; aspect-ratio:1.15/1; object-fit:cover; border-radius:0; }.cfr-dedicated-image-card:first-child img,.cfr-dedicated-image-card:first-child .cfr-image-nonphoto { min-height:516px; }.cfr-project-card figcaption { padding:.9rem 1rem 1rem; color:#334155; font-size:.86rem; font-weight:750; line-height:1.35; background:#fff; border-top:1px solid #e2e8f0; }.cfr-solar-project-gallery .cfr-project-card { background:#fff; }@media (max-width: 1000px) {.cfr-page-hero-grid { grid-template-columns:1fr; gap:2.5rem; }.cfr-page-hero-visual,.cfr-solar-hero-media { max-width:760px; }.cfr-dedicated-image-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.cfr-dedicated-image-card:first-child { grid-column:1 / -1; grid-row:auto; }.cfr-dedicated-image-card:first-child img,  .cfr-dedicated-image-card:first-child .cfr-image-nonphoto { min-height:400px; }}@media (max-width: 620px) {.cfr-page-hero-grid { gap:1.8rem; }.cfr-page-hero-visual::after,.cfr-solar-hero-media::after { inset:10px -8px -10px 8px; }.cfr-page-hero-img,.cfr-page-hero-visual > img,.cfr-solar-hero-media > img { aspect-ratio:4/3; border-radius:3px 18px 3px 18px; }.cfr-dedicated-image-grid,.cfr-solar-project-gallery { grid-template-columns:1fr; }.cfr-dedicated-image-card:first-child { grid-column:auto; }.cfr-dedicated-image-card img,.cfr-dedicated-image-card .cfr-image-nonphoto,.cfr-dedicated-image-card:first-child img,.cfr-dedicated-image-card:first-child .cfr-image-nonphoto { min-height:260px; aspect-ratio:4/3; }}.cfr-secondary-capabilities .cfr-heading-row{align-items:end}.cfr-page-hero-img,.cfr-home-hero-img,.cfr-home-systems-img,.cfr-home-solar-img,.cfr-support-image-img{image-rendering:auto}.cfr-project-card img,.cfr-project-tile img{max-width:100%;height:auto}:root {  --cfr-v120-navy: #062f55;  --cfr-v120-navy-deep: #022542;  --cfr-v120-blue: #0a84ff;  --cfr-v120-blue-2: #168df4;  --cfr-v120-ink: #082341;  --cfr-v120-muted: #50657a;  --cfr-v120-line: #dce6ef;  --cfr-v120-soft: #f4f8fb;  --cfr-v120-container: 1360px;}body { background:#fff; color:var(--cfr-v120-ink); }.cfr-container { width:min(calc(100% - 48px), var(--cfr-v120-container)); }.cfr-site-header { position:relative; z-index:100; min-height:0; background:#fff; box-shadow:none; }.cfr-utility-bar { min-height:32px; display:flex; align-items:center; background:var(--cfr-v120-navy); border:0; color:#fff; font-size:12px; text-transform:none; letter-spacing:0; }.cfr-utility-inner { min-height:32px; display:flex; align-items:center; justify-content:space-between; gap:24px; }.cfr-utility-coverage { display:flex; align-items:center; gap:8px; white-space:nowrap; font-weight:600; }.cfr-utility-coverage > span { color:#bfe2ff; font-size:8px; }.cfr-utility-right { display:flex; align-items:center; gap:16px; white-space:nowrap; }.cfr-utility-commercial { color:#dcecf8; font-weight:600; }.cfr-utility-commercial b { margin:0 7px; color:#7093af; font-weight:400; }.cfr-utility-phone,.cfr-utility-email { color:#fff !important; text-decoration:none; font-weight:800; }.cfr-main-header { background:#fff; border-bottom:1px solid #e3ebf2; }.cfr-header-inner { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:28px; }.cfr-brand { display:block; flex:0 0 auto; line-height:0; }.cfr-nav-wrap { display:flex; align-items:center; gap:26px; }.cfr-primary-nav ul { display:flex; align-items:center; gap:32px; }.cfr-primary-nav a { min-height:46px; color:#1e3348; font-size:14px; font-weight:700; }.cfr-primary-nav a:hover,.cfr-primary-nav .current-menu-item > a,.cfr-primary-nav .current-menu-ancestor > a { color:var(--cfr-v120-blue); }.cfr-primary-nav .menu-item-has-children > a::after { margin-left:6px; color:#60778d; }.cfr-primary-nav .sub-menu { top:calc(100% - 1px); min-width:255px; padding:10px; border:1px solid #dce6ef; background:#fff; box-shadow:0 18px 45px -24px rgba(7,45,83,.28); }.cfr-primary-nav .sub-menu a { color:#1e3348; }.cfr-primary-nav .sub-menu a:hover { background:#f2f8fd; color:var(--cfr-v120-blue); }.cfr-header-quote { min-height:44px; padding:0 24px; border-radius:4px; background:var(--cfr-v120-blue); color:#fff !important; font-size:14px; box-shadow:none; }.cfr-header-quote:hover { background:#006fe2; transform:none; }.cfr-home-v120 .cfr-btn { min-height:44px; border-radius:4px; padding:0 22px; font-size:14px; font-weight:800; box-shadow:none; }.cfr-footer { padding:0; background:#06345a; color:#dbeaf5; }.cfr-footer .cfr-logo-svg { width:280px; }.cfr-footer-links a,.cfr-footer-contact a { color:#fff; font-size:11px; font-weight:650; text-decoration:none; }.cfr-footer-contact { display:flex; flex-direction:column; align-items:flex-end; gap:2px; text-align:right; }.cfr-footer-contact span { color:#bdd3e4; font-size:9.5px; }@media (max-width:1180px) {.cfr-primary-nav ul { gap:20px; }.cfr-nav-wrap { gap:16px; }}@media (max-width:980px) {.cfr-utility-bar { display:none; }.cfr-header-inner { min-height:68px; }.cfr-primary-nav { top:74px; background:#fff; border-color:#dce6ef; }.cfr-primary-nav a,.cfr-primary-nav .sub-menu a { color:#173149; }.cfr-primary-nav .sub-menu { background:transparent; }}@media (max-width:760px) {.cfr-container { width:min(calc(100% - 24px),var(--cfr-v120-container)); }.cfr-header-inner { gap:12px; }.cfr-header-quote { display:none; }.cfr-footer-contact { align-items:center; text-align:center; }}@media (max-width:520px) {.cfr-home-v120 .cfr-btn { width:100%; justify-content:center; }}.cfr-brand-exact{display:flex;align-items:center;line-height:0;text-decoration:none}.cfr-brand-footer{background:#fff;border-radius:2px;padding:4px 7px}.cfr-brand-footer .cfr-logo-exact{width:250px;max-width:100%}.cfr-main-header .cfr-header-inner{min-height:76px;padding-top:8px;padding-bottom:8px}.cfr-main-header .cfr-brand{flex:0 0 auto}.cfr-primary-nav .menu{gap:22px}.cfr-header-quote{min-height:42px;padding-left:20px;padding-right:20px}.cfr-brand-footer .cfr-logo-exact-viewport{width:250px;max-width:100%}.cfr-footer{  background:#fff !important;  color:#173b5c !important;  border-top:1px solid #d9e5ef;}.cfr-brand-footer{  background:transparent !important;  padding:0 !important;  border-radius:0 !important;}.cfr-footer-links a,.cfr-footer-contact a{  color:#123b60 !important;  font-size:13px !important;  font-weight:750;}.cfr-footer-contact span{  color:#587087 !important;  font-size:11.25px !important;  line-height:1.35;}.cfr-footer h2,.cfr-footer h3,.cfr-footer h4{color:#0a2f52 !important}.cfr-footer p{color:#64788b !important}@media(max-width:760px){.cfr-footer-links a,.cfr-footer-contact a{font-size:13.5px !important}.cfr-footer-contact span,.cfr-footer-bottom{font-size:11.5px !important}}.cfr-footer-v123-brand .cfr-brand-footer{  display:block;  width:min(100%,340px);  margin:0 0 18px;  padding:0;  background:transparent;  border-radius:0;}.cfr-project-section-head .cfr-section-intro { max-width: 780px; margin-bottom: 0; }.cfr-projects-page .cfr-project-card {  display: flex;  flex-direction: column;  border: 1px solid #dce6ee;  border-radius: 14px;  background: #fff;  box-shadow: 0 8px 28px rgba(16,48,76,.07);}.cfr-projects-page .cfr-project-card figcaption {  display: grid;  gap: .28rem;  min-height: 78px;  padding: .85rem 1rem 1rem;  border-top: 0;}.cfr-projects-page .cfr-project-card figcaption strong { color: #102d47; font-size: .96rem; line-height: 1.3; }@media (max-width: 620px) {.cfr-projects-page .cfr-project-card figcaption { min-height: 0; }}.cfr-v127-home-gallery .cfr-project-card{border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 8px 22px -20px rgba(8,45,78,.4)}.cfr-v127-home-gallery .cfr-project-card figcaption{min-height:68px;padding:9px 10px}.cfr-v127-home-gallery .cfr-project-card figcaption strong{font-size:11px;line-height:1.28}.cfr-v127-areas .cfr-city-grid{margin-top:26px;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.cfr-v127-areas .cfr-city-link{display:flex;min-height:38px;align-items:center;justify-content:center;padding:7px 9px;background:#fff;border:1px solid #dce7ef;border-radius:4px;color:#21445f;font-size:11px;font-weight:800;text-align:center;text-decoration:none}@media (max-width:1100px){.cfr-v127-areas .cfr-city-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:820px){.cfr-v127-areas .cfr-city-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.cfr-v127-areas .cfr-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{  --cfr-v132-navy:#06365d;  --cfr-v132-navy-deep:#032743;  --cfr-v132-blue:#087ff5;  --cfr-v132-line:#d9e5ee;  --cfr-v132-soft:#f5f9fc;  --cfr-v132-shadow:0 18px 46px -34px rgba(8,45,78,.42);}.cfr-main-header{box-shadow:0 8px 24px -24px rgba(5,38,66,.55)}.cfr-main-header .cfr-header-inner{min-height:78px;padding-top:9px;padding-bottom:9px}.cfr-header-quote{border-radius:5px;box-shadow:0 8px 18px -12px rgba(8,127,245,.65)}.cfr-v132-roof-gallery .cfr-project-card,.cfr-v127-home-gallery .cfr-project-card{overflow:hidden;border:1px solid #d8e5ee;border-radius:9px;background:#fff;box-shadow:0 12px 30px -25px rgba(8,45,78,.42)}.cfr-v132-roof-gallery .cfr-project-card figcaption,.cfr-v127-home-gallery .cfr-project-card figcaption{display:grid;gap:4px;min-height:72px;padding:11px 12px 13px;border-top:0}.cfr-v132-roof-gallery .cfr-project-card figcaption strong{color:#102d47;font-size:12.5px;line-height:1.32}.cfr-v127-home-gallery .cfr-project-card figcaption strong{font-size:11.5px}.cfr-v127-areas .cfr-city-link{min-height:42px;border-radius:6px;font-size:11.5px}.cfr-page-hero-visual{overflow:hidden;border-radius:16px;background:#dfeaf2;box-shadow:0 24px 58px -36px rgba(6,47,85,.48)}.cfr-page-hero-visual img,.cfr-page-hero-visual .cfr-image-nonphoto{display:block;width:100%;height:100%;min-height:360px;object-fit:cover}.cfr-dedicated-image-grid{gap:18px}.cfr-dedicated-image-card{overflow:hidden;border-radius:14px;background:#e6eef4;box-shadow:0 16px 36px -30px rgba(8,45,78,.38)}.cfr-dedicated-image-card img,.cfr-dedicated-image-card .cfr-image-nonphoto{display:block;width:100%;height:100%;min-height:260px;aspect-ratio:16/10;object-fit:cover}.cfr-footer-v132{padding:0!important;background:#052d4e!important;color:#dce9f3!important;border-top:0!important}.cfr-footer-v132-main{background:linear-gradient(180deg,#06365d 0%,#052d4e 100%)}.cfr-footer-v132-grid{display:grid;grid-template-columns:minmax(310px,1.45fr) minmax(190px,.8fr) minmax(150px,.66fr) minmax(250px,1fr);gap:clamp(30px,3.2vw,54px);align-items:start;padding-top:42px;padding-bottom:38px}.cfr-footer-v132-logo-plate{display:flex;align-items:center;width:min(100%,360px);min-height:76px;padding:8px 14px;margin-bottom:18px;border-radius:8px;background:#fff;box-shadow:0 12px 30px -23px rgba(0,0,0,.45)}.cfr-footer-v132-logo-plate .cfr-brand{width:100%;max-width:none}.cfr-footer-v132-logo-plate .cfr-logo-exact-viewport{width:100%!important;max-width:none!important;background:#fff!important}.cfr-footer-v132-brand p{max-width:440px;margin:0 0 20px;color:#d7e5ef!important;font-size:14px;line-height:1.58}.cfr-footer-v132-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.cfr-footer-v132-quote{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border-radius:5px;background:#087ff5;color:#fff!important;font-size:13px;font-weight:850;text-decoration:none;box-shadow:0 9px 20px -13px rgba(8,127,245,.78)}.cfr-footer-v132-quote:hover,.cfr-footer-v132-quote:focus{background:#006fd7;color:#fff!important}.cfr-footer-v132-phone{color:#fff!important;font-size:13px;font-weight:850;text-decoration:none}.cfr-footer-v132-column h2{margin:3px 0 15px;color:#fff!important;font-family:var(--cfr-display);font-size:17px;line-height:1.2;letter-spacing:0;text-transform:none}.cfr-footer-v132-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.cfr-footer-v132-links a,.cfr-footer-v132-contact a{color:#dbe8f2!important;font-size:13px!important;font-weight:650!important;line-height:1.4;text-decoration:none}.cfr-footer-v132-links a:hover,.cfr-footer-v132-links a:focus,.cfr-footer-v132-contact a:hover,.cfr-footer-v132-contact a:focus{color:#71c1ff!important}.cfr-footer-v132-contact address{margin:0 0 15px;color:#c7d9e7;font-style:normal;font-size:12.5px;line-height:1.5}.cfr-footer-v132-contact address strong{display:block;margin-bottom:3px;color:#fff;font-size:13px}.cfr-footer-v132-contact address span{display:block}.cfr-footer-v132-hours{display:flex;flex-direction:column;gap:2px;margin:2px 0 12px;color:#c7d9e7;font-size:12.5px;line-height:1.45}.cfr-footer-v132-hours strong{color:#fff;font-size:13px}.cfr-footer-v132-bottom-wrap{background:#04243d;border-top:1px solid rgba(255,255,255,.11)}.cfr-footer-v132-bottom{min-height:52px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-top:10px;padding-bottom:10px;color:#afc5d6;font-size:11.5px}.cfr-footer-v132-bottom>span:nth-child(2){text-align:center}.cfr-footer-v132-bottom nav{display:flex;justify-content:flex-end;gap:16px}.cfr-footer-v132-bottom a{color:#dbe8f2!important;text-decoration:none;font-size:11.5px!important}@media(max-width:1180px){.cfr-footer-v132-grid{grid-template-columns:1.25fr 1fr 1fr}.cfr-footer-v132-contact{grid-column:2/4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px}.cfr-footer-v132-contact h2{grid-column:1/-1}}@media(max-width:760px){.cfr-main-header .cfr-header-inner{min-height:70px;padding-top:7px;padding-bottom:7px}.cfr-footer-v132-grid{grid-template-columns:1fr;gap:28px;padding-top:32px;padding-bottom:30px}.cfr-footer-v132-logo-plate{width:min(100%,350px)}.cfr-footer-v132-contact{grid-column:auto;display:block}.cfr-footer-v132-bottom{grid-template-columns:1fr;gap:7px;text-align:center;padding-top:15px;padding-bottom:15px}.cfr-footer-v132-bottom nav{justify-content:center}}@media(max-width:480px){.cfr-container{width:min(calc(100% - 30px),var(--cfr-v120-container))}.cfr-footer-v132-actions{align-items:flex-start;flex-direction:column}}.cfr-dedicated-image-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.cfr-dedicated-image-card{min-width:0}.cfr-dedicated-image-card img{width:100%;height:100%;min-height:0;aspect-ratio:16/10;object-fit:cover}.cfr-v132-roof-gallery>.cfr-project-card{grid-column:span 2;min-width:0}.cfr-v132-roof-gallery>.cfr-project-card:nth-last-child(2):nth-child(3n/**/+1),.cfr-v132-roof-gallery>.cfr-project-card:nth-last-child(2):nth-child(3n/**/+1)+.cfr-project-card{grid-column:span 3}.cfr-v132-roof-gallery>.cfr-project-card:last-child:nth-child(3n/**/+1){grid-column:3 / span 2}.cfr-v127-home-gallery>.cfr-project-card{grid-column:span 3;min-width:0}.cfr-v127-home-gallery>.cfr-project-card:nth-last-child(3):nth-child(4n/**/+1),.cfr-v127-home-gallery>.cfr-project-card:nth-last-child(3):nth-child(4n/**/+1)+.cfr-project-card,.cfr-v127-home-gallery>.cfr-project-card:nth-last-child(3):nth-child(4n/**/+1)+.cfr-project-card+.cfr-project-card{grid-column:span 4}.cfr-v127-home-gallery>.cfr-project-card:nth-last-child(2):nth-child(4n/**/+1),.cfr-v127-home-gallery>.cfr-project-card:nth-last-child(2):nth-child(4n/**/+1)+.cfr-project-card{grid-column:span 6}.cfr-v127-home-gallery>.cfr-project-card:last-child:nth-child(4n/**/+1){grid-column:4 / span 6}.cfr-projects-page .cfr-project-gallery-roofing>.cfr-project-card:last-child:nth-child(odd){grid-column:1 / -1;width:calc((100% - 1rem)/2);max-width:800px;justify-self:center}.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card{grid-column:span 2;min-width:0}.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card:nth-last-child(2):nth-child(3n/**/+1),.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card:nth-last-child(2):nth-child(3n/**/+1)+.cfr-project-card{grid-column:span 3}.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card:last-child:nth-child(3n/**/+1){grid-column:2 / span 4}@media(max-width:1100px){.cfr-v127-home-gallery>.cfr-project-card{grid-column:span 2}.cfr-v127-home-gallery>.cfr-project-card:nth-last-child(2):nth-child(3n/**/+1),  .cfr-v127-home-gallery>.cfr-project-card:nth-last-child(2):nth-child(3n/**/+1)+.cfr-project-card{grid-column:span 3}.cfr-v127-home-gallery>.cfr-project-card:last-child:nth-child(3n/**/+1){grid-column:3 / span 2}}@media(max-width:900px){.cfr-dedicated-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cfr-v132-roof-gallery>.cfr-project-card{grid-column:auto}.cfr-v132-roof-gallery>.cfr-project-card:last-child:nth-child(odd){grid-column:1 / -1}.cfr-v127-home-gallery>.cfr-project-card{grid-column:auto}.cfr-v127-home-gallery>.cfr-project-card:last-child:nth-child(odd){grid-column:1 / -1}.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card{grid-column:auto}.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card:last-child:nth-child(odd){grid-column:1 / -1}}@media(max-width:620px){.cfr-dedicated-image-grid,.cfr-v132-roof-gallery,.cfr-v127-home-gallery,  .cfr-projects-page .cfr-project-gallery-roofing,.cfr-projects-page .cfr-project-gallery-solar{grid-template-columns:1fr}.cfr-v132-roof-gallery>.cfr-project-card,.cfr-v127-home-gallery>.cfr-project-card,  .cfr-projects-page .cfr-project-gallery-roofing>.cfr-project-card,  .cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card{grid-column:auto!important;width:100%;max-width:none;justify-self:stretch}}.cfr-v127-home-gallery>.cfr-project-card-panorama:last-child{grid-column:3 / span 8}.cfr-v127-home-gallery>.cfr-project-card-panorama .cfr-project-open{aspect-ratio:5.25/1}.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card-panorama:last-child{grid-column:1 / -1}.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card-panorama .cfr-project-open{aspect-ratio:5.25/1}@media(max-width:1100px){.cfr-v127-home-gallery>.cfr-project-card-panorama:last-child{grid-column:1 / -1}}@media(max-width:620px){.cfr-v127-home-gallery>.cfr-project-card-panorama .cfr-project-open,  .cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card-panorama .cfr-project-open{aspect-ratio:3/1}}@media (max-width: 760px){.cfr-mobile-cta{transition:opacity .18s ease,transform .18s ease}.cfr-mobile-cta.is-suppressed{opacity:0;transform:translateY(calc(100% + 1.5rem));pointer-events:none}}.cfr-logo-exact-img{display:block;width:390px;height:auto;max-width:36vw;object-fit:contain}.cfr-brand-footer .cfr-logo-exact-img{width:250px;max-width:100%}.cfr-footer-v132-logo-plate .cfr-logo-exact-img{width:100%!important;max-width:none!important;height:auto}@media(max-width:1100px){.cfr-brand-header .cfr-logo-exact-img{width:330px;max-width:34vw}}@media(max-width:900px){.cfr-brand-header .cfr-logo-exact-img{width:300px;max-width:58vw}}@media(max-width:760px){.cfr-brand-header .cfr-logo-exact-img{width:250px;max-width:70vw}}@media (max-width:1080px){.cfr-menu-toggle{display:inline-block;border-color:#d5e2ec;background:#fff;color:#12324e;box-shadow:0 4px 14px -10px rgba(7,45,83,.45)}.cfr-menu-toggle:hover,.cfr-menu-toggle:focus-visible{border-color:#9bb9d0;background:#f5f9fc;color:#087ff5}}@media (max-width:760px){.cfr-mobile-cta{display:none!important}}@media (min-width:901px){.cfr-projects-page .cfr-project-gallery-last-panorama>.cfr-project-card:nth-last-child(2){grid-column:3 / span 2!important}.cfr-projects-page .cfr-project-gallery-last-panorama>.cfr-project-card.cfr-project-card-panorama:last-child{grid-column:1 / -1!important;width:min(100%,800px);max-width:800px;justify-self:center;align-self:start}}@media (min-width:621px) and (max-width:900px){.cfr-projects-page .cfr-project-gallery-last-panorama>.cfr-project-card:nth-last-child(2){grid-column:1 / -1!important;width:calc((100% - 1rem)/2);justify-self:center}.cfr-projects-page .cfr-project-gallery-last-panorama>.cfr-project-card.cfr-project-card-panorama:last-child{grid-column:1 / -1!important;width:min(100%,800px);max-width:800px;justify-self:center;align-self:start}}.cfr-projects-page .cfr-projects-hero .cfr-section-intro,.cfr-projects-page .cfr-projects-hero p{color:#51697f!important}.cfr-projects-page .cfr-projects-hero .cfr-breadcrumbs,.cfr-projects-page .cfr-projects-hero .cfr-breadcrumbs a{color:#60778b!important}@media (min-width:1101px){.cfr-projects-page .cfr-project-gallery-roofing>.cfr-project-card{grid-column:span 2;min-width:0;width:auto;max-width:none;justify-self:stretch}.cfr-projects-page .cfr-project-gallery-roofing>.cfr-project-card:nth-last-child(2):nth-child(3n/**/+1),  .cfr-projects-page .cfr-project-gallery-roofing>.cfr-project-card:nth-last-child(2):nth-child(3n/**/+1)+.cfr-project-card{grid-column:span 3}.cfr-projects-page .cfr-project-gallery-roofing>.cfr-project-card:last-child:nth-child(3n/**/+1){grid-column:3 / span 2;width:auto;max-width:none}.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card{grid-column:span 3;min-width:0;width:auto;max-width:none;justify-self:stretch}.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card.cfr-project-card-panorama:last-child{grid-column:1 / -1!important;width:100%!important;max-width:none!important;justify-self:stretch!important}}.cfr-v127-home-gallery>.cfr-project-card-panorama:last-child{grid-column:1 / -1!important;width:100%;max-width:none;justify-self:stretch}.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card-panorama:last-child{width:100%!important;max-width:none!important;justify-self:stretch!important}@media (min-width:901px) and (max-width:1100px){.cfr-v127-home-gallery>.cfr-project-card{grid-column:auto}.cfr-v127-home-gallery>.cfr-project-card-panorama:last-child{grid-column:1 / -1!important}}.cfr-v127-home-gallery>.cfr-project-card,.cfr-projects-page .cfr-project-gallery-roofing>.cfr-project-card,.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card{  grid-column:auto!important;  width:auto!important;  max-width:none!important;  justify-self:stretch!important;  min-width:0!important;}@media (min-width:1101px){.cfr-projects-page .cfr-project-gallery-roofing>.cfr-project-card{grid-column:span 2!important}.cfr-projects-page .cfr-project-gallery-roofing>.cfr-project-card:nth-last-child(2):nth-child(3n/**/+1),  .cfr-projects-page .cfr-project-gallery-roofing>.cfr-project-card:nth-last-child(2):nth-child(3n/**/+1)+.cfr-project-card{grid-column:span 3!important}}@media (min-width:621px) and (max-width:1100px){.cfr-v127-home-gallery>.cfr-project-card,  .cfr-projects-page .cfr-project-gallery-roofing>.cfr-project-card,  .cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card{grid-column:auto!important}}.cfr-v127-home-gallery>.cfr-project-card-panorama,.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card-panorama{  grid-column:1 / -1!important;  width:100%!important;  max-width:none!important;}.cfr-v127-home-gallery>.cfr-project-card-panorama .cfr-project-open,.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card-panorama .cfr-project-open{  display:flex!important;  align-items:center;  justify-content:center;  aspect-ratio:auto!important;  min-height:0;  background:#eaf2f7;}.cfr-v127-home-gallery>.cfr-project-card-panorama .cfr-project-open img,.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card-panorama .cfr-project-open img{  display:block;  width:auto!important;  max-width:min(100%,800px)!important;  height:auto!important;  max-height:none!important;  object-fit:contain!important;}@media (min-width:621px){.cfr-projects-page .cfr-project-gallery-solar.cfr-project-gallery-last-panorama>.cfr-project-card:nth-last-child(2){    grid-column:auto!important;    width:auto!important;    max-width:none!important;    justify-self:stretch!important;  }}@media (min-width:621px) and (max-width:1100px){.cfr-projects-page .cfr-project-gallery-roofing>.cfr-project-card:last-child:nth-child(odd){    grid-column:1 / -1!important;    width:calc((100% - 1rem)/2)!important;    max-width:none!important;    justify-self:center!important;  }}.cfr-local-page-hero .cfr-page-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.cfr-local-image-section .cfr-heading-row{align-items:end}.cfr-local-image-section .cfr-section-intro{max-width:760px;margin:.7rem 0 0}.cfr-local-image-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.cfr-local-image-grid .cfr-dedicated-image-card:first-child{grid-row:auto}.cfr-local-image-grid .cfr-dedicated-image-card img,.cfr-local-image-grid .cfr-dedicated-image-card .cfr-image-nonphoto{min-height:0;aspect-ratio:4/3;object-fit:cover}.cfr-cornerstone-featured .cfr-image-nonphoto{min-height:440px}.cfr-cornerstone-image-section{margin:2.5rem 0 .5rem;padding-top:1.6rem;border-top:1px solid var(--cfr-border)}.cfr-cornerstone-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.cfr-cornerstone-image-grid figure{margin:0;overflow:hidden;border:1px solid var(--cfr-border);border-radius:14px;background:#e8eff4}.cfr-cornerstone-image-grid img,.cfr-cornerstone-image-grid .cfr-image-nonphoto{display:block;width:100%;height:100%;min-height:190px;aspect-ratio:4/3;object-fit:cover;border-radius:0}.cfr-cornerstone-image-grid .cfr-image-nonphoto{padding:1rem}.cfr-cornerstone-image-grid .cfr-image-nonphoto-mark{width:40px;height:40px;left:1rem;top:1rem;font-size:.7rem}.cfr-cornerstone-image-grid .cfr-image-nonphoto-copy strong{font-size:1rem}.cfr-cornerstone-image-grid .cfr-image-nonphoto-copy span{font-size:.66rem}@media(max-width:760px){.cfr-local-image-grid,.cfr-cornerstone-image-grid{grid-template-columns:1fr}.cfr-local-image-grid .cfr-dedicated-image-card img,  .cfr-local-image-grid .cfr-dedicated-image-card .cfr-image-nonphoto{aspect-ratio:4/3}.cfr-cornerstone-featured .cfr-image-nonphoto{min-height:300px}}.cfr-page-hero-visual .cfr-image-nonphoto,.cfr-dedicated-image-card .cfr-image-nonphoto,.cfr-cornerstone-image-grid .cfr-image-nonphoto{  display:flex;  flex-direction:row;  align-items:flex-end;}.cfr-page-hero-visual .cfr-image-nonphoto-copy,.cfr-dedicated-image-card .cfr-image-nonphoto-copy,.cfr-cornerstone-image-grid .cfr-image-nonphoto-copy{  position:relative;  z-index:1;}@media (max-width:1000px) and (min-width:761px){.cfr-local-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.cfr-local-image-grid .cfr-dedicated-image-card:first-child{grid-column:1 / -1;}}@media (max-width:760px){.cfr-local-image-grid .cfr-dedicated-image-card:first-child{grid-column:auto;}}.cfr-dedicated-image-grid:not(.cfr-local-image-grid) .cfr-dedicated-image-card:first-child{  grid-row:auto;}.cfr-dedicated-image-grid:not(.cfr-local-image-grid) .cfr-dedicated-image-card .cfr-image-nonphoto,.cfr-dedicated-image-grid:not(.cfr-local-image-grid) .cfr-dedicated-image-card:first-child .cfr-image-nonphoto{  min-height:0;  aspect-ratio:16/10;}@media (max-width:900px) and (min-width:621px){.cfr-dedicated-image-grid:not(.cfr-local-image-grid) .cfr-dedicated-image-card:first-child{    grid-column:1 / -1;  }}@media (max-width:620px){.cfr-dedicated-image-grid:not(.cfr-local-image-grid) .cfr-dedicated-image-card:first-child{    grid-column:auto;  }}@media (max-width:1080px){.cfr-primary-nav > .menu{    display:flex;    flex-direction:column;    align-items:stretch;    gap:.2rem;    width:100%;  }.cfr-primary-nav > .menu > li{    display:block;    width:100%;    margin:0!important;  }.cfr-primary-nav > .menu > li > a{    width:100%;    min-height:44px;    justify-content:flex-start;    padding:.5rem .65rem;    border-radius:7px;  }.cfr-primary-nav > .menu > li > a:hover,  .cfr-primary-nav > .menu > li > a:focus-visible{    background:#f2f8fd;  }.cfr-primary-nav .menu-item-has-children > .sub-menu{    position:static;    display:block;    width:100%;    min-width:0;    margin:.15rem 0 .3rem;    padding:.25rem 0 .25rem .7rem;    opacity:1;    visibility:visible;    transform:none;    border:0;    border-left:2px solid #d8e9f6;    border-radius:0;    background:transparent;    box-shadow:none;  }.cfr-primary-nav .sub-menu > li{    display:block;    width:100%;    margin:0!important;  }.cfr-primary-nav .sub-menu a{    width:100%;    min-height:38px;    justify-content:flex-start;    padding:.38rem .65rem;    border-radius:6px;    font-size:.86rem;  }}@media (min-width:981px) and (max-width:1080px){.cfr-primary-nav{    top:115px;    max-height:calc(100vh - 131px);  }}@media (max-width:980px){.cfr-primary-nav{    top:74px;    max-height:calc(100vh - 90px);  }}@media (min-width:981px) and (max-width:1080px){.cfr-primary-nav{    background:#fff;    border-color:#dce6ef;  }.cfr-primary-nav a,  .cfr-primary-nav .sub-menu a{    color:#173149;  }.cfr-primary-nav .sub-menu{    background:transparent;  }.cfr-primary-nav .menu-item-has-children > a::after{color:#60778d;}}@media (min-width:621px) and (max-width:1100px){.cfr-v127-home-gallery>.cfr-project-card-native-wide .cfr-project-open,  .cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card-native-wide .cfr-project-open{    display:flex;    align-items:center;    justify-content:center;    aspect-ratio:4 / 3;    min-height:0;    background:#dfe9f0;  }.cfr-v127-home-gallery>.cfr-project-card-native-wide .cfr-project-open img,  .cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card-native-wide .cfr-project-open img{    display:block;    width:100%;    height:auto;    object-fit:contain;  }}@media (min-width:1101px){.cfr-v127-home-gallery.cfr-project-gallery-last-panorama>.cfr-project-card:not(.cfr-project-card-panorama){grid-column:span 3!important}.cfr-v127-home-gallery.cfr-project-gallery-last-panorama>.cfr-project-card:nth-last-child(4):not(.cfr-project-card-panorama),  .cfr-v127-home-gallery.cfr-project-gallery-last-panorama>.cfr-project-card:nth-last-child(3):not(.cfr-project-card-panorama),  .cfr-v127-home-gallery.cfr-project-gallery-last-panorama>.cfr-project-card:nth-last-child(2):not(.cfr-project-card-panorama){grid-column:span 4!important}.cfr-v127-home-gallery.cfr-project-gallery-last-panorama>.cfr-project-card-panorama:last-child{grid-column:1 / -1!important}}@media (min-width:621px) and (max-width:1100px){.cfr-v127-home-gallery.cfr-project-gallery-last-panorama>.cfr-project-card:nth-last-child(2):not(.cfr-project-card-panorama){    grid-column:1 / -1!important;    width:calc((100% - 1rem)/2)!important;    justify-self:center!important;  }}.cfr-mobile-menu-quote{display:none}@media (max-width:1080px){.cfr-primary-nav .cfr-mobile-menu-quote{    display:flex;    align-items:center;    justify-content:space-between;    width:auto;    min-height:48px;    margin:.6rem .65rem .35rem;    padding:.72rem .9rem;    color:#fff!important;    background:#087ff5;    border-radius:8px;    text-decoration:none;  }.cfr-primary-nav .cfr-mobile-menu-quote:hover,  .cfr-primary-nav .cfr-mobile-menu-quote:focus-visible{background:#006fd8;color:#fff!important}}.cfr-primary-nav .cfr-mobile-menu-quote{display:none!important}@media (max-width:1080px){.cfr-primary-nav .cfr-mobile-menu-quote{display:flex!important}}.cfr-footer-v132-main{background:#fff!important;color:#334155!important}.cfr-footer-v132-main h2,.cfr-footer-v132-main h3,.cfr-footer-v132-main h4{color:#0b3558!important}.cfr-footer-v132-main p,.cfr-footer-v132-main span,.cfr-footer-v132-main address{color:#52687b!important}.cfr-footer-v132-main a:not(.cfr-footer-v132-quote){color:#0d4d7c!important}.cfr-footer-v132-main a:not(.cfr-footer-v132-quote):hover{color:#087ff5!important}.cfr-footer-v132-logo-plate{background:transparent!important;box-shadow:none!important;padding:0!important;min-height:0!important;border-radius:0!important}.cfr-footer-v132-logo-plate .cfr-logo-exact-img{background:transparent!important}.cfr-v132-roof-gallery>.cfr-project-card,.cfr-v127-home-gallery>.cfr-project-card{grid-column:auto!important;width:auto!important;max-width:none!important}.cfr-owner-premium-media{margin:2rem 0 2.4rem;border:1px solid #d9e5ee;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 18px 42px -34px rgba(7,45,83,.42)}.cfr-owner-premium-media picture,.cfr-owner-premium-media img{display:block;width:100%;height:auto}.cfr-owner-premium-media figcaption{padding:.8rem 1rem;color:#52687b;font-size:.88rem;line-height:1.5;background:#f8fbfd;border-top:1px solid #e2ebf2}.cfr-owner-premium-diagram{background:#f1f7fc}.cfr-faq-list{display:grid;gap:10px}.cfr-projects-page .cfr-project-card-panorama .cfr-project-open{min-height:250px;background:linear-gradient(135deg,#e7eff5,#f4f8fb)}.cfr-projects-page .cfr-project-card-panorama .cfr-project-open img{max-width:100%!important;width:100%!important;height:auto!important;object-fit:contain!important}.cfr-footer-v132-main{border-top:1px solid #dce7ef}.cfr-footer-v132-brand .cfr-brand{display:inline-flex;max-width:430px}.cfr-footer-v132-brand .cfr-logo-exact-img{display:block;width:min(100%,430px);height:auto}.cfr-footer-v132-contact address{margin-bottom:14px}.cfr-footer-v132-bottom-wrap{background:#062f52!important}.cfr-footer-v132-bottom,.cfr-footer-v132-bottom a{color:#dceaf4!important}@media (min-width:1081px){.cfr-primary-nav>.menu{gap:clamp(13px,1.35vw,24px)}.cfr-primary-nav>.menu>li>a{font-size:13px;white-space:nowrap}.cfr-header-quote{margin-left:18px}}.cfr-dedicated-gallery-grid>.cfr-project-card{grid-column:auto!important;width:auto!important;max-width:none!important;min-width:0!important}.cfr-dedicated-gallery-grid>.cfr-project-card-panorama{grid-column:1/-1!important}.cfr-dedicated-gallery-grid>.cfr-project-card-panorama .cfr-project-open{aspect-ratio:3.6/1!important}.cfr-dedicated-gallery-grid>.cfr-project-card-native-wide .cfr-project-open{aspect-ratio:auto!important;min-height:0}.cfr-dedicated-gallery-grid>.cfr-project-card-native-wide .cfr-project-open img{width:100%;height:auto;object-fit:contain;background:#edf4f8}.cfr-footer-v132-main{margin-top:0!important}.cfr-footer-v132-grid{padding-top:34px!important;padding-bottom:32px!important}@media(max-width:760px){.cfr-dedicated-gallery-grid>.cfr-project-card-panorama{grid-column:auto!important}.cfr-dedicated-gallery-grid>.cfr-project-card-panorama .cfr-project-open{aspect-ratio:16/9!important}.cfr-footer-v132-grid{padding-top:28px!important;padding-bottom:26px!important}}@media (max-width:1120px){.cfr-utility-bar{display:none!important}}.cfr-project-card-native-wide .cfr-project-open{  display:flex!important;  align-items:center!important;  justify-content:center!important;  overflow:hidden;  background:#dfe9f0;}.cfr-project-card-native-wide .cfr-project-open img{  display:block!important;  width:auto!important;  height:auto!important;  max-width:100%!important;  max-height:100%!important;  object-fit:contain!important;}.cfr-legacy-roofing-grid>.cfr-project-card{grid-column:auto!important;width:auto!important;max-width:none!important;margin:0;border:1px solid #d8e5ee;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 12px 28px -24px rgba(8,45,78,.5)}.cfr-legacy-roofing-grid>.cfr-project-card:not(.cfr-project-card-panorama):not(.cfr-project-card-native-wide) .cfr-project-open{aspect-ratio:1/1!important}.cfr-legacy-roofing-grid>.cfr-project-card-native-wide .cfr-project-open{aspect-ratio:auto!important}.cfr-legacy-roofing-grid>.cfr-project-card-native-wide .cfr-project-open img{height:auto;object-fit:contain}.cfr-legacy-roofing-grid>.cfr-project-card-panorama{grid-column:span 2!important}.cfr-legacy-roofing-grid>.cfr-project-card-panorama .cfr-project-open{aspect-ratio:2.2/1!important}@media(max-width:520px){.cfr-legacy-roofing-grid>.cfr-project-card-panorama{grid-column:auto!important}.cfr-legacy-roofing-grid>.cfr-project-card-panorama .cfr-project-open{aspect-ratio:16/9!important}}img.cfr-city-editorial-image{aspect-ratio:4/3;object-fit:cover}img.cfr-city-editorial-hero-image{aspect-ratio:4/3;min-height:400px}.cfr-city-jump .cfr-container{display:flex;gap:.3rem;overflow-x:auto;padding-top:.65rem;padding-bottom:.65rem;scrollbar-width:none}.cfr-city-jump .cfr-container::-webkit-scrollbar{display:none}.cfr-city-system-copy h2,.cfr-city-systems .cfr-eyebrow{color:#fff}.cfr-city-systems .cfr-eyebrow:before{background:#65b7ea}.cfr-city-faq-section .cfr-faq-list{margin-top:1.5rem}.cfr-city-final-grid .cfr-eyebrow,.cfr-city-final-grid h2{color:#fff}.cfr-city-final-grid .cfr-eyebrow:before{background:#74c4ef}.cfr-city-final-actions>a:not(.cfr-btn){color:#fff;font-size:1.06rem;font-weight:800;text-decoration:none}@media(max-width:760px){img.cfr-city-editorial-hero-image{min-height:0}.cfr-city-hero-actions .cfr-btn{width:100%}}.cfr-section{padding:clamp(3rem,5.2vw,5.25rem) 0}.cfr-section + .cfr-section{scroll-margin-top:110px}.cfr-content > :first-child{margin-top:0}.cfr-content > :last-child{margin-bottom:0}.cfr-content h2{margin-top:2.15rem;margin-bottom:.8rem;line-height:1.12}.cfr-content h3{margin-top:1.65rem;margin-bottom:.6rem;line-height:1.18}.cfr-content p,.cfr-content li{line-height:1.72}.cfr-content ul,.cfr-content ol{padding-left:1.25rem}.cfr-industry-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.cfr-post-card h2 a{color:inherit;text-decoration:none}.cfr-post-card h2 a:hover{color:var(--cfr-primary)}.cfr-gallery-editorial-head .cfr-section-intro{max-width:760px}.cfr-utility-hero .cfr-eyebrow{justify-content:center}.cfr-utility-hero .cfr-section-intro{margin-inline:auto}@media(max-width:900px){.cfr-industry-grid-two{grid-template-columns:1fr}}@media(max-width:620px){.cfr-section{padding:2.7rem 0}.cfr-search-form .cfr-btn{width:100%}}.cfr-solar-hero .cfr-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}.cfr-solar-coverage .cfr-container{position:relative;z-index:1}.cfr-solar-coverage .cfr-eyebrow{color:#8bd1fa}.cfr-solar-faq .cfr-faq-list{margin-top:1.5rem}@media(max-width:700px){.cfr-solar-hero .cfr-actions{display:grid;grid-template-columns:1fr}.cfr-solar-hero .cfr-actions .cfr-btn{width:100%}}.cfr-footer-v132-links .cfr-footer-sub-link { padding-left: .75rem; font-size: .95em; }.cfr-brand-exact{position:relative}.cfr-brand-tagline{  position:absolute;  left:18.2%;  bottom:6.5%;  color:#62758a;  font-size:8px;  font-weight:750;  line-height:1;  letter-spacing:.21em;  text-transform:uppercase;  white-space:nowrap;  pointer-events:none;}.cfr-brand-footer .cfr-brand-tagline{font-size:7px;bottom:6%;color:#6b7d8f}.cfr-footer-v132-links .cfr-footer-sub-link{padding-left:14px;font-size:.93em}@media(max-width:1100px){.cfr-brand-header .cfr-brand-tagline{font-size:7px}}@media(max-width:900px){.cfr-brand-header .cfr-brand-tagline{font-size:6.5px}}@media(max-width:760px){.cfr-brand-header .cfr-brand-tagline{font-size:6px;letter-spacing:.16em}}@media (min-width:1001px){.cfr-main-header .cfr-header-inner{min-height:86px;gap:34px}.cfr-primary-nav .menu{gap:5px}.cfr-primary-nav .menu>li>a{padding:12px 13px;border-radius:8px;font-weight:760}.cfr-primary-nav .menu>li>a:hover,.cfr-primary-nav .menu>li>a:focus-visible{background:#eef7fd;color:#087ff5}.cfr-header-quote{min-height:46px;padding-inline:20px;border-radius:9px;box-shadow:0 12px 28px -18px rgba(8,127,245,.65)}}.cfr-utility-commercial{display:inline-flex;align-items:center;gap:9px}.cfr-utility-commercial b{color:#5cb7ff;font-weight:900}.cfr-project-card{border-radius:14px!important;overflow:hidden;box-shadow:0 20px 48px -40px rgba(3,42,72,.48)}.cfr-v145-city-details .cfr-city-grid{margin:0!important;padding:4px 18px 20px;grid-template-columns:repeat(5,minmax(0,1fr))!important}.cfr-footer-v132-grid{gap:38px}.cfr-footer-v132-column h2{font-size:18px!important}.cfr-footer-v132-links{gap:10px}.cfr-footer-v132-contact address strong,.cfr-footer-v132-hours strong{color:#0b3558!important}.cfr-footer-v132-contact address span,.cfr-footer-v132-hours span{color:#607587!important}@media(max-width:1180px){.cfr-v145-city-details .cfr-city-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}@media(max-width:900px){.cfr-v145-city-details .cfr-city-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media(max-width:760px){.cfr-v145-city-details .cfr-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:480px){.cfr-v145-city-details .cfr-city-grid{grid-template-columns:1fr!important}}:root{  --cfr-container:1280px;  --cfr-site-heading:clamp(2.25rem,3.8vw,3.65rem);  --cfr-section-heading:clamp(1.72rem,2.55vw,2.5rem);}body{font-size:16px;line-height:1.6;color:#243d51;background:#fff}.cfr-section{padding:clamp(2.65rem,4.1vw,4.5rem) 0}.cfr-section-title,.cfr-heading-row .cfr-section-title,.cfr-content h2,.cfr-gallery-heading-row h2,.cfr-gallery-support-card h2{font-size:var(--cfr-section-heading);line-height:1.17;letter-spacing:-.032em;text-wrap:balance}.cfr-content h3,.cfr-silo-card strong,.cfr-owner-service-grid strong{font-size:clamp(1.07rem,1.45vw,1.3rem);line-height:1.32}.cfr-content p,.cfr-content li,.cfr-solar-story-copy p,.cfr-city-story-copy p,.cfr-city-section-lede p,.cfr-city-two-column p{font-size:1rem;line-height:1.73}.cfr-section-intro{font-size:clamp(.99rem,1.17vw,1.1rem);line-height:1.65}.cfr-eyebrow{font-size:.72rem;letter-spacing:.12em}.cfr-btn{min-height:44px;padding:.72rem 1.16rem;border-radius:10px;font-size:.94rem}.cfr-site-header{box-shadow:0 2px 16px rgba(5,29,49,.035)}.cfr-header-inner{gap:clamp(.7rem,1.6vw,1.5rem)}.cfr-primary-nav > .menu{gap:clamp(.75rem,1.4vw,1.45rem)}.cfr-primary-nav > .menu > li > a{font-size:.91rem;font-weight:730;white-space:nowrap}.cfr-primary-nav .sub-menu{min-width:275px;padding:10px;border:1px solid #dce8f0;border-radius:13px;background:#fff;box-shadow:0 22px 55px -35px rgba(5,35,65,.52)}.cfr-primary-nav .sub-menu a{font-size:.87rem;line-height:1.3;min-height:37px;padding:9px 12px;border-radius:8px}.cfr-primary-nav .sub-menu a:hover,.cfr-primary-nav .sub-menu a:focus-visible{background:#edf7fd;color:#0666a8}.cfr-submenu-toggle{display:none}.cfr-footer-v132-links .cfr-footer-sub-link{padding-left:0!important;margin-left:0!important;font-size:inherit!important}.cfr-page-hero,.cfr-page-hero-with-media,.cfr-projects-hero,.cfr-city-hero,.cfr-solar-hero{  padding:clamp(1.8rem,3.2vw,3rem) 0 clamp(2.2rem,3.6vw,3.5rem);}.cfr-page-hero::before,.cfr-city-hero::before,.cfr-solar-hero:after,.cfr-dedicated-image-section::before{display:none}.cfr-page-hero-grid,.cfr-city-hero-grid,.cfr-solar-hero-grid,.cfr-solar-type-regional .cfr-solar-hero-grid{  grid-template-columns:minmax(0,1fr) minmax(0,.97fr);  gap:clamp(1.4rem,3vw,3.4rem);  align-items:center;}.cfr-page-hero h1,.cfr-page-hero-grid h1,.cfr-city-hero-copy h1,.cfr-solar-hero-copy h1,.cfr-projects-hero h1{  font-size:var(--cfr-site-heading);  line-height:1.085;  letter-spacing:-.038em;  margin:.58rem 0 .86rem;  max-width:780px;  text-wrap:balance;}.cfr-solar-hero-copy,.cfr-city-hero-copy,.cfr-page-hero-copy{max-width:780px}.cfr-solar-hero-intro,.cfr-city-hero-intro,.cfr-page-hero .cfr-section-intro{  font-size:clamp(.99rem,1.19vw,1.09rem);  line-height:1.69;  max-width:690px;}.cfr-solar-hero .cfr-actions,.cfr-city-hero-actions,.cfr-page-hero-actions{margin-top:1.25rem;gap:.65rem}.cfr-page-hero-visual,.cfr-city-hero-media,.cfr-solar-hero-media,.cfr-solar-story-media,.cfr-city-inline-figure,.cfr-dedicated-image-card{  overflow:hidden;border-radius:15px;background:#e5f0f8;  box-shadow:0 22px 48px -36px rgba(8,41,71,.49);}.cfr-page-hero-visual::after,.cfr-city-hero-media::after,.cfr-solar-story-media:after{display:none}.cfr-page-hero-visual,.cfr-solar-hero-media{margin:0;transform:none}.cfr-page-hero-visual img,.cfr-page-hero-visual > img,.cfr-page-hero-img,.cfr-city-editorial-image,.cfr-city-hero-media img,.cfr-solar-managed-img,.cfr-solar-hero-media img,.cfr-solar-story-media img,.cfr-dedicated-image-card img,.cfr-photo-fallback{  display:block;width:100%;height:100%;min-height:0;  aspect-ratio:16/10;object-fit:cover;  border:0;border-radius:0;box-shadow:none;}.cfr-page-hero-visual,.cfr-solar-hero-media{aspect-ratio:16/10}.cfr-solar-hero-media,.cfr-solar-story-media,.cfr-city-inline-figure,.cfr-dedicated-image-card{padding:0;border:0}.cfr-solar-hero-media figcaption,.cfr-solar-story-media figcaption,.cfr-city-hero-media figcaption,.cfr-city-inline-figure figcaption,.cfr-support-image figcaption,.cfr-project-card figcaption,.cfr-home-project-card figcaption,.cfr-v127-detail-media figcaption,.cfr-capability-media-card figcaption,.cfr-energy-feature-card figcaption{display:none!important}.cfr-dedicated-image-section .cfr-heading-row{margin-bottom:1.35rem}.cfr-dedicated-image-grid,.cfr-dedicated-image-grid:not(.cfr-local-image-grid){  grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch;}.cfr-dedicated-image-grid .cfr-dedicated-image-card:first-child,.cfr-dedicated-image-grid:not(.cfr-local-image-grid) .cfr-dedicated-image-card:first-child{  grid-row:auto;grid-column:auto;}.cfr-dedicated-image-card img,.cfr-dedicated-image-card:first-child img,.cfr-dedicated-image-grid:not(.cfr-local-image-grid) .cfr-dedicated-image-card img{  min-height:0;aspect-ratio:16/10;object-fit:cover;}.cfr-solar-story-no-media .cfr-solar-story-copy .cfr-eyebrow,.cfr-solar-story-no-media .cfr-solar-story-copy h2{grid-column:1}.cfr-solar-managed .cfr-quote-section .cfr-section-title,.cfr-quote-section .cfr-section-title{color:#fff!important;font-size:clamp(1.72rem,2.5vw,2.5rem)}.cfr-quote-page-copy .cfr-section-title,.cfr-quote-copy .cfr-section-title{font-size:clamp(1.75rem,2.6vw,2.55rem)}.cfr-article-layout{display:block;max-width:1070px;margin-inline:auto}.cfr-service-next-steps{  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;  margin:2.2rem 0 0;}.cfr-service-next-steps a{  display:flex;justify-content:space-between;align-items:center;gap:10px;  padding:15px 17px;border:1px solid #dbe6ee;border-radius:11px;  background:#f8fbfd;color:#0a3456;font-weight:760;text-decoration:none;}.cfr-service-next-steps a:hover{border-color:#9dccec;background:#ecf7ff;color:#0671bb}.cfr-city-home .cfr-section{padding:clamp(2.45rem,4.1vw,4.4rem) 0}.cfr-projects-hero .cfr-narrow,.cfr-projects-hero .cfr-container.cfr-narrow{  width:min(calc(100% - 2.5rem),1100px);margin-inline:auto;}.cfr-projects-page .cfr-project-card{border-radius:13px;overflow:hidden}.cfr-projects-page .cfr-project-card img{display:block;width:100%;height:100%;object-fit:cover}.cfr-footer-v132-links{gap:10px}@media (max-width:1080px){.cfr-primary-nav > .menu{gap:.2rem}.cfr-submenu-toggle{    display:grid;place-items:center;position:absolute;right:9px;top:5px;    width:38px;height:38px;border:1px solid #dce8f1;border-radius:8px;    background:#f5faff;color:#0b3558;cursor:pointer;  }.cfr-nav-dropdown{position:relative}.cfr-primary-nav .cfr-nav-dropdown > a{padding-right:54px}.cfr-primary-nav .cfr-nav-dropdown > .sub-menu{display:none!important}.cfr-primary-nav .cfr-nav-dropdown.is-expanded > .sub-menu{display:block!important}.cfr-submenu-toggle[aria-expanded="true"] span{transform:rotate(180deg)}.cfr-page-hero-grid,.cfr-solar-hero-grid,.cfr-solar-type-regional .cfr-solar-hero-grid,  .cfr-city-hero-grid,.cfr-solar-story-grid,.cfr-city-story-grid,.cfr-city-system-grid,  .cfr-city-coverage-grid{grid-template-columns:1fr;gap:1.7rem}.cfr-solar-story-no-media .cfr-solar-story-copy .cfr-eyebrow,  .cfr-solar-story-no-media .cfr-solar-story-copy h2,  .cfr-solar-story-no-media .cfr-solar-story-copy p{grid-column:1;grid-row:auto}.cfr-page-hero-visual,.cfr-solar-hero-media,.cfr-city-hero-media,.cfr-solar-story-media{max-width:760px}}@media (max-width:720px){.cfr-section,.cfr-city-home .cfr-section{padding:2.35rem 0}.cfr-page-hero,.cfr-page-hero-with-media,.cfr-projects-hero,.cfr-city-hero,.cfr-solar-hero{    padding:1.65rem 0 2.2rem;  }.cfr-page-hero h1,.cfr-city-hero-copy h1,.cfr-solar-hero-copy h1,  .cfr-projects-hero h1{font-size:clamp(2.05rem,8.7vw,2.75rem)}.cfr-section-title,.cfr-content h2,.cfr-solar-story-copy h2,  .cfr-city-story-copy h2,.cfr-city-system-copy h2{font-size:clamp(1.55rem,6.2vw,2rem)}.cfr-solar-hero .cfr-actions{display:flex;flex-wrap:wrap}.cfr-solar-hero .cfr-actions .cfr-btn{width:auto;max-width:100%}.cfr-dedicated-image-grid,.cfr-dedicated-image-grid:not(.cfr-local-image-grid){grid-template-columns:1fr;gap:12px}.cfr-dedicated-image-card img,.cfr-dedicated-image-card:first-child img{aspect-ratio:16/10;min-height:0}.cfr-service-next-steps{grid-template-columns:1fr}.cfr-projects-hero .cfr-narrow,.cfr-projects-hero .cfr-container.cfr-narrow{width:min(calc(100% - 2rem),1100px)}}@media (prefers-reduced-motion:reduce){.cfr-service-next-steps a,.cfr-primary-nav .sub-menu{transition:none}}.cfr-article-wrap .cfr-article-layout{max-width:1060px}.cfr-v132-roof-gallery .cfr-project-card figcaption,.cfr-v127-home-gallery .cfr-project-card figcaption{display:none!important}.cfr-page-hero-visual img,.cfr-page-hero-visual > img,.cfr-page-hero-img{object-position:center 38%}.cfr-page-template-page-templates-service-php .cfr-page-hero-copy,.page-template-page-templates-service-php .cfr-page-hero-copy{padding-top:.35rem}.cfr-content>p,.cfr-content>ul,.cfr-content>ol{margin-left:0!important}.cfr-content :where(.wp-block-group,.wp-block-columns,.wp-block-column)>:first-child{margin-top:0}.cfr-city-grid{margin-top:1.35rem}.cfr-footer-v132-main .cfr-footer-v132-column h2{  font-size:clamp(.98rem,1vw,1.08rem)!important;  font-weight:800;line-height:1.25;margin:0 0 .85rem;}.cfr-footer-v132-main .cfr-footer-v132-links{gap:.43rem}.cfr-footer-v132-main .cfr-footer-v132-links a,.cfr-footer-v132-main .cfr-footer-v132-contact a{  font-size:.86rem!important;font-weight:650!important;line-height:1.42;  padding:0!important;margin:0!important;}.cfr-footer-v132-main .cfr-footer-v132-brand p{  font-size:.88rem!important;line-height:1.62;margin-bottom:1rem;}.cfr-footer-v132-main .cfr-footer-v132-contact address,.cfr-footer-v132-main .cfr-footer-v132-hours{  font-size:.85rem;line-height:1.53;margin-bottom:.9rem;}.cfr-footer-v132-main .cfr-footer-v132-contact address strong,.cfr-footer-v132-main .cfr-footer-v132-hours strong{  font-size:.88rem;line-height:1.4;}.cfr-footer-v132-main .cfr-footer-v132-grid{  gap:clamp(1.4rem,2.2vw,2.5rem);padding-top:2.05rem!important;padding-bottom:2.05rem!important;}.cfr-footer-v132-main .cfr-footer-v132-brand .cfr-footer-v132-actions{gap:.7rem}@media (max-width:760px){.cfr-footer-v132-main .cfr-footer-v132-grid{padding-top:1.7rem!important;padding-bottom:1.7rem!important}.cfr-footer-v132-main .cfr-footer-v132-links a{min-height:25px}}:root{--cfr-v1434-navy:#062c4d;--cfr-v1434-blue:#087ff5;--cfr-v1434-ink:#092b48;--cfr-v1434-soft:#f1f7fb;--cfr-v1434-line:#d9e6f0;--cfr-v1434-shadow:0 24px 60px -45px rgba(5,45,81,.36)}html{overflow-x:clip;scrollbar-color:#168be5 #e6f2fa;scrollbar-width:thin}body{overflow-x:clip}::-webkit-scrollbar{width:11px;height:10px}::-webkit-scrollbar-track{background:#e6f2fa}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#1596ec,#086bc2);border:2px solid #e6f2fa;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#075aab}.cfr-section,.cfr-city-home .cfr-section{padding-block:clamp(2.1rem,3.3vw,3.55rem)}.cfr-page-hero,.cfr-page-hero-with-media,.cfr-projects-hero,.cfr-solar-hero,.cfr-city-hero{padding-block:clamp(1.5rem,2.85vw,2.9rem)!important}.cfr-section-title,.cfr-content h2,.cfr-projects-hero h1{font-size:clamp(1.55rem,2.55vw,2.48rem);line-height:1.16;letter-spacing:-.033em;max-width:none}.cfr-page-hero h1,.cfr-page-hero-grid h1{font-size:clamp(2.05rem,3.65vw,3.48rem);line-height:1.1;letter-spacing:-.045em}.cfr-section-intro,.cfr-page-hero .cfr-section-intro{font-size:clamp(.99rem,1.15vw,1.09rem);line-height:1.65;max-width:78ch;font-weight:520}.cfr-heading-row{margin-bottom:1.15rem}.cfr-heading-row h2,.cfr-heading-row .cfr-section-title{margin-top:.4rem!important}.cfr-page-hero-visual,.cfr-solar-hero-media,.cfr-solar-story-media,.cfr-city-hero-media,.cfr-city-inline-figure,.cfr-dedicated-image-card,.cfr-v127-detail-media{overflow:hidden;margin:0;border:0;border-radius:17px;background:#eaf3f9;box-shadow:var(--cfr-v1434-shadow)}.cfr-page-hero-visual img,.cfr-solar-hero-media img,.cfr-solar-story-media img,.cfr-city-hero-media img,.cfr-city-inline-figure img,.cfr-dedicated-image-card img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:inherit}.cfr-city-hero-media figcaption,.cfr-city-inline-figure figcaption,.cfr-solar-story-media figcaption,.cfr-solar-hero-media figcaption,.cfr-v127-detail-media figcaption,.cfr-dedicated-image-card figcaption,.cfr-solar-caption{display:none!important}.cfr-page-hero-visual:after,.cfr-city-hero-media:after,.cfr-solar-hero-media:after,.cfr-solar-story-media:after{display:none!important}.cfr-page-hero-grid,.cfr-solar-hero-grid,.cfr-city-hero-grid{gap:clamp(1.3rem,2.8vw,2.8rem);align-items:start}.cfr-page-hero-copy,.cfr-solar-hero-copy,.cfr-city-hero-copy{align-self:start;max-width:none}.cfr-page-hero-grid .cfr-page-hero-visual,.cfr-city-hero-media,.cfr-solar-hero-media{align-self:start;margin-top:.1rem;transform:none!important}.cfr-page-hero-img,.cfr-city-hero-media img,.cfr-solar-hero-img{aspect-ratio:16/10!important;min-height:0!important;max-height:455px;object-position:center 50%;border:0!important}.cfr-city-hero-actions,.cfr-solar-hero .cfr-actions{gap:.7rem;margin-top:1.05rem}.cfr-city-system-copy .cfr-btn{margin-top:.25rem}.cfr-city-two-column .cfr-content{padding:1.15rem 1.35rem;border:1px solid #dce8f0;border-radius:13px;background:#fff;box-shadow:var(--cfr-v1434-shadow)}.cfr-city-solar-band .cfr-btn{display:inline-flex;margin-top:1.1rem}.cfr-city-faq-section .cfr-container{max-width:1280px}.cfr-city-faq-section .cfr-faq-list{margin-top:1rem}.cfr-city-final-actions .cfr-btn{padding:.9rem 1rem;border-radius:10px}.cfr-city-final-actions>a:not(.cfr-btn){font-size:.94rem}.cfr-solar-story-no-media .cfr-solar-story-copy .cfr-eyebrow,.cfr-solar-story-no-media .cfr-solar-story-copy h2{grid-column:1/-1;grid-row:auto}.cfr-page-template-page-templates-service-php .cfr-content,.page-template-page-templates-service-php .cfr-content{max-width:none}.cfr-page-template-page-templates-service-php .cfr-content>h2,.page-template-page-templates-service-php .cfr-content>h2{margin:2rem 0 .85rem;padding:.65rem 0 .7rem 1.15rem;border-left:4px solid #1596e9;border-bottom:1px solid #e3edf4;background:linear-gradient(90deg,#f5fbff,transparent 75%);border-radius:0 10px 0 0}.cfr-page-template-page-templates-service-php .cfr-content>p,.page-template-page-templates-service-php .cfr-content>p{font-size:1rem;line-height:1.7;max-width:105ch}.cfr-content>.cfr-industry-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.75rem}.cfr-industry{min-height:0!important;padding:1.1rem!important;border-top:3px solid #d8ebf8}.cfr-industry strong{font-size:1rem}.cfr-industry span{font-size:.92rem;line-height:1.58}.cfr-service-next-steps{margin-top:1.5rem}.cfr-post-grid.cfr-guide-count-1{display:grid;grid-template-columns:minmax(0,1fr)!important}.cfr-post-grid.cfr-guide-count-1 .cfr-post-card{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:0;max-width:none;min-height:0}.cfr-post-grid.cfr-guide-count-1 .cfr-post-card:not(:has(>a)){grid-template-columns:minmax(0,1fr)}.cfr-post-grid.cfr-guide-count-1 .cfr-post-card>a{height:100%;min-height:205px;overflow:hidden}.cfr-post-grid.cfr-guide-count-1 .cfr-post-card>a img{width:100%;height:100%;object-fit:cover}.cfr-post-grid.cfr-guide-count-1 .cfr-post-card-body{padding:clamp(1.2rem,2.5vw,2.2rem)}.cfr-post-grid.cfr-guide-count-1 .cfr-post-card-body h2{font-size:clamp(1.25rem,2.1vw,1.85rem)}.cfr-post-grid.cfr-guide-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cfr-footer-v132-main .cfr-footer-v132-column h2{font-size:1.21rem!important;font-weight:860!important;line-height:1.25;margin:0 0 1rem}.cfr-footer-v132-main .cfr-footer-v132-links a{font-size:.92rem!important;font-weight:640!important;line-height:1.5}.cfr-footer-v132-main .cfr-footer-v132-brand p{font-size:1rem!important;font-weight:610;line-height:1.65;color:#354e65!important}.cfr-footer-v132-main .cfr-footer-v132-contact address,.cfr-footer-v132-main .cfr-footer-v132-hours{font-size:.93rem;line-height:1.58}.cfr-footer-v132-main .cfr-footer-v132-links{gap:.55rem}.cfr-container,.cfr-section,.cfr-city-home,.cfr-solar-managed{min-width:0;max-width:100%}@media (max-width:900px){.cfr-city-hero-grid,.cfr-solar-hero-grid,.cfr-solar-type-regional .cfr-solar-hero-grid,.cfr-page-hero-grid,.cfr-city-story-grid,.cfr-city-system-grid,.cfr-city-coverage-grid,.cfr-solar-story-grid,.cfr-solar-managed .cfr-quote-grid{grid-template-columns:1fr!important}}@media (max-width:650px){.cfr-city-home .cfr-section,.cfr-solar-story-section.cfr-section{padding-block:2.1rem}.cfr-post-grid.cfr-guide-count-1 .cfr-post-card{grid-template-columns:1fr}.cfr-city-solar-band .cfr-btn{width:100%;justify-content:center}}.cfr-article-wrap .cfr-content{max-width:103ch;margin-inline:auto}.cfr-article-wrap .cfr-content h2{margin:2.2rem 0 .85rem;padding:.67rem 0 .67rem 1.1rem;border-left:4px solid #168be5;background:linear-gradient(90deg,#f2f8fd,transparent 82%);border-radius:0 12px 0 0;font-size:clamp(1.4rem,2.2vw,2.05rem)}.cfr-article-wrap .cfr-content h3{font-size:clamp(1.13rem,1.6vw,1.45rem);margin:1.35rem 0 .6rem;color:#0a3355}.cfr-article-wrap .cfr-content p,.cfr-article-wrap .cfr-content li{font-size:1.02rem;line-height:1.75;color:#36536b}.cfr-article-wrap .cfr-content blockquote{border-left:4px solid #087ff5;background:#eff7fc;padding:1.2rem 1.5rem;border-radius:0 12px 12px 0}.cfr-article-wrap .cfr-content img{display:block;max-width:100%;height:auto;border-radius:14px}@media(max-width:760px){.cfr-article-wrap .cfr-content h2{font-size:1.48rem;padding-left:.8rem}.cfr-article-wrap .cfr-content p,.cfr-article-wrap .cfr-content li{font-size:1rem}}@media(min-width:1320px){.cfr-city-services .cfr-section-title,.cfr-city-nearby .cfr-section-title,.cfr-city-faq-section .cfr-section-title{font-size:clamp(1.52rem,1.8vw,1.95rem);white-space:normal}}.cfr-city-home .cfr-city-systems .cfr-city-system-copy,.cfr-city-home .cfr-city-systems .cfr-city-system-copy p,.cfr-city-home .cfr-city-systems .cfr-city-system-copy li,.cfr-city-home .cfr-city-systems .cfr-city-system-copy .cfr-content,.cfr-city-home .cfr-city-systems .cfr-city-system-copy .cfr-content p{color:#e5f2fc!important;opacity:1!important}.cfr-city-home .cfr-city-systems .cfr-city-system-copy a:not(.cfr-btn){color:#b9e6ff!important;text-decoration:underline;text-underline-offset:3px}.cfr-city-home .cfr-city-systems .cfr-city-system-copy a:not(.cfr-btn):focus-visible{outline:3px solid #fff;outline-offset:4px}.cfr-contact-page .cfr-contact-owner-hero .cfr-actions a.cfr-btn-outline{color:#fff;border-color:rgba(255,255,255,.67)}.cfr-contact-page .cfr-contact-owner-hero .cfr-actions a:focus-visible{outline:3px solid #91d4ff;outline-offset:3px}@media(min-width:1600px){.cfr-container{width:min(calc(100% - 6rem),1680px)!important}}.cfr-city-home .cfr-city-hero-media,.cfr-solar-managed .cfr-solar-hero-media,.cfr-page-hero-media{aspect-ratio:auto!important;height:auto!important;min-height:0!important;padding:0!important;overflow:hidden!important}.cfr-city-home .cfr-city-hero-media img,.cfr-solar-managed .cfr-solar-hero-media img,.cfr-page-hero-img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:16/10!important;object-fit:cover!important}.cfr-solar-gallery-compact .cfr-project-card-native-wide:not(.cfr-project-card-panorama) .cfr-project-open{display:block!important;aspect-ratio:4/3!important;width:100%!important;min-height:0!important}.cfr-solar-gallery-compact .cfr-project-card-native-wide:not(.cfr-project-card-panorama) .cfr-project-open img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important}.cfr-page-hero-visual .cfr-roofing-systems-hero-photo{object-fit:cover!important;object-position:center 50%!important}.cfr-service-article-content>p{max-width:88ch;line-height:1.75}.cfr-service-article-content>h2{font-size:clamp(1.45rem,2.3vw,2.15rem);line-height:1.2}.cfr-service-article-content>h3{font-size:clamp(1.18rem,1.7vw,1.6rem)}.cfr-service-article-content :is(p,li){overflow-wrap:break-word}.cfr-projects-page .cfr-dedicated-gallery-grid.cfr-legacy-roofing-grid>.cfr-project-card-panorama{ grid-column:1/-1!important;width:min(100%,1030px)!important;max-width:1030px!important; justify-self:center!important;align-self:start!important;overflow:hidden!important; background:#eaf2f7!important;}.cfr-projects-page .cfr-dedicated-gallery-grid.cfr-legacy-roofing-grid>.cfr-project-card-panorama .cfr-project-open{ width:100%!important;display:block!important;aspect-ratio:1029/311!important;height:auto!important; min-height:0!important;overflow:hidden!important;background:#dceaf3!important;}.cfr-projects-page .cfr-dedicated-gallery-grid.cfr-legacy-roofing-grid>.cfr-project-card-panorama .cfr-project-open img{ width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:center 50%!important;}.cfr-projects-page .cfr-solar-gallery-compact .cfr-project-gallery-solar>.cfr-project-card-panorama{ grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(240px,.85fr)!important; width:min(100%,1040px)!important;max-width:1040px!important;justify-self:center!important; overflow:hidden!important;background:linear-gradient(120deg,#092f50,#0e4b76)!important; min-height:224px!important;border-color:#22658d!important;}.cfr-projects-page .cfr-solar-gallery-compact .cfr-project-gallery-solar>.cfr-project-card-panorama .cfr-project-open{ display:block!important;width:100%!important;height:100%!important;min-height:224px!important; aspect-ratio:auto!important;background:#0b3e64!important;overflow:hidden!important;}.cfr-projects-page .cfr-solar-gallery-compact .cfr-project-gallery-solar>.cfr-project-card-panorama .cfr-project-open img{ width:100%!important;height:100%!important;max-width:none!important;max-height:none!important; object-fit:cover!important;object-position:center!important;}.cfr-projects-page .cfr-solar-gallery-compact .cfr-project-gallery-solar>.cfr-project-card-panorama figcaption{ display:flex!important;flex-direction:column!important;justify-content:center!important;gap:.65rem!important; min-height:0!important;padding:clamp(1.3rem,3vw,2rem)!important;color:#f0f8ff!important;}.cfr-projects-page .cfr-solar-gallery-compact .cfr-project-gallery-solar>.cfr-project-card-panorama figcaption strong{ color:#fff!important;font-size:clamp(1.12rem,1.8vw,1.4rem)!important;line-height:1.35!important;}.cfr-projects-page .cfr-solar-gallery-compact .cfr-project-gallery-solar>.cfr-project-card-panorama .cfr-project-type{color:#9fddff!important}@media(max-width:700px){.cfr-projects-page .cfr-solar-gallery-compact .cfr-project-gallery-solar>.cfr-project-card-panorama{  grid-template-columns:minmax(0,1fr)!important;min-height:0!important; }.cfr-projects-page .cfr-solar-gallery-compact .cfr-project-gallery-solar>.cfr-project-card-panorama .cfr-project-open{  min-height:0!important;height:auto!important;aspect-ratio:16/9!important; }.cfr-projects-page .cfr-solar-gallery-compact .cfr-project-gallery-solar>.cfr-project-card-panorama figcaption{padding:1rem 1.1rem!important}.cfr-projects-page .cfr-dedicated-gallery-grid.cfr-legacy-roofing-grid>.cfr-project-card-panorama .cfr-project-open{aspect-ratio:16/8!important}.cfr-roofing-systems-content table{display:block!important;width:100%!important;border:0!important;background:transparent!important}.cfr-roofing-systems-content table thead{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.cfr-roofing-systems-content table tbody{display:block!important;width:100%!important}.cfr-roofing-systems-content table tr{display:block!important;width:100%!important;margin:0 0 .95rem!important;border:1px solid #d5e4ee!important;border-radius:12px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 6px 22px rgba(8,40,70,.05)!important}.cfr-roofing-systems-content table td{display:block!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;border:0!important;padding:.7rem .95rem!important;line-height:1.55!important}.cfr-roofing-systems-content table td:first-child{font-weight:800!important;font-size:1.04rem!important;color:#063c66!important;background:#edf6fc!important}.cfr-roofing-systems-content table td+td{border-top:1px solid #e3edf4!important}.cfr-roofing-systems-content table td:nth-child(2)::before,.cfr-roofing-systems-content table td:nth-child(3)::before{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#1c699e;margin-bottom:.3rem}.cfr-roofing-systems-content table td:nth-child(2)::before{content:"General construction"}.cfr-roofing-systems-content table td:nth-child(3)::before{content:"What to check before specifying"}}.cfr-projects-page .cfr-solar-gallery-compact .cfr-project-gallery-solar>.cfr-project-card-panorama figcaption{ background:linear-gradient(135deg,#073451,#0a4e78)!important; color:#eff9ff!important;}.cfr-city-home .cfr-city-systems .cfr-city-system-detail>.cfr-btn{margin-top:.3rem!important}body:not(.home){--cfr-primary:#0a6da8;--cfr-primary-dark:#075687}body:not(.home) .cfr-btn-primary{background:linear-gradient(135deg,#0a6da8,#075687)}body:not(.home) .cfr-btn-primary:hover{background:#075687}body:not(.home) .cfr-footer-v132-quote{background:#0869c7}body:not(.home) .cfr-footer-v132-quote:hover{background:#075687}.cfr-city-home :is(.cfr-city-decision-band,.cfr-city-two-column .cfr-content,.cfr-city-section-lede,.cfr-city-solar-band)>p{max-width:75ch}body:not(.home) main :is(h1,h2){text-wrap:balance}@media(max-width:767px){body:not(.home) main :is(.cfr-page-hero,.cfr-city-hero-copy,.cfr-solar-hero-copy,.cfr-utility-hero,.cfr-article-header) h1{font-size:clamp(1.7rem,7vw,2.05rem)!important;line-height:1.18!important;letter-spacing:-.025em!important}body:not(.home) main :is(h2,.cfr-section-title){font-size:clamp(1.4rem,6vw,1.65rem)!important;line-height:1.24!important;letter-spacing:-.02em}}.cfr-contact-owner-hero .cfr-btn-outline{color:#0a3653!important}.cfr-contact-owner-hero .cfr-btn-outline:hover{color:#075687!important}.cfr-contact-owner-hero .cfr-eyebrow{color:#8cd3fa!important}.cfr-article-layout.cfr-service-reflow{display:block;max-width:1230px;margin-inline:auto}.cfr-service-reflow .cfr-service-article-content{max-width:none;min-width:0}.cfr-service-editorial-feature{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(265px,.85fr);align-items:start;gap:clamp(1.5rem,3vw,3.2rem)}.cfr-service-feature-copy,.cfr-service-editorial-rail{min-width:0}.cfr-service-feature-copy .cfr-service-chapter{padding:0 0 1.1rem}.cfr-service-reflow .cfr-service-feature-copy>section:first-child>h2{margin-top:0}.cfr-service-reflow .cfr-service-feature-copy>section p{max-width:78ch}.cfr-service-editorial-rail{display:grid;gap:1rem}.cfr-service-editorial-figure{margin:0;overflow:hidden;border-radius:15px;background:#eff6fa;border:1px solid #d6e5ed}.cfr-service-editorial-img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.cfr-service-editorial-figure figcaption{padding:.68rem .92rem;color:#435b6d;font-size:.76rem;line-height:1.45}.cfr-service-editorial-card{padding:clamp(1.15rem,2vw,1.65rem);border:1px solid #c8e0ef;border-radius:16px;background:linear-gradient(155deg,#eff8ff 0%,#f9fcff 95%);box-shadow:0 9px 22px rgba(9,47,80,.06)}.cfr-service-editorial-card .cfr-eyebrow{color:#075c8f}.cfr-service-reflow .cfr-service-editorial-card h2{font-size:clamp(1.27rem,1.65vw,1.55rem);line-height:1.25;margin:.6rem 0 .85rem;color:#09324e}.cfr-service-editorial-card ul{padding-left:1.18rem;margin:0}.cfr-service-editorial-card li{margin:.55rem 0;line-height:1.55;font-size:.94rem;color:#2a4558}.cfr-service-editorial-next{padding:1.2rem 1.4rem;border-radius:14px;color:#fff;background:#0a3557}.cfr-service-editorial-next strong{color:#9ee0ff;font-size:.82rem;text-transform:uppercase;letter-spacing:.07em}.cfr-service-editorial-next p{color:#fff;margin:.55rem 0 1rem;font-size:.94rem;line-height:1.65}.cfr-service-editorial-next a{color:#fff;font-weight:800;text-underline-offset:4px}.cfr-service-editorial-next a:hover{color:#c2ecff}.cfr-service-following{max-width:970px;margin:clamp(2rem,4vw,3rem) auto 0;border-top:1px solid #dce8ef}.cfr-service-following .cfr-service-chapter{padding:clamp(1.4rem,2.8vw,2rem) 0;border-bottom:1px solid #e1eaf0}.cfr-service-following .cfr-service-chapter>h2{margin-top:.25rem}.cfr-service-following .cfr-service-chapter>p{max-width:88ch}.cfr-service-reflow .cfr-article-cta{width:100%;max-width:970px;margin-inline:auto}.cfr-service-reflow .cfr-service-next-steps{max-width:1100px;margin-inline:auto}@media(max-width:980px){.cfr-service-editorial-feature{grid-template-columns:minmax(0,1fr);gap:1.2rem}.cfr-service-editorial-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.cfr-service-editorial-figure{grid-column:1/-1;max-width:680px}}@media(max-width:680px){.cfr-service-editorial-rail{grid-template-columns:minmax(0,1fr)}.cfr-service-editorial-figure{grid-column:auto}.cfr-service-editorial-card,.cfr-service-editorial-next{padding:1.2rem}.cfr-service-following{margin-top:1.6rem}.cfr-service-following .cfr-service-chapter{padding:1.25rem 0}}body:not(.home) main{font-size:17px}body:not(.home) main :is(.cfr-content p,.cfr-content li,.cfr-solar-story-copy p,.cfr-city-story-copy p,.cfr-city-section-lede p,.cfr-city-two-column p,.cfr-quote-page-copy p,.cfr-quote-copy p){font-size:1.0625rem;line-height:1.73}body:not(.home) main :is(.cfr-industry span,.cfr-city-service-card p,.cfr-city-insight-card p,.cfr-solar-service-card p,.cfr-solar-offer-card p){font-size:1.016rem;line-height:1.65}body:not(.home) main .cfr-section-intro{font-size:clamp(1.0525rem,1.23vw,1.1625rem)}body:not(.home) main .cfr-eyebrow{color:#216e9b;letter-spacing:.125em}body:not(.home) main :is(.cfr-solar-hero,.cfr-quote-section,.cfr-contact-owner-hero,.cfr-city-hero) .cfr-eyebrow{color:#a8e1ff}body:not(.home) main h2{text-wrap:pretty;overflow-wrap:normal}body:not(.home) main :is(h1,h2,h3){hyphens:manual}.cfr-service-reflow .cfr-service-following{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.4vw,1.6rem);max-width:1230px;margin:clamp(1.65rem,3.2vw,2.6rem) auto 0;padding:clamp(1.25rem,2.4vw,2rem) 0 0;border-top:1px solid #dce8ef}.cfr-service-reflow .cfr-service-following .cfr-service-chapter{min-width:0;padding:clamp(1.25rem,2.6vw,1.95rem);border:1px solid #dfeaf2;border-radius:16px;background:linear-gradient(155deg,#fff 0%,#f9fcfe 100%);box-shadow:0 14px 30px -28px rgba(7,49,83,.26)}.cfr-service-reflow .cfr-service-following .cfr-service-chapter-wide{grid-column:1/-1}.cfr-service-reflow .cfr-service-following .cfr-service-chapter h2{font-size:clamp(1.45rem,2vw,1.93rem);line-height:1.24;letter-spacing:-.025em;margin:.12rem 0 1rem}.cfr-service-reflow .cfr-service-following .cfr-service-chapter p{max-width:83ch}.cfr-service-reflow .cfr-service-following .cfr-industry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1rem}.cfr-service-reflow .cfr-service-editorial-feature{grid-template-columns:minmax(0,1.32fr) minmax(300px,.98fr);gap:clamp(1.2rem,3vw,2.6rem)}.cfr-service-reflow .cfr-service-editorial-card li{font-size:1rem;line-height:1.66}.cfr-service-reflow .cfr-service-editorial-next p{font-size:1rem}.cfr-service-reflow .cfr-service-editorial-card,.cfr-service-reflow .cfr-service-editorial-next{height:auto}.cfr-service-reflow .cfr-service-editorial-figure figcaption{font-size:.82rem}.cfr-service-reflow .cfr-article-cta{max-width:1180px;margin:clamp(1.4rem,3vw,2.5rem) auto 0}.cfr-service-reflow .cfr-service-next-steps{max-width:1180px;margin:1.4rem auto 0}.cfr-service-next-steps a{font-size:1rem;line-height:1.4;min-height:66px;gap:1rem;padding:16px 19px}.cfr-gallery-support-section .cfr-container.cfr-narrow{width:min(calc(100% - 2.5rem),1130px);max-width:1130px}@media(min-width:900px){html{scrollbar-color:#377fa6 #e4ecf1;scrollbar-width:auto}}@media(max-width:1080px){.cfr-service-reflow .cfr-service-editorial-feature{grid-template-columns:minmax(0,1fr)}.cfr-service-reflow .cfr-service-editorial-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.cfr-service-reflow .cfr-service-editorial-figure{grid-column:1/-1;max-width:660px}.cfr-service-reflow .cfr-service-following{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.cfr-service-reflow .cfr-service-following{grid-template-columns:1fr}.cfr-service-reflow .cfr-service-following .cfr-service-chapter-wide{grid-column:auto}.cfr-service-reflow .cfr-service-following .cfr-industry-grid{grid-template-columns:1fr}.cfr-service-reflow .cfr-service-editorial-rail{grid-template-columns:1fr}.cfr-service-reflow .cfr-service-editorial-figure{grid-column:auto}.cfr-service-reflow .cfr-service-following .cfr-service-chapter{padding:1.15rem}.cfr-service-next-steps{grid-template-columns:1fr!important}}@media (max-width:420px){body:not(.home) main .cfr-section-intro{font-size:1.04rem;line-height:1.62}body:not(.home) main :is(.cfr-content p,.cfr-content li,.cfr-solar-story-copy p,.cfr-city-story-copy p,.cfr-city-two-column p){font-size:1.03rem}}@media(min-width:900px){html::-webkit-scrollbar{width:12px}html::-webkit-scrollbar-track{background:#e7f0f5}html::-webkit-scrollbar-thumb{background:#3c85ae;border:2px solid #e7f0f5;border-radius:8px}html::-webkit-scrollbar-thumb:hover{background:#165d88}}@media(min-width:1150px){.cfr-service-reflow .cfr-service-following .cfr-industry-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}}@media(min-width:761px) and (max-width:1149px){.cfr-service-reflow .cfr-service-following .cfr-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.cfr-service-reflow .cfr-service-feature-copy .cfr-service-chapter{padding-bottom:.5rem}.cfr-service-reflow .cfr-service-following>.cfr-service-chapter-wide{grid-column:1/-1!important}body:not(.home) main .cfr-page-hero:not(.cfr-projects-hero) .cfr-eyebrow{color:#a8e1ff}body .cfr-header-quote,body.home .cfr-v121-btn-primary,body.home .cfr-v145-area-cta,body.home .cfr-footer-v132-quote,body.home main a.cfr-btn:not([class*="cfr-btn-"]){background:#086db4;border-color:#086db4;color:#fff!important}body .cfr-header-quote:hover,body .cfr-header-quote:focus-visible,body.home .cfr-v121-btn-primary:hover,body.home .cfr-v121-btn-primary:focus-visible,body.home .cfr-v145-area-cta:hover,body.home .cfr-v145-area-cta:focus-visible,body.home .cfr-footer-v132-quote:hover,body.home .cfr-footer-v132-quote:focus-visible,body.home main a.cfr-btn:not([class*="cfr-btn-"]):hover,body.home main a.cfr-btn:not([class*="cfr-btn-"]):focus-visible{background:#075687;border-color:#075687}.screen-reader-text[href="#main-content"]:focus {  clip: auto !important; clip-path: none !important;  position: fixed !important; top: 1rem; left: 1rem;  width: auto !important; height: auto !important; overflow: visible;  background: #fff; color: #18364b;}body.admin-bar .screen-reader-text[href="#main-content"]:focus { top: 3.5rem; }@media (max-width:1080px) {.cfr-primary-nav {    max-height:calc(100dvh - 100px);    overscroll-behavior:contain;    -webkit-overflow-scrolling:touch;  }.cfr-submenu-toggle:focus-visible,  .cfr-primary-nav a:focus-visible {    outline:3px solid #075687;    outline-offset:2px;  }}@media (min-width:981px) and (max-width:1080px) {.cfr-primary-nav {max-height:calc(100dvh - 131px)}}@media (max-width:560px) {.cfr-primary-nav {max-height:calc(100dvh - 90px)}}.cfr-projects-page .cfr-project-gallery>.cfr-project-card,.cfr-v127-home-gallery>.cfr-project-card,.cfr-v132-roof-gallery>.cfr-project-card{  grid-column:auto!important;grid-row:auto!important;width:100%!important;  max-width:none!important;justify-self:stretch!important;align-self:stretch!important}.cfr-projects-page .cfr-project-gallery>.cfr-project-card .cfr-project-open,.cfr-v127-home-gallery>.cfr-project-card .cfr-project-open,.cfr-v132-roof-gallery>.cfr-project-card .cfr-project-open{  display:block;width:100%;aspect-ratio:16/10!important;height:auto!important;min-height:0!important}.cfr-project-gallery .cfr-project-card .cfr-project-open img{  width:100%;height:100%;display:block;object-fit:cover;object-position:center}.cfr-project-card{overflow:hidden;min-width:0;margin:0;border-radius:14px}.cfr-service-editorial-figure{margin:0;overflow:hidden;border:0;border-radius:16px}.cfr-service-editorial-figure img{display:block;width:100%;aspect-ratio:16/10;height:auto;object-fit:cover}.cfr-service-reflow .cfr-service-editorial-rail{align-content:start}body:not(.home) main :is(.cfr-page-hero-copy h1,.cfr-city-hero h1,.cfr-solar-hero h1){  text-wrap:balance;word-break:normal;overflow-wrap:normal;max-width:24ch}body:not(.home) main :is(.cfr-service-chapter h2,.cfr-city-services h2,.cfr-city-two-column h2){  text-wrap:pretty;overflow-wrap:normal}.cfr-page-hero .cfr-page-hero-visual{min-width:0}.cfr-page-hero .cfr-page-hero-img{display:block;width:100%;height:100%;aspect-ratio:16/10;object-fit:cover}.cfr-footer-v132-brand p{font-weight:650;line-height:1.65}.cfr-footer-v132-column h2{font-weight:850;letter-spacing:-.01em}@media(max-width:760px){.cfr-service-reflow .cfr-service-editorial-figure{grid-column:auto;max-width:none}.cfr-projects-page .cfr-project-gallery>.cfr-project-card .cfr-project-open, .cfr-v127-home-gallery>.cfr-project-card .cfr-project-open{aspect-ratio:4/3!important}}.cfr-projects-page .cfr-project-gallery-solar>.cfr-project-card.cfr-project-card-panorama:last-child,.cfr-projects-page .cfr-project-gallery-last-panorama>.cfr-project-card.cfr-project-card-panorama:last-child,.cfr-v127-home-gallery>.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;align-self:stretch!important}@media(min-width:1100px){body:not(.home) main :is(.cfr-page-hero-copy h1,.cfr-city-hero h1,.cfr-solar-hero h1){max-width:none;font-size:clamp(2.1rem,3.3vw,3.2rem)}}html{scrollbar-width:auto;scrollbar-color:#0878d4 #ddecf7}::-webkit-scrollbar{width:15px;height:12px}::-webkit-scrollbar-track{background:#ddecf7}::-webkit-scrollbar-thumb{background:#0878d4;border:3px solid #ddecf7;border-radius:12px}::-webkit-scrollbar-thumb:hover{background:#075caa}body:not(.home) main :is(.cfr-content p,.cfr-section-intro,.cfr-city-section-lede p,.cfr-city-story-copy p,.cfr-city-system-copy p,.cfr-city-coverage-copy p,.cfr-solar-story-copy p,.cfr-service-article p){ font-size:max(1rem,calc(1em + 1px));line-height:1.65;max-width:79ch}body:not(.home) main :is(.cfr-section-title,.cfr-page-hero h1,.cfr-city-hero h1,.cfr-service-article h2,.cfr-city-home h2){ overflow-wrap:normal;word-break:normal;text-wrap:balance}@media(max-width:980px){.cfr-primary-nav,.cfr-primary-nav .menu{overscroll-behavior:contain}.cfr-primary-nav .sub-menu a{min-height:40px;display:flex;align-items:center;white-space:normal;line-height:1.35}.cfr-primary-nav .sub-menu{max-height:min(62vh,510px);overflow-y:auto;scrollbar-width:auto}}.cfr-dedicated-gallery-page .cfr-project-card figcaption,.cfr-projects-page .cfr-project-gallery .cfr-project-card figcaption{display:none!important}.cfr-page-hero-grid:not(:has(.cfr-page-hero-visual)){grid-template-columns:minmax(0,1fr)}@media(max-width:600px){.cfr-city-home :is(h1,h2,h3),.cfr-page-hero h1{hyphens:none;overflow-wrap:normal;word-break:normal}}.cfr-project-card .cfr-project-open:focus-visible,.cfr-dedicated-gallery-grid .cfr-project-open:focus-visible,.cfr-dedicated-image-card:focus-visible{  outline:3px solid #ffdf7e!important;outline-offset:3px!important;  box-shadow:0 0 0 6px #073655!important;}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.cfr-project-card *, .cfr-v121-actions *, .cfr-primary-nav *{    animation-duration:.01ms!important;transition-duration:.01ms!important;  }}.cfr-404-page .cfr-utility-hero .cfr-section-intro,.cfr-404-page .cfr-utility-hero p{color:#425b72}.cfr-404-page .cfr-utility-hero .cfr-eyebrow{color:#0963a6}@media (max-width:600px) {html body:not(.home) main h1:not(#__cfr_unused_selector__) {    text-wrap:balance!important;    font-size:clamp(1.5rem,6.6vw,1.69rem)!important;    letter-spacing:-.02em!important;    overflow-wrap:normal!important;  }html body:not(.home) main h2:not(#__cfr_unused_selector__) {    text-wrap:balance!important;    font-size:clamp(1.28rem,5.5vw,1.5rem)!important;    letter-spacing:-.02em!important;    overflow-wrap:normal!important;  }}body:not(.home) main .cfr-city-hero .cfr-eyebrow{  color:#07578d!important;}@media (min-width: 601px) {html body main h2 {    text-wrap: balance !important;  }}main.cfr-solar-managed .cfr-solar-hero .cfr-eyebrow {  color: #07578d !important;}.cfr-primary-nav .cfr-nav-dropdown--solar > .sub-menu{  width:min(710px,calc(100vw - 40px));max-height:min(78vh,660px);overflow-y:auto;  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 8px;  right:0;left:auto;padding:12px;scrollbar-color:#0878d4 #e6f2fa;}.cfr-primary-nav .cfr-nav-dropdown--solar > .sub-menu > li{min-width:0}.cfr-primary-nav .cfr-nav-dropdown--solar > .sub-menu a{display:flex;align-items:center;min-height:43px;white-space:normal;line-height:1.35}.cfr-exp-hero .cfr-breadcrumbs,.cfr-exp-hero .cfr-breadcrumbs a,.cfr-exp-hero .cfr-breadcrumbs span{color:#c5d9e8}.cfr-exp-hero .cfr-breadcrumbs a:hover{color:#fff}.cfr-exp-hero-actions .cfr-btn{font-weight:800;line-height:1.3;min-height:51px;max-width:100%;white-space:normal;text-align:center}.cfr-exp-story-heading .cfr-eyebrow{color:#086aa7;font-weight:850}.cfr-exp-faq-grid .cfr-eyebrow{color:#79cbf7}.cfr-exp-bottom-grid .cfr-eyebrow{color:#b4e2f9}.cfr-exp-bottom-grid .cfr-btn{white-space:normal;text-align:center}@media(max-width:1080px){.cfr-primary-nav .cfr-nav-dropdown--solar > .sub-menu{position:static;display:block;width:100%;max-height:56vh;min-width:0;margin:0;overflow-y:auto;padding:0 0 0 .6rem;border:0;border-left:2px solid #d6e8f5;border-radius:0;box-shadow:none;background:transparent}.cfr-primary-nav .cfr-nav-dropdown--solar > .sub-menu > li{display:block;width:100%}.cfr-primary-nav .cfr-nav-dropdown--solar > .sub-menu a{font-size:.87rem;min-height:40px;padding:.4rem .65rem}}@media(max-width:600px){.cfr-exp-hero-actions .cfr-btn{width:100%}.cfr-exp-bottom-grid .cfr-btn{width:100%}}.cfr-v145-city-details .cfr-city-grid{padding:8px 18px 20px;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr))!important}.cfr-v145-city-details .cfr-city-link{min-height:44px;padding:9px 11px;border-radius:10px;font-size:.94rem;font-weight:750}@media(max-width:800px){.cfr-v145-city-details .cfr-city-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media(max-width:640px){.cfr-v145-city-details .cfr-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:8px 12px 16px}}body.home .cfr-v145-city-details .cfr-city-link{font-size:.99rem}body.home .cfr-footer-v132-main .cfr-footer-v132-links a{font-size:1rem!important;line-height:1.55}body.home .cfr-footer-v132-main .cfr-footer-v132-contact address{font-size:1rem}.cfr-exp-premium .cfr-container{width:min(calc(100% - 3rem),1280px)}.cfr-exp-premium .cfr-eyebrow{font-size:.82rem;letter-spacing:.14em;color:#0873b5}.cfr-exp-premium .cfr-btn{min-height:52px;border-radius:10px;font-size:1rem;padding:.85rem 1.2rem}.cfr-exp-spotlight .cfr-eyebrow,.cfr-exp-spotlight .cfr-eyebrow::before{color:#a5dffb}.cfr-exp-spotlight-copy .cfr-btn{margin-top:1rem;background:#1787c9;color:#fff}.cfr-exp-spotlight-copy .cfr-btn:hover{background:#0b6ea9}@media(max-width:600px){.cfr-exp-premium .cfr-container{width:min(calc(100% - 2rem),1280px)}.cfr-exp-premium .cfr-exp-hero-actions .cfr-btn{width:100%}.cfr-exp-premium .cfr-exp-bottom-grid .cfr-btn{width:100%}}:root { --cfr-readable-body:clamp(1.075rem,1.22vw,1.18rem); --cfr-readable-small:1.015rem; }body { font-size:17px;line-height:1.68; }.cfr-section-intro, .cfr-gallery-editorial-head .cfr-section-intro,.cfr-page-hero .cfr-section-intro,.cfr-projects-hero .cfr-section-intro,.cfr-gallery-click-note,.cfr-section p:not(.cfr-eyebrow):not(.cfr-breadcrumbs),.cfr-content p,.cfr-content li,.cfr-contact-details>p,.cfr-contact-intro-grid p {  font-size:var(--cfr-readable-body);line-height:1.73;}.cfr-section-intro { max-width:68ch; }.cfr-eyebrow,.cfr-v121-kicker,.cfr-exp-premium .cfr-eyebrow {font-size:clamp(.82rem,.92vw,.93rem);letter-spacing:.105em}.cfr-v127-spec-head>p,.cfr-v127-spec-head .cfr-section-intro{font-size:1.15rem}.cfr-footer-v132-links a,.cfr-footer-v132-contact a,.cfr-footer-v132-contact address{font-size:1rem;line-height:1.55}.cfr-contact-page .cfr-contact-owner-hero .cfr-eyebrow{color:#aadfff}.cfr-contact-page .cfr-contact-owner-hero .cfr-section-intro,.cfr-contact-page .cfr-contact-hero-note{color:#e2eef7;font-size:clamp(1.1rem,1.42vw,1.26rem);line-height:1.7}.cfr-contact-page .cfr-contact-owner-hero .cfr-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.65rem 0 0}.cfr-contact-page .cfr-contact-owner-hero .cfr-btn{font-size:1rem;min-height:50px}@media(max-width:600px){.cfr-contact-page .cfr-contact-owner-hero .cfr-actions .cfr-btn{width:100%;justify-content:center}}body.home .cfr-v121-proof .cfr-container.cfr-v121-proof-grid{width:min(calc(100% - 5.5rem),1680px)!important;margin-inline:auto}@media (max-width:1200px){body.home .cfr-v121-proof .cfr-container.cfr-v121-proof-grid{width:min(calc(100% - 3rem),1400px)!important}}@media (max-width:780px){body.home .cfr-v121-proof .cfr-container.cfr-v121-proof-grid{width:min(calc(100% - 1.5rem),1000px)!important}}body.home .cfr-v127-areas details.cfr-v145-city-details .cfr-city-grid{  grid-template-columns:repeat(3,minmax(0,1fr))!important;  gap:.65rem;}@media(max-width:580px){body.home .cfr-v127-areas details.cfr-v145-city-details .cfr-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:390px){body.home .cfr-v127-areas details.cfr-v145-city-details .cfr-city-grid{grid-template-columns:1fr!important}}.cfr-footer-v132-main .cfr-footer-v132-column h2{  font-size:clamp(1.27rem,1.28vw,1.43rem)!important;  line-height:1.3;  text-wrap:balance;  margin-bottom:1.08rem;}.cfr-footer-v132-main .cfr-footer-v132-links a,.cfr-footer-v132-main .cfr-footer-v132-contact a{  font-size:clamp(1.035rem,1.1vw,1.13rem)!important;  line-height:1.46;  overflow-wrap:break-word;}.cfr-footer-v132-main .cfr-footer-v132-brand p{  font-size:1.065rem!important;  line-height:1.65;}.cfr-footer-v132-main .cfr-footer-v132-contact address,.cfr-footer-v132-main .cfr-footer-v132-hours{  font-size:1.05rem!important;  line-height:1.55;}.cfr-footer-v132-main .cfr-footer-v132-contact address strong,.cfr-footer-v132-main .cfr-footer-v132-hours strong{  font-size:1.055rem;}.cfr-footer-v132-main .cfr-footer-v132-links{gap:.5rem}@media (min-width:1480px){.cfr-footer-v132-main .cfr-footer-v132-grid{    grid-template-columns:minmax(0,1.5fr) minmax(0,.99fr) minmax(0,.8fr) minmax(0,.91fr);    gap:clamp(1.3rem,2vw,2.45rem);  }.cfr-footer-v132-main .cfr-footer-v1491-explore{    padding-inline-start:clamp(.9rem,1.55vw,1.8rem);  }}@media (min-width:1181px) and (max-width:1479px){.cfr-footer-v132-main .cfr-footer-v132-grid{    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.83fr) minmax(0,1.04fr);    gap:clamp(1rem,1.9vw,1.8rem);  }.cfr-footer-v132-main .cfr-footer-v1491-explore{padding-inline-start:.45rem}}@media (max-width:1180px){.cfr-footer-v132-main .cfr-footer-v1491-explore{padding-inline-start:0}}@media (max-width:760px){.cfr-footer-v132-main .cfr-footer-v132-column h2{font-size:1.31rem!important}.cfr-footer-v132-main .cfr-footer-v132-links a,  .cfr-footer-v132-main .cfr-footer-v132-contact a{font-size:1.04rem!important}}body.home .cfr-v1492-roof-actions-panel .cfr-actions{  display:flex;gap:.75rem;flex-wrap:wrap;margin:0;}body.home .cfr-v1492-roof-actions-panel .cfr-btn{font-size:1rem;line-height:1.4}@media (max-width:620px){body.home .cfr-v1492-roof-actions-panel .cfr-btn{flex:1 1 auto;text-align:center}}.cfr-dedicated-gallery-page .cfr-projects-hero .cfr-section-intro{max-width:840px}.cfr-dedicated-gallery-page .cfr-project-gallery-solar>.cfr-project-card{  border:1px solid #d8e5ee;border-radius:16px;background:#edf4f8;  box-shadow:0 18px 40px -32px rgba(7,38,62,.48);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}.cfr-dedicated-gallery-page .cfr-project-gallery-solar>.cfr-project-card:hover{  transform:translateY(-3px);border-color:#b9d9ec;box-shadow:0 24px 46px -30px rgba(7,38,62,.58);}.cfr-dedicated-gallery-page .cfr-project-gallery-solar>.cfr-project-card:nth-child(-n/**/+4) .cfr-project-open{aspect-ratio:16/10}.cfr-dedicated-gallery-page .cfr-project-gallery-solar>.cfr-project-card:nth-child(-n/**/+4){box-shadow:0 22px 50px -32px rgba(7,38,62,.55)}@media (max-width:620px){.cfr-dedicated-gallery-page .cfr-project-gallery-solar>.cfr-project-card:nth-child(-n/**/+4) .cfr-project-open{aspect-ratio:4/3}.cfr-dedicated-gallery-page .cfr-project-gallery-solar>.cfr-project-card:hover{transform:none}}.cfr-dedicated-gallery-page .cfr-project-gallery-solar>.cfr-project-card{display:flex;flex-direction:column;overflow:hidden;background:#fff}.cfr-dedicated-gallery-page .cfr-project-gallery-solar>.cfr-project-card-panorama .cfr-solar-project-caption{background:linear-gradient(120deg,#092f50,#0e4b76)!important;border-top:0!important;color:#e9f6ff!important;min-height:224px}.cfr-dedicated-gallery-page .cfr-project-gallery-solar>.cfr-project-card-panorama .cfr-solar-project-caption strong{color:#fff!important}.cfr-dedicated-gallery-page .cfr-project-gallery-solar>.cfr-project-card-panorama .cfr-solar-project-caption span{color:#c8e8fb!important}.cfr-solar-project-history .cfr-eyebrow{color:#99d8fb!important}.cfr-solar-project-history-actions .cfr-btn{background:#fff;color:#0a3e64;border-color:#fff}body.home .cfr-v1496-solar-actions-panel .cfr-actions{  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;align-items:stretch;}body.home .cfr-v1496-solar-actions-panel .cfr-btn{  width:100%;min-width:0;justify-content:center;text-align:center;font-size:1rem;line-height:1.35;padding-inline:.95rem;}@media (max-width:620px){body.home .cfr-v1496-solar-actions-panel .cfr-v127-checklist,  body.home .cfr-v1496-solar-actions-panel .cfr-actions{grid-template-columns:1fr}}body.home .cfr-v1498-solar-actions-panel .cfr-actions{  grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;  width:min(100%,980px);margin:0 auto;}@media (max-width:980px){body.home .cfr-v1498-solar-actions-panel .cfr-actions{grid-template-columns:1fr}}.cfr-service-audience{background:#edf6fb;border-bottom:1px solid #d5e7f2}.cfr-service-audience-inner{display:flex;align-items:center;gap:1rem 1.5rem;padding-top:1rem;padding-bottom:1rem}.cfr-service-audience-inner>strong{flex:0 0 auto;color:#0b3455;font-size:.96rem;line-height:1.35}.cfr-service-audience-list{display:flex;flex-wrap:wrap;gap:.5rem}.cfr-service-audience-list span{display:inline-flex;align-items:center;min-height:34px;padding:.38rem .65rem;border:1px solid #c9dfeb;border-radius:999px;background:#fff;color:#315a73;font-size:.82rem;font-weight:700;line-height:1.25;text-align:center}@media(max-width:980px){.cfr-service-audience-inner{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.cfr-service-audience-list{display:grid;grid-template-columns:1fr 1fr;width:100%}.cfr-service-audience-list span{border-radius:9px;padding:.5rem .55rem}}@media(max-width:420px){.cfr-service-audience-list{grid-template-columns:1fr}}:root{--cfr-primary:#0a6da8;--cfr-primary-dark:#075687;--cfr-primary-soft:rgba(10,109,168,.10);--cfr-primary-border:rgba(10,109,168,.28)}.cfr-trust-number,.cfr-service-index,.cfr-service-icon,.cfr-industry-grid-premium .cfr-industry>span,.cfr-form-heading span{color:#075f9c!important}.cfr-btn-primary{background:linear-gradient(135deg,#0a6da8,#075687);color:#fff}.cfr-btn-primary:hover,.cfr-btn-primary:focus-visible{background:#075687;color:#fff}.cfr-exp-spotlight-copy .cfr-btn{background:#075f9c;color:#fff}.cfr-exp-spotlight-copy .cfr-btn:hover,.cfr-exp-spotlight-copy .cfr-btn:focus-visible{background:#064f82;color:#fff}@media (min-width:1081px){.cfr-service-reflow .cfr-service-editorial-feature{    display:grid;    grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);    grid-template-rows:auto auto;    column-gap:clamp(1.6rem,3vw,2.8rem);    row-gap:1.25rem;    align-items:stretch;  }.cfr-service-reflow .cfr-service-feature-copy{    grid-column:1;    grid-row:1;    align-self:center;    padding:clamp(.5rem,1.6vw,1.25rem) 0;  }.cfr-service-reflow .cfr-service-editorial-rail{display:contents}.cfr-service-reflow .cfr-service-editorial-figure{    grid-column:2;    grid-row:1;    align-self:stretch;    min-height:290px;  }.cfr-service-reflow .cfr-service-editorial-img{    width:100%;    height:100%;    min-height:290px;    max-height:365px;    aspect-ratio:auto;    object-fit:cover;  }.cfr-service-reflow .cfr-service-editorial-card{    grid-column:1;    grid-row:2;    height:100%;    padding:clamp(1.25rem,2vw,1.75rem);  }.cfr-service-reflow .cfr-service-editorial-next{    grid-column:2;    grid-row:2;    height:100%;    display:flex;    flex-direction:column;    justify-content:center;    padding:clamp(1.25rem,2vw,1.7rem);  }.cfr-service-reflow .cfr-service-editorial-next p{max-width:42ch}}.cfr-service-reflow .cfr-service-following{margin-top:clamp(1.4rem,2.6vw,2.15rem)}.cfr-service-reflow .cfr-service-following .cfr-service-chapter{align-self:stretch}.cfr-service-reflow .cfr-service-following .cfr-service-chapter>h2{max-width:30ch}.cfr-service-reflow .cfr-service-following .cfr-service-chapter-wide>h2{max-width:none}
/* v1.5.15 footer desktop alignment */
@media (min-width:1181px){
  .cfr-footer-v132-main .cfr-footer-v132-grid{
    grid-template-columns:minmax(0,1.24fr) minmax(0,1fr) minmax(0,.82fr) minmax(0,.98fr)!important;
    column-gap:clamp(2.2rem,3vw,3.6rem)!important;
    align-items:start!important;
  }
  .cfr-footer-v132-main .cfr-footer-v132-services{
    padding-inline-start:clamp(1.4rem,2.1vw,2.45rem)!important;
  }
  .cfr-footer-v132-main .cfr-footer-v132-contact{
    justify-self:end!important;
    width:min(100%,390px)!important;
    padding-inline-end:0!important;
  }
}
@media (min-width:1480px){
  .cfr-footer-v132-main .cfr-footer-v132-grid{
    grid-template-columns:minmax(0,1.28fr) minmax(0,1fr) minmax(0,.82fr) minmax(0,1fr)!important;
  }
  .cfr-footer-v132-main .cfr-footer-v132-services{
    padding-inline-start:clamp(1.7rem,2.4vw,2.8rem)!important;
  }
}
\n/* v1.5.24 - premium long-form roofing service layout */\n.cfr-service-premium-longform{max-width:1230px;margin-inline:auto}\n.cfr-service-premium-lead{padding:clamp(1.55rem,2.7vw,2.35rem);border:1px solid #dbe8f0;border-radius:20px;background:linear-gradient(150deg,#ffffff 0%,#f4f9fc 100%);box-shadow:0 20px 44px -36px rgba(7,49,83,.28)}\n.cfr-service-premium-lead>h2{max-width:30ch;margin:.05rem 0 1rem;font-size:clamp(1.65rem,2.35vw,2.25rem);line-height:1.2;letter-spacing:-.025em}\n.cfr-service-premium-lead>p{max-width:88ch;margin-bottom:1rem}\n.cfr-service-premium-lead .cfr-owner-premium-media{max-width:940px;margin:clamp(1.25rem,2vw,1.8rem) auto .3rem}\n.cfr-service-longform-content .cfr-service-following{margin-top:clamp(1.3rem,2.5vw,2rem)}\n.cfr-service-longform-content .cfr-service-following .cfr-service-chapter{display:flex;flex-direction:column;justify-content:flex-start}\n.cfr-service-longform-content .cfr-service-following .cfr-service-chapter>h2{margin:.05rem 0 .9rem}\n.cfr-service-longform-content .cfr-service-following .cfr-service-chapter>p:last-child{margin-bottom:0}\n.cfr-roofing-systems-content .cfr-owner-premium-media:not(.cfr-owner-premium-diagram){max-width:720px;margin:1.35rem auto .25rem}\n.cfr-roofing-systems-content .cfr-owner-premium-media:not(.cfr-owner-premium-diagram) img{display:block;width:100%;height:clamp(260px,28vw,370px);object-fit:cover}\n.cfr-roofing-systems-content .cfr-owner-premium-diagram{max-width:940px}\n.cfr-roofing-systems-content .cfr-owner-premium-diagram img{height:auto;max-height:520px;object-fit:contain}\n.cfr-service-longform-content .cfr-industry-grid{margin-top:1.2rem}\n@media(max-width:900px){.cfr-service-premium-lead{padding:1.35rem}.cfr-roofing-systems-content .cfr-owner-premium-media:not(.cfr-owner-premium-diagram){max-width:100%}.cfr-roofing-systems-content .cfr-owner-premium-media:not(.cfr-owner-premium-diagram) img{height:auto;aspect-ratio:16/10;object-fit:cover}}\n
/* CFR v1.5.26 - stronger site scrollbar */
html{scrollbar-width:auto;scrollbar-color:#0878d4 #ddecf7}
::-webkit-scrollbar{width:18px;height:14px}
::-webkit-scrollbar-track{background:#ddecf7}
::-webkit-scrollbar-thumb{background:#0878d4;border:3px solid #ddecf7;border-radius:999px;min-height:72px}
::-webkit-scrollbar-thumb:hover{background:#075caa}
/* CFR v1.5.31 | Roofing Systems only: balanced editorial layout matched to Rooftop Solar. */
.cfr-rs-page{background:#fff;color:#263c50}
.cfr-rs-page *{min-width:0}
.cfr-rs-page .cfr-rs-hero{padding:clamp(2rem,3.2vw,3rem) 0;background:linear-gradient(145deg,#eff7fc,#fff 62%)}
.cfr-rs-page .cfr-rs-hero .cfr-page-hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);align-items:center;gap:clamp(1.4rem,3.5vw,3rem)}
.cfr-rs-page .cfr-rs-hero .cfr-page-hero-copy{max-width:650px}
.cfr-rs-page .cfr-rs-hero h1{max-width:16ch;font-size:clamp(2.2rem,3.35vw,3.4rem);line-height:1.1;margin:.6rem 0 .95rem}
.cfr-rs-page .cfr-rs-hero .cfr-section-intro{max-width:61ch;font-size:clamp(1.02rem,1.35vw,1.14rem);line-height:1.75;margin:0 0 1.25rem}
.cfr-rs-page .cfr-rs-hero .cfr-page-hero-visual{width:100%;margin:0;overflow:hidden;border-radius:20px;box-shadow:0 22px 50px -32px rgba(7,45,83,.43)}
.cfr-rs-page .cfr-rs-hero .cfr-page-hero-img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;height:auto}
.cfr-rs-page .cfr-rs-audience{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1.15rem;color:#36627f;font-size:.85rem;font-weight:650;line-height:1.4}
.cfr-rs-page .cfr-rs-audience span:before{content:'✓';margin-right:.35rem;color:#087bb5}
.cfr-rs-page .cfr-rs-section{padding:clamp(2.4rem,3.9vw,4rem) 0}
.cfr-rs-page .cfr-rs-section-white{background:#fff}
.cfr-rs-page .cfr-rs-section-soft{background:#f2f7fb}
.cfr-rs-page .cfr-rs-story-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:start;gap:clamp(1.6rem,4.3vw,4.1rem)}
.cfr-rs-page .cfr-rs-story-copy{max-width:650px;text-align:left}
.cfr-rs-page .cfr-rs-story-copy h2,.cfr-rs-page .cfr-rs-centered-chapter>h2,.cfr-rs-page .cfr-rs-section-heading h2,.cfr-rs-page .cfr-rs-faq h2{margin:.6rem 0 .95rem;max-width:25ch;color:#101f31;font-family:var(--cfr-display);font-size:clamp(1.75rem,2.45vw,2.35rem);line-height:1.2;letter-spacing:-.03em;font-weight:800}
.cfr-rs-page .cfr-rs-story-copy p,.cfr-rs-page .cfr-rs-centered-chapter>p,.cfr-rs-page .cfr-rs-faq-intro p{max-width:67ch;margin:.72rem 0 0;color:#35536b;font-size:clamp(1rem,1.2vw,1.09rem);line-height:1.78}
.cfr-rs-page .cfr-rs-story-media,.cfr-rs-page .cfr-rs-story-media .cfr-owner-premium-media{display:block;width:100%;max-width:600px;margin:0;overflow:hidden;border:1px solid #d6e5ed;border-radius:19px;background:#edf4f8;box-shadow:0 24px 48px -37px rgba(4,46,80,.43)}
.cfr-rs-page .cfr-rs-story-media picture,.cfr-rs-page .cfr-rs-story-media img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.cfr-rs-page .cfr-rs-intro .cfr-rs-story-media picture,.cfr-rs-page .cfr-rs-intro .cfr-rs-story-media img{aspect-ratio:16/9;object-fit:contain;background:#eef5fa}
.cfr-rs-page .cfr-rs-story-media figcaption{display:none!important}
.cfr-rs-page .cfr-rs-centered-chapter{max-width:1120px;margin-inline:auto}
.cfr-rs-page .cfr-rs-centered-chapter>h2,.cfr-rs-page .cfr-rs-centered-chapter>p{max-width:830px}
.cfr-rs-page .cfr-rs-building .cfr-industry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.65rem 0 0}
.cfr-rs-page .cfr-rs-building .cfr-industry{padding:1.25rem!important;min-height:0;display:flex;flex-direction:column;gap:.55rem;border:1px solid #dce8f0;border-top:3px solid #0a78b2;border-radius:13px;background:#fff;box-shadow:0 15px 32px -32px rgba(7,44,77,.44)}
.cfr-rs-page .cfr-rs-building .cfr-industry strong{font-size:1.04rem;color:#0b3657}
.cfr-rs-page .cfr-rs-building .cfr-industry span{font-size:.95rem;line-height:1.65;color:#48617a}
.cfr-rs-page .cfr-rs-section-heading{max-width:820px;margin:0 auto 1.5rem;text-align:center}
.cfr-rs-page .cfr-rs-section-heading h2{max-width:none;margin:.55rem auto .65rem;text-align:center}
.cfr-rs-page .cfr-rs-section-heading p{margin:.4rem auto 0;font-size:1.05rem;color:#546c81}
.cfr-rs-page .cfr-rs-matrix .cfr-table-wrap{max-width:1150px;margin:0 auto;overflow-x:auto;border:1px solid #d4e4ef;border-radius:16px;box-shadow:0 16px 38px -37px #163b55;background:#fff}
.cfr-rs-page .cfr-rs-matrix table.cfr-table{display:table!important;width:100%!important;min-width:710px!important;margin:0!important;border-collapse:collapse!important;background:#fff!important}
.cfr-rs-page .cfr-rs-matrix table.cfr-table thead{display:table-header-group!important;position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important;border:0!important}
.cfr-rs-page .cfr-rs-matrix table.cfr-table tbody{display:table-row-group!important;width:auto!important}
.cfr-rs-page .cfr-rs-matrix table.cfr-table tr{display:table-row!important;border:0!important;border-radius:0!important;margin:0!important;background:transparent!important;box-shadow:none!important}
.cfr-rs-page .cfr-rs-matrix table.cfr-table th,.cfr-rs-page .cfr-rs-matrix table.cfr-table td{display:table-cell!important;width:auto!important;padding:1.05rem 1.2rem!important;border:0!important;border-bottom:1px solid #e1edf4!important;font-size:.98rem!important;line-height:1.6!important;vertical-align:top!important;background:transparent!important;color:#25455f!important;font-weight:450!important;text-align:left!important}
.cfr-rs-page .cfr-rs-matrix table.cfr-table th{background:#e3f1f9!important;color:#0a3658!important;font-weight:800!important}
.cfr-rs-page .cfr-rs-matrix table.cfr-table td:first-child{background:#f4f9fc!important;color:#0b4570!important;font-weight:800!important;min-width:170px!important}
.cfr-rs-page .cfr-rs-matrix table.cfr-table tbody tr:last-child td{border-bottom:0!important}
.cfr-rs-page .cfr-rs-faq-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(1.6rem,4vw,4rem);align-items:start}
.cfr-rs-page .cfr-rs-faq-intro{max-width:480px}
.cfr-rs-page .cfr-rs-faq-answers .cfr-faq-list{display:grid;gap:.7rem}
.cfr-rs-page .cfr-rs-faq-answers details{margin:0;padding:.85rem 1.2rem;border:1px solid #d7e6ef;border-radius:12px;background:#fff}
.cfr-rs-page .cfr-rs-faq-answers summary{font-size:1.04rem;line-height:1.5;font-weight:750;color:#143b59;cursor:pointer}
.cfr-rs-page .cfr-rs-faq-answers details p{font-size:1rem;line-height:1.65;color:#466379;margin:1rem 0 .2rem}
.cfr-rs-page .cfr-rs-cta{padding:clamp(2.3rem,4.5vw,3.5rem) 0;background:linear-gradient(120deg,#083a5c,#0b587f);color:#effaff}
.cfr-rs-page .cfr-rs-cta-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}
.cfr-rs-page .cfr-rs-cta .cfr-eyebrow{color:#b8e7ff}
.cfr-rs-page .cfr-rs-cta h2{margin:.65rem 0 .65rem;max-width:24ch;color:#fff;font-size:clamp(1.8rem,2.65vw,2.55rem);line-height:1.15}
.cfr-rs-page .cfr-rs-cta p{max-width:68ch;margin:0;color:#dceef7;line-height:1.7}
.cfr-rs-page .cfr-rs-cta .cfr-btn{min-width:220px;background:#fff;color:#09446b;border:0}
.cfr-rs-page .cfr-rs-cta .cfr-btn:hover{background:#e3f4ff;color:#05395b}
.cfr-rs-page .cfr-rs-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;max-width:1060px;margin:1.35rem auto 0}
.cfr-rs-page .cfr-rs-related-grid a{display:flex;justify-content:space-between;align-items:center;gap:.7rem;padding:1rem 1.15rem;border:1px solid #d9e5ee;border-radius:11px;background:#f8fbfd;color:#134a70;font-weight:700;text-decoration:none}
.cfr-rs-page .cfr-rs-related-grid a:hover{background:#eaf6fe;border-color:#9dcce9}
.cfr-rs-page .cfr-rs-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1rem;max-width:1100px;margin:0 auto}
.cfr-rs-page .cfr-rs-guide-grid.cfr-rs-guide-count-1{max-width:920px;grid-template-columns:minmax(0,1fr)}
.cfr-rs-page .cfr-rs-guide-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #d4e5ef;border-radius:16px;background:#fff;box-shadow:0 20px 40px -37px rgba(4,45,77,.5)}
.cfr-rs-page .cfr-rs-guide-count-1 .cfr-rs-guide-card{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:stretch}
.cfr-rs-page .cfr-rs-guide-image{display:block;min-height:160px;overflow:hidden}
.cfr-rs-page .cfr-rs-guide-image img{display:block;width:100%;height:100%;aspect-ratio:16/10;object-fit:cover}
.cfr-rs-page .cfr-rs-guide-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.3rem,2.5vw,2rem)}
.cfr-rs-page .cfr-rs-guide-copy h3{font-size:clamp(1.2rem,1.7vw,1.55rem);line-height:1.28;margin:0 0 .65rem}
.cfr-rs-page .cfr-rs-guide-copy h3 a{color:#122c43;text-decoration:none}
.cfr-rs-page .cfr-rs-guide-copy p{margin:0 0 .8rem;color:#526d81;font-size:1rem;line-height:1.65}
.cfr-rs-page .cfr-rs-guide-link{font-weight:760;text-decoration:none}
@media(max-width:1000px){
 .cfr-rs-page .cfr-rs-hero .cfr-page-hero-grid,.cfr-rs-page .cfr-rs-story-grid{grid-template-columns:minmax(0,1fr);gap:1.6rem}
 .cfr-rs-page .cfr-rs-story-copy{max-width:800px;margin:0 auto;width:100%}
 .cfr-rs-page .cfr-rs-story-media{max-width:720px;margin:0 auto}
 .cfr-rs-page .cfr-rs-building .cfr-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
 .cfr-rs-page .cfr-rs-section{padding:2rem 0}
 .cfr-rs-page .cfr-rs-hero{padding:1.5rem 0 2rem}
 .cfr-rs-page .cfr-rs-hero .cfr-page-hero-grid{grid-template-columns:minmax(0,1fr)!important}
 .cfr-rs-page .cfr-rs-hero h1{font-size:clamp(2rem,6vw,2.6rem)}
 .cfr-rs-page .cfr-rs-faq-grid,.cfr-rs-page .cfr-rs-cta-grid{grid-template-columns:minmax(0,1fr);gap:1.3rem}
 .cfr-rs-page .cfr-rs-related-grid{grid-template-columns:minmax(0,1fr)}
 .cfr-rs-page .cfr-rs-guide-count-1 .cfr-rs-guide-card{grid-template-columns:minmax(0,1fr)}
 .cfr-rs-page .cfr-rs-story-media img{max-height:390px}
 .cfr-rs-page .cfr-rs-cta .cfr-btn{width:100%}
}
@media(max-width:480px){
 .cfr-rs-page .cfr-rs-building .cfr-industry-grid{grid-template-columns:1fr;gap:.65rem}
 .cfr-rs-page .cfr-rs-matrix .cfr-table-wrap{margin-right:-.4rem;margin-left:-.4rem}
 .cfr-rs-page .cfr-rs-story-copy h2{font-size:clamp(1.55rem,6vw,1.95rem)}
}

.cfr-rs-page .cfr-rs-story-media .cfr-owner-premium-media{border:0;border-radius:0;box-shadow:none;background:transparent}
.cfr-rs-page .cfr-rs-contained .cfr-rs-centered-chapter{max-width:970px}

/* CFR v1.5.32: dark-on-dark hero contract to match /commercial-solar/rooftop-solar/.
   The v1.5.31 pale gradient inherited WHITE global hero text: a severe contrast failure.
   Every foreground is explicitly scoped so a future global theme edit cannot silently reverse contrast. */
.cfr-rs-page .cfr-rs-hero.cfr-page-hero{
  background:radial-gradient(circle at 14% 18%,rgba(24,143,197,.16),transparent 44%),linear-gradient(125deg,#092b46 0%,#0a3e61 100%);
  color:#fff;
  border-bottom:0;
}
.cfr-rs-page .cfr-rs-hero .cfr-page-hero-copy h1{color:#fff!important}
.cfr-rs-page .cfr-rs-hero .cfr-page-hero-copy .cfr-section-intro,
.cfr-rs-page .cfr-rs-hero .cfr-page-hero-copy p{color:#e0ebf4!important}
.cfr-rs-page .cfr-rs-hero .cfr-eyebrow{color:#afe5ff!important}
.cfr-rs-page .cfr-rs-hero .cfr-breadcrumbs,
.cfr-rs-page .cfr-rs-hero .cfr-breadcrumbs a,
.cfr-rs-page .cfr-rs-hero .cfr-breadcrumbs span{color:#c5d9e8!important}
.cfr-rs-page .cfr-rs-hero .cfr-rs-audience{color:#e1edf5!important}
.cfr-rs-page .cfr-rs-hero .cfr-rs-audience span::before{color:#77d8ff}
.cfr-rs-page .cfr-rs-hero .cfr-btn:not(.cfr-btn-ghost-light){background:#0e7ac4;color:#fff;border-color:#0e7ac4}
.cfr-rs-page .cfr-rs-hero .cfr-btn:not(.cfr-btn-ghost-light):hover{background:#0c669f;border-color:#0c669f;color:#fff}
.cfr-rs-page .cfr-rs-hero .cfr-btn-ghost-light{color:#f6fbff!important;border:1px solid rgba(216,239,255,.56)!important;background:rgba(255,255,255,.07)!important}
.cfr-rs-page .cfr-rs-hero .cfr-btn-ghost-light:hover{color:#fff!important;border-color:rgba(255,255,255,.9)!important;background:rgba(255,255,255,.15)!important}


/* CFR v1.5.33: scoped flat-roofing balanced editorial layout */
.cfr-fr-page .cfr-section.cfr-section-white{padding:clamp(1.8rem,3.5vw,3rem) 0 clamp(2.25rem,4vw,3.5rem)}
.cfr-fr-page .cfr-service-longform-content{max-width:none}
.cfr-fr-page .cfr-fr-story-layout{width:100%;max-width:1180px;margin:0 auto}
.cfr-fr-page .cfr-fr-story-section{min-width:0;margin:0 0 clamp(1.1rem,2.5vw,2rem);border:1px solid #dce8ef;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 15px 40px -38px rgba(13,46,70,.3)}
.cfr-fr-page .cfr-fr-story-row{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(1.15rem,2.8vw,2.5rem);padding:clamp(1.15rem,2.5vw,2.15rem)}
.cfr-fr-page .cfr-fr-story-row:nth-child(even){background:linear-gradient(115deg,#f2f8fc 0%,#fff 82%)}
.cfr-fr-page .cfr-fr-story-copy{min-width:0}
.cfr-fr-page .cfr-fr-story-copy>h2{max-width:31ch;margin:0 0 clamp(.75rem,1.35vw,1.05rem);font-size:clamp(1.65rem,2.45vw,2.45rem);line-height:1.19;letter-spacing:-.028em;color:#0c2034}
.cfr-fr-page .cfr-fr-story-copy>p{max-width:67ch;font-size:clamp(1rem,1.1vw,1.12rem);line-height:1.68;margin:0 0 1rem;color:#28455c}
.cfr-fr-page .cfr-fr-story-copy>p:last-child{margin-bottom:0}
.cfr-fr-page .cfr-fr-story-photo{width:100%;margin:0;min-width:0;overflow:hidden;border-radius:13px;background:#e4eef5;box-shadow:0 14px 31px -28px rgba(13,46,70,.4)}
.cfr-fr-page .cfr-fr-story-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.cfr-fr-page .cfr-fr-story-row.cfr-fr-reverse .cfr-fr-story-photo{grid-column:1;grid-row:1}
.cfr-fr-page .cfr-fr-story-row.cfr-fr-reverse .cfr-fr-story-copy{grid-column:2;grid-row:1}
.cfr-fr-page .cfr-fr-story-wide{padding:clamp(1.25rem,2.7vw,2.35rem);background:#f5f9fc}
.cfr-fr-page .cfr-fr-story-wide>div{max-width:1100px;margin-inline:auto}
.cfr-fr-page .cfr-fr-story-wide .cfr-fr-story-copy>h2{text-align:center;max-width:38ch;margin:.05rem auto 1.25rem}
.cfr-fr-page .cfr-fr-story-wide .cfr-fr-story-copy>p{max-width:84ch;margin:0 auto 1.15rem}
.cfr-fr-page .cfr-fr-story-wide .cfr-industry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0 0}
.cfr-fr-page .cfr-fr-story-wide .cfr-industry{min-height:0;border:1px solid #d7e7f0;border-top:3px solid #0b72ac;border-radius:12px;background:#fff;padding:1.15rem}
.cfr-fr-page .cfr-fr-story-wide ul{max-width:800px;margin:.9rem auto 1.1rem;padding-left:1.4rem}
.cfr-fr-page .cfr-fr-story-wide li{margin:.4rem 0;line-height:1.55}
.cfr-fr-page .cfr-fr-faqs{background:#f4f8fb}
.cfr-fr-page .cfr-fr-faqs .cfr-faq-list{max-width:990px;margin:0 auto}
.cfr-fr-page .cfr-article-cta{max-width:1050px;margin:clamp(1.3rem,2.6vw,2.25rem) auto 0;text-align:center;padding:clamp(1.55rem,3vw,2.5rem);border-radius:18px}
.cfr-fr-page .cfr-article-cta h2{max-width:30ch;margin:.6rem auto 1rem}
.cfr-fr-page .cfr-article-cta p{max-width:66ch;margin:0 auto 1.25rem}
.cfr-fr-page .cfr-service-next-steps{max-width:1050px;margin:1.3rem auto 0}
@media(max-width:900px){
  .cfr-fr-page .cfr-fr-story-row{grid-template-columns:minmax(0,1fr);gap:1.2rem;padding:1.15rem}
  .cfr-fr-page .cfr-fr-story-row.cfr-fr-reverse .cfr-fr-story-copy,.cfr-fr-page .cfr-fr-story-row.cfr-fr-reverse .cfr-fr-story-photo{grid-column:auto;grid-row:auto}
  .cfr-fr-page .cfr-fr-story-photo{max-width:700px;margin-inline:auto}
  .cfr-fr-page .cfr-fr-story-photo img{aspect-ratio:16/10}
}
@media(max-width:600px){
  .cfr-fr-page .cfr-section.cfr-section-white{padding:1.5rem 0 2rem}
  .cfr-fr-page .cfr-fr-story-section{margin-bottom:1rem;border-radius:13px}
  .cfr-fr-page .cfr-fr-story-row,.cfr-fr-page .cfr-fr-story-wide{padding:1rem}
  .cfr-fr-page .cfr-fr-story-copy>h2{font-size:clamp(1.45rem,6vw,1.85rem)}
  .cfr-fr-page .cfr-fr-story-copy>p{font-size:1rem;line-height:1.65}
  .cfr-fr-page .cfr-fr-story-wide .cfr-industry-grid{grid-template-columns:minmax(0,1fr)}
  .cfr-fr-page .cfr-fr-story-photo img{aspect-ratio:4/3}
  .cfr-fr-page .cfr-article-cta{text-align:center}
}


/* v1.5.34 - approved hero palette + premium service next-step cards */
.cfr-rs-page .cfr-rs-hero{
  background:linear-gradient(120deg,#071424,#0c2439)!important;
  color:#fff;
}
.cfr-rs-page .cfr-rs-hero .cfr-page-hero-copy h1{color:#fff!important}
.cfr-rs-page .cfr-rs-hero .cfr-page-hero-copy .cfr-section-intro,
.cfr-rs-page .cfr-rs-hero .cfr-page-hero-copy p{color:#adc0cf!important}
.cfr-rs-page .cfr-rs-hero .cfr-eyebrow{color:#a8e1ff!important}
.cfr-rs-page .cfr-rs-hero .cfr-breadcrumbs,
.cfr-rs-page .cfr-rs-hero .cfr-breadcrumbs a,
.cfr-rs-page .cfr-rs-hero .cfr-breadcrumbs span{color:#8ea5b9!important}
.cfr-rs-page .cfr-rs-hero .cfr-rs-audience{color:#d5e3ee!important}
.cfr-rs-page .cfr-rs-hero .cfr-rs-audience span::before{color:#57c8ff!important}
.cfr-service-editorial-next{
  position:relative;
  overflow:hidden;
  padding:clamp(1.45rem,2.25vw,1.9rem)!important;
  border:1px solid #ccdee9!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#ffffff 0%,#f2f8fc 100%)!important;
  color:#18344c!important;
  box-shadow:0 18px 38px -32px rgba(7,45,73,.42)!important;
}
.cfr-service-editorial-next::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,#0a6db4,#36a9e1);
}
.cfr-service-editorial-next strong{
  color:#0a679f!important;
  font-size:.78rem!important;
  font-weight:850!important;
  letter-spacing:.13em!important;
  text-transform:uppercase;
}
.cfr-service-editorial-next p,
.cfr-service-reflow .cfr-service-editorial-next p{
  color:#304a60!important;
  margin:.72rem 0 1.15rem!important;
  font-size:1rem!important;
  line-height:1.68!important;
}
.cfr-service-editorial-next a{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  min-height:44px;
  padding:.67rem 1rem;
  border:1px solid #086db4;
  border-radius:9px;
  background:#086db4!important;
  color:#fff!important;
  font-weight:800!important;
  line-height:1.25;
  text-decoration:none!important;
  box-shadow:0 12px 26px -20px rgba(8,109,180,.8);
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.cfr-service-editorial-next a:hover,
.cfr-service-editorial-next a:focus-visible{
  background:#075687!important;
  border-color:#075687!important;
  color:#fff!important;
  transform:translateY(-1px);
}
@media(max-width:680px){
  .cfr-service-editorial-next{padding:1.3rem!important}
  .cfr-service-editorial-next a{width:100%;align-self:stretch}
}


/* v1.5.41 - non-home premium spacing guard: remove oversized dead bands */
body:not(.home) main .cfr-section{
  padding-block:clamp(1.95rem,3vw,3.2rem)!important;
}
body:not(.home) main .cfr-section + .cfr-section{
  margin-top:0!important;
}
@media(max-width:700px){
  body:not(.home) main .cfr-section{padding-block:1.75rem!important;}
}
.cfr-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #d4e4ef;border-radius:16px;background:#fff;box-shadow:0 16px 38px -37px #163b55}.cfr-table-scroll table{width:100%;min-width:860px;margin:0;border-collapse:collapse}.cfr-table-scroll caption{padding:1rem 1.1rem;text-align:left;color:#526b7d;font-weight:700}.cfr-table-scroll th,.cfr-table-scroll td{padding:.85rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid #e4edf3}.cfr-table-scroll th:first-child,.cfr-table-scroll td:first-child{position:sticky;left:0;background:#fff;z-index:1;font-weight:800}.cfr-table-scroll thead th{background:#eef6fb;color:#0b3455}.cfr-table-scroll thead th:first-child{background:#eef6fb;z-index:2}@media(max-width:760px){.cfr-table-scroll{margin-inline:-.25rem;width:calc(100% + .5rem)}.cfr-table-scroll table{min-width:820px}}

/* v1.5.50 - maintenance's final editorial chapter: balanced seasonal cards, not a stranded half-width panel. */
.cfr-service-reflow .cfr-service-following .cfr-service-chapter-seasonal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.85rem,1.7vw,1.3rem);align-items:stretch}
.cfr-service-reflow .cfr-service-following .cfr-service-chapter-seasonal>h2,
.cfr-service-reflow .cfr-service-following .cfr-service-chapter-seasonal>p:first-of-type,
.cfr-service-reflow .cfr-service-following .cfr-service-chapter-seasonal>p:last-of-type{grid-column:1/-1}
.cfr-service-reflow .cfr-service-following .cfr-service-chapter-seasonal>p:nth-of-type(n+2):nth-of-type(-n+4){margin:0;padding:clamp(1.1rem,2vw,1.45rem);border:1px solid #d6e6f0;border-radius:13px;background:#f0f7fc;line-height:1.7}
.cfr-service-reflow .cfr-service-following .cfr-service-chapter-seasonal>p:nth-of-type(n+2):nth-of-type(-n+4) strong{display:block;color:#0b3659;font-size:1.05em;margin-bottom:.45rem}
@media(max-width:800px){.cfr-service-reflow .cfr-service-following .cfr-service-chapter-seasonal{grid-template-columns:1fr;gap:.85rem}}


/* CFR v1.5.70 - centered, editorial call-to-action for roofing systems only. */
@media (min-width: 761px) {
  main.cfr-rs-page .cfr-rs-cta .cfr-rs-cta-grid {
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:1.35rem!important;
    width:min(100% - 2rem,1160px)!important;
    max-width:1160px!important;
    margin-inline:auto!important;
    text-align:center!important;
  }
  main.cfr-rs-page .cfr-rs-cta .cfr-rs-cta-grid > div:first-child {width:100%!important;max-width:none!important}
  main.cfr-rs-page .cfr-rs-cta h2 {
    width:100%!important;
    max-width:none!important;
    margin:.85rem auto!important;
    font-size:clamp(2.25rem,3.05vw,3.1rem)!important;
    line-height:1.14!important;
    letter-spacing:-.032em!important;
    text-wrap:normal!important;
  }
  main.cfr-rs-page .cfr-rs-cta p {
    max-width:82ch!important;
    margin:.8rem auto 0!important;
    line-height:1.6!important;
  }
  main.cfr-rs-page .cfr-rs-cta .cfr-rs-cta-grid > div:last-child {margin:0!important;justify-self:center!important}
  main.cfr-rs-page .cfr-rs-cta .cfr-btn {width:auto!important;min-width:248px!important}
}
@media (max-width:760px) {
  main.cfr-rs-page .cfr-rs-cta .cfr-rs-cta-grid {display:flex!important;flex-direction:column!important;gap:1.15rem!important;align-items:stretch!important;text-align:left!important}
  main.cfr-rs-page .cfr-rs-cta h2 {max-width:none!important;font-size:clamp(1.85rem,6.4vw,2.4rem)!important;text-wrap:normal!important}
  main.cfr-rs-page .cfr-rs-cta p {max-width:none!important}
  main.cfr-rs-page .cfr-rs-cta .cfr-btn {width:100%!important;text-align:center!important}
}
/* CFR v1.5.77 - owned roofing service template: coherent hero, copy, image,
 * real check-list audience instead of rounded button-like labels. */
main.cfr-roofing-service-page > .cfr-page-hero .cfr-page-hero-grid{
 display:grid!important;
 grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)!important;
 grid-template-areas:"heading heading" "copy visual"!important;
 column-gap:clamp(1.5rem,3.3vw,3.4rem)!important;
 row-gap:clamp(1.2rem,2vw,2rem)!important;
 align-items:start!important;
}
main.cfr-roofing-service-page > .cfr-page-hero .cfr-roof-service-hero-heading{
 grid-area:heading!important;
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
 text-align:left!important;
}
main.cfr-roofing-service-page > .cfr-page-hero .cfr-roof-service-hero-heading .cfr-breadcrumbs{
 margin:0 0 clamp(.9rem,1.4vw,1.2rem)!important;
}
main.cfr-roofing-service-page > .cfr-page-hero .cfr-roof-service-hero-heading .cfr-eyebrow{
 display:block!important;
 margin:0 0 .65rem!important;
}
main.cfr-roofing-service-page > .cfr-page-hero .cfr-roof-service-hero-heading h1{
 display:block!important;
 width:100%!important;
 max-width:none!important;
 font-size:clamp(2.1rem,3.05vw,3.2rem)!important;
 line-height:1.13!important;
 letter-spacing:-.036em!important;
 text-wrap:pretty!important;
 word-break:normal!important;
 overflow-wrap:break-word!important;
 margin:0!important;
 color:#fff!important;
}
main.cfr-roofing-service-page > .cfr-page-hero .cfr-page-hero-copy{
 grid-area:copy!important;
 width:100%!important;
 max-width:none!important;
 min-width:0!important;
 align-self:start!important;
 margin:0!important;
 padding:0!important;
}
main.cfr-roofing-service-page > .cfr-page-hero .cfr-page-hero-copy .cfr-section-intro{
 display:block!important;
 width:100%!important;
 max-width:75ch!important;
 margin:0!important;
 font-size:clamp(1.04rem,1.24vw,1.15rem)!important;
 font-weight:430!important;
 line-height:1.69!important;
 text-wrap:pretty!important;
}
main.cfr-roofing-service-page > .cfr-page-hero .cfr-page-hero-copy .cfr-page-hero-actions{
 display:flex!important;
 align-items:center!important;
 justify-content:flex-start!important;
 flex-wrap:wrap!important;
 gap:.75rem 1rem!important;
 width:100%!important;
 margin:clamp(1.2rem,2vw,1.65rem) 0 0!important;
}
main.cfr-roofing-service-page > .cfr-page-hero .cfr-page-hero-actions .cfr-btn{
 width:auto!important;
 max-width:100%!important;
 white-space:normal!important;
 min-height:50px!important;
 text-align:center!important;
 justify-content:center!important;
}
main.cfr-roofing-service-page > .cfr-page-hero .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;
 align-self:start!important;
 overflow:hidden!important;
 border-radius:15px!important;
}
main.cfr-roofing-service-page > .cfr-page-hero .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;
}
/* One purposeful feature row; these are checklist points, not navigation buttons. */
main.cfr-roofing-service-page > .cfr-service-audience .cfr-service-audience-inner{
 display:grid!important;
 grid-template-columns:minmax(0,1fr)!important;
 align-items:start!important;
 gap:clamp(.8rem,1.5vw,1.15rem)!important;
 padding-block:clamp(1rem,2vw,1.6rem)!important;
}
main.cfr-roofing-service-page > .cfr-service-audience .cfr-service-audience-inner>strong{
 display:block!important;
 width:100%!important;
 max-width:none!important;
 color:#0b3455!important;
 font-size:clamp(1rem,1.22vw,1.1rem)!important;
 line-height:1.36!important;
}
main.cfr-roofing-service-page > .cfr-service-audience .cfr-service-audience-list{
 display:grid!important;
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 column-gap:clamp(.9rem,2vw,1.7rem)!important;
 row-gap:.78rem!important;
 width:100%!important;
}
main.cfr-roofing-service-page > .cfr-service-audience .cfr-service-audience-list span{
 display:flex!important;
 align-items:flex-start!important;
 justify-content:flex-start!important;
 gap:.6rem!important;
 border:0!important;
 border-radius:0!important;
 box-shadow:none!important;
 background:transparent!important;
 padding:0!important;
 margin:0!important;
 min-height:0!important;
 color:#385c75!important;
 font-size:clamp(.88rem,1vw,.99rem)!important;
 font-weight:560!important;
 line-height:1.45!important;
 text-align:left!important;
}
main.cfr-roofing-service-page > .cfr-service-audience .cfr-service-audience-list span:before{
 content:"✓"!important;
 display:inline-grid!important;
 place-items:center!important;
 flex:0 0 19px!important;
 width:19px!important;
 height:19px!important;
 border-radius:50%!important;
 border:1px solid #6daaca!important;
 color:#086a9a!important;
 font-size:.73rem!important;
 line-height:1!important;
 margin-top:.03rem!important;
}
/* Longform owner chapters: don't trap headings/intros in an arbitrary narrow measure. */
main.cfr-roofing-service-page .cfr-service-reflow .cfr-service-following .cfr-service-chapter>h2{
 max-width:100%!important;
 text-wrap:pretty!important;
}
main.cfr-roofing-service-page .cfr-service-reflow .cfr-service-following .cfr-service-chapter-wide>p{
 max-width:min(100%,88ch)!important;
}
@media(max-width:980px){
 main.cfr-roofing-service-page > .cfr-page-hero .cfr-page-hero-grid{
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:"heading" "copy" "visual"!important;
  gap:clamp(1.1rem,2.5vw,1.55rem)!important;
 }
 main.cfr-roofing-service-page > .cfr-page-hero .cfr-roof-service-hero-heading h1{
  font-size:clamp(1.95rem,4.55vw,2.65rem)!important;
  line-height:1.14!important;
 }
 main.cfr-roofing-service-page > .cfr-page-hero .cfr-page-hero-visual,
 main.cfr-roofing-service-page > .cfr-page-hero .cfr-page-hero-visual img{
  aspect-ratio:16/9!important;
 }
 main.cfr-roofing-service-page > .cfr-service-audience .cfr-service-audience-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
}
@media(max-width:580px){
 main.cfr-roofing-service-page > .cfr-page-hero .cfr-page-hero-grid{gap:1.1rem!important}
 main.cfr-roofing-service-page > .cfr-page-hero .cfr-roof-service-hero-heading h1{
  font-size:clamp(1.86rem,7.2vw,2.3rem)!important;
  line-height:1.15!important;
 }
 main.cfr-roofing-service-page > .cfr-page-hero .cfr-page-hero-actions{
  flex-direction:column!important;
  align-items:stretch!important;
  gap:.7rem!important;
 }
 main.cfr-roofing-service-page > .cfr-page-hero .cfr-page-hero-actions .cfr-btn{width:100%!important}
 main.cfr-roofing-service-page > .cfr-page-hero .cfr-page-hero-visual,
 main.cfr-roofing-service-page > .cfr-page-hero .cfr-page-hero-visual img{
  aspect-ratio:4/3!important;
 }
 main.cfr-roofing-service-page > .cfr-service-audience .cfr-service-audience-list{
  grid-template-columns:minmax(0,1fr)!important;
  gap:.68rem!important;
 }
}
/* CFR v1.5.80 - Roofing Systems body editorial QA.
 * Full-width comparison introduction centered with its H2, a genuine roof detail
 * photograph in the otherwise empty FAQ rail, and a better split H2 measure.
 */
main.cfr-rs-page .cfr-rs-matrix .cfr-container > p:first-of-type {
  display:block!important;
  width:100%!important;
  max-width:92ch!important;
  margin:0 auto clamp(1.3rem,2.2vw,1.85rem)!important;
  text-align:center!important;
  text-wrap:pretty!important;
  font-size:clamp(1.02rem,1.18vw,1.11rem)!important;
  line-height:1.7!important;
  color:#395b75!important;
}
main.cfr-rs-page .cfr-rs-matrix .cfr-rs-section-heading {
  max-width:100%!important;
  margin:0 auto clamp(.85rem,1.5vw,1.3rem)!important;
  text-align:center!important;
}
main.cfr-rs-page .cfr-rs-faq .cfr-rs-faq-intro{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
main.cfr-rs-page .cfr-rs-faq .cfr-rs-faq-intro > p{
  max-width:54ch!important;
  font-weight:430!important;
  line-height:1.7!important;
}
main.cfr-rs-page .cfr-rs-faq .cfr-rs-faq-photo{
  display:block!important;
  margin:clamp(1.25rem,2.4vw,2rem) 0 0!important;
  padding:0!important;
  width:100%!important;
  max-width:500px!important;
  overflow:hidden!important;
  border-radius:15px!important;
  border:1px solid #dceaf2!important;
  background:#e8f0f5!important;
  box-shadow:0 18px 40px -34px rgba(7,45,80,.44)!important;
}
main.cfr-rs-page .cfr-rs-faq .cfr-rs-faq-photo > img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/10!important;
  object-fit:cover!important;
  object-position:center!important;
}
main.cfr-rs-page .cfr-rs-faq .cfr-rs-faq-grid{
  align-items:start!important;
}
main.cfr-rs-page .cfr-rs-story-copy > h2{
  max-width:100%!important;
  font-size:clamp(1.75rem,2.28vw,2.22rem)!important;
  line-height:1.2!important;
  text-wrap:pretty!important;
}
@media(max-width:800px){
  main.cfr-rs-page .cfr-rs-matrix .cfr-container > p:first-of-type{
    max-width:100%!important;
    text-align:left!important;
  }
  main.cfr-rs-page .cfr-rs-faq .cfr-rs-faq-photo{
    margin-top:1.15rem!important;
    max-width:540px!important;
  }
}
@media(max-width:560px){
  main.cfr-rs-page .cfr-rs-faq .cfr-rs-faq-photo > img{
    aspect-ratio:16/10!important;
  }
}

/* v1.5.80 tablet correction: FAQ should not remain in cramped two columns. */
@media(max-width:980px){
 main.cfr-rs-page .cfr-rs-faq .cfr-rs-faq-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:clamp(1.35rem,3vw,2rem)!important;
 }
 main.cfr-rs-page .cfr-rs-faq .cfr-rs-faq-photo{max-width:510px!important}
}
/* CFR v1.5.81 - maintenance page body: use the existing full-width seasonal card row,
 * remove narrow max measures on its introductory and closing paragraphs, and
 * use the CTA panel width without disturbing mobile typography or other pages. */
main.cfr-roofing-service-page .cfr-service-reflow .cfr-service-following .cfr-service-chapter-seasonal > p:first-of-type,
main.cfr-roofing-service-page .cfr-service-reflow .cfr-service-following .cfr-service-chapter-seasonal > p:last-of-type{
  display:block!important;
  grid-column:1/-1!important;
  width:100%!important;
  max-width:none!important;
  text-wrap:pretty!important;
}
main.cfr-roofing-service-page .cfr-service-reflow .cfr-service-chapter-seasonal > h2{
  width:100%!important;
  max-width:none!important;
  text-wrap:pretty!important;
}
main.cfr-roofing-service-page .cfr-service-reflow .cfr-article-cta > p{
  display:block!important;
  width:100%!important;
  max-width:100ch!important;
  text-wrap:pretty!important;
  line-height:1.67!important;
}
@media(max-width:580px){
  main.cfr-roofing-service-page .cfr-service-reflow .cfr-service-following .cfr-service-chapter-seasonal > p:first-of-type,
  main.cfr-roofing-service-page .cfr-service-reflow .cfr-service-following .cfr-service-chapter-seasonal > p:last-of-type,
  main.cfr-roofing-service-page .cfr-service-reflow .cfr-article-cta > p{
    width:100%!important;
    max-width:100%!important;
  }
}
