/* One typography system for school profiles and the editorial preview. */
@font-face{font-family:SchoolRoboto;src:url('/roboto-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:SchoolRoboto;src:url('/roboto-medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:SchoolRoboto;src:url('/roboto-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--school-font:SchoolRoboto,Roboto,'Helvetica Neue',Arial,sans-serif;--school-copy-size:16px;--school-section-size:28px;--school-subsection-size:21px;--school-ink:#203e53;--school-quiet:#647b8b;--school-line:#e3ebf0}
main:has(.school-profile){font-family:var(--school-font);font-size:var(--school-copy-size);color:var(--school-ink)}
.school-profile{font-family:var(--school-font)}
.school-profile .sp-heading h1{font-family:var(--school-font);font-size:clamp(32px,3vw,42px);font-weight:500;line-height:1.16;letter-spacing:-1.15px;color:#19394f;text-wrap:balance}
.school-profile .sp-meta{font-size:14px;line-height:1.6}.school-profile .sp-facts{font-size:15px;line-height:1.65}.school-profile .sp-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.5px}
main:has(.school-profile) .panel{border:1px solid #dfe8ee;border-radius:22px;background:#fff;box-shadow:0 8px 30px #18364e03;padding:36px 38px}
main:has(.school-profile) .panel>h2,main:has(.school-profile) .school-facts>h2{font-family:var(--school-font);font-size:var(--school-section-size);font-weight:700;line-height:1.25;letter-spacing:-.65px;color:#1e425a;margin:0 0 26px;text-wrap:balance}
.school-rich{font-family:var(--school-font)!important;font-size:var(--school-copy-size);font-weight:400;line-height:1.8;letter-spacing:0;color:var(--school-ink);overflow-wrap:anywhere;max-width:76ch}
.school-rich :is(p,li,blockquote,a,strong,b,em,i){font-family:inherit!important;font-size:inherit!important;line-height:inherit;letter-spacing:inherit}
.school-rich p{margin:0 0 18px;color:inherit;white-space:normal}
.school-rich :is(h3,h4){font-family:var(--school-font)!important;font-weight:700;line-height:1.4;letter-spacing:-.25px;color:#244e68;text-wrap:balance}
.school-rich h3{font-size:var(--school-subsection-size)!important;margin:32px 0 12px}
.school-rich h4{font-size:18px!important;margin:26px 0 10px}
.school-rich>:first-child{margin-top:0}.school-rich>:last-child{margin-bottom:0}
.school-rich :is(b,strong){font-weight:700}.school-rich :is(em,i){font-style:italic}
.school-rich :is(ul,ol){margin:16px 0 22px;padding-left:24px}.school-rich li{padding-left:4px;margin:8px 0}.school-rich li::marker{color:#3d86ab}
.school-rich blockquote{margin:24px 0;padding:16px 22px;border-left:3px solid #72a7c1;background:#f3f8fb;border-radius:0 12px 12px 0;color:#45657a}
.school-rich a{color:#247aa5;text-decoration:underline;text-decoration-color:#99c6dc;text-underline-offset:4px}.school-rich a:hover{text-decoration-color:currentColor}
.school-facts{margin-top:38px;padding-top:30px;border-top:1px solid var(--school-line)}
main:has(.school-profile) .school-facts>h2{margin-bottom:20px}
.school-facts dl{display:grid;grid-template-columns:minmax(150px,32%) minmax(0,1fr);gap:0;margin:0;font-size:15px;line-height:1.6;background:#f7fafc;border:1px solid #e6edf2;border-radius:15px;overflow:hidden}
.school-facts :is(dt,dd){padding:12px 20px;margin:0;border-bottom:1px solid #e6edf2;min-width:0;overflow-wrap:anywhere}
.school-facts dt{font-size:14px;color:#647c8c;font-weight:400}.school-facts dd{font-weight:500;color:#28475c}
.school-facts dt:last-of-type,.school-facts dd:last-of-type{border-bottom:0}.school-facts dd.is-empty{color:#8a9ba7;font-weight:400;font-size:14px}
.school-facts .source-info{display:inline-flex;vertical-align:middle}.school-facts .source-info button{width:25px;height:25px;min-height:25px;padding:0;line-height:1;border-color:#c9dce8;background:white}
main:has(.school-profile) .school-location-section>h3{font-family:var(--school-font);font-size:20px;font-weight:500;line-height:1.45;letter-spacing:-.2px;color:#2b6f97;margin:0 0 14px}
main:has(.school-profile) .school-location-address{font-size:16px;line-height:1.7;color:var(--school-quiet);margin-bottom:22px}
main:has(.school-profile) .school-location-contacts>a{font-family:var(--school-font);font-size:15px;line-height:1.5}
main:has(.school-profile) .editorial-gallery{margin-top:20px}.editorial-gallery img{border:1px solid #e3ebf0}
main:has(.school-profile) .seo-directory p{font-size:16px;line-height:1.75}
/* The same scale applies while typing and in the preview; pasted fonts are removed. */
.rich-editor.school-rich{max-width:none;padding:24px;min-height:320px}.preview-copy.school-rich{max-width:76ch}.editor-card .toolbar{border-color:#dbe6ec;background:#f4f8fa}.editor-card .hint{line-height:1.6}
@media(max-width:750px){main:has(.school-profile) .panel{padding:26px}.school-profile .sp-heading h1{font-size:32px;letter-spacing:-.7px}.school-facts :is(dt,dd){padding:11px 15px}}
@media(max-width:600px){:root{--school-copy-size:16px;--school-section-size:25px;--school-subsection-size:20px}main:has(.school-profile) .panel{padding:24px 20px;border-radius:18px}main:has(.school-profile) .panel>h2{margin-bottom:22px}.school-rich{line-height:1.75}.school-rich h3{margin-top:28px}.school-facts{margin-top:30px;padding-top:26px}.school-facts dl{grid-template-columns:minmax(110px,43%) minmax(0,1fr);font-size:14px}.school-facts :is(dt,dd){padding:11px 12px}.school-facts dt,.school-facts dd.is-empty{font-size:13px}.school-profile .sp-heading h1{font-size:30px;line-height:1.2}.school-rich h4{font-size:18px!important}.rich-editor.school-rich{padding:18px}main:has(.school-profile) .school-location-contacts>a{font-size:14px}}

main:has(.school-profile) .school-about>.school-location-section,main:has(.school-profile) .school-about>section.editorial-content{margin:36px 0 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
