/* ==========================================================================
   Topclean brand layer: green & gold rebrand (approved Oct 3, 2026)
   Loaded LAST on every page (after each page's inline <style> and css/v2.css),
   so it restyles the site without changing markup, copy or behaviour.
   Palette: green #0A5C3E (primary) / gold #C9A24A on green / gold #A8842F on white.
   Type:    Cormorant Garamond (headings) + Montserrat (body/UI), self-hosted, SIL OFL.
   Reference: branding-oct2/mock-homepage.
   ========================================================================== */

/* ---------- Fonts (latin subset, variable weight; see fonts/OFL-*.txt) ---------- */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300 700;font-display:swap;src:url('../fonts/cormorant-garamond-latin-var.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:300 700;font-display:swap;src:url('../fonts/cormorant-garamond-italic-latin-var.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/montserrat-latin-var.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
/* Safety net: the page templates and css/v2.css still name 'Oswald'/'Open Sans' in places. Re-pointing those family
   names at the brand files (declared later, so these faces win) means any leftover use renders in the new type and
   the old font files are never downloaded. */
@font-face{font-family:'Oswald';font-style:normal;font-weight:200 700;font-display:swap;src:url('../fonts/montserrat-latin-var.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-stretch:100%;font-display:swap;src:url('../fonts/montserrat-latin-var.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ---------- Tokens ---------- */
:root{
  --tc-green:#0A5C3E;        /* primary */
  --tc-green-deep:#073F2A;   /* dark sections (gold text on it passes WCAG AA) */
  --tc-green-ink:#06331F;    /* footer */
  --tc-gold:#C9A24A;         /* gold on green */
  --tc-gold-hover:#D6B262;
  --tc-gold-w:#A8842F;       /* gold on white */
  --tc-ink:#1B2420;          /* body text */
  --tc-on-gold:#132019;      /* text on gold buttons */
  --tc-muted:#5E6762;
  --tc-line:#E7E3D9;
  --tc-stone:#F7F5F0;
  --tc-serif:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --tc-sans:"Montserrat","Helvetica Neue",Arial,sans-serif;
  /* legacy tokens used by the page templates, remapped to the new palette */
  --black:var(--tc-green-ink);--navy:var(--tc-green-ink);--navy-dark:var(--tc-green-ink);--navy-light:var(--tc-green);
  --gold:var(--tc-gold);--gold-light:var(--tc-gold-hover);--yellow:var(--tc-gold);
  --red:var(--tc-green);--red-light:#084A32;--sky:var(--tc-green);--sky-light:var(--tc-gold);--sky-pale:var(--tc-stone);
  --white:#fff;--off-white:var(--tc-stone);--gray:var(--tc-stone);--cream:var(--tc-stone);
  --text:var(--tc-ink);--text-light:var(--tc-muted);--text-mid:var(--tc-muted);--border:var(--tc-line);
  --tc-radius-sm:0px;--tc-radius:0px;--tc-radius-lg:0px;
  --tc-shadow-sm:none;--tc-shadow:0 30px 60px -40px rgba(10,92,62,.35);--tc-shadow-lg:0 30px 60px -36px rgba(6,51,31,.45);
  --tc-header-h:88px;--tc-header-h-sm:72px;
}

/* ---------- Base ---------- */
body{font-family:var(--tc-sans);color:var(--tc-ink);background:#fff;font-size:16px;line-height:1.7;}
button,input,select,textarea{font-family:inherit;}
h1,h2,h3,h4{font-family:var(--tc-serif);}
::selection{background:rgba(201,162,74,.35);}
:focus-visible{outline:2px solid var(--tc-green);outline-offset:3px;border-radius:0;}
.section-dark :focus-visible,.cta-band :focus-visible,footer :focus-visible,section.hero :focus-visible,.tc-actionbar :focus-visible,.tc-drawer :focus-visible{outline-color:var(--tc-gold);}
/* in-copy links: green with a gold hairline underline */
.body-text a:not([class]),.faq-answer a,.related-links a,.section .section-inner>p a:not([class]),.breadcrumb a{color:var(--tc-green)!important;font-weight:500!important;text-decoration:underline;text-decoration-color:var(--tc-gold-w);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s,text-decoration-color .2s;}
.body-text a:not([class]):hover,.faq-answer a:hover,.related-links a:hover,.section .section-inner>p a:not([class]):hover,.breadcrumb a:hover{color:#084A32!important;text-decoration-color:var(--tc-green);}
.section-dark .body-text a:not([class]),.section-navy .body-text a:not([class]){color:#fff!important;text-decoration-color:var(--tc-gold);}

/* Any leftover inline Oswald headings (city pages, window-cleaning pages) */
[style*="Oswald"]{font-family:var(--tc-serif)!important;text-transform:none!important;letter-spacing:.005em!important;font-weight:500!important;}
h3[style*="Oswald"]{font-size:26px!important;line-height:1.2!important;color:var(--tc-green)!important;}

/* ---------- Header / nav ---------- */
#mainNav{background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--tc-line)!important;box-shadow:none!important;height:var(--tc-header-h);
  padding:0 clamp(1.25rem,3vw,2.5rem);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);gap:1.25rem;}
#mainNav.scrolled{height:var(--tc-header-h-sm);background:rgba(255,255,255,.97)!important;box-shadow:0 10px 30px -22px rgba(6,51,31,.35)!important;}
#mainNav.scrolled::after{display:none;}
#mainNav .nav-brand{flex-shrink:0;}
#mainNav .nav-brand img,#mainNav .nav-brand img.logo-transparent,#mainNav.scrolled .nav-brand img{height:40px;width:auto;filter:none!important;}
#mainNav.scrolled .nav-brand img{height:36px;}
#mainNav .nav-menu>li>a,#mainNav.scrolled .nav-menu>li>a{color:var(--tc-ink);font-family:var(--tc-sans);font-size:11.5px;font-weight:500;letter-spacing:.2em;padding:0 15px;}
#mainNav .nav-menu>li:hover>a,#mainNav .nav-menu>li.drop-open>a,#mainNav.scrolled .nav-menu>li:hover>a,#mainNav.scrolled .nav-menu>li.drop-open>a{background:transparent;color:var(--tc-green);box-shadow:inset 0 -1px 0 var(--tc-gold-w);}
#mainNav .arr{font-size:8px;color:var(--tc-gold-w);}
#mainNav .nav-drop{background:#fff;border:1px solid var(--tc-line);border-top:2px solid var(--tc-gold-w);border-radius:0;box-shadow:0 30px 60px -30px rgba(6,51,31,.35);}
#mainNav .nav-drop>a{color:var(--tc-ink);font-size:11.5px;font-weight:500;letter-spacing:.14em;border-bottom:1px solid var(--tc-line);}
#mainNav .nav-drop>a:hover{background:var(--tc-stone);color:var(--tc-green);}
#mainNav .nav-drop>a .sub-arr{color:var(--tc-gold-w);}
#mainNav .nav-drop>a .drop-icon{filter:grayscale(1);opacity:.55;font-size:14px;}
#mainNav .nav-sub{background:#fff;border:1px solid var(--tc-line);border-top:2px solid var(--tc-green);border-radius:0;box-shadow:12px 18px 40px -24px rgba(6,51,31,.35);}
#mainNav .nav-sub a{color:var(--tc-ink);border-bottom:1px solid var(--tc-line);letter-spacing:.12em;font-weight:500;}
#mainNav .nav-sub a:hover{background:var(--tc-stone);color:var(--tc-green);}
#mainNav .nav-sub a.sub-quote{color:var(--tc-green);font-weight:600;}
#mainNav .nav-drop-footer{background:var(--tc-green-deep);border-radius:0;}
#mainNav .nav-drop-footer span{color:rgba(255,255,255,.85);letter-spacing:.2em;font-weight:500;}
#mainNav .nav-drop-footer a{color:var(--tc-gold)!important;letter-spacing:.2em!important;font-weight:600!important;}
#mainNav .nav-cta,#mainNav .nav-cta-btn{background:var(--tc-gold);color:var(--tc-on-gold);border:1px solid var(--tc-gold);border-radius:0;box-shadow:none;font-family:var(--tc-sans);
  font-size:11px;font-weight:600;letter-spacing:.22em;padding:14px 22px;margin-left:.5rem;}
#mainNav .nav-cta:hover,#mainNav .nav-cta-btn:hover{background:var(--tc-gold-hover);transform:none;box-shadow:none;}
#mainNav .nav-social{gap:8px;margin-right:4px;}
#mainNav .nav-social a,#mainNav.scrolled .nav-social a{width:30px;height:30px;border:1px solid var(--tc-line);border-radius:0;color:var(--tc-green);background:#fff;}
#mainNav .nav-social a:hover,#mainNav.scrolled .nav-social a:hover{border-color:var(--tc-gold-w);color:var(--tc-gold-w);background:#fff;}
#mainNav .nav-brand-name{color:var(--tc-green)!important;font-family:var(--tc-serif);}
.tc-menu-btn,#mainNav.scrolled .tc-menu-btn{border:1px solid var(--tc-line);border-radius:0;background:#fff;color:var(--tc-green);}
@media (max-width:1180px){#mainNav .nav-menu>li>a{padding:0 10px;letter-spacing:.14em;}#mainNav .nav-social{display:none;}}
@media (max-width:960px){#mainNav,#mainNav.scrolled{height:72px;}#mainNav .nav-brand img,#mainNav.scrolled .nav-brand img{height:32px;}}
@media (max-width:600px){#mainNav,#mainNav.scrolled{height:64px;}#mainNav .nav-brand img,#mainNav.scrolled .nav-brand img{height:28px;}}

/* ---------- Mobile drawer ---------- */
.tc-drawer__scrim{background:rgba(6,40,27,.55);}
.tc-drawer__panel{background:var(--tc-green-ink);border-left:1px solid rgba(201,162,74,.35);}
.tc-drawer__head{border-bottom:1px solid rgba(201,162,74,.3);padding:16px 18px;}
.tc-drawer__title img{display:block;height:28px;width:auto;}
.tc-drawer__close{border-radius:0;border-color:rgba(255,255,255,.25);}
.tc-drawer__ctas a{border-radius:0;font-family:var(--tc-sans);font-weight:600;letter-spacing:.18em;font-size:11.5px;}
.tc-drawer__ctas .tc-q{background:var(--tc-gold);color:var(--tc-on-gold);}
.tc-drawer__ctas .tc-b{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;}
.tc-drawer__ctas .tc-c{background:transparent;border:1px solid rgba(201,162,74,.6);color:var(--tc-gold);}
.tc-drawer__label{color:var(--tc-gold);font-weight:600;letter-spacing:.3em;}
.tc-drawer__list a{border-radius:0;font-family:var(--tc-serif);font-size:20px;font-weight:500;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);}
.tc-drawer__list a::after{color:var(--tc-gold);}
.tc-drawer__list a:hover,.tc-drawer__list a:focus-visible{background:rgba(201,162,74,.1);color:var(--tc-gold);}
.tc-drawer__social a{border-radius:0;border-color:rgba(201,162,74,.6);color:var(--tc-gold);}

/* ---------- Hero ---------- */
section.hero{background-color:#084A32;justify-content:flex-start!important;min-height:min(86vh,800px);}
section.hero .hero-img:not([style]){background:radial-gradient(900px 500px at 80% 20%,rgba(201,162,74,.22),transparent 60%),linear-gradient(135deg,#0A5C3E,#063A26);}
section.hero .hero-bg,section.hero .hero-overlay{background:linear-gradient(90deg,rgba(6,52,35,.95) 0%,rgba(8,74,50,.88) 36%,rgba(8,74,50,.45) 66%,rgba(8,74,50,.12) 100%)!important;}
.hero-content{text-align:left!important;max-width:none!important;width:100%;
  padding:calc(var(--tc-header-h) + 4.5rem) max(clamp(1.25rem,4vw,2.5rem),calc((100% - 1200px)/2 + 2.5rem)) 4.5rem!important;}
.hero-content>*{max-width:660px;margin-left:0!important;margin-right:0!important;}
section.hero .hero-badge,section.hero .hero-eyebrow{display:inline-block;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;
  font-family:var(--tc-sans);font-size:11.5px!important;font-weight:600!important;letter-spacing:.32em!important;text-transform:uppercase;color:var(--tc-gold)!important;margin-bottom:1.4rem!important;}
.hero-content h1{font-family:var(--tc-serif)!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;
  font-size:clamp(46px,5.6vw,78px)!important;line-height:1.04!important;color:#fff;text-shadow:none!important;margin-bottom:0!important;}
.hero-content h1 em,.hero-content h1 .gold{font-style:italic;color:var(--tc-gold)!important;font-weight:400;}
.hero-content h1::after{content:"";display:block;width:64px;height:1px;background:var(--tc-gold);margin:28px 0 24px;}
section.hero .hero-tagline{font-family:var(--tc-serif)!important;font-style:italic;font-weight:400!important;text-transform:none!important;letter-spacing:.01em!important;
  font-size:clamp(22px,2.2vw,28px)!important;line-height:1.3!important;color:#fff!important;margin:0 0 1rem!important;}
section.hero .hero-tagline .gold,section.hero .hero-tagline span{color:var(--tc-gold)!important;}
section.hero .hero-sub{font-family:var(--tc-sans);font-size:17px!important;font-weight:400!important;line-height:1.75!important;color:rgba(255,255,255,.88)!important;max-width:560px!important;margin-bottom:2.2rem!important;}
.hero-btns{justify-content:flex-start!important;gap:12px!important;margin-bottom:2.4rem!important;max-width:940px!important;}
.hero-btns a{padding-left:24px!important;padding-right:24px!important;}
.hero-trust{justify-content:flex-start!important;gap:10px 34px!important;padding-top:22px;border-top:1px solid rgba(201,162,74,.45);max-width:720px!important;}
.hero-trust-item,section.hero .trust-item{background:none!important;border:0!important;border-radius:0!important;padding:0!important;font-family:var(--tc-sans);
  font-size:11px!important;font-weight:500!important;letter-spacing:.24em!important;text-transform:uppercase;color:rgba(255,255,255,.88)!important;}
.hero-trust-item span{color:var(--tc-gold)!important;}
section.hero .trust-item-dot{width:7px;height:7px;border-radius:0;background:var(--tc-gold);transform:rotate(45deg);}
@media (max-width:900px){
  section.hero{min-height:0!important;}
  section.hero .hero-bg,section.hero .hero-overlay{background:linear-gradient(0deg,rgba(6,52,35,.97) 0%,rgba(8,74,50,.92) 62%,rgba(8,74,50,.45) 86%,rgba(8,74,50,.15) 100%)!important;}
  .hero-content{padding:calc(64px + 150px) 1.5rem 2.75rem!important;}
  .hero-content h1{font-size:clamp(40px,11vw,52px)!important;}
  .hero-content h1::after{margin:22px 0 18px;}
  section.hero .hero-tagline{font-size:22px!important;}
  section.hero .hero-sub{font-size:16px!important;}
  .hero-trust{gap:10px 22px!important;}
  .hero-trust-item,section.hero .trust-item{font-size:10px!important;letter-spacing:.18em!important;}
}

/* ---------- Buttons ---------- */
.btn-yellow,.btn-primary,.btn-outline,.btn-ghost,.deal-cta,.deal-submit,.form-submit{border-radius:0!important;box-shadow:none!important;font-family:var(--tc-sans)!important;
  font-size:12px!important;font-weight:600!important;letter-spacing:.22em!important;text-transform:uppercase;padding:17px 30px;line-height:1.3;}
.btn-yellow,.btn-primary,.deal-cta,.deal-submit,.form-submit{background:var(--tc-gold)!important;color:var(--tc-on-gold)!important;border:1px solid var(--tc-gold)!important;}
.btn-yellow:hover,.btn-primary:hover,.deal-cta:hover,.deal-submit:hover,.form-submit:hover{background:var(--tc-gold-hover)!important;transform:none!important;}
.btn-outline,.btn-ghost{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.7)!important;}
.btn-outline:hover,.btn-ghost:hover{background:rgba(255,255,255,.1)!important;border-color:#fff!important;transform:none!important;}
.hero-btns a{min-height:54px;}
@media (max-width:768px){.hero-btns a{font-size:11px!important;letter-spacing:.16em!important;min-height:52px;padding:12px 10px!important;}}

/* ---------- Sections & type ---------- */
.section{padding:clamp(72px,9vw,120px) clamp(1.25rem,4vw,2.5rem);}
.section-inner{max-width:1200px;}
.section-gray,.section-cream,.section-sky-pale{background:var(--tc-stone)!important;}
.section-dark,.section-navy{background:var(--tc-green-deep)!important;color:#fff;}
.section-tag,.section-tag-light{font-family:var(--tc-sans);font-size:11.5px!important;font-weight:600;letter-spacing:.32em!important;text-transform:uppercase;color:var(--tc-gold-w)!important;margin-bottom:1rem;}
.section-tag::before{display:none!important;}
.section-dark .section-tag,.section-navy .section-tag,.section-tag-light,.cta-band .section-tag,footer .section-tag{color:var(--tc-gold)!important;}
.section-title{font-family:var(--tc-serif)!important;font-weight:500!important;text-transform:none!important;letter-spacing:.005em!important;font-size:clamp(34px,4vw,50px)!important;line-height:1.12!important;color:var(--tc-green)!important;}
.section-title.light,.section-dark .section-title,.section-navy .section-title{color:#fff!important;}
.gold-rule,.sky-rule{width:64px!important;height:1px!important;border-radius:0!important;background:var(--tc-gold-w)!important;margin:22px 0 28px;}
.section-dark .gold-rule,.section-navy .gold-rule,.section-navy .sky-rule{background:var(--tc-gold)!important;}
.body-text{font-size:16px!important;line-height:1.8!important;color:var(--tc-muted);}
.body-text strong{color:var(--tc-ink);font-weight:600;}
.section-dark .body-text,.section-navy .body-text{color:rgba(255,255,255,.8);}
.section-dark .body-text strong,.section-navy .body-text strong{color:#fff;}
.breadcrumb{background:var(--tc-stone)!important;border-bottom:1px solid var(--tc-line);font-size:11.5px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--tc-muted)!important;padding:.95rem max(clamp(1.25rem,4vw,2.5rem),calc((100% - 1200px)/2 + 2.5rem))!important;}
.breadcrumb a{text-decoration:none!important;font-weight:600!important;}
.breadcrumb span{color:var(--tc-gold-w);}
.breadcrumb strong{color:var(--tc-ink);font-weight:600;}

/* ---------- Cards: hairline grid like the mock ---------- */
.types-grid,.services-grid,.process-steps{gap:0!important;border-top:1px solid var(--tc-line);border-left:1px solid var(--tc-line);}
.type-card,.service-card,.process-step{background:#fff!important;border:0!important;border-right:1px solid var(--tc-line)!important;border-bottom:1px solid var(--tc-line)!important;
  border-radius:0!important;box-shadow:none!important;padding:42px 34px 44px!important;transition:background .3s!important;}
.type-card::before,.service-card::before,.process-step::before{display:none!important;}
.type-card:hover,.service-card:hover,.process-step:hover{background:var(--tc-stone)!important;transform:none!important;box-shadow:none!important;}
.type-icon,.service-icon{width:52px!important;height:52px!important;border-radius:0!important;background:transparent!important;border:1px solid rgba(168,132,47,.55);
  font-size:24px!important;margin-bottom:26px!important;filter:grayscale(1) sepia(.55) saturate(1.4) brightness(.92);}
.type-card h3,.service-card h3,.process-step h3{font-family:var(--tc-serif)!important;font-size:25px!important;font-weight:500!important;text-transform:none!important;letter-spacing:.005em!important;color:var(--tc-green)!important;line-height:1.2;margin-bottom:12px!important;}
.type-card p,.service-card p,.process-step p{font-size:14.5px!important;line-height:1.75!important;color:var(--tc-muted)!important;}
.type-card p a,.service-card p a{color:var(--tc-green);text-decoration:underline;text-decoration-color:var(--tc-gold-w);text-underline-offset:3px;}
.service-card a,.service-card>a{font-size:11.5px!important;font-weight:600!important;letter-spacing:.2em!important;color:var(--tc-green)!important;border-bottom:1px solid var(--tc-gold-w)!important;text-decoration:none!important;}
.process-num{font-family:var(--tc-serif)!important;font-style:italic;font-weight:400!important;font-size:30px!important;color:var(--tc-gold-w)!important;}
.section-gray .types-grid,.section-gray .process-steps{background:transparent;}
/* dark "why" / "trust" blocks: pillars like the mock's "Standard" section */
.why-grid,.trust-grid{gap:0!important;border-top:1px solid rgba(201,162,74,.5);margin-top:3.5rem!important;}
.why-card,.trust-card{background:transparent!important;border:0!important;border-radius:0!important;text-align:left!important;padding:40px 30px 16px!important;transform:none!important;}
.why-card+.why-card,.trust-card+.trust-card{border-left:1px solid rgba(255,255,255,.14)!important;}
.why-card:hover,.trust-card:hover{background:transparent!important;transform:none!important;}
.why-icon,.trust-icon{width:48px!important;height:48px!important;border-radius:0!important;margin:0 0 22px!important;background:transparent!important;border:1px solid rgba(201,162,74,.6)!important;
  font-size:21px!important;filter:grayscale(1) sepia(.6) saturate(1.5) brightness(1.15);}
.why-card h4,.trust-card h4{font-family:var(--tc-serif)!important;font-size:25px!important;font-weight:500!important;text-transform:none!important;letter-spacing:.005em!important;color:#fff!important;margin-bottom:10px!important;line-height:1.2;}
.why-card p,.trust-card p{font-size:14.5px!important;line-height:1.75!important;color:rgba(255,255,255,.8)!important;}
@media (max-width:700px){.why-card+.why-card,.trust-card+.trust-card{border-left:0!important;border-top:1px solid rgba(255,255,255,.14)!important;}.why-card,.trust-card{padding:30px 0 22px!important;}}

/* ---------- Area pills ---------- */
.areas-list{gap:10px!important;}
.area-pill{border-radius:0!important;background:#fff!important;border:1px solid var(--tc-line)!important;box-shadow:none!important;color:var(--tc-green)!important;font-family:var(--tc-sans);font-size:13px!important;font-weight:500!important;letter-spacing:.02em;padding:10px 18px!important;}
.area-pill:hover{background:var(--tc-green)!important;border-color:var(--tc-green)!important;color:#fff!important;transform:none!important;}
span.area-pill{color:var(--tc-muted)!important;}
span.area-pill:hover{background:#fff!important;color:var(--tc-muted)!important;border-color:var(--tc-line)!important;}

/* ---------- FAQ ---------- */
.faq-list{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;border-top:1px solid var(--tc-line)!important;}
.faq-item{border-bottom:1px solid var(--tc-line)!important;}
.faq-item:last-child{border-bottom:1px solid var(--tc-line)!important;}
.faq-question{font-family:var(--tc-serif)!important;font-size:22px!important;font-weight:500!important;text-transform:none!important;letter-spacing:.005em!important;color:var(--tc-green)!important;padding:1.4rem 0!important;line-height:1.3;}
.faq-question:hover{color:#084A32!important;}
.faq-arrow{color:var(--tc-gold-w)!important;font-size:12px!important;}
.faq-answer{font-size:15px!important;line-height:1.8!important;color:var(--tc-muted)!important;}

/* ---------- CTA band ---------- */
.cta-band{background:var(--tc-green-deep)!important;border:0!important;position:relative;overflow:hidden;padding:clamp(80px,10vw,120px) 1.5rem!important;}
.cta-band::before,.cta-band::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:min(1120px,86%);height:1px;background:rgba(201,162,74,.55);}
.cta-band::before{top:28px;}.cta-band::after{bottom:28px;}
.cta-band h2{font-family:var(--tc-serif)!important;font-weight:400!important;text-transform:none!important;letter-spacing:0!important;font-size:clamp(36px,4.6vw,58px)!important;line-height:1.1!important;color:#fff!important;}
.cta-band p{color:rgba(255,255,255,.85)!important;font-size:17px!important;}
.cta-band .phone{font-family:var(--tc-serif)!important;font-weight:500!important;font-size:clamp(28px,4vw,36px)!important;color:#fff!important;letter-spacing:.02em!important;display:inline-block!important;border-bottom:1px solid var(--tc-gold);padding-bottom:2px;margin-bottom:2.2rem!important;}

/* ---------- Trust strip + How it works ---------- */
.tc-trust-strip{background:#fff;border-bottom:1px solid var(--tc-line);padding:26px clamp(1.25rem,4vw,2.5rem);}
.tc-trust-strip ul{max-width:1200px;gap:18px 28px;}
.tc-trust-strip li{color:var(--tc-muted);font-size:13px;}
.tc-trust-strip li strong{font-family:var(--tc-serif)!important;font-size:20px!important;font-weight:500!important;text-transform:none!important;letter-spacing:.005em!important;color:var(--tc-green)!important;margin-bottom:2px;}
.tc-trust-strip .tc-ico{background:transparent!important;border:1px solid rgba(168,132,47,.55);border-radius:0!important;color:var(--tc-gold-w)!important;width:46px;height:46px;}
.tc-trust-strip .tc-ico svg{stroke-width:1.4;width:21px;height:21px;}
.tc-how{background:var(--tc-stone)!important;padding:clamp(72px,9vw,110px) clamp(1.25rem,4vw,2.5rem)!important;}
.tc-how__inner{max-width:1200px;}
.tc-how__head p{color:var(--tc-muted)!important;}
.tc-how__steps{gap:0!important;border-top:1px solid var(--tc-line);border-left:1px solid var(--tc-line);}
.tc-how__step{background:#fff!important;border:0!important;border-right:1px solid var(--tc-line)!important;border-bottom:1px solid var(--tc-line)!important;border-radius:0!important;box-shadow:none!important;padding:38px 32px 34px!important;}
.tc-how__step::after{display:none!important;}
.tc-how__num{width:auto!important;height:auto!important;background:none!important;box-shadow:none!important;border-radius:0!important;justify-content:flex-start!important;
  font-family:var(--tc-serif)!important;font-style:italic;font-weight:400!important;font-size:34px!important;line-height:1!important;color:var(--tc-gold-w)!important;}
.tc-how__num::after{content:".";}
.tc-how__step h3{font-family:var(--tc-serif)!important;font-size:26px!important;font-weight:500!important;text-transform:none!important;letter-spacing:.005em!important;color:var(--tc-green)!important;}
.tc-how__step p{color:var(--tc-muted)!important;}
.tc-link,.tc-how__step a.tc-link{font-family:var(--tc-sans);font-size:11.5px!important;font-weight:600!important;letter-spacing:.2em!important;color:var(--tc-green)!important;border-bottom:1px solid var(--tc-gold-w)!important;text-transform:uppercase;}
.tc-link:hover{color:#084A32!important;border-color:var(--tc-green)!important;}

/* ---------- Homepage blocks ---------- */
.zip-bar{background:var(--tc-green)!important;padding:30px 2rem!important;border-bottom:1px solid rgba(201,162,74,.45);}
.zip-label{font-family:var(--tc-serif)!important;font-size:26px!important;font-weight:500!important;text-transform:none!important;letter-spacing:.01em!important;color:#fff!important;}
.zip-form input{border-radius:0!important;border:1px solid rgba(255,255,255,.4)!important;font-family:var(--tc-sans)!important;padding:14px 16px!important;}
.zip-form button{border-radius:0!important;background:var(--tc-gold)!important;color:var(--tc-on-gold)!important;font-family:var(--tc-sans);font-weight:600!important;letter-spacing:.22em!important;padding:14px 26px!important;}
.zip-form button:hover{background:var(--tc-gold-hover)!important;}
#zip-msg{color:#fff!important;}
.deals-grid{gap:28px!important;}
.deal-card{border:1px solid var(--tc-line)!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;}
.deal-card:hover{transform:none!important;box-shadow:0 30px 60px -40px rgba(10,92,62,.4)!important;}
.deal-photo{height:220px!important;}
.deal-body{padding:28px 26px 26px!important;}
.deal-badge{background:transparent!important;color:var(--tc-gold-w)!important;border-radius:0!important;padding:0!important;font-size:11px!important;font-weight:600!important;letter-spacing:.3em!important;margin-bottom:.8rem!important;}
.deal-title{font-family:var(--tc-serif)!important;font-size:27px!important;font-weight:500!important;text-transform:none!important;letter-spacing:.005em!important;color:var(--tc-green)!important;}
.deal-price{font-family:var(--tc-serif)!important;font-size:40px!important;font-weight:500!important;color:var(--tc-green)!important;}
.deal-price span{font-family:var(--tc-sans)!important;font-size:12px!important;letter-spacing:.14em;text-transform:uppercase;color:var(--tc-muted)!important;}
.deal-desc{font-size:14px!important;color:var(--tc-muted)!important;}
.deal-includes li{font-size:13.5px!important;color:var(--tc-ink)!important;}
.deal-includes li::before{content:"◆"!important;color:var(--tc-gold-w)!important;font-size:8px;line-height:2.4;}
.deal-expires{color:var(--tc-muted)!important;}
.deal-modal{border-radius:0!important;border-top:2px solid var(--tc-gold);}
.deal-modal-hero{border-radius:0!important;}
.deal-modal-hero-overlay{background:linear-gradient(to top,rgba(6,52,35,.85),transparent)!important;}
.deal-modal-hero-title{font-family:var(--tc-serif)!important;text-transform:none!important;font-weight:500!important;font-size:28px!important;letter-spacing:0!important;}
.deal-modal-price{font-family:var(--tc-serif)!important;color:var(--tc-green)!important;font-weight:500!important;font-size:34px!important;}
.deal-modal-close{border-radius:0!important;background:rgba(6,51,31,.7)!important;}
.deal-form-input{border-radius:0!important;font-family:var(--tc-sans)!important;}
.deal-form-input:focus{border-color:var(--tc-green)!important;}
.deal-calendly-wrap{border-radius:0!important;}
.testimonial-section{background:var(--tc-stone)!important;border:0!important;}
.testimonials-carousel{background:#fff!important;border:1px solid var(--tc-line);border-radius:0!important;box-shadow:none!important;outline:1px solid rgba(168,132,47,.35);outline-offset:8px;}
.testimonial-quote{font-family:var(--tc-serif);color:var(--tc-gold-w)!important;font-size:80px!important;}
.testimonial-text{font-family:var(--tc-serif);font-size:23px!important;line-height:1.55!important;color:var(--tc-ink)!important;}
.testimonial-author{color:var(--tc-green)!important;font-weight:600!important;letter-spacing:.3em!important;font-size:11.5px!important;}
.testimonial-location{color:var(--tc-muted)!important;}
.carousel-btn{border-radius:0!important;border:1px solid var(--tc-green)!important;color:var(--tc-green)!important;background:#fff!important;}
.carousel-btn:hover{background:var(--tc-green)!important;color:#fff!important;}
.dot{border-radius:0!important;transform:rotate(45deg);width:8px!important;height:8px!important;background:#D6D1C4!important;}
.dot.active{background:var(--tc-gold-w)!important;}
.contact-section{background:var(--tc-stone)!important;border:0!important;}
#contact-form{background:#fff!important;border:1px solid var(--tc-line);border-radius:0!important;box-shadow:0 30px 60px -40px rgba(10,92,62,.35)!important;outline:1px solid rgba(168,132,47,.35);outline-offset:8px;}
.form-label{font-size:10.5px!important;font-weight:600!important;letter-spacing:.22em!important;color:var(--tc-muted)!important;}
.form-input,.form-select,.form-textarea{border-radius:0!important;border:1px solid #DCD7CB!important;font-family:var(--tc-sans)!important;font-size:15px!important;color:var(--tc-ink);}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--tc-green)!important;box-shadow:0 0 0 3px rgba(10,92,62,.12)!important;}
.tc-results{background:#fff!important;}
.tc-ba__item{border-radius:0!important;box-shadow:none!important;background:#fff!important;border:1px solid var(--tc-line);padding:12px;aspect-ratio:auto!important;}
.tc-ba__img{aspect-ratio:4/3;height:auto!important;}
.tc-ba__label{top:24px!important;left:24px!important;border-radius:0!important;background:#fff!important;color:var(--tc-green)!important;font-weight:600!important;letter-spacing:.3em!important;border-left:2px solid var(--tc-gold-w);padding:8px 14px!important;}
.tc-ba__label--after{background:var(--tc-green)!important;color:#fff!important;border-left-color:var(--tc-gold)!important;}
.tc-ba figcaption,.tc-ba__caption{color:var(--tc-muted)!important;}
.job-gallery figure,.work-strip figure{border:1px solid var(--tc-line)!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;padding:10px;}
.job-gallery figcaption,.work-strip figcaption{background:#fff!important;border:0!important;color:var(--tc-muted)!important;padding:.7rem .2rem .2rem!important;}

/* ---------- Reviews component ---------- */
.tc-review{border-radius:0!important;box-shadow:none!important;border:1px solid var(--tc-line)!important;}
.tc-review__stars{color:var(--tc-gold-w)!important;}
.tc-reviews__cta p{font-family:var(--tc-serif)!important;text-transform:none!important;letter-spacing:0!important;font-size:28px!important;color:var(--tc-green)!important;}
.tc-rv-btn{border-radius:0!important;border:1px solid var(--tc-green)!important;color:var(--tc-green)!important;background:#fff!important;font-family:var(--tc-sans);font-size:11.5px!important;font-weight:600!important;letter-spacing:.2em!important;}
.tc-rv-btn:hover{background:var(--tc-green)!important;color:#fff!important;transform:none!important;}
.tc-rv-btn--primary{background:var(--tc-green)!important;color:#fff!important;}
.tc-rv-btn--primary:hover{background:#084A32!important;border-color:#084A32!important;}

/* ---------- Footer ---------- */
footer{background:var(--tc-green-ink)!important;color:rgba(255,255,255,.78)!important;}
footer .footer-top{border-bottom:1px solid rgba(201,162,74,.35)!important;}
footer .footer-logo,footer img.footer-logo{height:46px!important;width:auto!important;filter:none!important;margin-bottom:1.4rem!important;display:block;}
footer .footer-brand-name{color:#fff!important;}
footer .footer-gold-bar,footer .footer-sky-bar{width:64px!important;height:1px!important;background:var(--tc-gold)!important;}
footer p{color:rgba(255,255,255,.78);}
footer .footer-col h4{font-family:var(--tc-sans)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.3em!important;color:var(--tc-gold)!important;border-bottom:0!important;padding-bottom:0!important;}
footer .footer-col ul li a{color:rgba(255,255,255,.78)!important;font-size:14px!important;}
footer .footer-col ul li a:hover{color:#fff!important;}
footer .footer-address a{color:var(--tc-gold)!important;}
footer .footer-address a:hover{color:#fff!important;}
footer .footer-social a{border-radius:0!important;border:1px solid rgba(201,162,74,.6)!important;width:38px!important;height:38px!important;}
footer .footer-social a:hover{background:rgba(201,162,74,.12)!important;}
footer .footer-social svg{fill:var(--tc-gold)!important;}
footer .footer-bottom{color:rgba(255,255,255,.62)!important;letter-spacing:.05em;}

/* ---------- Mobile action bar (Call / Text / Quote / Book) ---------- */
@media (max-width:767.98px){
  .tc-actionbar{background:rgba(6,51,31,.98)!important;border-top:1px solid rgba(201,162,74,.55)!important;box-shadow:0 -10px 30px -12px rgba(6,51,31,.45)!important;padding:6px 6px calc(6px + env(safe-area-inset-bottom))!important;}
  .tc-actionbar a{border-radius:0!important;color:#fff!important;font-family:var(--tc-sans);font-size:10.5px!important;font-weight:600!important;letter-spacing:.14em!important;}
  .tc-actionbar a svg{stroke-width:1.6;color:var(--tc-gold);}
  .tc-actionbar a.tc-ab-quote{background:var(--tc-gold)!important;color:var(--tc-on-gold)!important;}
  .tc-actionbar a.tc-ab-quote svg{color:var(--tc-on-gold);}
  .tc-actionbar a:active{background:rgba(201,162,74,.15)!important;}
}

/* ---------- Window-cleaning pages: "Trusted by" panel ---------- */
div[style*="background:var(--black)"][style*="border-top:3px solid var(--gold)"]{background:var(--tc-green-deep)!important;border-top:1px solid var(--tc-gold)!important;}
div[style*="border-top:4px solid #C9A84C"]{border-top:2px solid var(--tc-gold)!important;}
a[style*="background:#C9A84C"]{background:var(--tc-gold)!important;color:var(--tc-on-gold)!important;font-family:var(--tc-sans);font-size:12px!important;font-weight:600!important;letter-spacing:.22em!important;}
h2[style*="color:#1a1a1a"],div[style*="Oswald"][style*="color:#1a1a1a"]{color:var(--tc-green)!important;}
div[style*="letter-spacing:4px"][style*="color:var(--gold)"]{font-size:11.5px!important;font-weight:600!important;letter-spacing:.32em!important;color:var(--tc-gold-w)!important;}

/* ghost/outline buttons that sit on a light background */
.btn-ghost[style*="color:var(--black)"],.btn-outline[style*="color:var(--black)"]{color:var(--tc-green)!important;border-color:var(--tc-green)!important;}
.btn-ghost[style*="color:var(--black)"]:hover,.btn-outline[style*="color:var(--black)"]:hover{background:var(--tc-green)!important;color:#fff!important;}

/* footer copy size */
footer .footer-top p{font-size:14px!important;line-height:1.8;max-width:330px;}
/* window-cleaning coupon game labels: Montserrat runs wider than the old body font */
div[style*="letter-spacing:2px"][style*="color:#C9A84C"]{letter-spacing:.12em!important;color:var(--tc-gold-w)!important;font-weight:600!important;}
@media (max-width:600px){div[style*="font-size:12px"][style*="letter-spacing:2px"][style*="color:#C9A84C"]{font-size:10px!important;}}
/* window-cleaning coupon form */
#couponEmail{font-family:var(--tc-sans)!important;border-color:var(--tc-gold-w)!important;}
button[onclick="claimCoupon()"]{font-family:var(--tc-sans)!important;background:var(--tc-gold)!important;color:var(--tc-on-gold)!important;font-size:12px!important;font-weight:600!important;letter-spacing:.2em!important;}
button[onclick="claimCoupon()"]:hover{background:var(--tc-gold-hover)!important;}
