:root{--font-body:'Source Sans 3','Segoe UI',Arial,sans-serif;--font-heading:'Montserrat','Segoe UI',Arial,sans-serif}
/* Upright typography throughout, including semantic emphasis and form controls. */
*,*::before,*::after{font-style:normal!important}
body{font-family:var(--font-body);font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased}
button,input,select,textarea,.links a,.button,.nav-toggle,.event-heading{font-family:var(--font-body)}
h1,h2,h3,h4,h5,h6,.event-heading h2,.academic-partner h2,.year-badge,.number,.place .city{font-family:var(--font-heading);font-weight:600;letter-spacing:-.025em}
h1,h2,h3{ text-wrap:balance }
h1 em{font-weight:inherit}
.hero h1{font-size:clamp(2.35rem,4.5vw,4.15rem);line-height:1.16;letter-spacing:-.035em}
h2{font-size:clamp(2rem,3.4vw,2.8rem);line-height:1.22}
h3{font-weight:600;line-height:1.4;letter-spacing:-.015em}
.event-heading h2{font-family:var(--font-heading);font-weight:700;font-size:clamp(1.3rem,2.1vw,1.85rem);letter-spacing:.005em;line-height:1.25}
.event-heading p,.event-heading .university{font-family:var(--font-body);line-height:1.5}
.year-badge{font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.year-badge small{font-family:var(--font-body);letter-spacing:.18em}
.links a,.nav-toggle{font-weight:600;letter-spacing:.065em;font-size:1rem}
.button{font-weight:600;letter-spacing:.02em}
.eyebrow,.kicker,.host-role,.slide-eyebrow{font-family:var(--font-body);font-weight:600;letter-spacing:.14em}
.intro,.event-copy>p{line-height:1.75}
.slide-copy h2{font-family:var(--font-heading);font-size:clamp(2.5rem,5.2vw,5rem);font-weight:600;line-height:1.12;letter-spacing:-.035em}
.slide-place,.slide-count{font-family:var(--font-body)}
.invite h2{font-size:clamp(1.5rem,2.1vw,1.9rem);font-weight:600;line-height:1.35}
.host-details h3{font-size:1.35rem;line-height:1.4;font-weight:600}
.host-details p,.host-details a{font-family:var(--font-body)}
.program-heading{font-family:var(--font-heading);font-weight:600}
.number{font-variant-numeric:tabular-nums;font-weight:500}
footer{font-family:var(--font-body);letter-spacing:.02em}
@media(max-width:900px) and (min-width:651px){.links a{font-size:.875rem;letter-spacing:.035em;padding-left:10px;padding-right:10px}}
@media(max-width:600px){.event-heading h2{font-size:1.1rem;letter-spacing:0}.event-heading p,.event-heading .university{font-size:.9375rem}.hero h1{font-size:clamp(2rem,7.8vw,2.9rem)}.slide-copy h2{font-size:clamp(2rem,7.6vw,2.85rem)}.invite h2{font-size:1.65rem}.host-details h3{font-size:1.25rem}.links a{font-size:1rem}}

/* Keep all eight navigation items comfortable at intermediate widths. */
@media(min-width:651px){.links a{padding-left:16px;padding-right:16px}}
@media(min-width:651px) and (max-width:1000px){.links{gap:2px}.links a{padding-left:8px;padding-right:8px;font-size:.875rem;letter-spacing:.025em}}

/* Shared sizing for the requested conference section labels. */
main .conference-section-label{font-size:clamp(1.25rem,2vw,1.5rem)!important;line-height:1.4!important;letter-spacing:.1em!important}
