:root{--color-primary: #1B4D7A;--color-primary-dark: #0F3355;--color-primary-light: #2A6FA8;--color-primary-xlight: #E8F1F8;--color-accent: #FF6B2C;--color-accent-dark: #E05A1F;--color-accent-light: #FF8F5C;--color-accent-xlight: #FFF0E8;--color-white: #FFFFFF;--color-gray-50: #F8FAFB;--color-gray-100: #EEF2F5;--color-gray-200: #D5DDE3;--color-gray-300: #B0BEC9;--color-gray-400: #8A9BAA;--color-gray-500: #6B7B8A;--color-gray-600: #4A5B6A;--color-gray-700: #344554;--color-gray-800: #1E2D3A;--color-gray-900: #0D1B26;--color-success: #22A861;--color-success-light: #E6F7EF;--color-warning: #F5A623;--color-warning-light: #FEF5E4;--color-danger: #E53E3E;--color-danger-light: #FEE8E8;--color-info: #3182CE;--color-info-light: #EBF5FF;--font-heading: 'Outfit',sans-serif;--font-body: 'Source Sans 3',sans-serif;--font-mono: 'Courier New',monospace;--text-xs: 0.75rem;--text-sm: 0.875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--leading-relaxed: 1.65;--leading-loose: 1.8;--space-1: 0.25rem;--space-2: 0.5rem;--space-3: 0.75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,0.06);--shadow-sm: 0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.04);--shadow-md: 0 4px 12px rgba(0,0,0,0.1),0 2px 4px rgba(0,0,0,0.06);--shadow-lg: 0 8px 30px rgba(0,0,0,0.12),0 4px 8px rgba(0,0,0,0.06);--shadow-xl: 0 20px 60px rgba(0,0,0,0.15),0 8px 20px rgba(0,0,0,0.08);--shadow-primary: 0 4px 20px rgba(27,77,122,0.25);--shadow-accent: 0 4px 20px rgba(255,107,44,0.35);--transition-fast: 150ms ease;--transition-base: 250ms ease;--transition-slow: 400ms ease;--transition-bounce: 300ms cubic-bezier(0.34,1.56,0.64,1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1200px;--container-2xl: 1400px;--z-below: -1;--z-base: 0;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500}*,*::before,*::after{box-sizing: border-box;margin: 0;padding: 0}html{font-size: 16px;scroll-behavior: smooth;-webkit-text-size-adjust: 100%}body{font-family: var(--font-body);font-size: var(--text-base);line-height: var(--leading-relaxed);color: var(--color-gray-600);background-color: var(--color-gray-50);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale}img,svg,video{display: block;max-width: 100%}a{color: var(--color-primary-light);text-decoration: none;transition: color var(--transition-fast)}a:hover{color: var(--color-primary)}ul,ol{list-style: none}button{cursor: pointer;font-family: var(--font-body);border: none;background: none}input,select,textarea{font-family: var(--font-body);font-size: var(--text-base)}h1,h2,h3,h4,h5,h6{font-family: var(--font-heading);font-weight: var(--font-bold);line-height: var(--leading-tight);color: var(--color-gray-800)}h1{font-size: var(--text-4xl)}h2{font-size: var(--text-3xl)}h3{font-size: var(--text-2xl)}h4{font-size: var(--text-xl)}h5{font-size: var(--text-lg)}h6{font-size: var(--text-base)}p{margin-bottom: var(--space-4)}p:last-child{margin-bottom: 0}strong{font-weight: var(--font-semibold);color: var(--color-gray-800)}.container{width: 100%;max-width: var(--container-xl);margin-left: auto;margin-right: auto;padding-left: var(--space-6);padding-right: var(--space-6)}.container--sm{max-width: var(--container-sm)}.container--md{max-width: var(--container-md)}.container--lg{max-width: var(--container-lg)}.container--2xl{max-width: var(--container-2xl)}.grid{display: grid;gap: var(--space-6)}.grid--2{grid-template-columns: repeat(2,1fr)}.grid--3{grid-template-columns: repeat(3,1fr)}.grid--4{grid-template-columns: repeat(4,1fr)}.grid--5{grid-template-columns: repeat(5,1fr)}.grid--auto-sm{grid-template-columns: repeat(auto-fill,minmax(200px,1fr))}.grid--auto-md{grid-template-columns: repeat(auto-fill,minmax(280px,1fr))}.grid--auto-lg{grid-template-columns: repeat(auto-fill,minmax(360px,1fr))}.flex{display: flex}.flex--center{align-items: center;justify-content: center}.flex--between{align-items: center;justify-content: space-between}.flex--start{align-items: flex-start}.flex--wrap{flex-wrap: wrap}.flex--col{flex-direction: column}.flex--gap-2{gap: var(--space-2)}.flex--gap-3{gap: var(--space-3)}.flex--gap-4{gap: var(--space-4)}.flex--gap-6{gap: var(--space-6)}.flex--gap-8{gap: var(--space-8)}.section{padding-top: var(--space-20);padding-bottom: var(--space-20)}.section--sm{padding-top: var(--space-12);padding-bottom: var(--space-12)}.section--lg{padding-top: var(--space-24);padding-bottom: var(--space-24)}.section--white{background-color: var(--color-white)}.section--gray{background-color: var(--color-gray-100)}.section--dark{background-color: var(--color-primary-dark);color: var(--color-white)}.section--primary{background-color: var(--color-primary);color: var(--color-white)}.section-header{text-align: center;margin-bottom: var(--space-12)}.section-header h2{font-size: var(--text-3xl);font-weight: var(--font-extrabold);margin-bottom: var(--space-3)}.section-header p{font-size: var(--text-lg);color: var(--color-gray-500);max-width: 600px;margin: 0 auto}.section--dark .section-header h2,.section--primary .section-header h2{color: var(--color-white)}.section--dark .section-header p,.section--primary .section-header p{color: rgba(255,255,255,0.75)}.text-xs{font-size: var(--text-xs)}.text-sm{font-size: var(--text-sm)}.text-base{font-size: var(--text-base)}.text-lg{font-size: var(--text-lg)}.text-xl{font-size: var(--text-xl)}.text-2xl{font-size: var(--text-2xl)}.text-3xl{font-size: var(--text-3xl)}.text-4xl{font-size: var(--text-4xl)}.text-5xl{font-size: var(--text-5xl)}.font-normal{font-weight: var(--font-normal)}.font-medium{font-weight: var(--font-medium)}.font-semibold{font-weight: var(--font-semibold)}.font-bold{font-weight: var(--font-bold)}.font-extrabold{font-weight: var(--font-extrabold)}.text-center{text-align: center}.text-left{text-align: left}.text-right{text-align: right}.text-primary{color: var(--color-primary)}.text-accent{color: var(--color-accent)}.text-muted{color: var(--color-gray-400)}.text-white{color: var(--color-white)}.lead{font-size: var(--text-lg);line-height: var(--leading-relaxed);color: var(--color-gray-500)}.eyebrow{font-size: var(--text-sm);font-weight: var(--font-semibold);letter-spacing: 0.08em;text-transform: uppercase;color: var(--color-accent);margin-bottom: var(--space-3);display: block}.btn{display: inline-flex;align-items: center;justify-content: center;gap: var(--space-2);padding: 0.75rem 1.75rem;font-family: var(--font-heading);font-size: var(--text-base);font-weight: var(--font-semibold);line-height: 1;border-radius: var(--radius-md);border: 2px solid transparent;cursor: pointer;text-decoration: none;transition: all var(--transition-base);white-space: nowrap;position: relative;overflow: hidden}.btn:focus-visible{outline: 3px solid var(--color-accent);outline-offset: 3px}.btn--primary{background-color: var(--color-primary);color: var(--color-white);border-color: var(--color-primary);box-shadow: var(--shadow-primary)}.btn--primary:hover{background-color: var(--color-primary-dark);border-color: var(--color-primary-dark);color: var(--color-white);transform: translateY(-1px);box-shadow: 0 6px 25px rgba(27,77,122,0.35)}.btn--accent{background-color: var(--color-accent);color: var(--color-white);border-color: var(--color-accent);box-shadow: var(--shadow-accent)}.btn--accent:hover{background-color: var(--color-accent-dark);border-color: var(--color-accent-dark);color: var(--color-white);transform: translateY(-2px);box-shadow: 0 8px 30px rgba(255,107,44,0.45)}.btn--accent::after{content: '';position: absolute;top: 0;left: -100%;width: 60%;height: 100%;background: linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);transition: left 0.5s ease}.btn--accent:hover::after{left: 150%}.btn--outline{background-color: transparent;color: var(--color-primary);border-color: var(--color-primary)}.btn--outline:hover{background-color: var(--color-primary);color: var(--color-white)}.btn--outline-white{background-color: transparent;color: var(--color-white);border-color: rgba(255,255,255,0.6)}.btn--outline-white:hover{background-color: var(--color-white);color: var(--color-primary);border-color: var(--color-white)}.btn--ghost{background-color: transparent;color: var(--color-gray-600);border-color: transparent}.btn--ghost:hover{background-color: var(--color-gray-100);color: var(--color-gray-800)}.btn--sm{padding: 0.5rem 1rem;font-size: var(--text-sm)}.btn--lg{padding: 1rem 2.5rem;font-size: var(--text-lg);border-radius: var(--radius-lg)}.btn--xl{padding: 1.25rem 3rem;font-size: var(--text-xl);border-radius: var(--radius-lg)}.btn--full{width: 100%}.btn--call{background-color: var(--color-accent);color: var(--color-white);border-color: var(--color-accent);font-size: var(--text-lg);font-weight: var(--font-bold);padding: 1rem 2rem;box-shadow: var(--shadow-accent)}.btn--call:hover{background-color: var(--color-accent-dark);color: var(--color-white);transform: translateY(-2px);box-shadow: 0 8px 30px rgba(255,107,44,0.5)}.card{background-color: var(--color-white);border-radius: var(--radius-lg);box-shadow: var(--shadow-md);overflow: hidden;transition: transform var(--transition-base),box-shadow var(--transition-base)}.card:hover{transform: translateY(-4px);box-shadow: var(--shadow-xl)}.card__body{padding: var(--space-6)}.card__header{padding: var(--space-6);border-bottom: 1px solid var(--color-gray-200)}.card__footer{padding: var(--space-4) var(--space-6);background-color: var(--color-gray-50);border-top: 1px solid var(--color-gray-200)}.service-card{background-color: var(--color-white);border-radius: var(--radius-lg);box-shadow: var(--shadow-sm);padding: var(--space-8);text-align: center;transition: all var(--transition-base);border: 2px solid transparent;text-decoration: none;display: flex;flex-direction: column;align-items: center;gap: var(--space-4)}.service-card:hover{transform: translateY(-6px);box-shadow: var(--shadow-xl);border-color: var(--color-primary-light);text-decoration: none}.service-card__icon{width: 72px;height: 72px;background-color: var(--color-primary-xlight);border-radius: var(--radius-xl);display: flex;align-items: center;justify-content: center;margin-bottom: var(--space-2);transition: background-color var(--transition-base)}.service-card:hover .service-card__icon{background-color: var(--color-primary)}.service-card__icon svg{width: 36px;height: 36px;color: var(--color-primary);transition: color var(--transition-base)}.service-card:hover .service-card__icon svg{color: var(--color-white)}.service-card__name{font-family: var(--font-heading);font-size: var(--text-lg);font-weight: var(--font-bold);color: var(--color-gray-800)}.service-card__desc{font-size: var(--text-sm);color: var(--color-gray-500);line-height: var(--leading-relaxed)}.service-card__link{font-size: var(--text-sm);font-weight: var(--font-semibold);color: var(--color-primary-light);margin-top: auto}.city-card{background-color: var(--color-white);border-radius: var(--radius-md);padding: var(--space-4) var(--space-5);border: 1px solid var(--color-gray-200);text-decoration: none;display: flex;align-items: center;justify-content: space-between;gap: var(--space-3);transition: all var(--transition-fast)}.city-card:hover{border-color: var(--color-primary-light);background-color: var(--color-primary-xlight);transform: translateX(4px);text-decoration: none}.city-card__name{font-weight: var(--font-semibold);color: var(--color-gray-800);font-size: var(--text-base)}.city-card__state{font-size: var(--text-sm);color: var(--color-gray-400)}.city-card__arrow{color: var(--color-gray-300);transition: color var(--transition-fast)}.city-card:hover .city-card__arrow{color: var(--color-primary)}.plumber-card{background-color: var(--color-white);border-radius: var(--radius-lg);box-shadow: var(--shadow-md);padding: var(--space-6);border: 2px solid transparent;transition: all var(--transition-base)}.plumber-card--featured{border-color: var(--color-accent);position: relative}.plumber-card__rating{display: flex;align-items: center;gap: var(--space-2)}.stars{color: var(--color-warning);font-size: var(--text-sm);letter-spacing: 0.05em}.rating-count{font-size: var(--text-sm);color: var(--color-gray-400)}.site-header{background-color: var(--color-primary);position: sticky;top: 0;z-index: var(--z-sticky);box-shadow: 0 2px 12px rgba(0,0,0,0.2)}.site-header__inner{display: flex;align-items: center;justify-content: space-between;height: 72px;gap: var(--space-6)}.site-logo{display: flex;align-items: center;gap: var(--space-3);text-decoration: none;flex-shrink: 0}.site-logo img,.site-logo svg{height: 40px;width: auto}.site-logo__text{font-family: var(--font-heading);font-size: var(--text-xl);font-weight: var(--font-extrabold);color: var(--color-white);line-height: 1}.site-logo__text span{color: var(--color-accent)}.main-nav{display: flex;align-items: center;gap: var(--space-1)}.main-nav__item{position: relative}.main-nav__link{display: flex;align-items: center;gap: var(--space-1);padding: var(--space-2) var(--space-4);font-size: var(--text-sm);font-weight: var(--font-semibold);color: rgba(255,255,255,0.85);text-decoration: none;border-radius: var(--radius-sm);transition: all var(--transition-fast);white-space: nowrap}.main-nav__link:hover,.main-nav__link--active{color: var(--color-white);background-color: rgba(255,255,255,0.12)}.main-nav__chevron{width: 14px;height: 14px;transition: transform var(--transition-fast)}.main-nav__item:hover .main-nav__chevron{transform: rotate(180deg)}.nav-dropdown{position: absolute;top: calc(100% + var(--space-2));left: 0;min-width: 220px;background-color: var(--color-white);border-radius: var(--radius-md);box-shadow: var(--shadow-xl);border: 1px solid var(--color-gray-200);padding: var(--space-2);opacity: 0;visibility: hidden;transform: translateY(-8px);transition: all var(--transition-base);z-index: var(--z-dropdown)}.main-nav__item:hover .nav-dropdown{opacity: 1;visibility: visible;transform: translateY(0)}.nav-dropdown__link{display: flex;align-items: center;gap: var(--space-3);padding: var(--space-3) var(--space-4);font-size: var(--text-sm);color: var(--color-gray-700);border-radius: var(--radius-sm);text-decoration: none;transition: all var(--transition-fast)}.nav-dropdown__link:hover{background-color: var(--color-primary-xlight);color: var(--color-primary)}.nav-dropdown__link svg{width: 18px;height: 18px;color: var(--color-primary-light);flex-shrink: 0}.nav-megamenu{position: absolute;top: calc(100% + var(--space-2));left: 50%;transform: translateX(-50%) translateY(-8px);width: 680px;background-color: var(--color-white);border-radius: var(--radius-lg);box-shadow: var(--shadow-xl);border: 1px solid var(--color-gray-200);padding: var(--space-6);opacity: 0;visibility: hidden;transition: all var(--transition-base);z-index: var(--z-dropdown)}.main-nav__item:hover .nav-megamenu{opacity: 1;visibility: visible;transform: translateX(-50%) translateY(0)}.nav-megamenu__grid{display: grid;grid-template-columns: repeat(2,1fr);gap: var(--space-2)}.nav-megamenu__title{font-size: var(--text-xs);font-weight: var(--font-semibold);text-transform: uppercase;letter-spacing: 0.08em;color: var(--color-gray-400);margin-bottom: var(--space-3);padding: 0 var(--space-4)}.header-cta{display: flex;align-items: center;gap: var(--space-4);flex-shrink: 0}.header-phone{display: flex;align-items: center;gap: var(--space-2);font-size: var(--text-sm);font-weight: var(--font-bold);color: var(--color-white);text-decoration: none;transition: color var(--transition-fast)}.header-phone:hover{color: var(--color-accent)}.header-phone svg{width: 18px;height: 18px}.mobile-menu-btn{display: none;flex-direction: column;justify-content: center;align-items: center;width: 44px;height: 44px;gap: 5px;cursor: pointer;padding: var(--space-2);border-radius: var(--radius-sm);transition: background-color var(--transition-fast)}.mobile-menu-btn:hover{background-color: rgba(255,255,255,0.12)}.mobile-menu-btn span{display: block;width: 22px;height: 2px;background-color: var(--color-white);border-radius: 2px;transition: all var(--transition-base)}.mobile-menu-btn.is-open span:nth-child(1){transform: translateY(7px) rotate(45deg)}.mobile-menu-btn.is-open span:nth-child(2){opacity: 0}.mobile-menu-btn.is-open span:nth-child(3){transform: translateY(-7px) rotate(-45deg)}.hero{background-color: var(--color-primary);background-image:radial-gradient(ellipse at 10% 50%,rgba(42,111,168,0.5) 0%,transparent 50%),radial-gradient(ellipse at 90% 20%,rgba(255,107,44,0.12) 0%,transparent 50%),repeating-linear-gradient(45deg,transparent,transparent 30px,rgba(255,255,255,0.015) 30px,rgba(255,255,255,0.015) 31px);padding-top: var(--space-24);padding-bottom: var(--space-24);position: relative;overflow: hidden}.hero::before{content: '';position: absolute;bottom: -1px;left: 0;right: 0;height: 60px;background-color: var(--color-gray-50);clip-path: ellipse(55% 100% at 50% 100%)}.hero__content{text-align: center;max-width: 800px;margin: 0 auto;position: relative;z-index: 1}.hero__eyebrow{display: inline-flex;align-items: center;gap: var(--space-2);background-color: rgba(255,107,44,0.15);border: 1px solid rgba(255,107,44,0.3);color: var(--color-accent-light);font-size: var(--text-sm);font-weight: var(--font-semibold);padding: var(--space-2) var(--space-4);border-radius: var(--radius-full);margin-bottom: var(--space-6);letter-spacing: 0.04em}.hero__title{font-family: var(--font-heading);font-size: var(--text-5xl);font-weight: var(--font-extrabold);color: var(--color-white);line-height: 1.1;margin-bottom: var(--space-6);letter-spacing: -0.02em}.hero__title em{font-style: normal;color: var(--color-accent)}.hero__subtitle{font-size: var(--text-xl);color: rgba(255,255,255,0.8);line-height: var(--leading-relaxed);margin-bottom: var(--space-10);max-width: 600px;margin-left: auto;margin-right: auto}.zip-search{display: flex;gap: 0;max-width: 520px;margin: 0 auto var(--space-8);border-radius: var(--radius-lg);overflow: hidden;box-shadow: 0 8px 40px rgba(0,0,0,0.25)}.zip-search__input{flex: 1;padding: 1rem 1.5rem;font-size: var(--text-lg);border: 3px solid transparent;background-color: var(--color-white);color: var(--color-gray-800);outline: none;transition: border-color var(--transition-fast);min-width: 0}.zip-search__input::placeholder{color: var(--color-gray-400)}.zip-search__input:focus{border-color: var(--color-accent)}.zip-search__btn{padding: 1rem 2rem;background-color: var(--color-accent);color: var(--color-white);font-family: var(--font-heading);font-size: var(--text-base);font-weight: var(--font-bold);cursor: pointer;border: none;white-space: nowrap;transition: background-color var(--transition-fast)}.zip-search__btn:hover{background-color: var(--color-accent-dark)}.trust-bar{display: flex;align-items: center;justify-content: center;flex-wrap: wrap;gap: var(--space-6);margin-top: var(--space-8)}.trust-item{display: flex;align-items: center;gap: var(--space-2);font-size: var(--text-sm);font-weight: var(--font-semibold);color: rgba(255,255,255,0.85)}.trust-item svg{width: 18px;height: 18px;color: var(--color-success);flex-shrink: 0}.badge{display: inline-flex;align-items: center;gap: var(--space-1);padding: 0.25rem 0.75rem;border-radius: var(--radius-full);font-size: var(--text-xs);font-weight: var(--font-semibold);line-height: 1;white-space: nowrap}.badge--success{background-color: var(--color-success-light);color: var(--color-success)}.badge--accent{background-color: var(--color-accent-xlight);color: var(--color-accent-dark)}.badge--primary{background-color: var(--color-primary-xlight);color: var(--color-primary)}.badge--danger{background-color: var(--color-danger-light);color: var(--color-danger)}.badge--warning{background-color: var(--color-warning-light);color: #B07700}.badge--gray{background-color: var(--color-gray-100);color: var(--color-gray-600)}.badge--pulse{position: relative}.badge--pulse::before{content: '';position: absolute;top: 50%;left: 8px;transform: translateY(-50%);width: 8px;height: 8px;border-radius: 50%;background-color: var(--color-success);animation: pulse 2s infinite}@keyframes pulse{0%,100%{opacity: 1;transform: translateY(-50%) scale(1)}50%{opacity: 0.6;transform: translateY(-50%) scale(1.3)}}.badge--emergency{background-color: var(--color-danger);color: var(--color-white);font-size: var(--text-xs);animation: emergency-pulse 1.5s infinite}@keyframes emergency-pulse{0%,100%{box-shadow: 0 0 0 0 rgba(229,62,62,0.4)}50%{box-shadow: 0 0 0 6px rgba(229,62,62,0)}}.badge--featured{position: absolute;top: -12px;left: 50%;transform: translateX(-50%);background-color: var(--color-accent);color: var(--color-white);font-size: var(--text-xs);font-weight: var(--font-bold);padding: 0.25rem 1rem;border-radius: var(--radius-full);white-space: nowrap}.form-group{margin-bottom: var(--space-5)}.form-label{display: block;font-size: var(--text-sm);font-weight: var(--font-semibold);color: var(--color-gray-700);margin-bottom: var(--space-2)}.form-label--required::after{content: ' *';color: var(--color-danger)}.form-control{width: 100%;padding: 0.75rem 1rem;font-size: var(--text-base);font-family: var(--font-body);color: var(--color-gray-800);background-color: var(--color-white);border: 2px solid var(--color-gray-200);border-radius: var(--radius-md);outline: none;transition: border-color var(--transition-fast),box-shadow var(--transition-fast);appearance: none}.form-control::placeholder{color: var(--color-gray-400)}.form-control:focus{border-color: var(--color-primary);box-shadow: 0 0 0 4px rgba(27,77,122,0.1)}.form-control--error{border-color: var(--color-danger)}.form-control--error:focus{box-shadow: 0 0 0 4px rgba(229,62,62,0.1)}.form-error{font-size: var(--text-sm);color: var(--color-danger);margin-top: var(--space-2);display: flex;align-items: center;gap: var(--space-1)}select.form-control{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 fill='%238A9BAA' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 1rem center;padding-right: 2.5rem;cursor: pointer}textarea.form-control{min-height: 120px;resize: vertical}.lead-form{background-color: var(--color-white);border-radius: var(--radius-xl);padding: var(--space-8);box-shadow: var(--shadow-xl);border: 3px solid var(--color-accent)}.lead-form__title{font-family: var(--font-heading);font-size: var(--text-2xl);font-weight: var(--font-extrabold);color: var(--color-gray-800);margin-bottom: var(--space-2);text-align: center}.lead-form__subtitle{font-size: var(--text-sm);color: var(--color-gray-500);text-align: center;margin-bottom: var(--space-6)}.lead-form__grid{display: grid;grid-template-columns: 1fr 1fr;gap: var(--space-4)}.lead-form__full{grid-column: 1 / -1}.steps{display: grid;grid-template-columns: repeat(3,1fr);gap: var(--space-8);position: relative}.steps::before{content: '';position: absolute;top: 40px;left: 22%;right: 22%;height: 2px;background: linear-gradient(90deg,var(--color-primary-light),var(--color-accent));z-index: 0}.step{text-align: center;position: relative;z-index: 1}.step__number{width: 80px;height: 80px;background-color: var(--color-primary);color: var(--color-white);font-family: var(--font-heading);font-size: var(--text-2xl);font-weight: var(--font-extrabold);border-radius: 50%;display: flex;align-items: center;justify-content: center;margin: 0 auto var(--space-5);box-shadow: var(--shadow-primary);position: relative}.step__title{font-family: var(--font-heading);font-size: var(--text-xl);font-weight: var(--font-bold);color: var(--color-gray-800);margin-bottom: var(--space-3)}.step__desc{font-size: var(--text-base);color: var(--color-gray-500);line-height: var(--leading-relaxed)}.stats-grid{display: grid;grid-template-columns: repeat(4,1fr);gap: var(--space-6)}.stat-item{text-align: center;padding: var(--space-6)}.stat-item__number{font-family: var(--font-heading);font-size: var(--text-4xl);font-weight: var(--font-extrabold);color: var(--color-accent);line-height: 1;margin-bottom: var(--space-2)}.stat-item__label{font-size: var(--text-sm);color: rgba(255,255,255,0.75);font-weight: var(--font-medium)}.testimonial-card{background-color: var(--color-white);border-radius: var(--radius-lg);padding: var(--space-8);box-shadow: var(--shadow-md);position: relative}.testimonial-card::before{content: '"';font-family: Georgia,serif;font-size: 6rem;color: var(--color-primary-xlight);position: absolute;top: -1rem;left: 1.5rem;line-height: 1}.testimonial-card__text{font-size: var(--text-base);line-height: var(--leading-relaxed);color: var(--color-gray-600);margin-bottom: var(--space-6);position: relative;z-index: 1}.testimonial-card__author{display: flex;align-items: center;gap: var(--space-4)}.testimonial-card__avatar{width: 48px;height: 48px;border-radius: 50%;background-color: var(--color-primary-xlight);display: flex;align-items: center;justify-content: center;font-family: var(--font-heading);font-weight: var(--font-bold);color: var(--color-primary);font-size: var(--text-lg);flex-shrink: 0}.testimonial-card__name{font-weight: var(--font-semibold);color: var(--color-gray-800);font-size: var(--text-sm)}.testimonial-card__location{font-size: var(--text-xs);color: var(--color-gray-400)}.affiliate-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: var(--space-6)}.affiliate-card{background-color: var(--color-white);border-radius: var(--radius-lg);padding: var(--space-8);text-align: center;box-shadow: var(--shadow-md);border: 2px solid var(--color-gray-200);text-decoration: none;transition: all var(--transition-base)}.affiliate-card:hover{border-color: var(--color-primary);box-shadow: var(--shadow-xl);transform: translateY(-4px)}.affiliate-card__logo{height: 48px;margin: 0 auto var(--space-4);object-fit: contain}.affiliate-card__name{font-family: var(--font-heading);font-size: var(--text-xl);font-weight: var(--font-bold);color: var(--color-gray-800);margin-bottom: var(--space-2)}.affiliate-card__desc{font-size: var(--text-sm);color: var(--color-gray-500);margin-bottom: var(--space-5)}.site-footer{background-color: var(--color-primary-dark);color: rgba(255,255,255,0.75);padding-top: var(--space-16);padding-bottom: 0}.footer-grid{display: grid;grid-template-columns: 2fr 1fr 1fr 1fr 1fr;gap: var(--space-10);padding-bottom: var(--space-12);border-bottom: 1px solid rgba(255,255,255,0.1)}.footer-brand{max-width: 300px}.footer-logo{display: flex;align-items: center;gap: var(--space-3);margin-bottom: var(--space-4);text-decoration: none}.footer-logo__text{font-family: var(--font-heading);font-size: var(--text-xl);font-weight: var(--font-extrabold);color: var(--color-white)}.footer-logo__text span{color: var(--color-accent)}.footer-tagline{font-size: var(--text-sm);line-height: var(--leading-relaxed);margin-bottom: var(--space-5);color: rgba(255,255,255,0.65)}.footer-phone{display: flex;align-items: center;gap: var(--space-2);font-size: var(--text-lg);font-weight: var(--font-bold);color: var(--color-accent);text-decoration: none;margin-bottom: var(--space-3);transition: color var(--transition-fast)}.footer-phone:hover{color: var(--color-accent-light)}.footer-col__title{font-family: var(--font-heading);font-size: var(--text-sm);font-weight: var(--font-bold);text-transform: uppercase;letter-spacing: 0.08em;color: var(--color-white);margin-bottom: var(--space-5)}.footer-nav{display: flex;flex-direction: column;gap: var(--space-3)}.footer-nav a{font-size: var(--text-sm);color: rgba(255,255,255,0.65);text-decoration: none;transition: color var(--transition-fast);line-height: 1}.footer-nav a:hover{color: var(--color-white)}.footer-bottom{padding: var(--space-5) 0;display: flex;align-items: center;justify-content: space-between;font-size: var(--text-sm);color: rgba(255,255,255,0.45);flex-wrap: wrap;gap: var(--space-3)}.footer-bottom a{color: rgba(255,255,255,0.45);text-decoration: none;transition: color var(--transition-fast)}.footer-bottom a:hover{color: rgba(255,255,255,0.8)}.mobile-call-bar{display: none;position: fixed;bottom: 0;left: 0;right: 0;z-index: var(--z-sticky);background-color: var(--color-primary-dark);border-top: 3px solid var(--color-accent);box-shadow: 0 -4px 20px rgba(0,0,0,0.25);padding: var(--space-3) var(--space-4)}.mobile-call-bar__inner{display: flex;align-items: center;gap: var(--space-3)}.mobile-call-bar__text{flex: 1;min-width: 0}.mobile-call-bar__label{font-size: var(--text-xs);color: rgba(255,255,255,0.6);display: block}.mobile-call-bar__number{font-family: var(--font-heading);font-size: var(--text-lg);font-weight: var(--font-extrabold);color: var(--color-white);white-space: nowrap}.mobile-call-bar .btn{flex-shrink: 0;font-size: var(--text-sm);padding: 0.6rem 1.25rem}.breadcrumb{display: flex;align-items: center;flex-wrap: wrap;gap: var(--space-2);padding: var(--space-4) 0;font-size: var(--text-sm);color: var(--color-gray-400)}.breadcrumb__item{display: flex;align-items: center;gap: var(--space-2)}.breadcrumb__link{color: var(--color-primary-light);text-decoration: none;transition: color var(--transition-fast)}.breadcrumb__link:hover{color: var(--color-primary)}.breadcrumb__separator{color: var(--color-gray-300);font-size: var(--text-xs)}.breadcrumb__current{color: var(--color-gray-500)}.cost-table{width: 100%;border-collapse: collapse;border-radius: var(--radius-lg);overflow: hidden;box-shadow: var(--shadow-md);font-size: var(--text-sm)}.cost-table th{background-color: var(--color-primary);color: var(--color-white);font-family: var(--font-heading);font-weight: var(--font-semibold);padding: var(--space-4) var(--space-5);text-align: left;font-size: var(--text-sm)}.cost-table td{padding: var(--space-4) var(--space-5);border-bottom: 1px solid var(--color-gray-200);color: var(--color-gray-600);background-color: var(--color-white)}.cost-table tr:last-child td{border-bottom: none}.cost-table tr:nth-child(even) td{background-color: var(--color-gray-50)}.cost-table tr:hover td{background-color: var(--color-primary-xlight)}.cost--low{color: var(--color-success);font-weight: var(--font-semibold)}.cost--high{color: var(--color-danger);font-weight: var(--font-semibold)}.cost--avg{color: var(--color-primary);font-weight: var(--font-bold)}.faq-list{display: flex;flex-direction: column;gap: var(--space-3)}.faq-item{background-color: var(--color-white);border-radius: var(--radius-md);border: 1px solid var(--color-gray-200);overflow: hidden;transition: border-color var(--transition-fast)}.faq-item.is-open{border-color: var(--color-primary-light)}.faq-question{width: 100%;display: flex;align-items: center;justify-content: space-between;gap: var(--space-4);padding: var(--space-5) var(--space-6);font-family: var(--font-heading);font-size: var(--text-base);font-weight: var(--font-semibold);color: var(--color-gray-800);text-align: left;cursor: pointer;background: none;border: none;transition: color var(--transition-fast)}.faq-question:hover{color: var(--color-primary)}.faq-question__icon{width: 24px;height: 24px;background-color: var(--color-primary-xlight);border-radius: 50%;display: flex;align-items: center;justify-content: center;flex-shrink: 0;color: var(--color-primary);transition: all var(--transition-base)}.faq-item.is-open .faq-question__icon{background-color: var(--color-primary);color: var(--color-white);transform: rotate(45deg)}.faq-answer{max-height: 0;overflow: hidden;transition: max-height var(--transition-slow),padding var(--transition-slow)}.faq-item.is-open .faq-answer{max-height: 400px}.faq-answer__content{padding: 0 var(--space-6) var(--space-5);font-size: var(--text-base);color: var(--color-gray-600);line-height: var(--leading-relaxed);border-top: 1px solid var(--color-gray-100);padding-top: var(--space-4)}.alert{padding: var(--space-4) var(--space-5);border-radius: var(--radius-md);display: flex;align-items: flex-start;gap: var(--space-3);font-size: var(--text-sm);line-height: var(--leading-relaxed)}.alert svg{width: 20px;height: 20px;flex-shrink: 0;margin-top: 2px}.alert--info{background-color: var(--color-info-light);color: #1a5276;border-left: 4px solid var(--color-info)}.alert--info svg{color: var(--color-info)}.alert--success{background-color: var(--color-success-light);color: #1a5c3a;border-left: 4px solid var(--color-success)}.alert--success svg{color: var(--color-success)}.alert--warning{background-color: var(--color-warning-light);color: #7B5E00;border-left: 4px solid var(--color-warning)}.alert--warning svg{color: var(--color-warning)}.alert--danger{background-color: var(--color-danger-light);color: #8B0000;border-left: 4px solid var(--color-danger)}.alert--danger svg{color: var(--color-danger)}.alert--emergency{background-color: var(--color-danger);color: var(--color-white);border-left: none;border-radius: var(--radius-md)}.alert--emergency svg{color: var(--color-white)}.city-hero{background-color: var(--color-primary);background-image: linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary-light) 100%);padding: var(--space-16) 0 var(--space-20);position: relative}.city-hero::after{content: '';position: absolute;bottom: -1px;left: 0;right: 0;height: 50px;background-color: var(--color-gray-50);clip-path: polygon(0 100%,100% 100%,100% 0,0 40%)}.city-hero__content{display: grid;grid-template-columns: 1fr auto;gap: var(--space-8);align-items: center}.city-hero__title{font-size: var(--text-4xl);color: var(--color-white);font-weight: var(--font-extrabold);margin-bottom: var(--space-4)}.city-hero__desc{font-size: var(--text-lg);color: rgba(255,255,255,0.8);margin-bottom: var(--space-6);max-width: 550px}.post-card{background-color: var(--color-white);border-radius: var(--radius-lg);box-shadow: var(--shadow-sm);overflow: hidden;transition: all var(--transition-base);display: flex;flex-direction: column;text-decoration: none}.post-card:hover{transform: translateY(-4px);box-shadow: var(--shadow-xl)}.post-card__image{width: 100%;aspect-ratio: 16 / 9;object-fit: cover;background-color: var(--color-gray-100)}.post-card__body{padding: var(--space-6);flex: 1;display: flex;flex-direction: column}.post-card__category{font-size: var(--text-xs);font-weight: var(--font-semibold);text-transform: uppercase;letter-spacing: 0.08em;color: var(--color-accent);margin-bottom: var(--space-3)}.post-card__title{font-family: var(--font-heading);font-size: var(--text-xl);font-weight: var(--font-bold);color: var(--color-gray-800);line-height: var(--leading-snug);margin-bottom: var(--space-3)}.post-card__excerpt{font-size: var(--text-sm);color: var(--color-gray-500);line-height: var(--leading-relaxed);margin-bottom: var(--space-5);flex: 1}.post-card__meta{display: flex;align-items: center;gap: var(--space-4);font-size: var(--text-xs);color: var(--color-gray-400);margin-top: auto}.post-content{max-width: 800px;line-height: var(--leading-loose)}.post-content h2{font-size: var(--text-2xl);margin-top: var(--space-12);margin-bottom: var(--space-5);padding-bottom: var(--space-3);border-bottom: 2px solid var(--color-gray-200);color: var(--color-gray-800)}.post-content h3{font-size: var(--text-xl);margin-top: var(--space-8);margin-bottom: var(--space-4);color: var(--color-gray-800)}.post-content p{margin-bottom: var(--space-5);font-size: var(--text-lg);color: var(--color-gray-600)}.post-content ul,.post-content ol{margin-bottom: var(--space-5);padding-left: var(--space-6)}.post-content ul{list-style: disc}.post-content ol{list-style: decimal}.post-content li{margin-bottom: var(--space-2);font-size: var(--text-base);color: var(--color-gray-600)}.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}.hidden{display: none}.invisible{visibility: hidden}.mt-0{margin-top: 0}.mt-4{margin-top: var(--space-4)}.mt-6{margin-top: var(--space-6)}.mt-8{margin-top: var(--space-8)}.mt-12{margin-top: var(--space-12)}.mb-0{margin-bottom: 0}.mb-4{margin-bottom: var(--space-4)}.mb-6{margin-bottom: var(--space-6)}.mb-8{margin-bottom: var(--space-8)}.border-top{border-top: 1px solid var(--color-gray-200)}.border-bottom{border-bottom: 1px solid var(--color-gray-200)}.bg-white{background-color: var(--color-white)}.bg-gray{background-color: var(--color-gray-100)}.bg-primary{background-color: var(--color-primary)}.bg-accent{background-color: var(--color-accent)}@media (max-width: 1024px){:root{--text-5xl: 2.5rem;--text-4xl: 2rem}.main-nav,.header-phone{display: none}.mobile-menu-btn{display: flex}.stats-grid{grid-template-columns: repeat(2,1fr)}.footer-grid{grid-template-columns: 1fr 1fr 1fr;gap: var(--space-8)}.footer-brand{grid-column: 1 / -1;max-width: none}.affiliate-grid{grid-template-columns: 1fr 1fr}.city-hero__content{grid-template-columns: 1fr}.nav-megamenu{width: 500px}}@media (max-width: 768px){:root{--text-5xl: 2rem;--text-4xl: 1.75rem;--text-3xl: 1.5rem}.container{padding-left: var(--space-4);padding-right: var(--space-4)}.section{padding-top: var(--space-12);padding-bottom: var(--space-12)}.section--lg{padding-top: var(--space-16);padding-bottom: var(--space-16)}.grid--2,.grid--3,.grid--4,.grid--5{grid-template-columns: 1fr}.grid--2.grid--mobile-2{grid-template-columns: repeat(2,1fr)}.hero{padding-top: var(--space-16);padding-bottom: var(--space-16)}.hero__title{font-size: 1.875rem}.hero__subtitle{font-size: var(--text-base)}.zip-search{flex-direction: column;border-radius: var(--radius-md);overflow: visible;gap: var(--space-3)}.zip-search__input{border-radius: var(--radius-md);border: 2px solid var(--color-gray-300)}.zip-search__btn{border-radius: var(--radius-md);width: 100%;padding: 1rem}.trust-bar{flex-direction: column;align-items: flex-start;gap: var(--space-3);padding: 0 var(--space-4)}.steps{grid-template-columns: 1fr;gap: var(--space-8)}.steps::before{display: none}.stats-grid{grid-template-columns: repeat(2,1fr)}.footer-grid{grid-template-columns: 1fr;gap: var(--space-8)}.footer-bottom{flex-direction: column;text-align: center}.lead-form__grid{grid-template-columns: 1fr}.lead-form__full{grid-column: 1}.affiliate-grid{grid-template-columns: 1fr}.mobile-call-bar{display: flex}body{padding-bottom: 72px}.nav-megamenu{display: none}.site-header__inner{height: 64px}}.mobile-nav{position: fixed;top: 64px;left: 0;right: 0;bottom: 0;background-color: var(--color-primary-dark);z-index: var(--z-overlay);overflow-y: auto;transform: translateX(-100%);transition: transform var(--transition-base);padding: var(--space-6);display: none}.mobile-nav.is-open{transform: translateX(0)}@media (max-width: 1024px){.mobile-nav{display: block}}.mobile-nav__list{display: flex;flex-direction: column;gap: var(--space-1);margin-bottom: var(--space-6)}.mobile-nav__link{display: block;padding: var(--space-4) var(--space-4);font-size: var(--text-lg);font-weight: var(--font-semibold);color: rgba(255,255,255,0.85);text-decoration: none;border-radius: var(--radius-md);transition: all var(--transition-fast)}.mobile-nav__link:hover{background-color: rgba(255,255,255,0.1);color: var(--color-white)}.mobile-nav__submenu{padding-left: var(--space-4);display: flex;flex-direction: column;gap: var(--space-1);margin-top: var(--space-1)}.mobile-nav__submenu a{display: block;padding: var(--space-3) var(--space-4);font-size: var(--text-base);color: rgba(255,255,255,0.65);text-decoration: none;border-radius: var(--radius-sm);transition: all var(--transition-fast)}.mobile-nav__submenu a:hover{color: var(--color-white);background-color: rgba(255,255,255,0.08)}.mobile-nav__cta{padding: var(--space-6);border-top: 1px solid rgba(255,255,255,0.1)}@media print{.site-header,.mobile-call-bar,.site-footer,.lead-form,.affiliate-grid,.btn--accent{display: none !important}body{font-size: 12pt;color: #000;background: #fff;padding-bottom: 0}a{color: #000;text-decoration: underline}h1,h2,h3{page-break-after: avoid}.container{max-width: 100%;padding: 0}}:focus-visible{outline: 3px solid var(--color-accent);outline-offset: 2px;border-radius: 2px}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important}html{scroll-behavior: auto}}@media (prefers-color-scheme: dark){}@media (forced-colors: active){.btn,.badge,.card{border: 2px solid ButtonText}}
.post-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.post-card:hover .post-card__image img{transform:scale(1.04)}
.service-card__photo{overflow:hidden;border-radius:.75rem .75rem 0 0}
.service-card__photo img{transition:transform .3s ease}
.service-card:hover .service-card__photo img{transform:scale(1.06)}
/* ── CRITICAL FIXES ── */

/* Ensure content is ALWAYS visible regardless of JS animation state */
.animate-on-scroll { opacity: 1 !important; visibility: visible !important; transform: none !important; }

/* Nav dropdown z-index fix — must appear above ALL page content */
.nav-dropdown, .nav-megamenu { z-index: 1000; }
.main-nav__item { position: relative; z-index: 1000; }
.site-header { z-index: 200; overflow: visible; }

/* Service card photo fills full card width */
.service-card__photo { width: 100%; margin: -0.5rem -0.5rem 0.75rem; padding: 0; }
.service-card__photo img { width: 100%; height: 140px; object-fit: cover; display: block; }

/* Ensure grid sections are visible */
.section { display: block; }
.grid { display: grid; }

/* Mobile nav fix — show/hide properly */
@media (max-width: 1024px) {
  .mobile-nav { display: block; }
  .mobile-nav.is-open { display: flex; flex-direction: column; transform: translateX(0); }
}

/* Post-card image fills card */
.post-card__image { overflow: hidden; }
.post-card__image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.post-card:hover .post-card__image img { transform: scale(1.04); }
.service-card:hover .service-card__photo img { transform: scale(1.06); }
