/* Sitewide contrast normalization — 2026-07-31 */
:root{
  --gg-aa-text:#0b1829;
  --gg-aa-muted:#4d5d6e;
  --gg-aa-dark-text:#f7fafc;
  --gg-aa-dark-muted:#cbd6e2;
  --gg-aa-teal:#0d7164;
  --gg-aa-mint:#e1f5f1;
  --gg-aa-gold:#8b6224;
  --gg-aa-gold-soft:#f6ead7;
}

/* Light surfaces */
body.gg-design-v2 main :is(p,li,dd,.small,.program-meta,.dark-muted),
body.gg-refined main :is(p,li,dd,.small,.program-meta,.dark-muted){
  color:var(--gg-aa-muted);
}

body.gg-design-v2 main :is(h1,h2,h3,h4,h5,h6,strong,b,dt,label,legend),
body.gg-refined main :is(h1,h2,h3,h4,h5,h6,strong,b,dt,label,legend){
  color:var(--gg-aa-text);
}

/* Dark surfaces */
body.gg-design-v2 :is(.hero,.page-hero,.section-dark,.case-panel,.diagram,.dark-band,.site-footer,.gg-site-footer) :is(h1,h2,h3,h4,h5,h6,strong,b,dt,label,legend),
body.gg-refined :is(.hero,.page-hero,.section-dark,.case-panel,.diagram,.dark-band,.site-footer,.gg-site-footer) :is(h1,h2,h3,h4,h5,h6,strong,b,dt,label,legend){
  color:var(--gg-aa-dark-text)!important;
}

body.gg-design-v2 :is(.hero,.page-hero,.section-dark,.case-panel,.diagram,.dark-band,.site-footer,.gg-site-footer) :is(p,li,dd,.small,.program-meta,.dark-muted,.lead),
body.gg-refined :is(.hero,.page-hero,.section-dark,.case-panel,.diagram,.dark-band,.site-footer,.gg-site-footer) :is(p,li,dd,.small,.program-meta,.dark-muted,.lead){
  color:var(--gg-aa-dark-muted)!important;
  opacity:1!important;
}

/* Pills, labels and microcopy */
body.gg-design-v2 .tag,
body.gg-design-v2 .tag-dark,
body.gg-refined .tag,
body.gg-refined .tag-dark{
  color:var(--gg-aa-teal)!important;
  background:var(--gg-aa-mint)!important;
  border:1px solid #bfe6de!important;
  opacity:1!important;
}

body.gg-design-v2 .tag-gold,
body.gg-refined .tag-gold,
body.gg-design-v2 .label-row span,
body.gg-refined .label-row span{
  color:var(--gg-aa-gold)!important;
  background:var(--gg-aa-gold-soft)!important;
  border-color:#dfbf82!important;
  opacity:1!important;
}

body.gg-design-v2 .eyebrow,
body.gg-design-v2 .section-kicker,
body.gg-design-v2 .scope-label,
body.gg-refined .eyebrow,
body.gg-refined .section-kicker,
body.gg-refined .scope-label{
  color:#176e64!important;
  opacity:1!important;
}

body.gg-design-v2 :is(.hero,.page-hero,.section-dark,.case-panel,.diagram,.dark-band) :is(.eyebrow,.section-kicker,.scope-label),
body.gg-refined :is(.hero,.page-hero,.section-dark,.case-panel,.diagram,.dark-band) :is(.eyebrow,.section-kicker,.scope-label){
  color:#8de7d6!important;
}

/* Forms and controls */
body.gg-design-v2 :is(input,select,textarea),
body.gg-refined :is(input,select,textarea){
  color:#182536!important;
  background:#fff!important;
  border-color:#b9c7d3!important;
}

body.gg-design-v2 :is(input,textarea)::placeholder,
body.gg-refined :is(input,textarea)::placeholder{
  color:#5d6978!important;
  opacity:1!important;
}

body.gg-design-v2 :is(input,select,textarea):focus,
body.gg-refined :is(input,select,textarea):focus{
  outline:3px solid rgba(13,113,100,.26)!important;
  outline-offset:2px;
  border-color:#0d7164!important;
}

/* Links and buttons */
body.gg-design-v2 main a:not(.button):not(.gg-header-cta):not(.gg-mobile-cta),
body.gg-refined main a:not(.button):not(.gg-header-cta):not(.gg-mobile-cta){
  text-decoration-thickness:.08em;
  text-underline-offset:.16em;
}

body.gg-design-v2 .button-primary,
body.gg-refined .button-primary,
body.gg-design-v2 .gg-header-cta,
body.gg-refined .gg-header-cta{
  color:#061923!important;
}

body.gg-design-v2 .button-light,
body.gg-refined .button-light{
  color:#0b1829!important;
  background:#fff!important;
  border-color:#c3cdd6!important;
}

body.gg-design-v2 :is(.hero,.page-hero,.section-dark,.case-panel,.diagram,.dark-band) .button-secondary,
body.gg-refined :is(.hero,.page-hero,.section-dark,.case-panel,.diagram,.dark-band) .button-secondary{
  color:#f7fafc!important;
  border-color:#8292a4!important;
  background:rgba(255,255,255,.04)!important;
}

/* Diagram cards and muted UI surfaces */
body.gg-design-v2 :is(.diagram-row,.system-stage,.board-metric,.result-visual-card,.workflow-node) span,
body.gg-refined :is(.diagram-row,.system-stage,.board-metric,.result-visual-card,.workflow-node) span{
  color:#cbd6e2!important;
  opacity:1!important;
}

body.gg-design-v2 :is(.diagram-row,.system-stage,.board-metric,.result-visual-card,.workflow-node) b,
body.gg-refined :is(.diagram-row,.system-stage,.board-metric,.result-visual-card,.workflow-node) b{
  color:#f7fafc!important;
}

/* Hard override for pale tag regression on dark panels */
body .tag.tag-dark{
  color:#14464b!important;
  background:#e1f5f1!important;
  border:1px solid #9fd7cc!important;
  opacity:1!important;
  text-shadow:none!important;
}
