/* Keep ’Em Coming Back — Deploy 5.4 dark-surface contrast stabilization.
   Repairs inherited light/dark color collisions without changing layout or content. */

:root{
  --ds54-navy:#10233f;
  --ds54-navy-card:#253d5d;
  --ds54-navy-card-hover:#2d4a70;
  --ds54-cream:#f5eee2;
  --ds54-copy:#e7edf3;
  --ds54-gold:#ffd77a;
  --ds54-ink:#1d252b;
  --ds54-muted:#536069;
  --ds54-rust:#6f3023;
  --ds54-line:rgba(255,255,255,.28);
}

/* Shared labels and introductory copy on confirmed dark surfaces. */
:is(
  .expansion-band,.field-center-strip,.k2-dark,.role-related,.tool-suite-hero,
  .whats-new-hero,.home-directory-callout,.upgrade-hero,.founder-page-hero,
  .academy-home-hero,.academy-track-hero,.academy-lesson-hero,.founder-principles,
  .decision-band
) :is(.eyebrow,.book-first-kicker,.section-kicker,.spx-kicker,.k2-kicker){
  color:var(--ds54-gold)!important;
}
:is(.field-center-strip,.role-related,.tool-suite-hero,.whats-new-hero,.home-directory-callout) :is(p,li,small):not(.eyebrow){
  color:var(--ds54-copy)!important;
}
:is(.field-center-strip,.role-related,.tool-suite-hero,.whats-new-hero,.home-directory-callout) :is(h1,h2,h3,h4){
  color:#fff!important;
}

