/* Pre-Med section only. Kept separate from site.css / course.css / lesson.css because those three are byte-compared to the approved Artifact. Uses the same colour and type tokens. */
.pm{padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(64px,9vw,112px)}
.pm-col{max-width:46rem}
.pm h1{font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.04;margin:10px 0 0}
.pm-back{display:inline-block;margin-bottom:28px;font-size:.9375rem;text-decoration:none}
.pm-lede{margin-top:20px;max-width:34rem;color:var(--slate);font-size:1.125rem}

/* hub */
.pm-group{margin-top:56px}
.pm-gh{font-size:clamp(1.375rem,2.4vw,1.75rem);line-height:1.2;margin:0 0 14px;color:var(--accd)}
.pm-toc{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pm-toc a{display:grid;grid-template-columns:3rem 1fr auto;align-items:baseline;gap:8px;padding:16px 2px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.pm-n{font:500 .8125rem/1.4 var(--sans);color:var(--slate);letter-spacing:.02em}
.pm-t{font:400 clamp(1.25rem,2.2vw,1.5rem)/1.2 var(--serif)}
.pm-toc a:hover .pm-t,.pm-toc a:focus-visible .pm-t{color:var(--accd)}

/* section pages */
.pm-prose{margin-top:32px;font-size:1.0625rem;line-height:1.72}
.pm-prose>:first-child{margin-top:0}
.pm-prose h2{font-size:clamp(1.625rem,3vw,2.125rem);line-height:1.12;margin:56px 0 16px}
.pm-prose h3{font-size:clamp(1.3rem,2.4vw,1.625rem);line-height:1.15;margin:40px 0 12px;color:var(--accd)}
.pm-prose p{margin:0 0 18px}
.pm-prose ul,.pm-prose ol{margin:0 0 22px;padding-left:1.4em}
.pm-prose li{margin:0 0 10px;padding-left:.2em}
.pm-prose li::marker{color:var(--slate)}
.pm-prose li>ul,.pm-prose li>ol{margin:10px 0 0}
.pm-prose strong{font-weight:600}
.pm-email{margin:28px 0;padding:6px 0 6px 22px;border-left:2px solid var(--acc);font-style:italic}
.pm-email p{margin:0 0 14px}
.pm-email p:last-child{margin-bottom:0}
.pm-video{margin:44px 0 0}
.pm-frame{position:relative;aspect-ratio:16/9;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper2)}
.pm-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.pm-video figcaption{margin-top:10px}

/* previous / next */
.pm-pager{display:flex;justify-content:space-between;gap:24px;margin-top:64px;padding-top:24px;border-top:1px solid var(--line)}
.pm-pager a{display:flex;flex-direction:column;gap:4px;max-width:48%;text-decoration:none;color:var(--ink)}
.pm-next{text-align:right;margin-left:auto}
.pm-pt{font:400 1.125rem/1.25 var(--serif)}
.pm-pager a:hover .pm-pt,.pm-pager a:focus-visible .pm-pt{color:var(--accd)}
