/* Canonical FAQ display: the Ministry's existing Ensign tokens and native controls. */
.mfai-faq-hub { padding-block: 28px 48px; }
.mfai-faq-hub__head { max-width: 78ch; margin-bottom: 28px; }
.mfai-faq-hub__eyebrow { margin: 0 0 10px; color: var(--muted-tint); font-weight: 600; }
.mfai-faq-hub__head h1 { margin: 0 0 14px; }
.mfai-faq-hub__head .lede { margin: 0; }
.mfai-faq-search { padding: 22px 24px; margin-bottom: 30px; background: var(--tint); border-top: 3px solid var(--tapa); }
.mfai-faq-search label { display: block; margin-bottom: 8px; color: var(--tapa); font-weight: 600; }
.mfai-faq-search__controls { display: flex; gap: 12px; max-width: 860px; align-items: stretch; }
.mfai-faq-search input[type=search] { width: 100%; min-width: 0; min-height: 48px; padding: 10px 12px; background: #fff; border: 1px solid var(--sea); color: var(--ink); font: inherit; }
.mfai-faq-search .btn { flex-shrink: 0; margin: 0; }
.mfai-faq-search__clear { display: inline-block; margin-top: 12px; }
.mfai-faq-hub__layout { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: 44px; align-items: start; }
.mfai-faq-topics { position: sticky; top: 24px; padding-bottom: 16px; }
.mfai-faq-topics h2 { font-size: 18px; margin: 0 0 12px; }
.mfai-faq-topics ul { list-style: none; padding: 0; margin: 0; }
.mfai-faq-topics li { border-top: 1px solid var(--border); }
.mfai-faq-topics li a { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; min-height: 42px; padding: 9px 0; font-size: 16px; line-height: 1.35; }
.mfai-faq-topics li span { font-size: 14px; color: var(--muted-tint); text-decoration: none; }
.mfai-faq-topics__return { display: inline-block; margin-top: 20px; font-weight: 600; }
.mfai-faq-hub__answers { min-width: 0; }
.mfai-faq-hub__count { margin: 0 0 18px; color: var(--muted-tint); }
.mfai-faq-hub__filter { display: flex; flex-wrap: wrap; gap: 10px 18px; padding: 12px 16px; margin-bottom: 24px; border-left: 3px solid var(--sea); background: var(--tint); }
.mfai-faq-topic { margin-bottom: 36px; scroll-margin-top: 28px; }
.mfai-faq-topic__heading { margin-bottom: 14px; }
.mfai-faq-topic__heading h2 { margin: 0 0 7px; font-size: 26px; }
.mfai-faq-topic__heading > a { font-size: 15px; }
.mfai-faq-topic__intro.prose { max-width: 76ch; margin: 0 0 20px; font-size: 17px; }
.mfai-faq-topic__intro.prose > :first-child { margin-top: 0; }
.mfai-faq-topic__intro.prose > :last-child { margin-bottom: 0; }
.mfai-faq-hub__native-content.prose { margin-bottom: 26px; }
.mfai-faq { margin: 0; border-top: 1px solid var(--border); scroll-margin-top: 28px; }
.mfai-faq:last-child { border-bottom: 1px solid var(--border); }
.mfai-faq > summary { position: relative; display: block; list-style: none; cursor: pointer; padding: 17px 40px 17px 4px; color: var(--sea-deep); font-weight: 600; font-size: 18px; line-height: 1.4; overflow-wrap: anywhere; }
.mfai-faq > summary::-webkit-details-marker { display: none; }
.mfai-faq > summary::after { content: '+'; position: absolute; right: 10px; top: 14px; font-size: 25px; line-height: 1; font-weight: 400; }
.mfai-faq[open] > summary::after { content: '−'; }
.mfai-faq > summary:hover { background: var(--tint); text-decoration: underline; text-underline-offset: 3px; }
.mfai-faq > summary:active { background: var(--sand); }
.mfai-faq:target { border-left: 3px solid var(--sea); padding-inline: 12px; background: var(--tint); }
.mfai-faq__answer.prose { max-width: 76ch; margin: 0; padding: 0 24px 20px 4px; font-size: 17px; overflow-wrap: anywhere; }
.mfai-faq__answer > :first-child { margin-top: 0; }
.mfai-faq__answer > :last-child { margin-bottom: 0; }
.mfai-faq__answer img { max-width: 100%; height: auto; }
.mfai-faq__answer table { display: block; max-width: 100%; overflow: auto; }
.mfai-faq__permalink { padding-top: 10px; font-size: 14px; }
.mfai-faq-context { margin-top: 36px; padding-top: 24px; border-top: 3px solid var(--tapa); }
.mfai-faq-context__head { margin-bottom: 16px; }
.mfai-faq-context__head h2 { margin: 0 0 8px; font-size: 26px; }
.mfai-faq-context__head > a { font-size: 16px; }
.mfai-faq-context__all { margin: 16px 0 0; }
.mfai-faq-gateway { padding-top: 24px; margin-top: 30px; border-top: 3px solid var(--tapa); }
.mfai-faq-gateway > h2 { margin: 0 0 10px; font-size: 28px; }
.mfai-faq-gateway > p { max-width: 70ch; margin: 0 0 18px; }
.mfai-faq-gateway__topics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 30px; margin: 0 0 20px; padding: 0; list-style: none; }
.mfai-faq-gateway__topics a { display: block; min-height: 44px; padding: 10px 0; border-top: 1px solid var(--border); }
.mfai-faq-hub__contact { margin-top: 10px; padding: 26px 0 0; border-top: 3px solid var(--tapa); }
.mfai-faq-hub__contact h2 { margin: 0 0 10px; font-size: 25px; }
.mfai-faq-hub__contact p { margin: 0 0 10px; }
.mfai-faq-hub__empty { padding: 24px; border: 1px solid var(--border); background: var(--tint); }
.mfai-faq-hub__empty h2 { margin-top: 0; font-size: 24px; }
.mfai-faq-global { margin: 0 0 30px; padding: 22px 0 24px; border-block: 3px solid var(--tapa); }
.mfai-faq-global__head h2 { margin: 0 0 6px; font-size: 25px; }
.mfai-faq-global__head p { margin: 0 0 8px; color: var(--muted-tint); }
.mfai-faq-global__all { margin: 18px 0 0; }
.mfai-faq-global__count { display: block; margin-top: 8px; }
.mfai-faq-global a:focus-visible { outline: 3px solid var(--sea); outline-offset: 3px; }
.mfai-faq-hub a:focus-visible, .mfai-faq-gateway a:focus-visible, .mfai-faq-context a:focus-visible, .mfai-faq > summary:focus-visible, .mfai-faq-search input:focus-visible, .mfai-faq-search button:focus-visible { outline: 3px solid var(--sea); outline-offset: 3px; }
@media (max-width: 1000px) { .mfai-faq-hub__layout { grid-template-columns: 210px minmax(0,1fr); gap: 28px; } }
@media (max-width: 760px) {
  .mfai-faq-hub { padding-block: 22px 36px; }
  .mfai-faq-hub__layout { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .mfai-faq-topics { position: static; }
  .mfai-faq-topics ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 20px; }
  .mfai-faq-topics__return { margin-top: 14px; }
  .mfai-faq-search { padding: 18px 16px; margin-bottom: 22px; }
  .mfai-faq-search__controls { flex-wrap: wrap; }
  .mfai-faq-search .btn { width: 100%; }
  .mfai-faq > summary { font-size: 17px; }
  .mfai-faq-gateway__topics { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 400px) { .mfai-faq-topics ul, .mfai-faq-gateway__topics { grid-template-columns: minmax(0,1fr); } }
@media (prefers-reduced-motion: reduce) { .mfai-faq-hub *, .mfai-faq-context * { scroll-behavior: auto; transition: none; } }
@media print { .mfai-faq-search, .mfai-faq-topics { display: none; } .mfai-faq-hub__layout { display: block; } .mfai-faq { break-inside: avoid; } .mfai-faq::details-content { display: block; } }
