:root{--navy:#042949;--navy2:#075182;--blue:#087bb6;--aqua:#13b4e7;--sky:#75d9fa;--pale:#e5f8ff;--cloud:#f4fbff;--line:#d7e8f1;--text:#133a53;--muted:#647e8b;--max:1240px;--radius:22px;--shadow:0 24px 70px rgba(3,53,91,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fbfdff;color:var(--text);font-family:Inter,'Aptos','Segoe UI',Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--aqua);outline-offset:4px}p{margin:0 0 1rem}h1,h2,h3{color:var(--navy);letter-spacing:-.044em;line-height:1.1;margin:0}h1{font-size:clamp(3rem,6.15vw,6.65rem);font-weight:780}h2{font-size:clamp(2.3rem,4.1vw,4.2rem);font-weight:760}h3{font-size:1.35rem;letter-spacing:-.023em}strong{font-weight:750}ul{margin-top:0}small{font-size:.82rem}.container{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.eyebrow{text-transform:uppercase;font-size:.76rem;letter-spacing:.205em;font-weight:800;color:var(--blue)}.eyebrow.line:before{content:"";display:inline-block;vertical-align:middle;width:27px;height:2px;background:var(--aqua);margin-right:13px}.serif{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.057em;color:var(--blue)}.muted{color:var(--muted)}.kicker{display:inline-flex;gap:.6rem;align-items:center;color:#0873aa;font-weight:760;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}.kicker:before{content:'';height:7px;width:7px;border-radius:50%;background:var(--aqua)}.lead{font-size:clamp(1.07rem,1.5vw,1.23rem);color:#5e7481;line-height:1.85;max-width:630px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:1rem;min-height:54px;padding:0 23px;background:var(--navy);color:white;font-size:.91rem;font-weight:730;border:1px solid var(--navy);transition:.18s ease;border-radius:5px;white-space:nowrap}.btn svg,.text-link svg{width:18px;height:18px}.btn:hover{transform:translateY(-2px);background:#07527c;box-shadow:0 9px 25px #09588a22}.btn.ghost{background:transparent;color:var(--navy);border-color:#b0ccd9}.btn.ghost:hover{background:#ecf9fd}.btn.white{background:white;color:var(--navy);border-color:white}.btn.light{background:#0db7ec;border-color:#0db7ec;color:#042b45}.btn-row{display:flex;flex-wrap:wrap;gap:13px;align-items:center;margin-top:30px}.text-link{display:inline-flex;align-items:center;gap:.75rem;font-size:.92rem;font-weight:800;color:var(--navy);border-bottom:1px solid #90becd;padding-bottom:4px}.text-link:hover{color:var(--blue)}.section{padding:108px 0}.section.tight{padding:76px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-heading>div{max-width:700px}.section-heading h2{margin-top:15px}.section-heading p{max-width:410px;color:var(--muted);margin:0}.soft{background:var(--cloud)}.line-top{border-top:1px solid var(--line)}
/* Header */.previewbar strong{color:var(--navy)}.site-header{position:relative;z-index:40;background:#fff;border-bottom:1px solid #e0eef3}.header-inner{min-height:93px;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;min-width:0}.brand img{width:242px;height:auto}.nav{margin-left:auto;display:flex;gap:23px;align-items:center}.nav a{font-size:.855rem;font-weight:730;color:#3b5466;white-space:nowrap;transition:color .2s}.nav a:hover,.nav a.active{color:#0287c6}.nav a.active{position:relative}.nav a.active:after{content:"";position:absolute;height:2px;bottom:-13px;left:0;right:0;background:var(--aqua)}.nav .nav-cta{padding:12px 16px;border:1px solid #aac9da;color:var(--navy)}.nav .nav-cta:after{display:none}.nav-toggle{display:none;background:transparent;border:0;padding:9px;margin-left:auto;color:var(--navy);cursor:pointer}.nav-toggle svg{width:27px;height:27px}
/* Home hero */
.hero-shell{background:linear-gradient(115deg,#fcfeff 4%,#f5fbff 58%,#e9f8ff 100%)}.hero{display:grid;grid-template-columns:1.03fr .97fr;min-height:650px;max-width:1510px;margin:auto}.hero-copy{padding:74px 5.5vw 65px max(40px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center;align-items:start}.hero-copy h1{margin-top:26px;max-width:770px}.hero-copy h1 .serif{display:block;margin-top:3px}.hero-copy .lead{margin-top:27px;max-width:540px}.hero-photo{min-height:650px;position:relative;overflow:hidden;background:#008abc}.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(165deg,rgba(2,46,77,.12) 18%,rgba(2,37,72,.62) 100%),url('../images/pool-water.webp') center center/cover no-repeat;transition:transform 1s}.hero-photo:hover:before{transform:scale(1.025)}.hero-photo:after{content:'';position:absolute;top:-110px;left:-130px;width:250px;height:850px;transform:rotate(12deg);border-radius:50%;border:38px solid rgba(237,250,255,.15);pointer-events:none}.photo-note{position:absolute;bottom:37px;left:36px;right:36px;display:flex;align-items:end;justify-content:space-between;color:white;gap:15px}.photo-note b{display:block;font-size:1.6rem;line-height:1.16;letter-spacing:-.03em}.photo-note small{font-size:.74rem;letter-spacing:.17em;text-transform:uppercase;color:#d5f5ff}.photo-circle{width:68px;height:68px;border-radius:50%;background:#e7faffdd;border:1px solid #fff8;display:grid;place-items:center;color:var(--navy)}.photo-circle svg{width:31px;height:31px}.hero-sidenote{display:flex;gap:13px;align-items:center;margin-top:41px;color:#42677a;font-size:.85rem;font-weight:650}.hero-sidenote .miniwave{width:45px;height:24px}
.strip{background:#043553;color:white}.strip-inner{min-height:88px;display:grid;grid-template-columns:repeat(3,1fr)}.strip-item{display:flex;gap:14px;align-items:center;font-size:.8rem;font-weight:730;letter-spacing:.145em;text-transform:uppercase;border-right:1px solid #235f7b;padding:14px 24px}.strip-item:first-child{padding-left:0}.strip-item:last-child{border-right:0}.strip-item svg{width:24px;height:24px;color:#67cefa;stroke-width:1.5}
/* Cards, illustrations */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.card{padding:34px 32px;background:white;border:1px solid #e0ecf1;position:relative;box-shadow:0 8px 30px #0c4c7c07;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card .icon-box{width:66px;height:66px;display:grid;place-items:center;background:#e5f8ff;border-radius:50%;color:var(--blue);margin-bottom:28px}.card .icon-box svg{width:31px;height:31px;stroke-width:1.65}.card h3{margin-bottom:13px}.card p{color:#637b88;font-size:.95rem;line-height:1.78;min-height:76px}.card .text-link{margin-top:14px}.card .card-number{font-size:.72rem;color:#8bc6e0;letter-spacing:.13em;font-weight:800;position:absolute;top:22px;right:26px}.card.featured{background:#043e67;color:white;border-color:#043e67}.card.featured h3,.card.featured .text-link{color:white}.card.featured p{color:#cee2ed}.card.featured .icon-box{background:#115d86;color:#8bdef9}.card.featured .text-link{border-color:#9fdceb}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,7vw,112px);align-items:center}.photo-frame{position:relative;min-height:480px;overflow:hidden;background:#bcefff}.photo-frame img{width:100%;height:100%;min-height:480px;object-fit:cover}.photo-frame:after{content:"";position:absolute;border:1px solid #fff8;inset:18px;pointer-events:none}.float-note{position:absolute;bottom:26px;left:26px;background:white;padding:21px 28px;max-width:270px;box-shadow:var(--shadow)}.float-note span{color:var(--blue);font-size:.78rem;letter-spacing:.16em;font-weight:800}.float-note strong{display:block;font-family:Georgia,serif;font-style:italic;font-size:1.7rem;font-weight:400;color:var(--navy);line-height:1.13;margin-top:7px}.copy-block h2{margin:15px 0 23px}.copy-block>p{color:#657e8b;font-size:1.04rem}.checklist{display:grid;gap:13px;margin:30px 0}.check{display:flex;align-items:start;gap:14px;color:#38566b;font-size:.96rem}.check svg{width:20px;height:20px;color:var(--blue);margin-top:2px;flex-shrink:0}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px}.timeline-step{padding:20px 45px 15px 0;position:relative}.timeline-step + .timeline-step{padding-left:35px;border-left:1px solid #cfe6f0}.timeline-step .index{display:block;color:#0c99cc;font-size:.85rem;letter-spacing:.14em;font-weight:850;margin-bottom:32px}.timeline-step h3{margin-bottom:11px}.timeline-step p{color:#66818d;font-size:.96rem}.timeline-step svg{height:36px;width:36px;color:#198eb8;margin-bottom:12px}.banner{position:relative;background:linear-gradient(120deg,#064067,#087caa);color:white;overflow:hidden}.banner:after{content:'';position:absolute;right:-140px;top:-120px;width:490px;height:490px;border:72px solid #6bdfff21;border-radius:50%}.banner .container{display:flex;justify-content:space-between;gap:35px;align-items:center;min-height:280px;padding:50px 0;position:relative;z-index:1}.banner h2{color:#fff;font-size:clamp(2rem,4vw,3.9rem)}.banner p{max-width:540px;color:#ccecf8;font-size:1.05rem;margin:15px 0 0}.banner .eyebrow{color:#8bdffe}.banner .btn{flex-shrink:0}
/* Inner pages */
.page-hero{background:linear-gradient(120deg,#fafdff 40%,#e7f7fd);position:relative;overflow:hidden;border-bottom:1px solid #dbedf5}.page-hero:after{content:'';position:absolute;right:-180px;top:-250px;width:500px;height:500px;border:78px solid #a1e4fa30;border-radius:50%;pointer-events:none}.page-hero .container{position:relative;z-index:1;padding:83px 0 88px}.page-hero h1{font-size:clamp(2.9rem,5.2vw,5.6rem);max-width:1000px;margin:17px 0 23px}.page-hero p{max-width:720px;color:#617b89;font-size:1.13rem}.breadcrumb{font-size:.8rem;font-weight:720;color:#7994a1;display:flex;gap:10px;align-items:center;margin-bottom:28px}.breadcrumb a{color:var(--blue)}.half-layout{display:grid;grid-template-columns:.95fr 1.05fr;align-items:start;gap:80px}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:19px}.tile{background:white;border:1px solid var(--line);padding:29px}.tile svg{width:33px;height:33px;color:var(--blue);margin-bottom:15px}.tile h3{font-size:1.13rem;margin-bottom:12px}.tile p{font-size:.92rem;color:#66808d;margin-bottom:0}.number-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.number-panel{padding:36px;background:white;border:1px solid #dbeaf0}.number-panel b{color:#138dbd;font-size:1.8rem;letter-spacing:-.04em}.number-panel h3{margin:14px 0}.number-panel p{font-size:.97rem;color:#607b89}.info-band{background:#e8f8fe;border-left:4px solid #16b3e8;padding:20px 24px;margin:22px 0;color:#3d6176;font-size:.95rem}.info-band strong{color:#0b426b}.quote-card{background:linear-gradient(150deg,#e5f7ff,#fff);padding:40px;border:1px solid #d4ecf6}.quote-card .wave{width:85px;margin-bottom:26px}.quote-card h3{font-size:2.1rem;max-width:390px;letter-spacing:-.04em}.quote-card p{color:#5b7887;margin-top:15px}.faq-wrap{max-width:860px}.faq-item{border-bottom:1px solid #d4e7ef}.faq-item:first-child{border-top:1px solid #d4e7ef}.faq-item summary{cursor:pointer;font-size:1.1rem;font-weight:750;color:#103752;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:1px solid #bdd9e6;border-radius:50%;color:var(--blue);font-size:1.3rem;font-weight:400}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item .faq-answer{max-width:740px;margin:-5px 0 25px;color:#607c8b}.faq-item a{color:var(--blue);text-decoration:underline}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-card{padding:42px;background:white;border:1px solid #d6eaf3}.contact-card svg{height:34px;width:34px;color:var(--blue);margin-bottom:21px}.contact-card .eyebrow{display:block;margin-bottom:12px}.contact-card .big-link{display:block;font-size:clamp(1.3rem,2.3vw,2.05rem);font-weight:750;line-height:1.25;letter-spacing:-.025em;overflow-wrap:anywhere}.contact-card .big-link:hover{color:var(--blue)}.contact-card p{font-size:.94rem;color:#6a8290;margin:16px 0 0}.footnote{font-size:.85rem;color:#718996}.mini-icons{display:flex;gap:14px;flex-wrap:wrap}.mini-icons span{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;background:white;border:1px solid #d8ebf1;font-size:.81rem;font-weight:730;color:#25617e}.mini-icons svg{width:17px;height:17px;color:var(--blue)}
/* Footer */
.footer{background:#052d4c;color:#bdd7e5;position:relative;overflow:hidden}.footer:before{content:"";position:absolute;width:850px;height:360px;right:-250px;top:-215px;border:65px solid #43cffa14;border-radius:50%}.footer-main{display:grid;grid-template-columns:1.25fr .7fr .7fr 1fr;gap:55px;padding:75px 0 58px;position:relative}.footer h3{font-size:.76rem;text-transform:uppercase;letter-spacing:.18em;color:#b5eaff;margin:0 0 22px}.footer ul{list-style:none;padding:0;display:grid;gap:9px}.footer li a{font-size:.9rem;color:#cde2ec}.footer li a:hover{color:white}.footer .logo-footer{max-width:210px;display:block;margin-bottom:26px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(229,248,255,.92));padding:10px 14px;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.12)}.footer .footer-about{max-width:320px;font-size:.9rem;line-height:1.85}.footer-contact a{display:block;color:white;overflow-wrap:anywhere;margin-bottom:12px;font-weight:650;font-size:.92rem}.footer-bottom{position:relative;border-top:1px solid #20516e;padding:18px 0;display:flex;justify-content:space-between;gap:18px;font-size:.79rem;color:#a4bfce}.footer-bottom a{color:#bbdeee}.backtop{display:inline-flex;align-items:center;gap:8px}.backtop svg{width:15px;height:15px}.disclaimer{font-size:.84rem;color:#718b99;max-width:880px}
@media(max-width:1100px){.container{width:min(var(--max),calc(100% - 52px))}.brand img{width:210px}.header-inner{gap:20px}.nav{gap:12px}.nav a{font-size:.78rem}.hero-copy{padding-left:40px}.hero-copy h1{font-size:clamp(3.4rem,5.4vw,5rem)}.hero-photo{min-height:600px}.hero{min-height:600px}.footer-main{gap:28px}}
@media(max-width:880px){.header-inner{min-height:80px}.brand img{width:219px}.nav-toggle{display:grid;place-items:center}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;border-top:1px solid #e5eef3;box-shadow:0 20px 35px #00395312;padding:20px 26px 25px;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:10px 5px;font-size:.96rem}.nav a.active:after{display:none}.nav .nav-cta{margin-top:10px;text-align:center}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 38px}.hero-photo{min-height:430px}.strip-inner{grid-template-columns:1fr 1fr}.strip-item:nth-child(2){border-right:0}.strip-item:last-child{grid-column:1/-1;padding-left:0;border-top:1px solid #245f78}.card-grid{grid-template-columns:1fr 1fr}.split,.half-layout{grid-template-columns:1fr;gap:36px}.section{padding:80px 0}.section-heading{align-items:start;flex-direction:column}.photo-frame{min-height:400px}.photo-frame img{min-height:400px}.footer-main{grid-template-columns:repeat(2,1fr)}.banner .container{align-items:start;flex-direction:column}.banner .btn{align-self:flex-start}}
@media(max-width:600px){.container{width:calc(100% - 36px)}.previewbar{font-size:11px;padding:5px 7px}.header-inner{min-height:75px}.brand img{width:202px}.hero-copy{padding:58px 23px 50px}.hero-copy h1{font-size:clamp(2.95rem,12.4vw,4.5rem);margin-top:21px}.hero-copy .lead{font-size:1.02rem;line-height:1.8;margin-top:19px}.btn{min-height:51px;font-size:.86rem}.btn-row{margin-top:23px}.hero-sidenote{margin-top:33px}.hero-photo{min-height:360px}.photo-note{left:22px;right:22px;bottom:22px}.photo-note b{font-size:1.27rem}.photo-circle{width:52px;height:52px}.strip-inner{display:flex;flex-direction:column}.strip-item{min-height:60px;border-bottom:1px solid #225f7d;border-right:0;padding:15px 0}.strip-item:last-child{border-top:0}.section{padding:67px 0}.section.tight{padding:53px 0}.section-heading{gap:13px;margin-bottom:23px}.card-grid,.tiles,.contact-grid,.number-grid,.timeline{grid-template-columns:1fr}.card{padding:29px 25px}.card p{min-height:0}.timeline-step,.timeline-step + .timeline-step{border-left:0;border-top:1px solid #d3e9ef;padding:24px 0}.timeline-step .index{margin-bottom:12px}.split{gap:30px}.photo-frame,.photo-frame img{min-height:350px}.float-note{padding:15px 18px;left:15px;bottom:15px}.float-note strong{font-size:1.42rem}.banner .container{padding:48px 0}.page-hero .container{padding:55px 0 61px}.page-hero h1{font-size:clamp(2.6rem,10vw,3.6rem)}.page-hero p{font-size:1rem}.breadcrumb{margin-bottom:21px}.number-panel,.contact-card{padding:27px}.footer-main{grid-template-columns:1fr 1fr;column-gap:23px;row-gap:30px;padding:54px 0 34px}.footer-main>div:first-child{grid-column:1/-1}.footer-main>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.quote-card{padding:26px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
