/* Band tone system — dark and sage surfaces recolour their contents.
   Screens set text colour inline, so these overrides need !important.
   Anything inside [data-card] keeps its own light-surface colours. */
:is(.dcg-band,.dcg-hero)[data-tone="dark"]{color:var(--ivory)}
:is(.dcg-band,.dcg-hero)[data-tone="dark"] :is(h1,h2,h3){color:var(--ivory)!important}
:is(.dcg-band,.dcg-hero)[data-tone="dark"] :is(p,li,.dcg-tone-text){color:rgba(247,243,234,.82)!important}
:is(.dcg-band,.dcg-hero)[data-tone="dark"] [data-eyebrow]{color:var(--sage-soft)!important}
:is(.dcg-band,.dcg-hero)[data-tone="dark"] a:not([data-button]){color:var(--sage-soft)!important}
:is(.dcg-band,.dcg-hero)[data-tone="dark"] :not([data-button])>svg{color:var(--sage-soft)}
:is(.dcg-band,.dcg-hero)[data-tone="dark"] hr{border-color:rgba(247,243,234,.22)!important}

.dcg-band[data-tone="sage"]{color:var(--forest-cta)}
.dcg-band[data-tone="sage"] :is(h1,h2,h3){color:var(--forest-cta)!important}
.dcg-band[data-tone="sage"] :is(p,li,.dcg-tone-text){color:var(--forest-cta)!important}
.dcg-band[data-tone="sage"] [data-eyebrow]{color:var(--forest-cta)!important}
.dcg-band[data-tone="sage"] a:not([data-button]){color:var(--forest-cta)!important}
.dcg-band[data-tone="sage"] svg{color:var(--forest-cta)}

/* Cards keep their own light surface and text colours inside toned bands. */
.dcg-band[data-tone] [data-card] :is(h1,h2,h3){color:var(--charcoal)!important}
.dcg-band[data-tone] [data-card] :is(p,li,.dcg-tone-text){color:var(--charcoal-soft)!important}
.dcg-band[data-tone] [data-card] [data-eyebrow]{color:var(--sage-mid)!important}
.dcg-band[data-tone] [data-card] a:not([data-button]){color:var(--sage-mid-deep)!important}
.dcg-band[data-tone] [data-card] svg{color:var(--sage-mid)}

/* Any element declaring its own light surface is a card boundary, marked or not —
   the deployed pages write ivory cards inline, so match on the inline background too. */
.dcg-band[data-tone] :is([style*="var(--ivory)"],[style*="var(--ivory-band)"],[style*="var(--sage-soft)"],[style*="#F7F3EA"],[style*="#fff"],[style*="#FFF"]):is(div,article,section,aside,li){color:var(--charcoal)}
.dcg-band[data-tone] :is([style*="var(--ivory)"],[style*="var(--ivory-band)"],[style*="var(--sage-soft)"],[style*="#F7F3EA"],[style*="#fff"],[style*="#FFF"]) :is(h1,h2,h3,h4){color:var(--charcoal)!important}
.dcg-band[data-tone] :is([style*="var(--ivory)"],[style*="var(--ivory-band)"],[style*="var(--sage-soft)"],[style*="#F7F3EA"],[style*="#fff"],[style*="#FFF"]) :is(p,li,.dcg-tone-text){color:var(--charcoal-soft)!important}
.dcg-band[data-tone] :is([style*="var(--ivory)"],[style*="var(--ivory-band)"],[style*="var(--sage-soft)"],[style*="#F7F3EA"],[style*="#fff"],[style*="#FFF"]) a:not([data-button]){color:var(--sage-mid-deep)!important}
