@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../_fonts/PlusJakartaSans-normal-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../_fonts/PlusJakartaSans-normal-500.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../_fonts/PlusJakartaSans-normal-700.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../_fonts/PlusJakartaSans-normal-800.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.fairtide-cleaning{--display:"Plus Jakarta Sans",system-ui,sans-serif;--body:"Plus Jakarta Sans",system-ui,sans-serif;--dw:800;--dls:-.035em;--bg:#F5FAF9;--ink:#10302F;--muted:#4D6967;--accent:#127C78;--accent2:#0D6662;--soft:#DFF2EE;--line:#D5E7E3;--card:#fff;--r:14px;--r2:24px;--footbg:#10302F}
.hero{padding:16px 0 80px}
.hero__frame{position:relative;border-radius:32px;overflow:hidden;min-height:640px;display:flex;align-items:flex-end}
.hero__frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__card{position:relative;margin:32px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-radius:24px;padding:clamp(26px,4vw,44px);max-width:560px;box-shadow:0 30px 60px -30px rgba(16,48,47,.45)}
.badge{display:inline-block;background:#DFF2EE;color:#127C78;font-weight:700;font-size:14px;padding:7px 14px;border-radius:999px;margin-bottom:18px}
.hero h1{font-size:clamp(42px,5.6vw,76px);line-height:1;margin-bottom:16px}
.hero__p{color:var(--muted);font-size:18px}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.card .ic{border-radius:14px}
.est{background:#10302F;color:#fff}.est .lead{color:#A9C7C3}.est .eyebrow{color:#7FD8CB}
.est__fine{margin-top:16px;font-size:13px;opacity:.5}
.est__in{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.calc{background:#fff;color:#10302F;border-radius:24px;padding:clamp(24px,4vw,38px);display:grid;gap:22px}
.row label{display:flex;justify-content:space-between;font-weight:700;margin-bottom:10px}.row b{color:#127C78}
input[type=range]{width:100%;accent-color:#127C78;height:28px;cursor:pointer}
.freq{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.freq legend{font-weight:700;margin-bottom:10px;padding:0}
.freq label{cursor:pointer}.freq input{position:absolute;opacity:0}
.freq span{display:block;text-align:center;padding:13px 8px;border:1.5px solid #D5E7E3;border-radius:12px;font-weight:600;font-size:15px;transition:all .2s}
.freq label:hover span{border-color:#127C78}.freq input:checked+span{background:#127C78;color:#fff;border-color:#127C78}
.freq input:focus-visible+span{outline:3px solid #127C78;outline-offset:2px}
.calc__out{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #D5E7E3;padding-top:20px}
.calc__out b{font-size:48px;font-weight:800;letter-spacing:-.04em;color:#127C78}
@media(max-width:900px){.est__in{grid-template-columns:1fr}}
@media(max-width:600px){.hero__frame{min-height:620px;border-radius:24px}.hero__card{margin:12px}}