@font-face{font-family:'Community Sans';src:url('assets/fonts/CommunitySansRegular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap;}
@font-face{font-family:'Community Sans';src:url('assets/fonts/CommunitySansMedium.woff') format('woff');font-style:normal;font-weight:500;font-display:swap;}
@font-face{font-family:'Community Sans';src:url('assets/fonts/CommunitySansBold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap;}
@font-face{font-family:'Community Editorial';src:url('assets/fonts/CommunityEditorial.woff') format('woff');font-style:normal;font-weight:900;font-display:swap;}
@font-face{font-family:'Community Mono';src:url('assets/fonts/CommunityMono.woff') format('woff');font-style:normal;font-weight:400;font-display:swap;}
:root{--font-ui:'Community Sans','Microsoft YaHei',sans-serif;--font-editorial:'Community Editorial','STSong',serif;--font-data:'Community Mono',monospace}
body{font-family:var(--font-ui);font-weight:400;text-rendering:optimizeLegibility}
button,input,textarea,select{font-family:var(--font-ui)}
h1,h2,h3,h4{font-family:var(--font-ui);font-weight:500;text-wrap:balance}
p{font-weight:400;text-wrap:pretty}
.brand{font-weight:700;letter-spacing:.025em}.brand small{font-family:var(--font-data);font-size:8px;letter-spacing:1px}
nav a{font-weight:500;letter-spacing:.015em}button,.button,.nav-cta{font-weight:500}
.future-grid h1{font-weight:700;letter-spacing:-.045em;line-height:1.14;font-size:clamp(58px,6.5vw,106px)}
.future-desc{font-size:15px;line-height:1.95;letter-spacing:.03em}
.future-statement h2,.future-library h2{font-weight:500;letter-spacing:-.035em}
.future-finale>a{font-weight:700;letter-spacing:-.035em}
.future-ticker{font-weight:700;letter-spacing:.12em}
.about-opening h1{font-weight:500;line-height:1.35;letter-spacing:-.04em;font-size:clamp(36px,4.3vw,70px)}
.about-opening h1 em{font-family:var(--font-editorial);font-weight:900;letter-spacing:.015em}
.about-letter h2,.about-join h2{font-family:var(--font-editorial);font-weight:900;letter-spacing:.01em;line-height:1.5}
.about-editorial p{font-size:15px;line-height:2}.about-editorial h3{font-weight:500}
.about-member strong{font-family:var(--font-data);font-weight:400;letter-spacing:-.085em;font-variant-numeric:tabular-nums}
.about-member strong span{letter-spacing:0}
.teacher-path li>span,.about-kicker,.eyebrow,.future-top,.future-bottom,.future-label,.art-top,.archive-line small,.training-topics small{font-family:var(--font-data),var(--font-ui);font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:.065em}
.exhibit-book h3,.catalog-item h3{font-weight:500;letter-spacing:-.02em;line-height:1.5}
.page-hero h1{font-weight:500;letter-spacing:-.035em;line-height:1.3}
.serif,.about-quote h2{font-family:var(--font-editorial);font-weight:900}
.training-topic-detail h3{letter-spacing:-.02em}.training-topic-detail small{font-size:12px;letter-spacing:.05em}
@media(max-width:760px){.future-grid h1{font-size:clamp(40px,10.8vw,64px);letter-spacing:-.045em}.about-opening h1{font-size:clamp(29px,7.5vw,42px)}.about-editorial p{font-size:14px}.brand{letter-spacing:0}.brand small{font-size:7px;letter-spacing:.5px}}
