/* Shared, slightly tighter spacing for section pages. */
main > section.content,main > section.parents-page{padding-top:48px;padding-bottom:56px}
main h1{font-size:clamp(28px,3.6vw,42px);line-height:1.28;margin-top:0;margin-bottom:12px}
main .sectionhead{margin-bottom:26px}
main .sectionhead h2,main > section > .wrap > h2{font-size:clamp(28px,2.8vw,39px);margin-top:0;margin-bottom:14px}
.course-program{font-size:17px;line-height:1.7}
.course-program h1{font-size:clamp(30px,3.6vw,42px);margin:0 0 12px}
.course-program .program-tagline{font-size:clamp(19px,2.3vw,24px);line-height:1.4;margin:0 0 20px}
.course-program p{margin-top:0;margin-bottom:16px}
.course-program h2{font-size:23px;margin:24px 0 12px}
.course-program li{margin:9px 0}
.parents-intro{font-size:20px;margin-bottom:26px}
@media(max-width:650px){main > section.content,main > section.parents-page{padding-top:32px;padding-bottom:40px}.course-program{font-size:16px}.course-program .program-tagline{font-size:19px}}

.club-roster h2 { scroll-margin-top: 7rem; }
.club-roster table { width: 100%; border-collapse: collapse; font-size: 1rem; }
.club-roster th, .club-roster td { text-align: left; padding: .5em .35em; border-bottom: 1px solid #ded5c7; }
.club-roster thead { background: #f5f0e7; }
.club-roster td:last-child { white-space: nowrap; }

.knowledge-layout {
  display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr);
  align-items:start; gap:clamp(24px,4vw,60px); padding-top:22px;
  border-top:1px solid #dcd1c2;
}
.knowledge-preview { min-width:0; }
.knowledge-preview > a { display:block; background:#f1ebdf; }
.knowledge-preview img { display:block; width:100%; object-fit:contain; }
.knowledge-layout > .knowledge-preview img { height:clamp(240px,26vw,385px); }
.knowledge-preview h2 { font:500 clamp(24px,2.4vw,36px)/1.28 'TNV Serif',Georgia,serif; margin:16px 0 8px; }
.knowledge-preview h2 a:hover,.knowledge-read:hover { text-decoration:underline; }
.knowledge-preview p { margin:10px 0 14px; line-height:1.6; }
.knowledge-read { color:#801f37; font-weight:650; }
.knowledge-list { display:grid; gap:18px; }
.knowledge-list .knowledge-preview { display:grid; grid-template-columns:clamp(84px,9vw,138px) 1fr; align-items:start; gap:16px; padding-bottom:18px; border-bottom:1px solid #dcd1c2; }
.knowledge-list img { aspect-ratio:1; }
.knowledge-list h2 { margin:0; font-size:clamp(18px,1.6vw,25px); }
@media(max-width:700px) {
  .knowledge-layout { grid-template-columns:1fr; gap:24px; }
  .knowledge-list .knowledge-preview { grid-template-columns:84px 1fr; gap:12px; }
}
