/* Canonical type roles shared by every route. Loaded after component styles. */
:root{--font-text:Arial,'Helvetica Neue',sans-serif;--font-heading:Georgia,'Times New Roman',serif;--type-body:1.125rem;--type-small:.875rem;--type-ui:1rem;--type-h1:3rem;--type-h2:2.125rem;--type-h3:1.5rem;--type-lead:1.25rem}
body{font-family:var(--font-text);font-size:var(--type-body);line-height:1.65}
#main :is(p,li){font-family:var(--font-text);font-size:var(--type-body);font-weight:400;line-height:1.65;letter-spacing:normal}
#main p{max-width:65ch}
#main :is(h1,h2,h3,h4){font-family:var(--font-heading);font-weight:400;letter-spacing:-.02em;text-wrap:balance;overflow-wrap:break-word;hyphens:none;-webkit-hyphens:none}
#main h1{font-size:var(--type-h1);line-height:1.15}
#main h2{font-size:var(--type-h2);line-height:1.22}
#main h3,#main h4{font-size:var(--type-h3);line-height:1.3}
#main .opening h1{font-size:clamp(2.625rem,5.25vw,4.75rem);line-height:1.08}
#main :is(.opening-lead,.home-intro,.editorial-copy>p:first-child){font-size:var(--type-lead);line-height:1.55}
#main :is(.eyebrow,.small-label,.opening-name,.opening-note,figcaption){font-family:var(--font-text);font-size:var(--type-small);line-height:1.5;letter-spacing:.015em}
#main :is(summary,.button,.home-text-link,.home-text-links a,.editorial-contents a,.ella-facet-links a,.ella-section-links a){font-family:var(--font-text);font-size:var(--type-ui);line-height:1.5;letter-spacing:normal}
#main .button{font-weight:600}
#main :is(strong,b){font-weight:700}
body[class] .site-header .primary-nav,body[class] .site-header .menu-trigger,body[class] .primary-nav .nav-group>div a,body[class] .mega-menu a{font-family:var(--font-text);font-size:var(--type-ui);font-weight:600;line-height:1.5;letter-spacing:normal}
body[class] .mega-menu h3{font-family:var(--font-text);font-size:var(--type-body);font-weight:600;line-height:1.4}
body[class] .site-header .brand-subnav{font-family:var(--font-text);font-size:.75rem;line-height:1.5}
body .breadcrumb,body .site-footer .footer-legal p{font-family:var(--font-text);font-size:var(--type-small);line-height:1.6}
body .site-footer p,body .site-footer nav a,body .site-footer .button{font-family:var(--font-text);font-size:var(--type-ui);line-height:1.6}
body :is(input,select,textarea,button){font-family:var(--font-text)}
body :is(input,select,textarea){font-size:var(--type-ui);line-height:1.5}
body .faq-bot-msg,body .faq-bot-form input{font-size:var(--type-ui);line-height:1.6}
body .faq-bot-quick button,body .faq-bot-notice,body .faq-bot-form button{font-size:var(--type-small);line-height:1.5}
body #search-dialog :is(label,p,a){font-family:var(--font-text);font-size:var(--type-ui);line-height:1.6}
@media(max-width:760px){:root{--type-body:1.0625rem;--type-h1:2.125rem;--type-h2:1.75rem;--type-h3:1.375rem;--type-lead:1.1875rem}}
#main :is(dd,dt,blockquote,pre){font-family:var(--font-text);font-size:var(--type-body);line-height:1.65;letter-spacing:normal}
#main dt{font-weight:600}
#main pre{white-space:pre-wrap;overflow-wrap:anywhere}

#main :is(.form-note,.form-status,.source-note){font-size:var(--type-small);line-height:1.6}
#main .request-form label{font-size:var(--type-ui);line-height:1.5}
