:root{--brand-primary:#1a6b4f;--brand-accent:#e67e22;--brand-danger:#c0392b;--trust-verified:#2e7d32;--trust-fast:#1a6b4f;--trust-moderate:#f57f17;--trust-slow:#757575;--trust-emergency:#c0392b}*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1a1a1a;background:#fff;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}a{color:inherit}img{max-width:100%;height:auto}.header{z-index:100;background:#fff;border-bottom:1px solid #e5e5e5;position:sticky;top:0}.header__inner{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:14px 20px;display:flex}.header__logo{color:var(--brand-primary,#1a6b4f);letter-spacing:-.02em;font-size:1.5rem;font-weight:800;text-decoration:none}.header__nav{gap:16px;display:flex}.header__link{color:var(--brand-primary,#1a6b4f);border:1px solid var(--brand-primary,#1a6b4f);border-radius:6px;padding:6px 14px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.header__link:hover{background:var(--brand-primary,#1a6b4f);color:#fff}.footer{background:#f8f8f8;border-top:1px solid #e5e5e5;margin-top:auto;padding:24px 20px}.footer__inner{text-align:center;max-width:1100px;margin:0 auto}.footer__tagline{color:#666;margin:0 0 6px;font-size:.9rem}.footer__copyright{color:#999;margin:0;font-size:.8rem}.layout{flex-direction:column;min-height:100vh;display:flex}.layout__main{flex:1}.county-filter{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;min-width:200px;padding:10px 14px;font-size:.95rem}.county-filter:focus{outline:2px solid var(--brand-primary,#1a6b4f);outline-offset:1px}.star-rating{align-items:center;gap:1px;display:inline-flex}.star{font-size:1.1rem;line-height:1}.star--filled{color:#e67e22}.star--half{color:#e67e22;opacity:.6}.star--empty{color:#ccc}.star-rating__value{color:#333;margin-left:6px;font-size:.9rem;font-weight:600}.badge{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge--verified{color:var(--trust-verified,#2e7d32);background:#e8f5e9}.badge--emergency{color:var(--trust-emergency,#c0392b);background:#fdecea}.badge--fast{color:var(--trust-fast,#1a6b4f);background:#e8f5e9}.badge--moderate{color:var(--trust-moderate,#f57f17);background:#fff8e1}.badge--slow{color:var(--trust-slow,#757575);background:#f5f5f5}.badge--neutral{color:#555;background:#f0f0f0}.cta{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .1s,box-shadow .15s;display:inline-flex}.cta:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.cta:active{transform:translateY(0)}.cta--primary{background:var(--brand-primary,#1a6b4f);color:#fff}.cta--emergency{background:var(--brand-danger,#c0392b);color:#fff}.cta--large{padding:14px 28px;font-size:1.1rem}.provider-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;flex-direction:column;gap:14px;padding:20px;transition:box-shadow .15s;display:flex}.provider-card:hover{box-shadow:0 4px 16px #00000014}.provider-card__header{flex-direction:column;gap:8px;display:flex}.provider-card__name{color:#1a1a1a;font-size:1.2rem;font-weight:700;text-decoration:none}.provider-card__name:hover{color:var(--brand-primary,#1a6b4f)}.provider-card__badges{flex-wrap:wrap;gap:6px;display:flex}.provider-card__body{flex:1}.provider-card__rating{align-items:center;gap:6px;margin-bottom:8px;display:flex}.provider-card__review-count{color:#888;font-size:.85rem}.provider-card__bio{color:#555;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.9rem;line-height:1.5;display:-webkit-box;overflow:hidden}.provider-card__footer{display:flex}.provider-card__footer .cta{text-align:center;width:100%}.sort-select{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:8px 12px;font-size:.9rem}.sort-select:focus{outline:2px solid var(--brand-primary,#1a6b4f);outline-offset:1px}.empty-state{text-align:center;color:#888;padding:48px 24px}.empty-state__message{font-size:1.1rem}.directory-page{max-width:1100px;margin:0 auto;padding:0 20px 40px}.directory-page__hero{text-align:center;padding:40px 0 24px}.directory-page__title{color:#1a1a1a;margin:0 0 8px;font-size:2rem;font-weight:800}.directory-page__subtitle{color:#666;max-width:520px;margin:0 auto;font-size:1.05rem}.directory-page__controls{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:28px;display:flex}.directory-page__grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}@media (width<=600px){.directory-page__title{font-size:1.5rem}.directory-page__grid{grid-template-columns:1fr}}.trust-signals{background:#f9fafb;border:1px solid #e5e5e5;border-radius:12px;padding:20px}.trust-signals__grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.trust-signals__item{align-items:flex-start;gap:12px;display:flex}.trust-signals__icon{color:#666;flex-shrink:0;margin-top:2px}.trust-signals__icon--verified{color:var(--trust-verified,#2e7d32)}.trust-signals__label{color:#888;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.8rem;display:block}.trust-signals__detail{color:#555;margin-top:2px;font-size:.85rem;display:block}.trust-signals__callout{color:var(--trust-fast,#1a6b4f);margin-top:4px;font-size:.75rem;font-weight:600;display:inline-block}@media (width<=600px){.trust-signals__grid{grid-template-columns:1fr}}.review-list{flex-direction:column;gap:16px;display:flex}.review-list__heading{color:#1a1a1a;margin:0;font-size:1.25rem;font-weight:700}.review-list__empty{color:#888}.review-card{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:16px}.review-card__header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.review-card__date{color:#999;font-size:.8rem}.review-card__text{color:#333;margin:0 0 10px;font-size:.95rem;line-height:1.5}.review-card__footer{align-items:center;gap:8px;display:flex}.review-card__author{color:#555;font-size:.85rem;font-weight:600}.job-gallery{flex-direction:column;gap:16px;display:flex}.job-gallery__heading{color:#1a1a1a;margin:0;font-size:1.25rem;font-weight:700}.job-gallery__empty{color:#888}.job-gallery__grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.job-card{background:#fff;border:1px solid #e5e5e5;border-radius:8px;overflow:hidden}.job-card__photos{grid-template-columns:1fr 1fr;display:grid}.job-card__photo{position:relative}.job-card__photo img{object-fit:cover;width:100%;height:140px;display:block}.job-card__photo-label{color:#fff;background:#0009;border-radius:3px;padding:2px 6px;font-size:.7rem;position:absolute;bottom:4px;left:4px}.job-card__info{padding:12px}.job-card__description{color:#555;margin:8px 0;font-size:.85rem;line-height:1.4}.job-card__date{color:#999;font-size:.75rem}.pricing-table{flex-direction:column;gap:12px;display:flex}.pricing-table__heading{color:#1a1a1a;margin:0;font-size:1.25rem;font-weight:700}.pricing-table__empty{color:#888}.pricing-table__wrapper{overflow-x:auto}.pricing-table__table{border-collapse:collapse;width:100%;font-size:.9rem}.pricing-table__table th{text-align:left;color:#666;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid #e5e5e5;padding:10px 12px;font-size:.8rem;font-weight:600}.pricing-table__table td{color:#333;border-bottom:1px solid #f0f0f0;padding:10px 12px}.pricing-table__service{font-weight:500}.pricing-table__range{color:var(--brand-primary,#1a6b4f);white-space:nowrap;font-weight:600}.pricing-table__unit,.pricing-table__notes{color:#888;font-size:.85rem}.service-area__heading{color:#1a1a1a;margin:0 0 12px;font-size:1.25rem;font-weight:700}.service-area__card{background:#f9fafb;border:1px solid #e5e5e5;border-radius:8px;align-items:center;gap:12px;padding:16px;display:flex}.service-area__icon{color:var(--brand-primary,#1a6b4f);flex-shrink:0}.service-area__text{color:#333;margin:0;font-size:.95rem}.provider-profile{flex-direction:column;gap:32px;max-width:800px;margin:0 auto;padding:0 20px 100px;display:flex}.provider-profile__header{justify-content:space-between;align-items:flex-start;gap:24px;padding-top:24px;display:flex}.provider-profile__back{color:var(--brand-primary,#1a6b4f);margin-bottom:8px;font-size:.85rem;text-decoration:none;display:inline-block}.provider-profile__back:hover{text-decoration:underline}.provider-profile__name{color:#1a1a1a;margin:0 0 8px;font-size:1.8rem;font-weight:800}.provider-profile__bio{color:#555;max-width:500px;margin:0;font-size:1rem;line-height:1.6}.provider-profile__cta-desktop{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.provider-profile__phone{color:#888;font-size:.85rem}.provider-profile__sticky-bar{z-index:99;background:#fff;border-top:1px solid #e5e5e5;padding:12px 20px;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #00000014}.provider-profile__sticky-cta{width:100%}@media (width<=600px){.provider-profile__header{flex-direction:column}.provider-profile__cta-desktop{display:none}.provider-profile__sticky-bar{display:block}.provider-profile__name{font-size:1.4rem}}.pricing-editor{flex-direction:column;gap:10px;display:flex}.pricing-editor__heading{color:#1a1a1a;margin:0;font-size:1.1rem;font-weight:700}.pricing-editor__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pricing-editor__input{border:1px solid #ddd;border-radius:6px;padding:8px 10px;font-size:.9rem}.pricing-editor__input--service{flex:2;min-width:160px}.pricing-editor__input--num{width:90px}.pricing-editor__input--notes{flex:1;min-width:120px}.pricing-editor__remove{color:#c0392b;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1.3rem;line-height:1}.pricing-editor__add{color:var(--brand-primary,#1a6b4f);cursor:pointer;background:0 0;border:1px dashed #ccc;border-radius:6px;align-self:flex-start;padding:8px 16px;font-size:.9rem;font-weight:600}.pricing-editor__add:hover{border-color:var(--brand-primary,#1a6b4f);background:#f0faf6}.photo-upload{flex-direction:column;gap:8px;display:flex}.photo-upload__label{color:#333;font-size:.9rem;font-weight:600}.photo-upload__dropzone{text-align:center;cursor:pointer;border:2px dashed #ccc;border-radius:8px;padding:32px;transition:border-color .15s}.photo-upload__dropzone:hover{border-color:var(--brand-primary,#1a6b4f)}.photo-upload__input{display:none}.photo-upload__text{color:#888;font-size:.9rem}.photo-upload__previews{flex-wrap:wrap;gap:10px;display:flex}.photo-upload__thumb{border:1px solid #e5e5e5;border-radius:6px;width:80px;height:80px;position:relative;overflow:hidden}.photo-upload__thumb img{object-fit:cover;width:100%;height:100%}.photo-upload__remove{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;line-height:1;display:flex;position:absolute;top:2px;right:2px}.provider-form{flex-direction:column;gap:28px;display:flex}.provider-form__section{border:1px solid #e5e5e5;border-radius:10px;margin:0;padding:20px}.provider-form__legend{color:#1a1a1a;padding:0 8px;font-size:1.1rem;font-weight:700}.provider-form__field{flex-direction:column;flex:1;gap:4px;margin-bottom:14px;display:flex}.provider-form__field--checkbox{justify-content:flex-end}.provider-form__field--checkbox .provider-form__label{cursor:pointer;align-items:center;gap:8px;display:flex}.provider-form__row{gap:16px;display:flex}@media (width<=600px){.provider-form__row{flex-direction:column;gap:0}}.provider-form__label{color:#555;font-size:.85rem;font-weight:600}.provider-form__input,.provider-form__textarea{border:1px solid #ddd;border-radius:6px;width:100%;padding:10px 12px;font-family:inherit;font-size:.95rem}.provider-form__input:focus,.provider-form__textarea:focus{outline:2px solid var(--brand-primary,#1a6b4f);outline-offset:1px}.provider-form__textarea{resize:vertical}.provider-form__error{color:var(--brand-danger,#c0392b);font-size:.8rem}.provider-form__submit{background:var(--brand-primary,#1a6b4f);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:14px 28px;font-size:1rem;font-weight:700;transition:transform .1s,box-shadow .15s}.provider-form__submit:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.onboarding-page{max-width:700px;margin:0 auto;padding:32px 20px 60px}.onboarding-page__title{color:#1a1a1a;margin:0 0 8px;font-size:1.8rem;font-weight:800}.onboarding-page__subtitle{color:#666;margin:0 0 28px;font-size:1rem}.onboarding-page__success{text-align:center;padding:60px 20px}.onboarding-page__success h1{color:var(--brand-primary,#1a6b4f);margin:0 0 12px}.onboarding-page__success p{color:#555;font-size:1.05rem}.edit-profile-page{max-width:700px;margin:0 auto;padding:32px 20px 60px}.edit-profile-page__back{color:var(--brand-primary,#1a6b4f);margin-bottom:12px;font-size:.85rem;text-decoration:none;display:inline-block}.edit-profile-page__title{color:#1a1a1a;margin:0 0 24px;font-size:1.5rem;font-weight:800}.edit-profile-page__success{text-align:center;padding:60px 20px}.edit-profile-page__success h1{color:var(--brand-primary,#1a6b4f);margin:0 0 12px}.edit-profile-page__success a{color:var(--brand-primary,#1a6b4f)}.case-study{max-width:760px;margin:0 auto;padding:32px 20px 60px}.case-study__title{color:#1a1a1a;margin:0 0 8px;font-size:2rem;font-weight:800}.case-study__subtitle{color:#666;margin:0;font-size:1.1rem}.case-study__section{margin-bottom:36px}.case-study__section h2{color:#1a1a1a;border-bottom:2px solid var(--brand-primary,#1a6b4f);margin:0 0 12px;padding-bottom:8px;font-size:1.4rem;font-weight:700}.case-study__section p{color:#444;margin:0 0 12px;line-height:1.7}.case-study__section ul{color:#444;padding-left:20px;line-height:1.7}.case-study__section li{margin-bottom:6px}.case-study__features{grid-template-columns:1fr 1fr;gap:16px;display:grid}.case-study__feature{background:#f9fafb;border:1px solid #e5e5e5;border-radius:8px;padding:16px}.case-study__feature h3{color:var(--brand-primary,#1a6b4f);margin:0 0 6px;font-size:1rem;font-weight:700}.case-study__feature p{margin:0;font-size:.9rem}.case-study__stack{flex-wrap:wrap;gap:8px;display:flex}.case-study__tech{color:var(--brand-primary,#1a6b4f);background:#e8f5e9;border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:600}@media (width<=600px){.case-study__features{grid-template-columns:1fr}.case-study__title{font-size:1.5rem}}
