/* Shared accessibility and public presentation refinements. */
html { scroll-padding-top: 100px; }
:where(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #ff8b38; outline-offset: 4px; }
:where(summary,button,a,input,select,textarea) { -webkit-tap-highlight-color: rgba(255,107,0,.15); }
.site-footer .footer-powered { display: inline-flex; align-items: center; gap: .3em; padding: 10px 14px; border: 1px solid rgba(255,171,77,.24); border-radius: 999px; text-decoration: none; transition: border-color .15s ease, background .15s ease; }
.site-footer .footer-powered:hover { border-color: #ffad57; background: rgba(255,107,0,.08); }
.portal-footer a { text-underline-offset: 4px; }
.site-footer .footer-grid > div { min-width: 0; }
.site-footer a { overflow-wrap: anywhere; }
.site-header-public .header-inner { gap: 18px; }
.site-header-public .brand { flex-shrink: 0; }
@media (min-width: 1025px) and (max-width: 1240px) {
 .site-header-public .site-nav { gap: 10px; }
 .site-header-public .site-nav > a:not(.button) { font-size: .78rem; }
 .site-header-public .button-small { padding-inline: 10px; font-size: .8rem; }
}
@media (max-width: 1200px) {
 .site-nav.is-open { max-height: calc(100dvh - 100px); overflow-y: auto; overscroll-behavior: contain; }
 .site-nav > a { padding-block: 8px; }
 .site-nav.is-open > a:focus-visible { outline-offset: -2px; }
}
@media (max-width: 640px) {
 .site-footer .footer-bottom { justify-items: start; gap: 14px; }
 .site-footer .footer-powered { padding: 9px 12px; font-size: .8rem; }
 .site-footer .footer-grid { gap: 28px; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
