/* /cpd/ — Conferences as CPD. The college ring cards are the shared set in components.css; this file
   holds only what is unique to the page: the hero, the allied-body cards, the four-step flow and the
   filing table. */
/* ⚠️ The hero is a <header class="block">, and `section.block` is ELEMENT-QUALIFIED in
   components.css — so it inherits NO block padding and had none at all at the foot. Padded here
   to the same figures as .ah-hero on /gp/, /practices/ and /allied-health/. */
.cpd-hero { padding:172px 0 var(--space-3xl); }
@media (max-width: 760px) { .cpd-hero { padding:140px 0 var(--space-2xl); } }
.cpd-hero h1 { color:#fff; max-width:18ch; margin:0 0 var(--space-m); }
/* Annual total under the body name, so the ring's "20 h" reads against its own year. */
.cpd-college-sub { display:block; font-size:var(--text-xs); color:var(--color-ink-muted); margin-top:2px; }
.cpd-hero-lede { color:rgba(255,255,255,.88); font-size:var(--text-lg); line-height:var(--line-relaxed); max-width:60ch; margin:0; }

/* Four steps in a row, a hairline running behind the numerals so it reads as a sequence. */
.cpd-flow { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--space-l);
  position:relative; }
.cpd-flow::before { content:""; position:absolute; left:calc(12.5% + 22px); right:calc(12.5% + 22px); top:22px; height:2px;
  background:var(--color-border-soft); }
.cpd-flow li { position:relative; }
.cpd-flow-n { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%;
  background:var(--grad-chip); color:#fff; font-weight:var(--weight-extrabold); font-size:var(--text-lg); position:relative; z-index:1;
  box-shadow:0 0 0 6px var(--color-bg, #f5f8fb); }
.cpd-flow h3 { margin:var(--space-s) 0 var(--space-2xs); font-size:var(--text-lg); }
.cpd-flow p { margin:0; color:var(--color-ink-soft); font-size:var(--text-sm); line-height:var(--line-relaxed); }
.cpd-flow em { font-style:normal; font-weight:var(--weight-semibold); color:var(--color-secondary); }

.cpd-scope { margin:var(--space-xl) auto 0; max-width:70ch; background:var(--brand-25); border-radius:var(--radius-xl); padding:var(--space-m) var(--space-l); }
.cpd-scope p { margin:0; color:var(--color-ink-soft); line-height:var(--line-relaxed); }
.cpd-scope strong { color:var(--color-secondary); }
.cpd-disclaimer { margin-top:var(--space-s) !important; font-size:var(--text-xs); color:var(--color-ink-muted); }

.cpd-table-wrap { margin-top:var(--space-xl); overflow-x:auto; }
.cpd-table { width:100%; border-collapse:collapse; font-size:var(--text-sm); }
.cpd-table caption { text-align:left; font-weight:var(--weight-semibold); color:var(--color-secondary); padding:0 0 var(--space-xs); }
.cpd-table th, .cpd-table td { text-align:left; padding:var(--space-xs) var(--space-s); border-bottom:1px solid var(--color-border-soft); vertical-align:top; }
.cpd-table thead th { font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.06em; color:var(--color-ink-muted); font-weight:var(--weight-semibold); }
.cpd-table tbody th { font-weight:var(--weight-semibold); color:var(--color-ink); white-space:nowrap; }
.cpd-table td { color:var(--color-ink-soft); }

@media (max-width:900px) { .cpd-flow { grid-template-columns:repeat(2, minmax(0,1fr)); } .cpd-flow::before { display:none; } }
@media (max-width:520px) { .cpd-flow { grid-template-columns:1fr; } .cpd-table tbody th { white-space:normal; } }
