/* Reference: Absolute Concrete Illinois, inspected 27 October 2026.
   ACC content, assets and working enquiry flow remain client-specific. */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Roboto:wght@400;500;700&display=swap');
html{scroll-behavior:smooth;scroll-padding-top:190px}
body.reference-rebuild{margin:0;background:#fff;color:#282828;font:400 16px/1.5 Roboto,Arial,sans-serif;padding:0}
.reference-rebuild *{box-sizing:border-box}
.reference-rebuild h1,.reference-rebuild h2,.reference-rebuild h3{font-family:Montserrat,Arial,sans-serif;letter-spacing:0;text-transform:none}
.reference-rebuild h2{font-size:25px;line-height:1.45;font-weight:700;margin:0 0 18px;color:#282828}
.reference-rebuild h3{font-size:20px;line-height:1.5;font-weight:700;margin:15px 0 12px;color:#282828}
.reference-rebuild p{margin:0 0 22px}
.reference-rebuild a{color:inherit}
.reference-rebuild a:focus-visible,.reference-rebuild button:focus-visible,.reference-rebuild summary:focus-visible{outline:3px solid #16748a;outline-offset:4px}
.ref-container{max-width:1000px;padding:0 20px;margin:0 auto}
.ref-header.reference-header{position:sticky;top:0;z-index:30;background:#fff;border:0;box-shadow:0 1px 6px #0000000d;width:100%;padding:0;color:#282828}
.ref-brand-row{max-width:1000px;margin:auto;display:grid;grid-template-columns:1fr 240px 1fr;align-items:center;min-height:140px;padding:14px 20px;gap:36px}
.ref-review-link{font-family:Montserrat,Arial,sans-serif;font-size:17px;text-decoration:none;line-height:1.5}
.ref-review-link span{font-family:Roboto,Arial,sans-serif;font-size:14px;text-decoration:underline}
.ref-logo{display:block;width:220px;margin:auto}
.ref-logo img{display:block;width:100%;height:auto}
.ref-contact{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3;gap:2px}
.ref-contact>.ref-button{margin:0 0 7px;font-size:13px;min-height:40px;min-width:190px;padding:8px 16px}
.ref-contact>span,.ref-contact>small{font-size:14px}
.ref-header-phone{font-weight:700;font-size:18px;text-decoration:none}
.ref-nav{min-height:44px;display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;padding:5px 20px;font:400 15px/1.5 Montserrat,Arial,sans-serif}
.ref-nav a{padding:6px 22px;white-space:nowrap;text-decoration:none;position:relative}
.ref-nav a+a:before{content:'/';position:absolute;left:0;color:#ddd}
.ref-nav a:hover{color:#267b8e;text-decoration:underline}
.ref-hero.hero{position:relative;display:grid;place-items:center;isolation:isolate;min-height:569px;height:auto;padding:40px 20px;background:#343737;overflow:hidden;margin:0;max-width:none}
.ref-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:-2}
.ref-hero:after{content:'';position:absolute;inset:0;background:#0009;z-index:-1}
.ref-hero-copy{text-align:center;width:100%;max-width:1400px;color:#fff;padding:0}
.ref-hero-copy h1{font:700 45px/1.5 Montserrat,Arial,sans-serif;color:#fff;max-width:none;margin:0 0 12px;letter-spacing:0}
.ref-hero-copy p{font:400 20px/1.7 Roboto,Arial,sans-serif;color:#fff;margin:0 0 16px;max-width:none}
.ref-hero-phone.hero-action{display:inline-block;font:700 36px/1.5 Roboto,Arial,sans-serif;padding:0;margin:0;background:transparent;border:0;box-shadow:none;border-radius:0;text-decoration:none;transform:none!important}
.ref-hero-phone:hover{text-decoration:underline}
.reference-rebuild .ref-hero-phone.hero-action{background:transparent!important;box-shadow:none!important;min-height:0;color:#fff!important}
.reference-rebuild .ref-hero-copy p{border:0!important;padding:0!important}
.reference-rebuild .ref-hero-copy h1{text-shadow:none}
.ref-intro{text-align:center;padding-top:52px;padding-bottom:30px}
.ref-intro p{font:400 16px/1.5 Roboto,Arial,sans-serif;margin:0 0 24px}
.ref-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 20px;padding-bottom:60px}
.ref-card{text-align:center;min-width:0;scroll-margin-top:200px}
.ref-card>img{display:block;width:100%;height:200px;object-fit:cover;border:0;border-radius:0}
.ref-card>p{line-height:1.5;margin:0 0 22px}
.ref-button{display:inline-flex;align-items:center;justify-content:center;min-height:45px;max-width:100%;min-width:80%;padding:10px 22px;border:1px solid #282828;border-radius:50px;background:#fff;color:#282828!important;text-decoration:none;font:400 15px/1.4 Montserrat,Arial,sans-serif;box-shadow:none;transform:none!important;text-align:center}
.ref-button:hover{background:#eaf5f7;border-color:#267b8e;color:#165e70!important}
.reference-rebuild .coupons{padding:45px 20px;background:#f6fafb;border-top:1px solid #e2ecee;border-bottom:1px solid #e2ecee;margin:0}
.reference-rebuild .coupons__inner{max-width:960px;margin:auto;padding:0}
.reference-rebuild .coupons__heading{display:block;text-align:center;max-width:820px;margin:0 auto 28px}
.reference-rebuild .coupons__heading h2{font:700 25px/1.45 Montserrat,Arial,sans-serif;color:#282828}
.reference-rebuild .coupons__heading h2 span{color:inherit}
.reference-rebuild .coupons__heading p{font:400 16px/1.5 Roboto,Arial,sans-serif;color:#343434}
.reference-rebuild .coupons__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.reference-rebuild .coupon{display:block;padding:26px;background:#fff;border:1px dashed #569aab;border-radius:0;box-shadow:none;color:#282828;min-height:0;margin:0}
.reference-rebuild .coupon__main{padding:0;background:#fff;color:#282828}
.reference-rebuild .coupon__top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:0 0 20px}
.reference-rebuild .coupon__logo{width:140px;height:auto;object-fit:contain;background:none;padding:0}
.reference-rebuild .coupon__season{font:500 11px/1.4 Montserrat,Arial,sans-serif;letter-spacing:1px;color:#286c7c}
.reference-rebuild .coupon__value{display:flex;align-items:baseline;gap:10px;font:700 50px/1.2 Montserrat,Arial,sans-serif;color:#286c7c;margin:0 0 12px}
.reference-rebuild .coupon__value span{font:700 22px/1 Montserrat,Arial,sans-serif;color:#286c7c;display:inline}
.reference-rebuild .coupon h3{font:700 20px/1.4 Montserrat,Arial,sans-serif;color:#282828;margin:0 0 12px}
.reference-rebuild .coupon h3{border:0;background:none;padding:0}
.reference-rebuild .coupon__description{font:400 15px/1.5 Roboto,Arial,sans-serif;color:#343434;margin:0 0 22px;min-height:90px}
.reference-rebuild .coupon__redeem{padding:0;background:none;border:0;display:block}
.reference-rebuild .coupon__btn{display:flex;align-items:center;justify-content:center;min-height:45px;padding:10px 18px;border:1px solid #282828;border-radius:50px;background:#fff;color:#282828;font:400 15px/1.4 Montserrat,Arial,sans-serif;box-shadow:none;text-decoration:none;transform:none!important}
.reference-rebuild .coupon__btn:hover{background:#eaf5f7}
.ref-coupon-terms{font-size:12px;text-align:center;margin:20px 0 0!important;line-height:1.5;color:#4a4a4a}
.reference-rebuild .coupon__cap{font:700 15px/1.5 Roboto,Arial,sans-serif;color:#282828;margin:0 0 12px}
.reference-rebuild .coupons__grid--single{grid-template-columns:minmax(0,600px);justify-content:center}
.ref-reviews{padding:50px 0;background:#fff;text-align:center}
.ref-reviews img{display:block;width:402px;height:auto;max-width:100%;margin:25px auto}
.ref-reviews a{color:#286c7c;text-decoration:underline}
.ref-faq{padding-top:15px;padding-bottom:55px}
.ref-faq>h2{text-align:center;margin-bottom:25px}
.ref-faq details{border:0;border-bottom:1px solid #ddd;background:transparent;box-shadow:none;border-radius:0;padding:16px 0}
.ref-faq summary{font:600 16px/1.5 Montserrat,Arial,sans-serif;cursor:pointer;color:#282828}
.ref-faq details p{margin:16px 0 0;color:#444}
.ref-closing{padding:45px 20px;text-align:center;background:#eef7f9}
.ref-closing .ref-button{min-width:240px}
.ref-footer{background:#2c2c2c;color:#fff;padding:35px 20px 40px;margin:0;max-width:none}
.ref-footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;max-width:1240px;margin:auto;text-align:center}
.ref-footer-grid section{padding:0;min-width:0;background:none}
.ref-footer h3{font:700 16px/1.5 Montserrat,Arial,sans-serif;color:#fff;margin:3px 0 8px}
.ref-footer p{font:400 16px/1.25 Roboto,Arial,sans-serif;margin:0}
.ref-footer a{color:#fff;text-decoration:underline;font-size:14px}
.ref-footer svg{display:inline-block;width:38px;height:38px;margin:0}
.ref-email{overflow-wrap:anywhere}
.ref-legal{text-align:center;background:#fff;font:400 12px/1.5 Roboto,Arial,sans-serif;color:#555;padding:20px}
.ref-contact-rail{position:fixed;top:37%;right:0;background:#58b9d0;z-index:35;display:flex;flex-direction:column;width:43px;color:#fff}
.ref-contact-rail a,.ref-contact-rail button{display:grid;place-items:center;width:43px;height:43px;color:#fff;background:none;border:0;padding:0;cursor:pointer}
.ref-contact-rail svg{width:32px;height:32px}
.ref-sticky.stickybar{display:none}
.reference-rebuild [hidden]{display:none!important}
/* Reuse the established form, with the reference's simple typography and outline buttons. */
.reference-rebuild .quotemodal__bar{background:#fff;color:#282828;border-bottom:1px solid #ddd}
.reference-rebuild .quotemodal__eyebrow{font-family:Montserrat,Arial,sans-serif!important;color:#282828!important}
.reference-rebuild .quotemodal__close{color:#282828}
.reference-rebuild .quotemodal--coupon .quotemodal__bar{background:#eef7f9;border-bottom:1px dashed #569aab;color:#282828}
.reference-rebuild .quotemodal--coupon #qm-title,.reference-rebuild .quotemodal--coupon .coupon-modal__qualification,.reference-rebuild .quotemodal--coupon .quotemodal__desc{color:#282828}
.reference-rebuild .quotemodal--coupon #qm-title{border:0;background:none;padding:0}
.reference-rebuild .quotemodal--coupon .coupon-modal__offer strong{color:#286c7c;font-family:Montserrat,Arial,sans-serif}
.reference-rebuild .qform__submit,.reference-rebuild .quotemodal--coupon .qform__submit{background:#286c7c;border-color:#286c7c;color:#fff;border-radius:30px;font-family:Montserrat,Arial,sans-serif}
.reference-rebuild .qform__submit:hover{background:#195664}
.reference-rebuild #quoteModal:not(.quotemodal--coupon) .qform__submit{background:#286c7c!important;border-color:#286c7c!important}
.reference-rebuild #quoteModal:not(.quotemodal--coupon) .qform__submit:hover{background:#195664!important;border-color:#195664!important}
.reference-rebuild #quoteModal.quotemodal--coupon .qform__submit{background:#286c7c!important;border-color:#286c7c!important;color:#fff!important}
.reference-rebuild #quoteModal.quotemodal--coupon .qform__submit:hover{background:#195664!important;border-color:#195664!important}
.reference-rebuild #quoteModal.quotemodal--steps.quotemodal--coupon .field--service{display:block!important}
@media(max-width:1020px){.ref-brand-row{gap:15px}.ref-contact-rail{display:none}.ref-nav a{padding:6px 15px}.ref-hero-copy h1{font-size:38px}}
@media(max-width:767px){
 html{scroll-padding-top:150px}
 body.reference-rebuild{padding-bottom:62px}
 .ref-brand-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:14px 18px;gap:16px;min-height:95px}
 .ref-review-link{display:none}.ref-logo{width:175px;max-width:100%;margin:0}.ref-contact{gap:3px}.ref-contact>.ref-button{font-size:11px;min-width:0;min-height:36px;padding:7px 12px;margin:0 0 2px}.ref-contact>small{display:none}.ref-contact>span{font-size:12px}.ref-header-phone{font-size:16px}
 .ref-nav{min-height:38px;padding:3px 8px;font-size:11px;flex-wrap:nowrap;overflow-x:auto;justify-content:center}.ref-nav a{padding:6px 10px}.ref-nav a:nth-child(3),.ref-nav a:nth-child(5){display:none}
 .ref-hero.hero{min-height:385px;padding:35px 20px}.ref-hero-copy h1{font-size:30px;line-height:1.25;margin:0 0 20px}.ref-hero-copy p{font-size:16px;line-height:1.6;margin:0 0 20px}.ref-hero-phone.hero-action{font-size:29px}
 .reference-rebuild h2{font-size:23px;line-height:1.35}.ref-intro{padding-top:35px;padding-bottom:10px}.ref-intro p{text-align:left}
 .ref-services{grid-template-columns:1fr;gap:35px;padding-bottom:40px;max-width:500px}.ref-card>img{height:240px}.ref-card h3{margin:16px 0 12px}.ref-card p{margin-bottom:18px}.ref-card .ref-button{min-width:82%}
 .reference-rebuild .coupons{padding:35px 20px}.reference-rebuild .coupons__grid{grid-template-columns:1fr;gap:22px}.reference-rebuild .coupon{padding:22px}.reference-rebuild .coupon__description{min-height:0}.reference-rebuild .coupon__value{font-size:46px}
 .ref-reviews{padding:35px 0}.ref-faq{padding-bottom:35px}.ref-closing{padding:35px 0}
 .ref-footer{padding:35px 20px}.ref-footer-grid{grid-template-columns:1fr;gap:30px}
 .ref-sticky.stickybar{position:fixed;bottom:0;left:0;right:0;width:100%;max-width:none;transform:none;z-index:40;display:grid;grid-template-columns:1.2fr 1fr;background:#fff;border-top:1px solid #ddd;padding:0;gap:0;min-height:58px;padding-bottom:env(safe-area-inset-bottom)}
 .ref-sticky.stickybar a{width:100%}
 .reference-rebuild .ref-sticky.stickybar a{display:flex;justify-content:center;align-items:center;padding:16px 8px;gap:0;background:#286c7c!important;color:#fff!important;font:600 13px/1.5 Montserrat,Arial,sans-serif;text-decoration:none;border:0;border-radius:0;box-shadow:none!important;min-height:58px}.reference-rebuild .ref-sticky.stickybar a+a{background:#fff!important;color:#282828!important;border-left:1px solid #ddd}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Mobile layout measured against the reference's actual dm_device=mobile version.
   55px spacer + 37px review strip + 85.55px logo row + 60px contact row. */
.ref-mobile-spacer,.ref-mobile-review-strip,.ref-mobile-menu-button,.ref-mobile-contact-toggle{display:none}
.reference-rebuild .ref-hero-copy h1{width:100%;max-width:100%}
.reference-rebuild .ref-hero-copy p{width:100%;max-width:960px;margin-left:auto;margin-right:auto}
.reference-rebuild .ref-hero-prompt{font:400 20px/1.5 Roboto,Arial,sans-serif!important;margin:12px auto 18px}
.ref-mobile-contact-toggle svg{display:block;width:32px;height:32px}
@media(max-width:767px){
 html{scroll-padding-top:238px}
 body.reference-rebuild{padding-bottom:0}
 .ref-mobile-spacer{display:block;height:55px;background:#eceaeb}
 .ref-mobile-review-strip{display:flex;align-items:center;justify-content:center;height:37px;padding:2px 5px;background:#f4f4f4;font:400 14px/24px Roboto,Arial,sans-serif;text-align:center;text-decoration:underline}
 .ref-header .ref-brand-row{position:relative;display:block;min-height:0;height:145.55px;padding:0;margin:0;width:100%;max-width:none}
 .ref-header .ref-review-link{display:none}
 .ref-header .ref-logo{display:block;width:145px;height:60.55px;max-width:none;margin:0 auto;padding:0;position:relative;top:12.5px;overflow:hidden}
 .ref-header .ref-logo img{position:absolute;left:50%;top:50%;width:214px;max-width:none;height:71.33px;object-fit:contain;transform:translate(-50%,-50%)}
 .ref-header .ref-contact{position:absolute;top:85.55px;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;height:60px;gap:0;padding:0;margin:0;text-align:center}
 .ref-header .ref-contact>span,.ref-header .ref-contact>small{display:none}
 .ref-header .ref-header-phone{order:0;display:flex;align-items:center;justify-content:center;width:calc(100% - 10px);height:39px;min-height:39px;border:1px solid #282828;border-radius:50px;margin:10px auto;padding:0;font:700 14px/22px Montserrat,Arial,sans-serif;text-decoration:none}
 .ref-header .ref-contact>.ref-button{order:1;width:calc(100% - 19px);height:40px;min-height:40px;min-width:0;margin:10px auto;padding:0;font:700 14px/22px Montserrat,Arial,sans-serif;white-space:nowrap}
 .ref-header .ref-mobile-menu-button{display:flex;position:absolute;top:6.85px;left:10px;width:40px;height:40px;padding:13px 9px;gap:4px;justify-content:center;align-items:center;color:#666;background:transparent;border:0}
 .ref-header .ref-mobile-menu-button span,.ref-header .ref-mobile-menu-button span:nth-child(2),.ref-header .ref-mobile-menu-button span:nth-child(3){display:block;width:22px;height:2px;min-height:2px;margin:0;background:currentColor}
 .ref-header .ref-nav{display:none}
 .ref-header .ref-mobile-drawer{background:#fff;color:#282828;max-height:calc(100dvh - 238px);padding:10px 20px;border-top:1px solid #ddd;box-shadow:0 8px 15px #0002}
 .ref-header .ref-mobile-drawer a{color:#282828;border-color:#ddd;font:400 15px/1.5 Montserrat,Arial,sans-serif}
 .reference-rebuild .ref-hero.hero{min-height:388px;padding:28px 20px;display:grid;place-items:center}
 .reference-rebuild .ref-hero-copy h1{font:700 32px/48px Montserrat,Arial,sans-serif;margin:8px 0;padding:2px 0;width:100%;max-width:100%}
 .reference-rebuild .ref-hero-copy .ref-hero-description{font:400 16px/24px Roboto,Arial,sans-serif!important;margin:8px auto;padding:2px 0!important;width:100%;max-width:350px}
 .reference-rebuild .ref-hero-copy .ref-hero-prompt{font:400 16px/24px Roboto,Arial,sans-serif!important;margin:8px auto;padding:2px 0!important;width:100%;max-width:350px}
 .reference-rebuild .ref-hero-phone.hero-action{display:none}
 .reference-rebuild h2{font-size:24px;line-height:36px}
 .ref-intro{padding:30px 20px}
 .ref-intro h2{margin:8px 0;padding:2px 0}
 .ref-intro p{max-width:300px;margin:8px auto 24px;padding:2px 0;text-align:center;font-size:16px;line-height:24px}
 .ref-services{max-width:none;gap:40px;padding-left:20px;padding-right:20px}
 .ref-card>img{height:auto;aspect-ratio:4/3;object-fit:cover}
 .reference-rebuild .ref-card h3{font:700 23px/34.5px Montserrat,Arial,sans-serif;margin:32px 0 8px;padding:2px 0}
 .ref-card>p{max-width:300px;margin:8px auto 16px;font:400 16px/24px Roboto,Arial,sans-serif}
 .ref-card .ref-button{width:100%;min-width:100%;height:40.5px;min-height:40.5px;font-size:14px;padding:9px 20px;margin:10px 0}
 .reference-rebuild .ref-sticky.stickybar{display:none;position:fixed;left:auto;right:15px;bottom:90px;width:min(300px,calc(100vw - 30px));max-width:none;height:auto;min-height:0;transform:none;background:#fff;border:1px solid #d5e1e4;border-radius:5px;padding:8px;box-shadow:0 3px 18px #0003;z-index:40;gap:6px}
 .reference-rebuild .ref-sticky.stickybar.is-open{display:flex;flex-direction:column}
 .reference-rebuild .ref-sticky.stickybar a,.reference-rebuild .ref-sticky.stickybar a+a{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-height:48px;padding:10px 12px;background:#fff!important;color:#282828!important;border:0;border-radius:0;font:600 14px/1.4 Montserrat,Arial,sans-serif}
 .reference-rebuild .ref-sticky.stickybar a svg{width:28px;height:28px;flex-shrink:0;margin:0;color:#258aa2}
 .ref-mobile-contact-toggle{position:fixed;right:15px;bottom:15px;z-index:41;display:grid;place-items:center;width:64px;height:64px;border:0;border-radius:50%;background:#2dbfe1;color:#fff;box-shadow:0 2px 5px #0003;cursor:pointer;padding:0}
 .ref-mobile-contact-toggle[aria-expanded=true] svg{transform:rotate(45deg)}
}

/* Verified client-specified Google rating, shared across both sticky headers. */
.ref-header .ref-review-link,.ref-header .ref-mobile-review-strip{align-items:center;justify-content:center;gap:7px;text-decoration:none;white-space:nowrap}
.ref-header .ref-review-link{display:flex;flex-wrap:wrap;font:400 16px/24px Roboto,Arial,sans-serif}
.ref-header .ref-rating-score{font:700 23px/1 Roboto,Arial,sans-serif;color:#282828;text-decoration:none}
.ref-header .ref-rating-stars{font:400 22px/1 Arial,sans-serif;color:#fbbc04;letter-spacing:0;text-decoration:none}
.ref-header .ref-rating-on{font:400 14px/24px Roboto,Arial,sans-serif;text-decoration:none}
.ref-header .ref-google-wordmark{display:block;width:60px;height:auto;max-width:none;object-fit:contain}
@media(max-width:767px){
 .ref-header .ref-review-link{display:none}
 .ref-header .ref-mobile-review-strip{display:flex;gap:7px}
}

/* Reference sticky frame: review strip, centered logo/menu and paired pills. */
.ref-header.reference-header{box-shadow:0 3px 8px #0002}
.ref-header .ref-rating-score{color:#fbbc04}
.reference-rebuild .ref-hero-phone.hero-action{display:inline-flex;align-items:center;justify-content:center;border:1px solid #fff;border-radius:50px;padding:10px 26px;min-height:48px;font:700 20px/1.4 Montserrat,Arial,sans-serif;background:transparent!important}
.reference-rebuild .ref-hero-phone.hero-action:hover{background:#ffffff20!important;text-decoration:none}
@media(max-width:767px){
 .ref-header .ref-mobile-menu-button{flex-direction:column;flex-shrink:0}
 .ref-header .ref-mobile-menu-button span{flex-shrink:0}
 .ref-header .ref-header-phone{height:40px;min-height:40px}
 .ref-header .ref-mobile-review-strip{font-size:16px}
 .reference-rebuild .ref-hero-phone.hero-action{display:inline-flex;min-height:44px;font:700 16px/24px Montserrat,Arial,sans-serif;margin:10px auto 0;padding:9px 22px}
 .reference-rebuild .ref-hero-copy .ref-hero-description{max-width:350px}
}

.reference-rebuild .ref-hero-phone.hero-action{border:1px solid #fff!important;border-radius:50px!important;padding:10px 26px!important;box-shadow:none!important}

.reference-rebuild .coupons__heading p strong{font-weight:700}.reference-rebuild .coupons__heading p a{color:#286c7c;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.reference-rebuild .coupon__season{font-weight:700;text-align:right;color:#286c7c}
/* Reference testimonial: outline speech icon, generous white space, italic quote. */
.ref-reviews{padding:48px 20px 62px}
.ref-reviews .ref-container{max-width:850px}
.ref-reviews svg{display:block;width:80px;height:80px;margin:0 auto 28px;color:#111}
.ref-reviews blockquote{border:0;padding:0;margin:0 auto;max-width:660px;background:none}
.ref-reviews blockquote p{font:italic 400 20px/1.5 Roboto,Arial,sans-serif;margin:0 auto 20px;color:#282828}
.ref-reviews cite{display:block;font:italic 400 16px/1.5 Roboto,Arial,sans-serif}
.ref-review-source{display:inline-block;font-size:12px;margin-top:18px}
.ref-review-context{display:block;font-size:12px;margin-top:16px;color:#666}
.reference-rebuild .coverage{margin:0;padding:52px 24px;background:#f4f4f4}
.reference-rebuild .coverage h2{font-family:Montserrat,Arial,sans-serif;font-size:28px;line-height:1.4}
.reference-rebuild .coverage p{font-size:16px;line-height:1.5}
.reference-rebuild .google-radius-map{border-radius:0}
.reference-rebuild .ref-hero-copy h1,.reference-rebuild .ref-hero-copy .ref-hero-prompt{color:#eceef0!important;text-shadow:0 2px 4px #000b,0 4px 14px #0007!important}
.reference-rebuild .ref-button,.reference-rebuild .ref-header-phone,.reference-rebuild .coupon__btn,.reference-rebuild .hero-action,.reference-rebuild .qform__submit,.ref-mobile-contact-toggle{transition:transform .12s ease,box-shadow .12s ease}
.reference-rebuild .ref-button.is-pressed,.reference-rebuild .ref-header-phone.is-pressed,.reference-rebuild .coupon__btn.is-pressed,.reference-rebuild .hero-action.is-pressed,.reference-rebuild .qform__submit.is-pressed,.reference-rebuild .ref-sticky a.is-pressed,.reference-rebuild .ref-mobile-contact-toggle.is-pressed{transform:scale(.96) translateY(3px)!important;box-shadow:inset 0 2px 5px #0003!important}
.ref-contact-backdrop{position:fixed;inset:0;background:linear-gradient(#ececece6 0%,#ececece6 30%,#fff 62%);z-index:39}
@media(min-width:768px){
 .ref-services{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:40px 24px;max-width:1100px}
 .ref-services>.ref-card{flex:0 0 calc((100% - 48px)/3);display:flex;flex-direction:column}
 .ref-card>.ref-button{margin-top:auto;align-self:center;min-width:90%}
 .ref-card>img{height:215px}
 .ref-services:has(>article:nth-child(4):last-child)>.ref-card{flex-basis:calc((100% - 24px)/2)}
 .ref-services:has(>article:nth-child(4):last-child)>.ref-card>img{height:270px}
 .ref-logo{width:230px}
 .ref-logo img{width:100%;height:auto;object-fit:contain}
}
@media(max-width:767px){
 html{scroll-padding-top:210px}
 .ref-mobile-spacer{height:10px}
 .ref-header .ref-brand-row{height:160px}
 .ref-header .ref-logo{width:210px;height:90px;top:4px;overflow:visible}
 .ref-header .ref-logo img{position:static;width:100%;height:90px;object-fit:contain;transform:none;max-width:100%}
 .ref-header .ref-contact{top:100px}
 .ref-header .ref-mobile-menu-button{top:14px}
 .ref-header .ref-mobile-drawer{max-height:calc(100dvh - 207px)}
 .ref-reviews{padding:46px 20px 60px}
 .ref-reviews svg{width:80px;height:80px;margin-bottom:28px}
 .ref-reviews blockquote{max-width:300px}
 .ref-reviews blockquote p{font-size:16px;line-height:24px}
 .ref-reviews cite{font-size:14px;margin-top:22px}
 .reference-rebuild .coverage{padding:36px 20px}
 .reference-rebuild .coverage h2{font-size:24px}
 .reference-rebuild .google-radius-map,.reference-rebuild .google-radius-map iframe{height:280px}
 .reference-rebuild .ref-sticky.stickybar,.reference-rebuild .ref-sticky.stickybar.is-open{position:fixed;right:25px;bottom:106px;left:auto;width:calc(100% - 50px);max-width:450px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;gap:16px;z-index:40}
 .reference-rebuild .ref-sticky.stickybar a,.reference-rebuild .ref-sticky.stickybar a+a{display:flex;flex-direction:row-reverse;justify-content:flex-start;gap:14px;padding:0;min-height:42px;background:transparent!important;font:400 20px/1.4 Roboto,Arial,sans-serif;color:#111!important}
 .reference-rebuild .ref-sticky.stickybar a svg{width:44px;height:44px;padding:9px;border-radius:50%;background:#58b9d0;color:#fff;box-shadow:0 2px 4px #0006;flex-shrink:0}
 .ref-mobile-contact-toggle[aria-expanded=true]{background:#58b9d0;box-shadow:none}
}
@media(prefers-reduced-motion:reduce){.reference-rebuild .is-pressed{transform:none!important;transition:none!important}}

.reference-rebuild .coupons__heading h2 .ref-autumn-highlight{color:#b54118;background:none;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .08em}

.reference-rebuild .ref-autumn-highlight{color:#b54118!important;background:none;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .08em}

/* Compact two-action contact menu: no full-screen overlay. */
.ref-contact-backdrop{display:none!important}
@media(max-width:767px){
 .reference-rebuild .ref-sticky.stickybar,.reference-rebuild .ref-sticky.stickybar.is-open{right:15px;bottom:90px;width:245px;max-width:calc(100vw - 30px);padding:8px;border:1px solid #ddd;border-radius:10px;background:#fff;box-shadow:0 5px 24px #0003;gap:4px}
 .reference-rebuild .ref-sticky.stickybar a,.reference-rebuild .ref-sticky.stickybar a+a{flex-direction:row;justify-content:flex-start;gap:12px;min-height:48px;padding:8px;font:500 16px/1.4 Roboto,Arial,sans-serif;border-radius:5px}
 @media(hover:hover){.reference-rebuild .ref-sticky.stickybar a:hover{background:#f1f6f7!important}}
 .reference-rebuild .ref-sticky.stickybar a svg{width:30px;height:30px;padding:4px;border-radius:0;background:none;color:#258aa2;box-shadow:none}
}

.ref-process{padding-top:40px;padding-bottom:40px;text-align:center}.ref-process ol{padding:0;list-style-position:inside;margin:0 auto;max-width:740px}.ref-process li{padding:10px;line-height:1.6}
.reference-rebuild .ref-savings-example{font:700 22px/1.35 Montserrat,Arial,sans-serif;color:#b54118;margin:0 0 14px}
.reference-rebuild .coupon__description{min-height:112px}
@media(max-width:767px){.reference-rebuild .coupon__description{min-height:0}}

/* Slightly taller heroes, keeping copy and immediate coupon placement intact. */
.reference-rebuild .ref-hero.hero{min-height:595px;padding-top:48px;padding-bottom:48px}
@media(max-width:767px){.reference-rebuild .ref-hero.hero{min-height:452px;padding-top:36px;padding-bottom:36px}}

/* Steps mobile hero title only; hero height and chimney layout stay as approved. */
@media(max-width:767px){.reference-rebuild.steps-page .ref-hero-copy h1{font-size:33px;position:relative;top:-8px}}
@media(max-width:767px){.reference-rebuild.chimney-page .ref-hero-copy h1{font-size:33px;position:relative;top:-8px}}

/* Presentation only: existing confirmation copy, actions and tracking stay intact. */
.quotemodal.is-success .quote__card{background:#fff}
.quotemodal.is-success .quotemodal__top{border-bottom:1px solid #dde4ea;background:#f5f7f9}
#qSuccess.qsuccess{--confirmation-blue:#0867b9;text-align:left;padding:28px 28px 24px;outline:none;background:#fff;color:#263541}
#qSuccess .qsuccess__tick{display:block;margin:0 0 16px;text-align:left;line-height:0}
#qSuccess .qsuccess__tick svg{width:34px;height:34px}
#qSuccess h3{font-size:27px;line-height:1.15;font-weight:500;letter-spacing:0;margin:0 0 12px;color:#172f48}
#qSuccess>p{font-size:15px;line-height:1.55;margin:0 0 20px;color:#52616d}
#qSuccess .summit-next{padding:0;margin:25px 0;list-style:none;text-align:left}
#qSuccess .summit-next li{position:relative;margin:0 0 0 11px;padding:0 0 22px 27px;border-left:1px solid #d8e1e8;min-height:0;background:none;box-shadow:none;border-radius:0}
#qSuccess .summit-next li:last-child{border-left-color:transparent;padding-bottom:0}
#qSuccess .summit-next__marker{position:absolute;left:-12px;top:0;display:flex;align-items:center;justify-content:center;width:23px;height:23px;box-sizing:border-box;padding:0;border:1px solid #d0dce6;border-radius:50%;background:#fff;color:#0867b9;font:600 12px/1 Arial,sans-serif}
#qSuccess .summit-next li:first-child .summit-next__marker{background:#0867b9;border-color:#0867b9;color:#fff}
#qSuccess .summit-next strong{display:block;font-size:16px;line-height:1.4;color:#263541;font-weight:700;margin:0 0 4px}
#qSuccess .summit-next__detail{font-size:14px;line-height:1.5;color:#52616d;margin:0;max-width:48ch}
#qSuccess .summit-next__emphasis{font-weight:inherit;color:inherit}
#qSuccess .qsuccess__meta{border-top:1px solid #e3e8ed;padding-top:18px;margin:24px 0 18px;font-size:14px}
#qSuccess .qsuccess__meta a{color:#0867b9;font-weight:700;text-underline-offset:3px;white-space:nowrap}
#qSuccess .qsuccess__actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}
#qSuccess .qsuccess__actions button{display:flex;align-items:center;justify-content:center;min-height:46px;padding:11px 12px;border:1px solid #c5d0da;border-radius:0;background:#fff;color:#263541;font-family:inherit;font-size:13px;font-weight:600;line-height:1.3;box-shadow:none;text-transform:none}
#qSuccess .qsuccess__actions button:last-child{grid-column:1/-1;grid-row:1;background:#0867b9;border-color:#0867b9;color:#fff;font-size:15px}
#qSuccess .qsuccess__actions button:hover{background:#f1f5f8}
#qSuccess .qsuccess__actions button:last-child:hover{background:#07599e}
#qSuccess .qsuccess__actions button:focus-visible{outline:2px solid #0867b9;outline-offset:3px}
@media(max-width:600px){#qSuccess.qsuccess{padding:24px 20px 22px}#qSuccess h3{font-size:25px}#qSuccess>p{font-size:14px}#qSuccess .summit-next{margin:22px 0}#qSuccess .summit-next li{padding-bottom:20px}#qSuccess .qsuccess__actions button{font-size:12px}}
@media(prefers-reduced-motion:reduce){#qSuccess *{animation:none!important;transition:none!important}}
/* Clear legacy decorative surfaces rather than layering a second card. */
#quoteModal.is-success .quote__card{padding:0!important}
#quoteModal.is-success .quotemodal__bar{background:#f3f6f8;color:#172f48;border-bottom:1px solid #dce4eb}
#quoteModal.is-success .quotemodal__eyebrow{color:#172f48}
#quoteModal.is-success .quotemodal__close{color:#263541;background:transparent}
#qSuccess .qsuccess__tick{width:34px;height:34px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
#qSuccess .summit-next{background:transparent;border:0;border-radius:0;box-shadow:none}
#qSuccess .summit-next:before,#qSuccess .summit-next:after{content:none}
/* The existing client logos include white marks: retain a dark branded header. */
#quoteModal.is-success .quotemodal__bar{background:#172f48;color:#fff;border-bottom-color:#172f48}
#quoteModal.is-success .quotemodal__eyebrow,#quoteModal.is-success .quotemodal__close{color:#fff}
#qSuccess .qsuccess__proof{display:flex;flex-wrap:wrap;gap:9px 16px;padding:0;list-style:none;font-size:12px;color:#52616d}
#qSuccess .qsuccess__tick{width:44px;height:44px;margin:0 auto 18px;text-align:center}
#qSuccess .qsuccess__tick svg{width:44px;height:44px}
#qSuccess h3,#qSuccess>p:not(.qsuccess__meta){text-align:center;margin-left:auto;margin-right:auto;max-width:46ch}
#qSuccess .summit-next{margin-top:28px}
#quoteModal.quotemodal.is-success .quotemodal__bar{background:#172f48;color:#fff}
#quoteModal.quotemodal.is-success .quotemodal__eyebrow,#quoteModal.quotemodal.is-success .quotemodal__close{color:#fff}

/* ACC uses the same confirmation system and blue checkmark. */
#qSuccess .qsuccess__tick svg circle,#qSuccess .qsuccess__tick svg path{stroke:#0867b9}
#quoteModal.is-success .quotemodal__logo{object-fit:contain}
/* Scope legacy ACC header overrides to the submitted state. */
#quoteModal.quotemodal.is-success .quotemodal__bar{flex-direction:row;align-items:center;gap:14px;padding:22px 56px 22px 20px!important;background:#172f48!important;color:#fff}
#quoteModal.quotemodal.is-success .quotemodal__logo{width:108px;height:42px;max-width:none;background:#fff;border-radius:2px}
#quoteModal.quotemodal.is-success .quotemodal__titles{width:auto;min-width:0}
#quoteModal.quotemodal.is-success .quotemodal__eyebrow{font-family:ReferenceCondensed,Arial,sans-serif!important;font-size:26px;line-height:1.2;margin:0;color:#fff!important}
#quoteModal.quotemodal.is-success .quotemodal__close{background:transparent!important;color:#fff!important;border:0;border-radius:0}
#qSuccess.qsuccess{font-family:ReferenceRoboto,Arial,sans-serif}

/* Restore ACC's original logo throughout these two pages. Keep its full proportions visible. */
@media(min-width:768px){
 .ref-header .ref-logo{width:154px;max-width:100%}
 .ref-header .ref-logo img{display:block;width:100%;height:auto;object-fit:contain}
}
@media(max-width:767px){
 html{scroll-padding-top:225px}
 .ref-header .ref-brand-row{height:175px}
 .ref-header .ref-logo{width:145px;height:112px;top:0;overflow:visible}
 .ref-header .ref-logo img{position:static;width:100%;height:112px;max-width:100%;object-fit:contain;transform:none}
 .ref-header .ref-contact{top:115px}
 .ref-header .ref-mobile-drawer{max-height:calc(100dvh - 222px)}
}
.reference-rebuild .coupon__top{min-height:58px}
.reference-rebuild .coupon__logo{width:75px;height:58px;max-height:none;object-fit:contain}
#quoteModal:not(.is-success) .quotemodal__logo{width:116px;height:90px;object-fit:contain}
#quoteModal.quotemodal--coupon:not(.is-success) .quotemodal__logo{width:150px;height:116px;object-fit:contain}
#quoteModal.quotemodal.is-success .quotemodal__logo{width:76px;height:59px;object-fit:contain}
@media(max-width:767px){
 #quoteModal.quotemodal--coupon:not(.is-success) .quotemodal__logo{width:140px;height:108px}
}

/* Keep the existing coupon cards; clarify the savings and eligibility hierarchy. */
.reference-rebuild .coupon__value{justify-content:center;align-items:baseline;gap:8px;font-size:60px;line-height:1.05;letter-spacing:-2px;margin-bottom:8px;font-variant-numeric:lining-nums tabular-nums}
.reference-rebuild .coupon__value span{font-size:19px;letter-spacing:.08em;line-height:1}
.reference-rebuild .ref-savings-example{font-size:15px;line-height:1.4;font-weight:700;color:#a74716;margin:0 0 13px}
.reference-rebuild .coupon h3{line-height:1.25;margin-bottom:12px}
@media(max-width:767px){.reference-rebuild .coupon__value{font-size:54px}.reference-rebuild .coupon__value span{font-size:18px}}
