/* SANKHLA whole-site readability repairs, 2026-09-24.
   Component foregrounds follow their own surface, not the outer page band.
   Use the existing approved palette; never change copy, routes or forms. */

/* Pale historical notices and tabular/quoted content can sit on a navy band. */
:root body main .legacy-current-note,
:root body main .legacy-article :is(th,td,blockquote,details) {
  background:var(--brand-pale)!important;
  color:var(--brand-navy)!important;
  border-color:rgba(11,45,107,0.24)!important;
}
:root body main .legacy-article .legacy-current-note :is(strong,span,p,a),
:root body main .legacy-article :is(th,td,blockquote,details) :is(h2,h3,h4,p,span,strong,b,em,li,a,summary) {
  color:var(--brand-navy)!important;
  -webkit-text-fill-color:currentColor!important;
}
:root body main .legacy-article details {
  padding:16px 18px;margin-block:12px;border:1px solid;border-radius:10px;
}
:root body main .legacy-article summary {
  cursor:pointer;line-height:1.5;font-weight:700;
}
:root body main .legacy-article details[open]>summary {margin-bottom:12px}

/* Restored WordPress accordion surfaces and real expand/collapse states. */
:root body main .legacy-article .kt-blocks-accordion-header {
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  width:100%;min-height:48px;padding:14px 18px;
  background:var(--brand-pale)!important;color:var(--brand-navy)!important;
  border:1px solid rgba(11,45,107,0.24);border-radius:8px;
  text-align:left;font-size:16px;line-height:1.5;cursor:pointer;
}
:root body main .legacy-article .kt-blocks-accordion-header :is(span,strong,b) {
  color:var(--brand-navy)!important;-webkit-text-fill-color:currentColor!important;
}
:root body main .legacy-article .kt-blocks-accordion-header[data-readability-accordion]::after {
  content:'−';flex:0 0 auto;font-size:22px;line-height:1;color:var(--brand-navy);
}
:root body main .legacy-article .kt-blocks-accordion-header[aria-expanded=false]::after {content:'+'}
:root body main .legacy-article .kt-blocks-accordion-icon-trigger {display:none}
:root body main .legacy-article .kt-accordion-panel {
  background:var(--brand-white)!important;color:var(--brand-navy)!important;
  padding:16px 18px;border:1px solid rgba(11,45,107,0.18);border-top:0;
}
:root body main .legacy-article .kt-accordion-panel :is(h2,h3,h4,p,li,a,span,strong,b,em) {
  color:var(--brand-navy)!important;-webkit-text-fill-color:currentColor!important;
}
:root body main .legacy-article .kt-accordion-panel[hidden] {display:none!important}
:root body main .legacy-article .kt-accordion-pane {margin-block:12px}

/* Old grey image/text panels need a deliberate, readable component theme. */
:root body main .legacy-article .wp-block-media-text.has-background {
  background:var(--brand-navy)!important;color:var(--brand-white)!important;
  padding:22px!important;border-radius:12px;
}
:root body main .legacy-article .wp-block-media-text.has-background:not(:has(>figure)) {display:block!important}
:root body main .legacy-article .wp-block-media-text.has-background :is(h1,h2,h3,h4,p,li,span,strong,b,em,a) {
  color:var(--brand-white)!important;-webkit-text-fill-color:currentColor!important;
}
:root body main>section.site-band-color .legacy-article a:not(.kt-button) {
  color:var(--brand-light);
}
:root body main .legacy-article .kt-button {
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;
  padding:12px 16px;border-radius:8px;
  background:var(--brand-light)!important;color:var(--brand-navy)!important;
  text-decoration:none;font-weight:700;
}
:root body main .legacy-article .kt-button :is(span,strong,b),
:root body main .legacy-article .wp-block-media-text.has-background .kt-button,
:root body main .legacy-article .wp-block-media-text.has-background .kt-button :is(span,strong,b) {
  color:var(--brand-navy)!important;-webkit-text-fill-color:currentColor!important;
}

/* These CTA classes also appear outside the header; avoid 150px default SVGs. */
:root body main .header-cta {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:10px;min-height:48px;max-width:100%;padding:13px 20px;border-radius:8px;
  font-size:14px;font-weight:750;line-height:1.4;text-decoration:none;
}
:root body main .header-cta .cta-arrow {
  display:block!important;width:18px!important;height:18px!important;flex:0 0 18px!important;
}
:root body main .header-cta>span {color:inherit!important}

/* Small bright-blue numbers were below normal-text contrast on both surfaces. */
:root body main>section.site-band-color .testimonial-summary-grid>div>span,
:root body main>section.site-band-color .testimonial-work-steps article>span,
:root body main>section.site-band-color .service-symbol>span {
  color:var(--brand-light)!important;
}
:root body main>section:is(.site-band-white,.site-band-color) .insight-archive .practice-row.insight-card>.insight-card-no {
  background:var(--brand-light)!important;color:var(--brand-navy)!important;
  font-size:12px!important;
}
:root body main .eyebrow {font-size:11px!important}
:root body main .location-card .location-type {font-size:11px!important}

/* Keyboard focus must bring a scroll-hidden header back into view. */
:root body .site-header:focus-within {transform:none!important}
:root body .mobile-menu.open {max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
:root body .mobile-menu a {min-height:44px}
:root body main :is(.kt-blocks-accordion-header,summary,.card-link):focus-visible {
  outline:3px solid var(--brand-bright)!important;outline-offset:3px!important;
}
@media(max-width:767px) {
  :root body main>section:is(.site-band-white,.site-band-color) :is(.service-card,.scope-card,.office-card,.testimonial-card) p {
    font-size:14px!important;line-height:1.65!important;
  }
  :root body main .testimonial-summary-grid small {font-size:13px!important;line-height:1.55!important}
}
@media(prefers-reduced-motion:reduce) {
  :root body .reveal {opacity:1!important;transform:none!important;transition:none!important}
  :root body :is(.card-link,.header-cta,.btn):hover {transform:none!important}
}
