/* Independently implemented from observed CompanyCam design tokens and page rhythm.
   Source: companycam.com, reviewed 2026-10-14. Fonts: OFL alternatives, not their licensed webfonts. */
:root{--gq-ink:#111111;--gq-orange:#072cd9;--gq-muted:#5a6570;--gq-line:#dcdedc;--gq-cream:#f7f6f2;--orange:#072cd9;--ink:#111111;--cream:#f7f6f2;--paper:#f7f6f2;--line:#dcdedc;--muted:#5a6570;--colorPrimaryButton:#072cd9;--serviceColor:#072cd9}
html{background:#f7f6f2}.gq-site{font-family:Averta,Arial,sans-serif;background:#f7f6f2;color:#111;line-height:1.6}.gq-site button,.gq-site input,.gq-site select,.gq-site textarea{font-family:Averta,Arial,sans-serif}.gq-site :focus-visible{outline-color:#072cd9}.gq-site ::selection{background:#ffd000;color:#111}
.gq-site h1,.gq-site h2,.gq-inner main:not(.installers) h1,.gq-inner main:not(.installers) h2,.gq-quote-story h1,.gq-quote legend,.quote-receipt h2{font-family:"roc-grotesk-condensed",'Arial Narrow',Arial,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:.96;text-wrap:balance}.gq-site h3{font-family:Averta,Arial,sans-serif;font-weight:700;letter-spacing:-.025em}.gq-site p{text-wrap:pretty}.gq-site .gq-kicker,.gq-site .section-tag,.gq-inner main:not(.installers) [class*=_kicker__]{color:#072cd9!important;letter-spacing:.06em;font-size:12px!important}.gq-site a,.gq-site button{touch-action:manipulation}
.gq-site-header{padding:0 24px;background:#f7f6f2;border-bottom:1px solid #e7e8ea;position:sticky;top:0;z-index:20}.gq-site-header .announce{background:#111;color:#f7f6f2;border-radius:0;width:calc(100% + 48px);max-width:none;margin:0 -24px;padding:8px 20px;font-size:11px}.gq-site-header .floating-nav{max-width:1320px;padding:22px 0;border:0;border-radius:0;box-shadow:none;background:#f7f6f2;height:auto;min-height:88px}.gq-site-header .logo,.gq-site .footer-brand img{filter:hue-rotate(210deg);width:180px}.gq-site-header .nav{font-size:14px;gap:28px}.gq-site-header .nav-cta{border-radius:100px;background:#072cd9;color:#fff;padding:13px 24px;min-height:48px}.gq-site-header .nav a:hover:not(.nav-cta){color:#072cd9}.gq-menu-toggle{border-radius:100px;border-color:#111;background:transparent}.gq-site .gq-button,.gq-inner main:not(.installers) [class*=_primaryAction__],.gq-site .quote-button,.gq-site .closing-actions a,.gq-site .ip-button{background:#072cd9!important;color:#fff!important;border:1px solid #072cd9;border-radius:100px;padding:15px 25px;font-family:Averta,Arial,sans-serif;font-size:15px;line-height:1.4;font-weight:700;box-shadow:none;transform:none;transition:background .15s,color .15s,transform .15s}.gq-site .gq-button:hover,.gq-site .quote-button:hover,.gq-site .closing-actions a:hover{background:#041f9e!important;transform:translateY(-2px)}
/* Centered, photographic homepage hero and broad page bands. */
.gq-home .cc-shell{padding:0;min-height:0;background:#111;color:#f7f6f2;isolation:isolate;overflow:hidden}.gq-home .cc-shell:before{inset:0;width:100%;height:100%;border-radius:0;background:rgba(0,0,0,.58) url('/theme/protected-gutter.jpg') center 46%/cover no-repeat;background-blend-mode:multiply;z-index:-1}.gq-home .cc-hero{min-height:690px;padding:75px 24px 64px;justify-content:center;text-align:center}.gq-home .hero-split{display:flex;flex-direction:column;align-items:center;gap:32px;width:min(1120px,100%)}.gq-home .hero-split>div:first-child{max-width:850px}.gq-home .cc-hero .eyebrow{color:#f7f6f2;font-size:12px;letter-spacing:.08em}.gq-home .cc-hero h1{font-family:"roc-grotesk-condensed",'Arial Narrow',sans-serif;font-size:clamp(64px,7.5vw,112px);line-height:.88;letter-spacing:0;font-weight:800;color:#f7f6f2;margin:20px auto 24px;max-width:850px;text-transform:uppercase}.gq-home .cc-hero h1 span{background:transparent;color:#f7f6f2;padding:0;box-shadow:none;transform:none;display:inline}.gq-home .cc-hero .hero-lead{font-family:Averta,sans-serif;color:#f7f6f2;font-size:19px;line-height:1.6;text-align:center;max-width:720px;margin:0 auto 22px}.gq-home .cc-hero .promise{justify-content:center;color:#fff;gap:24px;font-size:12px}.gq-home .promise span:before{color:#ffd000}.gq-home .hero-split .quote-dock{position:static;transform:none;max-width:950px;border:0;box-shadow:none;border-radius:18px;background:#f7f6f2;padding:22px 26px;width:100%}.gq-home .hero-split .quote-dock>*{transform:none}.gq-home .quote-dock-head{margin-bottom:12px}.gq-home .quote-dock-head strong{font-size:15px}.gq-home .hero-split .quote-dock-grid{grid-template-columns:1.2fr .8fr 1fr;align-items:end;gap:14px}.gq-home .quote-dock input,.gq-home .quote-dock select{height:52px;border:1px solid #b8bcc1;border-radius:8px;background:#fff;font-size:15px}.gq-home .quote-dock .quote-button{height:52px;min-height:52px;margin:0}.gq-home .free-badge{background:#e4e9ff;color:#072cd9}.gq-home .micro{font-size:10px;margin-top:12px;color:#5a6570}.gq-home .closing{padding:100px 0;width:min(1320px,calc(100% - 48px))}.gq-home .closing-card{background:#072cd9;color:#f7f6f2;padding:76px;border-radius:28px;text-align:center}.gq-home .closing-card:after{display:none}.gq-home .closing h2{font-size:clamp(48px,5.4vw,78px);line-height:.95;max-width:900px;margin:auto;font-family:"roc-grotesk-condensed",sans-serif;letter-spacing:0}.gq-home .closing p{max-width:650px;margin:24px auto;font-size:17px}.gq-home .closing .eyebrow{font-size:11px;color:#cbd5ff}.gq-home .closing-actions{justify-content:center}.gq-home .closing-actions a{background:#f7f6f2!important;color:#111!important;border-color:#f7f6f2}.gq-home .closing-actions span{font-size:12px}
/* Every inner-page family, including the installer program, uses the same system. */
.gq-inner #gq-main>main:not(.installers){max-width:1240px;padding:64px 0 90px}.gq-inner main:not(.installers) h1{font-size:clamp(48px,5.7vw,82px);line-height:.95;letter-spacing:0}.gq-inner main:not(.installers) h2{font-size:clamp(36px,4vw,58px);line-height:1;letter-spacing:0}.gq-inner main:not(.installers) h3{font-size:21px}.gq-inner main:not(.installers) [class*=_hero__],.gq-site .gq-editorial-hero{padding:58px;background:#e8ebff;border:0;border-radius:24px;box-shadow:none}.gq-inner main:not(.installers) [class*=_hero__] aside{background:#f7f6f2;border:0;border-radius:18px;color:#111;padding:28px}.gq-inner main:not(.installers) [class*=_lead__]{font-size:19px;line-height:1.6;color:#424c57}.gq-site .gq-benefits{padding:40px 0 50px}.gq-site .gq-benefits>h2{max-width:850px}.gq-site .gq-card-grid{gap:24px}.gq-site .gq-card-grid article{padding:32px;background:#fff;border:0;border-radius:20px}.gq-site .gq-card-grid article:nth-child(2){background:#e8ebff}.gq-site .gq-card-grid article:nth-child(3){background:#e7e8ea}.gq-site .gq-num{color:#072cd9;font-weight:700}.gq-site .gq-next{background:#072cd9;border-radius:24px;padding:56px!important;color:#fff;text-align:center}.gq-site .gq-next h2{color:#f7f6f2!important;max-width:850px;margin:16px auto}.gq-site .gq-next p,.gq-site .gq-next small{color:#e4e9ff!important;max-width:700px;margin:18px auto}.gq-site .gq-next .gq-kicker{color:#dce3ff!important}.gq-site .gq-next .gq-button{background:#f7f6f2!important;color:#111!important;border-color:#f7f6f2}.gq-inner main [class*=_secondaryAction__]{border:1px solid #111;border-radius:100px;color:#111;background:transparent}.gq-inner main [class*=_serviceCard__]{border:0;border-radius:20px;background:#fff;padding:28px}.gq-inner main [class*=_cityLinks__] a,.gq-inner main [class*=_linkSection__] a{background:#fff;border-color:#dcdedc;border-radius:100px!important}.gq-inner main a:hover{color:#072cd9}.gq-site .installers{font-family:Averta,sans-serif;--ip-orange:#072cd9}.gq-site .ip-hero{background:#111;color:#f7f6f2}.gq-site .ip-impact-headline{font-family:"roc-grotesk-condensed",sans-serif;line-height:.93;letter-spacing:0;text-transform:uppercase}.gq-site .ip-impact-headline span{font-family:inherit}.gq-site .ip-booked-jobs,.gq-site .ip-paid-fast{color:#c0cdff;background:transparent}.gq-site .ip-strip{background:#072cd9;color:#fff}.gq-site .ip-section{background:#f7f6f2}.gq-site .ip-section h2{font-size:clamp(40px,4.5vw,68px)}.gq-site .ip-eyebrow{color:#072cd9}.gq-site .ip-pack,.gq-site .ip-card{border-radius:20px;box-shadow:none}.gq-site .ip-tag{background:#e8ebff;color:#072cd9}
/* Preserve the tested three-step form; carry over the theme without adding friction. */
.gq-quote{background:#f7f6f2}.gq-quote-layout{max-width:1180px;gap:80px;margin-top:64px;margin-bottom:90px}.gq-quote-story h1{font-size:clamp(55px,5.6vw,82px);line-height:.94;letter-spacing:0}.gq-quote-story h1 span{color:#072cd9}.gq-quote-story>p:not(.gq-kicker){font-size:18px}.gq-quote-story li:before{color:#072cd9}.gq-quote form{border:1px solid #e7e8ea;border-radius:24px;padding:34px;box-shadow:0 20px 65px #11111108}.gq-quote legend{font-size:36px;line-height:1.02;letter-spacing:0}.gq-form-top>b{background:#e8ebff;color:#072cd9}.gq-progress-track>span{background:#072cd9}.gq-service-options input:checked+span{background:#e8ebff;border-color:#072cd9}.gq-service-options input:checked+span em{background:#072cd9;border-color:#072cd9}.gq-service-options i{color:#072cd9}.gq-service-options input:focus-visible+span{outline-color:#072cd9}.gq-service-options label>span{border-radius:12px;background:#fff}.gq-summary{background:#e8ebff}.gq-summary button{color:#072cd9}.gq-consents input{accent-color:#072cd9}.gq-quote .gq-form-actions .gq-button{background:#072cd9;border-radius:100px}.gq-quote .gq-form-actions .gq-button:hover{background:#041f9e}.gq-quote .gq-form-actions [data-back]{border-radius:100px}.gq-site .quote-receipt{background:#fff;border:1px solid #e7e8ea;border-radius:24px}.gq-site .quote-receipt h2{font-size:46px}.gq-site footer{background:#111;color:#f7f6f2;border:0;padding:64px 0 32px}.gq-site footer .wrap{max-width:1240px}.gq-site .footer-brand p,.gq-site .footer-links a,.gq-site .copyright{color:#b8bcc1}.gq-site .footer-links strong{color:#f7f6f2}.gq-site .copyright{border-color:#42454a}.gq-site .footer-brand img{filter:brightness(0) invert(1);background:transparent;border-radius:0;padding:0;width:180px}.gq-site footer a:hover{color:#fff}.gq-site input,.gq-site select,.gq-site textarea{accent-color:#072cd9}
@media(min-width:1600px){.gq-home .cc-hero{min-height:800px}}
@media(max-width:900px){.gq-site-header .nav{gap:18px}.gq-home .cc-hero{min-height:650px;padding:64px 26px 54px}.gq-home .hero-split .quote-dock{max-width:700px}.gq-home .hero-split .quote-dock-grid{grid-template-columns:1fr 1fr}.gq-home .quote-dock-grid .quote-button{grid-column:1/-1}.gq-quote-layout{gap:35px}.gq-quote-story h1{font-size:58px}.gq-inner main:not(.installers) [class*=_hero__],.gq-site .gq-editorial-hero{padding:36px}.gq-home .closing-card{padding:54px 36px}.gq-site .gq-next{padding:38px!important}}
@media(max-width:700px){.gq-site-header{padding:0 16px}.gq-site-header .announce{width:calc(100% + 32px);margin:0 -16px;padding:8px 16px;font-size:10px}.gq-site-header .floating-nav{min-height:72px;padding:16px 0}.gq-site-header .logo{width:145px}.gq-site-header .nav{border-color:#dcdedc}.gq-site-header .nav .nav-cta{padding:14px 20px}.gq-home .cc-hero{padding:48px 20px 38px;min-height:0}.gq-home .cc-hero h1{font-size:62px;line-height:.91;margin-top:15px}.gq-home .cc-hero .hero-lead{font-size:15px;line-height:1.6}.gq-home .cc-hero .promise{font-size:10px;gap:12px}.gq-home .hero-split{gap:28px}.gq-home .hero-split .quote-dock{padding:20px;border-radius:16px}.gq-home .hero-split .quote-dock-grid{grid-template-columns:1fr}.gq-home .quote-dock-grid .quote-button{grid-column:auto}.gq-home .closing{padding:58px 0;width:calc(100% - 28px)}.gq-home .closing-card{border-radius:20px;padding:38px 24px}.gq-home .closing h2{font-size:48px}.gq-home .closing p{font-size:15px}.gq-home .closing-actions{align-items:center}.gq-inner main:not(.installers) h1{font-size:50px}.gq-inner main:not(.installers) h2{font-size:40px}.gq-inner main:not(.installers) [class*=_hero__],.gq-site .gq-editorial-hero{padding:30px 22px;border-radius:18px}.gq-site .gq-card-grid article{padding:26px}.gq-quote-layout{margin-top:32px}.gq-quote-story h1{font-size:53px;max-width:350px}.gq-quote-story h1 br{display:none}.gq-quote-story{margin-bottom:28px}.gq-quote-story>p:not(.gq-kicker){font-size:15px}.gq-quote form{padding:24px 20px;border-radius:20px}.gq-quote legend{font-size:32px}.gq-site .gq-next{padding:32px 24px!important}.gq-site .quote-receipt h2{font-size:38px}.gq-site footer{padding-top:44px}.gq-site .ip-section h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){.gq-site *{transition:none!important;scroll-behavior:auto!important}}
.gq-site [style*="--serviceColor"]{--serviceColor:#072cd9!important;--serviceColorDark:#041f9e!important;--serviceColorLight:#e8ebff!important;--colorPrimaryButton:#072cd9!important;--colorPrimaryButtonDark:#041f9e!important;--colorPrimaryButtonLight:#e8ebff!important}.gq-site .ip-impact-headline .ip-paid-fast,.gq-site .ip-impact-headline .ip-booked-jobs{background:none;color:#c0cdff;transform:none;box-shadow:none;padding:0;border-radius:0}.gq-site .ip-card b,.gq-site .ip-checks div:before{color:#072cd9}.gq-site .ip-pack{transform:none}.gq-site .ip-plan svg [stroke="#ff4f00"]{stroke:#072cd9}.gq-site .installer-apply button[type=submit]{background:#072cd9;border:1px solid #072cd9;color:#fff;border-radius:100px}.gq-site input:focus,.gq-site textarea:focus,.gq-site select:focus{border-color:#072cd9;box-shadow:0 0 0 3px #072cd912}
/* Reference refinement: floating white navigation, expanding service/resource panels,
   and the observed 96/64/58/48px responsive headline scale. */
.gq-site-header{background:#f7f6f2;padding:0 24px 16px;border-bottom:0}.gq-site-header .announce{margin-bottom:16px}.gq-site-header .floating-nav{position:relative;max-width:1440px;border-radius:10px;padding:14px 32px;background:#fff;box-shadow:0 4px 15px #0000000d;min-height:78px}.gq-site-header .nav{gap:26px}.gq-site-header .nav-cta{font-size:14px;padding:12px 22px;white-space:nowrap}.gq-site-header .nav-cta>span{margin-left:8px}.gq-nav-group>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:14px 0;font-size:14px;font-weight:700;color:#111}.gq-nav-group>summary::-webkit-details-marker{display:none}.gq-nav-group>summary>span{font-size:16px;transition:transform .15s}.gq-nav-group[open]>summary>span{transform:rotate(180deg)}.gq-nav-group[open]>summary,.gq-nav-group>summary[data-current=true]{color:#072cd9}.gq-mega{position:absolute;top:calc(100% + 10px);left:0;right:0;display:grid;grid-template-columns:1fr 2.6fr;gap:34px;background:#fff;padding:30px;border-radius:16px;box-shadow:0 18px 45px #11111118;border:1px solid #e7e8ea;z-index:50}.gq-mega-intro{background:#f7f6f2;border-radius:10px;padding:24px}.gq-mega-intro>span{font-size:10px;letter-spacing:.08em;color:#5a6570}.gq-mega-intro>strong{display:block;font-family:"roc-grotesk-condensed",sans-serif;text-transform:uppercase;font-size:34px;line-height:1;margin:14px 0}.gq-mega-intro>p{font-size:12px;font-weight:400;line-height:1.6;color:#5a6570}.gq-mega-intro>a{font-size:12px;color:#072cd9!important;margin-top:15px}.gq-mega-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.gq-mega-links>a{padding:18px!important;border:1px solid transparent;border-radius:10px;color:#111!important}.gq-mega-links>a:hover,.gq-mega-links>a:focus-visible{background:#f7f6f2;border-color:#e7e8ea}.gq-mega-links b,.gq-mega-links small{display:block}.gq-mega-links b{font-size:14px;font-weight:700;margin-bottom:5px}.gq-mega-links small{font-size:12px;line-height:1.5;font-weight:400;color:#5a6570}.gq-mega-compact{left:auto;right:16px;width:min(680px,calc(100% - 32px));display:block}.gq-home .cc-hero{min-height:645px;padding:58px 24px 64px}.gq-home .cc-hero h1{font-size:96px;line-height:86px;letter-spacing:.94px}.gq-home .cc-hero .hero-lead{font-size:20px;line-height:32px;max-width:740px}.gq-home .hero-split{gap:30px}.gq-home .quote-dock-grid .quote-button,.gq-site .gq-button{border-radius:100px}.gq-inner main:not(.installers) [class*=_hero__],.gq-site .gq-editorial-hero{background:#f7f6f2;border:1px solid #e7e8ea}.gq-inner main:not(.installers) [class*=_hero__] aside{background:#fff}.gq-inner main:not(.installers) h1{font-size:72px;line-height:.98;letter-spacing:.3px}.gq-site .gq-card-grid article{border:1px solid #e7e8ea}.gq-site .gq-card-grid article:nth-child(2){background:#f7f6f2}.gq-site .gq-card-grid article:nth-child(3){background:#e8ebff}.gq-site footer .footer-links a{line-height:1.7}
@media(min-width:1025px) and (max-width:1440px){.gq-home .cc-hero h1{font-size:64px;line-height:56px;max-width:620px}.gq-home .cc-hero .hero-lead{font-size:18px;line-height:28px}.gq-inner main:not(.installers) h1{font-size:64px;line-height:1}.gq-site-header .nav{gap:22px}}
@media(max-width:1024px){.gq-home .cc-hero h1{font-size:58px;line-height:50px}.gq-home .cc-hero .hero-lead{font-size:16px;line-height:26px}.gq-site-header .floating-nav{padding:14px 20px}.gq-site-header .nav{gap:18px}.gq-site-header .nav,.gq-nav-group>summary{font-size:12px}.gq-site-header .logo{width:155px}.gq-site-header .nav-cta{font-size:12px;padding:12px 16px}.gq-inner main:not(.installers) h1{font-size:58px}.gq-mega{grid-template-columns:1fr 2fr;padding:20px;gap:20px}.gq-mega-compact{display:block}.gq-mega-links{gap:8px}}
@media(max-width:800px){.gq-site-header .gq-menu-toggle{display:block}.gq-site-header .floating-nav{flex-wrap:wrap;gap:10px}.gq-site-header .nav{display:none!important;flex-direction:column;align-items:stretch;width:100%;border-top:1px solid #e7e8ea;padding-top:12px;gap:0;max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain}.gq-site-header .nav.gq-open{display:flex!important}.gq-site-header .nav>a{display:block!important;padding:14px 4px;font-size:14px}.gq-nav-group>summary{font-size:14px;justify-content:space-between;padding:14px 4px}.gq-mega,.gq-mega-compact{position:static;display:block;width:100%;padding:8px;border-radius:12px;box-shadow:none;margin-bottom:10px;background:#f7f6f2;border:0}.gq-mega-intro{display:none}.gq-mega-links{grid-template-columns:1fr 1fr;gap:4px}.gq-mega-links>a{padding:13px 10px!important}.gq-mega-links b{font-size:12px}.gq-mega-links small{font-size:10px}.gq-site-header .nav .nav-cta{padding:14px 20px;margin-top:12px;text-align:center}.gq-site-header .floating-nav{min-height:72px}.gq-inner main:not(.installers) h1{font-size:50px}}
@media(max-width:640px){.gq-site-header{padding:0 12px 12px}.gq-site-header .announce{width:calc(100% + 24px);margin:0 -12px 12px;padding:8px 12px;font-size:10px}.gq-site-header .floating-nav{padding:12px 16px;min-height:66px;border-radius:10px}.gq-site-header .logo{width:145px}.gq-home .cc-hero{padding:44px 20px 40px;min-height:0}.gq-home .cc-hero h1{font-size:48px;line-height:42px;letter-spacing:.4px;max-width:360px}.gq-home .cc-hero .hero-lead{font-size:15px;line-height:22px}.gq-home .hero-split{gap:26px}.gq-home .closing h2{font-size:44px;line-height:1}.gq-inner main:not(.installers) h1{font-size:48px;line-height:1}.gq-mega-links{grid-template-columns:1fr}.gq-mega-links small{font-size:12px}.gq-mega-links b{font-size:14px}}

/* Wide architectural hero, composed for headline readability and visible rooflines. */
.gq-home .cc-shell:before{background-image:url('/theme/gutter-home-dusk-hero.webp');background-color:rgba(0,0,0,.38);background-position:center 48%;background-size:cover;background-blend-mode:multiply}
.gq-home .cc-hero h1,.gq-home .cc-hero .eyebrow,.gq-home .cc-hero .hero-lead,.gq-home .cc-hero .promise{text-shadow:0 2px 18px #0009}
@media(max-width:700px){.gq-home .cc-shell:before{background-position:66% center;background-color:rgba(0,0,0,.42)}}

/* Temporary solid-color homepage hero. */
.gq-home .cc-shell{background:#072cd9;color:#fff}
.gq-home .cc-shell:before{content:none;background:none}
.gq-home .cc-hero h1,.gq-home .cc-hero .eyebrow,.gq-home .cc-hero .hero-lead,.gq-home .cc-hero .promise{text-shadow:none}

/* Exact CompanyCam typography, applied to every inherited page family. */
.gq-site,.gq-site-header,.gq-site footer{font-family:Averta,Arial,sans-serif}
.gq-site #gq-main :where(p,a,span,b,strong,small,label,input,button,select,textarea,summary,li,td,th,div),.gq-site-header :where(a,span,b,strong,small,summary,button),.gq-site footer :where(a,span,p,b,strong,small){font-family:Averta,Arial,sans-serif}
.gq-site #gq-main :where(h1,h2,legend){font-family:"roc-grotesk-condensed","Arial Narrow",sans-serif}
.gq-site #gq-main :where(h3){font-family:"richmond-display",Georgia,serif}
.gq-site #gq-main :is(h1,h2,h3,legend) :is(span,b,strong,em,small){font-family:inherit}
.gq-site .gq-mega-intro>strong{font-family:"roc-grotesk-condensed","Arial Narrow",sans-serif}
