
    /* Final contrast pass. Light surfaces use a dark reading palette; dark and
       photo-led surfaces keep an explicit white palette so later theme rules
       cannot create white-on-light combinations. */
    @media (prefers-color-scheme: light){
      :is(.section,.route-section,.locations,.locations-stats,.state-directory,.state-cities,.b15-section,.b16-section,.b17-section):not(.dark-section){color:#102027!important}
      :is(.section,.route-section,.locations,.locations-stats,.state-directory,.state-cities,.b15-section,.b16-section,.b17-section):not(.dark-section) :is(h1,h2,h3,h4,h5,h6,strong,summary,dt,dd){color:#102027!important;text-shadow:none!important}
      :is(.section,.route-section,.locations,.locations-stats,.state-directory,.state-cities,.b15-section,.b16-section,.b17-section):not(.dark-section) :is(p,small,li,figcaption){color:#44565d!important}
      .locations,.locations-stats,.state-directory,.state-cities{background:#eaf3ee!important}
      .locations .city-grid{border-color:#a8bbb5!important}
      .locations .city{background:#f7fbf9!important;color:#102027!important;border-color:#a8bbb5!important}
      .locations .city span,.locations .locations-note{color:#506168!important}

      :is(.hero,.route-hero,.article-hero,.dark-section,.final-cta,.route-band,.proofbar,.side-quote,.compare,.route-callout,.ai-block,.newsletter-band,.featured-post,.city-stat,.state-hero,.b15-hero,.b15-cta,.b16-hero,.b16-cta,.b17-hero,.b17-cta,footer){color:#fff!important}
      :is(.hero,.route-hero,.article-hero,.dark-section,.final-cta,.route-band,.proofbar,.side-quote,.compare,.route-callout,.ai-block,.newsletter-band,.featured-post,.city-stat,.state-hero,.b15-hero,.b15-cta,.b16-hero,.b16-cta,.b17-hero,.b17-cta,footer) :is(h1,h2,h3,h4,h5,h6,strong,summary,dt,dd){color:#fff!important}
      :is(.hero,.route-hero,.article-hero,.dark-section,.final-cta,.route-band,.proofbar,.side-quote,.compare,.route-callout,.ai-block,.newsletter-band,.featured-post,.city-stat,.state-hero,.b15-hero,.b15-cta,.b16-hero,.b16-cta,.b17-hero,.b17-cta,footer) :is(p,small,li,figcaption){color:#d7e1df!important}
      .section.dark-section{background:linear-gradient(135deg,#071d2a,#103b2a)!important;color:#fff!important}
      .section.dark-section .section-head p{color:#d7e1df!important}
      .section.ai-block{background:linear-gradient(120deg,#103b2a,#0b3040)!important;color:#fff!important}
      .section.ai-block :is(h1,h2,h3,h4,strong){color:#fff!important}
      .section.ai-block :is(p,small){color:#d9e8e4!important}
      .section.ai-block .eyebrow{color:#d8ff6a!important}
      .section.ai-block .answer-card :is(h1,h2,h3,h4,strong){color:#151711!important}
      .section.ai-block .answer-card :is(p,small){color:#5b645e!important}
      .locations-hero,.state-hero,.route-hero,.city-page .city-hero,.niche-page .route-hero{color:#fff!important}
      :is(.locations-hero,.state-hero,.route-hero,.city-page .city-hero,.niche-page .route-hero) :is(h1,h2,h3,strong){color:#fff!important}
      :is(.locations-hero,.state-hero,.route-hero,.city-page .city-hero,.niche-page .route-hero) p{color:#e3efec!important}
      .locations-stats .stat-card{background:#fff!important;color:#102027!important;opacity:1!important}
      .locations-stats .stat-card span{color:#102027!important}.locations-stats .stat-card small{color:#44565d!important}
      :is(.state-directory,.state-cities) :is(h1,h2,h3,strong){color:#102027!important}
      :is(.state-directory,.state-cities) :is(p,span,small){color:#44565d!important}
      :is(.delivery,.trade-card,.badge-grid article,.b15-season-grid article,.b16-season-grid article,.b17-season-grid article){color:#fff!important}
      :is(.delivery,.trade-card,.badge-grid article,.b15-season-grid article,.b16-season-grid article,.b17-season-grid article) :is(h2,h3,h4,strong){color:#fff!important}
      :is(.delivery,.trade-card,.badge-grid article,.b15-season-grid article,.b16-season-grid article,.b17-season-grid article) :is(p,small){color:#d5dfdc!important}
      :is(.audit-card,.answer-card,.price-placard,.profile-mock){color:#151711!important}
      :is(.audit-card,.answer-card,.price-placard,.profile-mock) :is(h2,h3,strong,summary){color:#151711!important}
      :is(.audit-card,.answer-card,.price-placard,.profile-mock) :is(p,small){color:#5b645e!important}
      .compare-card.featured,.compare-card.featured :is(h2,h3,strong,span){color:#07120d!important}
      .compare-card.featured p{color:#20300f!important}
      .btn-primary,.proofbar .proofitem span,.city-stat :is(strong,span,p){color:#07120d!important}
    }

    /* The numbered value list needs independent rows; no negative margins or
       inherited line-height can pull a heading into the following copy. */
    .pain-row{grid-template-columns:3rem minmax(0,1fr);align-items:start;gap:1rem;padding:23px 0}
    .pain-row>div:last-child{min-width:0;display:grid;gap:7px;align-content:start}
    .pain-row strong{position:static!important;display:block;margin:0!important;line-height:1.3!important}
    .pain-row p{position:static!important;display:block;margin:0!important;line-height:1.65!important;overflow-wrap:anywhere}
    .number-list>div{grid-template-columns:3rem minmax(0,1fr);align-items:start;gap:1rem}
    .number-list>div>*{min-width:0}

    /* All photography keeps a stable frame while files decode, preventing
       layout jumps and keeping mobile pages free of horizontal overflow. */
    img{height:auto}
    .city-photo img,.b15-art img,.b16-art img,.b17-art img,.trade-card img,.visual-band img,.article-visual img,.blog-card-image{object-fit:cover}
    .city-photo,.b15-art,.b16-art,.b17-art,.visual-band figure,.article-visual figure{max-width:100%;overflow:hidden}
    @media(max-width:620px){
      .pain-row{grid-template-columns:2.5rem minmax(0,1fr);gap:.75rem;padding:20px 0}
      .pain-num{font-size:.82rem;padding-top:.14rem}
    }
  