/* School article: Sora headings match the main site; Work Sans remains the reading face. */
@font-face{font-family:'Sora School';src:url('../../assets/blog/2027/fonts/sora-variable.ttf') format('truetype');font-style:normal;font-weight:100 800;font-display:swap}
.story-page--school{line-height:1.65;letter-spacing:0}
.story-page--school :is(h1,h2,h3,h4,strong,.button,.category-links,.price-list,.site-header,.building-caption,.edition,.teacher-note,.xbox-copy,.teaser-footer p,.contact-details,.chapter-label,.program-source,.plan-day dt,.related-link,.offer-validity ul,.breakfast-price){font-family:'Sora School',sans-serif}
.story-page--school :is(h1,h2,h3){font-weight:600;letter-spacing:-.02em;line-height:1.3}
.story-page--school .story-hero--owner-cover .hero-heading h1{font-size:clamp(26px,6.8vw,30px);line-height:1.3}
.story-page--school :is(strong,.button,.price-list dt,.price-list strong,.breakfast-options h4,.breakfast-price,.teacher-note,.contact-details,.related-link,.offer-validity ul){font-weight:600}
.story-page--school .site-header{font-weight:500}
.story-page--school .price-list strong{font-size:32px;letter-spacing:-.02em}
.story-page--school .breakfast-options .breakfast-description{line-height:1.65}
.story-page--school .offer-validity{padding:20px 18px;border-radius:6px}
.story-page--school .offer-validity h3{font-size:18px;line-height:1.4}
.story-page--school .offer-validity ul{font-size:16px;line-height:1.55;letter-spacing:0;margin-bottom:0}

/* A steadier type scale; reading text retains its existing size. */
.story-page--school h2{font-size:26px}
.story-page--school h3:not(.building-labels){font-size:21px}
.story-page--school :is(.breakfast h3,.meal-options h3){font-size:22px}
.story-page--school .offer-validity h3{font-size:18px}
.story-page--school .breakfast-options h4{font-size:16px}
.story-page--school .breakfast-options .breakfast-price{font-size:18px}
.story-page--school .story-footer h2{font-size:20px}
@media(min-width:1000px){
 .story-page--school .story-hero--owner-cover .hero-heading h1{font-size:clamp(36px,3.1vw,48px)}
 .story-page--school h2{font-size:32px}
 .story-page--school h3:not(.building-labels){font-size:23px}
 .story-page--school :is(.breakfast h3,.meal-options h3){font-size:25px}
 .story-page--school .offer-validity h3{font-size:18px}
 .story-page--school .price-list strong{font-size:42px}
 .story-page--school .breakfast-options h4{font-size:18px}
 .story-page--school .breakfast-options .breakfast-price{font-size:21px}
 .story-page--school .story-footer h2{font-size:20px}
}

/* Keep related details together and give new sections a clearer pause. */
.story-page--school h2{margin-bottom:20px}
.story-page--school p+p{margin-top:16px}
.story-page--school .section{padding-top:48px}
.story-page--school .price-list{margin-top:16px}
.story-page--school .price-list>div{min-height:88px;padding-block:12px}
.story-page--school .offer-validity{margin-top:24px;padding:24px 20px}
.story-page--school .offer-validity ul{margin-top:16px;gap:12px}
.story-page--school :is(.breakfast,.meal-options){margin-top:40px}
.story-page--school :is(.breakfast h3,.meal-options h3){margin-bottom:16px}
.story-page--school .breakfast-options{gap:32px}
.story-page--school .breakfast-options .breakfast-description{margin-top:12px}
.story-page--school .meal-note{margin-bottom:32px}
.story-page--school .experience-heading{margin-bottom:20px}
.story-page--school .experience-heading h2{margin-bottom:0}
.story-page--school .experience-copy{margin-top:20px;margin-bottom:48px}
.story-page--school .returning-copy{padding-top:32px;padding-bottom:32px}
.story-page--school .returning-copy .button{margin-top:24px}
@media(min-width:1000px){
 .story-page--school h2{margin-bottom:24px}
 .story-page--school .section{padding-top:64px}
 .story-page--school .price-list{margin-top:24px}
 .story-page--school .price-list>div{min-height:0;padding-block:0}
 .story-page--school .price-list dt{margin-bottom:16px}
 .story-page--school .breakfast-options{gap:36px}
 .story-page--school .experience-heading h2{margin-bottom:0}
 .story-page--school .returning-copy{padding-top:40px;padding-bottom:40px}
}
