/* Lex Digitalis V6 · RC14.32 · Accessibility hardening
   Additive only: WCAG 2.2 AA target, no structural navigation redesign. */

:root{
  --ld-a11y-focus:#0b63ce;
  --ld-a11y-gold-text:#785b13;
  --ld-a11y-gold-bg:#82651d;
}

/* 2.4.7 / 2.4.11 — visible focus and scroll clearance. */
:where(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{
  outline:3px solid var(--ld-a11y-focus)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 2px #fff!important;
}
:where(a,button,input,select,textarea,summary,[tabindex]):focus{
  scroll-margin-block:96px 32px;
}
.skip-link:focus-visible{
  outline:3px solid var(--ld-a11y-focus)!important;
  outline-offset:3px!important;
}

/* Correct previous rules that removed outlines on focus-visible. */
.lex-express-input:focus-visible,
.private-client-contextbar-update button:focus-visible,
.ld-process-detail-button:focus-visible,
.ld-process-modal-close:focus-visible{
  outline:3px solid var(--ld-a11y-focus)!important;
  outline-offset:3px!important;
}

/* 1.4.3 — gold used as small text needs an AA-safe foreground. */
.eyebrow,
.card-kicker,
.sector-meta-title,
.ld-floating-kicker,
.ld-floating-detail-list dt,
.ld-process-subtitle,
.ld-process-mini-subtitle,
.ld-blog-row-index,
.methodology-phase-subtitle,
.methodology-output-list span,
.chat-audit-kicker,
.audit-premium-progress-card small{
  color:var(--ld-a11y-gold-text)!important;
}

/* White text on the original brand gold was below 4.5:1. Keep the brand family, darken only CTA backgrounds. */
.sidebar-context-cta,
.sidebar-context .btn,
.hero-impact .btn-primary,
.services-final-cta .btn,
.services-ultra-cta .btn,
.sectors-final-cta .btn-primary,
.sector-detail-hero .btn-primary,
.diagnostic-cta-grid .btn-primary{
  background-color:var(--ld-a11y-gold-bg)!important;
  border-color:var(--ld-a11y-gold-bg)!important;
  color:#fff!important;
}

/* Status must remain understandable without color. The visible textual label remains primary. */
:is(.private-status,.private-client-status,.client-zone-alert,.v6-public-flash,.lex-express-risk-card) {
  forced-color-adjust:auto;
}

/* 2.5.8 — minimum target for discrete UI controls, not inline prose links. */
:where(button,.btn,.button,.nav-toggle,.sidebar-close,.mobile-private-access,
       .private-button,.private-primary,.private-secondary,
       [data-dsde-close],[data-express-modal-close]){
  min-inline-size:24px;
  min-block-size:24px;
}

/* 1.4.10 / 1.4.4 — robust reflow. */
:where(pre,code,.private-inline-meta,.private-client-data-grid,.private-report-grid){
  max-inline-size:100%;
}
:where(pre,code){
  overflow-wrap:anywhere;
  word-break:break-word;
}
:where(.table-scroll,.private-table-wrap,.responsive-table){
  max-inline-size:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

/* Avoid focus being fully hidden behind sticky/fixed author content. */
[id],section,article,form,fieldset{
  scroll-margin-top:96px;
}

/* 2.3 / motion comfort — preserve functionality, remove non-essential motion. */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}

/* Forced colors: retain visible boundaries/focus. */
@media (forced-colors: active){
  :where(button,.btn,.button,input,select,textarea,summary){
    border:1px solid ButtonText!important;
  }
  :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
    outline:3px solid Highlight!important;
    box-shadow:none!important;
  }
}

/* Mobile drawer: when the JS layer marks it closed it is removed from interaction. */
@media (max-width:1080px){
  [data-mobile-panel][aria-hidden="true"]{
    visibility:hidden;
  }
  body.sidebar-open [data-mobile-panel]{
    visibility:visible;
  }
}

/* Text spacing overrides must not clip content. */
p,li,label,button,a,input,select,textarea{
  text-overflow:clip;
}

/* Do not make disabled state rely on opacity alone. */
:disabled,[aria-disabled="true"]{
  cursor:not-allowed;
}


/* RC14.32 remediation v2 — Lighthouse/axe contrast on the dark sector surface.
   Do not reuse the dark-gold light-surface token on dark backgrounds. */
.section-dark .eyebrow,
.rc12-home-sectors .eyebrow,
.rc12-home-sectors .rc12-sector-kicker{
  color:#f6e7b2!important;
}
.rc12-home-sectors .rc12-sector-options button{
  color:#f7f4ec!important;
}
.rc12-home-sectors .rc12-sector-options button:hover,
.rc12-home-sectors .rc12-sector-options button:focus-visible,
.rc12-home-sectors .rc12-sector-options button.is-active,
.rc12-home-sectors .rc12-sector-options button[aria-pressed="true"]{
  color:#ffffff!important;
}
