:root{--pool-aqua:#0891b2;--pool-deep:#1e40af;--pool-light:#67e8f9;--pool-dark:#0c4a6e;--sand-beige:#fef3c7;--sand-dark:#fde68a;--white:#ffffff;--off-white:#f8fafc;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--font-heading:'Poppins',sans-serif;--font-body:'Nunito',sans-serif;--container-width:1200px;--section-padding:80px 0;--section-padding-sm:60px 0;--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 6px rgba(0,0,0,0.1);--shadow-lg:0 10px 25px rgba(0,0,0,0.15);--shadow-xl:0 20px 40px rgba(0,0,0,0.2);--shadow-pool:0 8px 30px rgba(8,145,178,0.3);--transition:all 0.3s ease}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);font-size:1rem;line-height:1.7;color:var(--gray-800);background-color:var(--white);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--gray-900);margin-bottom:1rem}h1{font-size:2.75rem;letter-spacing:-0.02em}h2{font-size:2.25rem;letter-spacing:-0.01em}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}p{margin-bottom:1rem}a{color:var(--pool-aqua);text-decoration:none;transition:var(--transition)}a:hover{color:var(--pool-deep)}img{max-width:100%;height:auto;display:block}ul,ol{margin-bottom:1rem;padding-left:1.5rem}.container{max-width:var(--container-width);margin:0 auto;padding:0 20px}.container-fluid{width:100%;padding:0 20px}.section{padding:var(--section-padding)}.section-sm{padding:var(--section-padding-sm)}@keyframes ripple{0%{transform:scale(1) translateY(0);opacity:0.3}50%{opacity:0.5}100%{transform:scale(1.2) translateY(-20px);opacity:0}}@keyframes wave{0%,100%{transform:translateX(0) translateY(0)}50%{transform:translateX(-25px) translateY(-10px)}}@keyframes shimmer{0%{background-position:-1000px 0}100%{background-position:1000px 0}}.header{background:linear-gradient(135deg,var(--pool-deep) 0%,var(--pool-aqua) 100%);color:var(--white);padding:0.75rem 0;position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-md)}.header-top{background:rgba(255,255,255,0.1);padding:0.5rem 0;font-size:0.875rem}.header-top .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.header-contact{display:flex;gap:1.5rem;align-items:center}.header-contact a{color:var(--white);display:flex;align-items:center;gap:0.5rem}.header-contact a:hover{color:var(--sand-beige)}.header-main{padding:1rem 0}.header-main .container{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.75rem;font-weight:700;color:var(--white);display:flex;align-items:center;gap:0.75rem}.logo:hover{color:var(--white);opacity:0.9}.logo-icon{width:45px;height:45px;background:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--pool-aqua);font-size:1.5rem}.nav{display:flex;gap:2rem;align-items:center}.nav-link{color:var(--white);font-weight:600;padding:0.5rem 0;position:relative}.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--sand-beige);transition:width 0.3s ease}.nav-link:hover::after,.nav-link.active::after{width:100%}.nav-link:hover{color:var(--sand-beige)}.menu-toggle{display:none;background:none;border:none;color:var(--white);font-size:1.5rem;cursor:pointer;padding:0.5rem}.btn{display:inline-block;padding:0.875rem 2rem;font-family:var(--font-heading);font-size:1rem;font-weight:600;text-align:center;border-radius:8px;cursor:pointer;transition:var(--transition);border:2px solid transparent;text-decoration:none;line-height:1.5}.btn-primary{background:linear-gradient(135deg,var(--pool-aqua) 0%,var(--pool-deep) 100%);color:var(--white);box-shadow:var(--shadow-pool)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(8,145,178,0.4);color:var(--white)}.btn-secondary{background:var(--white);color:var(--pool-deep);border-color:var(--pool-deep)}.btn-secondary:hover{background:var(--pool-deep);color:var(--white)}.btn-outline{background:transparent;color:var(--white);border-color:var(--white)}.btn-outline:hover{background:var(--white);color:var(--pool-aqua)}.btn-lg{padding:1.125rem 2.5rem;font-size:1.125rem}.btn-group{display:flex;gap:1rem;flex-wrap:wrap}.hero{position:relative;background:linear-gradient(135deg,var(--pool-deep) 0%,var(--pool-aqua) 100%);color:var(--white);padding:120px 0 100px;overflow:hidden}.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(103,232,249,0.1) 0%,transparent 50%),radial-gradient(circle at 80% 30%,rgba(255,255,255,0.05) 0%,transparent 50%);animation:wave 15s ease-in-out infinite}.hero::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:100px;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 100" preserveAspectRatio="none"><path d="M0,50 Q300,100 600,50 T1200,50 L1200,100 L0,100 Z" fill="%23ffffff"/></svg>') bottom center no-repeat;background-size:cover}.hero .container{position:relative;z-index:2}.hero-content{max-width:800px;margin:0 auto;text-align:center}.hero h1{color:var(--white);font-size:3.5rem;margin-bottom:1.5rem;text-shadow:0 2px 10px rgba(0,0,0,0.2)}.hero-subtitle{font-size:1.375rem;margin-bottom:2rem;color:var(--sand-beige);font-weight:600}.hero-text{font-size:1.125rem;margin-bottom:2.5rem;opacity:0.95;line-height:1.8}.hero .btn-group{justify-content:center;margin-bottom:2rem}.trust-badges{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,0.2)}.trust-badge{display:flex;align-items:center;gap:0.5rem;font-size:0.875rem;opacity:0.9}.trust-badge-icon{font-size:1.25rem;color:var(--sand-beige)}.phone-highlight{display:inline-block;font-size:2rem;font-weight:700;color:var(--white);margin:1.5rem 0;padding:1rem 2rem;background:rgba(255,255,255,0.1);border-radius:12px;border:2px solid rgba(255,255,255,0.2)}.phone-highlight:hover{background:rgba(255,255,255,0.15);transform:scale(1.05);color:var(--white)}.section-header{text-align:center;margin-bottom:4rem}.section-title{color:var(--pool-deep);margin-bottom:1rem}.section-subtitle{font-size:1.125rem;color:var(--gray-600);max-width:700px;margin:0 auto}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.card{background:var(--white);border-radius:12px;padding:2rem;box-shadow:var(--shadow-md);transition:var(--transition);border:1px solid var(--gray-100)}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--pool-aqua)}.card-icon{width:60px;height:60px;background:linear-gradient(135deg,var(--pool-aqua) 0%,var(--pool-deep) 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;color:var(--white);margin-bottom:1.5rem}.card-title{color:var(--pool-deep);font-size:1.375rem;margin-bottom:1rem}.card-text{color:var(--gray-600);margin-bottom:1.5rem}.card-link{color:var(--pool-aqua);font-weight:600;display:inline-flex;align-items:center;gap:0.5rem}.card-link:hover{gap:0.75rem}.check-list{list-style:none;padding:0}.check-list li{position:relative;padding-left:2rem;margin-bottom:1rem;color:var(--gray-700)}.check-list li::before{content:'✓';position:absolute;left:0;color:var(--success);font-weight:700;font-size:1.25rem}.problem-list{list-style:none;padding:0}.problem-list li{position:relative;padding-left:2rem;margin-bottom:1rem;color:var(--gray-700)}.problem-list li::before{content:'⚠';position:absolute;left:0;color:var(--warning);font-size:1.25rem}.process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin:3rem 0}.process-step{text-align:center;position:relative}.process-step::after{content:'→';position:absolute;right:-2rem;top:50px;font-size:2rem;color:var(--pool-light)}.process-step:last-child::after{display:none}.step-number{width:80px;height:80px;background:linear-gradient(135deg,var(--pool-aqua) 0%,var(--pool-deep) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:var(--white);margin:0 auto 1.5rem;box-shadow:var(--shadow-pool)}.step-title{font-size:1.25rem;color:var(--pool-deep);margin-bottom:0.75rem}.step-text{color:var(--gray-600)}.bg-light{background:var(--gray-50)}.bg-pool{background:linear-gradient(135deg,var(--pool-deep) 0%,var(--pool-aqua) 100%);color:var(--white)}.bg-pool h2,.bg-pool h3,.bg-pool h4{color:var(--white)}.bg-pool .card{background:rgba(255,255,255,0.98)}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.review-card{background:var(--white);padding:2rem;border-radius:12px;box-shadow:var(--shadow-md);border-left:4px solid var(--pool-aqua)}.review-stars{color:var(--warning);font-size:1.25rem;margin-bottom:1rem}.review-text{font-style:italic;color:var(--gray-700);margin-bottom:1.5rem;line-height:1.6}.review-author{font-weight:600;color:var(--pool-deep)}.review-location{color:var(--gray-600);font-size:0.875rem}.faq-list{max-width:900px;margin:0 auto}.faq-item{background:var(--white);border-radius:12px;padding:2rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--gray-200)}.faq-question{color:var(--pool-deep);font-size:1.25rem;font-weight:600;margin-bottom:1rem}.faq-answer{color:var(--gray-700);line-height:1.7}.cta-section{background:linear-gradient(135deg,var(--pool-deep) 0%,var(--pool-aqua) 100%);color:var(--white);text-align:center;padding:80px 0;position:relative;overflow:hidden}.cta-section::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,0.1) 0%,transparent 70%)}.cta-section .container{position:relative;z-index:2}.cta-section h2{color:var(--white);font-size:2.5rem;margin-bottom:1rem}.cta-section p{font-size:1.25rem;margin-bottom:2rem;opacity:0.95}.contact-form{background:var(--white);padding:3rem;border-radius:12px;box-shadow:var(--shadow-lg);max-width:600px;margin:0 auto}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-weight:600;color:var(--gray-700);margin-bottom:0.5rem}.form-input,.form-select,.form-textarea{width:100%;padding:0.875rem 1rem;font-family:var(--font-body);font-size:1rem;border:2px solid var(--gray-200);border-radius:8px;transition:var(--transition)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--pool-aqua);box-shadow:0 0 0 3px rgba(8,145,178,0.1)}.form-textarea{resize:vertical;min-height:120px}.areas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin:2rem 0}.area-card{background:var(--white);padding:1.5rem;border-radius:8px;border:2px solid var(--gray-200);text-align:center;transition:var(--transition)}.area-card:hover{border-color:var(--pool-aqua);transform:translateY(-3px);box-shadow:var(--shadow-md)}.area-card h3{color:var(--pool-deep);font-size:1.25rem}.area-card a{color:var(--pool-aqua);font-weight:600}.footer{background:var(--gray-900);color:var(--gray-300);padding:60px 0 30px}.footer-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-bottom:3rem}.footer-section h3{color:var(--white);font-size:1.25rem;margin-bottom:1.5rem}.footer-links{list-style:none;padding:0}.footer-links li{margin-bottom:0.75rem}.footer-links a{color:var(--gray-300);transition:var(--transition)}.footer-links a:hover{color:var(--pool-light)}.footer-bottom{border-top:1px solid var(--gray-700);padding-top:2rem;text-align:center;font-size:0.875rem}.breadcrumbs{padding:1.5rem 0;background:var(--gray-50)}.breadcrumb-list{list-style:none;display:flex;flex-wrap:wrap;gap:0.5rem;padding:0;margin:0}.breadcrumb-list li{display:flex;align-items:center;gap:0.5rem}.breadcrumb-list li::after{content:'›';color:var(--gray-400)}.breadcrumb-list li:last-child::after{display:none}.breadcrumb-list a{color:var(--pool-aqua)}.service-hero{background:linear-gradient(135deg,var(--pool-deep) 0%,var(--pool-aqua) 100%);color:var(--white);padding:80px 0 60px;text-align:center}.service-hero h1{color:var(--white);margin-bottom:1rem}.service-hero p{font-size:1.25rem;max-width:700px;margin:0 auto 2rem}.service-content{padding:60px 0}.service-sidebar{background:var(--gray-50);padding:2rem;border-radius:12px;position:sticky;top:100px}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2.5rem}.blog-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md);transition:var(--transition)}.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.blog-image{width:100%;height:220px;background:linear-gradient(135deg,var(--pool-aqua) 0%,var(--pool-deep) 100%);display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--white)}.blog-content{padding:2rem}.blog-meta{font-size:0.875rem;color:var(--gray-600);margin-bottom:1rem}.blog-title{font-size:1.5rem;margin-bottom:1rem}.blog-title a{color:var(--gray-900)}.blog-title a:hover{color:var(--pool-aqua)}.blog-excerpt{color:var(--gray-600);margin-bottom:1.5rem}.text-center{text-align:center}.text-pool{color:var(--pool-aqua)}.text-deep{color:var(--pool-deep)}.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.mb-3{margin-bottom:3rem}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}.hero{background-image:linear-gradient(135deg,rgba(26,54,93,0.9) 0%,rgba(45,74,124,0.85) 50%,rgba(74,111,165,0.8) 100%),url('/images/hero.jpg');background-size:cover;background-position:center;background-repeat:no-repeat}@media (max-width:968px){h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}.hero h1{font-size:2.5rem}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--pool-deep);flex-direction:column;padding:1rem;box-shadow:var(--shadow-lg)}.nav.active{display:flex}.menu-toggle{display:block}.card-grid,.areas-grid{grid-template-columns:1fr}.process-step::after{display:none}.footer-main{grid-template-columns:1fr}}@media (max-width:640px){h1{font-size:1.875rem}h2{font-size:1.625rem}.hero{padding:80px 0 60px}.hero h1{font-size:2rem}.hero-subtitle{font-size:1.125rem}.btn-group{flex-direction:column}.btn{width:100%}.phone-highlight{font-size:1.5rem;padding:0.75rem 1.5rem}.trust-badges{flex-direction:column;gap:1rem}.header-top .container,.header-contact{flex-direction:column;gap:0.5rem}.contact-form{padding:2rem 1.5rem}.section{padding:60px 0}.section-header{margin-bottom:2.5rem}}@media print{.header,.footer,.btn,.menu-toggle{display:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:2px solid var(--pool-aqua);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}.certifications-section{background:var(--color-gray-100,#f3f4f6);padding:1.5rem 0;border-bottom:1px solid var(--color-gray-200,#e5e7eb)}.certifications-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1.5rem 2.5rem}.certification-badge{display:flex;align-items:center;gap:0.5rem;font-size:0.9rem;color:var(--color-gray-700,#374151);font-weight:500}.cert-icon{font-size:1.1rem}.cert-text{white-space:nowrap}@media (max-width:768px){.certifications-row{gap:1rem 1.5rem}.certification-badge{font-size:0.8rem}}@media (max-width:480px){.certifications-section{padding:1rem 0}.certifications-row{gap:0.75rem 1rem}}

/* Urgency Badge Styles */
.urgency-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.25rem;
  border-radius: 50px;
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 1rem;
  animation: pulse-badge 2s infinite;
}

.urgency-sub-badge {
  display: block;
  font-size: 0.875rem;
  color: #666;
  margin-bottom: 0.5rem;
}

.urgency-emergency {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  color: white;
}

.urgency-savings {
  background: linear-gradient(135deg, #059669, #047857);
  color: white;
}

.urgency-seasonal {
  background: linear-gradient(135deg, #d97706, #b45309);
  color: white;
}

.urgency-important {
  background: linear-gradient(135deg, #7c3aed, #6d28d9);
  color: white;
}

.urgency-caring {
  background: linear-gradient(135deg, #0891b2, #0e7490);
  color: white;
}

@keyframes pulse-badge {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.02); }
}
