/* Welcome section: the reference's rounded white cards, orange pattern and blue line icons. */
#about.about-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:32px;align-items:stretch;padding-top:35px;padding-bottom:90px}
.about-welcome-card{background:#fea633 url('../images/theme-pattern.png') center/auto 680px;border-radius:26px;padding:42px 36px 32px;box-shadow:0 12px 28px #00000017;display:flex;flex-direction:column;position:relative;overflow:hidden}
.about-welcome-card .eyebrow{color:#333;font-size:13px;font-weight:700;letter-spacing:.07em;margin-bottom:20px}
#about .about-welcome-card h2{font-size:46px;line-height:1.17;color:#fff;margin-bottom:25px;text-wrap:balance}
.about-values{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.about-values span{border:1px solid #ffffffb3;background:#ffffffd9;border-radius:20px;padding:5px 13px;color:#333;font-size:14px;font-weight:600}
#about .about-stats{display:grid;grid-template-columns:1fr 1.12fr;gap:14px;margin-top:auto}
.about-stats>div{background:#fff;border-radius:18px;padding:18px 16px;box-shadow:0 6px 16px #0000000d;min-width:0}
#about .about-stats strong{font-size:36px;line-height:1.1;color:#007eff;display:block;margin-bottom:7px}
#about .about-stats span{font-size:14px;color:#595959;display:block;line-height:1.5}
.about-story-cards{display:grid;gap:24px}
.about-story-card{display:grid;grid-template-columns:64px 1fr;gap:22px;align-items:start;padding:30px;border-radius:22px;background:#fff;box-shadow:0 12px 28px #00000017;border:1px solid #f0f4f8}
.about-card-icon{display:grid;place-items:center;width:64px;height:64px;color:#007eff;border:1.5px solid #007eff;border-radius:50%;background:#fff}
.about-story-card:nth-child(2) .about-card-icon{color:#b56a00;border-color:#fea633;background:#fff8ed}
#about .about-story-card h3{font-size:30px;line-height:1.2;margin:0 0 13px;color:var(--heading)}
.about-story-card p{font-size:16px;line-height:1.8;color:#595959;margin:0}
.school-resources{grid-column:1/-1;padding:30px;border:1px solid #dceaff;border-radius:22px;background:#f5f9ff;box-shadow:0 12px 28px #0000000d}
.school-resources h3{font-size:30px;line-height:1.2;color:var(--heading);margin-bottom:13px}
.school-resources>p{font-size:15px;line-height:1.8;color:#595959}
.resource-list{list-style:none;margin:20px 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.resource-list li{padding:15px;background:#fff;border:1px solid #e2ecfa;border-radius:14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.resource-title{font-weight:600;font-size:15px;color:#333}
.resource-status{font-size:13px;color:#666}
.resource-list a,.resource-enquiry{color:var(--heading);font-size:14px;font-weight:600}
.resource-list a:hover,.resource-enquiry:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:850px){.resource-list{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.school-resources{padding:26px}.school-resources h3{font-size:30px}.resource-list{gap:10px}.resource-list li{padding:13px}.resource-title{font-size:14px}}
@media(max-width:1000px){#about.about-grid{gap:24px;grid-template-columns:1fr 1.1fr}.about-welcome-card{padding:32px 25px}.about-story-card{grid-template-columns:1fr;padding:26px;gap:16px}#about .about-welcome-card h2{font-size:40px}#about .about-stats{grid-template-columns:1fr;gap:12px}.about-stats>div{padding:16px 20px}}
@media(max-width:620px){#about.about-grid{grid-template-columns:1fr;gap:24px;padding-top:20px;padding-bottom:55px}.about-welcome-card{padding:30px 25px;border-radius:22px}#about .about-welcome-card h2{font-size:39px}#about .about-stats{grid-template-columns:1fr 1.15fr;gap:12px}.about-stats>div{padding:16px 12px}#about .about-stats strong{font-size:32px}.about-values{gap:8px;margin-bottom:27px}.about-values span{font-size:14px;padding:5px 10px}.about-story-card{padding:26px;gap:17px}.about-story-cards{gap:22px}#about .about-story-card h3{font-size:30px}.about-card-icon{width:60px;height:60px}}

/* Published 2027 Saturday timetable and school calendar. */
.school-schedule,.school-calendar{margin:30px 0;scroll-margin-top:110px}
.school-schedule h4,.school-calendar h4{font-size:25px;line-height:1.3;color:var(--heading);margin:0}
.schedule-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.schedule-day{padding:6px 14px;border-radius:20px;background:#fff0d9;color:#805000;font-size:13px;font-weight:600}
.timetable-sessions{display:grid;gap:12px}
.class-session{display:grid;grid-template-columns:180px 1fr;background:#fff;border:1px solid #e2ecfa;border-radius:16px;overflow:hidden}
.session-time{padding:21px 20px;background:#eaf3ff}
.session-period{display:block;font-size:13px;color:#475b73;margin-bottom:7px}
.class-session h5{font-family:inherit;font-size:19px;line-height:1.4;color:#235a92;white-space:nowrap;margin:0}
.session-courses{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;margin:0;padding:21px 24px;align-content:center}
.session-courses li{position:relative;padding-left:15px;font-size:15px;line-height:1.7;color:#333}
.session-courses li:before{content:'';position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:#fea633}
.schedule-note,.calendar-intro{font-size:14px;line-height:1.8;color:#595959;margin:13px 0 0}
.school-calendar{padding-top:26px;border-top:1px solid #dceaff}
.school-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;list-style:none;margin:18px 0 0;padding:0}
.school-term{padding:22px;background:#fff;border:1px solid #e2ecfa;border-radius:16px;min-width:0}
.term-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px}
.school-term h5{font-family:inherit;font-size:17px;line-height:1.4;color:#235a92;margin:0}
.term-weeks{font-size:12px;color:#475b73;background:#edf4ff;border-radius:12px;padding:4px 10px;white-space:nowrap}
.term-dates{font-size:17px;font-weight:600;line-height:1.6;color:#333;margin:0}
.term-closure{font-size:13px;line-height:1.6;color:#805000;margin:11px 0 0;padding:9px 12px;background:#fff5e5;border-radius:9px}
@media(max-width:850px){.session-courses{grid-template-columns:1fr}}
@media(max-width:620px){.school-resources{padding:24px 18px}.schedule-heading{align-items:flex-start}.school-schedule h4,.school-calendar h4{font-size:24px}.class-session{grid-template-columns:1fr}.session-time{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.session-period{margin:0}.class-session h5{font-size:18px}.session-courses{padding:17px 18px;gap:9px}.school-terms{grid-template-columns:1fr}.school-term{padding:20px}.term-dates{font-size:17px}}
