/* Star RO Service v18 — final responsive and readability corrections */
:root{--ui-grad:linear-gradient(135deg,rgb(37,99,235),rgb(34,197,94));--ui-ink:#10233d;--ui-copy:#50647c;--ui-line:#dce7f2}
body{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important}
body h1,body h2,body h3,body h4,body h5,body h6,.brand,.site-nav{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important}
html{overflow-x:hidden;scroll-padding-top:108px}
body{overflow-x:clip;-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto}
.shell,.container{width:min(1180px,calc(100% - 36px));margin-inline:auto}
.brand img{display:block;width:auto;max-width:220px;height:58px;object-fit:contain}
.site-header{isolation:isolate}
.site-nav a,.services-trigger,.header-call,.menu-toggle{-webkit-tap-highlight-color:transparent}
main h1,main h2,main h3,main h4{overflow-wrap:break-word}
main p,main li,main label,main small{opacity:1}
input,select,textarea,button{font:inherit}
input,select,textarea{max-width:100%;min-width:0}
.booking-form,.contact-form{min-width:0}
.booking-form input,.booking-form select,.booking-form textarea,.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:48px}
.booking-form button,.contact-form button{min-height:50px}
.star-service-grid-six{align-items:stretch}
.star-service-card{height:100%;min-height:380px;min-width:0}
.star-service-card-actions{margin-top:auto;width:100%}
.star-service-title-link{overflow-wrap:anywhere}
.star-project-card img,.star-intro-images img{display:block}
.star-hero-approved-grid>*{min-width:0}
.star-hero-booking{min-width:0}
.star-hero-booking .star-kicker,.star-hero-booking h2,.star-hero-booking p,.star-form-privacy{opacity:1}
.star-hero-product img{width:100%;height:100%;object-fit:cover}
.star-btn,.btn,.header-call{justify-content:center}
.mobile-sticky-cta{padding-bottom:env(safe-area-inset-bottom)}
.star-home>section:not(.star-hero){content-visibility:auto;contain-intrinsic-size:1px 760px}
.site-disclaimer,.site-footer{content-visibility:auto;contain-intrinsic-size:1px 520px}

