
/* 1. Dark components keep light text even when nested in light sections */
:is(.section,.route-section,.locations,.locations-stats,.state-directory,.state-cities,.b15-section,.b16-section,.b17-section,.b22-section):not(.dark-section) :is(.side-quote,.compare,.route-callout,.ai-block,.newsletter-band,.featured-post,.delivery,.badge-grid article,.b15-season-grid article,.b16-season-grid article,.b17-season-grid article){color:#fff!important}
:is(.section,.route-section,.locations,.locations-stats,.state-directory,.state-cities,.b15-section,.b16-section,.b17-section,.b22-section):not(.dark-section) :is(.side-quote,.compare,.route-callout,.ai-block,.newsletter-band,.featured-post,.delivery,.badge-grid article,.b15-season-grid article,.b16-season-grid article,.b17-season-grid article) :is(h1,h2,h3,h4,h5,h6,strong,summary,dt,dd,.big,.bar-label span){color:#fff!important}
:is(.section,.route-section,.locations,.locations-stats,.state-directory,.state-cities,.b15-section,.b16-section,.b17-section,.b22-section):not(.dark-section) :is(.side-quote,.compare,.route-callout,.ai-block,.newsletter-band,.featured-post,.delivery,.badge-grid article,.b15-season-grid article,.b16-season-grid article,.b17-season-grid article) :is(p,small,li,figcaption){color:#d9e4e0!important}
:is(.side-quote,.compare,.route-callout,.ai-block,.newsletter-band,.featured-post,.final-cta,.route-band) .eyebrow{color:#d8ff6a!important}
:is(.section,.route-section):not(.dark-section) .compare .bar-label strong{color:#d8ff6a!important}

/* 2. Light cards keep dark text even when nested in dark heroes/sections (this restores the invisible $299 on the pricing card) */
:is(.hero,.route-hero,.dark-section,.final-cta,.route-band,.locations-hero,.state-hero,.article-hero,.city-page .city-hero,.niche-page .route-hero) :is(.price-placard,.audit-card,.answer-card,.profile-mock){color:#151711!important}
:is(.hero,.route-hero,.dark-section,.final-cta,.route-band,.locations-hero,.state-hero,.article-hero,.city-page .city-hero,.niche-page .route-hero) :is(.price-placard,.audit-card,.answer-card,.profile-mock) :is(h1,h2,h3,h4,strong,summary,span){color:#151711!important}
:is(.hero,.route-hero,.dark-section,.final-cta,.route-band,.locations-hero,.state-hero,.article-hero,.city-page .city-hero,.niche-page .route-hero) :is(.price-placard,.audit-card,.answer-card,.profile-mock) :is(p,small,li,figcaption){color:#4c5651!important}
.price-placard>strong{color:#151711!important}

/* 3. Eyebrow kicker + text-link colors matched to their surface */
.eyebrow{color:#5c8a00!important}
.text-link{color:#4e7a00!important}
:is(.route-hero,.article-hero,.locations-hero,.state-hero,.dark-section) .eyebrow{color:#d8ff6a!important}
:is(.route-hero,.dark-section,.final-cta,.route-band,footer) .text-link{color:#d8ff6a!important}
.niche-page .route-hero .eyebrow{color:var(--trade)!important}
/* (Keep the existing .hero .eyebrow cyan rule winning for the homepage hero — do not override it.) */

/* 4. Trades nav dropdown: dark panel with visible links in every color scheme */
.trade-menu{background:#0a1a21!important;border:1px solid rgba(182,239,0,.3)!important;box-shadow:0 24px 60px rgba(0,0,0,.55)!important}
.trade-menu a{color:#eef5f2!important}
.trade-menu a:hover{background:rgba(182,239,0,.14)!important;color:#d8ff6a!important}

/* 5. Footer Service Areas: clean professional single tone (replaces the rainbow) */
footer .footer-area-links a:nth-child(n){color:#a9bdb8!important}
footer .footer-area-links a:hover{color:#d8ff6a!important}

/* 6. Pricing comparison bars: refined; the SMBify bar glows lime */
.compare .bar{background:rgba(255,255,255,.14)!important}
.compare .bar i{background:linear-gradient(90deg,#8b96a1,#c3ccd4)!important}
.compare .bar.smb i{background:linear-gradient(90deg,#b6ef00,#d8ff6a)!important;box-shadow:0 0 18px rgba(182,239,0,.5)}
.compare .compare-note{color:#9fb3ad!important;border-top-color:rgba(255,255,255,.16)!important}

/* 7. Numbered pain rows: harden against truncation/overflow */
.pain-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.pain-copy{min-width:0}
.pain-copy .eyebrow{margin-bottom:10px}
.pain-row>div:last-child{min-width:0}
.pain-row strong,.pain-row p{overflow-wrap:anywhere}

/* 8. Designed GBP/NAP/WEB/REV signal badges (replaces plain circles) */
.answer-sources{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}
.answer-sources .sig{display:flex;align-items:center;gap:9px;background:#f1f6f3;border:1px solid #d9e2dc;border-radius:12px;padding:10px 12px;font-size:.68rem;font-weight:700;color:#33403a;line-height:1.3}
.answer-sources .sig i{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:.6rem;color:#07120d;background:linear-gradient(135deg,#d8ff6a,#b6ef00);box-shadow:0 4px 12px rgba(144,191,0,.35);border:0}
.answer-sources .sig:nth-child(2) i{background:linear-gradient(135deg,#9ee8ef,#2ca7bd);box-shadow:0 4px 12px rgba(44,167,189,.35)}
.answer-sources .sig:nth-child(3) i{background:linear-gradient(135deg,#ffd77a,#e9b744);box-shadow:0 4px 12px rgba(233,183,68,.35)}
.answer-sources .sig:nth-child(4) i{background:linear-gradient(135deg,#ffad9c,#f06c52);box-shadow:0 4px 12px rgba(240,108,82,.35)}
@media(max-width:620px){.answer-sources{grid-template-columns:repeat(2,1fr)}}

/* 9. Tasteful hero entrance animations (reduced-motion safe) */
@keyframes heroRise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.hero-copy>*{animation:heroRise .8s cubic-bezier(.22,.8,.3,1) both}
.hero-copy>*:nth-child(2){animation-delay:.08s}
.hero-copy>*:nth-child(3){animation-delay:.16s}
.hero-copy>*:nth-child(4){animation-delay:.24s}
.hero-copy>*:nth-child(5){animation-delay:.32s}
.route-hero .wrap>*{animation:heroRise .8s cubic-bezier(.22,.8,.3,1) both}
.route-hero .wrap>*:nth-child(2){animation-delay:.08s}
.route-hero .wrap>*:nth-child(3){animation-delay:.16s}
@media(prefers-reduced-motion:reduce){.hero-copy>*,.route-hero .wrap>*{animation:none!important}}
  