:root {
  --mst-chrome-red:#c8102e;
  --mst-chrome-ink:#15171b;
  --mst-chrome-soft:#565d68;
  --mst-chrome-line:#e3e5e8;
  --mst-chrome-max:1180px;
}

/* Canonical utility bar and primary navigation shared across every public page. */
.mst-utility { position:relative; z-index:101; color:#d7dbe0; background:#17191d; }
.mst-utility-inner { width:min(var(--mst-chrome-max),calc(100% - 40px)); min-height:34px; margin:auto; display:flex; justify-content:flex-end; align-items:center; gap:22px; font:500 12px/1.35 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.mst-utility a { color:inherit; text-decoration:none; }
.mst-utility a:hover { color:#fff; }
.mst-site-head { position:sticky; top:0; z-index:100; background:#fff; border-bottom:1px solid var(--mst-chrome-line); }
.mst-site-head-inner { position:relative; width:min(var(--mst-chrome-max),calc(100% - 40px)); min-height:92px; margin:auto; display:flex; align-items:center; gap:28px; font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.mst-site-brand { display:flex; flex:0 0 170px; align-items:center; text-decoration:none; }
.mst-site-brand img { display:block; width:145px; height:auto; }
.mst-primary-nav { display:flex; flex:1; align-items:center; justify-content:center; gap:23px; }
.mst-primary-nav > a { color:#252a31; font-size:13px; font-weight:720; text-decoration:none; white-space:nowrap; }
.mst-primary-nav > a:hover { color:var(--mst-chrome-red); }
.mst-nav-dropdown { position:relative; display:flex; align-items:center; align-self:stretch; }
.mst-nav-dropdown::after { content:""; position:absolute; top:100%; left:-10px; right:-10px; height:36px; display:none; }
.mst-nav-dropdown:hover::after,.mst-nav-dropdown:focus-within::after,.mst-nav-dropdown.is-open::after { display:block; }
.mst-nav-trigger { display:inline-flex; align-items:center; gap:7px; padding:0; color:#252a31; border:0; background:transparent; font:720 13px/1.2 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; white-space:nowrap; cursor:pointer; }
.mst-nav-trigger:hover,.mst-nav-dropdown:focus-within .mst-nav-trigger,.mst-nav-dropdown.is-open .mst-nav-trigger { color:var(--mst-chrome-red); }
.mst-nav-chevron { width:7px; height:7px; margin-top:-3px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform .18s ease; }
.mst-nav-dropdown:hover .mst-nav-chevron,.mst-nav-dropdown:focus-within .mst-nav-chevron,.mst-nav-dropdown.is-open .mst-nav-chevron { margin-top:3px; transform:rotate(225deg); }
.mst-nav-menu { position:absolute; top:calc(100% + 29px); left:50%; z-index:110; width:350px; padding:14px; background:#fff; border:1px solid var(--mst-chrome-line); border-radius:13px; box-shadow:0 22px 55px rgba(17,20,24,.18); opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,9px); transition:opacity .16s ease,transform .16s ease,visibility .16s ease; }
.mst-nav-dropdown:hover .mst-nav-menu,.mst-nav-dropdown:focus-within .mst-nav-menu,.mst-nav-dropdown.is-open .mst-nav-menu { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); }
.mst-nav-menu::before { content:""; position:absolute; left:0; right:0; top:-14px; height:14px; }
.mst-nav-menu-label { padding:5px 10px 10px; color:var(--mst-chrome-red); font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.mst-primary-nav .mst-nav-menu a { display:block; padding:11px 10px; color:#252a31; border-radius:8px; text-decoration:none; white-space:normal; }
.mst-primary-nav .mst-nav-menu a:hover { color:var(--mst-chrome-ink); background:#f5f6f8; }
.mst-nav-menu a strong { display:block; font-size:13px; line-height:1.25; }
.mst-nav-menu a span { display:block; margin-top:4px; color:var(--mst-chrome-soft); font-size:11.5px; font-weight:500; line-height:1.4; }
.mst-nav-menu-divider { height:1px; margin:7px 10px; background:var(--mst-chrome-line); }
.mst-nav-menu-online { width:390px; }
.mst-primary-nav .mst-nav-academy-login { display:flex!important; align-items:center; gap:14px; margin:1px 2px 12px; padding:13px 14px!important; background:#f5f6f8; border:1px solid #e4e6ea; }
.mst-primary-nav .mst-nav-academy-login:hover { background:#eceef2; }
.mst-nav-academy-login img { display:block; width:112px; max-height:42px; object-fit:contain; }
.mst-nav-academy-login > span { flex:1; margin:0!important; }
.mst-nav-academy-login small { display:block; margin-top:3px; color:var(--mst-chrome-soft); font-size:11px; font-weight:520; line-height:1.35; }
.mst-nav-course-label { padding-top:4px; }
.mst-nav-membership { margin:10px 3px 2px; padding:15px; color:#fff; background:#17191d; border-radius:10px; }
.mst-nav-membership-kicker { display:block; margin:0 0 7px!important; color:#f0bd49!important; font-size:9.5px!important; font-weight:900!important; letter-spacing:.13em; text-transform:uppercase; }
.mst-nav-membership > strong { display:block; font-size:12.5px; line-height:1.4; }
.mst-nav-membership > span:not(.mst-nav-membership-kicker) { display:block; margin-top:7px; color:#bfc5ce; font-size:10.5px; line-height:1.4; }
.mst-primary-nav .mst-nav-membership a { display:inline-flex; margin-top:11px; padding:8px 10px; color:#fff; background:var(--mst-chrome-red); border-radius:6px; font-size:11px; font-weight:850; }
.mst-primary-nav .mst-nav-membership a:hover { color:#fff; background:#a90d27; }
.mst-head-cta { display:inline-flex; min-height:43px; padding:0 19px; flex:0 0 auto; align-items:center; justify-content:center; color:#fff; background:var(--mst-chrome-red); border-radius:7px; text-decoration:none; font:800 13px/1.2 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; white-space:nowrap; }
.mst-head-cta:hover { color:#fff; background:#a90d27; }
.mst-mobile-nav-toggle,.mst-mobile-nav-cta { display:none; }
.mst-mobile-nav-toggle { min-height:43px; align-items:center; gap:9px; padding:0 13px; color:var(--mst-chrome-ink); background:#fff; border:1px solid #cfd3d9; border-radius:7px; font:850 12px/1.2 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; cursor:pointer; }
.mst-mobile-nav-toggle-lines { display:grid; width:20px; gap:4px; }
.mst-mobile-nav-toggle-lines i { display:block; width:20px; height:2px; background:currentColor; border-radius:99px; transition:transform .18s ease,opacity .18s ease; }
.mst-site-head.mobile-nav-open .mst-mobile-nav-toggle-lines i:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.mst-site-head.mobile-nav-open .mst-mobile-nav-toggle-lines i:nth-child(2) { opacity:0; }
.mst-site-head.mobile-nav-open .mst-mobile-nav-toggle-lines i:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

/* Canonical footer shared across every public page. */
footer.mst-site-footer { padding:64px 0 28px; color:#c9ced6; background:#111318; border-top:4px solid var(--mst-chrome-red); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.mst-footer-shell { width:min(var(--mst-chrome-max),calc(100% - 40px)); margin:auto; }
.mst-footer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:38px 36px; }
.mst-footer-brand { display:grid; grid-column:1/-1; grid-template-columns:215px minmax(260px,1.25fr) auto minmax(245px,.95fr); gap:32px; align-items:center; padding-bottom:30px; border-bottom:1px solid rgba(255,255,255,.1); }
.mst-footer-logo { display:inline-flex; width:auto; margin:0; }
.mst-footer-logo img { display:block; width:215px; max-width:100%; height:auto; }
.mst-footer-brand > p { max-width:390px; margin:0; color:#b5bdc8; font-size:13px; line-height:1.7; }
.mst-footer-heading { margin:0 0 15px; color:#fff; font-size:13px; font-weight:700; line-height:1.25; letter-spacing:.1em; text-transform:uppercase; }
.mst-footer-grid ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.mst-footer-grid li { margin:0; padding:0; }
.mst-footer-grid a { color:#c9ced6; font-size:13px; line-height:1.45; text-decoration:none; }
.mst-footer-grid a:hover { color:#fff; }
.mst-footer-social { display:flex; justify-content:center; gap:9px; margin:0; }
.mst-footer-social a { display:inline-flex; width:38px; height:38px; align-items:center; justify-content:center; color:#dce1e8; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.13); border-radius:50%; transition:background .18s ease,border-color .18s ease,transform .18s ease; }
.mst-footer-social a:hover { color:#fff; background:var(--mst-chrome-red); border-color:var(--mst-chrome-red); transform:translateY(-2px); }
.mst-footer-social svg { width:18px; height:18px; fill:currentColor; }
.mst-footer-contact { display:grid; gap:8px; margin:0; font-style:normal; }
.mst-footer-contact a { display:grid; grid-template-columns:39px minmax(0,1fr); gap:8px; align-items:baseline; color:#e2e6eb; font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.mst-footer-contact span { color:#858e9b; font-size:9px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.mst-footer-outliers-link { display:inline-block; color:#fff!important; font-size:14px!important; font-weight:800; }
.mst-footer-outliers p { margin:12px 0 0; color:#aeb5c0; font-size:12px; line-height:1.6; }
.mst-footer-outliers > strong { display:block; margin-top:9px; color:#f0bd49; font-size:12px; }
.mst-footer-bottom { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-top:42px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); }
.mst-footer-bottom p { margin:0; color:#858e9b; font-size:11.5px; }
.mst-footer-bottom nav { display:flex; flex-wrap:wrap; gap:18px; }
.mst-footer-bottom a { color:#aeb5c0; font-size:11.5px; text-decoration:none; }
.mst-footer-bottom a:hover { color:#fff; }

@media (max-width:1040px) {
  .mst-primary-nav { gap:14px; overflow-x:auto; justify-content:flex-start; padding:10px 0; }
  .mst-nav-menu { top:calc(100% + 10px); }
  .mst-footer-grid { grid-template-columns:1fr 1fr; }
  .mst-footer-brand { grid-template-columns:215px minmax(0,1fr); }
  .mst-footer-social { justify-content:flex-start; }
}
@media (max-width:760px) {
  .mst-utility-inner { justify-content:center; }
  .mst-site-head-inner { min-height:76px; flex-wrap:nowrap; gap:12px; padding:10px 0; }
  .mst-site-brand { flex:1 1 auto; }
  .mst-site-brand img { width:138px; }
  .mst-desktop-head-cta { display:none; }
  .mst-mobile-nav-toggle { display:inline-flex; flex:0 0 auto; }
  .mst-primary-nav { position:absolute; top:100%; left:-20px; right:-20px; display:none; max-height:calc(100vh - 110px); overflow-y:auto; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; padding:10px 20px 22px; background:#fff; border-top:1px solid var(--mst-chrome-line); border-bottom:1px solid var(--mst-chrome-line); box-shadow:0 20px 36px rgba(17,20,24,.16); }
  .mst-site-head.mobile-nav-open .mst-primary-nav { display:flex; }
  .mst-primary-nav > a:not(.mst-mobile-nav-cta) { display:block; width:100%; padding:15px 4px; border-bottom:1px solid var(--mst-chrome-line); font-size:15px; }
  .mst-primary-nav .mst-mobile-nav-cta { display:flex; width:100%; min-height:50px; margin-top:15px; align-items:center; justify-content:center; color:#fff; background:var(--mst-chrome-red); border-radius:8px; font-size:14px; font-weight:850; }
  .mst-primary-nav .mst-mobile-nav-cta:hover { color:#fff; background:#a90d27; }
  .mst-nav-dropdown { position:static; display:block; width:100%; align-self:auto; border-bottom:1px solid var(--mst-chrome-line); }
  .mst-nav-dropdown::after { display:none!important; }
  .mst-nav-trigger { width:100%; min-height:52px; justify-content:space-between; padding:0 4px; font-size:15px; text-align:left; }
  .mst-nav-menu,.mst-nav-menu-online { position:static; display:none; width:100%; padding:2px 0 12px; border:0; border-radius:0; box-shadow:none; opacity:1; visibility:visible; pointer-events:auto; transform:none; transition:none; }
  .mst-nav-menu::before { display:none; }
  .mst-nav-dropdown:hover .mst-nav-menu,.mst-nav-dropdown:focus-within .mst-nav-menu { display:none; transform:none; }
  .mst-nav-dropdown.is-open .mst-nav-menu,.mst-nav-dropdown.is-open:hover .mst-nav-menu,.mst-nav-dropdown.is-open:focus-within .mst-nav-menu { display:block; transform:none; }
  .mst-primary-nav .mst-nav-menu a { padding:12px 11px; }
  .mst-primary-nav .mst-nav-academy-login { margin:4px 0 10px; }
  .mst-nav-membership { margin:10px 0 2px; }
  .mst-footer-grid { grid-template-columns:1fr 1fr; }
  .mst-footer-bottom { align-items:flex-start; flex-direction:column; }
}
@media (max-width:620px) {
  .mst-footer-grid { grid-template-columns:1fr; }
  .mst-footer-brand { grid-template-columns:1fr; gap:20px; }
}
