/* Shared header and footer, applied after page styles. */
.vx-header{background:#fff;border-bottom:1px solid #d7e1e9;position:sticky;top:0;z-index:50}.vx-header .vx-bar{width:100%;max-width:1180px;margin:auto;padding:14px 24px;min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:24px}.vx-header .vx-brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:174px;flex-shrink:0;text-decoration:none}.vx-header .vx-wordmark{width:150px;height:auto;max-height:45px}.vx-header .vx-brand small{font-size:10px;color:#526579;white-space:nowrap}.vx-header #vx-navigation{display:flex;align-items:center;justify-content:flex-end;gap:26px;position:static;background:#fff;width:auto;box-shadow:none;transform:none;overflow:visible}.vx-header #vx-navigation>a,.vx-header .vx-account-menu>summary{display:flex;flex-direction:column;align-items:center;gap:4px;color:#526579;font-size:12px;font-weight:600;line-height:1.65;text-decoration:none;white-space:nowrap;padding:0;min-width:48px}.vx-header #vx-navigation svg{display:block;width:25px;height:25px;fill:none;stroke:#0071ba;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.vx-header .menu-toggle{display:none}.vx-header [hidden]{display:none!important}.vx-header a:hover,.vx-header a:focus-visible{color:#0071ba}.vx-footer[data-site-footer]{width:100%;max-width:none;margin:0;background:#f4f5f7;color:#193146;border-top:1px solid #d7e1e9;padding:32px max(24px,calc((100% - 1132px)/2));position:static}.chrome-foot-grid{display:grid;grid-template-columns:1.1fr 1.15fr .8fr;gap:36px}.chrome-foot-grid section{min-width:0}.chrome-foot-grid h2{font-size:15px;margin:0 0 12px;color:#193146}.chrome-foot-grid p{font-size:13px;line-height:1.7;color:#526579;margin:14px 0;max-width:38ch}.chrome-foot-grid section>a:not(.vx-brand){display:block;margin:7px 0;font-size:13px;text-decoration:none;color:#0071ba}.chrome-foot-grid p a{overflow-wrap:anywhere}.vx-footer .vx-brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-decoration:none}.vx-footer .vx-wordmark{width:150px;height:auto}.vx-footer .vx-brand small{font-size:10px;color:#526579}.chrome-social{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chrome-social>span{font-size:12px;color:#526579}.chrome-social a{width:34px;height:34px;border:1px solid #cbd9e3;background:#fff;border-radius:8px;display:grid;place-items:center}.chrome-social svg{width:18px;height:18px;fill:none;stroke:#0071ba;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.chrome-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.vx-footer .foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;margin-top:24px;border-top:1px solid #d7e1e9}.vx-footer .foot-bottom nav{display:flex;position:static;flex-wrap:wrap;gap:12px 20px;width:auto;padding:0;background:transparent;box-shadow:none;transform:none}.vx-footer .foot-bottom a,.vx-footer .foot-bottom small{font-size:12px;color:#526579;text-decoration:none}.resource-invite{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:18px 20px;margin:0 0 24px;border:1px solid #d7e1e9;border-left:4px solid #0071ba;border-radius:10px;background:#fff}.resource-invite h2{font-size:18px;margin:0 0 5px}.resource-invite p{margin:0;font-size:14px;color:#526579}.resource-invite>div:last-child{display:flex;gap:14px;flex-wrap:wrap}.resource-invite a{font-size:14px;white-space:nowrap;font-weight:600}
@media(max-width:900px){.vx-header #vx-navigation{gap:15px}.vx-header .vx-bar{gap:15px;padding-left:18px;padding-right:18px}.chrome-foot-grid{gap:24px}}
@media(max-width:760px){.vx-header .vx-bar{min-height:72px;padding:12px 16px}.vx-header .menu-toggle{display:inline-flex;padding:8px 12px;background:#fff;color:#0071ba;border:1px solid #d7e1e9;border-radius:8px}.vx-header #vx-navigation{display:none;position:absolute;left:0;right:0;top:100%;width:100%;padding:18px 14px;background:white;border-bottom:1px solid #d7e1e9;box-shadow:0 8px 15px #19314614;max-height:calc(100dvh - 150px);overflow-y:auto;flex-wrap:wrap;justify-content:center;gap:20px}.vx-header #vx-navigation.is-open{display:flex}.vx-header .vx-account-menu{width:100%}.vx-header .vx-account-menu>summary{flex-direction:row;justify-content:center}.vx-header .vx-account-panel{position:static;width:100%;margin-top:10px;box-shadow:none}.vx-footer[data-site-footer]{padding:26px 16px}.chrome-foot-grid{grid-template-columns:1fr;gap:22px}.chrome-foot-grid section{border-bottom:1px solid #d7e1e9;padding-bottom:18px}.chrome-foot-grid section:last-child{border:0;padding:0}.chrome-foot-grid p{max-width:none}.vx-footer .foot-bottom{align-items:flex-start;flex-direction:column;gap:14px;margin-top:20px}.resource-invite{align-items:flex-start;flex-direction:column;gap:14px}}

/* About navigation, shared by static pages and contest shells. */
.vx-about-dropdown{position:relative}.vx-header .vx-about-dropdown>summary{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:600;line-height:1.65;color:#526579;cursor:pointer;list-style:none;white-space:nowrap}.vx-about-dropdown>summary::-webkit-details-marker{display:none}.vx-about-links{position:absolute;right:0;top:100%;padding:12px;margin-top:12px;width:230px;background:#fff;border:1px solid #d7e1e9;border-radius:10px;box-shadow:0 12px 30px #19314620;z-index:60}.vx-about-links:before{content:"";position:absolute;top:-15px;height:15px;left:0;right:0}.vx-header .vx-about-links a{display:block;padding:11px 12px;border-radius:6px;color:#193146;text-decoration:none;font-size:14px}.vx-header .vx-about-links a:hover,.vx-header .vx-about-links a:focus-visible{background:#edf6fc;color:#0071ba}.vx-about-dropdown>summary:focus-visible{outline:2px solid #0071ba;outline-offset:5px}
@media(max-width:760px){.vx-header .vx-about-dropdown{width:100%;order:5}.vx-header .vx-about-dropdown>summary{flex-direction:row;justify-content:center}.vx-header .vx-about-links{position:static;width:100%;margin-top:12px;box-shadow:none}.vx-header .vx-about-links a{text-align:left;min-height:44px}}

.vx-header .vx-resource-menu{position:relative;flex-shrink:0;margin:0;padding:0;border:0;background:transparent}.vx-header .vx-resource-menu>summary{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:600;line-height:1.65;list-style:none;cursor:pointer;color:#526579;min-width:58px;padding:0;background:none}.vx-header .vx-resource-menu>summary::-webkit-details-marker{display:none}.vx-header .vx-resource-panel{display:none;position:absolute;left:50%;top:calc(100% + 12px);transform:translateX(-50%);width:200px;padding:8px;background:#fff;border:1px solid #d7e1e9;border-radius:10px;box-shadow:0 8px 24px #19314614;z-index:65}.vx-header .vx-resource-panel:before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}.vx-header .vx-resource-menu[open]>.vx-resource-panel{display:block}.vx-header .vx-resource-panel>a{display:block;padding:10px 12px;font-size:14px;color:#193146;font-weight:600;text-decoration:none;border-radius:7px;white-space:nowrap}.vx-header .vx-resource-panel>a:hover,.vx-header .vx-resource-panel>a:focus-visible{background:#edf6fc;color:#0071ba}.vx-header .vx-resource-menu>summary:focus-visible{outline:3px solid #0071ba;outline-offset:5px;border-radius:4px}.vx-header .vx-resource-menu>summary>span:after{content:"⌄";margin-left:4px;font-size:11px}@media(max-width:760px){.vx-header .vx-resource-menu{position:static}.vx-header .vx-resource-panel{left:14px;right:14px;top:auto;transform:none;width:auto;margin-top:12px}.vx-header .vx-resource-menu[open]{padding-bottom:155px}.vx-header #vx-navigation{align-items:flex-start}}

/* Mobile navigation uses equal cells and the same icon geometry in both menus. */
@media(max-width:760px){
 .vx-header #vx-navigation.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px;padding:12px 16px}
 .vx-header #vx-navigation>a,.vx-header #vx-navigation>details{width:auto;min-width:0;margin:0;order:0}
 .vx-header #vx-navigation>a,.vx-header #vx-navigation>details>summary{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;min-height:48px;padding:10px 8px;font-size:12px;line-height:1.4;white-space:normal;text-align:left}
 .vx-header #vx-navigation svg{width:23px;height:23px;flex:0 0 23px}
 .vx-header #vx-navigation>details{position:relative;padding:0;border:0;background:transparent}
 .vx-header #vx-navigation>details[open]{grid-column:1 / -1}
 .vx-header #vx-navigation>details>summary{list-style:none}
 .vx-header #vx-navigation>details>summary::-webkit-details-marker{display:none}
 .vx-header #vx-navigation>details>:is(.vx-resource-panel,.vx-about-links,.vx-account-panel){position:static;inset:auto;transform:none;width:100%;margin:4px 0 8px;padding:6px;box-shadow:none;background:#f6f8fa}
 .vx-header #vx-navigation>details>nav:before,.vx-header .vx-about-links:before{display:none}
 .vx-mobile-dock{display:grid;position:fixed;inset:auto 0 0;z-index:55;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;margin:0;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #d7e1e9}
 .vx-mobile-dock>a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:56px;padding:4px 0;color:#526579;text-decoration:none;font-size:11px;line-height:1.3;text-align:center}
 .vx-mobile-dock svg{display:block;width:24px;height:24px;flex:0 0 24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .vx-mobile-dock span{display:block;font-size:11px;line-height:15px;white-space:nowrap}
 .vx-mobile-dock a[aria-current="page"]{color:#0071ba}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
}

/* One page canvas across static and server-rendered Vexido pages. */
:root{--vx-page-background:#f6f8fa}
html body{background:var(--vx-page-background)!important}
body>.contest-shell,body>.ab-shell,body>.pilot-main{background:transparent}

/* Signed-out account choices, opened by click or keyboard. */
.vx-header .vx-signin-menu{position:relative}.vx-header .vx-signin-menu>summary{display:flex;flex-direction:column;align-items:center;gap:4px;color:#526579;font-size:12px;font-weight:600;line-height:1.65;cursor:pointer;list-style:none;white-space:nowrap}.vx-signin-menu>summary::-webkit-details-marker{display:none}.vx-signin-panel{position:absolute;right:0;top:100%;margin-top:12px;width:210px;padding:10px;background:#fff;border:1px solid #d7e1e9;border-radius:10px;box-shadow:0 12px 30px #19314620;z-index:65}.vx-header .vx-signin-panel a{display:block;min-height:44px;padding:10px 12px;color:#193146;text-decoration:none;font-size:14px;border-radius:6px;white-space:normal}.vx-header .vx-signin-panel a:hover,.vx-header .vx-signin-panel a:focus-visible{background:#edf6fc;color:#0071ba}.vx-signin-menu>summary:focus-visible{outline:2px solid #0071ba;outline-offset:5px}.vx-signin-menu:not([open])>.vx-signin-panel{display:none}
@media(max-width:760px){.vx-header .vx-signin-menu{width:100%;order:6}.vx-header .vx-signin-menu>summary{flex-direction:row;justify-content:center}.vx-header .vx-signin-panel{position:static;width:100%;margin-top:12px;box-shadow:none}}

:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #0071ba;outline-offset:4px} .contest-shell dd{margin:0 0 14px;overflow-wrap:anywhere} .contest-shell dt{font-weight:700} .contest-shell img{max-width:100%;height:auto}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

.vx-footer p a{ text-decoration:underline;text-underline-offset:3px }
/* Shared header menus never display closed panels or extend beyond the viewport. */
.vx-header #vx-navigation>details:not([open])>:not(summary){display:none!important}
.vx-header #vx-navigation>details[open]{z-index:70}
@media(min-width:761px){.vx-header .vx-about-links,.vx-header .vx-resource-panel,.vx-header .vx-signin-panel,.vx-header .vx-account-panel{max-width:calc(100vw - 32px);box-sizing:border-box;top:100%;margin-top:12px}.vx-header .vx-signin-panel:before,.vx-header .vx-account-panel:before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}}

/* One scalable logo lockup keeps tagline and wordmark aligned. */
.vx-header .vx-brand .vx-wordmark,.vx-footer .vx-brand .vx-wordmark{display:block;width:150px;height:auto;max-height:none;aspect-ratio:284/79}
@media(max-width:650px){.vx-header .vx-brand .vx-wordmark,.vx-footer .vx-brand .vx-wordmark{width:135px}}
