:root{
  --brand:#2c328c; --brand2:#20a8c7; --brand3:#4b5fc0;
  --ink:#071426; --muted:#647487; --paper:#f7fbfd; --white:#fff;
  --line:rgba(44,50,140,.13); --shadow:0 25px 80px rgba(7,20,38,.12);
  --radius:30px; --max:1280px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}
body::selection{background:var(--brand2);color:white}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
.page-noise{position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
#bubble-layer{position:fixed;inset:0;z-index:1000;pointer-events:none;overflow:hidden}
.cursor-bubble{position:absolute;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:radial-gradient(circle at 30% 24%,rgba(255,255,255,.92),rgba(255,255,255,.08) 25%,rgba(32,168,199,.10) 58%,rgba(44,50,140,.18));box-shadow:inset 0 0 12px rgba(255,255,255,.35),0 5px 16px rgba(32,168,199,.08);transform:translate(-50%,-50%);animation:bubbleFloat 1.5s ease-out forwards}

.site-header{position:fixed;top:18px;left:50%;transform:translateX(-50%);width:min(calc(100% - 40px),var(--max));height:74px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px 10px 18px;z-index:100;background:rgba(255,255,255,.50);border:1px solid rgba(255,255,255,.75);backdrop-filter:blur(20px);border-radius:24px;transition:.35s ease;box-shadow:0 12px 50px rgba(20,35,60,.06)}
.site-header.scrolled{top:10px;height:64px;background:rgba(255,255,255,.82);box-shadow:0 14px 40px rgba(15,31,56,.10)}
.brand{width:84px;height:54px;display:flex;align-items:center;overflow:hidden}
.brand img{width:100%;transform:scale(1.55)}
.nav-links{display:flex;gap:32px;font-size:14px;font-weight:600}
.nav-links a{position:relative}.nav-links a::after{content:"";position:absolute;left:0;bottom:-8px;height:2px;width:0;background:linear-gradient(90deg,var(--brand),var(--brand2));transition:.3s}.nav-links a:hover::after{width:100%}
.menu-btn{display:none;border:0;background:none;width:42px;height:42px}.menu-btn span{display:block;width:22px;height:2px;background:var(--ink);margin:5px auto}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;padding:16px 22px;font-weight:700;border:1px solid transparent;transition:.3s ease;cursor:pointer;position:relative;overflow:hidden}
.btn span{transition:.3s}.btn:hover span{transform:translate(2px,-2px)}
.btn-primary{color:white;background:linear-gradient(110deg,var(--brand),var(--brand3) 50%,var(--brand2));box-shadow:0 10px 30px rgba(44,50,140,.24)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(44,50,140,.30)}
.btn-small{padding:13px 18px;font-size:13px}
.btn-ghost{border-color:rgba(44,50,140,.14);background:rgba(255,255,255,.55)}
.btn-ghost:hover{background:white;transform:translateY(-2px)}
.sparkle-btn::before{content:"";position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.55),transparent 60%);transform:translateX(-80%) rotate(8deg);transition:transform .75s}
.sparkle-btn:hover::before{transform:translateX(80%) rotate(8deg)}

