/* Optional reading settings. Keep last so these deliberate choices take priority. */
html[data-av-text-size="larger"] { font-size:125%; }
html[data-av-text-size="largest"] { font-size:200%; }

.display-preferences { flex:1 1 100%; min-width:0; width:100%; border-top:1px solid #54546c; padding-top:1rem; margin-top:.25rem; }
.display-preferences[hidden] { display:none; }
.display-preferences > summary { min-height:44px; display:flex; align-items:center; gap:1rem; width:fit-content; max-width:100%; cursor:pointer; list-style:none; font-size:1rem; line-height:1.5; color:#f3f3f8; padding:.45rem 0; }
.display-preferences > summary::-webkit-details-marker { display:none; }
.display-preferences-indicator { display:inline-flex; align-items:center; flex:0 0 auto; }
.display-preferences-indicator .av-icon--minus, .display-preferences[open] > summary .av-icon--plus { display:none; }
.display-preferences[open] > summary .av-icon--minus { display:inline-block; }
.display-preferences-panel { padding:1rem 0 .5rem; }
.display-preferences-intro { max-width:60ch; color:#c9c9d8; font-size:.875rem; line-height:1.6; margin:0 0 1.5rem; }
.display-preferences-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr)); align-items:end; gap:1rem 1.75rem; }
.display-size { display:grid; gap:.6rem; color:#f3f3f8; font-size:1rem; line-height:1.5; min-width:0; }
.display-size select { width:100%; min-width:0; max-width:100%; min-height:44px; border:1px solid #aaaac0; border-radius:.25rem; padding:.65rem .75rem; font:inherit; background:#191929; color:#fff; }
.display-check { display:flex; align-items:center; gap:.75rem; min-height:44px; padding:.65rem 0; color:#f3f3f8; font-size:1rem; line-height:1.5; cursor:pointer; }
.display-check input { flex:0 0 auto; appearance:auto; width:1.25rem; height:1.25rem; min-width:20px; min-height:20px; margin:0; accent-color:#bfc1ff; }
.display-preferences-bottom { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; align-items:center; padding-top:1.5rem; }
.display-preferences-bottom button { font:inherit; min-height:44px; color:#fff; background:transparent; border:1px solid #aaaac0; border-radius:.25rem; padding:.65rem .9rem; text-align:left; line-height:1.5; }
.display-preferences-bottom button:hover { background:#28283c; }
.display-preferences-bottom p { margin:0; color:#c9c9d8; font-size:.875rem; line-height:1.6; max-width:52ch; }
.display-preferences :is(summary,button,select,input):focus-visible { outline:3px solid #c2c5ff; outline-offset:4px; }
.footer-preferences { width:100%; min-width:0; }
.footer-preferences-note,.footer-preference-note { max-width:100%; }

/* Rem-based resizing leaves browser zoom available. Reflow narrow columns
   instead of clipping large type inside fixed-height compositions. */
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) :where(.home-hero,.page-hero,.case-particle-hero,.home-hero-copy,.page-hero-copy,.v9-process-banner,.v9-invitation,.home-foundations) { height:auto; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) :where(h1,h2,h3,h4,p,a,button,label,summary,dd,dt,li) { overflow-wrap:anywhere; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) :where(.home-work-grid,.principle-grid,.footer-main,.home-service-grid,.home-foundations-top,.home-foundation-parts,.home-proof-inner,.home-approach,.home-questions,.track-record,.story-section,.audit-proof-grid,.audit-deliverable-grid) { grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr)); }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) :where(.home-header,.home-menu-content,.home-menu-panel,.footer-preferences,.footer-bottom,.footer-utility,.home-hero-actions,.privacy-actions,.privacy-dialog-actions,.work-toolbar,.news-toolbar) { min-width:0; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) :where(.home-header,.home-menu-content,.footer-preferences,.footer-bottom,.footer-utility,.home-hero-actions,.privacy-actions,.privacy-dialog-actions,.work-toolbar,.news-toolbar) { flex-wrap:wrap; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) :where(.av-button,.privacy-choice,.privacy-settings-button,.footer-preferences button,.footer-preferences select) { height:auto; white-space:normal; max-width:100%; }
html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) .home-container { width:calc(100% - 2 * min(var(--av-page-gutter),5vw)); }
html[data-av-text-size="largest"] .home-header { position:absolute; left:5vw; right:5vw; }
html[data-av-text-size="largest"] .site-menu-open .home-header { position:fixed; }
html[data-av-text-size="largest"] .home-nav-shell[data-menu-enhanced] { width:100%; }
html[data-av-text-size="largest"] .home-header > .home-contact-button { display:none; }
html[data-av-text-size="largest"] .home-menu-content { grid-template-columns:minmax(0,1fr); max-height:calc(100dvh - 7rem); }
html[data-av-text-size="largest"] .mega-site > div { grid-template-columns:minmax(0,1fr); }
html[data-av-text-size="largest"] .home-menu-panel a { min-width:0; }
html[data-av-text-size="largest"] :where(.privacy-banner,.privacy-dialog) { max-height:85svh; overflow:auto; }
html[data-av-text-size="largest"] :where(.home-split-heading,.work-toolbar,.news-toolbar) { flex-direction:column; align-items:flex-start; }
html[data-av-text-size="largest"] .footer-main { grid-template-columns:1fr; }

/* W3C 1.4.12 values: 1.5 line-height, .12em tracking, .16em word spacing,
   and paragraph spacing of 2em. No content is replaced or hidden. */
html[data-av-text-spacing="more"] :where(p,li,dd,dt,label,summary,a,button,input,textarea,select,h1,h2,h3,h4,h5,h6) { line-height:1.5 !important; letter-spacing:.12em !important; word-spacing:.16em !important; }
html[data-av-text-spacing="more"] p { margin-bottom:2em !important; }
html[data-av-text-spacing="more"] :where(.home-hero,.page-hero,.case-particle-hero,.home-work-media,.v9-process-banner,.v9-invitation,.home-foundations) { height:auto; }
html[data-av-text-spacing="more"] :where(a,button,label,summary,p,li,h1,h2,h3,h4) { overflow-wrap:anywhere; }
html[data-av-link-style="underlined"] a[href] { text-decoration-line:underline !important; text-decoration-thickness:.08em; text-underline-offset:.2em; }

/* Higher contrast intentionally simplifies decorative surfaces. It follows
   the selected light/dark theme and never changes logos or content images. */
html[data-av-contrast="high"] { --av-access-bg:#fff; --av-access-text:#000; --av-access-link:#000098; --av-access-focus:#000098; --av-text:#000; --av-muted:#000; --av-subtle:#000; --av-surface:#fff; --av-surface-soft:#fff; --av-border:#000; --av-border-strong:#000; --av-link-blue:#000098; --av-focus:#000098; }
html[data-av-contrast="high"][data-theme="dark"] { --av-access-bg:#000; --av-access-text:#fff; --av-access-link:#bff5ff; --av-access-focus:#ffef00; --av-text:#fff; --av-muted:#fff; --av-subtle:#fff; --av-surface:#000; --av-surface-soft:#000; --av-border:#fff; --av-border-strong:#fff; --av-link-blue:#bff5ff; --av-focus:#ffef00; }
html[data-av-contrast="high"] :where(body,header,main,footer,nav,section,article,aside,dialog,details,figure,.home-nav-shell,.home-menu-panel,.privacy-banner,.display-preferences-panel,.track-record-card,.home-work-card,.v9-invitation,.v9-process-banner,.evidence-stat,.legal-draft,.home-audit-feature,.audit-scope-panel,.sv9-output-statement,.sv9-feature) { background-color:var(--av-access-bg) !important; background-image:none !important; color:var(--av-access-text) !important; border-color:var(--av-access-text) !important; box-shadow:none !important; }
html[data-av-contrast="high"] :where(h1,h2,h3,h4,h5,h6,p,li,dd,dt,small,strong,em,label,summary,span,blockquote,cite,figcaption) { color:var(--av-access-text) !important; text-shadow:none !important; }
html[data-av-contrast="high"] :where(p,small,strong,em,label,span,blockquote,cite,figcaption) { background:transparent !important; }
html[data-av-contrast="high"] :where(h1,h2,h3,h4) span { background:none !important; -webkit-text-fill-color:currentColor !important; }
html[data-av-contrast="high"] a[href] { color:var(--av-access-link) !important; }
html[data-av-contrast="high"] :where(button,input,select,textarea,.av-button) { background:var(--av-access-bg) !important; color:var(--av-access-text) !important; border:1px solid var(--av-access-text) !important; }
html[data-av-contrast="high"] :where(button,.av-button):hover { outline:2px solid var(--av-access-text); outline-offset:2px; }
html[data-av-contrast="high"] :where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--av-access-focus) !important; outline-offset:4px; }
html[data-av-contrast="high"] :where(.av-entropy-canvas,.av-entropy-poster,.v9-cta-art,.av-entropy)::after { display:none !important; }
html[data-av-contrast="high"] :where(.av-entropy canvas,.av-entropy > .av-entropy-poster) { visibility:hidden; }
html[data-av-contrast="high"] .footer-intro > a:first-child { background:#010113 !important; padding:.5rem; }
html[data-av-contrast="high"] .home-menu .av-menu-icon::before,
html[data-av-contrast="high"] .home-menu .av-menu-icon::after { background:var(--av-access-text) !important; }
html[data-av-contrast="high"] input { accent-color:var(--av-access-link); }
html[data-av-contrast="high"] .site-menu-backdrop { background:#0008 !important; border:0 !important; outline:0 !important; }
@media (forced-colors:active) {
  .display-preferences,.display-size select,.display-preferences-bottom button { border-color:CanvasText; }
  .display-check input { forced-color-adjust:auto; }
  .display-preferences :is(summary,button,select,input):focus-visible { outline-color:Highlight; }
}

html:is([data-av-text-size="larger"],[data-av-text-size="largest"]) .home-foundations-route > a { min-width:0; max-width:100%; }
