/* The visit header stays in document flow, and leaves the screen with the page. */
:root{--visit-header-height:91px}
html{scroll-padding-top:12px!important}
html body>.header{position:relative!important;inset:auto!important;height:91px;min-height:0;margin:0!important;transform:none!important;z-index:50}
html body>.mobile-menu{position:absolute!important;top:var(--visit-header-height)!important;max-height:calc(100dvh - var(--visit-header-height) - 95px)!important}
@media(max-width:800px){
 :root{--visit-header-height:64px}
 html body>.header{height:64px;padding:4px 8px;gap:6px;flex-wrap:nowrap}
 .header .brand,.header .brand img{width:62px}
 .header .brand-service{padding-left:6px;line-height:1.45}
 .header .brand-service span{font-size:14px;letter-spacing:0}
 .header .reading-tools{gap:2px}
 .header .reading-tools>span{font-size:10px;line-height:1.3}
 .header .reading-options{gap:4px}
 .header .reading-tools button{min-width:34px;min-height:32px;padding:2px 5px;font-size:12px;line-height:1.5}
 .header .menu-toggle{min-width:40px;min-height:44px;padding:5px;gap:4px}
 .header .menu-toggle small{font-size:9px;line-height:1.2}
}
@media(max-width:359px){
 html body>.header{padding-left:6px;padding-right:6px;gap:4px}
 .header .brand,.header .brand img{width:48px}
 .header .brand-service{padding-left:4px}
 .header .brand-service span{font-size:12px}
 .header .reading-tools>span{font-size:9px}
 .header .reading-tools button{min-width:28px;padding-left:3px;padding-right:3px;font-size:11px}
 .header .menu-toggle{min-width:34px;padding-left:3px;padding-right:3px}
 .header .menu-toggle small{font-size:8px}
}

/* Keep the service label aligned after removing the header logo and clinic name. */
.header .brand-service { border-left: 0; padding-left: 0; }
