/* 1.5.6: shared typography. Public display boards retain their dedicated distance-readable font. */
html[data-theme][data-theme][data-theme][data-theme] body:not(.display){
 --ro-ui-font:Inter,"Segoe UI Variable","Segoe UI",system-ui,-apple-system,sans-serif;
 --ro-heading-weight:600;--ro-label-weight:500;--ro-value-weight:600;
 font-family:var(--ro-ui-font)!important;
}
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) :is(.ro-page-context,#content,.ro203-shifts,.ro205-news,.modal,.sheet,.ro17-panel-title,h1,h2,h3,h4,h5,h6,button,input,select,textarea){font-family:var(--ro-ui-font)!important}
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) :is(h1,h2,h3,h4,h5,h6){font-weight:var(--ro-heading-weight)!important;line-height:1.3!important;letter-spacing:-.01em!important;word-break:normal;overflow-wrap:break-word}
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) #title{font-size:28px!important}
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) :is(#content,.modal,.sheet) :is(h2,h3){font-size:18px!important}
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) :is(#content,.modal,.sheet) :is(h4,h5,h6){font-size:15px!important}
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) :is(.btn,summary,th){font-weight:var(--ro-heading-weight)!important;letter-spacing:normal!important}
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) :is(label,.metric-label,.ro-kicker){font-weight:var(--ro-label-weight)!important}
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) :is(.hint,.muted,.ro205-news-body){line-height:1.45}
@media(max-width:900px){
 html[data-theme][data-theme][data-theme][data-theme] body:not(.display) #title{font-size:24px!important}
}
@media(max-width:350px){
 html[data-theme][data-theme][data-theme][data-theme] body:not(.display) #title{font-size:22px!important}
}
/* Some older titles used ID selectors; they follow the same section hierarchy. */
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) #content :is(h1,h2,h3,h4,h5,h6),
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) #title{font-weight:var(--ro-heading-weight)!important;line-height:1.3!important;letter-spacing:-.01em!important}
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) #content :is(h2,h3){font-size:18px!important}
/* The same weights apply to content controls, values and supporting copy. */
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) :is(button,b,strong){font-weight:var(--ro-heading-weight)!important}
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) :is(input,select,textarea){font-weight:400!important}
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) #content :is(button,b,strong){font-weight:var(--ro-heading-weight)!important}
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) #content :is(input,select,textarea,p,small){font-weight:400!important}
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) #actions #newNews{font-weight:var(--ro-heading-weight)!important}
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) #content .festival-my-hours h2{font-size:28px!important;font-variant-numeric:tabular-nums}
/* Registration and data-information pages use the same section hierarchy. */
html[data-theme][data-theme][data-theme][data-theme] body.reg-page :is(.reg-section,section) :is(h2,h3){font-size:18px!important}
/* Notice titles are one level below panel headings; hour totals are numeric values. */
html[data-theme][data-theme][data-theme][data-theme] body:not(.display) #content :is(.festival-home-message,.festival-personal-event) h3{font-size:16px!important}
