@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Work+Sans:wght@300;400;500;600;700&display=swap');:root{--color-charcoal:#1f2937;--color-charcoal-light:#374151;--color-charcoal-dark:#111827;--color-warm-white:#fafaf9;--color-off-white:#f5f5f4;--color-gold:#ca8a04;--color-gold-light:#eab308;--color-gold-dark:#a16207;--color-soft-blue:#64748b;--color-soft-blue-light:#94a3b8;--color-soft-blue-dark:#475569;--font-heading:'Cormorant Garamond',serif;--font-body:'Work Sans',sans-serif;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2.5rem;--spacing-xl:4rem;--spacing-2xl:6rem;--max-width:1280px;--max-width-narrow:800px;--border-radius:0.25rem;--border-radius-lg:0.5rem;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1);--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 6px rgba(0,0,0,0.07);--shadow-lg:0 10px 15px rgba(0,0,0,0.1);--shadow-xl:0 20px 25px rgba(0,0,0,0.15)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-weight:400;line-height:1.7;color:var(--color-charcoal);background-color:var(--color-warm-white);overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none;transition:var(--transition)}ul,ol{list-style-position:inside}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;color:var(--color-charcoal-dark);margin-bottom:var(--spacing-md)}h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;letter-spacing:-0.02em}h2{font-size:clamp(2rem,4vw,3rem);font-weight:600;letter-spacing:-0.01em}h3{font-size:clamp(1.5rem,3vw,2rem);font-weight:600}h4{font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:500}p{margin-bottom:var(--spacing-md);color:var(--color-charcoal-light)}.lead-text{font-size:1.25rem;font-weight:300;color:var(--color-soft-blue);line-height:1.8}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-md)}.container-narrow{max-width:var(--max-width-narrow);margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-2xl) 0}.section-sm{padding:var(--spacing-xl) 0}.section-gray{background-color:var(--color-off-white)}.section-charcoal{background-color:var(--color-charcoal);color:var(--color-warm-white)}.section-charcoal h1,.section-charcoal h2,.section-charcoal h3,.section-charcoal h4{color:var(--color-warm-white)}.section-charcoal p{color:var(--color-off-white)}.site-header{background-color:var(--color-warm-white);border-bottom:1px solid rgba(31,41,55,0.1);position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-sm);transition:var(--transition)}.header-top{background-color:var(--color-charcoal-dark);color:var(--color-warm-white);padding:var(--spacing-xs) 0;font-size:0.875rem}.header-top .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm)}.header-contact{display:flex;gap:var(--spacing-lg);align-items:center}.header-contact a{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-warm-white);font-weight:500}.header-contact a:hover{color:var(--color-gold-light)}.nav-wrapper{padding:var(--spacing-md) 0}.nav-container{display:flex;justify-content:space-between;align-items:center}.site-logo{font-family:var(--font-heading);font-size:1.75rem;font-weight:700;color:var(--color-charcoal-dark);letter-spacing:-0.01em}.site-logo span{color:var(--color-gold)}.main-nav ul{display:flex;gap:var(--spacing-lg);list-style:none;align-items:center}.main-nav a{font-weight:500;color:var(--color-charcoal);padding:var(--spacing-xs) 0;position:relative;font-size:0.9375rem;letter-spacing:0.01em}.main-nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-gold);transition:width 0.3s ease}.main-nav a:hover::after{width:100%}.nav-cta{background-color:var(--color-gold);color:white;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius);font-weight:600}.nav-cta::after{display:none}.nav-cta:hover{background-color:var(--color-gold-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.mobile-menu-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-charcoal);padding:var(--spacing-xs)}.hero{background:linear-gradient(135deg,var(--color-charcoal-dark) 0%,var(--color-charcoal) 100%);color:var(--color-warm-white);padding:var(--spacing-2xl) 0;position:relative;overflow:hidden}.hero::before{content:'';position:absolute;top:0;right:0;width:50%;height:100%;background:linear-gradient(45deg,transparent 0%,rgba(202,138,4,0.1) 100%);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:800px}.hero h1{color:var(--color-warm-white);margin-bottom:var(--spacing-md);text-shadow:0 2px 4px rgba(0,0,0,0.1)}.hero .lead-text{color:var(--color-off-white);margin-bottom:var(--spacing-lg);font-size:1.125rem}.hero-cta-group{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.trust-badges{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid rgba(255,255,255,0.2);flex-wrap:wrap}.trust-badge{display:flex;align-items:center;gap:var(--spacing-xs);font-size:0.9375rem;color:var(--color-off-white)}.trust-badge::before{content:'✓';display:flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:var(--color-gold);border-radius:50%;font-weight:700;color:white;font-size:0.875rem}.btn{display:inline-block;padding:1rem 2rem;font-family:var(--font-body);font-weight:600;font-size:1rem;text-align:center;border:none;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);text-decoration:none;letter-spacing:0.01em}.btn-primary{background-color:var(--color-gold);color:white;box-shadow:var(--shadow-md)}.btn-primary:hover{background-color:var(--color-gold-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background-color:transparent;color:var(--color-warm-white);border:2px solid var(--color-warm-white)}.btn-secondary:hover{background-color:var(--color-warm-white);color:var(--color-charcoal)}.btn-outline{background-color:transparent;color:var(--color-charcoal);border:2px solid var(--color-charcoal)}.btn-outline:hover{background-color:var(--color-charcoal);color:var(--color-warm-white)}.btn-large{padding:1.25rem 2.5rem;font-size:1.125rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.service-card{background-color:white;border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:var(--transition);border-top:4px solid var(--color-gold);position:relative;overflow:hidden}.service-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--color-gold) 0%,var(--color-gold-light) 100%)}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.service-card-icon{font-size:2.5rem;margin-bottom:var(--spacing-md);color:var(--color-gold)}.service-card h3{margin-bottom:var(--spacing-sm)}.service-card p{color:var(--color-soft-blue);font-size:0.9375rem;margin-bottom:var(--spacing-md)}.service-card-link{color:var(--color-gold);font-weight:600;display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:0.9375rem}.service-card-link:hover{color:var(--color-gold-dark);gap:var(--spacing-sm)}.problems-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg);list-style:none}.problem-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:white;border-radius:var(--border-radius);box-shadow:var(--shadow-sm)}.problem-item::before{content:'⚠';font-size:1.5rem;color:var(--color-gold);flex-shrink:0}.process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg);position:relative}.process-step{text-align:center;padding:var(--spacing-lg);position:relative}.step-number{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;background:linear-gradient(135deg,var(--color-gold) 0%,var(--color-gold-light) 100%);color:white;font-family:var(--font-heading);font-size:1.5rem;font-weight:700;border-radius:50%;margin:0 auto var(--spacing-md);box-shadow:var(--shadow-md)}.process-step h3{font-size:1.25rem;margin-bottom:var(--spacing-sm)}.process-step p{font-size:0.9375rem;color:var(--color-soft-blue)}.location-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.location-card{background-color:white;padding:var(--spacing-md);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);transition:var(--transition);text-align:center;border:2px solid transparent}.location-card:hover{border-color:var(--color-gold);box-shadow:var(--shadow-md);transform:translateY(-2px)}.location-card h3{font-size:1.125rem;color:var(--color-charcoal-dark);margin-bottom:var(--spacing-xs)}.location-card p{font-size:0.875rem;color:var(--color-soft-blue);margin:0}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.review-card{background-color:white;padding:var(--spacing-lg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);position:relative}.review-stars{color:var(--color-gold);font-size:1.125rem;margin-bottom:var(--spacing-sm);letter-spacing:0.125rem}.review-text{font-style:italic;color:var(--color-charcoal-light);margin-bottom:var(--spacing-md);font-size:0.9375rem;line-height:1.7}.review-author{font-weight:600;color:var(--color-charcoal-dark);font-size:0.9375rem}.review-location{color:var(--color-soft-blue);font-size:0.875rem}.faq-list{max-width:900px;margin:var(--spacing-lg) auto 0;list-style:none}.faq-item{background-color:white;border-radius:var(--border-radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm)}.faq-question{font-family:var(--font-heading);font-size:1.125rem;font-weight:600;color:var(--color-charcoal-dark);margin-bottom:var(--spacing-sm);display:flex;align-items:flex-start;gap:var(--spacing-sm)}.faq-question::before{content:'Q:';color:var(--color-gold);font-weight:700;flex-shrink:0}.faq-answer{color:var(--color-charcoal-light);padding-left:calc(var(--spacing-sm)+1.5rem);line-height:1.7}.faq-answer p{margin-bottom:0}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.benefit-item{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.benefit-icon{font-size:2rem;color:var(--color-gold);margin-bottom:var(--spacing-xs)}.benefit-item h3{font-size:1.125rem;margin-bottom:var(--spacing-xs)}.benefit-item p{font-size:0.9375rem;color:var(--color-soft-blue);margin:0}.cta-section{background:linear-gradient(135deg,var(--color-gold-dark) 0%,var(--color-gold) 100%);color:white;text-align:center;padding:var(--spacing-2xl) 0;position:relative;overflow:hidden}.cta-section::before{content:'';position:absolute;top:-50%;right:-10%;width:60%;height:200%;background:radial-gradient(circle,rgba(255,255,255,0.1) 0%,transparent 70%);pointer-events:none}.cta-section h2{color:white;margin-bottom:var(--spacing-md)}.cta-section p{color:rgba(255,255,255,0.95);font-size:1.125rem;max-width:700px;margin:0 auto var(--spacing-lg)}.cta-buttons{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap}.cta-section .btn-secondary{border-color:white;color:white}.cta-section .btn-secondary:hover{background-color:white;color:var(--color-gold-dark)}.contact-form{background-color:white;padding:var(--spacing-xl);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);max-width:600px;margin:0 auto}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;font-weight:600;color:var(--color-charcoal-dark);margin-bottom:var(--spacing-xs);font-size:0.9375rem}.form-input,.form-select,.form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-body);font-size:1rem;border:2px solid var(--color-soft-blue-light);border-radius:var(--border-radius);transition:var(--transition);background-color:var(--color-warm-white)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px rgba(202,138,4,0.1)}.form-textarea{resize:vertical;min-height:120px}.form-button{width:100%;padding:var(--spacing-md);font-size:1.125rem}.site-footer{background-color:var(--color-charcoal-dark);color:var(--color-warm-white);padding:var(--spacing-xl) 0 var(--spacing-md)}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.footer-section h3{color:var(--color-warm-white);font-size:1.25rem;margin-bottom:var(--spacing-md)}.footer-section p,.footer-section a{color:var(--color-soft-blue-light);font-size:0.9375rem;line-height:1.8}.footer-section a:hover{color:var(--color-gold-light)}.footer-links{list-style:none}.footer-links li{margin-bottom:var(--spacing-xs)}.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:var(--spacing-md);text-align:center;color:var(--color-soft-blue-light);font-size:0.875rem}.footer-logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-warm-white);margin-bottom:var(--spacing-sm);display:block}.footer-logo span{color:var(--color-gold)}.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:768px){.mobile-menu-toggle{display:block}.main-nav{position:absolute;top:100%;left:0;right:0;background-color:white;box-shadow:var(--shadow-lg);max-height:0;overflow:hidden;transition:max-height 0.3s ease}.main-nav.active{max-height:500px;border-top:1px solid rgba(31,41,55,0.1)}.main-nav ul{flex-direction:column;padding:var(--spacing-md);gap:0}.main-nav li{width:100%;border-bottom:1px solid rgba(31,41,55,0.05)}.main-nav a{display:block;padding:var(--spacing-md) var(--spacing-sm)}.nav-cta{margin:var(--spacing-md) 0;display:block;text-align:center}.header-contact{flex-direction:column;gap:var(--spacing-xs);align-items:flex-start}.hero-cta-group{flex-direction:column}.hero-cta-group .btn{width:100%}.trust-badges{flex-direction:column;gap:var(--spacing-sm)}.services-grid,.location-grid{grid-template-columns:1fr}.cta-buttons{flex-direction:column}.cta-buttons .btn{width:100%}.section{padding:var(--spacing-xl) 0}.section-sm{padding:var(--spacing-lg) 0}}.decorative-line{width:60px;height:4px;background:linear-gradient(90deg,var(--color-gold) 0%,var(--color-gold-light) 100%);margin:0 auto var(--spacing-md);border-radius:2px}.section-header{text-align:center;max-width:800px;margin:0 auto var(--spacing-xl)}.section-header .decorative-line{margin:0 auto var(--spacing-md)}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeInUp 0.6s ease-out forwards}.text-center{text-align:center}.text-gold{color:var(--color-gold)}.mt-0{margin-top:0}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}*:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}@media print{.site-header,.site-footer,.cta-section,.btn{display:none}}.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); }
}


/* Financing Section Styles */
.financing-section {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
  padding: 4rem 0;
}

.financing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin: 2rem 0;
}

.financing-option {
  background: white;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
  transition: transform 0.3s, box-shadow 0.3s;
}

.financing-option:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}

.financing-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.financing-option h3 {
  color: #166534;
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
}

.financing-option p {
  color: #374151;
  line-height: 1.6;
  font-size: 0.95rem;
}

.financing-cta {
  text-align: center;
  margin-top: 3rem;
  padding: 2rem;
  background: white;
  border-radius: 12px;
}

.financing-cta p {
  font-size: 1.1rem;
  margin-bottom: 1.5rem;
  color: #374151;
}

.financing-cta .cta-group {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
