.school-page { --school-section-space: clamp(3rem, 6vw, 5rem); }
.school-page :is(section, article, details, div[id]) { scroll-margin-top: var(--space-6); }
.school-page h2 { font-size: clamp(1.875rem, 3vw, 2.75rem); }
.school-page h3 { color: var(--brand-primary); font-size: 1.25rem; }
.school-page h4 { font-size: 1rem; color: var(--brand-primary); }
.school-page p, .school-page li { color: var(--text-muted); }
.school-page ul { padding-inline-start: var(--space-6); }
.school-page li { margin-bottom: var(--space-3); }
.school-hero { display: grid; grid-template-columns: 1.5fr 1fr; gap: var(--space-12); align-items: center; padding-block: var(--school-section-space); }
.school-hero h1 { font-size: clamp(2.5rem, 4vw, 3.75rem); }
.school-hero .form-actions { align-items: center; }
.school-suite { padding: var(--space-8); border: 1px solid var(--border); border-radius: var(--radius); }
.school-suite h2 { font-size: 1.875rem; }
.school-suite ul { list-style: none; padding: 0; margin: var(--space-6) 0 0; }
.school-suite li { display: flex; flex-direction: column; gap: var(--space-2); border-top: 1px solid var(--border); padding-top: var(--space-4); margin-bottom: var(--space-4); font-size: .9375rem; }
.school-suite li:last-child { margin-bottom: 0; }
.school-suite strong { color: var(--brand-primary); font-size: .75rem; letter-spacing: .1em; }
.school-modules { padding-block: var(--school-section-space); background: var(--surface); }
.school-module-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-8); }
.school-module-grid article { display: flex; flex-direction: column; align-items: start; padding: var(--space-6); background: var(--canvas); border: 1px solid var(--border); border-radius: var(--radius); }
.school-module-grid article > a { margin-top: auto; }
.school-module-grid .commercial-eyebrow { margin-bottom: var(--space-4); color: var(--brand-primary); }
.school-addon { font-size: .8125rem; border: 1px solid var(--border); padding: var(--space-1) var(--space-2); border-radius: var(--radius); }
.school-workflows, .school-benefits { padding-block: var(--school-section-space); }
.school-workflow { border-block-start: 1px solid var(--border); }
.school-workflow:last-child { border-block-end: 1px solid var(--border); }
.school-workflow > summary { padding: var(--space-6) var(--space-2); cursor: pointer; color: var(--brand-primary); }
.school-workflow > summary::marker { color: var(--brand-primary); }
.school-workflow > summary span { display: inline-block; min-width: 17rem; font-size: .8125rem; margin-inline: var(--space-3) var(--space-6); }
.school-workflow > summary strong { font-size: 1rem; font-weight: 500; }
.school-workflow[open] > summary { background: var(--surface); }
.school-example { display: grid; grid-template-columns: 1fr 1.1fr; gap: var(--space-8); padding-block: var(--space-8); align-items: start; }
.school-example p { margin-bottom: var(--space-4); }
.school-example figure { margin: 0; }
.school-example img { display: block; width: 100%; height: auto; border: 1px solid var(--border); border-radius: var(--radius); }
.school-example figcaption { margin-top: var(--space-3); color: var(--text-muted); font-size: .8125rem; }
.school-guest-booking { padding-block: var(--space-8); }
.school-guest-booking > p { max-width: 50rem; }
.school-guest-steps, .school-money-example { padding: var(--space-6); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); }
.school-guest-steps ol { padding-inline-start: var(--space-6); }
.school-guest-steps strong { color: var(--brand-primary); }
.school-guest-steps > p:last-child { font-size: .8125rem; }
.school-money-example table { width: 100%; table-layout: fixed; border-collapse: collapse; font-size: .8125rem; }
.school-money-example th, .school-money-example td { padding: var(--space-3) var(--space-1); border-bottom: 1px solid var(--border); text-align: start; overflow-wrap: anywhere; }
.school-money-example th { font-weight: 500; }
.school-money-example > p { font-size: .875rem; margin-top: var(--space-4); }
.school-benefits { padding-top: 0; }
.school-benefit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8) var(--space-12); margin-top: var(--space-8); }
.school-benefit-grid p { margin-bottom: 0; }
.school-pricing { background: var(--surface); padding-block: var(--school-section-space); margin-bottom: var(--school-section-space); }
.school-pricing-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: var(--space-12); }
.school-pricing-included { font-size: 1.125rem; }
.school-pricing-notes { color: var(--text-muted); font-size: .9375rem; line-height: 1.8; margin-bottom: var(--space-8); }
.school-price-table { width: 100%; border-collapse: collapse; background: var(--canvas); }
.school-price-table caption { text-align: start; padding-bottom: var(--space-4); font-weight: 600; color: var(--brand-primary); }
.school-price-table th, .school-price-table td { padding: var(--space-4) var(--space-6); border-bottom: 1px solid var(--border); text-align: start; }
.school-price-table thead th { color: white; background: var(--brand-primary); font-weight: 500; }
.school-price-table tbody th { font-weight: 400; }
.school-price-table td { color: var(--brand-primary); font-weight: 600; }
.school-page .commercial-closing h2 { margin-bottom: 0; }
@media (max-width: 900px) {
  .school-hero { grid-template-columns: 1fr; }
  .school-suite ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
  .school-module-grid { grid-template-columns: 1fr; }
  .school-example, .school-pricing-grid { grid-template-columns: 1fr; }
  .school-workflow > summary span { display: block; margin: 0 0 var(--space-2); min-width: 0; }
  .school-workflow > summary strong { display: inline; }
}
@media (max-width: 575px) {
  .school-suite { padding: var(--space-6); }
  .school-suite ul, .school-benefit-grid { grid-template-columns: 1fr; }
  .school-suite li { flex-direction: row; justify-content: space-between; gap: var(--space-4); align-items: baseline; }
  .school-suite li span { text-align: end; }
  .school-price-table th, .school-price-table td { padding: var(--space-4); }
}
