/* V23: compact header proportions; the menu panel and footer brand stay unchanged. */
.site-header { padding-top:14px; }
.site-header .header-top { gap:20px; padding-bottom:12px; }
.site-header .brand { gap:8px; }
.site-header .brand img { width:36px; height:36px; }
.site-header .brand strong { font-size:18px; font-weight:600; line-height:1.1; letter-spacing:.01em; }
.site-header .brand small { font-size:11px; line-height:1.2; margin-top:1px; }
.site-header .header-top .menu-button { min-height:38px; padding:8px 13px; gap:7px; font-size:14px; line-height:20px; border-radius:7px; }
.site-header .menu-button svg { width:18px; height:18px; }
.site-header .header-phone>a { font-size:16px; line-height:1.2; }
.site-header .header-phone small { margin-top:2px; font-size:11px; line-height:1.2; }
.site-header .header-links { gap:20px; }
.site-header .header-links a, .site-header .login { display:inline-flex; align-items:center; min-height:38px; }
.site-header .program-nav a { min-height:36px; padding:8px 12px; font-size:14px; line-height:20px; border-radius:6px; }
@media(max-width:1100px) {
 .site-header .program-nav a { padding-inline:10px; font-size:13px; }
}
@media(max-width:700px) {
 .site-header { padding-top:10px; }
 .site-header .header-top { gap:8px; padding-bottom:10px; }
 .site-header .brand img { width:32px; height:32px; }
 .site-header .brand strong { font-size:14px; }
 .site-header .brand small { font-size:10px; }
 .site-header .header-top .menu-button { width:44px; min-height:44px; padding:10px; gap:0; font-size:0; }
 .site-header .menu-button svg { width:21px; height:21px; }
 .site-header .login { min-width:44px; min-height:44px; justify-content:center; }
 .site-header .login svg { width:24px; height:24px; }
 .site-header .program-nav { padding-bottom:6px; }
 .site-header .program-nav a { min-height:44px; padding:12px 13px; font-size:13px; }
}
@media(pointer:coarse) {
 .site-header .header-top .menu-button, .site-header .header-links a, .site-header .login, .site-header .program-nav a { min-height:44px; }
 .site-header .login { min-width:44px; justify-content:center; }
}

/* V25: visible paging for the overflowing programme row. Native swipe remains. */
.site-header .program-nav-frame { display:flex; align-items:flex-start; gap:6px; }
.site-header .program-nav { min-width:0; flex:1; scroll-behavior:auto; }
.site-header .program-nav-scroll { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid #b7cbe8; border-radius:6px; background:#fff; color:var(--blue); }
.site-header .program-nav-scroll[hidden] { display:none; }
.site-header .program-nav-scroll:hover { background:var(--sky); }
.site-header .program-nav-scroll:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
