/* Shared UI typography. Top navigation is the visual reference. */
@font-face{font-family:SiteUISans;src:url('assets/fonts/detail-typography/TopSchoolSans-Full.woff') format('woff');font-style:normal;font-weight:100 900;font-display:swap}
:root body .site-header .top-nav{font-family:SchoolSans,SiteUISans,sans-serif;font-size:calc(min(100vw,1440px) * 5.7 / 682);font-weight:650;letter-spacing:calc(min(100vw,1440px) * .3 / 682);line-height:normal;font-feature-settings:normal;font-synthesis:none;-webkit-font-smoothing:auto;align-items:center}
:root body .site-header .top-nav>:is(a,button){font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-feature-settings:inherit;font-synthesis:none}
:root body .site-header #mobile-menu{font-family:SchoolSans,SiteUISans,sans-serif;font-size:16px;font-weight:650;letter-spacing:.03em;line-height:normal;font-synthesis:none;-webkit-font-smoothing:auto}
:root body .site-header #mobile-menu>:is(a,button){font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-synthesis:none}
:root body :is(a.button,button.button,.return,.dialog-return){font-family:SiteUISans,sans-serif;font-weight:500;font-synthesis:none}
/* Preserve every figure/mask dimension; change only the image crop. */
:root body .page #preschool>[data-photo="preschool-small"]>img{left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:35% 50%}
/* The new sentence needs 0.54% less type width on desktop; no layout rewrite. */
@media(min-width:761px){:root body #thinking-title.thinking-revised-heading{font-size:calc(55.7 * var(--u))}}

/* Match the existing detail rule's ID specificity without changing layout. */
:root body .site-header :is(.top-nav,#mobile-menu){font-family:SchoolSans,SiteUISans,sans-serif}
:root body .page :is(#preschool,#english) a.button{font-family:SiteUISans,sans-serif;font-weight:500;font-synthesis:none}
/* Preserve the original CTA capsule widths after changing the text face. */
:root body .final-inquiry{width:100%;min-width:min(100%,calc(427 * var(--u)))}
@media(min-width:761px){
 :root body .trial-action>.school-button{width:calc(488.875 * var(--u));max-width:none}
}

/* Final audit: defeat page-local button font rules; preserve all dimensions. */
:root body :is(.corporate-page,.content-page) :is(a.button,button.button,.dialog-return,.return){font-family:SiteUISans,sans-serif;font-weight:500;font-synthesis:none}
:root body .online-page :is(h1,h2,h3){font-family:SiteUISans,sans-serif;font-weight:650;font-synthesis:none}
:root body #lw-dialog-online h2{font-family:SiteUISans,sans-serif;font-weight:650;font-synthesis:none}
/* Plain HTML titles follow the common Gothic heading rule. Canva masks,
   reference artwork, body copy, and handwritten English stay untouched. */
:root body .content-page :is(h1,h2,h3),
:root body .english-page #thinking-title.thinking-revised-heading,
:root body .english-page #lesson-video h2,
:root body .admission-definition h3,
:root body .lw-contact-dialog h2{font-family:SiteUISans,sans-serif;font-weight:650;font-synthesis:none}
:root body :is(.lw-contact-method,.lw-dialog-access){font-family:SiteUISans,sans-serif;font-weight:500;font-synthesis:none}
