/* CT Gutters: charcoal surfaces, original brand red, brighter red text accents. */
:root {
  color-scheme: dark;
  --ink: #f4f2ed;
  --muted: #b3bbb7;
  --cream: #191e21;
  --line: #384044;
  --surface: #111517;
  --panel: #20262a;
  --accent: #ff8378;
}
body { background: var(--surface); }
::selection { color: #fff; background: var(--red); }
button:focus-visible, a:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline-color: #ffa199;
}
.skip-link { color: var(--ink); background: var(--panel); }
.concept-bar { background: #090c0e; color: #b8c2c4; }
.status-dot { background: var(--accent); }
.site-header {
  background: rgba(17, 21, 23, .97);
  border-bottom-color: var(--line);
  backdrop-filter: blur(12px);
}
.logo-ct, .eyebrow, h1 > span { color: var(--accent); }
.logo-words small { color: var(--muted); }
.main-nav > a:not(.button):hover, .link-button:hover { color: var(--accent); }
.menu-toggle { background: var(--panel); color: var(--ink); }
.red-line, .caption-line { background: var(--accent); }
.hero-intro, .hero-proof { color: var(--muted); }
.hero-proof svg { color: var(--accent); }
.hero-photo, .project-photo { background: #2b3337; }
.hero-photo:after { border-color: #ffffff18; }
.warranty-stamp { box-shadow: 0 10px 28px #0005; }
.benefit-strip { background: #0b0f11; color: #e0e4e0; border-block: 1px solid #30383b; }
.benefit-strip i { color: #9ba6a9; }
.service-card { background: #171c1f; }
.service-card:hover { background: #232b2e; }
.service-top svg, .service-card > a, .project-grid figcaption p,
.step-number, .faq-list summary > span, .contact-phone > span,
.service-area svg { color: var(--accent); }
.service-top > span, .project-grid figcaption > span { color: #aab5b8; }
.warranty-section .eyebrow { color: #ffe0da; }
.warranty-section p:not(.eyebrow) { color: #fff0eb; }
.warranty-section small { color: #ffe0da; }
.button-white { color: #fff; background: #181e21; border-color: #ffffff40; }
.button-white:hover { background: #293237; border-color: #ffffff70; }
.faq-list, .faq-list details { border-color: var(--line); }
.form-card { background: var(--panel); border-color: #404a4e; }
.form-title > span { color: #d0d8d4; background: #354044; }
label { color: #d4d9d4; }
input, select, textarea { color: var(--ink); background: #13181b; border-color: #495154; }
input::placeholder, textarea::placeholder { color: #a2adaf; opacity: 1; }
.form-message { background: #151b1e; border-left-color: var(--accent); color: #ffb5a9; }
.site-footer { background: #090d0f; color: #d3dbd6; }
.logo-light .logo-ct { color: var(--accent); }
.logo-light .logo-words small { color: #b7c0bb; }
.footer-top > p { color: var(--ink); }
.footer-top > div > span { color: #b2bdb5; }
.footer-bottom { color: #a8b4b7; border-color: #343d40; }
.footer-bottom button { color: #e3e9e2; }
.guide-dialog { background: var(--cream); box-shadow: 0 20px 90px #000a; }
.guide-dialog::backdrop { background: #030607d9; }
.guide-header { background: var(--cream); }
.guide-header > button { background: #273034; border-color: #4a5659; color: var(--ink); }
.swatch-row i { border-color: #ffffff25; }
.noscript-note { background: var(--panel); color: var(--ink); }
@media (max-width: 900px) {
  .main-nav { background: #151b1e; box-shadow: 0 14px 24px #0006; border-top-color: var(--line); }
}

/* Local service information and the gutter planning guide. */
.hero h1{font-size:clamp(42px,4.4vw,64px);letter-spacing:-2.4px}
.areas-section{background:var(--surface)}
.areas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.areas-grid article{border-top:1px solid var(--line);padding-top:25px;display:flex;flex-direction:column;align-items:flex-start}
.area-number{color:var(--accent);font-size:10px;letter-spacing:1.2px;font-weight:700}
.areas-grid h3{font-size:19px;line-height:1.4;margin-top:17px}
.areas-grid p{font-size:13px;line-height:1.85;color:var(--muted);margin:15px 0 22px}
.areas-grid .link-button{font-size:11px;white-space:normal;margin-top:auto}
.planning-link{display:flex;justify-content:space-between;align-items:center;gap:24px;background:var(--panel);padding:28px;margin-top:42px;border:1px solid var(--line)}
.planning-link h3{font-size:18px}.planning-link p{font-size:12px;color:var(--muted);margin-top:7px}
.footer-top>div>a.footer-email{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}
.guide-page{max-width:900px}.guide-page h1{font-size:clamp(36px,5vw,60px);line-height:1.15;margin-bottom:25px;letter-spacing:-1.7px}
.guide-page .lede{font-size:18px;color:var(--muted);max-width:750px}
.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:28px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.guide-toc{display:flex;gap:12px 22px;flex-wrap:wrap;padding:22px 0;border-block:1px solid var(--line);margin-top:30px;font-size:12px;color:var(--accent)}
.guide-article h2{font-size:30px;margin-top:50px;letter-spacing:-.8px}.guide-article h3{font-size:18px;margin-top:24px}.guide-article p,.guide-article li{color:var(--muted);font-size:15px}.guide-article p{margin-top:17px}.guide-article ul{padding-left:23px}.guide-article li{margin-block:10px}.guide-article a:not(.button){color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.guide-callout{padding:28px;background:var(--panel);border-left:3px solid var(--accent);margin-top:40px}.guide-callout h2{margin-top:0}.guide-callout .button{margin-top:23px}
.guide-site-nav{display:flex;align-items:center;gap:24px;font-size:12px}.guide-site-nav .button{font-size:11px}.guide-footer-links{display:flex;gap:20px;flex-wrap:wrap;padding-block:22px;font-size:12px;border-top:1px solid var(--line)}
@media(max-width:900px){.areas-grid{gap:20px}.areas-grid h3{font-size:17px}.planning-link{align-items:flex-start;flex-direction:column}.planning-link .link-button{white-space:normal}.guide-site-nav{gap:12px}.guide-site-nav>a:first-child{display:none}}
@media(max-width:650px){.areas-grid{grid-template-columns:1fr;gap:30px}.hero h1{font-size:clamp(39px,9.3vw,56px);letter-spacing:-1.8px}.planning-link{padding:22px}.guide-article h2{font-size:26px}.guide-page .lede{font-size:16px}.guide-site-nav .button{font-size:10px;padding:11px}.guide-callout{padding:22px}}

/* Contractor partnerships. */
.contractor-section{background:var(--cream);border-top:1px solid var(--line)}
.contractor-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:76px;align-items:start}
.contractor-copy{padding-top:12px}.contractor-copy h2{font-size:44px}
.contractor-intro{font-size:14px;line-height:1.9;color:var(--muted);margin-top:23px;max-width:440px}
.partner-benefits{margin-top:32px}.partner-benefits article{padding-block:24px;border-top:1px solid var(--line)}
.partner-number{font-size:9px;letter-spacing:1.3px;font-weight:700;color:var(--accent)}
.partner-benefits h3{font-size:20px;line-height:1.4;margin-top:10px;letter-spacing:-.5px}
.partner-benefits p{font-size:13px;line-height:1.9;color:var(--muted);margin-top:12px}
.partner-terms{font-size:11px;line-height:1.85;color:var(--muted);margin:5px 0 23px}
.contractor-copy>.link-button{white-space:normal}.partner-form-card .form-title h3{max-width:none}
@media(min-width:901px) and (max-width:1150px){.main-nav{gap:12px}}
@media(max-width:1000px){.contractor-grid{gap:35px}.contractor-copy h2{font-size:36px}}
@media(max-width:760px){.contractor-grid{grid-template-columns:1fr;gap:30px}.contractor-copy{padding-top:0}.contractor-copy h2{font-size:34px}.contractor-intro{max-width:none}.partner-benefits{margin-top:26px}.partner-benefits article{padding-block:21px}}

/* Call-first contact and Google customer feedback. */
.call-banner{background:#ab0907;color:#fff}.call-banner .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:18px}.call-banner a{font-size:clamp(22px,3vw,32px);font-weight:800;white-space:nowrap}.call-banner>div>span{font-size:13px}.hero-call{display:block;border-left:4px solid #ed3935;padding:12px 0 12px 20px;margin:24px 0;color:#fff}.hero-call small{display:block;font-size:10px;font-weight:700;letter-spacing:1px}.hero-call strong{display:block;font-size:clamp(30px,4vw,46px);letter-spacing:-1px;line-height:1.4}.hero-call>span{font-size:12px;color:var(--muted)}.hero-call:hover strong{text-decoration:underline;text-underline-offset:6px}.review-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.review-note{font-size:12px;color:var(--muted);margin-top:20px}.google-reviews{border-block:1px solid var(--line)}.mobile-call{display:none}#google-reviews-feed{margin-bottom:28px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.google-review-card{padding:24px;background:var(--panel);border:1px solid var(--line);min-width:0}.google-review-card p{font-size:14px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}.google-review-card a{color:inherit;text-decoration:underline}.google-review-card small{display:block;margin-top:12px;color:var(--muted)}.google-rating{font-size:20px;font-weight:700;margin-bottom:20px}.google-attribution{font-size:12px;margin-top:18px}
@media(max-width:760px){.call-banner .wrap{flex-direction:column;gap:6px;text-align:center}.call-banner a{font-size:30px}.review-grid{grid-template-columns:1fr}.mobile-call{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1000;background:#ab0907;color:#fff;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px calc(16px + env(safe-area-inset-bottom))}.mobile-call span{font-size:11px}.mobile-call strong{font-size:19px}body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.review-actions{align-items:flex-start;flex-direction:column}}
