/* Clinic and program pages. Same tokens as site.css; centered, big type, symmetric. */
.announce{display:block;background:var(--red);color:#fff;text-align:center;text-decoration:none;font-weight:600;font-size:.95rem;padding:10px 16px}
.announce:hover{background:#9B0B24}
.clinic-hero{padding-block:56px 8px;text-align:center}
.clinic-hero h1{font-size:clamp(2.3rem,5vw,3.8rem);font-weight:700;max-width:18ch;margin:14px auto 0}
.clinic-hero .sub{font-size:clamp(1.1rem,1.8vw,1.3rem);color:var(--muted);max-width:44ch;margin:18px auto 0}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:980px;margin:36px auto 0}
.fact{background:var(--soft);border:1px solid #C9D8EA;border-top:5px solid var(--red);border-radius:var(--radius);padding:20px 16px 22px;text-align:center;box-shadow:0 14px 30px -24px rgba(7,20,31,.45)}
.fact b{color:var(--navy)}
.fact b{display:block;font-size:1.2rem;line-height:1.25}
.fact span{display:block;margin-top:6px;color:var(--muted);font-size:.95rem}
.reg{display:grid;justify-items:center;gap:10px;margin:32px auto 0;text-align:center}
.reg .btn{font-size:1.1rem;padding:16px 30px}
.reg .fine{color:var(--muted);font-size:.9rem;max-width:46ch}
.how{background:linear-gradient(180deg,var(--panel),var(--panel-2));color:var(--on-dark)}
.how .section-head .eyebrow{color:#8FB8E6}
.how .section-head p{color:var(--on-dark-muted)}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px;margin:0 auto}
.how-grid .point b{font-size:1.15rem}
.coaches{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:980px;margin:0 auto}
.coach{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:30px 26px;text-align:center;display:grid;justify-items:center;gap:12px}
.coach .portrait{width:170px}
.coach .initials{font-size:2.6rem;font-weight:700;color:var(--navy);letter-spacing:.04em}
.coach h3{font-size:1.5rem}
.coach .role{color:var(--blue);font-weight:600;font-size:.95rem}
.coach p{color:#2A3A45;font-size:1.02rem;max-width:42ch}
.faq{max-width:820px;margin:0 auto;display:grid;gap:14px}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px}
.faq summary{font-weight:700;font-size:1.08rem;cursor:pointer}
.faq details p{margin-top:10px;color:#2A3A45;font-size:1.02rem}
.closing{text-align:center;display:grid;gap:14px;justify-items:center}
.closing h2{font-size:clamp(1.8rem,3.4vw,2.5rem)}
.closing p{color:var(--muted);max-width:50ch}
.steps{display:grid;gap:16px;margin-top:28px}
.steps .card{text-align:left}
.steps .card h2{margin-top:0}
.checklist{padding-left:1.2em;margin:12px 0 0}
.terms h2{text-align:left}
.terms p,.terms li{text-align:left}
.terms .updated{text-align:center;color:var(--muted);font-size:.95rem;margin-top:8px}
@media (max-width:900px){.facts{grid-template-columns:repeat(2,1fr)}.how-grid{grid-template-columns:1fr}.coaches{grid-template-columns:1fr}}
@media (max-width:560px){.clinic-hero{padding-block:32px 0}.facts{gap:10px}.fact{padding:16px 10px}.fact b{font-size:1.05rem}}
.how .closing p{color:var(--on-dark-muted)}
.how .closing .eyebrow{color:#8FB8E6}