.hero{min-height:100vh;position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:4vw;padding:140px max(4vw,calc((100vw - var(--max))/2)) 90px;overflow:hidden;background:radial-gradient(circle at 88% 14%,rgba(32,168,199,.16),transparent 32%),radial-gradient(circle at 20% 78%,rgba(44,50,140,.12),transparent 28%),linear-gradient(#fbfeff,#f3f9fb)}
.hero-content{position:relative;z-index:3;max-width:730px}
.eyebrow,.section-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--brand)}
.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:24px}.eyebrow span{width:28px;height:2px;background:var(--brand2)}
.hero-title{font-family:"Manrope",sans-serif;font-size:clamp(54px,6.6vw,104px);line-height:.93;letter-spacing:-.055em;margin:0;max-width:900px}.hero-title span,.split-head h2 span,.process h2 span,.quote h2 span,.location h2 span{color:transparent;background:linear-gradient(105deg,var(--brand),var(--brand2));background-clip:text}
.hero-copy{font-size:18px;line-height:1.7;color:var(--muted);max-width:620px;margin:28px 0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-metrics{display:flex;gap:34px;margin-top:52px}.hero-metrics div{display:grid;gap:4px}.hero-metrics strong{font-family:"Manrope";font-size:15px}.hero-metrics span{font-size:12px;color:var(--muted)}

.hero-visual{height:min(68vw,680px);max-height:680px;min-height:530px;position:relative;display:grid;place-items:center}
.orb{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 20%,#79e0ec 0,#20a8c7 24%,#3942a8 70%,#20266f);filter:saturate(1.12);box-shadow:0 40px 100px rgba(44,50,140,.25)}
.glass-card{position:relative;width:78%;aspect-ratio:.88;background:linear-gradient(145deg,rgba(255,255,255,.55),rgba(255,255,255,.18));border:1px solid rgba(255,255,255,.68);backdrop-filter:blur(14px);border-radius:40px;box-shadow:0 30px 80px rgba(24,34,90,.24);overflow:hidden;transform:rotate(3deg)}
.mini-label{position:absolute;z-index:3;top:22px;left:24px;background:rgba(255,255,255,.72);padding:8px 12px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.glass-room{position:absolute;inset:0;background:linear-gradient(#dff5fa 0 64%,#c5dfe6 64%)}
.window{position:absolute;top:17%;left:10%;width:55%;height:36%;border:10px solid rgba(255,255,255,.75);background:linear-gradient(130deg,#aee8f2,#f4fdff);box-shadow:inset 0 0 40px rgba(255,255,255,.4)}
.sofa{position:absolute;left:16%;bottom:18%;width:60%;height:18%;border-radius:32px 32px 18px 18px;background:white;box-shadow:0 14px 30px rgba(44,50,140,.10)}
.plant{position:absolute;right:12%;bottom:15%;width:11%;height:31%;background:linear-gradient(90deg,#2c328c,#20a8c7);border-radius:60% 20% 60% 20%;transform:rotate(18deg);opacity:.8}
.shine-line{position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 41%,rgba(255,255,255,.44) 49%,transparent 57%);animation:shine 6s infinite}
.steam-layer{position:absolute;width:78%;aspect-ratio:.88;border-radius:40px;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),transparent 0 10%,rgba(255,255,255,.12) 18%,rgba(255,255,255,.65) 52%);pointer-events:none;transition:background-position .15s}
.hero-badge{position:absolute;right:0;bottom:14%;display:flex;align-items:center;gap:10px;background:white;border:1px solid var(--line);border-radius:20px;padding:14px 18px;box-shadow:var(--shadow);font-weight:700}.hero-badge i{font-style:normal;color:var(--brand2)}
.scroll-cue{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--muted)}.scroll-cue span{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;position:relative}.scroll-cue span::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:8px;border-radius:3px;background:var(--brand2);animation:scrollDot 1.6s infinite}

.trust-strip{overflow:hidden;background:var(--ink);color:white;padding:18px 0}.marquee-track{display:flex;align-items:center;gap:26px;width:max-content;animation:marquee 25s linear infinite;font-family:"Manrope";font-weight:600}.marquee-track i{font-style:normal;color:var(--brand2)}

.section{width:min(calc(100% - 48px),var(--max));margin:auto;padding:120px 0}
.section-kicker{margin-bottom:18px}.section-kicker.light{color:#91f1fb}.section-kicker.center{text-align:center}
.split-head{display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:end}.split-head h2,.promise h2,.location h2,.quote h2,.footer-top h2{font-family:"Manrope";font-size:clamp(42px,5.6vw,82px);line-height:.98;letter-spacing:-.05em;margin:0}.split-head p{color:var(--muted);font-size:17px;line-height:1.7;margin:0}
.service-tags{display:flex;gap:12px;flex-wrap:wrap;margin-top:64px}.service-tags span{padding:12px 18px;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:800;color:var(--brand);background:rgba(255,255,255,.55)}

.wipe-section{height:300vh;background:#071426;color:white;position:relative}
.wipe-sticky{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:.65fr 1.35fr;gap:5vw;align-items:center;width:min(calc(100% - 48px),1500px);margin:auto}
.wipe-copy h2{font-family:"Manrope";font-size:clamp(50px,6vw,86px);line-height:.95;letter-spacing:-.05em;margin:0}.wipe-copy h2 span{color:#91f1fb}.wipe-copy p{color:#9fb0c2;line-height:1.7;max-width:420px}
.wipe-progress{height:3px;background:rgba(255,255,255,.12);margin-top:32px;border-radius:3px;overflow:hidden}.wipe-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#4d67ca,#20a8c7)}
.wipe-stage{position:relative;aspect-ratio:16/10;border-radius:32px;overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.38);background:#dff7fa}
.room{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dirty-layer{position:absolute;inset:0;clip-path:inset(0 0 0 0);overflow:hidden}
.room-dirty{filter:saturate(.75) contrast(.93)}
.wiper{position:absolute;z-index:6;width:30%;left:-8%;top:42%;filter:drop-shadow(0 18px 22px rgba(0,0,0,.18));transform:rotate(-4deg)}
.clean-label,.dirty-label{position:absolute;top:20px;z-index:7;padding:8px 11px;border-radius:999px;font-size:10px;letter-spacing:.15em;font-weight:800;background:rgba(7,20,38,.75);backdrop-filter:blur(10px)}.dirty-label{left:20px}.clean-label{right:20px;background:rgba(32,168,199,.82)}
.completion-copy{position:absolute;z-index:7;left:50%;top:50%;transform:translate(-50%,-50%) scale(.88);display:grid;text-align:center;opacity:0;pointer-events:none;text-shadow:0 2px 20px rgba(0,0,0,.18)}.completion-copy span{font-size:38px;color:white}.completion-copy strong{font-family:"Manrope";font-size:clamp(26px,4vw,54px)}.completion-copy small{margin-top:8px}

.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;min-height:390px;padding:28px;border-radius:28px;background:white;border:1px solid rgba(44,50,140,.10);overflow:hidden;transition:.35s;box-shadow:0 10px 30px rgba(12,30,60,.04)}.service-card:hover{transform:translateY(-8px) scale(1.015);box-shadow:0 24px 60px rgba(12,30,60,.10);border-color:rgba(32,168,199,.28)}.service-card::before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:rgba(32,168,199,.12);left:var(--rx,50%);top:var(--ry,50%);transform:translate(-50%,-50%) scale(0);transition:transform .7s}.service-card:hover::before{transform:translate(-50%,-50%) scale(50)}
.card-no{font-size:11px;font-weight:800;color:var(--brand2);letter-spacing:.14em}.card-icon{font-size:40px;margin:66px 0 22px;color:var(--brand)}.service-card h3{position:relative;font-family:"Manrope";font-size:24px;margin:0 0 12px}.service-card p{position:relative;color:var(--muted);line-height:1.6}.service-card a{position:absolute;left:28px;bottom:26px;font-weight:700;font-size:13px}.service-card a span{display:inline-block;transition:.3s}.service-card:hover a span{transform:translate(4px,-4px)}.service-card.featured{color:white;background:linear-gradient(145deg,var(--brand),#3f4bac 56%,var(--brand2));border:none}.service-card.featured p,.service-card.featured .card-no{color:rgba(255,255,255,.74)}.service-card.featured .card-icon{color:#a4f2f7}

.promise{position:relative;text-align:center;padding-top:160px;padding-bottom:160px}.promise-glow{position:absolute;left:50%;top:32%;width:70%;height:60%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(32,168,199,.10),transparent 64%);pointer-events:none}.promise h2{margin:0 auto 30px}.promise h2 span{color:var(--brand2)}.promise>p{position:relative;margin:0 auto;max-width:1000px;font-family:"Manrope";font-size:clamp(24px,3.2vw,46px);line-height:1.35;letter-spacing:-.035em;color:#233247}.spark-word{color:var(--brand);position:relative}.spark-word::after{content:"✦";position:absolute;right:-18px;top:-8px;color:var(--brand2);font-size:13px;opacity:0;transform:scale(0) rotate(-30deg)}.spark-word.spark::after{animation:spark .7s ease}
.promise-values{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:88px;text-align:left}.promise-values>div{padding:24px;border-top:1px solid var(--line)}.promise-values strong{color:var(--brand2);font-size:12px}.promise-values h3{font-family:"Manrope";font-size:18px}.promise-values p{font-size:14px;color:var(--muted);line-height:1.55}

.process{padding-top:60px}.process-line{height:2px;background:var(--line);margin:80px 0 26px;position:relative}.process-line span{position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,var(--brand),var(--brand2))}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.process-step{padding:18px 10px}.process-step b{font-size:12px;color:var(--brand2)}.process-step h3{font-family:"Manrope";font-size:21px;margin:22px 0 8px}.process-step p{font-size:14px;color:var(--muted);line-height:1.6}

.compare{position:relative;margin-top:58px;aspect-ratio:16/8;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);touch-action:none}.compare>img,.compare-before img{width:100%;height:100%;object-fit:cover}.compare-before{position:absolute;inset:0;width:50%;overflow:hidden}.compare-before img{width:calc(100vw - 48px);max-width:var(--max);object-fit:cover;object-position:left top}.compare-handle{position:absolute;top:0;left:50%;height:100%;width:3px;border:0;padding:0;background:white;transform:translateX(-50%);cursor:ew-resize;box-shadow:0 0 20px rgba(0,0,0,.15)}.compare-handle span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:white;color:var(--brand);font-weight:800;box-shadow:0 8px 28px rgba(0,0,0,.18)}.compare-tag{position:absolute;top:20px;padding:8px 12px;border-radius:999px;font-size:10px;letter-spacing:.14em;font-weight:800;color:white;background:rgba(7,20,38,.64);backdrop-filter:blur(10px)}.compare-tag.before{left:20px}.compare-tag.after{right:20px;background:rgba(32,168,199,.8)}

.location-card{min-height:560px;border-radius:40px;background:linear-gradient(135deg,#171d6c,var(--brand) 45%,#238fac);color:white;padding:70px;display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:60px;overflow:hidden;position:relative}.location h2 span{background:linear-gradient(90deg,#fff,#91f1fb);background-clip:text}.location p{max-width:620px;color:rgba(255,255,255,.72);font-size:17px;line-height:1.7}.location-orbit{position:relative;display:grid;place-items:center;min-height:380px}.location-orbit img{width:62%;filter:drop-shadow(0 20px 30px rgba(0,0,0,.25));animation:logoBreath 6s ease-in-out infinite}.orbit-ring{position:absolute;width:82%;aspect-ratio:1;border:1px solid rgba(255,255,255,.28);border-radius:50%}.orbit-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:#91f1fb;box-shadow:0 0 18px #91f1fb;animation:orbit 7s linear infinite;transform-origin:0 0}

.quote-panel{border:1px solid var(--line);background:white;border-radius:36px;padding:56px;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;box-shadow:0 30px 100px rgba(7,20,38,.07)}.quote h2{font-size:clamp(42px,4.7vw,70px)}.quote-copy>p{color:var(--muted);line-height:1.7}.contact-mini{display:flex;flex-direction:column;gap:8px;margin-top:32px;font-weight:700}.quote-form{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-form label{display:grid;gap:8px;font-size:12px;font-weight:700}.quote-form input,.quote-form textarea,.quote-form select{border:1px solid var(--line);background:#f9fcfd;border-radius:16px;padding:15px 16px;outline:none;transition:.25s;color:var(--ink)}.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{border-color:var(--brand2);box-shadow:0 0 0 4px rgba(32,168,199,.10);background:white}.quote-form small{color:var(--muted)}

.contact{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:center}.contact-logo{height:300px;display:grid;place-items:center;border-radius:32px;background:linear-gradient(145deg,#fff,#edf7fa);border:1px solid var(--line)}.contact-logo img{width:66%;animation:logoBreath 7s ease-in-out infinite}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}.contact-grid span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--brand2);font-weight:800}.contact-grid p,.contact-grid a{display:block;margin-top:9px;font-family:"Manrope";font-size:20px;line-height:1.4}

footer{background:#071426;color:white;padding:80px max(4vw,calc((100vw - var(--max))/2)) 28px}.footer-top{display:flex;justify-content:space-between;gap:80px;align-items:flex-end;padding-bottom:80px;border-bottom:1px solid rgba(255,255,255,.12)}.footer-top h2{max-width:950px}.footer-top h2 span{color:#91f1fb}.footer-cta{white-space:nowrap;padding:17px 24px;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-weight:700}.footer-bottom{display:flex;justify-content:space-between;padding-top:28px;color:#8fa0b2;font-size:13px}



/* --- September refinement update --- */
.brand{
  width: 142px;
  height: 72px;
  padding: 4px 2px;
  overflow: visible;
}
.brand img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: none;
  filter: drop-shadow(0 8px 18px rgba(44,50,140,.12));
}

.hero-badge--info{
  right: -2%;
  bottom: 10%;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 18px;
  min-width: 240px;
}
.hero-badge--info i{
  color: var(--brand2);
  font-size: 14px;
  line-height: 1.7;
}
.hero-badge--info strong{
  display: block;
  font-size: 14px;
  font-family: "Manrope", sans-serif;
  margin-bottom: 3px;
}
.hero-badge--info span{
  display: block;
  font-size: 12px;
  line-height: 1.45;
  color: var(--muted);
}

.hero-visual-panel{
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 18px;
  z-index: 4;
  border-radius: 26px;
  padding: 18px 18px 16px;
  background: linear-gradient(145deg, rgba(255,255,255,.78), rgba(255,255,255,.48));
  border: 1px solid rgba(255,255,255,.82);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 40px rgba(12,32,60,.10);
}
.hero-visual-panel .panel-title{
  margin-bottom: 12px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--brand);
  font-weight: 800;
}
.hero-visual-panel .panel-item{
  display: grid;
  gap: 2px;
  padding: 9px 0;
  border-top: 1px solid rgba(44,50,140,.08);
}
.hero-visual-panel .panel-item:first-of-type{
  border-top: 0;
  padding-top: 0;
}
.hero-visual-panel strong{
  font-size: 14px;
  font-family: "Manrope", sans-serif;
}
.hero-visual-panel span{
  font-size: 12px;
  color: var(--muted);
  line-height: 1.45;
}

.compare{
  background: #eff9fb;
}
.compare-handle{
  position: absolute;
  top: 0;
  left: 50%;
  width: 138px;
  height: 100%;
  transform: translateX(-50%);
  background: transparent;
  border: 0;
  padding: 0;
  cursor: ew-resize;
}
.compare-handle::before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 3px;
  transform: translateX(-50%);
  background: rgba(255,255,255,.96);
  box-shadow: 0 0 20px rgba(255,255,255,.55);
}
.compare-handle .wiper-thumb{
  position: absolute;
  left: 50%;
  top: 46%;
  width: 118px;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 18px 24px rgba(7,20,38,.18));
}
.compare-handle .wiper-thumb img{
  width: 100%;
  height: auto;
  display: block;
}
.compare-handle .drag-label{
  position: absolute;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  white-space: nowrap;
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(7,20,38,.72);
  color: white;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.location-card p{
  max-width: 720px;
}

.contact-logo{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: linear-gradient(145deg, #ffffff, #eef7fb);
}
.contact-logo::before{
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(32,168,199,.26), rgba(44,50,140,.18) 35%, rgba(255,255,255,0) 72%);
  filter: blur(14px);
  z-index: 0;
}
.contact-logo::after{
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 28px;
  border: 1px solid rgba(255,255,255,.75);
  background: linear-gradient(180deg, rgba(255,255,255,.38), rgba(255,255,255,.12));
  z-index: 0;
}
.contact-logo img{
  position: relative;
  z-index: 2;
  width: 68%;
  filter: drop-shadow(0 10px 22px rgba(44,50,140,.18)) drop-shadow(0 0 34px rgba(32,168,199,.22));
}

.footer-note{
  margin-top: 24px;
  margin-bottom: 10px;
  color: rgba(255,255,255,.72);
  font-size: 14px;
}

@media(max-width:1050px){
  .brand{
    width: 126px;
    height: 64px;
  }
}

@media(max-width:720px){
  .brand{
    width: 116px;
    height: 56px;
  }
  .hero-visual-panel{
    left: 14px;
    right: 14px;
    bottom: 14px;
    padding: 16px 14px 14px;
  }
  .hero-badge--info{
    right: 3%;
    bottom: 8%;
    min-width: 210px;
  }
  .compare-handle{
    width: 114px;
  }
  .compare-handle .wiper-thumb{
    width: 98px;
    top: 42%;
  }
  .compare-handle .drag-label{
    bottom: 18px;
    font-size: 9px;
  }
}



/* ===== Refinement round: loader, synchronized main wiper, icons, marquee, logo glow ===== */

/* 1.5 second opening loader */
body.is-loading{overflow:hidden}
.site-loader{
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:center;
  align-content:center;
  gap:28px;
  background:
    radial-gradient(circle at 50% 44%,rgba(32,168,199,.14),transparent 28%),
    linear-gradient(145deg,#fbfeff,#eef8fb);
  transition:opacity .45s ease,visibility .45s ease;
}
.site-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-mark{
  position:relative;
  width:190px;
  height:190px;
  display:grid;
  place-items:center;
}
.loader-mark img{
  position:relative;
  z-index:2;
  width:136px;
  height:136px;
  object-fit:contain;
  filter:drop-shadow(0 16px 26px rgba(44,50,140,.16));
  animation:loaderLogo 1.5s cubic-bezier(.2,.75,.25,1) both;
}
.loader-ring{
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1px solid rgba(44,50,140,.15);
  box-shadow:0 0 50px rgba(32,168,199,.12);
}
.loader-ring::after{
  content:"";
  position:absolute;
  width:12px;height:12px;
  left:50%;top:-6px;
  margin-left:-6px;
  border-radius:50%;
  background:var(--brand2);
  box-shadow:0 0 18px rgba(32,168,199,.65);
  animation:loaderOrbit 1.5s linear both;
  transform-origin:6px 101px;
}
.loader-line{
  width:160px;
  height:3px;
  border-radius:99px;
  overflow:hidden;
  background:rgba(44,50,140,.10);
}
.loader-line span{
  display:block;
  width:100%;height:100%;
  transform-origin:left center;
  background:linear-gradient(90deg,var(--brand),var(--brand2));
  animation:loaderLine 1.5s ease both;
}

/* Truly seamless trust marquee */
.trust-strip{overflow:hidden}
.marquee-track{
  display:flex;
  align-items:center;
  gap:0;
  width:max-content;
  will-change:transform;
  animation:marqueeSeamless 20s linear infinite;
}
.marquee-group{
  display:flex;
  align-items:center;
  gap:26px;
  flex:none;
  padding-right:26px;
}
.marquee-group i{
  font-style:normal;
  color:var(--brand2);
}

/* Main scroll cleaning wiper: vertical like the supplied reference */
.wiper.wiper-scroll{
  width:10.5%;
  height:86%;
  max-width:none;
  object-fit:contain;
  left:-6%;
  top:7%;
  z-index:8;
  transform:none;
  filter:drop-shadow(0 20px 24px rgba(0,0,0,.24));
  pointer-events:none;
}
.clean-label{left:20px;right:auto}
.dirty-label{right:20px;left:auto}

/* Better service icons */
.card-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin:58px 0 22px;
  border-radius:18px;
  color:var(--brand);
  background:linear-gradient(145deg,rgba(44,50,140,.07),rgba(32,168,199,.09));
  border:1px solid rgba(44,50,140,.08);
}
.card-icon svg{
  width:32px;
  height:32px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.service-card.featured .card-icon{
  color:#b9f6fb;
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.18);
}

/* Restore the secondary manual before/after slider to a simple control */
.compare-handle{
  position:absolute;
  top:0;
  left:50%;
  height:100%;
  width:3px;
  border:0;
  padding:0;
  background:white;
  transform:translateX(-50%);
  cursor:ew-resize;
  box-shadow:0 0 20px rgba(0,0,0,.15);
}
.compare-handle::before{display:none}
.compare-handle span{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:50%;
  background:white;
  color:var(--brand);
  font-weight:800;
  box-shadow:0 8px 28px rgba(0,0,0,.18);
}

/* Undo glow on contact logo */
.contact-logo::before,.contact-logo::after{display:none!important}
.contact-logo img{
  position:relative;
  z-index:1;
  width:66%;
  filter:none;
  animation:logoBreath 7s ease-in-out infinite;
}

/* Correct glow: logo inside the blue nationwide section */
.location-orbit::before,
.location-orbit::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.location-orbit::before{
  width:76%;
  aspect-ratio:1;
  background:radial-gradient(circle,rgba(163,246,255,.30) 0%,rgba(32,168,199,.20) 28%,rgba(57,66,168,.10) 50%,transparent 72%);
  filter:blur(8px);
  animation:locationGlow 4.8s ease-in-out infinite;
}
.location-orbit::after{
  width:58%;
  aspect-ratio:1;
  border:1px solid rgba(184,247,255,.28);
  box-shadow:0 0 45px rgba(82,222,238,.14),inset 0 0 35px rgba(255,255,255,.05);
}
.location-orbit img{
  position:relative;
  z-index:3;
  width:64%;
  filter:
    drop-shadow(0 18px 32px rgba(0,0,0,.24))
    drop-shadow(0 0 24px rgba(114,235,247,.36))
    brightness(1.10)
    saturate(1.08);
  animation:logoBreath 6s ease-in-out infinite;
}
.orbit-ring,.orbit-dot{z-index:2}
