/* Shared navigation and footer. Narrow layouts are the default. */
:root { --brand-orange:#f58345; }
.site-header { display:block; position:relative; z-index:50; background:#fffffffa; border-bottom:0; backdrop-filter:blur(16px); color:#10234b; font-family:Poppins,Arial,sans-serif; }
.site-header .wrap,.site-footer .wrap { width:calc(100% - 32px); max-width:1240px; margin-inline:auto; }
.site-header .header-inner { height:86px; display:flex; align-items:center; justify-content:flex-start; gap:8px; }
.site-header .header-inner>a:first-child { flex-shrink:0; }
.site-header .logo { width:104px; height:auto; filter:none; display:block; }
.site-header a { text-decoration:none; color:inherit; }
.site-header .menu-toggle { display:block; order:3; flex-shrink:0; width:40px; height:44px; border:1px solid #dce0e7; border-radius:8px; background:#fff; color:#10234b; font-size:23px; cursor:pointer; }
.site-header .header-demo { display:flex; align-items:center; justify-content:center; gap:5px; padding:10px 9px; min-height:44px; border:1px solid var(--brand-orange); border-radius:999px; background:var(--brand-orange); color:#10234b; font-size:10px; font-weight:600; white-space:nowrap; margin-left:auto; }
.site-header nav { display:none; position:absolute; top:86px; left:0; right:0; max-height:calc(100dvh - 86px); overflow-y:auto; overscroll-behavior:contain; padding:20px; gap:8px; background:#fff; box-shadow:0 16px 24px #10234b12; align-items:stretch; }
.site-header nav.is-open { display:flex; flex-direction:column; }
.site-header nav>a { font-size:17px; font-weight:500; padding:14px 12px; position:relative; white-space:nowrap; }
.site-header nav>a[aria-current=page]:after { content:''; position:absolute; height:2px; background:var(--brand-orange); bottom:5px; left:12px; width:32px; }
.site-header nav>.btn-small { display:none; }
.site-header nav>.header-login { border:1px solid #dce0e7; border-radius:8px; text-align:center; background:#f6f8fb; }
.site-header nav>.header-login:hover { background:#e9eff7; }
.nav-assessments { border:0!important; margin:0; padding:0!important; position:static; }
.site-header .nav-assessments>summary { display:flex; align-items:center; justify-content:flex-start; gap:8px; list-style:none; cursor:pointer; padding:14px 12px; color:#10234b; font:500 17px/1.5 Poppins,Arial,sans-serif; min-height:48px; white-space:nowrap; }
.nav-assessments>summary::-webkit-details-marker { display:none; }
.nav-assessments .nav-chevron { display:block; width:16px; height:16px; flex:0 0 16px; transform-origin:center; transition:transform .18s; }.nav-assessments[open] .nav-chevron { transform:rotate(180deg); }
.nav-assessments.is-current>summary { color:#a3491e; }
.site-header .assessment-menu { padding:18px 16px 20px!important; background:#f7f8fb; border:1px solid #e3e8ef; border-radius:12px; color:#10234b; line-height:1.5; }
.assessment-menu-head { display:flex; flex-direction:column; gap:8px; border-bottom:1px solid #e0e6ee; padding-bottom:16px; margin-bottom:20px; }
.assessment-menu-head>span { font:500 20px/1.25 Outfit,Poppins,sans-serif; letter-spacing:-.02em; }
.site-header .assessment-menu-head>a { display:inline-flex; align-items:center; gap:10px; color:#a3491e; font-size:12px; min-height:44px; padding:0; }
.assessment-menu-grid { display:grid; grid-template-columns:1fr; gap:20px; }
.assessment-nav-group>p { font:500 11px/1.4 Poppins,Arial,sans-serif; text-transform:uppercase; letter-spacing:.06em; color:#727e90; margin:0 0 8px; }
.site-header .assessment-nav-group>a { display:block; white-space:normal; font:400 13px/1.5 Poppins,Arial,sans-serif; padding:12px 8px; margin-left:-8px; border-radius:6px; min-height:44px; color:#10234b; }
.site-header .assessment-nav-group>a:hover { background:#fff; color:#a3491e; }
.site-header a:focus-visible,.site-footer a:focus-visible,.site-header summary:focus-visible,.menu-toggle:focus-visible { outline:3px solid #bc4b12; outline-offset:4px; }
.site-footer { background:#0c1c3c; color:#fff; font:14px/1.7 Poppins,Arial,sans-serif; padding:48px 0 24px; }
.site-footer .logo { width:180px; filter:brightness(0) invert(1); height:auto; }
.site-footer a { color:#d5dfef; text-decoration:none; display:block; padding-block:8px; }
.site-footer a:hover { color:#ffb17c; }.site-footer p { color:#c4cee0; margin-top:20px; }
.footer-grid { display:grid; grid-template-columns:1fr; gap:24px; padding-bottom:32px; }
.site-footer .eyebrow { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.12em; margin-bottom:18px; color:#ffb17c; }
.footer-bottom { padding-top:24px; border-top:1px solid #ffffff24; display:flex; flex-direction:column; gap:10px; color:#c4cee0; }
.footer-bottom>div { display:flex; flex-wrap:wrap; gap:12px 24px; }.footer-bottom a { font-size:12px; }
.skip-link { position:fixed; top:8px; left:8px; z-index:100; transform:translateY(-160%); background:#fff; color:#10234b; padding:14px; }.skip-link:focus { transform:none; }
@media(min-width:390px) {
 .site-header .logo { width:135px; }.site-header .header-demo { font-size:11px; padding-inline:12px; }.site-header .header-inner { gap:12px; }
}
@media(min-width:560px) {
 .site-header .wrap,.site-footer .wrap { width:calc(100% - 48px); }
 .assessment-menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 .assessment-menu-head { flex-direction:row; justify-content:space-between; align-items:center; }
 .footer-grid { grid-template-columns:1fr 1fr; gap:28px; }.footer-grid>div:first-child { grid-column:1/-1; }
}
@media(min-width:960px) {
 .site-footer .wrap { width:calc(100% - 64px); }.site-footer { padding-top:64px; }
 .footer-grid { grid-template-columns:1.4fr 1fr 1fr; gap:48px; padding-bottom:40px; }.footer-grid>div:first-child { grid-column:auto; }
 .footer-bottom { flex-direction:row; justify-content:space-between; gap:24px; }
}
@media(min-width:1200px) {
 .site-header .wrap { width:calc(100% - 64px); }.site-header .header-inner { height:100px; gap:30px; }
 .site-header .header-inner>a:first-child { padding-right:30px; border-right:1px solid #e5e7eb; }.site-header .logo { width:180px; }
 .site-header .menu-toggle,.site-header .header-demo { display:none; }
 .site-header nav,.site-header nav.is-open { display:flex; position:static; flex-direction:row; align-items:center; gap:24px; padding:0; flex:1; background:transparent; box-shadow:none; overflow:visible; max-height:none; }
 .site-header nav>a { display:inline-flex; align-items:center; font-size:13px; min-height:44px; padding:12px 0; }
 .site-header nav>a[aria-current=page]:after { left:0; bottom:2px; width:100%; }
 .site-header nav>.header-login { border:0; background:transparent; padding:10px 4px; margin-left:auto; }
 .site-header nav>.btn-small { display:inline-flex; align-items:center; gap:12px; min-height:46px; padding:11px 18px; border-radius:999px; background:var(--brand-orange); border:1px solid var(--brand-orange); color:#10234b; font-size:12px; font-weight:600; }
 .site-header nav>.btn-small:hover,.site-header .header-demo:hover { background:#ff9b65; transform:none; }
 .site-header .nav-assessments>summary { font-size:13px; padding:12px 0; min-height:44px; }
 .site-header .assessment-menu { position:absolute; top:calc(100% + 1px); left:50%; transform:translateX(-50%); width:min(1060px,calc(100vw - 64px)); padding:25px 30px 30px!important; background:#fff; border-radius:0 0 18px 18px; box-shadow:0 22px 50px #10234b17; max-height:calc(100dvh - 120px); overflow-y:auto; }
 .assessment-menu-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:25px; }.site-header .assessment-nav-group>a:hover { background:#f5f7fa; }
}
@media(prefers-reduced-motion:reduce) { .nav-assessments .nav-chevron { transition:none; } }

/* A circular touch target and a crisp, aligned mobile menu icon. */
@media(max-width:1199px) {
 .site-header .menu-toggle { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; border-radius:50%; background:#f7f8fb; color:#526078; }
 .site-header .menu-icon { display:block; flex-shrink:0; width:24px; height:24px; }
 .site-header .menu-toggle:hover { background:#edf0f5; }
}
