/* DesignSystem 1.0.0 (owner, Oct 23): one button kit, one section/type system, one review card, one Why list, one CTA panel, case study template fixes, Explore block. Layout and styling only: no wording, prices, facts or review text. */
:root{--ds-ink:#1f2a2c;--ds-slate:#4E5F62;--ds-slate2:#455558;--ds-mint:#C7F4EC;--ds-cream:#F4F3EA;--ds-line:rgba(78,95,98,.14);--ds-muted:#56676a;--ds-gold:#E7A600}

/* ---------- 1. Buttons: one primary (mint) + one secondary (cream); :not(#ds) lifts these above older page rules ---------- */
html body main :is(a.button,a.button-4,.cc-band-btn,.hf-btn,.fac-btn,.pb-btn,.qc-submit,.chg-cs-more,.ck-btn):not(#ds),html body .c-cta :is(a.button,a.button-4):not(#ds){background:var(--ds-mint)!important;background-image:none!important;color:var(--ds-ink)!important;border:1px solid var(--ds-mint)!important;border-radius:10px!important;min-height:50px!important;box-sizing:border-box!important;padding-top:0!important;padding-bottom:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px;font-size:16px!important;font-weight:600!important;line-height:1.2!important;text-decoration:none!important;box-shadow:none!important;opacity:1!important}
html body main :is(a.button,a.button-4,.cc-band-btn,.hf-btn,.fac-btn,.pb-btn,.qc-submit,.chg-cs-more,.ck-btn):not(#ds) *{color:inherit!important}
html body main :is(a.button,a.button-4,.cc-band-btn,.hf-btn,.fac-btn,.pb-btn,.qc-submit,.chg-cs-more,.ck-btn):is([href^="tel:"],[href*="portal" i],.w-variant-a60b319a-4b2b-d94e-32e4-4a85bd826f79,.white,.ds-sec,.chg-cs-more,.ck-btn):not(#ds),html body main :is(a.button,a.button-4,.cc-band-btn,.hf-btn,.fac-btn,.pb-btn,.qc-submit,.chg-cs-more,.ck-btn)+:is(a.button,a.button-4,.cc-band-btn,.hf-btn,.fac-btn,.pb-btn,.qc-submit,.chg-cs-more,.ck-btn):not(#ds){background:var(--ds-cream)!important;border-color:var(--ds-cream)!important;color:var(--ds-ink)!important}
html body main :is(a.button,a.button-4,.cc-band-btn,.hf-btn,.fac-btn,.pb-btn,.qc-submit,.chg-cs-more,.ck-btn):not(#ds):hover{filter:brightness(.96)}
html body main :is(a.button,a.button-4,.cc-band-btn,.hf-btn,.fac-btn,.pb-btn,.qc-submit,.chg-cs-more,.ck-btn):not(#ds):focus-visible{outline:2px solid var(--ds-slate)!important;outline-offset:2px}
html body main .qc-submit:not(#ds){padding-left:24px!important;padding-right:24px!important}
@media (max-width:767px){html body main :is(a.button,a.button-4,.cc-band-btn,.hf-btn,.fac-btn,.pb-btn,.qc-submit,.chg-cs-more,.ck-btn):not(#ds){min-height:48px!important;font-size:15px!important}}
.nav_fixed a.button:not([href*="portal" i]):not(#ds){background:var(--ds-mint)!important;color:var(--ds-ink)!important;border-color:var(--ds-mint)!important;border-radius:10px!important}

/* phone sticky bar: Text (compact) · Call (secondary) · Get a Quote (primary) */
@media (max-width:991px){
 .chg-mobile-bar{display:flex!important;gap:8px!important;padding:8px max(12px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))!important;background:#fff!important;border-top:1px solid var(--ds-line)!important;box-shadow:0 -6px 18px rgba(31,42,44,.08)!important}
 .chg-mobile-bar .chg-mobile-bar__btn{flex:1 1 auto!important;min-width:0!important;min-height:48px!important;height:48px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 10px!important;border-radius:10px!important;border:1px solid var(--ds-cream)!important;background:var(--ds-cream)!important;color:var(--ds-ink)!important;font-size:15px!important;font-weight:600!important;line-height:1!important;white-space:nowrap!important;text-decoration:none!important;box-shadow:none!important}
 .chg-mobile-bar .chg-mobile-bar__btn[href^="sms:"]{flex:0 0 auto!important;padding:0 14px!important}
 .chg-mobile-bar .chg-mobile-bar__btn[href^="tel:"]{flex:1 1 auto!important}
 .chg-mobile-bar .chg-mobile-bar__quote{flex:0 0 auto!important;background:var(--ds-mint)!important;border-color:var(--ds-mint)!important;color:var(--ds-ink)!important;padding:0 14px!important}
}
@media (max-width:374px){.chg-mobile-bar .ds-num{display:none}.chg-mobile-bar .chg-mobile-bar__btn{font-size:14px!important}}

/* ---------- 5. Type and section system ---------- */
/* one H3 card size, card text at least 15px */
html body main :is(.c-grid-card,.c-card:not(.is-quote),.hf-card,.hf-box,.c-img-2c-cont__content,.rw-card,.chg-rv__card,.qc-panel) h3{font-size:18px!important;line-height:1.3!important;font-weight:600!important;letter-spacing:0!important}
html body main :is(.c-grid-card,.c-card:not(.is-quote),.hf-card,.hf-box,.rw-card) :is(p,li,.w-richtext p){font-size:15px!important;line-height:1.55!important}
/* content headings left; reviews, FAQ centred */
html body main :is(section.hf-svc,section.rw-section,section.section-box,section.chg-where,section.section:not(:has(.accordion)):not(:has(.c-cta))) :is(.hf-h,.hf-in>.hf-eb,.rw-head,.rw-head>*,.rw-title,.c-section-header:not(.testimonial._2-columns-2),.c-section-header>div,.c-section-header h2,.c-section-header .u-header-text,.chg-where>.padding-global h2,.chg-where h2,.w-richtext>h2:first-child){text-align:left!important;margin-left:0!important;margin-right:auto!important;justify-content:flex-start!important;align-items:flex-start!important}
html body main section.hf-svc .hf-in>:is(.hf-h,.hf-eb){max-width:none!important}
html body main section.chg-where .chg-where__list{margin-left:0!important;max-width:none!important}
html body main section.chg-where .chg-where__reg{margin-left:0!important;max-width:none!important;text-align:left!important}
/* section eyebrows: none in page bodies (hero tags and case study labels stay) */
html body main [data-ds-eb]{display:none!important}
/* white sheets become full-width bands */
html body main section.section-box:not(.projec-snapshot-wrapper){border-radius:0!important}
html body main section.projec-snapshot-wrapper{border-radius:20px!important}
/* step numbers: mint circle, dark number, everywhere */
html body main p.hf-num{background:var(--ds-mint)!important;color:var(--ds-ink)!important}
/* no textured boxes behind steps */
html body main section.section :is(.c-section-header.testimonial)~*,html body main section.section [class*="process"],html body main section.section .u-bg-lines{background-image:none!important}
html body main section.section:has(.c-grid_card__content.style-b) .container-large>div,html body main section.section:has(.c-grid_card__content.style-b) .container-large{background-image:none!important}
/* Clear Home "what to expect" cards: same white card as everywhere */
html body main :is(.c-grid-card,.c-card:not(.is-quote)){background:#fff!important;background-image:none!important;border:1px solid var(--ds-line)!important;border-radius:16px!important;box-shadow:none!important}
html body main .c-grid-card :is(.c-shade,.u-shade,.grad,.c-grid-card__bg){display:none!important}

/* ---------- 6. One review card (Clear Work, Clear Home, case studies) ---------- */
html body .chr-wrap{max-width:1200px!important}
html body .chr-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;overflow:visible!important;scroll-snap-type:none!important;padding:0!important}
html body .chr-card{flex:none!important;width:auto!important;background:#fff!important;border:1px solid var(--ds-line)!important;border-radius:16px!important;box-shadow:none!important;padding:22px!important;gap:12px!important;color:var(--ds-ink)!important}
html body .chr-card>.chr-stars{order:-1;color:var(--ds-gold)!important;font-size:17px!important;letter-spacing:2px!important;font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important}
html body .chr-card>.chr-text{order:0;font-size:16px!important;line-height:1.55!important;flex:1}
html body .chr-card>.chr-top{order:1;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:2px!important}
html body .chr-card .chr-name{font-size:14px!important;font-weight:600!important;color:var(--ds-ink)!important}
html body .chr-card .chr-g{font-size:13px!important;font-weight:400!important;color:var(--ds-muted)!important}
html body .chr-card:nth-child(n+7),html body .chr-nav{display:none!important}
html body .chg-rv__by{align-items:flex-start!important;text-align:left!important}
html body .chg-rv__card{text-align:left!important}
@media (max-width:991px){html body .chr-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:767px){html body .chr-row{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}html body .chr-card{padding:18px!important}html body .chr-card:nth-child(n+4){display:none!important}}
html body .c-card.is-quote.client-test{display:flex!important;flex-direction:column!important;gap:12px!important;background:#fff!important;border:1px solid var(--ds-line)!important;border-radius:16px!important;box-shadow:none!important;padding:22px!important;max-width:760px!important;margin:0 auto!important;text-align:left!important}
html body .c-card.is-quote.client-test .icon-google-stars{display:none!important}
html body .c-card.is-quote.client-test::before{content:"\2605\2605\2605\2605\2605";color:var(--ds-gold);font-size:17px;letter-spacing:2px;line-height:1;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
html body .c-card.is-quote.client-test .w-richtext p{font-size:16px!important;line-height:1.55!important;color:var(--ds-ink)!important;margin:0!important}
html body .c-card.is-quote.client-test .text-weight-bold{font-size:14px!important;font-weight:600!important;color:var(--ds-ink)!important}

html body main .rw-wrap{max-width:1200px!important;margin-left:auto!important;margin-right:auto!important}

/* ---------- 7. One Why list (both divisions): dot + bold title + one line ---------- */
html body main section.s-bg-shape .c-img-2c-cont__content .grid{display:flex!important;flex-direction:column!important;gap:14px!important}
html body main section.s-bg-shape .c-img-2c-cont__content .grid>div{position:static!important;padding:0!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important}
html body main section.s-bg-shape .c-img-2c-cont__content .grid>div::before{display:none!important;content:none!important}
html body main section.s-bg-shape .c-img-2c-cont__content .w-richtext{display:flex!important;flex-direction:column!important;gap:0!important}
html body main section.s-bg-shape .c-img-2c-cont__content :is(h3,.grid>div>.div:first-child,.grid>div>div:first-child:not(.w-richtext)):not(#ds){position:relative!important;padding:0 0 0 28px!important;margin:0!important;font-size:18px!important;line-height:1.3!important;font-weight:600!important;color:var(--ds-ink)!important;text-wrap:balance}
html body main section.s-bg-shape .c-img-2c-cont__content h3:not(:first-child):not(#ds){margin-top:14px!important}
html body main section.s-bg-shape .c-img-2c-cont__content :is(h3,.grid>div>.div:first-child,.grid>div>div:first-child:not(.w-richtext))::before{content:""!important;display:block!important;position:absolute!important;left:0!important;top:.2em!important;width:14px!important;height:14px!important;border-radius:50%!important;background:var(--ds-mint)!important;box-shadow:inset 0 0 0 4px var(--ds-slate)!important}
html body main section.s-bg-shape .c-img-2c-cont__content :is(.w-richtext p,.grid>div>.div+.div,.grid>div>div+div:not(.w-richtext)):not(#ds){font-size:15px!important;line-height:1.5!important;color:var(--ds-slate)!important;margin:4px 0 0!important;padding:0 0 0 28px!important}
html body main section.s-bg-shape .c-img-2c-cont__content :is(.grid>div>.div,.grid>div>div:not(.w-richtext)) *{font-size:inherit!important;line-height:inherit!important;color:inherit!important;font-weight:inherit!important;margin:0!important;padding:0!important}
html body main section.s-bg-shape .c-img-2c-cont__content :is(.grid>div>.div,.grid>div>div:not(.w-richtext)) *::before{display:none!important}

/* ---------- 8. One CTA panel: solid slate, left-aligned, photo edge to edge ---------- */
html body main .c-cta{background:var(--ds-slate2)!important;background-image:none!important;border-radius:20px!important;overflow:hidden!important}
html body main .c-cta .overlay-grad,html body main .c-cta [class*="grad"]{display:none!important}
html body main .c-cta .grid._2g{align-items:stretch!important}
html body main .c-cta .c-cta__side{text-align:left!important;align-items:flex-start!important;justify-content:center!important;padding:56px 56px!important}
html body main .c-cta .c-cta__side :is(h1,h2,h3,.w-richtext,.w-richtext>*,.u-header-text){color:#fff!important;text-align:left!important;margin-left:0!important;margin-right:0!important}
html body main .c-cta .c-cta__side :is(.button-group,.c-last-cta,.u-flex-row){justify-content:flex-start!important}
html body main .c-cta .cta-retest{color:rgba(255,255,255,.88)!important;text-align:left!important}
html body main .c-cta .cta-retest a{color:#fff!important;text-decoration:underline!important;text-decoration-color:var(--ds-mint)!important}
html body main .c-cta .cta-image-wrap{position:relative!important;min-height:340px!important;height:100%!important;margin:0!important}
html body main .c-cta .cta-image-wrap img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0!important;-webkit-mask-image:none!important;mask-image:none!important}
@media (max-width:767px){html body main .c-cta .c-cta__side{padding:32px 24px!important}html body main .c-cta .cta-image-wrap{min-height:200px!important;height:200px!important}html body main .c-cta .c-cta__side .button-group{width:100%}}
/* case study closing CTA: one slate panel, heading left, buttons in a row */
html body main section.case--cta{margin-bottom:48px!important;padding:0!important;min-height:0!important;border-radius:20px!important;background:var(--ds-slate2)!important}
html body main section.case--cta .padding-global{padding:0!important}
html body main section.case--cta .cta--colum{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;gap:24px 32px!important;padding:48px 56px!important;margin:0!important;min-height:0!important;background:none!important;border-radius:0!important}
html body main section.case--cta .cta--colum>.w-col{width:auto!important;float:none!important;padding:0!important;flex:1 1 360px}
html body main section.case--cta .cta--colum>.w-col:last-child{flex:0 0 auto}
html body main section.case--cta .cta--head{display:none!important}
html body main section.case--cta .cta-text h2{color:#fff!important;margin:0!important;text-align:left!important}
html body main section.case--cta .cta-bottom-btn{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:10px!important;justify-content:flex-start!important;align-items:center!important;margin:0!important}
@media (max-width:767px){html body main section.case--cta .cta--colum{padding:32px 24px!important}html body main section.case--cta .cta-bottom-btn{flex-direction:column!important;align-items:stretch!important;width:100%}}

/* ---------- 1 (case studies). Template fixes ---------- */
/* logos: contained on white, never cropped or upscaled */
html body [data-ds-logo]{background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important}
html body [data-ds-logo] img:not(#ds){padding:0!important;border:0!important;border-radius:0!important;object-fit:contain!important;width:auto!important;height:auto!important;max-width:62%!important;max-height:200px!important;position:static!important;inset:auto!important;transform:none!important;margin:auto!important;image-rendering:auto}
html body .img-frame-hero[data-ds-logo],html body .img-frame-hero:has([data-ds-logo]){background:#fff!important;border-radius:20px!important;aspect-ratio:4/3;max-width:100%}
html body .img-frame-hero [data-ds-logo]{aspect-ratio:4/3;height:auto!important;border-radius:20px!important}
/* snapshot: no empty columns */
html body .snapshot-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px 32px!important}
html body .snapshot-grid>div:has(>.w-dyn-bind-empty){display:none!important}
@media (max-width:767px){html body .snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}}
/* short sections sit tight, no empty space underneath */
html body main section.case--works .padding-section-medium{padding-top:48px!important;padding-bottom:48px!important}
html body main section.case--works :is(.c-section-header,.c-section-header>div,.div){margin-bottom:0!important;min-height:0!important;height:auto!important}
html body main section.case--works .c-section-header{display:block!important;max-width:760px!important;margin:0 auto!important;text-align:center!important}
html body main section.case--works .c-section-header>div+div{margin-top:12px!important}
html body main section.case--works .c-section-header>div,html body main section.case--works .c-section-header .div,html body main section.case--works .whythisworks,html body main section.case--works .whythisworks p{width:100%!important;max-width:none!important;text-align:center!important;margin-left:auto!important;margin-right:auto!important}
html body main section.case-challenge{padding-top:48px!important;padding-bottom:48px!important;min-height:0!important}
html body main section.case-result{padding-bottom:48px!important}
/* FAQ: same as every other FAQ, dark heading */
html body main section.case-clear .grid.case--faq{display:block!important;max-width:880px!important;margin:0 auto!important}
html body main section.case-clear .u-sticky{position:static!important;text-align:center!important;margin-bottom:24px!important;width:auto!important;max-width:none!important}
html body main section.case-clear :is(.faq--heading,.faq--heading .u-header-text){color:var(--ds-ink)!important;text-align:center!important}
/* case study cards on /case-studies: logos on white at one optical size */
html body .case--card [data-ds-logo]{aspect-ratio:16/10}
html body :is(.case--card,.blog--listing,.rw-card) [data-ds-logo] img:not(#ds){max-width:62%!important;max-height:84px!important}

/* ---------- 4. Explore: one tidy block per page ---------- */
html body main [data-ds-moved]{display:none!important}
.ds-explore{padding:48px 0 8px}
.ds-explore__in{max-width:1200px;margin:0 auto;padding:28px 0 0;border-top:1px solid var(--ds-line)}
html body main .ds-explore .ds-explore__h:not(#ds){margin:0 0 18px!important;font-size:12px!important;line-height:1.4!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--ds-slate)!important;text-align:left!important}
.ds-explore__cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 32px}@media (max-width:991px){.ds-explore__cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
html body main .ds-explore__col h3:not(#ds){margin:0 0 8px!important;font-size:14px!important;line-height:1.4!important;font-weight:600!important;color:var(--ds-ink)!important;letter-spacing:0!important;text-transform:none!important}
.ds-explore__col ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.ds-explore__col li{margin:0;padding:0}
.ds-explore__col a{display:inline-flex;align-items:center;min-height:32px;font-size:15px;line-height:1.4;color:var(--ds-slate)!important;text-decoration:none!important}
.ds-explore__col a:hover,.ds-explore__col a:focus-visible{color:var(--ds-ink)!important;text-decoration:underline!important;text-underline-offset:3px}
.ds-explore__col a::first-letter{text-transform:uppercase}
.ds-explore__col a.ds-all{font-weight:600;color:var(--ds-ink)!important}
@media (max-width:767px){.ds-explore{padding:32px 0 0}.ds-explore__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.ds-explore__col a{min-height:44px}}

/* ---------- logos: Clear Home pages swap before paint ---------- */
html[data-ds-home] .c-brand img.img-logo:not([data-ds-done]){visibility:hidden;animation:ds-show 0s 1.5s forwards}@keyframes ds-show{to{visibility:visible}}

/* ---------- one content width (1200) and one reading width (880, left-aligned) ---------- */
html body main section:not(.c-hero) .container-large:not(#ds){max-width:1200px!important;margin-left:auto!important;margin-right:auto!important}
html[data-intro] body main>section.section:has(.img-frame):has(.w-richtext h2):not(:has(.c-cta)) .grid>div:not(#ds){margin-left:0!important;max-width:880px!important}
html body main .c-box:has(.c-grid-card):not(#ds){background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important}
html body main .c-box:has(.c-grid-card) .c-section-header{margin-left:0!important}
html body main .c-box:has(.c-grid-card) :is(.button-group,.c-last-cta){justify-content:flex-start!important}
html body main section.chs :is(h2,h2 *):not(#ds){color:var(--ds-ink)!important}

/* card titles in ink, no rounded sheets anywhere in page bodies */
html body main :is(.c-grid-card,.c-card:not(.is-quote)) :is(h3,[class*="title"]):not(#ds){color:var(--ds-ink)!important}
html body main>section:not(.c-hero):not(.projec-snapshot-wrapper):not(.case--cta):not(#ds){border-radius:0!important}

/* ---------- small details ---------- */
.c-footer .text-color-alternate.u-flex-row.align-center:not(#ds){column-gap:16px!important;row-gap:2px!important;flex-wrap:wrap!important}
.c-footer .text-color-alternate.u-flex-row.align-center>div:is(:nth-child(2),:nth-child(4),:nth-child(6)):not(#ds){display:none!important}
.c-footer .c-footer__brand-date>div:first-child+.current-year{margin-left:calc(-.5rem + .3em)!important}
@media (max-width:767px){.c-footer .c-footer__brand-date>div:nth-child(3){flex:1 0 auto!important}}
html body .chg-trust-pipe-end{display:none}
