:root{--color-solar-yellow:#eab308;--color-solar-gold:#fbbf24;--color-sky-blue:#0369a1;--color-sky-light:#0ea5e9;--color-white:#ffffff;--color-off-white:#f9fafb;--color-charcoal:#1f2937;--color-charcoal-light:#374151;--color-gray:#6b7280;--color-gray-light:#9ca3af;--color-border:#e5e7eb;--gradient-sky:linear-gradient(135deg,#0ea5e9 0%,#0369a1 100%);--gradient-sun:linear-gradient(135deg,#fbbf24 0%,#eab308 100%);--gradient-hero:linear-gradient(180deg,#0369a1 0%,#0c4a6e 100%);--gradient-sunset:linear-gradient(135deg,#eab308 0%,#f59e0b 50%,#0369a1 100%);--font-heading:'Space Grotesk',-apple-system,BlinkMacSystemFont,sans-serif;--font-body:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;--text-xs:clamp(0.75rem,0.7rem+0.25vw,0.875rem);--text-sm:clamp(0.875rem,0.825rem+0.25vw,1rem);--text-base:clamp(1rem,0.95rem+0.25vw,1.125rem);--text-lg:clamp(1.125rem,1.05rem+0.375vw,1.25rem);--text-xl:clamp(1.25rem,1.15rem+0.5vw,1.5rem);--text-2xl:clamp(1.5rem,1.3rem+1vw,2rem);--text-3xl:clamp(1.875rem,1.5rem+1.875vw,2.5rem);--text-4xl:clamp(2.25rem,1.75rem+2.5vw,3rem);--text-5xl:clamp(2.5rem,2rem+2.5vw,3.5rem);--space-xs:0.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4rem;--space-3xl:6rem;--container-max:1280px;--container-padding:1.5rem;--border-radius:0.75rem;--border-radius-lg:1rem;--border-radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--shadow-glow:0 0 30px rgba(234,179,8,0.4);--shadow-glow-blue:0 0 30px rgba(3,105,161,0.3);--transition-fast:150ms ease-in-out;--transition-base:250ms ease-in-out;--transition-slow:350ms ease-in-out;--z-base:1;--z-dropdown:100;--z-sticky:200;--z-header:300;--z-modal:400;--z-tooltip:500}@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;color:var(--color-charcoal);background-color:var(--color-white);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--color-charcoal);margin-bottom:var(--space-md)}h1{font-size:var(--text-5xl);letter-spacing:-0.025em}h2{font-size:var(--text-4xl);letter-spacing:-0.02em}h3{font-size:var(--text-3xl);letter-spacing:-0.015em}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin-bottom:var(--space-md)}a{color:var(--color-sky-blue);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-sky-light)}strong{font-weight:600;color:var(--color-charcoal)}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);width:100%}.container-narrow{max-width:960px;margin:0 auto;padding:0 var(--container-padding)}section{padding:var(--space-3xl) 0}.section-alt{background-color:var(--color-off-white)}.site-header{position:sticky;top:0;z-index:var(--z-header);background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-base)}.site-header.scrolled{box-shadow:var(--shadow-lg)}.header-content{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;gap:var(--space-lg)}.logo{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;color:var(--color-charcoal);text-decoration:none;transition:transform var(--transition-base)}.logo:hover{transform:scale(1.02);color:var(--color-charcoal)}.logo-icon{width:40px;height:40px;background:var(--gradient-sun);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:var(--shadow-glow)}.main-nav{display:flex;align-items:center;gap:var(--space-lg)}.nav-menu{display:flex;list-style:none;gap:var(--space-lg);align-items:center}.nav-menu a{font-family:var(--font-heading);font-weight:500;font-size:var(--text-sm);color:var(--color-charcoal);text-transform:uppercase;letter-spacing:0.05em;padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius);transition:all var(--transition-base);position:relative}.nav-menu a::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--gradient-sun);transition:width var(--transition-base)}.nav-menu a:hover{color:var(--color-solar-yellow)}.nav-menu a:hover::after{width:80%}.header-phone{display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-heading);font-weight:700;font-size:var(--text-lg);color:var(--color-sky-blue);white-space:nowrap}.header-phone:hover{color:var(--color-solar-yellow)}.mobile-menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:var(--space-xs)}.mobile-menu-toggle span{width:28px;height:3px;background:var(--color-charcoal);border-radius:2px;transition:all var(--transition-base)}.hero{position:relative;background:var(--gradient-hero);color:var(--color-white);padding:var(--space-3xl) 0;overflow:hidden}.hero::before{content:'';position:absolute;top:-50%;right:-20%;width:800px;height:800px;background:radial-gradient(circle,rgba(234,179,8,0.15) 0%,transparent 70%);border-radius:50%;animation:pulse-sun 8s ease-in-out infinite}@keyframes pulse-sun{0%,100%{transform:scale(1) translateY(0);opacity:0.5}50%{transform:scale(1.1) translateY(-20px);opacity:0.7}}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);align-items:center;position:relative;z-index:var(--z-base)}.hero-content h1{color:var(--color-white);margin-bottom:var(--space-md);text-shadow:0 2px 10px rgba(0,0,0,0.2)}.hero-subheadline{font-size:var(--text-xl);font-weight:500;margin-bottom:var(--space-lg);color:rgba(255,255,255,0.95);line-height:1.5}.hero-body{font-size:var(--text-lg);margin-bottom:var(--space-xl);color:rgba(255,255,255,0.9);line-height:1.7}.cta-group{display:flex;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap}.trust-badges{display:flex;gap:var(--space-lg);align-items:center;flex-wrap:wrap;padding-top:var(--space-lg);border-top:1px solid rgba(255,255,255,0.2)}.trust-badge{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:rgba(255,255,255,0.9)}.trust-badge::before{content:'✓';display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:rgba(234,179,8,0.2);border:2px solid var(--color-solar-yellow);border-radius:50%;font-weight:700;color:var(--color-solar-yellow)}.hero-visual{position:relative;display:flex;align-items:center;justify-content:center}.solar-rays{position:relative;width:100%;max-width:500px;aspect-ratio:1}.solar-rays::before{content:'☀';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:180px;color:var(--color-solar-yellow);text-shadow:0 0 80px rgba(234,179,8,0.6);animation:rotate-slow 30s linear infinite}@keyframes rotate-slow{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}.btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:1rem 2rem;font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;text-decoration:none;border-radius:var(--border-radius-full);border:2px solid transparent;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;text-transform:uppercase;letter-spacing:0.05em;box-shadow:var(--shadow-md)}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.btn-primary{background:var(--gradient-sun);color:var(--color-charcoal);border-color:var(--color-solar-yellow)}.btn-primary:hover{box-shadow:var(--shadow-glow);color:var(--color-charcoal)}.btn-secondary{background:var(--color-white);color:var(--color-sky-blue);border-color:var(--color-white)}.btn-secondary:hover{background:var(--color-off-white);color:var(--color-sky-blue)}.btn-outline{background:transparent;color:var(--color-white);border-color:var(--color-white)}.btn-outline:hover{background:var(--color-white);color:var(--color-sky-blue)}.btn-large{padding:1.25rem 2.5rem;font-size:var(--text-lg)}.btn-icon{display:inline-flex;align-items:center;gap:var(--space-sm)}.card{background:var(--color-white);border-radius:var(--border-radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-md);transition:all var(--transition-base);border:1px solid var(--color-border);height:100%}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.card-icon{width:60px;height:60px;background:var(--gradient-sun);border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;font-size:2rem;margin-bottom:var(--space-md);box-shadow:var(--shadow-glow)}.card-title{font-size:var(--text-2xl);margin-bottom:var(--space-sm);color:var(--color-charcoal)}.card-text{color:var(--color-gray);margin-bottom:var(--space-md)}.card-link{color:var(--color-sky-blue);font-weight:600;display:inline-flex;align-items:center;gap:var(--space-xs);transition:gap var(--transition-base)}.card-link:hover{gap:var(--space-sm)}.grid{display:grid;gap:var(--space-xl)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.section-header{text-align:center;max-width:800px;margin:0 auto var(--space-2xl)}.section-eyebrow{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-solar-yellow);margin-bottom:var(--space-sm)}.section-title{margin-bottom:var(--space-md)}.section-description{font-size:var(--text-lg);color:var(--color-gray)}.problems-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-md);list-style:none}.problems-list li{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--color-white);border-radius:var(--border-radius);border-left:4px solid var(--color-solar-yellow);box-shadow:var(--shadow-sm)}.problems-list li::before{content:'⚠';font-size:1.5rem;flex-shrink:0}.process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl);counter-reset:step}.process-step{position:relative;padding:var(--space-xl);background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);counter-increment:step}.process-step::before{content:counter(step);position:absolute;top:-20px;left:50%;transform:translateX(-50%);width:50px;height:50px;background:var(--gradient-sun);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;color:var(--color-charcoal);box-shadow:var(--shadow-glow)}.process-step h3{margin-top:var(--space-lg);text-align:center}.process-step p{text-align:center;color:var(--color-gray);margin-bottom:0}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-xl)}.review-card{background:var(--color-white);padding:var(--space-xl);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);border-top:4px solid var(--color-solar-yellow);transition:all var(--transition-base)}.review-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.review-stars{color:var(--color-solar-yellow);font-size:var(--text-lg);margin-bottom:var(--space-sm)}.review-text{font-size:var(--text-lg);font-style:italic;color:var(--color-charcoal);margin-bottom:var(--space-md);line-height:1.6}.review-author{font-weight:600;color:var(--color-charcoal)}.review-location{font-size:var(--text-sm);color:var(--color-gray)}.faq-list{max-width:900px;margin:0 auto}.faq-item{background:var(--color-white);border-radius:var(--border-radius);margin-bottom:var(--space-md);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--color-border)}.faq-question{width:100%;text-align:left;padding:var(--space-lg);background:none;border:none;font-family:var(--font-heading);font-size:var(--text-lg);font-weight:600;color:var(--color-charcoal);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all var(--transition-base)}.faq-question:hover{background:var(--color-off-white);color:var(--color-sky-blue)}.faq-icon{font-size:var(--text-2xl);color:var(--color-solar-yellow);transition:transform var(--transition-base)}.faq-item.active .faq-icon{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--transition-slow)}.faq-item.active .faq-answer{max-height:500px}.faq-answer-content{padding:0 var(--space-lg) var(--space-lg);color:var(--color-gray);line-height:1.7}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md)}.location-link{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--color-white);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);transition:all var(--transition-base);font-weight:600;border:2px solid transparent}.location-link:hover{border-color:var(--color-solar-yellow);box-shadow:var(--shadow-md);transform:translateX(4px)}.location-link::before{content:'📍';font-size:var(--text-xl)}.contact-form{max-width:700px;margin:0 auto;background:var(--color-white);padding:var(--space-2xl);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-family:var(--font-heading);font-weight:600;margin-bottom:var(--space-xs);color:var(--color-charcoal)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-md);font-family:var(--font-body);font-size:var(--text-base);border:2px solid var(--color-border);border-radius:var(--border-radius);transition:all var(--transition-base);background:var(--color-white)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-solar-yellow);box-shadow:0 0 0 3px rgba(234,179,8,0.1)}.form-textarea{resize:vertical;min-height:150px}.form-required{color:var(--color-solar-yellow)}.callout{background:linear-gradient(135deg,rgba(234,179,8,0.1) 0%,rgba(3,105,161,0.1) 100%);border-left:4px solid var(--color-solar-yellow);padding:var(--space-lg);border-radius:var(--border-radius);margin:var(--space-xl) 0}.callout-title{font-family:var(--font-heading);font-weight:700;color:var(--color-charcoal);margin-bottom:var(--space-sm)}.callout-emergency{background:linear-gradient(135deg,rgba(234,179,8,0.15) 0%,rgba(251,191,36,0.15) 100%);border-left:4px solid var(--color-solar-gold)}.site-footer{background:var(--color-charcoal);color:rgba(255,255,255,0.8);padding:var(--space-3xl) 0 var(--space-xl)}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-2xl);margin-bottom:var(--space-2xl)}.footer-section h3{color:var(--color-white);font-size:var(--text-xl);margin-bottom:var(--space-md)}.footer-links{list-style:none}.footer-links li{margin-bottom:var(--space-sm)}.footer-links a{color:rgba(255,255,255,0.8);transition:color var(--transition-base);display:inline-block}.footer-links a:hover{color:var(--color-solar-yellow);padding-left:var(--space-xs)}.footer-contact{display:flex;flex-direction:column;gap:var(--space-md)}.footer-phone{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;color:var(--color-solar-yellow);display:inline-block}.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding-top:var(--space-lg);text-align:center;font-size:var(--text-sm);color:rgba(255,255,255,0.6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mt-0{margin-top:0}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.color-primary{color:var(--color-solar-yellow)}.color-secondary{color:var(--color-sky-blue)}.color-white{color:var(--color-white)}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp 0.6s ease-out forwards;opacity:0}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:all 0.6s ease-out}.animate-on-scroll.in-view{opacity:1;transform:translateY(0)}.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:1024px){:root{--container-padding:1.25rem}.hero-grid{grid-template-columns:1fr;gap:var(--space-xl)}.hero-visual{order:-1}.solar-rays{max-width:300px}.solar-rays::before{font-size:120px}}@media (max-width:768px){.nav-menu{position:fixed;top:70px;left:0;right:0;background:var(--color-white);flex-direction:column;padding:var(--space-lg);box-shadow:var(--shadow-xl);transform:translateY(-100%);opacity:0;transition:all var(--transition-base);pointer-events:none;z-index:var(--z-dropdown)}.nav-menu.active{transform:translateY(0);opacity:1;pointer-events:all}.mobile-menu-toggle{display:flex}.mobile-menu-toggle.active span:nth-child(1){transform:rotate(45deg) translateY(8px)}.mobile-menu-toggle.active span:nth-child(2){opacity:0}.mobile-menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translateY(-8px)}.header-phone{font-size:var(--text-base)}.cta-group{flex-direction:column}.btn{width:100%;justify-content:center}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}}@media (max-width:480px){:root{--container-padding:1rem;--space-3xl:3rem}section{padding:var(--space-2xl) 0}.trust-badges{flex-direction:column;align-items:flex-start}}.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;
}
