:root{--ink:#152e35;--deep:#12343b;--blue:#3e7b81;--aqua:#cde6e3;--mist:#edf4f1;--paper:#f7f7f3;--sand:#e6dac9;--muted:#647474;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--gutter:clamp(24px,7.5vw,116px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip-link{position:absolute;left:20px;top:-100px;z-index:100;padding:12px 18px;background:#fff}.skip-link:focus{top:10px}.site-header{height:84px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;background:rgba(247,247,243,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(21,46,53,.08)}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{width:38px;height:38px;border:1px solid rgba(62,123,129,.36);border-radius:50%;display:grid;place-items:center}.brand-mark svg{width:22px;height:22px;fill:none;stroke:var(--blue);stroke-width:1.4;stroke-linecap:round}.brand-copy{display:flex;flex-direction:column;line-height:1.1;letter-spacing:.17em}.brand-copy strong{font-size:14px;font-weight:700}.brand-copy small{font-size:8px;margin-top:5px;letter-spacing:.2em;color:var(--muted)}.desktop-nav{display:flex;gap:clamp(22px,3.1vw,50px);margin-left:auto;margin-right:clamp(28px,6vw,90px)}.desktop-nav a,.header-call{font-size:12px;font-weight:500;letter-spacing:.02em;color:#40585a;transition:color .2s}.desktop-nav a:hover,.header-call:hover{color:#118b8c}.header-call{display:flex;align-items:center;gap:9px}.call-dot{width:7px;height:7px;background:#63a99d;border-radius:50%;box-shadow:0 0 0 4px rgba(99,169,157,.13)}.menu-toggle,.mobile-menu{display:none}
.hero{height:min(780px,calc(100svh - 84px));min-height:610px;position:relative;background:#25484c;color:#fff;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background-image:url("/assets/clear-pool.jpg");background-size:cover;background-position:center 57%;transform:scale(1.015)}.hero-shade{background:linear-gradient(90deg,rgba(8,35,39,.68) 0%,rgba(10,37,41,.43) 43%,rgba(7,29,35,.08) 100%),linear-gradient(0deg,rgba(10,34,37,.34),transparent 28%)}.hero-content{position:relative;z-index:1;padding-left:var(--gutter);padding-top:clamp(104px,13vw,186px);max-width:870px}.eyebrow{font-size:9px;letter-spacing:.19em;font-weight:700;color:#658283;display:flex;align-items:center;gap:12px}.eyebrow.light{color:rgba(255,255,255,.8)}.eyebrow-line{width:28px;height:1px;background:#74a5a2;display:inline-block}.hero h1,.intro h2,.section-heading h2,.detail-copy h2,.reviews h2,.area-copy h2,.contact-intro h2{font-size:clamp(48px,7.1vw,92px);font-weight:500;line-height:1.03;letter-spacing:-.055em;margin:27px 0}.hero h1 em,.intro h2 em,.section-heading h2 em,.detail-copy h2 em,.reviews h2 em,.area-copy h2 em,.contact-intro h2 em{font-family:var(--serif);font-weight:500;letter-spacing:-.045em}.hero h1 em{color:#d7efea}.hero-content>p{max-width:420px;color:rgba(255,255,255,.86);font-size:15px;line-height:1.7;margin:0 0 32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:15px 20px;min-height:51px;font-size:11px;font-weight:600;letter-spacing:.025em;border:1px solid transparent;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:16px;font-weight:400}.button-light{background:#f7f7f3;color:var(--ink)}.button-light:hover{background:#dcefe9}.hero-caption{position:absolute;bottom:28px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;color:rgba(255,255,255,.72);font-size:8px;letter-spacing:.17em;font-weight:600}.scroll-cue{position:absolute;bottom:0;left:50%;height:58px;width:30px;display:grid;place-items:center}.scroll-cue span{width:1px;height:32px;background:rgba(255,255,255,.75)}
.section-pad{padding-left:var(--gutter);padding-right:var(--gutter)}.intro{padding-top:clamp(100px,13vw,180px);padding-bottom:clamp(100px,13vw,170px);display:grid;grid-template-columns:1fr 2fr .7fr;gap:5vw;align-items:start}.intro-label{padding-top:14px}.intro h2,.section-heading h2,.reviews h2,.area-copy h2,.contact-intro h2{font-size:clamp(42px,5vw,65px);margin:0 0 25px}.intro-copy>p{max-width:640px;font-size:15px;color:#627274;line-height:1.9;margin:0 0 23px}.text-link{font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:13px;border-bottom:1px solid #96b5b1;padding-bottom:5px;color:#2d6162}.text-link span{font-size:15px}.intro-note{align-self:end;justify-self:end;border-left:1px solid #b8cbca;padding:3px 0 3px 24px;margin-bottom:4px}.note-number{font-family:var(--serif);font-size:68px;line-height:1;color:#3e777a}.note-number span{font-size:34px}.note-caption{display:block;font-size:8px;font-weight:700;letter-spacing:.16em;line-height:1.7;color:#657b7a;margin-top:9px}
.care-section{padding:0 0 104px;background:var(--mist)}.section-heading{padding-top:100px;padding-bottom:46px;display:flex;justify-content:space-between;align-items:end;gap:40px}.section-heading h2{margin-top:24px;margin-bottom:0}.section-heading>p{max-width:340px;color:#6b7b7b;font-size:13px;margin:0 0 6px;line-height:1.8}.care-grid{padding:0 var(--gutter);display:grid;grid-template-columns:1.22fr 1fr 1fr;gap:22px;align-items:start}.care-card{background:#fff;min-width:0}.care-photo{height:clamp(220px,27vw,370px);background-size:cover;background-position:center;position:relative}.care-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,54,56,.1),transparent 45%)}.photo-water{background-image:url("https://images.unsplash.com/photo-1576013551627-0cc20b96c2a7?auto=format&fit=crop&w=1000&q=85");background-position:center}.photo-equipment{background-image:url("/assets/pool-care.jpg");background-position:center 53%}.photo-spa{background-image:url("/assets/outdoor-spa.jpg");background-position:center}.care-card-copy{padding:25px 25px 29px}.card-index{font-size:8px;letter-spacing:.17em;color:#759091;font-weight:700}.care-card h3{font-family:var(--serif);font-size:25px;font-weight:500;margin:13px 0 7px;letter-spacing:-.02em}.care-card p{color:#6c7a7a;font-size:12px;line-height:1.8;min-height:66px;margin:0 0 18px}.care-card a{display:flex;justify-content:space-between;border-top:1px solid #e4ebea;padding-top:13px;color:#3d7776;font-size:10px;font-weight:700}.care-card a span{font-size:14px}.care-footnote{margin:28px var(--gutter) 0;padding-top:19px;border-top:1px solid rgba(34,74,75,.14);display:flex;justify-content:space-between;align-items:center;color:#718281;font-size:11px}
.detail-band{display:grid;grid-template-columns:1fr 1fr;min-height:590px;background:var(--deep);color:#fff}.detail-image{min-height:590px;background-image:url("/assets/clear-pool.jpg");background-size:cover;background-position:center}.detail-copy{padding:clamp(70px,9vw,124px) clamp(42px,8vw,126px);align-self:center}.detail-copy h2{font-size:clamp(43px,5vw,67px);margin:23px 0}.detail-copy h2 em{color:#b8ddda}.detail-copy>p{font-size:13px;color:rgba(255,255,255,.72);line-height:1.9;max-width:440px;margin:0}.detail-points{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin:31px 0 34px;font-size:10px;color:#e0e9e5}.detail-points span:last-child{grid-column:1 / -1}.detail-points i{font-style:normal;color:#8bb8b3;font-size:8px;letter-spacing:.08em;margin-right:11px}.button-outline-light{border-color:rgba(255,255,255,.45);color:#fff}.button-outline-light:hover{background:rgba(255,255,255,.1)}
.reviews{padding-top:clamp(100px,12vw,156px);padding-bottom:clamp(90px,11vw,144px)}.reviews-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px;gap:36px}.reviews h2{margin:22px 0 0}.rating-block{min-width:220px;display:flex;flex-direction:column;align-items:flex-start;border-left:1px solid #b8cbca;padding:4px 0 6px 24px}.stars{color:#a5783c;letter-spacing:.17em;font-size:13px}.rating-block strong{font-family:var(--serif);font-size:34px;font-weight:500;line-height:1.4}.rating-block strong span{font:400 12px var(--sans);color:#8a9996}.rating-block a{font-size:9px;color:#668180;border-bottom:1px solid #b7cecb}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-grid blockquote{margin:0;padding:25px 24px 20px;background:#fff;min-height:215px;display:flex;flex-direction:column}.quote-mark{font-family:var(--serif);font-size:42px;color:#78a4a1;line-height:.9}.review-grid blockquote>p{font-family:var(--serif);font-size:17px;line-height:1.55;color:#30484a;margin:12px 0 22px;flex:1}.review-grid footer{display:flex;align-items:center;gap:10px;border-top:1px solid #e9eeeb;padding-top:13px}.review-avatar{width:29px;height:29px;border-radius:50%;background:#d9e8e4;color:#3e7372;display:grid;place-items:center;font-size:10px;font-weight:700}.avatar-sand{background:#eee4d6;color:#8c6940}.avatar-green{background:#dae6db;color:#5d7d65}.review-grid footer strong,.review-grid footer small{display:block}.review-grid footer strong{font-size:9px}.review-grid footer small{font-size:8px;color:#84918f;margin-top:2px}.stars.mini{font-size:8px;margin-left:auto}.review-links{display:flex;align-items:center;gap:26px;margin-top:27px;padding-top:19px;border-top:1px solid #dce4e1}.review-links>span{font-size:10px;color:#81908e;margin-right:auto}.review-source-note{font-size:8px;color:#8b9997;margin-top:14px}
.service-area{display:grid;grid-template-columns:1.15fr 1fr;background:#edf2ee;min-height:445px}.area-art{position:relative;overflow:hidden;background:linear-gradient(135deg,#d8e8e2,#edf1e8);min-height:390px}.area-art svg{position:absolute;inset:0;width:100%;height:100%}.hill-back{fill:#becfbe}.hill-front{fill:#7eaa9e}.waterline{fill:none;stroke:#e2eee9;stroke-width:3}.area-sun{position:absolute;width:175px;height:175px;border-radius:50%;top:49px;left:30%;background:#f2dfb7;opacity:.75}.map-label{position:absolute;font-size:8px;letter-spacing:.17em;color:#446e6a;font-weight:700}.label-one{top:45%;left:30%}.label-two{top:68%;left:55%}.area-dot{position:absolute;top:50%;left:42%;width:13px;height:13px;border-radius:50%;background:#fff;border:4px solid #498681;box-shadow:0 0 0 8px rgba(255,255,255,.4)}.area-copy{padding:80px clamp(42px,8vw,120px);align-self:center}.area-copy h2{margin:23px 0}.area-copy>p{max-width:400px;color:#6b7d7b;font-size:12px;line-height:1.9;margin:0 0 24px}
.contact-section{display:grid;grid-template-columns:.92fr 1.08fr;gap:9vw;padding:clamp(82px,10vw,132px) var(--gutter);background:var(--deep);color:#fff}.contact-intro{padding-top:13px}.contact-intro h2{margin:23px 0;font-size:clamp(48px,6vw,76px)}.contact-intro h2 em{color:#b8ddda}.contact-intro>p{font-size:13px;color:rgba(255,255,255,.69);line-height:1.9;max-width:370px}.direct-contact{margin-top:54px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.direct-contact>span{font-size:8px;color:rgba(255,255,255,.55);letter-spacing:.13em;text-transform:uppercase}.direct-contact>a{font-family:var(--serif);font-size:20px;color:#e9f2ec}.direct-contact>a span{font-family:var(--sans);font-size:13px;color:#8ebbb3}.direct-contact .thumbtack-contact{font-family:var(--sans);font-size:10px;color:#a6c9c3;margin-top:7px;border-bottom:1px solid #608783;padding-bottom:4px}.quote-form{background:#f9f9f5;color:var(--ink);padding:34px clamp(26px,4vw,50px) 28px;max-width:610px;width:100%;justify-self:end}.form-head{display:flex;justify-content:space-between;border-bottom:1px solid #dce5e1;padding-bottom:15px;margin-bottom:20px;color:#6b8583;font-size:8px;letter-spacing:.16em;font-weight:700}.quote-form label{font-size:10px;font-weight:600;display:block;margin:17px 0 7px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:0;border-bottom:1px solid #cddbd7;border-radius:0;padding:10px 2px 12px;background:transparent;color:#284043;outline:none;font-size:12px}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:#3a8280;box-shadow:0 1px #3a8280}.quote-form ::placeholder{color:#9aa8a3}.quote-form textarea{resize:vertical;min-height:70px}.quote-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%2369807e'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center}.form-row{display:grid;grid-template-columns:1.3fr .7fr;gap:18px}.optional{float:right;font-size:7px;font-weight:500;letter-spacing:.12em;color:#8a9995}.button-dark{background:var(--deep);color:#fff;width:100%;margin-top:21px;cursor:pointer}.button-dark:hover{background:#2d5e61}.form-note{font-size:8px;line-height:1.5;color:#7c8987;margin:12px 0 0}.site-footer{background:#0c272e;color:#fff;padding:38px var(--gutter) 29px;display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:30px}.footer-brand .brand-copy small{color:#abc1bb}.footer-brand .brand-copy strong{color:#f1f5ef}.footer-brand .brand-mark{border-color:rgba(195,224,216,.4)}.footer-brand .brand-mark svg{stroke:#b8d7cf}.site-footer>p{font-size:9px;color:rgba(255,255,255,.59);line-height:1.7;margin:0}.footer-links{display:flex;flex-direction:column;gap:4px}.footer-links a{font-size:9px;color:#d3e6df}.copyright{font-size:8px;color:rgba(255,255,255,.48);text-align:right}.mobile-call-bar{display:none}
@media(max-width:960px){:root{--gutter:clamp(24px,5.2vw,52px)}.desktop-nav{gap:20px;margin-right:30px}.intro{grid-template-columns:.8fr 2fr .55fr;gap:26px}.care-grid{gap:13px}.care-card-copy{padding:21px 19px 23px}.detail-copy{padding:70px 50px}.contact-section{gap:5vw}.site-footer{grid-template-columns:1fr 1fr;gap:24px}.copyright{text-align:left}}
@media(max-width:680px){html{scroll-padding-top:70px}.site-header{height:70px;padding:0 22px;background:var(--paper)}.brand-mark{width:34px;height:34px}.brand-copy strong{font-size:13px}.brand-copy small{font-size:7px}.desktop-nav{display:none}.header-call{margin-left:auto;margin-right:18px;font-size:10px}.call-dot{width:6px;height:6px}.menu-toggle{border:0;background:transparent;width:31px;height:34px;padding:7px 4px;display:flex;flex-direction:column;justify-content:center;gap:6px}.menu-toggle span{display:block;width:22px;height:1px;background:#23464a;transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{display:flex;position:fixed;z-index:19;top:70px;left:0;right:0;background:var(--paper);padding:8px 24px 22px;flex-direction:column;box-shadow:0 12px 20px rgba(15,43,46,.12)}.mobile-menu[hidden]{display:none}.mobile-menu a{padding:13px 0;border-bottom:1px solid #e2e9e6;font-size:13px}.mobile-menu .mobile-menu-call{font-weight:700;color:#3d7776;border-bottom:0}.hero{height:calc(100svh - 70px);min-height:590px;max-height:780px}.hero-image{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(8,35,39,.58),rgba(8,35,39,.15)),linear-gradient(0deg,rgba(8,34,37,.53),transparent 53%)}.hero-content{padding:clamp(120px,25vh,195px) 25px 0;max-width:560px}.eyebrow{font-size:8px;letter-spacing:.16em}.hero h1{font-size:clamp(49px,12.5vw,72px);margin:25px 0 18px;line-height:1.02}.hero-content>p{max-width:305px;font-size:13px;margin-bottom:25px}.button{padding:14px 17px;min-height:48px;font-size:10px}.hero-caption{left:24px;right:24px;bottom:19px;font-size:7px}.scroll-cue{display:none}.intro{padding-top:82px;padding-bottom:86px;display:grid;grid-template-columns:1fr auto;gap:22px}.intro-label{grid-column:1/-1}.intro-copy{grid-column:1/-1}.intro h2,.section-heading h2,.reviews h2,.area-copy h2{font-size:44px;margin:19px 0}.intro-copy>p{font-size:13px;line-height:1.85}.intro-note{grid-column:2;grid-row:2;align-self:end;padding-left:15px;margin-left:0}.note-number{font-size:51px}.note-caption{font-size:7px}.care-section{padding-bottom:60px}.section-heading{padding-top:73px;padding-bottom:25px;display:block}.section-heading h2{margin-top:19px}.section-heading>p{margin:20px 0 0;max-width:360px;font-size:12px}.care-grid{padding:0 22px;display:flex;flex-direction:column;gap:14px}.care-card{display:grid;grid-template-columns:39% 61%;width:100%;min-height:200px}.care-photo{height:100%;min-height:200px}.care-card-copy{padding:18px 15px 15px}.card-index{font-size:7px}.care-card h3{font-size:20px;line-height:1.2;margin:10px 0 7px}.care-card p{font-size:10px;line-height:1.6;min-height:0;margin-bottom:11px}.care-card a{font-size:9px;padding-top:10px}.care-footnote{margin:20px 22px 0;padding-top:15px;gap:12px;font-size:9px}.care-footnote .text-link{font-size:9px;gap:6px}.detail-band{grid-template-columns:1fr;min-height:0}.detail-image{height:52vw;min-height:190px;max-height:260px;background-position:center}.detail-copy{padding:48px 26px 54px}.detail-copy h2{font-size:46px;margin:18px 0}.detail-copy>p{font-size:12px}.detail-points{font-size:9px;margin:24px 0 27px;gap:11px}.reviews{padding-top:78px;padding-bottom:73px}.reviews-top{display:block;margin-bottom:28px}.reviews h2{margin-top:18px}.rating-block{margin-top:26px;padding-left:16px;min-width:0}.rating-block strong{font-size:28px}.review-grid{grid-template-columns:1fr;gap:10px}.review-grid blockquote{min-height:0;padding:19px 20px 15px}.review-grid blockquote>p{font-size:16px;margin:8px 0 17px}.review-links{gap:15px;flex-wrap:wrap}.review-links>span{width:100%;margin:0}.review-links .text-link{font-size:9px}.review-source-note{line-height:1.6}.service-area{grid-template-columns:1fr}.area-art{min-height:270px;height:60vw;max-height:350px}.area-copy{padding:54px 26px 63px}.area-copy h2{margin:18px 0}.area-copy>p{font-size:12px}.contact-section{grid-template-columns:1fr;gap:34px;padding:72px 22px 52px}.contact-intro h2{font-size:54px;margin:19px 0}.contact-intro>p{font-size:12px}.direct-contact{margin-top:29px}.direct-contact>a{font-size:18px}.quote-form{justify-self:stretch;padding:27px 22px 23px}.quote-form label{font-size:10px}.quote-form input,.quote-form select,.quote-form textarea{font-size:12px}.site-footer{grid-template-columns:1fr 1fr;padding:28px 22px 30px;gap:19px}.site-footer>p{grid-column:1/-1;grid-row:2}.footer-links{grid-column:2;grid-row:1;align-items:flex-start}.copyright{grid-column:1/-1;grid-row:3;font-size:7px}.mobile-call-bar{display:flex;position:fixed;z-index:15;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));height:50px;background:#183f45;color:#fff;align-items:center;justify-content:center;gap:10px;border-radius:4px;box-shadow:0 5px 20px rgba(14,40,44,.24);font-size:11px;letter-spacing:.02em}.mobile-call-bar strong{font-size:11px}.mobile-call-icon{font-size:14px;color:#b3dbd4}body{padding-bottom:72px}}
@media(max-width:390px){.header-call{font-size:9px;margin-right:10px}.brand{gap:7px}.brand-mark{width:30px;height:30px}.brand-copy strong{font-size:12px}.care-card{grid-template-columns:35% 65%}.care-card-copy{padding:15px 12px}.care-card h3{font-size:18px}.care-card p{font-size:9px}.care-card a{font-size:8px}.care-footnote{align-items:flex-start;flex-direction:column}.form-row{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
