/* Shared typography and controls, loaded after page-specific styles. */
:root{--font:Arial,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",serif;--control-height:44px}
html{scroll-padding-top:calc(var(--header-height,164px) + 16px)}
#main [id],#main .news-library,#main [data-insight-library]{scroll-margin-top:0}
main{overflow-wrap:break-word}
.inner #main h1{font-size:var(--s5);line-height:1.4}
.submenu-toggle{min-height:44px}
main h1,main h2,main h3,main h4{overflow-wrap:break-word;text-wrap:pretty}
main h1,main h2{font-family:var(--serif)}
main h3,main h4{font-family:var(--font)}
#main h2{font-family:var(--serif);font-size:var(--s4);line-height:1.4;font-weight:700}
.home #main h2{font-size:var(--s5)}
#main .whitepaper-entry h2,#main .contact-info h2,#main .empty-state h2{font:600 var(--s3)/1.5 var(--font)}
#main h3{font-size:var(--s3);line-height:1.5;font-family:var(--font);font-weight:600}
#main h4{font-size:var(--s2);line-height:1.5;font-family:var(--font);font-weight:600}
.inner .page-hero h1{font-size:var(--s5);line-height:1.4;color:var(--deep)}
.page-article h2,.legal-content h2{font-size:var(--s4);line-height:1.4}
.whitepaper-entry h2,.contact-details h2{font-family:var(--font);font-size:var(--s3);line-height:1.5}
.btn,main button,.site-header .menu-toggle{box-sizing:border-box;height:var(--control-height);min-height:var(--control-height);max-width:100%;padding:0 18px;font:600 var(--s1)/20px var(--font);align-items:center;justify-content:center;vertical-align:middle;text-align:center;border-radius:var(--radius);white-space:normal;transition:background-color .18s,color .18s,border-color .18s}
main button:hover:not(:disabled){background:var(--wine);color:#fff;border-color:var(--wine)}
.page-research-learning .query-form>.btn,.page-research-learning .filter-bar>.btn,.expert-filters .btn{height:var(--control-height);min-height:var(--control-height)}
.page-research-learning .query-form input,.page-research-learning .filter-bar select,.expert-filters input,.expert-filters select{height:var(--control-height);min-height:var(--control-height);padding-block:8px;line-height:26px}
.btn[aria-disabled=true]{pointer-events:none}
main input:not([type=checkbox]):not([type=radio]),main select{min-height:var(--control-height);max-width:100%;font-family:var(--font)}
.news-page-numbers .btn,.pagination button{padding-inline:12px;min-width:44px}
.legal-copy a,.legal-reference a,.legal-email,.contact-note a,.framework-note a,.award-inline-link{border-bottom:0;text-decoration:none}
.legal-copy a:hover,.legal-reference a:hover,.legal-email:hover,.contact-note a:hover,.framework-note a:hover,.award-inline-link:hover{color:var(--wine);text-decoration:none}
.legal-meta{border:0}
.legal-content a:not(.btn),.legal-directory ol a:hover{text-decoration:none}
#main a.award-inline-link,#main a.award-inline-link:hover{text-decoration:none}
.footer-email{margin-inline-start:4px}
.page-image img{width:100%;aspect-ratio:16/9;object-fit:cover;height:auto}
.insight-article-shell>.insight-photo img{width:100%;aspect-ratio:2.6;object-fit:cover}
/* Translated titles remain complete even when a summary is deliberately short. */
#main h2,#main h3{-webkit-line-clamp:unset;max-height:none}
@media(max-width:600px){.hp-heading,.hp-award-heading{flex-wrap:wrap}.hp-heading>div{min-width:0;flex:1 1 210px}.hp-heading>h2{min-width:0}.hp-heading>.btn,.hp-award-heading>.btn{flex-shrink:0}}
@media(max-width:720px){.insight-article-shell>.insight-photo img{aspect-ratio:1.5}.btn,main button{padding-inline:14px}.news-page-numbers .btn{padding-inline:10px;min-width:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
