/* Three text sizes are relative to the visitor's browser font preference. */
html[data-text-size="100"] { font-size: 100%; }
html[data-text-size="125"] { font-size: 125%; }
html[data-text-size="150"] { font-size: 150%; }
.brand .header-actions { display:flex; align-items:center; gap:.65rem; flex:0 1 auto; min-width:0; max-width:100%; margin-left:auto; }
.header-actions .site-search { flex:1 1 auto; width:clamp(9rem,18vw,15rem); min-width:0; margin-left:0; }
.access-tools { flex:none; color:#172d46; padding:0; margin:0; }
.access-tools button { border:1px solid #64758a; border-radius:6px; min-height:38px; min-width:0; padding:.35rem .45rem; background:#fff; color:#172d46; font-size:.8125rem; font-weight:650; }
.access-tools .access-option { display:flex; align-items:center; justify-content:flex-start; gap:.4rem; text-align:left; width:100%; height:auto; white-space:normal; overflow-wrap:anywhere; line-height:1.4; }
.access-option svg { width:18px; height:18px; flex:none; pointer-events:none; }
.access-glyph { flex:0 0 20px; font-size:.875rem; text-align:center; line-height:1; }
.access-label { min-width:0; }
.access-tools button:hover:not(:disabled), .access-help summary:hover { background: #dceaf5; }
.access-tools button[aria-pressed="true"] { background: #17466e; color: #fff; border-color: #17466e; text-decoration: underline; text-underline-offset: .2em; }
.access-tools .access-option[aria-pressed="true"] { border-bottom-width:3px; }
.access-tools button[aria-pressed="true"]:hover { background: #29618c; color: #fff; }
.access-tools button:disabled { color: #526780; background: #e5ebf1; border-style: dashed; cursor: not-allowed; }
.resume-symbol, [data-paused="true"] .pause-symbol { display: none; }
[data-paused="true"] .resume-symbol { display: block; }
.access-help { flex:none; font-size:.875rem; }
.access-help summary { cursor: pointer; list-style: none; border: 1px solid #526780; border-radius: 6px; background: #fff; color: #172d46; }
.access-help summary::-webkit-details-marker { display: none; }
.access-help .access-trigger { display:flex; align-items:center; justify-content:center; box-sizing:border-box; width:44px; height:44px; min-width:44px; min-height:44px; padding:6px; border-radius:50%; }
.access-trigger svg { width:28px; height:28px; flex:none; pointer-events:none; }
.access-help[open] summary { border-bottom-width: 3px; background: #dceaf5; }
.access-help-panel { position:fixed; z-index:100; top:12px; right:12px; box-sizing:border-box; width:min(23rem,calc(100vw - 24px)); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); overflow:auto; overscroll-behavior:contain; padding:.75rem; border:1px solid #526780; border-radius:10px; background:#fff; color:#172d46; box-shadow:0 6px 24px #172d4633; overflow-wrap:anywhere; }
.access-panel-heading { display:flex; align-items:center; gap:.5rem; justify-content:space-between; }
.access-panel-heading h2 { font-size:1rem; line-height:1.4; margin:0; }
.access-panel-heading #access-close { flex:0 1 auto; width:auto; }
.access-help-panel p { margin:.5rem 0; }
.access-reading-options { padding:.6rem 0; margin:.4rem 0; border:0; border-top:1px solid #a9b6c4; min-width:0; }
.access-reading-options legend { font-weight:700; }
.access-option-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.4rem; }
.access-size-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.4rem; }
.access-size-grid .access-option { flex-direction:column; gap:.15rem; text-align:center; }
.access-voice-options { display:grid; grid-template-columns:minmax(0,1fr); gap:.3rem; margin:.55rem 0; }
.access-voice-options label { font-size:.8125rem; font-weight:650; }
.access-voice-options select { width:100%; min-width:0; min-height:36px; padding:.35rem; border:1px solid #64758a; border-radius:5px; background:#fff; color:#172d46; font-size:.8125rem; }
#stop-animations { margin:.45rem 0; }
.access-help-panel .access-option-help { font-size:.8125rem; line-height:1.5; }
/* Optional reader overrides. Relative units also follow browser zoom and font size. */
html[data-line-spacing="true"] body.theme-classic * { line-height:1.75 !important; }
html[data-paragraph-spacing="true"] body.theme-classic p { margin-bottom:2em !important; }
html[data-word-spacing="true"] body.theme-classic * { word-spacing:.16em !important; }
html[data-letter-spacing="true"] body.theme-classic * { letter-spacing:.12em !important; }
html[data-line-spacing="true"] .access-tools [aria-hidden="true"] { line-height:1 !important; }
html[data-letter-spacing="true"] .access-tools [aria-hidden="true"] { letter-spacing:normal !important; }
html[data-word-spacing="true"] .access-tools [aria-hidden="true"] { word-spacing:normal !important; }
html[data-stop-animations="true"], html[data-stop-animations="true"] *,
html[data-stop-animations="true"] *::before, html[data-stop-animations="true"] *::after {
  animation:none !important; transition:none !important; scroll-behavior:auto !important;
}
html[data-stop-animations="true"] body.theme-classic :is(.featured-media img,.news-thumb img,[data-animation]) { transform:none !important; }
/* A dark red on light surfaces and a pale red on dark surfaces preserve contrast. */
html[data-link-highlight="true"] body.theme-classic { --access-link:#9e1b32; }
html[data-link-highlight="true"] body.theme-classic :is(.main-menu,.site-footer,.official-bar,.brand-mark) { --access-link:#ffd0d0; }
html[data-link-highlight="true"] body.theme-classic a { color:var(--access-link) !important; text-decoration-line:underline !important; text-decoration-color:var(--access-link) !important; text-decoration-thickness:2px !important; text-underline-offset:.2em !important; text-decoration-skip-ink:auto; }
html[data-link-highlight="true"] body.theme-classic a * { color:inherit !important; }
html[data-link-highlight="true"] body.theme-classic :is(button,summary,[role="button"],input[type="submit"],.hero-cta,.bip-quick,.button,.pagination a) { --access-link:#9e1b32; color:#9e1b32 !important; background-color:#fff !important; background-image:none !important; border:2px solid #9e1b32 !important; }
html[data-link-highlight="true"] body.theme-classic :is(button,summary,[role="button"],.hero-cta,.bip-quick,.button,.pagination a):hover { background-color:#fbe5e9 !important; }
html[data-link-highlight="true"] body.theme-classic :is(button[aria-pressed="true"],.pagination a[aria-current="page"]) { background-color:#fbe5e9 !important; border-bottom-width:4px !important; }
html[data-link-highlight="true"] body.theme-classic button:disabled { border-style:dashed !important; }
html[data-link-highlight="true"] body.theme-classic :is(button,summary,[role="button"]) * { color:inherit !important; }
#access-message-detail:empty { display: none; }
.template-current { max-width: 520px; border: 2px solid #64758a; border-radius: 12px; padding: 1.4rem; background: #fff; }
.template-current h3 { margin: 0 0 .5rem; }
html[data-text-size] .brand-title { overflow-wrap: anywhere; }
/* break-word preserves whole-word intrinsic widths, unlike anywhere in tables. */
html[data-text-size] .page-content { overflow-wrap: break-word; word-break: normal; }
html[data-text-size] .hero-copy h1 { max-width: 100%; }
@media(max-width:720px) {
  .brand .header-actions { display:grid; grid-template-columns:minmax(0,1fr) auto 44px; gap:.5rem; width:100%; }
  .header-actions .site-search { width:100%; }
  .header-actions .bip-quick { padding:.5rem .6rem; }
  .contact-details { grid-template-columns: 1fr; }
  .contact-details dd { margin-bottom: .65rem; }
  .text-link { white-space: normal; }
}
@media(max-width:360px) {
  .access-option-grid { grid-template-columns:minmax(0,1fr); }
}
/* Optional black/white/yellow palette, scoped to the public website.
   Photos retain their original colors; there is no image inversion. */
html[data-contrast="high"] { background: #000; color: #fff; color-scheme: dark; }
html[data-contrast="high"] body,
html[data-contrast="high"] body * {
  background-color: #000 !important;
  background-image: none !important;
  color: #fff !important;
  border-color: #fff !important;
  box-shadow: none !important;
}
html[data-contrast="high"] body :is(a, a *, button, button *, summary, summary *) { color: #ffdf00 !important; }
html[data-contrast="high"] body input::placeholder { color: #fff !important; opacity: 1; }
html[data-contrast="high"] body :is(a, button, summary):hover { background-color: #252525 !important; }
html[data-contrast="high"] .main-menu a[aria-current="page"],
html[data-contrast="high"] button[aria-pressed="true"] {
  text-decoration: underline !important;
  text-decoration-thickness: 3px !important;
  border-bottom: 3px solid #ffdf00 !important;
}
html[data-contrast="high"] .breadcrumbs li::before { color: #fff !important; }
html[data-contrast="high"] body :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #ffdf00 !important;
  outline-offset: 3px !important;
}
html[data-link-highlight="true"][data-contrast="high"] body.theme-classic,
html[data-link-highlight="true"][data-contrast="high"] body.theme-classic * { --access-link:#ffd0d0; }
html[data-link-highlight="true"][data-contrast="high"] body.theme-classic :is(a,a *,button,button *,summary,summary *,[role="button"],input[type="submit"]) { color:#ffd0d0 !important; }
html[data-link-highlight="true"][data-contrast="high"] body.theme-classic :is(button,summary,[role="button"],input[type="submit"],.hero-cta,.bip-quick,.button,.pagination a) { background-color:#000 !important; border-color:#ffd0d0 !important; }
html[data-link-highlight="true"][data-contrast="high"] body.theme-classic :is(button,summary,[role="button"],.hero-cta,.bip-quick,.button,.pagination a):hover { background-color:#252525 !important; }
html[data-link-highlight="true"][data-contrast="high"] body.theme-classic :is(button[aria-pressed="true"],.pagination a[aria-current="page"]) { background-color:#252525 !important; }
@media(forced-colors:active) {
  html[data-contrast] body :is(a, button, input, select, textarea, summary):focus-visible { outline-color: Highlight !important; }
}
