@import "https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600&family=Poppins:wght@600;700;800&display=swap";
.pool-spa-page *,.pool-spa-page :before,.pool-spa-page :after{box-sizing:border-box;margin:0;padding:0}.pool-spa-page{color:#333;-webkit-font-smoothing:antialiased;background:#fff;font-family:Open Sans,sans-serif;line-height:1.6}.pool-spa-page h1,.pool-spa-page h2,.pool-spa-page h3,.pool-spa-page h4,.pool-spa-page h5,.pool-spa-page h6{color:#231f20;font-family:Poppins,sans-serif;line-height:1.2}.pool-spa-page a{color:inherit;text-decoration:none}.pool-spa-page img{max-width:100%;display:block}.pool-spa-page ul{list-style:none}.pool-spa-page input,.pool-spa-page select,.pool-spa-page button{font-family:Open Sans,sans-serif}.pool-spa-page .container{max-width:1200px;margin:0 auto;padding:0 24px}.pool-spa-page .section-label{letter-spacing:2.5px;text-transform:uppercase;color:#85b8ff;margin-bottom:12px;font-family:Poppins,sans-serif;font-size:13px;font-weight:700}.pool-spa-page .section-title{margin-bottom:16px;font-size:38px;font-weight:700}.pool-spa-page .section-subtitle{color:#666;max-width:640px;margin:0 auto 48px;font-size:17px}.pool-spa-page .text-center{text-align:center}.pool-spa-page .sticky-nav{z-index:9999;background:#0d1b2a;justify-content:center;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.pool-spa-page .nav-inner{justify-content:space-between;align-items:center;width:100%;max-width:1200px;display:flex}.pool-spa-page .sticky-nav .logo img{width:auto;height:38px}.pool-spa-page .nav-right{align-items:center;gap:24px;display:flex}.pool-spa-page .phone-link{color:#fff;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.pool-spa-page .phone-link svg{flex-shrink:0}.pool-spa-page .btn-cta{color:#fff;cursor:pointer;background:#376ce6;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-family:Poppins,sans-serif;font-size:14px;font-weight:700;transition:background .2s,transform .15s;display:inline-flex}.pool-spa-page .btn-cta:hover{background:#2b56b8;transform:translateY(-1px)}.pool-spa-page .hero{background:url(https://s3.amazonaws.com/framewrks3/gmoutdoorliving/img/portfolio/hinton-drone.jpg) 50%/cover no-repeat;align-items:center;min-height:740px;padding:80px 0 64px;display:flex;position:relative}.pool-spa-page .hero:before{content:"";z-index:1;background:linear-gradient(19deg,#000000b3 0% 60%);position:absolute;inset:0}.pool-spa-page .hero .container{z-index:2;align-items:flex-start;gap:48px;display:flex;position:relative}.pool-spa-page .hero-left{flex:0 0 55%;padding-top:24px}.pool-spa-page .hero-label{letter-spacing:3px;text-transform:uppercase;color:#ffffffbf;margin-bottom:16px;font-family:Poppins,sans-serif;font-size:12px;font-weight:600}.pool-spa-page .hero h1{color:#fff;margin-bottom:20px;font-size:52px;font-weight:700;line-height:1.15}.pool-spa-page .hero-sub{color:#ffffffe0;max-width:540px;margin-bottom:36px;font-size:18px;line-height:1.7}.pool-spa-page .proof-badges{flex-wrap:wrap;gap:16px;display:flex}.pool-spa-page .proof-badge{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff21;border:1px solid #ffffff2e;border-radius:10px;align-items:center;gap:12px;min-width:160px;padding:14px 20px;display:flex}.pool-spa-page .proof-badge svg{flex-shrink:0;width:28px;height:28px}.pool-spa-page .proof-badge .badge-text strong{color:#fff;font-size:16px;font-weight:700;line-height:1.1;display:block}.pool-spa-page .proof-badge .badge-text span{color:#ffffffb8;font-size:12px;line-height:1.1}.pool-spa-page .hero-right{flex:0 0 40%;max-width:420px}.pool-spa-page .hero-card{background:#fff;border-radius:16px;padding:32px 28px;box-shadow:0 8px 40px #00000040}.pool-spa-page .hero-card .stars-row{align-items:center;gap:10px;margin-bottom:6px;display:flex}.pool-spa-page .hero-card .stars-row img{width:auto;height:22px}.pool-spa-page .hero-card .stars-row span{color:#666;font-size:13px}.pool-spa-page .hero-card h3{margin:12px 0 4px;font-size:22px;font-weight:700}.pool-spa-page .hero-card .respond-text{color:#666;margin-bottom:20px;font-size:13px}.pool-spa-page .form-group{margin-bottom:14px}.pool-spa-page .form-group label{color:#231f20;margin-bottom:5px;font-size:13px;font-weight:600;display:block}.pool-spa-page .form-group input,.pool-spa-page .form-group select{color:#333;appearance:none;background:#fff;border:1.5px solid #d0d0d0;border-radius:8px;width:100%;padding:11px 14px;font-size:15px;transition:border-color .2s}.pool-spa-page .form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.pool-spa-page .form-group input:focus,.pool-spa-page .form-group select:focus{border-color:#85b8ff;outline:none;box-shadow:0 0 0 3px #85b8ff1f}.pool-spa-page .form-group .field-error{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451f}.pool-spa-page .form-group .error-msg{color:#dc3545;margin-top:4px;font-size:12px;display:none}.pool-spa-page .btn-submit{color:#fff;cursor:pointer;background:#376ce6;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px;font-family:Poppins,sans-serif;font-size:15px;font-weight:700;transition:background .2s;display:flex}.pool-spa-page .btn-submit:hover{background:#2b56b8;transform:translateY(-1px)}.pool-spa-page .form-disclaimer{color:#999;text-align:center;margin-top:12px;font-size:12px}.pool-spa-page .form-success{text-align:center;padding:24px 16px;display:none}.pool-spa-page .form-success.visible{display:block}.pool-spa-page .form-success .success-icon{background:#22c55e;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;display:flex}.pool-spa-page .form-success .success-icon svg{color:#fff;width:28px;height:28px}.pool-spa-page .form-success h4{color:#231f20;margin-bottom:8px;font-family:Poppins,sans-serif;font-size:20px;font-weight:700}.pool-spa-page .form-success p{color:#666;margin-bottom:0;font-size:14px;line-height:1.6}.pool-spa-page .form-success .success-name{color:#231f20;font-weight:700}.pool-spa-page .form-success .success-detail{color:#888;margin-top:12px;font-size:13px}.pool-spa-page .trust-bar{background:#fff;border-top:3px solid #85b8ff;padding:32px 0}.pool-spa-page .trust-bar .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.pool-spa-page .trust-item{align-items:center;gap:12px;display:flex}.pool-spa-page .trust-item svg{flex-shrink:0}.pool-spa-page .trust-item .trust-text strong{color:#231f20;font-family:Poppins,sans-serif;font-size:18px;font-weight:700;line-height:1.1;display:block}.pool-spa-page .trust-item .trust-text span{color:#666;font-size:13px;line-height:1.1}.pool-spa-page .how-it-works{background:#fff;padding:72px 0}.pool-spa-page .steps-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.pool-spa-page .step-card{background:#f8f8f8;border:1px solid #ececec;border-radius:12px;padding:32px 24px;transition:box-shadow .25s,transform .25s;position:relative}.pool-spa-page .step-card:hover{transform:translateY(-3px);box-shadow:0 6px 24px #00000014}.pool-spa-page .step-num{color:#fff;background:#85b8ff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:18px;font-family:Poppins,sans-serif;font-size:18px;font-weight:700;display:flex}.pool-spa-page .step-card h4{margin-bottom:10px;font-size:18px;font-weight:700}.pool-spa-page .step-card p{color:#666;font-size:14px;line-height:1.65}.pool-spa-page .testimonials{background:#f8f8f8;padding:72px 0}.pool-spa-page .testimonials-grid{grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:32px;display:grid}.pool-spa-page .testimonial-card{background:#fff;border-radius:12px;padding:32px 28px;transition:box-shadow .25s,transform .25s;box-shadow:0 4px 20px #00000026}.pool-spa-page .testimonial-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0000001a}.pool-spa-page .testimonial-stars{gap:2px;margin-bottom:14px;display:flex}.pool-spa-page .testimonial-card blockquote{color:#444;margin-bottom:20px;font-size:15px;font-style:italic;line-height:1.7}.pool-spa-page .testimonial-card .reviewer{color:#231f20;font-size:15px;font-weight:600}.pool-spa-page .testimonial-card .review-source{color:#999;margin-top:2px;font-size:13px}.pool-spa-page .reviews-link{color:#85b8ff;align-items:center;gap:6px;font-size:15px;font-weight:600;transition:color .2s;display:inline-flex}.pool-spa-page .reviews-link:hover{color:#6ba3ff}.pool-spa-page .features{background:#fff;padding:72px 0}.pool-spa-page .features-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.pool-spa-page .feature-card{cursor:pointer;border-radius:16px;align-items:flex-end;height:320px;transition:transform .3s;display:flex;position:relative;overflow:hidden}.pool-spa-page .feature-card:hover{transform:scale(1.02)}.pool-spa-page .feature-card img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.pool-spa-page .feature-card:after{content:"";background:linear-gradient(#0000001a 40%,#000000b8 100%);position:absolute;inset:0}.pool-spa-page .feature-card .feature-content{z-index:2;color:#fff;padding:28px;position:relative}.pool-spa-page .feature-card .feature-content h4{color:#fff;margin-bottom:8px;font-size:20px;font-weight:700}.pool-spa-page .feature-card .feature-content p{color:#ffffffd9;font-size:14px;line-height:1.6}.pool-spa-page .pricing-banner{text-align:center;color:#fff;background:linear-gradient(135deg,#0d1b2ae6 0%,#85b8ffd9 100%),url(https://s3.amazonaws.com/framewrks3/gmoutdoorliving/img/portfolio/custom-pool-30.jpg) 50%/cover no-repeat;padding:72px 0}.pool-spa-page .pricing-banner .section-label{color:#ffffffa6}.pool-spa-page .pricing-banner .starts-at{color:#fffc;margin-bottom:8px;font-size:18px;font-weight:600}.pool-spa-page .pricing-banner .price{margin-bottom:16px;font-family:Poppins,sans-serif;font-size:72px;font-weight:800}.pool-spa-page .pricing-banner .financing-text{color:#fffc;margin-bottom:32px;font-size:16px}.pool-spa-page .pricing-logos{justify-content:center;align-items:center;gap:40px;margin-bottom:36px;display:flex}.pool-spa-page .pricing-logos img{background:#fff;border-radius:8px;width:auto;height:40px;padding:8px 16px}.pool-spa-page .gallery{background:#f8f8f8;padding:72px 0}.pool-spa-page .gallery-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.pool-spa-page .gallery-item{aspect-ratio:4/3;cursor:pointer;border-radius:16px;position:relative;overflow:hidden}.pool-spa-page .gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.pool-spa-page .gallery-item:hover img{transform:scale(1.06)}.pool-spa-page .lightbox-overlay{z-index:10000;opacity:0;background:#000000eb;justify-content:center;align-items:center;transition:opacity .3s;display:none;position:fixed;inset:0}.pool-spa-page .lightbox-overlay.active{opacity:1;display:flex}.pool-spa-page .lightbox-img{object-fit:contain;-webkit-user-select:none;user-select:none;border-radius:8px;max-width:90vw;max-height:85vh;animation:.25s lightboxFadeIn}@keyframes lightboxFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.pool-spa-page .lightbox-close,.pool-spa-page .lightbox-prev,.pool-spa-page .lightbox-next{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:background .2s;display:flex;position:absolute}.pool-spa-page .lightbox-close:hover,.pool-spa-page .lightbox-prev:hover,.pool-spa-page .lightbox-next:hover{background:#ffffff40}.pool-spa-page .lightbox-close{top:24px;right:24px}.pool-spa-page .lightbox-prev{top:50%;left:24px;transform:translateY(-50%)}.pool-spa-page .lightbox-next{top:50%;right:24px;transform:translateY(-50%)}.pool-spa-page .lightbox-counter{color:#ffffffb3;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.pool-spa-page .faq{background:#fff;padding:72px 0}.pool-spa-page .faq-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.pool-spa-page .faq-item{background:#f8f8f8;border-left:4px solid #85b8ff;border-radius:0 16px 16px 0;padding:20px 24px}.pool-spa-page .faq-item h4{margin-bottom:8px;font-size:16px;font-weight:700}.pool-spa-page .faq-item p{color:#666;font-size:14px;line-height:1.7}.pool-spa-page .bottom-cta{text-align:center;background:#e8f2fa;padding:72px 0}.pool-spa-page .bottom-cta .section-title{color:#231f20}.pool-spa-page .bottom-cta .section-subtitle{color:#555;margin-bottom:36px}.pool-spa-page .cta-buttons{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.pool-spa-page .btn-outline{color:#0d1b2a;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background:0 0;border:2px solid #0d1b2a;border-radius:8px;align-items:center;gap:8px;padding:12px 28px;font-family:Poppins,sans-serif;font-size:14px;font-weight:700;transition:background .2s,color .2s;display:inline-flex}.pool-spa-page .btn-outline:hover{color:#fff;background:#0d1b2a}.pool-spa-page .site-footer{text-align:center;color:#fff9;background:#0d1b2a;padding:36px 0;font-size:14px}.pool-spa-page .site-footer .footer-line{margin-bottom:6px}.pool-spa-page .site-footer a{color:#ffffffd9;transition:color .2s}.pool-spa-page .site-footer a:hover{color:#fff}@media (max-width:1024px){.pool-spa-page .hero .container{flex-direction:column}.pool-spa-page .hero-left,.pool-spa-page .hero-right{flex:none;max-width:100%}.pool-spa-page .hero-left{padding-top:0}.pool-spa-page .hero h1{font-size:34px}.pool-spa-page .steps-grid{grid-template-columns:repeat(2,1fr)}.pool-spa-page .testimonials-grid,.pool-spa-page .features-grid{grid-template-columns:1fr}.pool-spa-page .gallery-grid{grid-template-columns:repeat(2,1fr)}.pool-spa-page .faq-grid{grid-template-columns:1fr}.pool-spa-page .trust-bar .container{justify-content:center}}@media (max-width:640px){.pool-spa-page .hero{min-height:auto;padding:48px 0}.pool-spa-page .hero h1{font-size:28px}.pool-spa-page .proof-badges{flex-direction:column}.pool-spa-page .section-title{font-size:28px}.pool-spa-page .steps-grid{grid-template-columns:1fr}.pool-spa-page .pricing-banner .price{font-size:48px}.pool-spa-page .gallery-grid{grid-template-columns:1fr}.pool-spa-page .phone-link span{display:none}}
