@import url(https://fonts.googleapis.com/css2?family=Inter:wght@500;600;700&family=Open+Sans:wght@400;500&display=swap);:root{--brand-pool:#40E0D0;--cta-solid:#0F172A;--cta-hover:#1E293B;--text-main:#1E293B;--text-sub:#64748B;--bg-body:#FFFFFF;--bg-surface:#F8FAFC;--nav-height:80px;--radius:12px;--shadow-card:0 4px 6px -1px rgba(0, 0, 0, 0.05),0 2px 4px -1px rgba(0, 0, 0, 0.03);--shadow-float:0 20px 25px -5px rgba(0, 0, 0, 0.1),0 10px 10px -5px rgba(0, 0, 0, 0.04);--cta-gradient-start:#0F172A;--cta-gradient-end:#40E0D0;--cta-gradient:linear-gradient(90deg, var(--cta-gradient-start) 0%, var(--cta-gradient-end) 100%)}*{box-sizing:border-box}html{scroll-behavior:smooth}img{content-visibility:auto}body{font-family:'Open Sans',system-ui,-apple-system,sans-serif;margin:0;padding-top:var(--nav-height);color:var(--text-main);background-color:var(--bg-body);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--cta-solid);margin-top:0;line-height:1.2;letter-spacing:-.02em}h1{font-weight:700}h2{font-weight:600}h3,h4{font-weight:600}a{text-decoration:none;color:inherit;transition:all .2s}ul{list-style:none;padding:0;margin:0}img{max-width:100%;display:block}.container{padding:0 20px;max-width:1200px;margin:0 auto;position:relative}nav{position:fixed;top:0;left:0;width:100%;height:var(--nav-height);background:rgba(255,255,255,.98);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #f1f5f9;z-index:1000;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);transition:box-shadow .3s cubic-bezier(.4, 0, .2, 1)}nav.scrolled{box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.nav-wrapper{height:100%;display:flex;justify-content:space-between;align-items:center;padding:0 25px;position:relative}.menu-toggle{display:flex;flex-direction:column;justify-content:space-between;width:30px;height:20px;background:0 0;border:none;cursor:pointer;z-index:1002;padding:0}.menu-toggle span{display:block;width:26px;height:2.5px;background-color:var(--cta-solid);border-radius:2px;transition:all .3s ease}.menu-toggle.open span:first-child{transform:rotate(45deg) translate(5px,6px)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-6px)}.logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:70px;display:flex;align-items:center;z-index:1001}.logo img{height:100%;width:auto}.client-login-btn{background-image:var(--cta-gradient);color:#fff!important;padding:10px 24px;border-radius:50px;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:600;font-size:.9rem;transition:transform .2s,background-position .3s;white-space:nowrap;border:2px solid transparent;background-size:200% 100%;background-position:0 50%}.client-login-btn:hover{background-position:100% 50%;transform:translateY(-1px)}.nav-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:999;pointer-events:none}.nav-backdrop.active{opacity:1;visibility:visible;pointer-events:auto}.nav-links{position:fixed;top:var(--nav-height);left:-350px;width:300px;height:calc(100vh - var(--nav-height));background:#fff;border-right:1px solid #e2e8f0;padding:40px 0;transition:left .3s cubic-bezier(.4, 0, .2, 1);display:flex;flex-direction:column;box-shadow:5px 0 15px rgba(0,0,0,.1);overflow-y:auto;z-index:1000}.nav-links.active{left:0}.nav-links li{width:100%;border-bottom:1px solid #f9f9f9;list-style:none}.nav-links a{display:block;padding:20px 30px;text-align:center;font-size:1.1rem;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:500;color:var(--text-main);transition:all .2s cubic-bezier(.4, 0, .2, 1)}.nav-links a:hover{background-color:#f0f4f8;color:var(--brand-pool);transform:translateX(5px)}.dropdown-content{display:none;background-color:#f1f5f9}.dropdown:hover .dropdown-content{display:block}.dropdown-content a{font-family:Inter,system-ui,-apple-system,sans-serif;font-size:.95rem;font-weight:500;padding:15px 30px;color:var(--text-sub)}.nav-cta-item{padding:0;display:flex;justify-content:center;align-items:center}.nav-cta-link{display:inline-block!important;background:var(--brand-pool)!important;color:#fff!important;padding:12px 28px!important;border-radius:50px;font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:600;font-size:1rem!important;text-align:center!important;transition:all .3s cubic-bezier(.4, 0, .2, 1);transform:translateX(0)!important;box-shadow:0 4px 12px rgba(64,224,208,.3);margin:20px 30px}.nav-cta-link:hover{background:#36c9ba!important;transform:translateY(-2px) scale(1.02)!important;box-shadow:0 6px 20px rgba(64,224,208,.4)}#hero{position:relative;text-align:center;padding:180px 20px 220px;background-image:linear-gradient(180deg,rgba(255,255,255,.9) 0,rgba(255,255,255,.6) 100%),url('pool-hero-placeholder.jpg');background-repeat:no-repeat;background-position:center center;background-size:cover;overflow:hidden}#hero h1{color:var(--cta-solid);position:relative;z-index:2;animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) .2s both}#hero p{color:var(--text-sub);position:relative;z-index:2;animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) .4s both}#hero .cta-button{z-index:2;box-shadow:0 10px 20px -5px rgba(0,0,0,.2);animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) .6s both}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.custom-shape-divider-bottom{position:absolute;bottom:0;left:0;width:100%;overflow:hidden;line-height:0;z-index:1}.custom-shape-divider-bottom svg{display:block;width:calc(100% + 1.3px);height:80px}.custom-shape-divider-bottom .shape-fill{fill:var(--bg-body)}.calculator-wrapper{max-width:1100px;margin:-80px auto 80px;position:relative;z-index:10;padding:0 20px}.controls-container{background:#fff;padding:20px 30px;border-radius:16px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);display:flex;justify-content:center;gap:20px;margin-bottom:50px;border:1px solid #e2e8f0;flex-wrap:wrap}select{padding:12px 20px;border:1px solid #cbd5e1;border-radius:50px;font-size:1rem}.service-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;align-items:stretch}.service-card{background:#fff;border-radius:var(--radius);padding:35px 30px;text-align:center;box-shadow:var(--shadow-card);border:1px solid #f1f5f9;transition:transform .4s cubic-bezier(.4, 0, .2, 1),box-shadow .4s cubic-bezier(.4, 0, .2, 1),border-color .4s cubic-bezier(.4, 0, .2, 1);position:relative;display:flex;flex-direction:column;height:100%;animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) both;transform:translateZ(0);backface-visibility:hidden}.service-card:first-child{animation-delay:.1s}.service-card:nth-child(2){animation-delay:.2s}.service-card:nth-child(3){animation-delay:.3s}.service-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px -10px rgba(0,0,0,.15);border-color:var(--brand-pool)}.recommended{border:2px solid var(--brand-pool);transform:scale(1.02);z-index:5}.recommended::before{content:'BEST VALUE';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--brand-pool);color:#fff;padding:4px 12px;font-size:.75rem;font-weight:700;border-radius:20px}.price-display{font-size:3rem;font-weight:800;color:var(--cta-solid);line-height:1;margin:10px 0}.features-list{list-style:none;padding:0;margin:0 0 30px;text-align:left;flex-grow:1}.features-list li{padding:10px 0;border-bottom:1px solid #f1f5f9;font-size:.95rem;display:flex;align-items:center}.features-list li::before{content:'✔';color:var(--brand-pool);font-weight:900;margin-right:12px;font-size:1rem}.features-list li.excluded{color:#cbd5e1;text-decoration:line-through;opacity:.7}.cta-button{display:block;width:100%;background-image:var(--cta-gradient);color:#fff!important;padding:16px;border-radius:8px;font-weight:600;transition:transform .3s cubic-bezier(.4, 0, .2, 1),box-shadow .3s cubic-bezier(.4, 0, .2, 1),background-position .3s ease;border:2px solid transparent;cursor:pointer;background-size:200% 100%;background-position:0 50%;transform:translateZ(0);transition:transform .3s cubic-bezier(.4, 0, .2, 1),background-position .3s ease,box-shadow .3s cubic-bezier(.4, 0, .2, 1)}.cta-button:hover{will-change:transform;background-position:100% 50%;transform:translateY(-2px) scale(1.02);box-shadow:0 10px 25px rgba(15,23,42,.25)}.cta-button.outline{background-color:#fff;color:var(--cta-solid)!important;border:2px solid #e2e8f0}.cta-button.outline:hover{border-color:var(--cta-solid);background-color:#fff;color:var(--cta-solid)!important}footer{background-color:var(--cta-solid);color:#e2e8f0;padding:60px 0 30px;margin-top:100px;font-size:.9rem}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;margin-bottom:40px;padding:0 20px;max-width:1200px;margin-left:auto;margin-right:auto}.footer-col h4{color:#fff;font-size:1rem;margin-bottom:20px;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--brand-pool);display:inline-block;padding-bottom:5px}.footer-links a{color:#94a3b8;display:block;margin-bottom:10px;transition:color .2s}.footer-links a:hover{color:var(--brand-pool)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:30px;text-align:center;color:#64748b}@media (max-width:900px){.nav-wrapper{padding:0 15px}.nav-links{width:85%}.controls-container{flex-direction:column;border-radius:20px;padding:25px}select{width:100%}}.main-header{text-align:center;max-width:800px;margin:40px auto}.main-header p{font-size:1.2em;color:var(--text-sub)}.service-grid-2{grid-template-columns:2fr 1fr;max-width:1000px;margin:0 auto;align-items:start}.content-column{padding-right:30px;display:flex;flex-direction:column;justify-content:center;align-items:center}.content-column .left-list{max-width:640px;text-align:left}.features-list.centered{text-align:center;padding-left:0;max-width:640px}.features-list.centered li{display:block;padding:8px 0;border-bottom:none}.features-list.centered li::before{margin-right:8px}.section-title{color:var(--brand-pool);display:block;margin-bottom:12px;transition:transform .25s ease,color .25s ease}.content-column:hover .section-title,.section-title:hover{transform:translateY(-6px);color:var(--cta-solid)}.left-list{margin-top:0;padding-left:20px}.highlight-card{box-shadow:0 10px 20px rgba(0,0,0,.1);border:2px solid var(--brand-pool)}.highlight-card .card-title{color:var(--cta-solid)}.cta-margin{margin-top:15px}.contact-link{color:#fff}.footer-cta{text-align:center;padding:10px}.nav-dropdown-link{cursor:pointer}.nav-quote{margin-top:20px;text-align:center}.nav-quote-link{color:var(--cta-solid);font-weight:700}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:40px}.review-card{background:#fff;padding:35px;border-radius:16px;box-shadow:var(--shadow-card);border:1px solid #f1f5f9;transform:translateZ(0);transition:transform .4s cubic-bezier(.4, 0, .2, 1),box-shadow .4s cubic-bezier(.4, 0, .2, 1)}.review-card:hover{will-change:transform;transform:translateY(-6px);box-shadow:0 15px 35px -10px rgba(0,0,0,.12)}.stars{color:#f59e0b;font-size:1.2em;letter-spacing:2px;margin-bottom:15px}.review-text{font-style:italic;color:var(--text-main);line-height:1.6;font-size:1.05em}.review-author{font-weight:700;color:var(--cta-solid);display:block;margin-top:20px}.review-location{font-size:.85em;color:var(--text-sub);text-transform:uppercase;letter-spacing:.5px}.promo-cta{text-align:center;margin-top:60px;background-color:#f0fdfa;padding:40px;border-radius:16px;border:1px solid #ccfbf1}.promo-cta p{margin-bottom:20px}.promo-cta .cta-button{max-width:250px;margin:0 auto}.reviews-widget-section{background:linear-gradient(135deg,#f0fdfa 0,#ecfeff 100%);padding:60px 0;margin-top:60px}.reviews-widget-header{text-align:center;margin-bottom:40px}.reviews-widget-header h2{color:var(--cta-solid);margin-bottom:20px;font-size:2.2rem}.reviews-widget-rating{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap}.rating-stars{color:#f59e0b;font-size:1.8rem;letter-spacing:4px}.rating-text{display:flex;align-items:baseline;gap:8px}.rating-score{font-size:1.8rem;font-weight:700;color:var(--cta-solid)}.rating-count{color:var(--text-sub);font-size:1rem}.google-badge{display:inline-flex;align-items:center;padding:8px 16px;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:transform .2s,box-shadow .2s}.google-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.reviews-widget-carousel{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px;margin-bottom:30px}.review-widget-card{background:#fff;padding:25px;border-radius:16px;box-shadow:var(--shadow-card);border:1px solid #e2e8f0;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.review-widget-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-float)}.review-widget-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.reviewer-info{display:flex;gap:12px;align-items:center}.reviewer-avatar{width:48px;height:48px;border-radius:50%;background:var(--cta-gradient);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.reviewer-name{font-weight:700;color:var(--cta-solid);font-size:1.05rem;margin-bottom:4px}.review-widget-stars{color:#f59e0b;font-size:.9rem;letter-spacing:2px}.review-date{color:var(--text-sub);font-size:.85rem}.review-widget-text{color:var(--text-main);line-height:1.6;font-size:.95rem;margin:0}.reviews-widget-footer{text-align:center}.reviews-view-all{display:inline-flex;align-items:center;gap:8px;color:var(--cta-solid);font-weight:600;font-size:1.05rem;padding:12px 24px;background:#fff;border-radius:50px;box-shadow:0 2px 8px rgba(0,0,0,.08);transition:all .3s}.reviews-view-all:hover{background:var(--cta-solid);color:#fff;transform:translateX(4px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.placeholder-shimmer::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(64,224,208,.1),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{left:-100%}100%{left:100%}}@media (max-width:768px){.reviews-widget-section{padding:40px 0}.reviews-widget-header h2{font-size:1.8rem}.reviews-widget-rating{flex-direction:column;gap:10px}.reviews-widget-carousel{grid-template-columns:1fr;gap:20px}}