/* Native footer disclosure: normal document flow, with no overlay or dependency. */
/* Use installed system script coverage; never download a font per language. */
:is(.interface65-settings, .site-header, .presentation-header, .utility, .footer, .pwa-navigation)
  :is([lang="zh-Hans"], [lang="zh-Hant"], [lang="vi"], [lang="ko"], [lang="ja"],
      [lang="ar"], [lang="fa"], [lang="hy"], [lang="hi"], [lang="pa"], [lang="th"],
      [lang="lo"], [lang="km"], [lang="ru"], [lang="uk"]),
.interface65-settings:is([lang="zh-Hans"], [lang="zh-Hant"], [lang="ko"], [lang="ja"],
    [lang="ar"], [lang="fa"], [lang="hy"], [lang="hi"], [lang="pa"], [lang="th"],
    [lang="lo"], [lang="km"], [lang="vi"], [lang="ru"], [lang="uk"]) {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
[data-interface65] [dir] { unicode-bidi: isolate; }
.interface65-settings[dir="rtl"], .interface65-settings [dir="rtl"] { letter-spacing: normal; }
[data-interface65] {
  --interface65-surface: var(--paper, #f7f2ef);
  --interface65-ink: var(--ink, #223631);
  --interface65-line: #889c92;
  box-sizing: border-box;
  color: var(--interface65-ink);
  background: var(--interface65-surface);
  border-block: 1px solid var(--interface65-line);
  margin-block: 1.25rem;
  padding-inline: clamp(.75rem, 3vw, 1.5rem);
  min-inline-size: 0;
  max-inline-size: 100%;
  text-align: start;
  font: inherit;
  font-size: 1rem;
  line-height: 1.6;
}

[data-interface65] > summary {
  box-sizing: border-box;
  min-block-size: 44px;
  padding-block: .8rem;
  font-weight: 600;
  cursor: pointer;
  overflow-wrap: anywhere;
}

[data-interface65][open] > summary {
  border-block-end: 1px solid var(--interface65-line);
  margin-block-end: 1rem;
}

[data-interface65] [data-interface65-form] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: 1rem 1.5rem;
  min-inline-size: 0;
  margin: 0;
  padding-block-end: 1.25rem;
}

[data-interface65] :is(fieldset, label, p, legend, div) {
  box-sizing: border-box;
  min-inline-size: 0;
  max-inline-size: 100%;
  overflow-wrap: anywhere;
}

[data-interface65] fieldset {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 1rem;
  grid-column: 1 / -1;
  border: 0;
  padding: 0;
  margin: 0;
}

[data-interface65] legend {
  padding: 0;
  margin-block-end: .75rem;
  font-weight: 600;
}

[data-interface65] label {
  display: grid;
  align-content: start;
  gap: .375rem;
  font-size: 1rem;
  line-height: 1.5;
}

[data-interface65] :is(select, button, input:not([type="hidden"])) {
  box-sizing: border-box;
  min-block-size: 44px;
  min-inline-size: 0;
  max-inline-size: 100%;
  border: 1px solid var(--interface65-line);
  border-radius: .2rem;
  padding: .6rem .75rem;
  font: inherit;
  line-height: 1.5;
}

[data-interface65] select {
  inline-size: 100%;
  color: var(--interface65-ink);
  background: #fff;
}

[data-interface65] button {
  justify-self: start;
  color: #fff;
  background: var(--interface65-ink);
  border-color: var(--interface65-ink);
  text-align: start;
  white-space: normal;
  overflow-wrap: anywhere;
  cursor: pointer;
}

[data-interface65] button[aria-disabled="true"] {
  cursor: progress;
}

[data-interface65] .interface65-reload {
  color: var(--interface65-ink);
  background: #fff;
}

[data-interface65] [data-interface65-status] {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
  max-inline-size: 64ch;
}

[data-interface65] [data-interface65-status]:empty {
  display: none;
}

[data-interface65] :is(summary, select, button, input, a):focus-visible {
  outline: 3px solid var(--interface65-ink);
  outline-offset: 4px;
}

[data-interface65] [hidden] {
  display: none !important;
}

/* Standard settings do not change existing typography or media geometry. */
@media screen {
  html[data-reading-size="larger"] { font-size: 125%; }
  html[data-reading-size="largest"] { font-size: 150%; }

  html:is([data-reading-size="larger"], [data-reading-size="largest"]) body {
    font-size: 1.125rem;
    line-height: 1.65;
  }

  html:is([data-reading-size="larger"], [data-reading-size="largest"]) body :is(p, li, dd, dt, figcaption) {
    font-size: 1.125rem !important;
    line-height: 1.65 !important;
    overflow-wrap: anywhere;
  }

  html:is([data-reading-size="larger"], [data-reading-size="largest"]) body :is(label, legend, input, select, textarea, button) {
    font-size: 1rem !important;
    line-height: 1.5 !important;
    min-inline-size: 0;
    max-inline-size: 100%;
  }

  html:is([data-reading-size="larger"], [data-reading-size="largest"]) body :is(label, legend, button, summary) {
    overflow-wrap: anywhere;
    white-space: normal;
  }

  html:is([data-reading-size="larger"], [data-reading-size="largest"]) body :is(button, input:not([type="hidden"]), select, textarea) {
    min-block-size: 44px;
  }

  html[data-reading-spacing="roomy"] body :is(p, li, dd, dt, figcaption, label, legend) {
    line-height: 1.9 !important;
    letter-spacing: .025em;
    word-spacing: .06em;
    overflow-wrap: anywhere;
  }

  html[data-reading-spacing="roomy"] body :is(p, li, dd, dt, figcaption) {
    margin-block-end: 1.25em !important;
  }

  html[data-reading-links="underlined"] body a[href] {
    text-decoration-line: underline !important;
    text-decoration-thickness: max(1px, .075em);
    text-underline-offset: .2em;
  }

  html[data-reading-motion="reduce"] { scroll-behavior: auto !important; }

  /* Deliberately limited to ordinary UI. Film choreography stays controller-owned. */
  html[data-reading-motion="reduce"] :is([data-interface65], [data-interface65] *, .directory-row, .service-list > a, .story-links > a, .button, .button-light, .mch-arrow button):not([data-landing-film], [data-landing-film] *, .mch-film-hero, .mch-film-hero *) {
    animation: none !important;
    transition: none !important;
  }

  html[data-reading-motion="reduce"] .mch-arrow :is(.mch-arrow-more, .mch-arrow-sources) > summary::after {
    transition: none !important;
  }

  html[data-reading-transparency="reduce"] [data-interface65] {
    background: var(--interface65-surface);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  /* Reuse Arrow's existing opaque surface; its controls retain their authority. */
  html[data-reading-transparency="reduce"] .mch-arrow[data-mch-arrow] .mch-arrow-panel {
    --arrow-glass-shell: var(--arrow-paper);
    --arrow-glass-reading: var(--arrow-paper);
    --arrow-glass-header: var(--arrow-soft);
    --arrow-glass-answer: var(--arrow-paper);
    --arrow-glass-composer: var(--arrow-paper);
    --arrow-glass-sheen: none;
    background-image: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  html[data-reading-transparency="reduce"] .mch-arrow .mch-arrow-panel::before {
    box-shadow: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-interface65], [data-interface65] * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  [data-interface65] {
    background: var(--interface65-surface);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

@media (forced-colors: active) {
  [data-interface65] {
    --interface65-surface: Canvas;
    --interface65-ink: CanvasText;
    --interface65-line: CanvasText;
    forced-color-adjust: auto;
  }
  [data-interface65] :is(select, button, .interface65-reload) {
    color: ButtonText;
    background: ButtonFace;
    border-color: ButtonText;
  }
  [data-interface65] :is(summary, select, button, input, a):focus-visible {
    outline-color: Highlight;
  }
  html[data-reading-transparency="reduce"] .mch-arrow[data-mch-arrow] .mch-arrow-panel {
    --arrow-glass-shell: Canvas;
    --arrow-glass-reading: Canvas;
    --arrow-glass-header: Canvas;
    --arrow-glass-answer: Canvas;
    --arrow-glass-composer: Canvas;
  }
}

/* Reading overrides are screen-only; printed documents retain their own layout. */
@media print {
  [data-interface65] { display: none !important; }
}

/* Familiar independent language disclosure/list, following USWDS language navigation.
   Native names and a persistent English return stay separate from reading settings. */
.language70 {
  position: relative; flex: 0 1 auto; min-inline-size: 0; max-inline-size: 100%;
  margin: 0; padding: 0; color: #213b34; font: 400 1rem/1.5 system-ui, sans-serif;
  letter-spacing: normal; text-transform: none; text-align: start;
}
.language70-navigation { display: flex; flex-wrap: wrap; gap: .25rem .75rem; align-items: center; }
.language70 details { position: relative; min-inline-size: 0; max-inline-size: 100%; }
.language70 summary, .language70 button {
  box-sizing: border-box; min-block-size: 48px; max-inline-size: 100%;
  margin: 0; border: 0; border-radius: 0; padding: .65rem .75rem;
  color: #213b34; background: #fff; font: inherit; letter-spacing: normal;
  text-transform: none; white-space: normal; overflow-wrap: anywhere;
  cursor: pointer; text-align: start; box-shadow: none;
}
.language70 summary { display: flex; align-items: center; gap: .3rem; list-style: none; border: 1px solid #8d9e95; border-radius: .2rem; }
.language70 summary::-webkit-details-marker { display: none; }
.language70 summary { flex-wrap: wrap; overflow-wrap: normal; word-break: normal; }
.language70 summary > :not(.language70-chevron) { flex: 0 1 auto; overflow-wrap: normal; word-break: normal; }
.language70 summary bdi { font-weight: 650; }
.language70-chevron { inline-size: .45rem; block-size: .45rem; border-right: 2px solid; border-bottom: 2px solid; transform: rotate(45deg); margin-inline: .4rem .2rem; flex: 0 0 auto; }
.language70 details[open] .language70-chevron { transform: rotate(225deg); }
.language70-panel { position: absolute; inset-block-start: calc(100% + .25rem); inset-inline-end: 0; z-index: 110; inline-size: clamp(16rem, 100%, 18rem); max-inline-size: calc(100vw - 2rem); color: #213b34; background: #fff; border: 1px solid #8d9e95; border-radius: .2rem; box-shadow: 0 .5rem 1.75rem #172d2426; }
.language70-panel { font-size: 1rem; }
.language70-list { list-style: none; margin: 0 !important; padding: .25rem !important; max-block-size: min(60dvh, 28rem); overflow-y: auto; overscroll-behavior: contain; }
.language70-list li { margin: 0 !important; padding: 0 !important; font: inherit !important; }
.language70-list button { display: flex; align-items: center; justify-content: space-between; gap: 1rem; inline-size: 100%; border-radius: .1rem; }
.language70-list button[aria-current="true"] { background: #e9f0eb; font-weight: 650; }
.language70 :is(summary,button):hover { background: #eef3ef; }
.language70 :is(summary,button):focus-visible { outline: 3px solid #184b8a; outline-offset: 2px; position: relative; z-index: 1; }
.language70 .language70-english, .language70 .language70-reload { text-decoration: underline; text-underline-offset: .2em; background: transparent; }
.language70 .language70-english { padding-inline: .25rem; min-inline-size: 48px; }
.language70 [aria-disabled="true"] { cursor: progress; }
.language70-status { max-inline-size: 40ch; margin: .5rem 0 0; font: inherit; background: #fff; color: #213b34; }
.language70-status:empty, .language70 [hidden] { display: none !important; }
.language70--header { margin-inline-start: auto; }
/* Anchor to the full form, including the English shortcut, so the menu stays in view. */
.language70--header details { position: static; }
.language70--footer { padding: 1rem clamp(.75rem, 3vw, 1.5rem) 0; }
.language70--footer .language70-panel { position: static; margin-block-start: .25rem; }
.language70--footer .language70-navigation { align-items: start; }
.utility .language70 { font-size: .875rem; }
.utility .language70-summary { color: #213b34; }
@media (max-width: 48rem) {
  body.public-site.visual-craft63 .utility.language-navigation70 { flex-wrap: wrap; }
  .utility .language70 { inline-size: 100%; flex: 0 0 100%; margin-inline: 0; }
  .utility .language70-navigation { justify-content: flex-end; }
  .language70--header .language70-panel { max-inline-size: calc(100vw - 2rem); }
}
@media print { .language70 { display: none !important; } }
