.online-page h1 {font-family:var(--serif);font-weight:500;font-size:clamp(36px,4.6vw,58px);line-height:1.13;color:var(--gold-text);margin:18px 0 26px;}
.online-page h1 em {font-weight:400;}
.online-page h3 {font-family:var(--serif);font-size:26px;line-height:1.3;font-weight:500;color:var(--gold-text);margin:0 0 16px;}
.online-page .section-kicker {margin:0 0 14px;}
.online-hero {padding:76px 0 64px;}
.online-intro {font-size:18px;line-height:1.8;max-width:72ch;color:var(--ivory-dim);margin:0;}
.online-hero-actions {display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px;}
.online-page .section-body-text {max-width:64ch;}
.online-small-label {font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-text);font-weight:500;margin:0 0 12px;}
.online-platforms {display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.online-platform {border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;}
.online-platform-image {height:250px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;}
.online-platform-image img {height:100%;width:100%;object-fit:contain;}
.online-meet-image img {padding:18px;}
.online-platform-body {padding:32px;display:flex;flex-direction:column;align-items:flex-start;flex:1;}
.online-platform-body>p:not(.online-small-label),.online-community-body>p:not(.online-small-label) {font-size:15px;line-height:1.75;color:var(--ivory-dim);margin:0 0 22px;}
.online-platform-body>.link-arrow {font-size:13px;}
.online-platform-body>.btn {margin-top:auto;}
.online-platform-body>.link-arrow {margin-bottom:26px;}
.online-credentials {display:flex;flex-wrap:wrap;gap:32px;background:var(--bg-2);padding:16px 20px;margin:0 0 24px;width:100%;}
.online-credentials span {display:block;font-size:12px;color:var(--ivory-dim);margin-bottom:4px;}
.online-credentials strong {font-size:18px;font-weight:500;letter-spacing:.04em;}
.online-zoom-guide {display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;border-top:1px solid var(--line);padding-top:40px;margin-top:48px;}
.online-zoom-guide h3 {font-size:26px;}
.online-zoom-guide ol {margin:0;padding-left:24px;color:var(--ivory-dim);font-size:15px;line-height:1.8;}
.online-zoom-guide li {padding-left:8px;margin-bottom:12px;}
.online-zoom-guide li::marker {color:var(--gold-text);}
.online-community-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.online-community {background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;}
.online-community-image {height:180px;background:#fff;border-bottom:1px solid var(--line);}
.online-community-image img {width:100%;height:100%;object-fit:contain;padding:20px;}
.online-community-body {padding:26px;display:flex;flex-direction:column;align-items:flex-start;flex:1;}
.online-community-body h3 {font-size:23px;}
.online-community-links {display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:auto;}
.online-community-links .link-arrow {font-size:13.5px;}
.online-contact-inner {display:flex;align-items:center;justify-content:space-between;gap:40px;}
.online-contact .section-title {font-size:clamp(26px,3vw,36px);max-width:none;}
.online-contact-links {display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex-shrink:0;}
.online-contact-links>a:first-child {font-family:var(--serif);font-size:25px;text-decoration:none;color:var(--gold-text);}
.online-page .link-arrow:hover {color:var(--gold-text);}
.online-skip {position:fixed;left:20px;top:-100px;z-index:100;background:var(--bg);padding:12px 20px;}
.online-skip:focus {top:12px;}
@media(max-width:1000px){
  .online-community-grid {grid-template-columns:repeat(2,1fr);}
}
@media(max-width:760px){
  .online-hero {padding:48px 0;}
  .online-intro {font-size:16px;}
  .online-platforms,.online-zoom-guide {grid-template-columns:1fr;gap:32px;}
  .online-platform-body {padding:24px;}
  .online-contact-inner {flex-direction:column;align-items:flex-start;gap:24px;}
}
@media(max-width:540px){
  .online-community-grid {grid-template-columns:1fr;}
  .online-hero-actions {gap:20px;}
}

/* Central programme: readable columns and touch-friendly participation links. */
.online-table-wrap {overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);}
.online-timetable {width:100%;border-collapse:collapse;text-align:left;font-size:15px;}
.online-timetable caption {text-align:left;padding:20px 24px;font-weight:500;color:var(--gold-text);background:var(--bg);}
.online-timetable th,.online-timetable td {padding:15px 24px;border-top:1px solid var(--line);vertical-align:middle;}
.online-timetable thead th {font-size:13px;color:var(--ivory-dim);font-weight:500;background:var(--bg);}
.online-timetable tbody th {font-weight:500;}
.online-timetable small {display:block;font-weight:400;color:var(--ivory-dim);margin-top:6px;line-height:1.5;}
.online-timetable td:nth-child(2) {white-space:nowrap;font-variant-numeric:tabular-nums;}
.online-join {display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--gold-text);text-decoration:none;white-space:nowrap;}
.online-join:hover {background:var(--bg);border-color:var(--gold-text);}
.online-page .online-local-title {margin-top:44px;}
.online-page .schedule-note {line-height:1.8;color:var(--ivory-dim);}
.online-page .schedule-note a {color:var(--gold-text);}
.online-timetable tr[id] {scroll-margin-top:100px;}
.online-timetable tr:target {background:var(--bg);outline:2px solid var(--gold-text);outline-offset:-2px;}
@media(max-width:600px){
  .online-timetable {font-size:13px;}
  .online-timetable th,.online-timetable td {padding:12px 8px;}
  .online-timetable caption {padding:16px 12px;}
  .online-join {padding:8px;}
}

/* Original daily meditation card, matching the courses page. */
.online-schedule .course-card h3 {font-size:21px;margin:0 0 12px;}
.online-schedule table.schedule td:first-child {width:22%;}
.online-schedule table.schedule td:nth-child(2) {width:30%;}
.online-schedule .course-card p.schedule-note {margin:16px 0 0;line-height:1.6;}
