/* CleanHouse Widget Styles v2.0 */
:root { --ch-navy:#0b2348; --ch-accent:#2f74ff; }

.chs-quote-hero { --chs-quote-bg:#f5f8ff; background:var(--chs-quote-bg); color:var(--ch-navy); overflow:hidden; }
.chs-quote-hero__inner { width:100%; max-width:80rem; margin-inline:auto; padding:clamp(2.5rem,6vw,5.5rem) clamp(1.25rem,4vw,3rem); display:grid; gap:clamp(2rem,5vw,5rem); align-items:center; }
.chs-quote-hero__content { min-width:0; }
.chs-quote-hero__breadcrumb { display:flex; flex-wrap:wrap; gap:.5rem; color:#637188; font-size:.8125rem; font-weight:700; margin-bottom:1.5rem; }
.chs-quote-hero__breadcrumb span:last-child { color:var(--ch-navy); }
.chs-quote-hero__heading { max-width:11ch; color:var(--ch-navy); font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.5rem,5vw,4.75rem); font-weight:700; line-height:1.02; letter-spacing:0; margin:0; }
.chs-quote-hero__subtext { max-width:42ch; color:#637188; font-size:1rem; line-height:1.7; margin:1.25rem 0 1.5rem; }
.chs-quote-hero__form { max-width:42rem; padding:1.25rem; border:1px solid #dce6f1; border-radius:1rem; background:#fff; box-shadow:0 18px 50px -30px rgba(11,35,72,.35); }
.chs-quote-hero__fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.chs-quote-hero .ch-field { min-width:0; }
.chs-quote-hero .ch-label { display:block; color:var(--ch-navy); font-size:.75rem; font-weight:700; margin-bottom:.375rem; }
.chs-quote-hero .ch-input { width:100%; min-height:2.75rem; box-sizing:border-box; border:1px solid #cbd8e8; border-radius:.5rem; background:#fff; color:var(--ch-navy); padding:.625rem .75rem; }
.chs-quote-hero .ch-input:focus { outline:2px solid rgb(47 116 255/.25); border-color:var(--ch-accent); }
.chs-quote-hero .ch-btn { margin-top:.25rem; }
.chs-quote-hero__trust { display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; list-style:none; padding:0; margin:1.25rem 0 0; color:#637188; font-size:.8125rem; font-weight:700; }
.chs-quote-hero__trust li { display:flex; align-items:center; gap:.375rem; }
.chs-quote-hero__trust li span { display:grid; place-items:center; width:1.125rem; height:1.125rem; border-radius:50%; background:#dff5e8; color:#15803d; font-size:.75rem; }
.chs-quote-hero__media { min-width:0; position:relative; border-radius:1.5rem; overflow:hidden; box-shadow:0 24px 64px -24px rgba(11,35,72,.45); }
.chs-quote-hero__media img { display:block; width:100%; height:clamp(24rem,42vw,37rem); object-fit:cover; }
.chs-quote-hero__badge { position:absolute; top:1.25rem; left:1.25rem; display:grid; place-items:center; width:7rem; height:7rem; padding:1rem; box-sizing:border-box; color:var(--ch-navy); background:#b9e4ff; font-size:.875rem; font-weight:900; line-height:1.1; text-align:center; transform:rotate(-8deg); clip-path:polygon(50% 0%,61% 10%,75% 5%,82% 19%,97% 25%,91% 40%,100% 52%,89% 62%,94% 77%,78% 81%,72% 96%,57% 89%,45% 100%,35% 88%,20% 94%,16% 78%,2% 72%,9% 57%,0% 44%,11% 33%,5% 18%,21% 15%,29% 2%); }
.chs-quote-hero--dark { --chs-quote-bg:#0f1729; color:#e8eef8; }
.chs-quote-hero--dark .chs-quote-hero__heading, .chs-quote-hero--dark .chs-quote-hero__breadcrumb span:last-child, .chs-quote-hero--dark .chs-quote-hero .ch-label { color:#fff; }
.chs-quote-hero--dark .chs-quote-hero__subtext, .chs-quote-hero--dark .chs-quote-hero__breadcrumb, .chs-quote-hero--dark .chs-quote-hero__trust { color:#8aa0bc; }
.chs-quote-hero--dark .chs-quote-hero__form { background:#17233a; border-color:#263858; }
.chs-quote-hero--dark .chs-quote-hero .ch-input { background:#0f1729; border-color:#344967; color:#fff; }
@media(min-width:900px){ .chs-quote-hero__inner { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); } }
@media(max-width:639px){ .chs-quote-hero__fields { grid-template-columns:1fr; } .chs-quote-hero__form { padding:1rem; } .chs-quote-hero__badge { width:6rem; height:6rem; font-size:.75rem; } }

.chs-features-four,.chs-content-fifty,.chs-content-image-left,.chs-content-features{color:var(--ch-ink, #172033)}
.chs-features-four--light,.chs-content-fifty--light,.chs-content-image-left--light,.chs-content-features--light{background:var(--ch-page, #f5f8fc)}
.chs-features-four--dark,.chs-content-fifty--dark,.chs-content-image-left--dark,.chs-content-features--dark{background:var(--ch-page, #0f1729);color:#e8eef8}
.chs-content-image-left{--chs-content-surface:rgba(255,255,255,.8);--chs-content-soft:var(--ch-page, #f5f8fc);--chs-content-text:var(--ch-ink, #172033);--chs-content-body:var(--ch-muted, #637188);--chs-content-border:var(--ch-line, #dce6f1);--chs-content-heading:var(--ch-ink, #172033);background:var(--chs-content-soft);color:var(--chs-content-text)}
.chs-content-image-left--light{background:var(--ch-page, #f5f8fc);color:var(--ch-ink, #172033)}
.dark .chs-content-image-left,
.chs-content-image-left--dark{--chs-content-surface:rgba(15,23,41,.9);--chs-content-soft:#0f1729;--chs-content-text:#e8eef8;--chs-content-body:#8aa0bc;--chs-content-border:#263858;--chs-content-heading:#fff;background:var(--chs-content-soft);color:var(--chs-content-text)}
.chs-content-image-left--custom-light{background:linear-gradient(135deg, var(--ch-page, #f5f8ff) 0%, #ffffff 52%, #edf4ff 100%)}
.chs-features-four__head{text-align:center;max-width:48rem;margin:0 auto 2.5rem}
.chs-features-four__head h2,.chs-content-fifty h2,.chs-content-image-left__title,.chs-content-features h2{margin:0 0 .75rem;color:var(--chs-content-heading, var(--ch-navy));font-size:clamp(1.75rem,3vw,2.5rem);font-weight:900;line-height:1.15}
.chs-features-four__head p{margin:0;color:var(--ch-muted, #637188);line-height:1.7}
.chs-features-four__grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}
.chs-features-four__card{padding:1.5rem;border:1px solid #dce6f1;border-radius:1rem;background:#fff;transition:transform .2s,box-shadow .2s}
.chs-features-four__card:hover{transform:translateY(-3px);box-shadow:0 12px 32px -12px rgba(47,116,255,.2)}
.chs-features-four__icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;margin-bottom:1rem;border-radius:.75rem;background:#eff6ff;color:var(--ch-accent);font-size:1.25rem}
.chs-features-four__card h3{margin:0 0 .5rem;color:var(--ch-navy);font-size:1rem;font-weight:800}
.chs-features-four__card p{margin:0;color:#637188;font-size:.875rem;line-height:1.65}
.chs-content-fifty__inner,.chs-content-image-left__inner,.chs-content-features__inner{display:grid;gap:clamp(2rem,5vw,5rem);align-items:center;padding-top:clamp(2.5rem,6vw,5rem);padding-bottom:clamp(2.5rem,6vw,5rem)}
.chs-content-fifty__content,.chs-content-image-left__content,.chs-content-features__content{min-width:0}
.chs-content-fifty__eyebrow,.chs-content-image-left__eyebrow,.chs-content-features__eyebrow{margin-bottom:.75rem;color:var(--ch-accent);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.chs-content-fifty__body,.chs-content-image-left__body,.chs-content-features__body{margin-bottom:1.5rem;color:#637188;line-height:1.75}
.chs-content-image-left--dark .chs-content-image-left__eyebrow{color:rgb(186 220 255)}
.chs-content-image-left--dark .chs-content-image-left__body,.chs-content-image-left--dark .chs-content-image-left__body p{color:#8aa0bc}
.chs-content-image-left__media{overflow:hidden;border-radius:1.25rem;box-shadow:0 20px 50px -24px rgba(11,35,72,.4)}
.chs-content-image-left__media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.chs-content-features__list{display:grid;gap:1rem}
.chs-content-features__item{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;border:1px solid #dce6f1;border-radius:1rem;background:#fff}
.chs-content-features__item>i{flex:0 0 auto;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.75rem;background:#eff6ff;color:var(--ch-accent);font-size:1.1rem}
.chs-content-features__item>i svg{width:1.1rem;height:1.1rem;stroke-width:2.2}
.chs-content-features__item h3{margin:0 0 .375rem;color:var(--ch-navy);font-size:1rem;font-weight:800}
.chs-content-features__item p{margin:0;color:#637188;font-size:.875rem;line-height:1.6}
.chs-features-four--dark h2,.chs-content-fifty--dark h2,.chs-content-image-left--dark h2,.chs-content-features--dark h2,.chs-features-four--dark .chs-features-four__card h3,.chs-content-features--dark .chs-content-features__item h3{color:#fff}
.chs-features-four--dark .chs-features-four__head p,.chs-features-four--dark .chs-features-four__card p,.chs-content-fifty--dark .chs-content-fifty__body,.chs-content-image-left--dark .chs-content-image-left__body,.chs-content-features--dark .chs-content-features__body,.chs-content-features--dark .chs-content-features__item p{color:#8aa0bc}
.chs-features-four--dark .chs-features-four__card,.chs-content-features--dark .chs-content-features__item{background:#17233a;border-color:#263858}
.chs-features-four--dark .chs-features-four__icon,.chs-content-features--dark .chs-content-features__item>i{background:rgba(47,116,255,.15)}
@media(min-width:768px){.chs-features-four__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chs-content-fifty__inner,.chs-content-image-left__inner{grid-template-columns:repeat(2,minmax(0,1fr))}.chs-content-features__inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.chs-content-image-left--image-right .chs-content-image-left__media{order:2}.chs-content-image-left--image-right .chs-content-image-left__content{order:1}}
@media(min-width:1024px){.chs-features-four__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Container and spacing utilities */
.container-x{width:100%;max-width:80rem;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}
.py-14{padding-top:3.5rem;padding-bottom:3.5rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
@media(max-width:767px){.py-14{padding-top:2rem;padding-bottom:2rem}.py-16{padding-top:2.5rem;padding-bottom:2.5rem}}

/* Grid system */
.ch-grid { display:grid; gap:1.25rem; }
.ch-grid--2 { grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); }
.ch-grid--3 { grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); }
.ch-grid--4 { grid-template-columns: repeat(auto-fill, minmax(200px,1fr)); }
.ch-grid--5 { grid-template-columns: repeat(auto-fill, minmax(160px,1fr)); }
.ch-grid--6 { grid-template-columns: repeat(auto-fill, minmax(140px,1fr)); }
@media(min-width:1024px){
  .ch-grid--2{grid-template-columns:repeat(2,1fr)}
  .ch-grid--3{grid-template-columns:repeat(3,1fr)}
  .ch-grid--4{grid-template-columns:repeat(4,1fr)}
  .ch-grid--5{grid-template-columns:repeat(5,1fr)}
  .ch-grid--6{grid-template-columns:repeat(6,1fr)}
}

/* Hero widget */
.ch-hero { position:relative; overflow:hidden; isolation:isolate; width:100%; background:linear-gradient(180deg, var(--ch-page, #f5f8ff) 0%, #edf4ff 100%); color:var(--ch-ink, #172033); }
.dark .ch-hero { background:linear-gradient(180deg, #0a1220 0%, #0f1729 100%) !important; }
.ch-hero .ch-container { position:relative; z-index:1; display:grid; gap:2.5rem; padding-top:3.5rem; padding-bottom:3.5rem; max-width:80rem; margin-inline:auto; padding-inline:clamp(1.25rem,4vw,3rem) }
.ch-hero__backdrop { position:absolute; inset:0; background:rgba(255,255,255,.3); z-index:0 }
.dark .ch-hero__backdrop { background:rgba(8,14,27,.38); }
@media(min-width:1024px){ .ch-hero .ch-container { grid-template-columns:1.1fr .9fr; align-items:center } }
.ch-hero__heading { font-size:clamp(2.25rem,5vw,3.5rem); font-weight:900; line-height:1.1; margin:.75rem 0 0; color:var(--ch-navy,#0b2348) }
.dark .ch-hero__heading { color:#fff }
.ch-hero__sub { font-size:1.125rem; line-height:1.75; color:var(--ch-muted,#637188); margin:1.25rem 0 0; max-width:42ch }
.dark .ch-hero__sub { color:#c6d4ef }
.ch-hero__image { border-radius:2rem; overflow:hidden; box-shadow:0 24px 64px -12px rgb(0 0 0/.25) }
.ch-hero__image img { width:100%; height:460px; object-fit:cover }
.ch-badge { display:inline-flex; align-items:center; gap:.5rem; background:rgba(47,116,255,.08); color:var(--ch-accent,#2f74ff); border:1px solid rgba(47,116,255,.16); font-size:.75rem; font-weight:700; padding:.375rem .875rem; border-radius:999px; margin:0 0 .875rem }
.ch-badge i, .ch-trust-badge i { width:1rem; height:1rem; flex-shrink:0; }
.ch-badge svg, .ch-trust-badge svg { width:1rem; height:1rem; stroke-width:2.2; }
.dark .ch-badge { background:rgba(47,116,255,.14); border-color:rgba(147,182,255,.28); color:#dfeaff; }
.ch-btn-group { display:flex; flex-wrap:wrap; gap:.75rem }
.ch-trust-badges { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.6rem }
.ch-trust-badge { display:inline-flex; align-items:center; gap:.5rem; border:1px solid rgba(47,116,255,.12); background:rgba(255,255,255,.9); color:var(--ch-ink,#0b2348); padding:.375rem .875rem; border-radius:999px; font-size:.8125rem; font-weight:600 }
.ch-trust-badge i { color:var(--ch-accent,#2f74ff) }
.dark .ch-trust-badge { background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.12); color:#edf4ff }
.dark .ch-trust-badge i { color:#9ec2ff }

/* Service card */
.ch-service-card { border-radius:1.5rem; border:1px solid #dce6f1; background:#fff; overflow:hidden; transition:transform .25s,box-shadow .25s }
.ch-service-card:hover { transform:translateY(-3px); box-shadow:0 16px 40px -8px rgb(0 0 0/.15) }
.ch-service-card a { display:block; text-decoration:none; color:inherit }
.ch-card__img { position:relative; aspect-ratio:16/10; overflow:hidden }
.ch-card__img img { width:100%; height:100%; object-fit:cover; transition:transform .6s }
.ch-service-card:hover .ch-card__img img { transform:scale(1.05) }
.ch-card__img-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgb(0 0 0/.6),transparent); display:flex; align-items:flex-end; padding:1rem }
.ch-card__img-overlay h3 { color:#fff; font-size:1.125rem; font-weight:900; margin:0 }
.ch-card__body { padding:1.25rem 1.25rem .5rem }
.ch-card__body h3 { font-size:1.125rem; font-weight:900; color:var(--ch-navy); margin:0 }
.ch-card__footer { padding:.875rem 1.25rem 1.25rem }
.ch-card__footer p { font-size:.875rem; line-height:1.6; color:#637188; margin:0 0 .75rem }
.ch-card__meta { display:flex; align-items:center; justify-content:space-between; gap:.5rem }
.ch-card__price { font-size:.875rem; font-weight:700; color:var(--ch-accent) }
.ch-card__price small { font-weight:400; color:#637188 }
.ch-card__more { font-size:.875rem; font-weight:700; color:var(--ch-accent) }

/* City card */
.chs-cities-grid__head { margin-bottom:2.5rem; text-align:center }
.chs-cities-grid__title { margin:0 0 .75rem; color:var(--ch-navy); font-size:clamp(1.75rem,3vw,2.5rem); font-weight:900; line-height:1.15 }
.chs-cities-grid__description { max-width:48rem; margin:0 auto; color:#637188; line-height:1.7 }
.ch-grid--list { grid-template-columns:1fr !important }
.ch-city-card { display:flex; align-items:center; gap:.75rem; border-radius:1rem; border:1px solid #dce6f1; background:#fff; padding:.875rem 1rem; text-decoration:none; color:inherit; transition:border-color .2s,transform .2s,box-shadow .2s }
.ch-city-card:hover { border-color:var(--ch-accent); transform:translateY(-2px); box-shadow:0 8px 24px -6px rgb(47 116 255/.2) }
.ch-city-card__icon { font-size:1.25rem; width:2.25rem; height:2.25rem; display:grid; place-items:center; border-radius:.625rem; background:#eff6ff; flex-shrink:0 }
.ch-city-card__image { display:block; width:3.5rem; height:3.5rem; flex:0 0 3.5rem; overflow:hidden; border-radius:.75rem; background:#eff6ff }
.ch-city-card__image img { display:block; width:100%; height:100%; object-fit:cover }
.ch-city-card__content { min-width:0; flex:1 }
.ch-city-card strong { display:block; font-size:.9375rem; font-weight:700; color:var(--ch-navy) }
.ch-city-card small { display:block; font-size:.75rem; color:#637188 }
.ch-city-card__excerpt { margin-top:.375rem; line-height:1.5 }
.ch-city-card__services { display:flex; flex-wrap:wrap; gap:.375rem; margin-top:.625rem }
.ch-city-card__services span { border-radius:999px; background:#eff6ff; color:var(--ch-accent); padding:.25rem .5rem; font-size:.6875rem; font-weight:700; line-height:1.2 }
.ch-city-card--bordered { border-width:2px }
.ch-city-card--elevated { border-color:transparent; box-shadow:0 10px 30px -14px rgba(11,35,72,.35) }
.ch-city-card--list { border-radius:.5rem; padding:1rem 1.25rem }
.ch-grid--list .ch-city-card--list { border-width:0 0 1px; border-radius:0; box-shadow:none; background:transparent }
.dark .chs-cities-grid__title { color:#fff }
.dark .chs-cities-grid__description { color:#8aa0bc }
.dark .ch-city-card { background:#0f1729; border-color:#263858 }
.dark .ch-city-card strong { color:#fff }
.dark .ch-city-card small { color:#8aa0bc }
.dark .ch-city-card__services span { background:rgba(47,116,255,.15); color:#8fb5ff }
.dark .elementor-widget-chs-faq { background-color:#0f1729 !important }

/* FAQ */
.chs-services-grid__head { margin-bottom:2.5rem;text-align:center }
.chs-services-grid__title { font-size:clamp(1.75rem,3vw,2.5rem); font-weight:900; color:var(--ch-navy); margin:0 0 .75rem }
.dark .chs-services-grid__title { color:#fff }
.chs-services-grid__description { margin:0; color:#637188; line-height:1.7; max-width:48rem; margin-inline:auto }
.ch-faq { display:flex; flex-direction:column; gap:1rem }
.ch-faq--2col { display:grid; grid-template-columns:repeat(1,minmax(0,1fr)); gap:1rem }
@media(min-width:768px){ .ch-faq--2col { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.ch-faq--with-layout-image{display:grid;gap:2rem;align-items:start}
@media(min-width:768px){.ch-faq--with-layout-image{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.ch-faq--with-layout-image{grid-template-columns:45% 1fr}}
.ch-faq--image-right .ch-faq__layout-image{order:2}
.ch-faq--image-right .ch-faq__items{order:1}
.ch-faq__layout-image{position:sticky;top:2rem;border-radius:1.5rem;overflow:hidden;box-shadow:0 20px 60px -20px rgba(11,35,72,.3)}
.ch-faq__layout-image img{width:100%;height:auto;display:block;object-fit:cover;border-radius:1.5rem}
.ch-faq__items{display:flex;flex-direction:column;gap:1rem}
.ch-faq--2col .ch-faq__items{grid-column:1/-1;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}
@media(min-width:768px){.ch-faq--2col .ch-faq__items{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ch-faq__item { display:flex; flex-direction:column; border-radius:1.25rem; border:1px solid #dce6f1; background:#fff; overflow:hidden; transition:border-color .2s,box-shadow .2s }
.dark .ch-faq__item{background:#0f1729;border-color:#1a2540}
.ch-faq__item:hover,.ch-faq__item.is-open{border-color:#b8d0f5;box-shadow:0 8px 24px -8px rgba(47,116,255,.15)}
.ch-faq__item--has-image{flex-direction:row;align-items:stretch}
@media(max-width:767px){.ch-faq__item--has-image{flex-direction:column}}
.ch-faq__image{flex-shrink:0;width:200px;overflow:hidden;border-right:1px solid #dce6f1}
@media(max-width:767px){.ch-faq__image{width:100%;max-height:220px;border-right:none;border-bottom:1px solid #dce6f1}}
.dark .ch-faq__image{border-color:#1a2540}
.ch-faq__image img{width:100%;height:100%;object-fit:cover;display:block}
.ch-faq__content{flex:1;min-width:0}
.ch-faq__btn { width:100%; text-align:left; padding:1.5rem; background:none; border:none; font-size:1.0625rem; font-weight:700; color:var(--ch-navy); cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem; transition:color .2s }
.dark .ch-faq__btn{color:#fff}
.ch-faq__icon { width:2rem; height:2rem; border-radius:50%; background:#eff6ff; display:grid; place-items:center; font-size:1.25rem; color:var(--ch-accent); transition:transform .25s; flex-shrink:0 }
.dark .ch-faq__icon{background:rgba(47,116,255,.15)}
.ch-faq__item.is-open .ch-faq__icon { transform:rotate(45deg) }
.ch-faq__body { padding:0 1.5rem 1.5rem; color:#637188; line-height:1.7; font-size:.9375rem }
.dark .ch-faq__body{color:#8aa0bc}
.chs-faq__head { margin-bottom:2rem;text-align:center }
.chs-faq__title { margin:0 0 .75rem; font-size:clamp(1.75rem,3vw,2.5rem); font-weight:900; color:var(--ch-navy) }
.dark .chs-faq__title { color:#fff }
.chs-faq__description { margin:0; color:#637188; line-height:1.7; max-width:48rem; margin-inline:auto }

/* Contact info */
.chs-contact-info { --chs-contact-surface:#ffffff; --chs-contact-row:#ffffff; --chs-contact-border:#e3e9f1; --chs-contact-text:#0b2348; --chs-contact-muted:#5e6d82; width:100%; padding:clamp(1.25rem,3vw,2.25rem); border:1px solid var(--chs-contact-border); border-radius:1.25rem; background:#f7f9fc; color:var(--chs-contact-text); box-shadow:0 16px 36px -28px rgba(11,35,72,.55) }
.chs-contact-info--dark { --chs-contact-surface:#0f1729; --chs-contact-row:#121e34; --chs-contact-border:#1e2a3e; --chs-contact-text:#e8eef8; --chs-contact-muted:#9aabc1; background:var(--chs-contact-surface); box-shadow:0 18px 45px -30px rgba(0,0,0,.7) }
.chs-contact-info__head { margin-bottom:1.5rem; padding-bottom:1.25rem; border-bottom:1px solid var(--chs-contact-border) }
.chs-contact-info__title { margin:0 0 .5rem; color:var(--chs-contact-text); font-size:clamp(1.5rem,2.5vw,2rem); font-weight:900; line-height:1.15 }
.chs-contact-info__description { max-width:38rem; margin:0; color:var(--chs-contact-muted); line-height:1.65 }
.chs-contact-info__items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem }
.chs-contact-info--stacked .chs-contact-info__items { grid-template-columns:1fr }
.chs-contact-info__item { display:flex; align-items:flex-start; gap:.875rem; min-width:0; padding:1rem; border:1px solid var(--chs-contact-border); border-radius:.875rem; background:var(--chs-contact-row); box-shadow:0 4px 12px -10px rgba(11,35,72,.35); transition:border-color .2s,box-shadow .2s,transform .2s }
.chs-contact-info__item:hover { border-color:#9bbcf1; box-shadow:0 10px 22px -16px rgba(47,116,255,.55); transform:translateY(-2px) }
.chs-contact-info--dark .chs-contact-info__item:hover { border-color:#31548a; box-shadow:none }
.chs-contact-info__icon { display:grid; place-items:center; width:2.5rem; height:2.5rem; flex:0 0 2.5rem; border:1px solid #c9dcfb; border-radius:.75rem; background:#eaf2ff; color:var(--ch-navy); font-size:.9375rem }
.chs-contact-info--dark .chs-contact-info__icon { border-color:#31548a; background:rgba(47,116,255,.16); color:#cfe0ff }
.chs-contact-info__copy { min-width:0; display:flex; flex-direction:column; gap:.25rem }
.chs-contact-info__label { color:var(--chs-contact-muted); font-size:.75rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase }
.chs-contact-info__value { color:var(--chs-contact-text); font-size:.9375rem; line-height:1.45; overflow-wrap:anywhere; text-decoration:none }
.chs-contact-info__value:hover,.chs-contact-info__value:focus-visible { color:var(--ch-accent); text-decoration:underline; text-underline-offset:.2em }
.chs-contact-info__social { display:flex; flex-wrap:wrap; gap:.625rem; margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--chs-contact-border) }
.chs-contact-info__social-link { display:inline-flex; align-items:center; gap:.5rem; padding:.5rem .75rem; border:1px solid var(--chs-contact-border); border-radius:.625rem; color:var(--chs-contact-text); font-size:.8125rem; font-weight:700; text-decoration:none; transition:background .2s,border-color .2s,color .2s,transform .2s }
.chs-contact-info__social-link:hover,.chs-contact-info__social-link:focus-visible { border-color:var(--ch-accent); background:var(--ch-accent); color:#fff; transform:translateY(-2px) }
.chs-contact-info__value:focus-visible,.chs-contact-info__social-link:focus-visible { outline:3px solid rgb(47 116 255/.28); outline-offset:3px }
@media(max-width:639px){ .chs-contact-info { padding:1.25rem } .chs-contact-info__items { grid-template-columns:1fr } }

/* Contact panel */
.chs-contact-panel { --chs-panel-surface:#fff; --chs-panel-soft:#f5f8fc; --chs-panel-border:var(--ch-line); --chs-panel-text:var(--ch-ink); --chs-panel-muted:var(--ch-muted); display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(1.5rem,4vw,4rem); width:100%; padding:clamp(1.25rem,4vw,3rem); border:1px solid var(--chs-panel-border); border-radius:1.5rem; background:var(--chs-panel-soft); color:var(--chs-panel-text); box-shadow:var(--ch-shadow-lg) }
.chs-contact-panel--dark { --chs-panel-surface:#0f1729; --chs-panel-soft:#0b1323; --chs-panel-border:#1e2a3e; --chs-panel-text:#e4eaf6; --chs-panel-muted:#9aabc1 }
.chs-contact-panel__info { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:clamp(.25rem,2vw,1rem) 0 }
.chs-contact-panel__title { margin:0 0 .75rem; color:var(--chs-panel-text); font-size:clamp(1.75rem,3.5vw,2.75rem); font-weight:900; line-height:1.05 }
.chs-contact-panel__description { max-width:34rem; margin:0; color:var(--chs-panel-muted); font-size:1rem; line-height:1.7 }
.chs-contact-panel__details { display:grid; gap:.75rem; margin-top:2rem }
.chs-contact-panel__detail { display:flex; align-items:flex-start; gap:.875rem; min-width:0 }
.chs-contact-panel__icon { display:grid; place-items:center; width:2.5rem; height:2.5rem; flex:0 0 2.5rem; border:1px solid #c9dcfb; border-radius:.75rem; background:#eaf2ff; color:var(--ch-navy); font-size:.875rem }
.chs-contact-panel--dark .chs-contact-panel__icon { border-color:#31548a; background:rgba(47,116,255,.16); color:#cfe0ff }
.chs-contact-panel__label { display:block; color:var(--chs-panel-muted); font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase }
.chs-contact-panel__value { display:block; margin-top:.2rem; color:var(--chs-panel-text); font-size:.9375rem; line-height:1.45; overflow-wrap:anywhere; text-decoration:none }
.chs-contact-panel__value:hover,.chs-contact-panel__value:focus-visible { color:var(--ch-accent); text-decoration:underline; text-underline-offset:.2em }
.chs-contact-panel__note { display:flex; align-items:center; gap:.5rem; margin:1.75rem 0 0; color:var(--chs-panel-muted); font-size:.8125rem }
.chs-contact-panel__note i { color:#20a464 }
.chs-contact-panel__social { display:flex; gap:.5rem; margin-top:1.5rem }
.chs-contact-panel__social a { display:grid; place-items:center; width:2.25rem; height:2.25rem; border:1px solid var(--chs-panel-border); border-radius:.625rem; color:var(--chs-panel-muted); text-decoration:none; transition:background var(--ch-ease),border-color var(--ch-ease),color var(--ch-ease),transform var(--ch-ease) }
.chs-contact-panel__social a:hover,.chs-contact-panel__social a:focus-visible { border-color:var(--ch-accent); background:var(--ch-accent); color:#fff; transform:translateY(-2px) }
.chs-contact-panel__form-wrap { min-width:0; padding:clamp(1.25rem,3vw,2rem); border:1px solid var(--chs-panel-border); border-radius:1.125rem; background:var(--chs-panel-surface); box-shadow:0 12px 28px -24px rgba(11,35,72,.5) }
.chs-contact-panel--dark .chs-contact-panel__form-wrap { box-shadow:none }
.chs-contact-panel__form-title { margin:0 0 1.25rem; color:var(--chs-panel-text); font-size:1.25rem; font-weight:900 }
.chs-contact-panel .ch-label { color:var(--chs-panel-text) }
.chs-contact-panel .ch-input { background:var(--chs-panel-surface); border-color:var(--chs-panel-border); color:var(--chs-panel-text) }
.chs-contact-panel .ch-input:focus { border-color:var(--ch-accent); box-shadow:0 0 0 3px rgb(47 116 255/.14) }
.chs-contact-panel .ch-form__status { margin-top:.25rem }
.chs-contact-panel .ch-btn--primary { background:var(--ch-navy) }
.chs-contact-panel--dark .chs-contact-panel .ch-btn--primary { background:var(--ch-accent) }
.chs-contact-panel__value:focus-visible,.chs-contact-panel__social a:focus-visible { outline:3px solid rgb(47 116 255/.28); outline-offset:3px }
@media(max-width:767px){ .chs-contact-panel { grid-template-columns:1fr; gap:1.5rem } .chs-contact-panel__details { margin-top:1.5rem } }

/* Contact form */
.ch-form__heading { font-size:1.5rem; font-weight:900; color:var(--ch-navy); margin:0 0 .25rem }
.ch-form__sub { font-size:.875rem; color:#637188; margin:0 0 1.25rem }
.ch-form { display:flex; flex-direction:column; gap:1rem }
.ch-form__row { display:grid; gap:1rem }
@media(min-width:640px){ .ch-form__row { grid-template-columns:repeat(2,1fr) } }
.ch-form__status { padding:.875rem 1rem; border-radius:.75rem; font-size:.875rem; font-weight:600 }
.ch-form__status--success { background:#f0fdf4; border:1px solid #86efac; color:#15803d }
.ch-form__status--error   { background:#fef2f2; border:1px solid #fca5a5; color:#b91c1c }

/* CTA Banner */
.ch-cta { position:relative; overflow:hidden; border-radius:2rem; background:linear-gradient(135deg,var(--ch-navy),#152e53); padding:2.5rem; color:#fff; box-shadow:0 20px 50px -20px rgba(11,35,72,.5) }
@media(min-width:768px){ .ch-cta { padding:3rem 3.5rem } }
.ch-cta__glow { position:absolute; right:-2rem; top:-2rem; width:12rem; height:12rem; border-radius:50%; background:rgb(47 116 255/.15); filter:blur(3rem); pointer-events:none }
.ch-cta__inner { position:relative; display:flex; flex-direction:column; gap:1.5rem }
@media(min-width:768px){ .ch-cta__inner { flex-direction:row; align-items:center; justify-content:space-between } }
.ch-cta__eyebrow { font-size:.8125rem; font-weight:700; color:rgb(186 220 255) }
.ch-cta__heading { font-size:clamp(1.5rem,3vw,2.25rem); font-weight:900; margin:.375rem 0 0; line-height:1.2 }
.ch-cta__text { margin:.75rem 0 0; color:rgb(186 220 255); font-size:.9375rem }
.ch-cta .ch-btn--light{background:#fff;color:var(--ch-navy);border:1px solid rgba(255,255,255,.6);box-shadow:0 12px 20px -12px rgba(11,35,72,.4)}
.ch-cta .ch-btn--light:hover{background:#edf5ff;color:var(--ch-navy);opacity:1}
.dark .ch-cta .ch-btn--light{background:#fff;color:var(--ch-navy)}

/* Benefits */
.ch-benefit { border-radius:1.25rem; border:1px solid #dce6f1; background:#fff; padding:1.5rem }
.ch-benefit__icon { font-size:1.75rem; margin-bottom:1rem }
.ch-benefit h3 { font-size:1.0625rem; font-weight:900; color:var(--ch-navy); margin:0 0 .375rem }
.ch-benefit p { font-size:.875rem; line-height:1.65; color:#637188; margin:0 }

/* Dark mode widget overrides */
.dark .ch-service-card, .dark .ch-faq__item, .dark .ch-benefit, .dark .ch-city-card { background:#0f1729; border-color:#1e2a3e }
.dark .ch-card__body h3, .dark .ch-faq__btn, .dark .ch-benefit h3, .dark .ch-city-card strong { color:#e8eef8 }
.dark .ch-card__footer p, .dark .ch-faq__body, .dark .ch-benefit p, .dark .ch-city-card small { color:#8aa0bc }
.dark .ch-trust-badge { background:#0f1729; border-color:#1e2a3e; color:#8aa0bc }

/* ── Reviews Slider ─────────────────────────────────────────────── */
.chs-reviews{position:relative;overflow:hidden}
.chs-reviews__scores{display:grid;grid-template-columns:180px minmax(0,1fr);gap:1rem;align-items:center;margin-bottom:2rem}
.chs-reviews--scores-right .chs-reviews__scores{display:flex;justify-content:space-between;align-items:center}
.chs-reviews--scores-right .chs-reviews__logos{order:2}
.chs-reviews--scores-right .chs-reviews__cards{order:1}
.chs-reviews__logos{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}
.chs-reviews--scores-right .chs-reviews__logos{order:2;display:flex;flex-direction:row;align-items:center;justify-content:space-between}
.chs-review-logo{display:flex;align-items:center;justify-content:center;width:100%;min-height:72px;border:1px solid #dce6f1;border-radius:1rem;background:#fff;padding:.75rem 1rem;box-shadow:0 10px 30px -20px rgba(11,35,72,.35)}
.dark .chs-review-logo{background:#0f1729;border-color:#1a2540}
.chs-review-logo img{display:block;max-width:100%;max-height:2.5rem;object-fit:contain}
.chs-review-logo span{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ch-navy)}
.dark .chs-review-logo span{color:#fff}
.chs-reviews__cards{display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-start}
.chs-reviews--scores-right .chs-reviews__cards{justify-content:flex-end}
.chs-reviews--scores-left .chs-reviews__cards{justify-content:flex-start}
.chs-score-card{display:flex;align-items:center;gap:1rem;border-radius:1.25rem;border:1px solid #dce6f1;background:#fff;padding:1.25rem 1.5rem;text-decoration:none;color:inherit;transition:border-color .2s,transform .2s;position:relative;min-width:220px;box-shadow:0 10px 30px -20px rgba(11,35,72,.35)}
.dark .chs-score-card{background:#0f1729;border-color:#1a2540}
.chs-score-card:hover{border-color:var(--ch-accent);transform:translateY(-2px)}
.chs-score-card__score{font-size:2.5rem;font-weight:900;color:var(--ch-navy);line-height:1}
.dark .chs-score-card__score{color:#fff}
.chs-score-card__content{display:flex;flex-direction:column;justify-content:center}
.chs-score-card__stars{font-size:1.125rem;color:#f59e0b;letter-spacing:.05em}
.chs-score-card__label{font-size:.75rem;color:#637188;margin-top:.125rem}
@media(max-width:767px){.chs-reviews__scores,.chs-reviews--scores-right .chs-reviews__scores{grid-template-columns:1fr}.chs-reviews__logos,.chs-reviews--scores-right .chs-reviews__logos{align-items:stretch}.chs-reviews__cards,.chs-reviews--scores-right .chs-reviews__cards{justify-content:flex-start}}
.chs-score-card__badge{position:absolute;top:.625rem;right:.75rem;font-size:.625rem;font-weight:700;padding:.125rem .5rem;border-radius:999px;background:var(--ch-accent);color:#fff}
.chs-score-card__badge--google{background:#ea4335}
.chs-reviews__head{margin-bottom:2.5rem;text-align:center}
.chs-reviews__title{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:900;color:var(--ch-navy);margin:0 0 .5rem}
.dark .chs-reviews__title{color:#fff}
.chs-reviews__sub{color:#637188;margin:0;font-size:.9375rem;max-width:42rem;margin-inline:auto}
.chs-reviews__reco-widget{margin:1.5rem 0 2rem}
.chs-slider{position:relative;overflow:hidden}
.chs-slider__track{display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--chs-review-rows,1),minmax(0,1fr));grid-auto-columns:100%;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.chs-review-card{min-width:0;padding:0 .375rem;box-sizing:border-box}
@media(min-width:768px){.chs-slider__track{grid-auto-columns:calc(100% / var(--chs-review-cols, 3))}}
.chs-review-card__inner{height:100%;border-radius:1.5rem;border:1px solid #dce6f1;background:#fff;padding:1.5rem;box-shadow:0 18px 35px -28px rgba(11,35,72,.45)}
.dark .chs-review-card__inner{background:#0f1729;border-color:#1a2540}
.chs-review-card__stars{font-size:1.125rem;color:#f59e0b;letter-spacing:.05em}
.chs-review-card__text{font-size:1rem;font-weight:600;line-height:1.6;color:var(--ch-ink);margin:1rem 0;font-style:normal}
.dark .chs-review-card__text{color:#e4eaf6}
.chs-review-card__footer strong{display:block;font-size:.875rem;font-weight:700;color:var(--ch-navy)}
.dark .chs-review-card__footer strong{color:#fff}
.chs-review-card__footer span{font-size:.75rem;color:#637188}
.chs-slider__controls{display:flex;gap:.625rem;margin-top:1.25rem;justify-content:flex-end}
.chs-slider__btn{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.75rem;border:1px solid #dce6f1;background:#fff;cursor:pointer;font-size:1rem;font-weight:700;color:var(--ch-ink);transition:background .2s,border-color .2s}
.dark .chs-slider__btn{background:#0f1729;border-color:#1a2540;color:#fff}
.chs-slider__btn:hover{border-color:var(--ch-accent);background:rgb(47 116 255/.08)}

/* ── Stats / Counter ────────────────────────────────────────────── */
.chs-stats{padding:1rem 0}
.chs-stat{text-align:center;padding:1.5rem 1rem}
.chs-stat__number{font-size:3rem;font-weight:900;color:var(--ch-navy);line-height:1}
.dark .chs-stat__number{color:#fff}
.chs-stat__label{margin-top:.5rem;font-size:.9375rem;color:#637188;font-weight:600}

/* ── Process Steps ──────────────────────────────────────────────── */
.chs-process{width:100%}
.chs-process__head{text-align:center;margin-bottom:3rem}
.chs-process--align-start .chs-process__head{text-align:left}
.chs-process--align-end .chs-process__head{text-align:right}
.chs-process__head h1,.chs-process__head h2,.chs-process__head h3,.chs-process__head h4{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:900;color:var(--ch-navy);margin:0 0 .75rem}
.dark .chs-process__head h1,.dark .chs-process__head h2,.dark .chs-process__head h3,.dark .chs-process__head h4{color:#fff}
.chs-process__head p{color:#637188;margin:0;max-width:48rem;margin-inline:auto}
.chs-process__steps{width:100%;display:grid;gap:1.5rem}
.chs-process__steps--align-start{justify-items:start;align-items:start}
.chs-process__steps--align-center{justify-items:center;align-items:center}
.chs-process__steps--align-end{justify-items:end;align-items:end}
.chs-process--horizontal .chs-process__steps{display:grid;gap:1.5rem;max-width:1200px;margin-inline:auto}
.chs-process--align-start .chs-process__steps{justify-items:start;align-items:start;margin-inline:0}
.chs-process--align-center .chs-process__steps{justify-items:center;align-items:center;margin-inline:auto}
.chs-process--align-end .chs-process__steps{justify-items:end;align-items:end;margin-inline:0 0 0 auto}
@media(min-width:768px){.chs-process--horizontal .chs-process__steps{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));justify-content:center}}
.chs-process--vertical .chs-process__steps{display:flex;flex-direction:column;gap:1rem;max-width:640px;margin:0 auto}
.chs-process--align-start .chs-process--vertical .chs-process__steps{align-items:flex-start}
.chs-process--align-center .chs-process--vertical .chs-process__steps{align-items:center}
.chs-process--align-end .chs-process--vertical .chs-process__steps{align-items:flex-end}
.chs-process__steps--align-start.chs-process--vertical{align-items:flex-start}
.chs-process__steps--align-center.chs-process--vertical{align-items:center}
.chs-process__steps--align-end.chs-process--vertical{align-items:flex-end}
.chs-process__step{position:relative;padding:2rem 1.5rem;border-radius:1.25rem;border:1px solid #dce6f1;background:#fff;transition:border-color .2s,box-shadow .2s,transform .2s;text-align:center}
.dark .chs-process__step{background:#0f1729;border-color:#1a2540}
.chs-process__step:hover{border-color:#b8d0f5;box-shadow:0 12px 32px -12px rgba(47,116,255,.2);transform:translateY(-4px)}
.chs-process__num{position:absolute;top:1rem;right:1rem;font-size:.8125rem;font-weight:900;background:linear-gradient(135deg,var(--ch-accent),#5b8eff);color:#fff;width:2.25rem;height:2.25rem;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 16px -6px rgba(47,116,255,.4)}
.chs-process__icon{font-size:3rem;margin-bottom:1rem;line-height:1}
.chs-process__step h1,.chs-process__step h2,.chs-process__step h3,.chs-process__step h4{font-size:1.125rem;font-weight:900;color:var(--ch-navy);margin:0 0 .5rem}
.dark .chs-process__step h1,.dark .chs-process__step h2,.dark .chs-process__step h3,.dark .chs-process__step h4{color:#fff}
.chs-process__step p{font-size:.9375rem;line-height:1.7;color:#637188;margin:0}
.dark .chs-process__step p{color:#8aa0bc}

/* ── Price Table ────────────────────────────────────────────────── */
.chs-price-table{border-radius:1.5rem;border:1px solid #dce6f1;background:#fff;padding:2rem;display:flex;flex-direction:column;gap:1.25rem}
.dark .chs-price-table{background:#0f1729;border-color:#1a2540}
.chs-price-table__title{margin:0;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:900;color:var(--ch-navy);line-height:1.15}
.dark .chs-price-table__title{color:#fff}
.chs-price-table__description{margin:0;color:#637188;line-height:1.6}
.dark .chs-price-table__description{color:#8aa0bc}
.chs-price-table__service{font-size:.875rem;font-weight:700;color:var(--ch-accent)}
.chs-price-table__prices{display:grid;gap:.75rem}
@media(min-width:480px){.chs-price-table__prices{grid-template-columns:repeat(2,1fr)}}
.chs-price-item{border-radius:1rem;border:1px solid #dce6f1;padding:1.25rem;display:flex;flex-direction:column;gap:.375rem}
.dark .chs-price-item{border-color:#1a2540}
.chs-price-item--highlight{border-color:var(--ch-accent);background:rgb(47 116 255/.06)}
.chs-price-item__label{font-size:.8125rem;font-weight:600;color:#637188}
.chs-price-item__value{font-size:1.75rem;font-weight:900;color:var(--ch-navy)}
.dark .chs-price-item__value{color:#fff}
.chs-price-item__value small{font-size:.875rem;font-weight:400;color:#637188;margin-left:.25rem}
.chs-price-table__includes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.chs-price-table__includes li{font-size:.9375rem;color:#637188;display:flex;align-items:center;gap:.5rem}
.chs-price-table__rut-note{font-size:.75rem;color:#637188;margin:0;font-style:italic}
.chs-prices-grid__heading{margin:0 0 .75rem;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:900;color:var(--ch-navy);line-height:1.15}
.dark .chs-prices-grid__heading{color:#fff}
.chs-prices-grid__description{margin:0 0 2rem;color:#637188;line-height:1.7}
.dark .chs-prices-grid__description{color:#8aa0bc}
.chs-prices-grid__items{display:grid;gap:2rem;margin-top:2rem}
@media(max-width:767px){.chs-prices-grid__items{grid-template-columns:1fr !important}}
.chs-price-card{background:#fff;border-radius:1rem;padding:2rem;border:1px solid #dce6f1;display:flex;flex-direction:column;gap:1rem;box-shadow:0 10px 30px -26px rgba(11,35,72,.35)}
.dark .chs-price-card{background:#0f1729;border-color:#1a2540}
.chs-price-card__title{margin:0;font-size:1.25rem;font-weight:900;color:var(--ch-navy)}
.dark .chs-price-card__title{color:#fff}
.chs-price-card__prices{display:flex;flex-direction:column;gap:.375rem}
.chs-price-before{text-decoration:line-through;color:#637188;font-size:.875rem}
.chs-price-after{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:900;color:var(--ch-accent);line-height:1.1}
.chs-price-after small{font-size:1rem;font-weight:400;color:#637188;display:inline-block;margin-left:.25rem}
.chs-price-card__includes{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}
.chs-price-card__includes li{padding:0; color:#0b2348; font-size:.875rem; line-height:1.5}
.dark .chs-price-card__includes li{color:#e4eaf6}
.ch-btn--full-width{width:100%;justify-content:center}

/* ── Trust Bar ──────────────────────────────────────────────────── */
.chs-trust-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chs-trust-chip{background:#f0f6ff;border:1px solid #dce6f1;border-radius:999px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:#172033}
.dark .chs-trust-chip{background:rgb(47 116 255/.08);border-color:#1a2540;color:#e4eaf6}
.chs-trust-bar{display:flex;flex-wrap:wrap;gap:1rem;border-radius:1.5rem;border:1px solid #dce6f1;background:#fff;padding:1.25rem 1.5rem;align-items:center}
.dark .chs-trust-bar{background:#0f1729;border-color:#1a2540}
.chs-trust-bar__item{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;color:#172033}
.dark .chs-trust-bar__item{color:#e4eaf6}
.chs-trust-cards{gap:1rem}
.chs-trust-card{border-radius:1.25rem;border:1px solid #dce6f1;background:#fff;padding:1.5rem;text-align:center}
.dark .chs-trust-card{background:#0f1729;border-color:#1a2540}
.chs-trust-card__emoji{font-size:2rem;margin-bottom:.75rem}
.chs-trust-card__label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#637188;margin-bottom:.375rem}
.chs-trust-card__title{font-size:1rem;font-weight:900;color:var(--ch-navy)}
.dark .chs-trust-card__title{color:#fff}

/* ── Service Detail ─────────────────────────────────────────────── */
.chs-svc-prices{display:grid;gap:.75rem;margin-bottom:1.5rem}
@media(min-width:480px){.chs-svc-prices{grid-template-columns:repeat(2,1fr)}}
.chs-svc-price{border-radius:.875rem;border:1px solid #dce6f1;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.25rem}
.dark .chs-svc-price{border-color:#1a2540}
.chs-svc-price--rut{border-color:var(--ch-accent);background:rgb(47 116 255/.06)}
.chs-svc-price span{font-size:.8125rem;font-weight:600;color:#637188}
.chs-svc-price strong{font-size:1.5rem;font-weight:900;color:var(--ch-navy)}
.dark .chs-svc-price strong{color:#fff}
.chs-svc-price strong small{font-size:.875rem;font-weight:400;color:#637188;margin-left:.25rem}
.chs-svc-includes,.chs-svc-features,.chs-svc-more,.chs-svc-faq{margin-top:2rem}
.chs-svc-includes h3,.chs-svc-features h3,.chs-svc-more h3,.chs-svc-faq h3,.chs-svc-faq h4{font-size:1.25rem;font-weight:900;color:var(--ch-navy);margin:0 0 1rem}
.dark .chs-svc-includes h3,.dark .chs-svc-features h3,.dark .chs-svc-more h3,.dark .chs-svc-faq h3,.dark .chs-svc-faq h4{color:#fff}
.chs-svc-more{display:grid;gap:1.5rem;border-radius:1.25rem;border:1px solid #dce6f1;overflow:hidden}
@media(min-width:640px){.chs-svc-more{grid-template-columns:280px 1fr;align-items:center}}
.dark .chs-svc-more{border-color:#1a2540}
.chs-svc-more img{width:100%;height:200px;object-fit:cover}
@media(min-width:640px){.chs-svc-more img{height:100%}}
.chs-svc-more>div{padding:1.5rem}

/* ════════════════════════════════════════════════════════════════════
   GLOBAL — background helpers, spacing, dark mode base
   ════════════════════════════════════════════════════════════════════ */

/* Background modifiers (work inside Elementor containers too) */
.chs-bg-none    { background:transparent }
.chs-bg-light   { background:#f5f8fc }
.chs-bg-navy    { background:var(--ch-navy); color:#fff }
.chs-bg-accent  { background:var(--ch-accent); color:#fff }
.chs-bg-navy  a,.chs-bg-accent a { color:inherit }
.elementor-widget-container a { color:#d2d6de; }
.dark .elementor-widget-container a { color:inherit; }
.dark .chs-bg-light { background:rgb(255 255 255/.04) }

/* Common widget spacing fix — respects Elementor section padding */
.elementor-widget-chs-hero .elementor-widget-container,
.elementor-widget-chs-page-hero .elementor-widget-container,
.elementor-widget-chs-cta-banner .elementor-widget-container { padding:0 }

/* Ensure widgets fill available width */
.elementor-widget-chs-reviews-slider,
.elementor-widget-chs-services-grid,
.elementor-widget-chs-cities-grid,
.elementor-widget-chs-image-text,
.elementor-widget-chs-icon-row { width:100% }

/* Section container max-width inside full-width Elementor sections */
.chs-hero .ch-container,.chs-page-hero .ch-container { max-width:80rem;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem) }

/* ── Image + Text Widget ──────────────────────────────────────────── */
.chs-img-text { width:100% }
.chs-img-text--padded { padding:2.5rem }
@media(min-width:768px){.chs-img-text--padded{padding:3.5rem}}
.chs-img-text--bordered { border-radius:2rem;border:1px solid #dce6f1;overflow:hidden }
.dark .chs-img-text--bordered { border-color:#1a2540 }

/* Two-column side-by-side */
.chs-img-text--img-left,
.chs-img-text--img-right { display:grid;gap:2.5rem;grid-template-columns:var(--chs-img-cols,1fr 1fr);align-items:var(--chs-v-align,center) }
@media(max-width:767px) {
  .chs-img-text--img-left,.chs-img-text--img-right { grid-template-columns:1fr }
  /* On mobile, image always comes first */
  .chs-img-text--img-right .chs-img-text__content { order:2 }
  .chs-img-text--img-right .chs-img-text__img-wrap { order:1 }
}
@media(min-width:768px){
  .chs-img-text--img-left  .chs-img-text__img-wrap { order:1 }
  .chs-img-text--img-left  .chs-img-text__content  { order:2 }
  .chs-img-text--img-right .chs-img-text__content  { order:1 }
  .chs-img-text--img-right .chs-img-text__img-wrap { order:2 }
}

/* Stacked layouts */
.chs-img-text--stacked,.chs-img-text--stacked-rev { display:flex;flex-direction:column;gap:2rem }
.chs-img-text--stacked .chs-img-text__img-wrap   { order:1 }
.chs-img-text--stacked .chs-img-text__content    { order:2 }
.chs-img-text--stacked-rev .chs-img-text__content{ order:1 }
.chs-img-text--stacked-rev .chs-img-text__img-wrap{ order:2 }

/* Image wrapper */
.chs-img-text__img-wrap { position:relative;overflow:hidden }
.chs-img-text--img-rounded .chs-img-text__img-wrap { border-radius:1.5rem }
.chs-img-text--img-frame .chs-img-text__img-wrap { border-radius:1.5rem;border:1px solid #dce6f1;box-shadow:0 16px 48px -8px rgb(0 0 0/.15);overflow:hidden }
.dark .chs-img-text--img-frame .chs-img-text__img-wrap { border-color:#1a2540 }
.chs-img-text--img-overlap .chs-img-text__img-wrap { border-radius:2rem;border:4px solid #fff;box-shadow:0 24px 64px -12px rgb(0 0 0/.2) }

/* Image figure */
.chs-img-text__figure { margin:0;overflow:hidden;border-radius:inherit }
.chs-img-text__figure[style*="1/1"]  { aspect-ratio:1/1 }
.chs-img-text__figure[style*="4/3"]  { aspect-ratio:4/3 }
.chs-img-text__figure[style*="3/2"]  { aspect-ratio:3/2 }
.chs-img-text__figure[style*="16/9"] { aspect-ratio:16/9 }
/* Compute from --chs-ratio CSS var */
.chs-img-text__figure { aspect-ratio:var(--chs-ratio,4/3) }
.chs-img-text__figure img { width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease }
.chs-img-text__img-wrap:hover .chs-img-text__figure img { transform:scale(1.04) }
figcaption { font-size:.8125rem;color:#637188;padding:.5rem 0;text-align:center }

/* Badge on image */
.chs-img-text__badge { position:absolute;top:1rem;left:1rem;z-index:2;background:var(--ch-navy);color:#fff;font-size:.75rem;font-weight:700;padding:.375rem .875rem;border-radius:999px }

/* Content block */
.chs-img-text__content { display:flex;flex-direction:column;gap:1rem }
.chs-img-text__eyebrow { font-size:.8125rem;font-weight:700;color:var(--ch-accent);text-transform:uppercase;letter-spacing:.08em }
.chs-img-text__content--dark .chs-img-text__eyebrow { color:rgb(186 220 255) }
.chs-img-text__heading { font-size:clamp(1.5rem,3vw,2.25rem);font-weight:900;color:var(--ch-navy);margin:0;line-height:1.2 }
.dark .chs-img-text__heading,.chs-img-text__content--dark .chs-img-text__heading { color:#fff }
.chs-img-text__body { margin:0 }
.chs-img-text__body p { color:#637188;line-height:1.75;margin:0 }
.chs-img-text__content--dark .chs-img-text__body p { color:rgb(186 220 255) }
.dark .chs-img-text__body p { color:#8aa0bc }

/* Bullets */
.chs-img-text__bullets { list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.625rem }
.chs-img-text__bullets li { display:flex;align-items:center;gap:.625rem;font-size:.9375rem;font-weight:600;color:var(--ch-ink) }
.dark .chs-img-text__bullets li,.chs-img-text__content--dark .chs-img-text__bullets li { color:#e4eaf6 }
.chs-img-text__bullets li span,.chs-img-text__bullets li i { width:1.25rem;flex:0 0 1.25rem;font-size:1.05rem;color:var(--ch-accent);font-style:normal;text-align:center }

/* Button group */
.chs-img-text__btns { display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem }

/* ── Section Heading ─────────────────────────────────────────────── */
.chs-section-heading { width:100% }
.chs-section-heading__eyebrow { font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ch-accent);margin-bottom:.5rem }
.chs-section-heading--dark .chs-section-heading__eyebrow { color:rgb(186 220 255) }
.chs-section-heading__title { font-size:clamp(1.625rem,3.5vw,2.5rem);font-weight:900;color:var(--ch-navy);margin:0 0 .75rem;line-height:1.15 }
.dark .chs-section-heading__title,.chs-section-heading--dark .chs-section-heading__title { color:#fff }
.chs-section-heading__sub { font-size:1rem;line-height:1.7;color:#637188;margin:0 }
.dark .chs-section-heading__sub,.chs-section-heading--dark .chs-section-heading__sub { color:#8aa0bc }

/* ── Page Hero ───────────────────────────────────────────────────── */
.chs-page-hero { padding:clamp(3rem,7vw,5.5rem) clamp(1.25rem,4vw,3rem); position:relative; overflow:hidden; width:100%; background:#f5f8ff; }
.dark .chs-page-hero { background:transparent !important; }
.chs-bg-light.chs-page-hero,.chs-bg-white.chs-page-hero { border-bottom:1px solid #dce6f1 }
.dark .chs-bg-light.chs-page-hero { border-color:#1a2540 }
.chs-page-hero__inner { display:grid; grid-template-columns:minmax(0,1fr); align-items:center; gap:clamp(2rem,5vw,4.5rem); margin-inline:auto; max-width:80rem; }
.chs-page-hero--stack .chs-page-hero__inner { display:block }
.chs-page-hero__content { min-width:0; }
.chs-page-hero__image { min-width:0; }
.chs-page-hero__image img { width:100%; max-width:100%; aspect-ratio:4/3; max-height:380px; object-fit:cover; display:block; border-radius:1rem; box-shadow:0 20px 48px -24px rgba(11,35,72,.38) }
.chs-page-hero--image-left .chs-page-hero__image { order:-1 }
.chs-page-hero__eyebrow { font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ch-accent);margin-bottom:.75rem }
.chs-page-hero__heading { font-size:clamp(2rem,5vw,3.5rem);font-weight:900;color:var(--ch-navy);margin:0 0 1rem;line-height:1.1 }
.dark .chs-page-hero__heading { color:#fff }
.chs-page-hero__heading--dark { color:#fff }
.chs-page-hero__sub { font-size:1.0625rem;line-height:1.75;color:#637188;margin:0 }
.dark .chs-page-hero__sub { color:#8aa0bc }
.chs-page-hero__sub--dark { color:rgb(186 220 255) }
.chs-page-hero__chips { display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem }
.ch-widget-actions { margin-top:1.5rem }
.ch-widget-actions .ch-btn { display:inline-flex }
@media(min-width:768px){.chs-page-hero--has-image .chs-page-hero__inner{grid-template-columns:minmax(0,1fr) minmax(280px,42%)} }
@media(max-width:767px){ .chs-page-hero__inner, .chs-page-hero__image { display:block; max-width:none !important } .chs-page-hero__image img { max-height:280px; margin-top:1.5rem } .ch-faq__item--has-image { grid-template-columns:1fr } }
.chs-trust-chip--dark { background:rgb(255 255 255/.12);border-color:rgb(255 255 255/.2);color:#fff }

/* ── Icon Row ────────────────────────────────────────────────────── */
.chs-icon-row { width:100% }
.chs-icon-row--horizontal { display:flex;flex-wrap:wrap;gap:1.25rem;border-radius:1.5rem;border:1px solid #dce6f1;background:#fff;padding:1.5rem }
.dark .chs-icon-row--horizontal { background:#0f1729;border-color:#1a2540 }
.chs-icon-row--inline { display:flex;flex-wrap:wrap;gap:1rem }
.chs-icon-row__item { display:flex;align-items:center;gap:.625rem }
.chs-icon-row__icon { font-size:1.5rem;flex-shrink:0 }
.chs-icon-row__item strong { display:block;font-size:.875rem;font-weight:700;color:var(--ch-navy) }
.dark .chs-icon-row__item strong,.chs-icon-row__item--dark strong { color:#fff }
.chs-icon-row__item span { display:block;font-size:.75rem;color:#637188 }

/* ── GLOBAL SPACING: uniform section padding helper ─────────────── */
/* Add data-chs-section-pad="true" or class chs-section-pad to Elementor sections */
.chs-section-pad { padding-top:5rem;padding-bottom:5rem }
@media(max-width:767px){.chs-section-pad{padding-top:3rem;padding-bottom:3rem}}

/* Fix existing widget internal spacing */
.chs-process__head,.chs-reviews__head { margin-bottom:2.5rem }
.chs-trust-cards,.chs-stats,.chs-grid { width:100% }
.ch-faq { width:100% }
.chs-price-table,.ch-contact-form,.chs-reviews { width:100% }

/* Ensure hero fills viewport width in full-width Elementor rows */
.elementor-section.elementor-section-full_width .chs-hero,
.elementor-section.elementor-section-full_width .chs-page-hero { margin:0 }

/* ── Benefit dark variant ────────────────────────────────────────── */
.chs-benefit--dark { border-color:rgb(255 255 255/.12);background:rgb(255 255 255/.08) }
.chs-benefit--dark h3 { color:#fff }
.chs-benefit--dark p { color:rgb(186 220 255) }

/* ═════════════════════════════════════════════════════════════════ */
/* SERVICE DETAIL WIDGETS                                              */
/* ═════════════════════════════════════════════════════════════════ */

/* Service Price */
.chs-service-price__title{margin:0 0 1rem;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:900;color:var(--ch-navy);text-align:center}
.dark .chs-service-price__title{color:#fff}
.chs-service-price__description{margin:0 0 2rem;color:#637188;line-height:1.7;text-align:center}
.dark .chs-service-price__description{color:#8aa0bc}
.chs-service-price{display:grid;gap:1.5rem;max-width:56rem;margin-inline:auto}
.chs-service-price--cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.chs-service-price--inline{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.chs-service-price--stacked{grid-template-columns:1fr}
.chs-service-price__item{padding:2rem;border-radius:1.25rem;border:1px solid #dce6f1;background:#fff;text-align:center;transition:transform .2s,box-shadow .2s}
.dark .chs-service-price__item{background:#0f1729;border-color:#1a2540}
.chs-service-price__item:hover{transform:translateY(-2px);box-shadow:0 12px 32px -8px rgba(47,116,255,.2)}
.chs-service-price__item--rut{border-color:#b8d0f5;background:linear-gradient(135deg,#eff6ff,#fff)}
.dark .chs-service-price__item--rut{background:linear-gradient(135deg,rgba(47,116,255,.1),#0f1729);border-color:#2f74ff}
.chs-service-price__label{font-size:.875rem;font-weight:700;color:#637188;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}
.dark .chs-service-price__label{color:#8aa0bc}
.chs-service-price__amount{font-size:clamp(2rem,4vw,3rem);font-weight:900;color:var(--ch-navy);line-height:1}
.dark .chs-service-price__amount{color:#fff}
.chs-service-price__unit{font-size:1rem;font-weight:600;color:#637188;margin-left:.5rem}
.chs-service-price__badge{display:inline-flex;align-items:center;gap:.375rem;background:#dcfce7;color:#15803d;font-size:.75rem;font-weight:700;padding:.25rem .75rem;border-radius:999px;margin-left:.75rem}
.dark .chs-service-price__badge{background:rgba(34,197,94,.2);color:#86efac}
.chs-service-price__details{margin:2rem 0 0;padding:0;list-style:none;display:grid;gap:.75rem;max-width:56rem; margin-inline:auto}
.chs-service-price__details li{padding:1rem 1.25rem;border:1px solid #dce6f1;border-radius:.875rem;background:#fff;color:#0b2348;font-size:.9375rem}
.dark .chs-service-price__details li{background:#0f1729;border-color:#1a2540;color:#e4eaf6}

/* Service Includes */
.chs-service-includes__head{margin-bottom:2.5rem;text-align:center}
.chs-service-includes__title{margin:0 0 .75rem;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:900;color:var(--ch-navy)}
.dark .chs-service-includes__title{color:#fff}
.chs-service-includes__description{margin:0;color:#637188;line-height:1.7;max-width:48rem;margin-inline:auto}
.dark .chs-service-includes__description{color:#8aa0bc}
.chs-service-includes{display:grid;gap:1.5rem}
.chs-service-includes--col-1{grid-template-columns:1fr}
.chs-service-includes--col-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.chs-service-includes--col-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.chs-service-includes__item{display:flex;gap:1rem;align-items:flex-start;padding:1.5rem;border-radius:1rem;border:1px solid #dce6f1;background:#fff;transition:border-color .2s,box-shadow .2s}
.dark .chs-service-includes__item{background:#0f1729;border-color:#1a2540}
.chs-service-includes__item:hover{border-color:#b8d0f5;box-shadow:0 8px 24px -8px rgba(47,116,255,.15)}
.chs-service-includes__icon{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:.75rem;background:#eff6ff;display:grid;place-items:center;font-size:1.25rem;color:var(--ch-accent)}
.dark .chs-service-includes__icon{background:rgba(47,116,255,.15)}
.chs-service-includes__content{flex:1;min-width:0}
.chs-service-includes__item-title{margin:0 0 .5rem;font-size:1rem;font-weight:700;color:var(--ch-navy)}
.dark .chs-service-includes__item-title{color:#fff}
.chs-service-includes__item-desc{margin:0;font-size:.875rem;line-height:1.6;color:#637188}
.dark .chs-service-includes__item-desc{color:#8aa0bc}

/* Service Features */
.chs-service-features__head{margin-bottom:2.5rem;text-align:center}
.chs-service-features__title{margin:0 0 .75rem;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:900;color:var(--ch-navy)}
.dark .chs-service-features__title{color:#fff}
.chs-service-features__description{margin:0;color:#637188;line-height:1.7;max-width:48rem;margin-inline:auto}
.dark .chs-service-features__description{color:#8aa0bc}
.chs-service-features{display:grid;gap:1.5rem}
.chs-service-features--col-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.chs-service-features--col-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.chs-service-features--col-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.chs-service-features__item{padding:2rem 1.5rem;border-radius:1.25rem;text-align:center;transition:transform .2s,box-shadow .2s}
.chs-service-features--cards .chs-service-features__item{border:1px solid #dce6f1;background:#fff}
.dark .chs-service-features--cards .chs-service-features__item{background:#0f1729;border-color:#1a2540}
.chs-service-features--bordered .chs-service-features__item{border:2px solid #dce6f1}
.dark .chs-service-features--bordered .chs-service-features__item{border-color:#1a2540}
.chs-service-features__item:hover{transform:translateY(-2px);box-shadow:0 12px 32px -8px rgba(47,116,255,.15)}
.chs-service-features__icon{width:3rem;height:3rem;border-radius:.875rem;background:linear-gradient(135deg,#eff6ff,#dbeafe);display:grid;place-items:center;font-size:1.5rem;margin:0 auto 1rem}
.dark .chs-service-features__icon{background:linear-gradient(135deg,rgba(47,116,255,.2),rgba(47,116,255,.1))}
.chs-service-features__image{width:100%;aspect-ratio:16/10;border-radius:.875rem;overflow:hidden;margin-bottom:1rem}
.chs-service-features__image img{width:100%;height:100%;object-fit:cover}
.chs-service-features__item-title{margin:0 0 .75rem;font-size:1.125rem;font-weight:700;color:var(--ch-navy)}
.dark .chs-service-features__item-title{color:#fff}
.chs-service-features__item-desc{margin:0;font-size:.875rem;line-height:1.6;color:#637188}
.dark .chs-service-features__item-desc{color:#8aa0bc}

/* Service More Info */
.chs-service-more-info{display:grid;grid-template-columns:minmax(0,1fr);gap:1.75rem;align-items:center;margin-bottom:4rem;padding:1.25rem;border:1px solid #dce6f1;border-radius:1.25rem;background:#fff}
@media(min-width:768px){.chs-service-more-info{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.chs-service-more-info{grid-template-columns:minmax(280px,45%) minmax(0,1fr);gap:3.5rem;padding:1.5rem}}
.chs-service-more-info:last-child{margin-bottom:0}
.chs-service-more-info--image-right .chs-service-more-info__image{order:2}
.chs-service-more-info--image-right .chs-service-more-info__content{order:1}
.chs-service-more-info__image{min-height:220px;aspect-ratio:4/3;border-radius:1rem;overflow:hidden;background:#edf5ff}
.chs-service-more-info__image img{width:100%;height:100%;display:block;object-fit:cover}
.chs-service-more-info__image-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:220px;color:var(--ch-accent);font-size:2rem;background:linear-gradient(145deg,#edf5ff,#f8fbff)}
.chs-service-more-info__title{margin:0 0 1.25rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:900;color:var(--ch-navy);line-height:1.2}
.dark .chs-service-more-info__title{color:#fff}
.dark .chs-service-more-info{background:#0f1729;border-color:#1a2540}
.chs-service-more-info__desc{margin:0;color:#637188;line-height:1.75;font-size:.9375rem}
.dark .chs-service-more-info__desc{color:#8aa0bc}
.chs-service-more-info__desc p{margin:0 0 1rem}
.chs-service-more-info__desc p:last-child{margin-bottom:0}
.chs-service-more-info__desc ul,.chs-service-more-info__desc ol{margin:0 0 1rem;padding-left:1.5rem}
.chs-service-more-info__desc li{margin-bottom:.5rem}
