@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800;900&family=Oswald:wght@500;600;700&display=swap";:root{--navy:#003e5f;--navy-2:#062b43;--deep:#061d2c;--pool:#00b8d9;--pool-2:#5de8ff;--sun:#f8b640;--cream:#f4fbfd;--white:#fff;--ink:#102433;--muted:#5d7580;--line:#d2edf4;--shadow:0 22px 58px #003e5f1f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:DM Sans,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}svg{width:20px;height:20px}h1,h2,h3{text-transform:uppercase;letter-spacing:.015em;margin:0;font-family:Oswald,Impact,sans-serif;font-weight:700}h1{font-size:clamp(48px,7vw,92px);line-height:.96}h2{font-size:clamp(38px,4.8vw,68px);line-height:1}h3{font-size:24px;line-height:1.12}em{color:var(--pool-2);font-style:normal}.eyebrow{color:var(--pool);letter-spacing:.22em;text-transform:uppercase;margin:0 0 14px;font-size:12px;font-weight:900}.eyebrow.on-dark{color:#9ef4ff}.scroll-progress{z-index:200;background:linear-gradient(90deg, var(--pool-2), var(--sun));height:3px;position:fixed;inset:0 auto auto 0;box-shadow:0 0 18px #5de8ff}header{z-index:20;height:92px;color:var(--white);border-bottom:3px solid var(--pool);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#062b43ee;align-items:center;gap:34px;padding:0 5vw;display:flex;position:fixed;inset:0 0 auto}.brand{flex-shrink:0;align-items:center;display:flex}.brand img{filter:drop-shadow(0 8px 16px #00152066);width:240px;max-width:42vw;height:auto;display:block}nav{align-items:center;gap:28px;margin-left:auto;display:flex}nav a{color:#ffffffce;letter-spacing:.06em;text-transform:uppercase;padding:9px 0;font-size:14px;font-weight:800;position:relative}nav a:after{content:"";background:var(--sun);height:2px;transition:right .28s;position:absolute;bottom:0;left:0;right:100%}nav a:hover:after{right:0}.call,.btn{border-radius:999px;justify-content:center;align-items:center;gap:10px;font-weight:900;display:inline-flex}.call{background:var(--sun);color:#082234;padding:13px 19px}.menu-toggle{display:none}.hero{min-height:780px;color:var(--white);background:var(--deep);align-items:center;padding:190px 6vw 110px;display:flex;position:relative;overflow:hidden}.hero-video{object-fit:cover;object-position:center;filter:saturate(1.12)contrast(1.05);width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";z-index:1;background:linear-gradient(100deg,#04263af2 0%,#04263ad8 42%,#04263a7a 100%),linear-gradient(#0000 42%,#04263af2 100%);position:absolute;inset:0}.shade{z-index:3;pointer-events:none;background:repeating-linear-gradient(-45deg,#ffffff08 0 2px,#0000 2px 26px);position:absolute;inset:0}.hero-copy{z-index:4;max-width:790px;position:relative}.hero-copy>p:not(.eyebrow){color:#e5faff;max-width:670px;font-size:18px;line-height:1.72}.actions{flex-wrap:wrap;gap:14px;margin:32px 0 28px;display:flex}.btn{min-height:56px;padding:16px 24px;transition:transform .25s,box-shadow .25s,background .25s}.btn:hover{transform:translateY(-3px);box-shadow:0 16px 36px #0015205c}.primary{background:linear-gradient(135deg, var(--pool-2), var(--pool));color:#05283c}.primary:hover{background:linear-gradient(135deg,#8af3ff,#12c7e8)}.ghost{color:var(--white);border:1px solid #ffffff75}.trust{flex-wrap:wrap;gap:14px;display:flex}.trust span{color:#e9fbff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:9px;padding:11px 14px;font-size:13px;font-weight:800;display:inline-flex}.trust svg{color:var(--sun)}.ribbon{background:linear-gradient(90deg, var(--pool), #32d8ed);color:#05283c;text-transform:uppercase;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px 4vw;padding:22px 5vw;font-family:Oswald,sans-serif;font-size:18px;font-weight:700;display:flex}.ribbon small{letter-spacing:.22em;font-family:DM Sans,sans-serif;font-size:12px;font-weight:900}.section{max-width:1480px;margin:auto;padding:105px 6vw}.heading{grid-template-columns:1fr .78fr;align-items:end;gap:54px;margin-bottom:52px;display:grid}.heading em,.contact h2 em,.estimate h2 em,.banner h2 em{color:var(--pool)}.heading>p,.contact>div>p{color:var(--muted);margin:0;line-height:1.72}.services{border:1px solid var(--line);box-shadow:var(--shadow);grid-template-columns:repeat(3,1fr);display:grid}.services article{isolation:isolate;background:var(--white);border:1px solid var(--line);min-height:300px;padding:36px;transition:transform .32s,color .32s,box-shadow .32s;position:relative;overflow:hidden}.services article:before{content:"";z-index:-2;background:var(--bg) center/cover no-repeat;opacity:0;transition:opacity .35s,transform .55s;position:absolute;inset:0;transform:scale(1.08)}.services article:after{content:"";z-index:-1;opacity:0;background:linear-gradient(145deg,#04263af5,#00688ac9);transition:opacity .35s;position:absolute;inset:0}.services article:hover{z-index:2;color:var(--white);transform:translateY(-7px);box-shadow:0 22px 54px #003e5f2e}.services article:hover:before,.services article:hover:after{opacity:1}.services article:hover:before{transform:scale(1)}.services article>span{color:var(--pool);font-family:Oswald,sans-serif;font-size:15px;font-weight:700}.services h3{margin-top:30px}.services p{color:var(--muted);line-height:1.65}.services a{color:var(--pool);letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:8px;font-size:13px;font-weight:900;display:inline-flex}.services article:hover p,.services article:hover a,.services article:hover>span{color:#e9fbff}.services article:hover a svg{transform:translate(6px)}.services a svg{transition:transform .25s}.feature-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.feature-grid article{background:var(--white);border:1px solid var(--line);border-top:5px solid var(--pool);padding:32px 28px;transition:transform .25s,box-shadow .25s;box-shadow:0 18px 44px #003e5f12}.feature-grid article:hover{transform:translateY(-7px);box-shadow:0 22px 58px #003e5f22}.feature-grid b{width:54px;height:54px;color:var(--navy);background:#defaff;border-radius:16px;justify-content:center;align-items:center;display:inline-flex}.feature-grid h3{margin-top:24px}.feature-grid p{color:var(--muted);margin-bottom:0;line-height:1.62}.transform{color:var(--white);background:linear-gradient(120deg,#04263af6,#005b78ec),url(/clear-pool-wide.jpg) 50%/cover;position:relative;overflow:hidden}.transform:before{content:"";opacity:.35;background:repeating-radial-gradient(at 30% 60%,#ffffff24 0 2px,#0000 3px 42px);animation:18s linear infinite reverse drift;position:absolute;inset:-40% -10%}.transform-inner{grid-template-columns:.82fr 1.18fr;align-items:center;gap:58px;display:grid;position:relative}.transform-copy p:not(.eyebrow){color:#dcf8ff;line-height:1.72}.transform-copy h2 em{color:var(--sun)}.before-after{grid-template-columns:1fr 1fr;gap:16px;display:grid}.before-after button,.gallery-grid button{cursor:pointer;background:var(--deep);text-align:left;border:0;padding:0;position:relative;overflow:hidden}.before-after button{border-radius:24px;min-height:300px;box-shadow:0 22px 60px #00152055}.before-after img,.gallery-grid img{object-fit:cover;width:100%;height:100%;transition:transform .5s,opacity .35s;display:block}.before-after button:hover img,.gallery-grid button:hover img{opacity:.8;transform:scale(1.05)}.before-after span{background:var(--sun);color:#082234;letter-spacing:.09em;text-transform:uppercase;border-radius:999px;padding:10px 16px;font-weight:900;position:absolute;top:18px;left:18px}.gallery-section{background:var(--cream)}.gallery-grid{grid-template-columns:1.26fr .87fr .87fr;grid-auto-rows:265px;gap:15px;display:grid}.gallery-grid button{box-shadow:var(--shadow)}.gallery-grid button.wide{grid-row:span 2}.gallery-grid span{color:var(--white);text-transform:uppercase;background:linear-gradient(#0000,#04263aed);align-items:center;gap:10px;padding:22px;font-family:Oswald,sans-serif;font-size:19px;display:flex;position:absolute;inset:auto 0 0}.gallery-grid small{background:var(--pool);color:#05283c;letter-spacing:.08em;padding:4px 9px;font:900 11px DM Sans,sans-serif}.reviews{background:var(--white)}.review-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.review-grid article{border:1px solid var(--line);background:linear-gradient(#fff,#f4fbfd);padding:28px;box-shadow:0 18px 40px #003e5f12}.review-grid article>div{color:var(--sun);gap:3px;display:flex}.review-grid article>div svg{width:15px;height:15px}.review-grid p{color:var(--muted);line-height:1.64}.review-grid strong{color:var(--navy);font-weight:900}.areas{color:var(--white);text-align:left;background:radial-gradient(circle at 76% 15%,#5de8ff30,#0000 30%),linear-gradient(120deg,#04263af4,#005b78e6),url(/screened-pool.jpg) 50%/cover fixed;padding:105px 6vw;position:relative;overflow:hidden}.areas>div{grid-template-columns:.82fr 1.18fr;align-items:center;gap:52px;max-width:1200px;margin:auto;display:grid}.areas h2 em{color:var(--sun)}.areas p:not(.eyebrow){color:#dcf8ff;max-width:600px;margin:18px 0 0;line-height:1.7}.areas-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.areas-grid span{color:#f2fdff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff38;border-radius:24px;align-content:space-between;gap:12px;min-height:128px;padding:20px;font-weight:800;display:grid;box-shadow:0 18px 40px #00152022}.areas-grid svg{color:var(--sun)}.areas-grid b{text-transform:uppercase;font-family:Oswald,sans-serif;font-size:24px;line-height:1}.areas-grid small{color:#d8f8ff;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:900}.banner{color:var(--white);text-align:center;border-top:4px solid var(--pool);border-bottom:4px solid var(--pool);background:linear-gradient(#061d2ce8,#061d2ce8),url(/weekly-care.jpg) 50%/cover;padding:105px 20px}.banner h2 em{color:var(--sun)}.banner .btn{margin-top:28px}.estimate{color:var(--white);background:var(--deep);grid-template-columns:.88fr 1.12fr;gap:6vw;padding:105px 6vw;display:grid}.estimate-intro>p:not(.eyebrow){color:#d5f5fb;line-height:1.72}.estimate-intro>a,.area-line{color:var(--white);align-items:center;gap:10px;font-weight:900;display:flex}.estimate-intro>a{margin-top:22px}.area-line{margin-top:10px}.estimate-intro svg,.area-line svg{color:var(--pool-2);flex-shrink:0}.estimate form{background:var(--white);color:var(--ink);border-top:5px solid var(--pool);gap:18px;padding:36px;display:grid;box-shadow:0 22px 60px #00152045}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.estimate label{gap:8px;font-size:13px;font-weight:900;display:grid}.estimate input,.estimate select,.estimate textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#f7fcfd;outline:none;padding:14px}.estimate textarea{resize:vertical}.estimate input:focus,.estimate select:focus,.estimate textarea:focus{border-color:var(--pool);box-shadow:0 0 0 4px #00b8d922}.estimate form button{cursor:pointer;border:0}.estimate form>small{color:var(--muted);text-align:center;line-height:1.5}.text-fallback{border:1px solid var(--line);color:var(--muted);text-align:center;background:#f7fcfd;gap:10px;padding:14px;font-size:13px;line-height:1.45;display:grid}.text-fallback a{background:var(--navy);min-height:42px;color:var(--white);border-radius:999px;justify-content:center;align-items:center;padding:10px 14px;font-weight:900;display:inline-flex}.text-fallback a:last-child{color:var(--navy);border:1px solid var(--line);background:0 0}.contact{grid-template-columns:.82fr 1.18fr;gap:70px;max-width:1400px;margin:auto;padding:96px 6vw;display:grid}.cards{align-content:start;gap:12px;display:grid}.cards>a,.area-card{background:var(--white);border:1px solid var(--line);align-items:center;gap:16px;padding:22px;transition:transform .25s,box-shadow .25s;display:flex;box-shadow:0 14px 34px #003e5f12}.cards>a:hover{transform:translate(7px);box-shadow:0 18px 44px #003e5f20}.cards>a:first-child{background:linear-gradient(135deg, var(--pool), var(--pool-2));color:#05283c;border-color:var(--pool)}.cards small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:900;display:block}.cards b{color:var(--ink);font-size:17px}.cards svg{color:var(--pool);flex-shrink:0}footer{color:#dcf8ffb8;background:var(--deep);justify-content:space-between;gap:16px;padding:30px 5vw;font-size:12px;display:flex}footer strong{color:var(--white)}.float{display:none}.lightbox{z-index:100;cursor:zoom-out;background:#061d2ced;justify-content:center;align-items:center;padding:5vw;display:flex;position:fixed;inset:0}.lightbox img{max-width:100%;max-height:88vh;box-shadow:0 30px 90px #001520}.lightbox>button{background:var(--pool);color:#05283c;cursor:pointer;border:0;border-radius:50%;width:46px;height:46px;font-size:30px;position:absolute;top:20px;right:24px}@keyframes hero-breathe{0%{transform:scale(1)}to{transform:scale(1.055)}}@keyframes drift{0%{transform:translate(-2%,-2%)rotate(0)}to{transform:translate(2%,2%)rotate(360deg)}}@media (prefers-reduced-motion:reduce){.transform:before{animation:none}.hero-video{display:none}.hero{background:linear-gradient(100deg,#04263af2,#04263ad8),url(/hero-pool.jpg) 50% 56%/cover no-repeat}}@media (width<=1120px){.brand img{width:210px}nav{gap:20px}.review-grid{grid-template-columns:repeat(2,1fr)}.review-grid article:last-child{grid-column:span 2}}@media (width<=900px){header{height:78px;padding:0 20px}.brand img{width:184px;max-width:68vw}.call{display:none}.menu-toggle{color:var(--white);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:28px;display:block}nav{background:var(--navy-2);border-bottom:3px solid var(--pool);flex-direction:column;align-items:flex-start;margin:0;padding:22px;display:none;position:absolute;top:78px;left:0;right:0}nav.open{display:flex}.hero{min-height:auto;padding:126px 22px 74px}.hero:after{background:linear-gradient(#04263ade,#04263af0)}h1{font-size:clamp(42px,13vw,60px)}h2{font-size:clamp(34px,10vw,50px)}.hero-copy>p:not(.eyebrow){font-size:16px}.btn{width:100%}.ribbon{justify-content:flex-start;gap:14px 22px;padding:19px 22px;font-size:15px}.section,.contact,.estimate{padding:74px 22px}.heading,.transform-inner,.contact,.estimate{grid-template-columns:1fr;gap:28px}.services,.feature-grid,.review-grid,.before-after{grid-template-columns:1fr}.review-grid article:last-child{grid-column:auto}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:235px}.gallery-grid button.wide{grid-row:span 1}.form-row{grid-template-columns:1fr}.estimate form{padding:24px 18px}.areas{background-attachment:scroll}.areas>div{grid-template-columns:1fr;gap:32px}.areas-grid{grid-template-columns:1fr}footer{flex-direction:column}.float{z-index:15;background:var(--pool);color:#05283c;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 14px 34px #00152055}}@media (width<=520px){.brand img{width:164px}.actions{margin-top:26px}.trust span{width:100%}.services article,.feature-grid article,.review-grid article{padding:26px}.gallery-grid span{flex-direction:column;align-items:flex-start;padding:18px;font-size:16px}.cards b{word-break:break-word;font-size:15px}}
