@font-face{font-family:'Golos Text';src:url('/assets/GolosText.ttf') format('truetype');font-weight:400 900;font-style:normal;font-display:swap}
.header .official-brand{flex-shrink:0}.logo-window{display:block;width:200px;height:96px;overflow:hidden;position:relative}.header .logo-window img{position:absolute;width:275px;max-width:none;height:auto;left:-38px;top:-50px}@media(max-width:700px){.logo-window{width:160px;height:76px}.header .logo-window img{width:220px;height:auto;left:-30px;top:-40px}}
.program-full .curriculum{grid-column:1 / -1;min-width:0}.program-full .curriculum h3{font-size:32px;color:#860000;margin:0 0 20px}.curriculum table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:20px;line-height:1.5}.curriculum th,.curriculum td{border:1px solid var(--line);padding:14px 18px;text-align:left;vertical-align:top;overflow-wrap:break-word}.curriculum thead{background:#860000;color:#fff}.curriculum th:last-child,.curriculum td:last-child{width:22%}.curriculum tfoot{font-weight:700;background:#F3EFEC}.program-full .curriculum p{margin-top:20px}@media(max-width:700px){.curriculum table{font-size:18px}.curriculum th,.curriculum td{padding:12px 10px}.program-full .curriculum h3{font-size:28px}}
.program-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.program-nav a{max-width:none;font-size:24px;font-weight:700;line-height:1.35;padding:22px;border-radius:12px;text-decoration:none;background:var(--program-color);color:var(--program-ink)}.program-nav a:hover{text-decoration:underline;text-underline-offset:5px}.program-tone-1{--program-color:#860000;--program-ink:#fff}.program-tone-2{--program-color:#E5097F;--program-ink:#fff}.program-tone-3{--program-color:#00A0E3;--program-ink:#252525}.program-full .program-label{display:inline-block;background:var(--program-color);color:var(--program-ink);padding:8px 14px;border-radius:7px;font-size:20px;font-weight:700}.program-description summary{line-height:1.5}.program-description p{margin:14px 0 0}@media(max-width:700px){.program-nav{display:grid;grid-template-columns:1fr}.program-nav a{font-size:22px;padding:20px}}
:root{font-family:'Golos Text','Segoe UI',sans-serif;font-size:20px;--ink:#252525;--muted:#555555;--line:#ded8d3;--blue:#F3EFEC;background:#FBFAF8}
body,button,input,textarea,select{font-family:'Golos Text','Segoe UI',sans-serif}
h1,h2,h3,.brand{letter-spacing:-.02em}h1,h2,h3{font-weight:700}
/* Brand accents for subheadings; page titles (h1) retain their existing color. */
h2,h3{color:#860000}
.hero h1{font-size:56px;line-height:1.14}.page-intro h1{font-size:50px;line-height:1.2}
.lead{font-size:20px}.section-head h2,.team-summary h2,.start h2{font-size:38px}
.header nav,.header-inner>.button,.button.small{font-size:17px}.header nav{gap:16px}.header-inner{gap:20px}.header-inner .brand{font-size:27px}.brand small{font-size:15px}
.eyebrow,.breadcrumb,.program-number,.count,.photo-caption span,.footer-bottom,.document-links small,dt{font-size:16px}
.text-link,.button,.program-row>a,.program-row button,.staff-card button,.photo-caption strong{font-size:18px}
.program-row p,.program-legal,.staff-card .role,.footer-top p,.news-empty p+p{font-size:18px;line-height:1.6}
.staff-card h2{font-size:27px;font-weight:700}.program-row h3{font-size:26px}.staff-card{grid-template-columns:165px minmax(0,1fr)}.staff-card img{width:165px}
.reading-block h2{font-size:32px}.reading-block p,.program-full p,.program-full li,dd,.steps li,.faq summary{font-size:20px;line-height:1.65}
#dialog-content section p{font-size:20px;line-height:1.7}#dialog-content h3{font-size:23px}#dialog-title{font-size:32px}
.footer-top h2{font-size:22px}.footer-bottom{flex-wrap:wrap}.header nav a{white-space:nowrap}
.header nav,.program-nav{font-weight:500}footer{background:#F3EFEC}.footer-bottom{border-color:var(--line)}
.director-message{border-top:1px solid var(--line);padding:64px 0}.director-layout{display:grid;grid-template-columns:1fr 1.65fr;gap:64px;align-items:start}.director-message h2{font-size:38px;line-height:1.2}.director-letter{border-left:3px solid var(--red);padding-left:32px}.director-letter p{font-size:20px;line-height:1.65;margin-bottom:20px}.director-letter .director-greeting{font-weight:600;color:var(--ink)}.director-letter .director-signature{margin:28px 0 0;color:var(--ink)}.director-signature strong{display:block;font-weight:600}.director-signature span{display:block;font-size:16px;color:var(--muted);margin-top:4px}
@media(max-width:700px){.director-message{padding:36px 0}.director-layout{grid-template-columns:1fr;gap:24px}.director-message h2{font-size:30px}.director-letter{padding-left:18px}.director-letter p{font-size:18px}.director-letter .director-signature span{font-size:16px}}
@media(min-width:1101px) and (max-width:1320px){.header-inner>nav,.header-inner>.button{display:none}.mobile-nav{display:block;margin-left:auto;position:relative}.mobile-nav summary{padding:10px 15px;border:1px solid var(--line);border-radius:6px;cursor:pointer}.mobile-nav nav{position:absolute;right:0;top:50px;background:white;width:280px;padding:20px;border:1px solid var(--line);border-radius:8px;z-index:5;display:flex;flex-direction:column;gap:18px}}
@media(max-width:700px){:root{font-size:18px}.hero h1{font-size:36px;line-height:1.2;overflow-wrap:anywhere}.page-intro h1{font-size:36px}.section-head h2,.team-summary h2,.start h2,.reading-block h2{font-size:30px}.lead,.reading-block p,.program-full p,.program-full li,dd,.steps li,.faq summary,#dialog-content section p{font-size:18px}.program-row h3{font-size:24px}.staff-card{grid-template-columns:110px minmax(0,1fr);gap:16px}.staff-card img{width:110px;height:170px}.staff-card h2{font-size:22px;overflow-wrap:anywhere}.staff-card .role,.staff-card button{font-size:17px}.mobile-nav summary{font-size:17px}.mobile-nav nav{width:275px}.brand small{font-size:14px}.header-inner .brand{font-size:23px}.hero-photo .photo-caption strong{font-size:18px}.footer-bottom{font-size:15px}.program-legal{font-size:16px}#dialog-title{font-size:27px}.dialog-bar{font-size:16px}}
