/* Program descriptions: readable questions, restrained olive accents. */
.program-story{padding-top:56px;padding-bottom:80px;max-width:1100px}
.program-story h1{font:400 clamp(42px,6vw,76px)/1.16 var(--display,Georgia,serif);letter-spacing:-.035em;max-width:19ch;margin:0 0 34px;text-wrap:balance}
.program-story-intro{max-width:65ch}
.program-story-intro h2{font:400 clamp(25px,3vw,34px)/1.4 var(--display,Georgia,serif);letter-spacing:-.015em;margin:0 0 20px}
.program-story-intro p{font-size:17px;line-height:1.85;margin:0 0 18px}
.program-story-nav{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:30px}
.program-story-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-underline-offset:6px}
.program-section{padding-top:64px;scroll-margin-top:28px}
.program-section-heading{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:start;margin-bottom:32px}
.program-section-heading h2{font:400 clamp(30px,3.6vw,44px)/1.24 var(--display,Georgia,serif);letter-spacing:-.025em;margin:0;max-width:20ch}
.program-section-heading>p{font-size:16px;line-height:1.85;max-width:53ch;margin:0;color:var(--muted)}
.program-questions{border-top:1px solid var(--line)}
.program-question-row{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,2fr);column-gap:40px;padding:28px 0;border-bottom:1px solid var(--line)}
.program-question-row .topic-label{font-size:13px;line-height:1.7;color:var(--olive);margin:6px 0 0}
.program-question-row h3{font:400 clamp(23px,2.6vw,30px)/1.4 var(--display,Georgia,serif);letter-spacing:-.015em;margin:0 0 12px;max-width:38ch}
.program-question-row p{font-size:16px;line-height:1.85;max-width:63ch;margin:0}
.program-practice{background:#e9eddf;padding:38px 40px;border-radius:2px}
.program-practice h2{font:400 clamp(29px,3.4vw,42px)/1.25 var(--display,Georgia,serif);letter-spacing:-.02em;margin:0 0 26px}
.practice-list{list-style:none;padding:0;margin:0;counter-reset:practice}
.practice-list li{counter-increment:practice;display:grid;grid-template-columns:32px minmax(0,1fr);gap:18px;padding:20px 0;border-top:1px solid #c7cfba}
.practice-list li::before{content:counter(practice,decimal-leading-zero);font-size:12px;line-height:2.2;color:var(--olive)}
.practice-list h3{font:400 23px/1.4 var(--display,Georgia,serif);letter-spacing:0;margin:0 0 10px}
.practice-list p{font-size:16px;line-height:1.85;margin:0;max-width:68ch}
.participation-note{font-size:14px;line-height:1.85;border-top:1px solid #c7cfba;padding-top:22px;margin-top:12px;max-width:75ch}
.program-enrolment{display:grid;grid-template-columns:1fr auto;gap:28px 48px;align-items:center;padding-top:42px;border-top:1px solid var(--line);margin-top:64px}
.program-enrolment h2{font:400 30px/1.35 var(--display,Georgia,serif);letter-spacing:-.015em;margin:0 0 15px}
.program-enrolment p{font-size:16px;line-height:1.85;margin:0;max-width:62ch}
.program-enrolment .button{white-space:nowrap}
.meetings-section .meeting-intro{font-size:16px;line-height:1.85;max-width:65ch;margin:0 0 36px;color:var(--muted)}
.meetings-section .meeting-agreement{font-size:14px;line-height:1.8;max-width:80ch;margin:32px 0 0;padding-top:24px;border-top:1px solid #c4cbb7;color:var(--muted)}
.group-themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-bottom:48px;padding-bottom:36px;border-bottom:1px solid var(--line)}
.group-themes h2{font:400 25px/1.4 var(--display,Georgia,serif);letter-spacing:-.01em;margin:0 0 12px}
.group-themes p{font-size:15px;line-height:1.85;margin:0;color:var(--muted);max-width:35ch}
@media(max-width:800px){.program-section-heading{grid-template-columns:1fr;gap:20px}.program-enrolment{grid-template-columns:1fr}.program-enrolment .button{justify-self:start}.program-question-row{column-gap:24px;grid-template-columns:120px minmax(0,1fr)}.group-themes{grid-template-columns:1fr;gap:26px}.group-themes p{max-width:60ch}}
@media(max-width:560px){.program-story{padding-top:36px;padding-bottom:56px}.program-story h1{font-size:clamp(36px,9vw,46px);margin-bottom:28px}.program-story-intro p,.program-question-row p,.practice-list p,.program-enrolment p{font-size:16px;line-height:1.8}.program-section{padding-top:46px}.program-question-row{grid-template-columns:1fr;gap:10px;padding-block:24px}.program-question-row .topic-label{margin:0}.program-question-row h3{font-size:25px}.program-practice{padding:26px 22px}.practice-list li{grid-template-columns:25px minmax(0,1fr);gap:12px}.practice-list h3{font-size:23px}.program-enrolment{margin-top:44px;padding-top:30px}.group-themes{margin-bottom:36px}}
