/* v182: locally hosted Nunito, a rounded, friendly typeface.
   Preserve v181's shared responsive sizes and allow language-specific glyph fallback. */
@font-face{font-family:'HAH Nunito';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/nunito-400-v182.woff') format('woff')}
@font-face{font-family:'HAH Nunito';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/nunito-600-v182.woff') format('woff')}
@font-face{font-family:'HAH Nunito';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/nunito-700-v182.woff') format('woff')}
@font-face{font-family:'HAH Nunito';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/nunito-800-v182.woff') format('woff')}
@font-face{font-family:'HAH Nunito';font-style:normal;font-weight:900;font-display:swap;src:url('/assets/fonts/nunito-900-v182.woff') format('woff')}
:root{--hah-friendly:'HAH Nunito','Noto Sans CJK JP','Yu Gothic','Microsoft JhengHei','Microsoft YaHei','Malgun Gothic',Tahoma,Arial,sans-serif;--display:var(--hah-friendly)}
html body{font-family:var(--hah-friendly)!important;font-weight:400}
html body :is(input,textarea,select,button,.button,.application-cta,.cms-admin-shell,.cms-modal-card,.cms-admin-badge,.app-brand,.site-footer){font-family:var(--hah-friendly)!important}
html body :is(h1,h2,h3,h4,.display,.profile-display,.profile-section-title,.hero-line,.marquee-track,.collab-item strong,.program-impact-value,.director-university-rank strong){font-family:var(--hah-friendly)!important;font-weight:900!important}
html[data-language] body :is(h1,h2,h3,h4,.display,.profile-display,.profile-section-title,.hero-line){letter-spacing:-.025em!important}
html body :is(.eyebrow,.card-kicker,.hero-eyebrow,.program-photo-half>span){font-family:var(--hah-friendly)!important;font-weight:800!important;letter-spacing:.045em!important}
html body :is(.site-nav>a,.button,.text-link,.application-cta,.cms-button,.cms-tab,.language-select,.app-brand){font-weight:800!important}
html body :is(.hero-lead,.profile-lead,.statement-copy p,.program-copy>p,.field-card-copy p,.profile-overview-copy p){font-weight:600}
html[data-language] body .site-header .brand-copy strong[data-i18n-html="brand.name"]::before,
html body .site-header .brand-copy strong[data-i18n-html="brand.name"]::before{font-family:var(--hah-friendly)!important;font-weight:900!important;letter-spacing:-.015em!important;line-height:1.2!important}
html body .hero-collage>.hero-badge-group .hero-badge>span{font-family:var(--hah-friendly)!important;font-weight:900!important;letter-spacing:-.035em!important}
html body .hero-collage>.hero-badge-group .hero-badge>small{font-family:var(--hah-friendly)!important;font-weight:900!important}
html body .director-copy h2 span{font-family:var(--hah-friendly)!important;font-weight:700!important}
html body :is(.cms-modal-card h2,.cms-admin-shell h2,.cms-modal-card h3,.cms-admin-shell h3){font-family:var(--hah-friendly)!important;font-weight:900!important}
/* Never add Latin letter spacing to CJK or connected Arabic letters. */
html:is([lang="ja"],[lang="zh-TW"],[lang="zh-CN"],[lang="ko"],[lang="ar"]) body :is(h1,h2,h3,h4,.eyebrow,.card-kicker,.hero-line){letter-spacing:normal!important}
/* Center the About heading against the complete illustration/copy column. */
@media(min-width:981px){
 html body .statement-with-art .statement-grid{align-items:center!important}
 html body .statement-with-art .statement-grid>.display{align-self:center!important;margin-block:0!important}
}
[id^="program-"]{scroll-margin-top:120px}
.program-picker{border:2px solid #171717;border-radius:28px;padding:28px;background:#fffbed;color:#171717;width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-sizing:border-box;box-shadow:8px 8px 0 #ff6b2c;margin:auto}
.program-picker::backdrop{background:rgba(20,25,30,.55);backdrop-filter:blur(4px)}
.program-picker-header{display:flex;align-items:center;gap:18px;justify-content:space-between;margin-bottom:24px}
.program-picker h2{font-size:clamp(24px,4vw,32px)!important;line-height:1.2;margin:0}
.program-picker-close{flex:none;border:1.5px solid #171717;border-radius:50%;width:44px;height:44px;background:white;font-size:26px;cursor:pointer}
.program-picker-options{display:grid;gap:12px}
.program-picker-options a{display:flex;align-items:center;gap:14px;padding:18px;border:1.5px solid #171717;border-radius:16px;background:white;color:#171717;text-decoration:none;font-size:18px;font-weight:800;line-height:1.4}
.program-picker-options a:hover{background:#ffdf75}
.program-picker-options a:focus-visible,.program-picker-close:focus-visible{outline:3px solid #d54a11;outline-offset:3px}
.program-picker-options .picker-icon{font-size:26px;flex:none}
.program-picker-options .picker-arrow{margin-inline-start:auto}
html:has(.program-picker[open]){overflow:hidden}