/* Culture and field-center bands: dark cards stay dark and readable. */
.expansion-band{color:var(--ds54-cream)!important}
.expansion-band>.wrap>h2,
.expansion-band>.wrap>.section-lead,
.expansion-band>.wrap>.field-checklist,
.expansion-band>.wrap>.field-checklist li{color:var(--ds54-cream)!important}
.expansion-band .expansion-card{
  background:var(--ds54-navy-card)!important;
  color:var(--ds54-copy)!important;
  border-color:var(--ds54-line)!important;
  box-shadow:0 12px 28px rgba(3,13,27,.2)!important;
}
.expansion-band .expansion-card :is(h3,h4,strong){color:#fff!important}
.expansion-band .expansion-card :is(p,li,span,small){color:var(--ds54-copy)!important}
.expansion-band .expansion-card .text-link,
.expansion-band .expansion-card .text-link:visited{
  color:var(--ds54-gold)!important;
  text-decoration:underline!important;
  text-decoration-thickness:.11em!important;
  text-underline-offset:.2em!important;
}
.expansion-band .expansion-card:hover,
.expansion-band .expansion-card:focus-within{
  background:var(--ds54-navy-card-hover)!important;
  border-color:rgba(255,215,122,.62)!important;
}
.expansion-band .expansion-card .text-link:hover,
.expansion-band .expansion-card .text-link:focus-visible{color:#fff!important}
.expansion-band .expansion-card .card-icon{
  background:rgba(255,255,255,.14)!important;
  color:var(--ds54-gold)!important;
}

/* Light components nested inside a dark expansion band must retain dark text. */
.expansion-band :is(
  .resource-link,.system-step,.culture-definition,.preservation-tool-card,
  .callout-box,.culture-note
){color:var(--ds54-ink)!important}
.expansion-band :is(
  .resource-link,.system-step,.culture-definition,.preservation-tool-card,
  .callout-box,.culture-note
) :is(h2,h3,h4,strong){color:#17324d!important}
.expansion-band :is(
  .resource-link,.system-step,.culture-definition,.preservation-tool-card,
  .callout-box,.culture-note
) :is(p,li,span,small){color:var(--ds54-muted)!important}
.expansion-band :is(.resource-link,.preservation-tool-card,.culture-note) :is(a,small),
.expansion-band .resource-link:visited{color:var(--ds54-rust)!important}
.expansion-band .system-step .step-number{color:#fff!important}

/* The Bar's explicitly dark cards were being forced to white surfaces. */
.spx-dark .spx-card.dark,
.spx-card.dark{
  background:var(--ds54-navy-card)!important;
  color:var(--ds54-copy)!important;
  border-color:var(--ds54-line)!important;
  box-shadow:none!important;
}
.spx-dark .spx-card.dark :is(h2,h3,h4,strong),
.spx-card.dark :is(h2,h3,h4,strong){color:#fff!important}
.spx-dark .spx-card.dark :is(p,span,li),
.spx-card.dark :is(p,span,li){color:var(--ds54-copy)!important}
.spx-dark .spx-card.dark :is(small,a),
.spx-card.dark :is(small,a){color:var(--ds54-gold)!important}
.spx-dark .spx-card.dark:hover,
.spx-card.dark:hover{background:var(--ds54-navy-card-hover)!important;border-color:rgba(255,215,122,.62)!important}

/* Founder principles use translucent dark cards, not light editorial cards. */
.founder-principles .founder-principle{
  background:rgba(255,255,255,.085)!important;
  color:var(--ds54-copy)!important;
  border-color:var(--ds54-line)!important;
}
.founder-principles .founder-principle h3{color:#fff!important}
.founder-principles .founder-principle p{color:var(--ds54-copy)!important}
.founder-principles .founder-principle>span{background:var(--ds54-gold)!important;color:var(--ds54-navy)!important}

/* Other dark bands found in the shared template sweep. */
.decision-band :is(h2,h3){color:#fff!important}
.decision-band p:not(.eyebrow){color:var(--ds54-copy)!important}
.decision-band .button.primary{background:#8e2b27!important;color:#fff!important;border-color:#b9594e!important}
.decision-band .button.secondary{background:#fff!important;color:var(--ds54-navy)!important;border-color:#fff!important}
.page-editorial .tools-book-first-hero .book-first-kicker{color:var(--ds54-gold)!important}
.k2-dark>.k2-wrap>.eyebrow{color:var(--ds54-gold)!important}

/* Visible keyboard focus on dark interactive surfaces. */
.expansion-band a:focus-visible,
.spx-dark a:focus-visible,
.founder-principles a:focus-visible,
.decision-band a:focus-visible{outline:3px solid var(--ds54-gold)!important;outline-offset:3px!important}

@media print{
  .expansion-band,.field-center-strip,.k2-dark,.role-related,.tool-suite-hero,
  .whats-new-hero,.home-directory-callout,.founder-principles,.decision-band{background:#fff!important;color:#111!important}
  .expansion-band :is(h1,h2,h3,h4,p,li,span,strong,small,a,.eyebrow),
  .field-center-strip :is(h1,h2,h3,h4,p,li,span,strong,small,a,.eyebrow),
  .founder-principles :is(h1,h2,h3,h4,p,li,span,strong,small,a,.eyebrow){color:#111!important}
  .expansion-band .expansion-card,.spx-card.dark,.founder-principle{background:#fff!important;border-color:#777!important;box-shadow:none!important}
}

/* Light academy and compact-system surfaces that were incorrectly classified as dark. */
.theme-speakeasy .bar2-home-hero{
  background:linear-gradient(135deg,#f7f2e8 0%,#e9dfcd 100%)!important;
  color:var(--ds54-navy)!important;
  border-bottom:1px solid rgba(16,35,63,.18)!important;
}
.theme-speakeasy .bar2-home-hero :is(h1,h2,h3,p,strong,span){color:var(--ds54-navy)!important}
.theme-speakeasy .bar2-home-hero .eyebrow{color:#7b3026!important}
.theme-speakeasy .bar2-home-hero .bar2-stat-panel>div{
  background:rgba(255,255,255,.82)!important;
  border-color:rgba(16,35,63,.18)!important;
}
.theme-speakeasy .bar2-home-hero .bar2-stat-panel strong{color:var(--ds54-navy)!important}
.theme-speakeasy .bar2-home-hero .bar2-stat-panel span{color:#4f5d68!important}
.theme-speakeasy .bar2-home-hero .button.primary{background:var(--ds54-navy)!important;color:#fff!important;border-color:var(--ds54-navy)!important}
.theme-speakeasy .bar2-home-hero .button.secondary{background:#fff!important;color:var(--ds54-navy)!important;border-color:var(--ds54-navy)!important}

body.page-system .visual-hero.compact-hero{
  background:#fffdf9!important;
  color:var(--ds54-ink)!important;
  border:1px solid #d8d0c4!important;
  box-shadow:0 8px 24px rgba(16,35,63,.08)!important;
}
body.page-system .visual-hero.compact-hero:before{display:none!important}
body.page-system .visual-hero.compact-hero :is(h1,h2,h3,strong){color:var(--ds54-navy)!important;text-shadow:none!important}
body.page-system .visual-hero.compact-hero :is(p,li,span,small){color:var(--ds54-muted)!important}
body.page-system .visual-hero.compact-hero .eyebrow{color:#7b3026!important}

.page-operational .tools-book-first-hero .book-first-actions a.secondary,
.page-operational .tools-book-first-hero .book-first-actions a.secondary:visited{
  background:#fff!important;
  color:var(--ds54-navy)!important;
  border:1px solid var(--ds54-navy)!important;
}