/* v21 — final conflict cleanup from desktop/mobile visual audit */
.star-intro-mini-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:18px!important}
.star-intro-mini-actions a{position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:44px!important;padding:0 16px!important;border:0!important;border-radius:11px!important;background:var(--ui-grad)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:14px!important;font-weight:800!important;line-height:1.2!important;text-decoration:none!important;white-space:normal!important}
.star-intro-mini-actions a:last-child{background:#fff!important;border:1px solid #cddbea!important;color:#174d7f!important;-webkit-text-fill-color:#174d7f!important}

.star-service-card{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;min-height:410px!important;padding:26px 22px!important;overflow:hidden!important}
.star-service-card .star-icon{position:static!important;flex:0 0 auto!important}
.star-service-card h3{position:static!important;inset:auto!important;transform:none!important;width:100%!important;min-height:54px!important;margin:12px 0 10px!important;color:var(--ui-ink)!important;-webkit-text-fill-color:var(--ui-ink)!important;font-size:20px!important;line-height:1.28!important;text-align:center!important}
.star-service-card h3 a{position:static!important;display:inline!important;color:var(--ui-ink)!important;-webkit-text-fill-color:var(--ui-ink)!important}
.star-service-card p{position:static!important;flex:1 1 auto!important;margin:0 0 18px!important;color:var(--ui-copy)!important;-webkit-text-fill-color:var(--ui-copy)!important;font-size:14px!important;line-height:1.65!important;text-align:center!important}
.star-service-card-actions{position:static!important;inset:auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:9px!important;width:100%!important;margin-top:auto!important;transform:none!important}
.star-service-card-actions a{position:static!important;transform:none!important;max-width:100%!important}
.star-service-call{display:inline-flex!important;min-width:150px!important;min-height:44px!important;padding:0 18px!important;border-radius:11px!important;background:var(--ui-grad)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;text-decoration:none!important}
.star-service-learn{display:inline-flex!important;color:#2169b6!important;-webkit-text-fill-color:#2169b6!important;font-weight:800!important;text-decoration:none!important}

.star-section-head,.star-section-title{min-width:0!important}
.star-section-head h2,.star-section-title h2{max-width:100%!important;font-size:clamp(34px,4.5vw,62px)!important;letter-spacing:-.045em!important;line-height:1.06!important;overflow-wrap:anywhere!important}
.star-review-list .star-section-head{grid-template-columns:minmax(0,1fr) minmax(260px,430px)!important}

.cta-section{background:#071a38!important}
.cta-panel{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:28px!important;background:linear-gradient(135deg,#123561,#0d6d68)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important}
.cta-panel .eyebrow,.cta-panel h2,.cta-panel p{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
.cta-panel h2{font-size:clamp(30px,3.2vw,48px)!important;line-height:1.08!important}
.cta-panel>div:first-child{min-width:0!important;flex:1 1 auto!important}
.cta-panel .cta-actions{flex:0 0 auto!important}

.star-feedback-box{background:var(--ui-grad)!important;color:#fff!important}
.star-feedback-box .star-kicker,.star-feedback-box h2,.star-feedback-box p{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
.star-feedback-box h2{font-size:clamp(32px,4vw,56px)!important;line-height:1.08!important;overflow-wrap:anywhere!important}
.star-feedback-box .star-btn-yellow{background:#0caa5b!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.star-feedback-box .star-btn-dark{background:#071f46!important;color:#fff!important;-webkit-text-fill-color:#fff!important}

.service-confidence-layout>aside{background:linear-gradient(145deg,#0b2449,#103e69)!important;border-color:rgba(37,99,235,.24)!important;color:#fff!important}
.service-confidence-layout>aside .eyebrow,.service-confidence-layout>aside h2,.service-confidence-layout>aside p{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
.service-confidence-layout>aside h2{font-size:clamp(34px,4vw,54px)!important;line-height:1.08!important;overflow-wrap:anywhere!important}
.service-confidence-layout>aside>span{background:rgba(255,255,255,.12)!important}

.service-booking-section{background:var(--ui-grad)!important}
.service-booking-section .booking-info,.service-booking-section .booking-info .eyebrow,.service-booking-section .booking-info h2,.service-booking-section .booking-info p,.service-booking-section .booking-info a{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
.service-booking-section .booking-info h2{font-size:clamp(36px,4.6vw,62px)!important;line-height:1.08!important;overflow-wrap:anywhere!important}
.service-booking-section .booking-card,.service-booking-section .booking-card *{color:var(--ui-ink);-webkit-text-fill-color:initial}
.service-booking-section .booking-card{background:#fff!important}

.star-contact-booking-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.86fr)!important}
.star-contact-booking-grid>*{min-width:0!important}
.star-contact-info-list{min-width:0!important;overflow:hidden!important}
.star-contact-info-list>a,.star-contact-info-list>div{grid-template-columns:52px minmax(0,1fr) 24px!important;min-width:0!important;overflow:hidden!important}
.star-contact-info-list>div{grid-template-columns:52px minmax(0,1fr)!important}
.star-contact-info-list strong{overflow-wrap:anywhere!important}
.star-contact-coverage{background:linear-gradient(145deg,#edf5ff,#effdf4)!important;border-color:#d7e6f2!important;color:var(--ui-ink)!important}
.star-contact-coverage .star-kicker,.star-contact-coverage strong,.star-contact-coverage span{color:var(--ui-ink)!important;-webkit-text-fill-color:var(--ui-ink)!important;opacity:1!important}
.star-contact-coverage .star-kicker{color:#2563eb!important;-webkit-text-fill-color:#2563eb!important}
.star-contact-coverage strong{font-size:clamp(24px,3vw,38px)!important;line-height:1.15!important}
@media(min-width:901px){
 .site-nav{min-width:0}
 .nav-shell{gap:22px}
 .services-menu{max-height:min(72vh,640px);overflow:auto!important;overscroll-behavior:contain}
 .services-menu-grid a{min-width:0}
}
@media(max-width:1100px) and (min-width:901px){
 .brand img{max-width:176px;height:50px}
 .site-nav{gap:13px}
 .site-nav>a,.services-trigger{font-size:13px}
 .header-call{padding-inline:14px}
 .header-call strong{display:none}
}
@media(max-width:900px){
 html{scroll-padding-top:110px}
 .premium-topline{position:relative;z-index:10050}
 .site-header{position:sticky!important;top:0!important;z-index:10030!important;background:#fff!important;box-shadow:0 8px 24px rgba(8,32,63,.08)}
 .nav-shell{width:100%!important;max-width:none!important}
 .brand{overflow:hidden}
 .brand img{width:min(188px,100%)!important;max-width:188px!important;height:50px!important}
 .site-nav{position:fixed!important;z-index:10040!important;top:110px!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;margin:0!important;padding:14px 14px calc(28px + env(safe-area-inset-bottom))!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;border:0!important;border-top:1px solid #dce8f3!important;border-radius:0!important;background:#f7faff!important;box-shadow:none!important;transform:none!important;opacity:1!important;visibility:visible!important}
 .site-nav.open{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important}
 .site-nav:not(.open){display:none!important}
 .site-nav>a,.services-trigger{position:static!important;display:flex!important;flex:none!important;width:100%!important;min-height:52px!important;margin:0!important;padding:0 16px!important;align-items:center!important;justify-content:space-between!important;border:1px solid #dce7f2!important;border-radius:12px!important;background:#fff!important;color:var(--ui-ink)!important;-webkit-text-fill-color:var(--ui-ink)!important;font-size:16px!important;font-weight:800!important;transform:none!important}
 .nav-services{position:static!important;width:100%!important;margin:0!important}
 .nav-services:not(.open) .services-menu{display:none!important}
 .nav-services.open .services-menu{position:static!important;display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;margin:7px 0 0!important;padding:0!important;overflow:visible!important;border:1px solid #dce7f2!important;border-radius:13px!important;background:#fff!important;box-shadow:none!important;transform:none!important;opacity:1!important;visibility:visible!important}
 .services-menu-intro{display:none!important}
 .services-menu-grid{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;width:100%!important;height:auto!important;padding:8px!important;overflow:visible!important;background:#fff!important}
 .site-nav .services-menu-grid a{position:static!important;display:flex!important;width:100%!important;min-height:48px!important;margin:0!important;padding:7px 10px!important;align-items:center!important;gap:11px!important;border:1px solid #e6edf5!important;border-radius:10px!important;background:#fff!important;color:var(--ui-ink)!important;-webkit-text-fill-color:var(--ui-ink)!important;font-size:14px!important;white-space:normal!important;transform:none!important}
 .site-nav .services-menu-grid a span{color:var(--ui-ink)!important;-webkit-text-fill-color:var(--ui-ink)!important}
 .mobile-nav-directory{display:none!important}
 .star-hero{overflow:hidden!important}
 .star-hero-approved-grid{padding-top:40px!important}
 .star-hero-copy h1{max-width:700px;margin-inline:auto;letter-spacing:-.045em!important;line-height:1.04!important}
 .star-hero-copy>p:not(.star-kicker){max-width:620px}
 .star-hero-product{order:2}
 .star-hero-booking{order:3;padding:24px 20px!important;border-radius:20px!important}
 .star-service-ribbon-wrap{margin-top:22px!important}
 .star-service-card{min-height:0!important}
 .star-section-head{gap:18px}
 .star-review-list .star-section-head{grid-template-columns:1fr!important}
 .cta-panel,.star-feedback-box{flex-direction:column!important;align-items:flex-start!important;text-align:left!important;padding:26px 22px!important}
 .cta-panel .cta-actions,.star-feedback-box .star-hero-actions{width:100%!important;flex-wrap:wrap!important}
 .service-confidence-layout>aside h2,.service-booking-section .booking-info h2{font-size:clamp(34px,8.5vw,48px)!important}
 .star-contact-booking-grid{grid-template-columns:1fr!important}
}
@media(max-width:600px){
 .shell,.container{width:min(100% - 28px,1180px)}
 .nav-shell{padding-inline:12px!important;grid-template-columns:minmax(0,1fr) 43px 45px!important;gap:8px!important}
 .brand img{width:min(174px,100%)!important;max-width:174px!important}
 .site-nav{top:110px!important;padding-inline:12px!important}
 .star-hero-approved-grid{padding-top:30px!important;gap:20px!important}
 .star-hero-copy h1{font-size:clamp(37px,11vw,50px)!important}
 .star-kicker-pill{font-size:11px!important;letter-spacing:.1em!important}
 .star-hero-trust-icons{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .star-hero-trust-icons span{min-width:0;padding:11px 7px!important}
 .star-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
 .star-hero-actions .star-btn{width:100%!important;min-height:50px}
 .star-purifier-frame{height:auto!important;aspect-ratio:4/3;border-radius:28px!important}
 .star-pure-badge{transform:scale(.86);transform-origin:right bottom}
 .star-hero-booking{padding:22px 16px!important}
 .star-service-ribbon a{min-height:70px!important}
 .star-section-head{align-items:flex-start!important;flex-direction:column!important}
 .star-section-head .star-btn{width:100%}
 .star-service-card-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
 .star-service-card-actions a{width:100%;justify-content:center}
 .star-intro-images{grid-template-columns:1fr!important}
 .star-project-grid,.star-review-grid,.star-process-grid,.star-stat-grid{grid-template-columns:1fr!important}
 .star-contact-info-list>a{grid-template-columns:42px minmax(0,1fr)!important}
 .star-contact-info-list>div{grid-template-columns:42px minmax(0,1fr)!important}
 .star-contact-info-list>a>i:last-child{display:none!important}
 .star-contact-coverage strong{font-size:26px!important}
 .cta-panel .cta-actions,.star-feedback-box .star-hero-actions{display:grid!important;grid-template-columns:1fr!important}
 .cta-panel .btn,.star-feedback-box .star-btn{width:100%!important;justify-content:center!important}
 .mobile-sticky-cta{z-index:10060!important}
 body{padding-bottom:72px}
}
@media(max-width:380px){
 .nav-shell{grid-template-columns:minmax(0,1fr) 41px 43px!important;padding-inline:9px!important;gap:6px!important}
 .brand img{width:min(155px,100%)!important;max-width:155px!important}
 .header-call,.menu-toggle{min-width:41px!important;width:41px!important}
 .star-hero-copy h1{font-size:36px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-up,.reveal-left,.reveal-right,.reveal-scale{opacity:1!important;transform:none!important}}

/* v19 — streamlined service pages and consistent hero contrast */
.star-services-approved-layout-single{grid-template-columns:minmax(0,1fr)!important}
.service-confidence-layout-single{grid-template-columns:minmax(0,1fr)!important}
.star-reviews .star-kicker{color:#fff!important;-webkit-text-fill-color:#fff!important}
.star-review-hero-grid-single{grid-template-columns:minmax(0,1fr)!important}

body .star-contact-hero{
 color:#fff!important;
 /* Match the approved home/about hero: deep teal → service green → blue. */
 background:radial-gradient(circle at 13% 13%,rgba(255,255,255,.11),transparent 23%),radial-gradient(circle at 91% 79%,rgba(255,255,255,.10),transparent 26%),linear-gradient(105deg,#043b3d 0%,#087d43 31%,#13b550 56%,#237bd5 100%)!important;
}
body .star-contact-hero h1,body .star-contact-hero h2,body .star-contact-hero h3,body .star-contact-hero p,body .star-contact-hero small,body .star-contact-hero strong,body .star-contact-hero span{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
body .star-contact-hero .star-kicker{color:#fff!important;-webkit-text-fill-color:#fff!important}

/* v20 — Services dropdown interaction */
.services-trigger{cursor:pointer}
.header-call{grid-template-columns:auto!important}

/* v21 — mobile navigation drawer must remain above the page and use the real header height. */
@media(max-width:900px){
 body.menu-open{overflow:hidden!important}
 .site-header{z-index:10100!important}
 .site-header .header-call{display:none!important}
 .site-header .nav-shell{grid-template-columns:minmax(0,1fr) 48px!important}
 .site-header .site-nav{
  position:fixed!important;
  top:var(--mobile-nav-top,110px)!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  z-index:10110!important;
  display:none!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:7px!important;
  width:100%!important;
  min-height:calc(100dvh - var(--mobile-nav-top,110px))!important;
  margin:0!important;
  padding:14px!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  background:#f7faff!important;
  border:0!important;
  border-top:1px solid #dce8f3!important;
  border-radius:0!important;
  box-shadow:none!important;
 }
 .site-header .site-nav.open{display:flex!important}
 .site-header .site-nav>a,.site-header .site-nav>.nav-services{flex:0 0 auto!important;width:100%!important;margin:0!important}
 .site-header .site-nav>a,.site-header .services-trigger{min-height:52px!important;margin:0!important}
 .site-header .nav-services.open .services-menu{display:block!important}
}

/* v22 — continuously moving contact ticker in the top service strip. */
.premium-topline{overflow:hidden!important}
.premium-topline-marquee{width:100%;overflow:hidden}
.premium-topline-track{display:flex;width:max-content;animation:premium-topline-ticker 34s linear infinite;will-change:transform}
html body .premium-topline .premium-topline-items{display:flex!important;flex:0 0 auto!important;align-items:center!important;gap:30px!important;min-width:max-content!important;min-height:40px!important;padding:0 30px!important;white-space:nowrap!important}
html body .premium-topline .premium-topline-items .approved-topline-trust,html body .premium-topline .premium-topline-items .approved-topline-contact{display:flex!important;flex:0 0 auto!important;align-items:center!important;gap:30px!important}
.premium-topline-items span,.premium-topline-items a{display:inline-flex!important;align-items:center!important;gap:7px!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:12px!important;font-weight:700!important;text-decoration:none!important}
.premium-topline-items i{color:#fff!important;-webkit-text-fill-color:#fff!important}
.premium-topline-track:hover{animation-play-state:paused}
@keyframes premium-topline-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:900px){
 .premium-topline{min-height:38px!important}
 html body .premium-topline .premium-topline-items{min-height:38px!important;gap:22px!important;padding:0 22px!important}
 html body .premium-topline .premium-topline-items .approved-topline-trust,html body .premium-topline .premium-topline-items .approved-topline-contact{display:flex!important;gap:22px!important}
 .premium-topline-items .approved-topline-trust span{display:inline-flex!important;font-size:11px!important}
 .premium-topline-items .approved-topline-contact a,.premium-topline-items .approved-topline-contact span{display:inline-flex!important;width:auto!important;height:auto!important;padding:0!important;border-radius:0!important;background:transparent!important;font-size:11px!important}
 .premium-topline-items .approved-topline-contact a i{font-size:12px!important}
 .premium-topline-track{animation-duration:28s}
}
@media(prefers-reduced-motion:reduce){.premium-topline-track{animation:none!important;transform:none!important}}

/* v23 — breathing room between the service ribbon and About/intro content. */
.star-service-ribbon-wrap + .star-intro{margin-top:48px!important}
@media(max-width:900px){.star-service-ribbon-wrap + .star-intro{margin-top:32px!important}}
