/* Regional header contract v1 — AU, NZ and UK, 19 October 2026.
   Keep these three copies identical. Header-only dimensions; no page type changes. */
:root { --regional-header-row:72px; --regional-nav-font:13px; --regional-country-font:12px; --text-regional-brand:28px; --text-regional-small:14px; }
:is(.site-header,.header) { --site-header-height:var(--regional-header-row); height:calc(var(--regional-header-row) + 1px); border-bottom-width:1px; }
:is(.site-header,.header) .regional-inner { width:min(calc(100% - 80px),1400px); max-width:none; height:var(--regional-header-row); margin-inline:auto; padding:0; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.site-header-container:has(.regional-inner) { width:100%; }
:is(.site-header,.header) .regional-brand { display:inline-flex; align-items:center; flex:none; gap:9px; line-height:1; font-family:"Switzer",Arial,sans-serif; font-size:var(--text-regional-brand); font-weight:600; letter-spacing:-.05em; text-decoration:none; }
:is(.site-header,.header) .regional-brand > svg { display:block; width:36px; height:36px; flex:none; }
:is(.site-header,.header) .regional-primary { position:static; display:grid; grid-template-columns:104px 96px 144px 88px 96px; align-items:center; gap:8px; margin:0 0 0 auto; padding:0; border:0; flex:none; font-size:var(--regional-nav-font); line-height:1.4; font-weight:400; letter-spacing:0; }
:is(.site-header,.header) .regional-primary > :is(a,details,div) { min-width:0; width:100%; margin:0; padding:0; }
:is(.site-header,.header) .regional-primary > a,
:is(.site-header,.header) .regional-primary > details > summary,
:is(.site-header,.header) .regional-primary > div > button { display:flex; align-items:center; justify-content:center; width:100%; height:44px; min-height:44px; box-sizing:border-box; padding:0 10px; gap:7px; border:0; border-radius:0; font:inherit; line-height:1.4; letter-spacing:0; white-space:nowrap; text-decoration:none; }
:is(.site-header,.header) .regional-primary > a:is(:hover,:focus-visible),
:is(.site-header,.header) .regional-primary > details > summary:is(:hover,:focus-visible),
:is(.site-header,.header) .regional-primary > div > button:is(:hover,:focus-visible,[aria-expanded="true"]),
:is(.site-header,.header) .regional-primary > details[open] > summary { background:#2563eb; color:#fff; }
:is(.site-header,.header) .regional-primary > a:last-child { background:#080808; color:#fff; }
:is(.site-header,.header) .regional-primary > a:last-child:is(:hover,:focus-visible) { background:#2563eb; color:#fff; }
:is(.site-header,.header) .regional-actions { display:grid; grid-template-columns:84px 44px; align-items:center; gap:12px; margin:0; flex:none; order:2; }
:is(.site-header,.header) .regional-country { position:relative; border:0; margin:0; padding:0; font-size:var(--regional-country-font); }
:is(.site-header,.header) .regional-country > summary { display:flex; align-items:center; justify-content:center; gap:6px; width:84px; height:44px; min-height:44px; padding:0; border:1px solid #dadde2; border-radius:0; font:inherit; font-weight:600; line-height:1; white-space:nowrap; }
:is(.site-header,.header) .regional-country > summary > svg:first-child { display:block; width:17px; height:17px; flex:none; }
:is(.site-header,.header) .regional-country > summary > :last-child { width:12px; flex:none; text-align:center; }
:is(.site-header,.header) .regional-country > :is(div,nav) { position:absolute; inset:auto 0 auto auto; top:calc(100% + 14px); width:232px; padding:16px; font-size:var(--text-regional-small); }
:is(.site-header,.header) .regional-theme,
:is(.site-header,.header) .regional-theme-space,
:is(.site-header,.header) .regional-menu { display:flex; align-items:center; justify-content:center; width:44px; min-width:44px; height:44px; min-height:44px; margin:0; padding:0; border:1px solid #dadde2; border-radius:0; background:transparent; color:inherit; flex:none; order:initial; }
:is(.site-header,.header) .regional-theme { grid-column:2; backdrop-filter:none; }
:is(.site-header,.header) .regional-theme-space { grid-column:2; border:0; }
:is(.site-header,.header) .regional-theme > svg { width:20px; height:20px; }
:is(.site-header,.header) .regional-menu { display:none; grid-column:3; }
:is(.site-header,.header) .regional-theme:is(:hover,:focus-visible),
:is(.site-header,.header) .regional-menu:is(:hover,:focus-visible) { background:#2563eb; border-color:#2563eb; color:#fff; }
.header .regional-sun { display:none; }
.dark .header .regional-sun { display:block; }
.dark .header .regional-moon { display:none; }
:is(.site-header,.header) .regional-menu-links { display:flex; flex-wrap:wrap; gap:8px 24px; padding:16px 24px; border-bottom:1px solid #dadde2; }
:is(.site-header,.header) .regional-menu-links a { min-height:44px; display:flex; align-items:center; padding:8px 12px; font-size:var(--text-regional-small); }
:is(.site-header,.header) .regional-menu-links a:is(:hover,:focus-visible) { color:#fff; background:#2563eb; }
.site-header .regional-course-search { padding:12px; }
.site-header .regional-course-search input[role="combobox"] { width:100%; min-width:0; }
@media(max-width:1190px) { :is(.site-header,.header) .regional-inner { width:calc(100% - 48px); } }
@media(max-width:1180px) {
 :is(.site-header,.header) .regional-primary { display:none; }
 :is(.site-header,.header) .regional-actions { grid-template-columns:84px 44px 44px; margin-left:auto; }
 :is(.site-header,.header) .regional-menu { display:flex; }
 .header .mobile-menu { display:block; }
}
@media(max-width:900px) {
 :root { --text-regional-brand:25px; }
 :is(.site-header,.header) .regional-inner { width:calc(100% - 40px); }
 :is(.site-header,.header) .regional-brand { font-size:var(--text-regional-brand); }
 :is(.site-header,.header) .regional-brand > svg { width:32px; height:32px; }
}
@media(max-width:650px) {
 :root { --regional-header-row:68px; --text-regional-brand:22px; --regional-country-font:11px; }
 :is(.site-header,.header) .regional-inner { gap:10px; }
 :is(.site-header,.header) .regional-brand { font-size:var(--text-regional-brand); gap:7px; }
 :is(.site-header,.header) .regional-brand > svg { width:27px; height:27px; }
 :is(.site-header,.header) .regional-actions { grid-template-columns:70px 44px 44px; gap:7px; }
 :is(.site-header,.header) .regional-country > summary { width:70px; gap:5px; }
 :is(.site-header,.header) .regional-country > :is(div,nav) { position:fixed; top:76px; right:20px; width:min(232px,calc(100vw - 40px)); }
}
@media(max-width:360px) {
 :is(.site-header,.header) .regional-inner { width:calc(100% - 24px); gap:6px; }
 :is(.site-header,.header) .regional-actions { grid-template-columns:68px 44px 44px; gap:2px; }
 :is(.site-header,.header) .regional-country > summary { width:68px; }
}

/* UK static menu adapts to the same breakpoint as AU and NZ. */
:root { --header:calc(var(--regional-header-row) + 1px); }
.site-header .regional-inner #primary-nav { order:1; }
.site-header .regional-inner > .regional-actions { order:2; }
.site-header .regional-inner .region > div > * { min-height:44px; }
@media(max-width:1180px) {
 .site-header .regional-inner #primary-nav { position:absolute; top:100%; left:0; right:0; width:100%; padding:16px 24px; margin:0; max-height:calc(100dvh - var(--header)); overflow-y:auto; background:var(--theme-surface,#fff); border-bottom:1px solid var(--line); }
 .site-header .regional-inner #primary-nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 .site-header .regional-inner #primary-nav > a,
 .site-header .regional-inner #primary-nav > details > summary { justify-content:space-between; padding:12px; min-height:48px; height:auto; border-bottom:1px solid var(--line); }
 .site-header .regional-inner #primary-nav .mega { position:static; max-height:none; overflow:visible; border:0; box-shadow:none; }
 .site-header .regional-inner #primary-nav .mega-columns { grid-template-columns:1fr; }
 .site-header .regional-inner #primary-nav .mega-group+.mega-group { border-left:0; border-top:1px solid var(--line); }
 html:not(.js) .site-header:has(#primary-nav) { height:auto; position:relative; }
 html:not(.js) .site-header .regional-inner:has(#primary-nav) { height:auto; min-height:var(--regional-header-row); flex-wrap:wrap; padding-block:12px; }
 html:not(.js) .site-header .regional-inner #primary-nav { display:flex; flex-direction:column; position:static; order:3; max-height:none; padding-inline:0; }
 html:not(.js) .site-header .regional-inner .menu-toggle { display:none; }
}

.site-header .regional-course-search #nav-course-results { position:static; width:100%; margin-top:8px; }
.site-header .site-header-knowledge-panel > div:not([aria-hidden]) { max-height:calc(100dvh - 100px); overflow-y:auto; }
