/* Mobile is the base for the components maintained here. */
html { scroll-padding-top: 1rem; }
body { overflow-wrap: break-word; padding-bottom: var(--pxl-cookie-space, 0px); }
img { max-width: 100%; height: auto; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
summary:focus-visible, [tabindex]:focus-visible { outline: 3px solid #1266b0 !important; outline-offset: 3px; }
.pxl-skip { position: fixed; top: 0.5rem; left: 0.5rem; z-index: 20000; padding: 0.75rem 1rem; background: white; color: #48146e; transform: translateY(-200%); }
.pxl-skip:focus { transform: translateY(0); }
#main-content { min-width: 0; }
.contact-form label, .landing-form label { display: block; color: #333; font-size: 0.9375rem; margin-bottom: 0.375rem; }
.contact-form input, .contact-form textarea, .landing-form input, .landing-form textarea { font-size: 1rem; min-height: 2.75rem; }
.contact-form [role="status"], .landing-form [role="status"] { clear: both; color: #333; padding-top: 1rem; }
button, summary, .theme-btn-s2, .theme-btn-s4 { min-height: 2.75rem; }
.site-header .navigation > .container { width: 100%; max-width: 75rem; }
.site-header #navbar { position: static; display: block !important; float: none !important; width: 100%; height: auto !important; margin: 0; padding: 0; border: 0; visibility: visible; opacity: 1; }
.site-header #navbar .navbar-nav { float: none; height: auto; margin: 0; padding: 0; list-style: none; }
.site-header #navbar .navbar-nav > li { float: none; }
.site-header #navbar .close-navbar, .site-header .navbar-header .open-btn { display: none; }
.site-header #navbar a, .site-header #navbar [data-submenu] { display: block; padding: 0.75rem 1rem; min-height: 2.75rem; color: #333; font: inherit; line-height: 1.5; background: transparent; border: 0; text-align: left; }
.site-header #navbar .sub-menu { position: static; display: block; width: auto; visibility: visible; opacity: 1; box-shadow: none; padding: 0 0 0 1rem; list-style: none; }
.pxl-nav-ready .site-header #navbar { position: fixed; inset: 0 0 0 auto; z-index: 10001; width: min(90vw, 22rem); max-height: 100dvh; overflow-y: auto; padding: 3.75rem 0.5rem 1rem; background: #fff; box-shadow: 0 0 0 100vmax #0006; }
.pxl-nav-ready .site-header #navbar .close-navbar { display: block; position: absolute; top: 0.5rem; right: 0.5rem; left: auto; width: 2.75rem; height: 2.75rem; }
.pxl-nav-ready .site-header .navbar-header .open-btn { display: block; position: absolute; right: 1rem; top: 0.5rem; width: 2.75rem; height: 2.75rem; background: #48146e; padding: 0.625rem; border: 0; }
.site-header .navbar-header .open-btn .icon-bar { display: block; background: #fff; height: 2px; margin: 0.3rem 0; }
.site-header #navbar[hidden], .site-header #navbar .sub-menu[hidden] { display: none !important; }
body.pxl-menu-open { overflow: hidden; }
@media (min-width: 1024px) {
    .site-header .navigation > .container { display: flex; align-items: center; gap: 1rem; }
    .site-header .navbar-header { flex: 0 0 auto; }
    .pxl-nav-ready .site-header #navbar, .site-header #navbar { position: static; inset: auto; width: auto; max-height: none; overflow: visible; padding: 0; margin-left: auto; box-shadow: none; }
    .site-header #navbar .navbar-nav { display: flex; align-items: center; flex-wrap: wrap; }
    .site-header #navbar .navbar-nav > li { position: relative; border: 0; }
    .site-header #navbar .sub-menu { position: absolute; top: 100%; left: 0; min-width: 15rem; padding: 0.5rem; background: #fff; box-shadow: 0 0.25rem 1rem #0002; z-index: 100; }
    .pxl-nav-ready .site-header #navbar .close-navbar, .pxl-nav-ready .site-header .navbar-header .open-btn { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

.scan-check h3 { font-size: 1.125rem; }
