/* BenefitDesk v3.0.0 RC1 global UI stabilization layer.
   Loaded last on every HTML page. It standardizes branding and repairs
   low-contrast text caused by legacy stylesheet collisions. */
:root{
  --bd-navy:#0b2a4a;--bd-navy-deep:#071d31;--bd-gold:#d4a84b;
  --bd-ink:#172033;--bd-muted:#566273;--bd-paper:#fff;
  --bd-soft:#f5f8fb;--bd-line:#dce4ec;
}
html{color-scheme:light}
body{color:var(--bd-ink);background:var(--bd-soft)}

/* One logo treatment everywhere. The shield is CSS-rendered, so old SVG,
   initials and diamond variants cannot produce inconsistent colours. */
.brand,.site-brand{
  color:#fff!important;text-decoration:none!important;font-weight:850!important;
  display:inline-flex!important;align-items:center!important;gap:.65rem!important;
}
.brand::before,.site-brand::before{
  content:""!important;display:inline-block!important;flex:0 0 1.75rem!important;
  width:1.75rem!important;height:1.95rem!important;margin:0!important;
  background:var(--bd-gold)!important;
  clip-path:polygon(50% 0,92% 15%,86% 68%,50% 100%,14% 68%,8% 15%)!important;
  box-shadow:inset 0 0 0 2px rgba(7,29,49,.18)!important;
}
.brand>svg,.brand>.site-brand-mark,.site-brand>.site-brand-mark,.site-brand>svg{
  display:none!important;
}
.site-brand-copy{display:flex!important;flex-direction:column!important;line-height:1.15!important}
.site-brand-name{color:#fff!important;font-weight:850!important}
.site-brand-tagline{color:#dbe7f1!important;font-size:.72rem!important;font-weight:550!important}

/* Dark surfaces: force readable light text. */
.top,.site-header,.site-topbar,.hero:not(body[data-page="site-page"] .hero),
.bd-article-hero,.footer,.site-footer,.cta{
  color:#fff;
}
.top p,.site-header p,.site-topbar p,.bd-article-hero p,.bd-article-hero .bd-deck,
.hero:not(body[data-page="site-page"] .hero) p,.footer p,.site-footer p,.cta p{
  color:#dbe7f1!important;opacity:1!important;-webkit-text-fill-color:currentColor!important;
}
.bd-article-hero h1,.bd-article-hero h2,.hero:not(body[data-page="site-page"] .hero) h1,
.footer h2,.site-footer h2,.cta h2{color:#fff!important;-webkit-text-fill-color:currentColor!important}

/* Light surfaces: eliminate white/transparent text inherited from dark blocks. */
.section,.card,.panel,.answer,.prose,.bd-article,.bd-article>section,
.bd-article-section,.bd-quick-answer,.bd-callout,.bd-notice,.bd-status-box,
.bd-note,.bd-fact,.bd-screen-placeholder,.bd-faq details,.bd-faq-item,
.bd-related-link,.bd-link-card,.bd-toc,.bd-side-card,.contact-card,.result{
  color:var(--bd-ink)!important;
}
.section p,.card p,.panel p,.answer p,.prose p,.bd-article p,
.bd-article li,.bd-article-section p,.bd-article-section li,.bd-quick-answer,
.bd-callout,.bd-notice,.bd-status-box,.bd-note,.bd-fact span,
.bd-faq p,.bd-related-link span,.bd-link-card span,.contact-card p,.result p{
  color:var(--bd-muted)!important;opacity:1!important;
  -webkit-text-fill-color:currentColor!important;text-shadow:none!important;
}
.section h1,.section h2,.section h3,.card h3,.panel h2,.answer h2,.prose h2,
.bd-article h2,.bd-article h3,.bd-article-section h2,.bd-link-card strong,
.bd-toc h2,.bd-side-card h2{color:var(--bd-navy)!important;-webkit-text-fill-color:currentColor!important}

/* Never allow accidental invisible text from gradients/animations. */
main :where(h1,h2,h3,h4,p,li,span,strong,small,label){opacity:1}
main :where(h1,h2,h3,h4,p,li,span,strong,small,label):not(.gold){text-shadow:none}
.gold{color:var(--bd-gold)!important;-webkit-text-fill-color:var(--bd-gold)!important}

/* Homepage-specific contrast, including the sections reported by the user. */
body[data-page="site-page"] .hero h1,
body[data-page="site-page"] .hero .panel h2{color:var(--bd-navy)!important}
body[data-page="site-page"] .hero p,
body[data-page="site-page"] .hero .lede,
body[data-page="site-page"] .hero .panel p,
body[data-page="site-page"] .head p,
body[data-page="site-page"] .card p{color:var(--bd-muted)!important}
body[data-page="site-page"] .cta h2{color:#fff!important}
body[data-page="site-page"] .cta p{color:#dbe7f1!important}

/* Accessible states. */
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{
  outline:3px solid #f1c76f!important;outline-offset:3px!important;
}
::selection{background:#f1c76f;color:#071d31}

@media(max-width:700px){
  .site-brand-tagline{display:none!important}
  .brand::before,.site-brand::before{width:1.55rem!important;height:1.72rem!important;flex-basis:1.55rem!important}
}
