.xw-menu-toggle{display:none}
header .brand{text-decoration:none;min-width:0}
header .menu a[aria-current]{color:#9ce4ff;border-bottom:1px solid #6ccaf2;padding-bottom:5px}
header button.login{font-family:inherit;background:transparent;cursor:not-allowed;opacity:.65}
header button.login:disabled{color:#cad8e2;border-color:#5d869c;box-shadow:none}
header .menu a:focus-visible,.xw-menu-toggle:focus-visible{outline:2px solid #83d4ff;outline-offset:5px}
@media(max-width:1400px){
  header.topbar,header.header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;width:100%;height:auto;min-height:76px;padding:16px 4vw;box-sizing:border-box}
  header>.brand{order:1;flex:1}
  header .actions{order:2;margin:0;gap:10px;flex:0 0 auto}
  header .xw-menu-toggle{order:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:42px;height:40px;flex:0 0 42px;border:1px solid #6fd7ff88;border-radius:10px;background:#081d2ee6;color:#d7edff;padding:9px}
  .xw-menu-toggle span{display:block;height:2px;width:20px;background:currentColor;transition:transform .2s,opacity .2s}
  .xw-menu-open .xw-menu-toggle span:first-child{transform:translateY(7px) rotate(45deg)}
  .xw-menu-open .xw-menu-toggle span:nth-child(2){opacity:0}
  .xw-menu-open .xw-menu-toggle span:last-child{transform:translateY(-7px) rotate(-45deg)}
  header.topbar .menu,header.header .menu{display:none;order:4;width:100%;flex-basis:100%;margin:0;padding:10px 0 0;gap:0}
  header.xw-menu-open .menu{display:flex;flex-direction:column;align-items:stretch}
  header .menu a{display:block;font-size:14px!important;padding:14px 16px!important;border-radius:8px;text-align:start;white-space:normal}
  header .menu a[aria-current]{background:#14374b;border-bottom:0}
}
@media(max-width:520px){
  header.topbar,header.header{gap:8px;padding:13px 4vw}
  header.header .brand img,header.topbar .brand-logo{width:105px;max-width:105px;height:auto;max-height:30px}
  header .actions{gap:6px}
  header.header .lang-current,header.topbar .lang-current{width:94px;min-width:0;max-width:94px;font-size:9px;padding:0 6px}
  header.header button.login,header.topbar button.login{font-size:9px;padding:9px 8px;min-width:0;white-space:nowrap}
  header .xw-menu-toggle{width:36px;flex-basis:36px;height:36px}
}
@media(prefers-reduced-motion:reduce){.xw-menu-toggle span{transition:none}}

/* Shared project catalogue and mobile precedence over homepage legacy rules. */
header{z-index:100!important;position:relative}
.xw-project-group{display:flex;align-items:center;gap:5px}
.xw-project-toggle{border:0;background:transparent;color:#a7dcff;padding:8px;cursor:pointer;font:inherit}
.xw-project-catalog{position:absolute;inset-inline:4vw;top:calc(100% - 2px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:20px;max-height:65vh;overflow:auto;overscroll-behavior:contain;border:1px solid #5caedd66;border-radius:16px;background:#051422f5;box-shadow:0 20px 55px #0009;backdrop-filter:blur(18px);box-sizing:border-box}
.xw-project-catalog[hidden]{display:none!important}
header .menu .xw-project-item{display:block;text-align:start;padding:15px!important;border:1px solid #47809d44;border-radius:10px;background:linear-gradient(135deg,#12324a,#061825);color:#bdd5e5;font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.04em;text-decoration:none;white-space:nowrap}
header .menu button.xw-project-item:disabled{opacity:.48;cursor:default}
header .menu a.xw-project-item{color:#c3f4ff;border-color:#63d9ff;box-shadow:inset 0 0 18px #55bfff12}
header .menu a.xw-project-item:hover{background:#164866;box-shadow:0 0 20px #58d0ff33}
@media(max-width:1400px){
 header.topbar,header.header{display:flex!important;width:100%!important;padding:16px 4vw!important;height:auto!important;gap:10px!important}
 header.topbar .menu,header.header .menu{display:none!important;max-height:calc(100svh - 110px);overflow-y:auto;align-items:stretch!important;justify-content:flex-start!important;gap:0!important}
 header.topbar.xw-menu-open .menu,header.header.xw-menu-open .menu{display:flex!important}
 header .xw-project-group{flex-wrap:wrap;justify-content:space-between}
 header .xw-project-group>a{flex:1;justify-content:flex-start!important}
 header .xw-project-toggle{padding:14px 20px}
 header .xw-project-catalog{position:static;flex-basis:100%;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px;gap:8px;max-height:48svh}
 header .menu a{justify-content:flex-start!important}
}
@media(max-width:520px){header .xw-project-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}header .menu .xw-project-item{font-size:12px!important;padding:12px 8px!important}}

@media(max-width:520px){
 header.topbar .brand-logo,header.header .brand img{width:105px!important;max-width:105px!important}
 header.topbar .actions,header.header .actions{width:auto!important;gap:6px!important}
 header.topbar .login,header.header .login{padding:9px 8px!important;min-height:36px;font-size:9px!important;white-space:nowrap!important}
 header.topbar>.brand,header.header>.brand{flex:1 1 105px}
 header .lang-switcher{flex:0 0 auto!important}
}
/* Compact project tiles in the mobile catalogue. */
@media(max-width:1400px){
 header .xw-project-catalog{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:12px;padding:8px;gap:6px}
 header .menu .xw-project-item{min-width:0;overflow:hidden;text-overflow:ellipsis;padding:9px 6px!important;font-size:11px!important;letter-spacing:0}
}
@media(max-width:520px){
 header .xw-project-catalog{grid-template-columns:repeat(4,minmax(0,1fr))}
 header .menu .xw-project-item{padding:8px 4px!important;font-size:9px!important}
}
/* Consistent header alignment across every page. */
@media(min-width:1401px){
 header.topbar,header.header{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:24px!important;min-height:88px;height:88px!important;padding:0 3vw!important}
 header .menu{display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:nowrap!important;gap:clamp(18px,2vw,34px)!important;width:auto!important;margin:0!important;padding:0!important;flex:1;min-width:0}
 header .menu>a,header .xw-project-group>a{font-size:clamp(15px,1.2vw,19px)!important;font-weight:600;line-height:1.2;letter-spacing:.035em!important;padding:12px 0!important;border:0!important;white-space:nowrap}
 header .xw-project-group{align-items:center!important;position:static;flex-wrap:nowrap!important;gap:4px}
 header .xw-project-toggle{display:flex;align-items:center;justify-content:center;padding:10px 4px;line-height:1;font-size:14px}
 header .xw-menu-toggle{display:none!important}
 header .actions{display:flex;align-items:center;flex:0 0 auto;gap:12px!important;margin:0!important}
}
header .menu>a[aria-current],header .xw-project-group>a[aria-current]{border-bottom:0!important}
@media(max-width:1400px){
 header .xw-menu-toggle{display:flex!important}
 header .menu{flex-direction:column!important}
 header .xw-project-group{align-items:center!important}
}/* Expanded mobile navigation occupies its own screen. */
@media(max-width:1400px){
 header.topbar.xw-menu-open,header.header.xw-menu-open{position:fixed!important;inset:0 0 auto!important;z-index:1000!important;background:#04111f!important;box-shadow:none!important}
 header.topbar.xw-menu-open .menu,header.header.xw-menu-open .menu{position:fixed!important;inset:80px 0 0!important;width:100%!important;height:calc(100dvh - 80px)!important;max-height:none!important;overflow-y:auto!important;padding:22px 5vw 36px!important;margin:0!important;background:#04111f!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:6px!important;box-sizing:border-box}
 header .menu>a,header .xw-project-group>a{font-size:18px!important;line-height:1.3;padding:16px!important;text-align:start!important}
 header .xw-project-group{width:100%;flex:0 0 auto}
 header .xw-project-catalog{max-height:none!important;overflow:visible!important}
}
@media(max-width:520px){header.topbar.xw-menu-open .menu,header.header.xw-menu-open .menu{inset-block-start:76px!important;height:calc(100dvh - 76px)!important;padding:18px 4vw 32px!important}}
@media(max-width:1400px){header .xw-project-catalog{margin-top:2px!important}}
@media(max-width:1400px){header .menu .xw-project-item{padding-top:10.6px!important;padding-bottom:10.6px!important}}
@media(max-width:520px){header .menu .xw-project-item{padding-top:9.3px!important;padding-bottom:9.3px!important}}/* Shared X-HISTORY header appearance, including the homepage. */
header.topbar,header.header{width:100%!important;margin:0!important;background:#030b15!important;border-bottom:1px solid #18344c!important;font-family:Arial,Helvetica,sans-serif!important}
header .brand-logo,header .brand img{width:200px!important;height:34px!important;object-fit:contain!important;object-position:left center}
header .menu a::after,header .menu a::before{content:none!important;display:none!important}
header .menu a,header .menu a:hover{cursor:pointer;text-decoration:none!important;text-shadow:none!important;transition:none!important}
header .lang-current{min-width:0!important;width:128px;height:38px;font-size:10px;border-radius:10px}
header .login{font-size:11px!important;letter-spacing:1px!important;padding:10px 22px!important;border-radius:10px!important}
@media(max-width:520px){header .brand-logo,header .brand img{width:105px!important;height:30px!important}header .lang-current{width:94px!important;font-size:9px!important}header .login{padding:9px 8px!important;font-size:9px!important}}
@media(max-width:1400px){header.topbar,header.header{min-height:80px!important}}
@media(max-width:520px){header.topbar,header.header{min-height:76px!important}}

header.topbar:not(.xw-menu-open){background:transparent!important;border-bottom:0!important;box-shadow:none!important}

header .menu>a,header .xw-project-group>a{font-size:13px!important;font-weight:700!important;letter-spacing:.04em!important;line-height:1.35!important;white-space:normal!important}

header .menu>a,header .xw-project-group>a{color:#fff!important}
header .menu>a[aria-current],header .xw-project-group>a[aria-current]{color:#a9e1ff!important}

.xw-transparent-header header.header:not(.xw-menu-open){position:absolute!important;inset:0 0 auto!important;background:transparent!important;border-bottom:0!important;box-shadow:none!important}
/* Smaller project controls with unchanged typography. */
@media(min-width:1401px){header .xw-project-catalog{grid-template-columns:repeat(8,minmax(0,1fr))!important}header .menu .xw-project-item{min-width:0;overflow:hidden;text-overflow:ellipsis;padding-top:12.7px!important;padding-bottom:12.7px!important}}
@media(min-width:521px) and (max-width:1400px){header .menu .xw-project-item{padding-top:8.9px!important;padding-bottom:8.9px!important}}
@media(max-width:520px){header .menu .xw-project-item{padding-top:7.8px!important;padding-bottom:7.8px!important}}/* Equal controls sized to X-ACADEMY rather than stretched columns. */
header .xw-project-catalog{grid-template-columns:repeat(auto-fit,112px)!important;justify-content:center!important}
header .menu .xw-project-item{text-align:center!important;width:112px!important;box-sizing:border-box!important;padding-left:8px!important;padding-right:8px!important}
@media(max-width:1400px){header .xw-project-catalog{grid-template-columns:repeat(auto-fit,96px)!important}header .menu .xw-project-item{width:96px!important}}
@media(max-width:520px){header .xw-project-catalog{grid-template-columns:repeat(auto-fit,84px)!important;gap:6px!important}header .menu .xw-project-item{width:84px!important}}
header .xw-project-catalog{grid-template-columns:repeat(auto-fit,var(--xw-project-width,112px))!important}header .menu .xw-project-item{width:var(--xw-project-width,112px)!important}

@media(min-width:1401px){header .xw-project-catalog{grid-template-columns:repeat(6,var(--xw-project-width,112px))!important;width:max-content!important;max-width:calc(100vw - 32px)!important;inset-inline:auto!important;left:50%!important;transform:translateX(-50%);justify-content:center!important}}

header .menu .xw-project-item{min-width:var(--xw-project-width,140px)!important;flex-shrink:0!important;overflow:visible!important;text-overflow:clip!important;letter-spacing:0!important;padding-left:18px!important;padding-right:18px!important}
header .xw-project-catalog{grid-template-columns:repeat(3,var(--xw-project-width,140px))!important;width:max-content!important;max-width:100%!important}

@media(min-width:521px){header .menu .xw-project-catalog{grid-template-columns:repeat(6,var(--xw-project-width,140px))!important;width:max-content!important;max-width:100%!important;align-self:center!important;padding:12px!important}}
@media(max-width:520px){header .menu .xw-project-catalog{grid-template-columns:repeat(3,var(--xw-project-width,100px))!important;width:max-content!important;align-self:center!important;padding:6px!important}}

/* Approved dimensions: change only catalogue colours. */
header .menu .xw-project-catalog{background:linear-gradient(135deg,#123666,#0c234b)!important;border-color:#426ca5!important;box-shadow:0 12px 30px #020b2560!important}
header .menu .xw-project-item,header .menu .xw-project-item:disabled{background:linear-gradient(145deg,#28578b,#193d70)!important;border-color:#507bad!important;color:#edf5ff!important;opacity:1!important}
header .menu a.xw-project-item{background:linear-gradient(145deg,#34699e,#244c85)!important;border-color:#8db6df!important;color:#fff!important}

header .menu .xw-project-item:disabled{background:linear-gradient(145deg,#193765,#11284e)!important;border-color:#304e78!important;color:#8196b5!important;opacity:1!important}
header .menu a.xw-project-item{background:linear-gradient(145deg,#315fa7,#234480)!important;border-color:#9cbcff!important;color:#fff!important;box-shadow:0 0 12px #477de840!important}

/* Deep blue night sky behind the project controls. */
header .menu .xw-project-catalog{background:linear-gradient(135deg,#09172f,#060e22)!important;border-color:#293b60!important}

/* Mobile catalogue: three equal columns and identical link/button dimensions. */
@media(max-width:1400px){header .menu .xw-project-catalog{grid-template-columns:repeat(3,var(--xw-project-width,107px))!important;width:max-content!important;max-width:100%!important;align-self:center!important;gap:6px!important;padding:8px!important}header .menu .xw-project-item,header .menu a.xw-project-item{display:flex!important;align-items:center!important;justify-content:center!important;height:34px!important;min-height:34px!important;max-height:34px!important;padding:0 18px!important;margin:0!important;line-height:1!important;white-space:nowrap!important;text-align:center!important;box-sizing:border-box!important;align-self:stretch!important}}

.xw-transparent-header header .logo-fallback{display:none!important}
@media(max-width:1400px){.xw-transparent-header .page-hero .hero-copy{padding-top:130px!important}.xw-transparent-header .history-intro{padding-top:130px!important}}
@media(max-width:520px){.xw-transparent-header .page-hero .hero-copy{padding-top:120px!important}.xw-transparent-header .history-intro{padding-top:120px!important}}
