/* Progressive enhancement of the styles recovered from v12. */
[hidden] { display: none !important; }
html { scroll-padding-top: 6rem; }
/* Decorative circles extend beyond their sections in the v12 artwork. */
main > section { overflow-x: clip; }
:focus-visible { outline: 3px solid #119285; outline-offset: 4px; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; transform: translateY(-160%); padding: 12px 20px; background: white; color: #111827; border: 2px solid #119285; border-radius: 8px; }
.skip-link:focus { transform: translateY(0); }
summary { cursor: pointer; }
.desktop-menu > summary, .mobile-menu > summary, .faq-item > summary { list-style: none; }
.desktop-menu > summary::-webkit-details-marker, .mobile-menu > summary::-webkit-details-marker, .faq-item > summary::-webkit-details-marker { display: none; }
.desktop-menu > summary { min-height: 44px; }
.mobile-menu > summary { min-width: 44px; min-height: 44px; display: grid; place-items: center; }
.mobile-panel { position: absolute; top: 64px; left: 0; right: 0; max-height: calc(100dvh - 64px); overflow-y: auto; }
.mobile-panel a { min-height: 44px; display: flex; align-items: center; }
.faq-item[open] > summary svg { transform: rotate(180deg); }
.faq-item > summary { gap: 1rem; }
.faq-item > summary svg { flex-shrink: 0; transition: transform .2s; }
.faq-item p { line-height: 1.65; }
[aria-current="page"] { color: #119285; }
#fcs-shell { width: 100%; max-width: 560px; min-width: 0; margin-inline: auto; }
#fcs-card { width: 100%; min-width: 0; padding: 12px; border-radius: 16px; }
#fcs { display: block; width: 100%; min-width: 0; max-width: 100%; overflow: hidden; }
#fcs > a { color: #fff; }
.loan-form-status { margin-top: .75rem; font-size: .875rem; }
.toc-active { color: #119285; font-weight: 600; background: rgb(17 146 133 / .1); }
@media (max-width: 640px) {
  #fcs-shell { max-width: 100%; }
  #fcs-card { padding: 6px; border-radius: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
