/* Shared accessible navigation and compact footer. */
.site-header .logo { display: inline-flex; align-items: center; min-height: 44px; }
.site-header .main-nav a:hover { color: #570070; }
.compact-footer { background: #fff; color: #230022; padding: 56px 0 0; }
.compact-footer .footer-layout { display: grid; grid-template-columns: 1.3fr .7fr 1fr; gap: 60px; padding-bottom: 40px; }
.compact-footer .footer-brand { display: inline-flex; align-items:center; min-height:44px; font-family:var(--font-heading); font-size:30px; font-weight:800; letter-spacing:-.04em; }
.compact-footer .footer-brand span { color: #c5223b; }
.compact-footer .footer-layout p { font-size:13px; color:#57505b; max-width:36ch; margin:12px 0 0; }
.compact-footer .footer-layout h2 { font-family:var(--font-nav); font-size:12px; text-transform:uppercase; letter-spacing:.08em; margin:12px 0 16px; }
.compact-footer ul { list-style:none; margin:0; padding:0; }
.compact-footer li a { font-size:13px; min-height:44px; color:#57505b; }
.compact-footer li a:hover { color:#570070; text-decoration:underline; }
.compact-footer .footer-bottom { display:flex; justify-content:space-between; gap:20px; padding:20px 0; border-top:1px solid #d8d1d9; }
.compact-footer .footer-bottom p { color:#57505b; font-size:11px; margin:0; }
@media(max-width:760px) { .compact-footer .footer-layout { grid-template-columns:1fr; gap:28px; } .compact-footer .footer-bottom { flex-direction:column; gap:8px; } }
.solutions-toggle { font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; border: 0; background: transparent; padding: 10px 2px; min-height: 44px; cursor: pointer; }
.solutions-toggle span { margin-left: 5px; }
.main-nav li.has-children:hover .sub-menu,.main-nav li.has-children:focus-within .sub-menu { display: none; }
.main-nav li.has-children > .solutions-toggle[aria-expanded="true"] + .sub-menu { display: block; }
.main-nav .sub-menu { min-width: 285px; }
.main-nav .sub-menu a { min-height: 44px; }
.main-nav .sub-menu a[aria-current="page"] { background: #f2f2f2; color: #570070; font-weight: 700; }
.main-nav > ul > li > a { min-height: 44px; }
.nav-toggle { min-width: 44px; min-height: 44px; }
:focus-visible { outline: 3px solid #0054ff; outline-offset: 4px; }
.skip-link { position: fixed; top: -150px; left: 16px; padding: 12px 18px; background: #230022; color: white; z-index: 200; }
.skip-link:focus { top: 12px; }
.service-link { display: block; min-height: 44px; }
.service-link span { font-size: 15px; }
.site-footer li a { display: inline-flex; align-items: center; min-height: 44px; }
@media(max-width:720px) {
 .solutions-toggle { width: 100%; text-align: left; padding: 12px 24px; }
 .main-nav .sub-menu { min-width: 0; }
 .main-nav { max-height: calc(100dvh - 72px); overflow-y: auto; }
 .main-nav .sub-menu li a { white-space: normal; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } *,*::before,*::after { animation: none !important; transition: none !important; } }
