/* Shared frame for Lab, Basics and reading pages. Keep page-specific plots out.
   Look: a clinical handbook. Rules and type carry the structure; no accent bars, eyebrows or card shadows. */
:root{--serif:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;--rule:#d5dce4;--panel:#f7f9fb;--navy-50:#eef2f7;
  --caution-bg:#fdf6e7;--caution-line:#e3cf9f;--caution-ink:#6b4e16;--btn-line:#7d8ca0}
html{scrollbar-gutter:stable}
h1,.hero h1,article h1,.basics-index .section-intro h1{font-family:"Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif}
/* Header and footer: /site-navigation.css (markup from scripts/site-chrome.mjs). */

/* Section catalogs share the same origin, heading scale and card language. */
.section-index{max-width:1180px;margin:0 auto;padding:24px 20px 48px}
.section-index .section-intro{margin:0 0 24px;padding:0 0 18px;border-bottom:2px solid var(--navy)}
.section-index .section-intro .eyebrow{margin:0 0 8px;font-size:12px}
.section-index .section-intro h1{margin:0;max-width:760px;font-size:34px;line-height:1.2;letter-spacing:-.01em;color:var(--navy)}
.section-index .section-intro .lead{margin:12px 0 0;max-width:760px;font-size:16px;line-height:1.55;color:var(--ink-2)}
.section-index .part-title{margin:28px 0 10px;padding:0 0 6px;border-bottom:1px solid var(--rule);font-size:17px;font-weight:650;color:var(--navy)}
.section-index .lesson-grid{max-width:none;margin:0;padding:0 0 20px}
.catalog-card{display:flex;flex-direction:column;gap:6px;width:100%;padding:16px 4px;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:#fff;color:inherit;text-decoration:none}
.catalog-card:hover h2{text-decoration:underline;text-underline-offset:3px}
.catalog-card .num{margin:0;font-size:13.5px;font-weight:600;color:var(--muted)}
.catalog-card h2{margin:0;font-size:19px;line-height:1.3;color:var(--navy)}
.catalog-card p:not(.num){margin:0;font-size:14.5px;line-height:1.55;color:var(--muted)}
.catalog-card .more{display:flex;align-items:center;min-height:44px;margin-top:auto;padding-top:4px;font-size:14px;font-weight:600;color:var(--navy-2,#1d4a80);text-decoration:underline;text-underline-offset:3px}
.lab-index .catalog-card{max-width:none}
@media(max-width:959.98px){
 .section-index{padding:18px 14px 28px}
 .section-index .section-intro{margin-bottom:18px}
 .section-index .section-intro .eyebrow{font-size:11px;margin-bottom:7px}
 .section-index .section-intro h1{font-size:28px}
 .section-index .section-intro .lead{font-size:14px;margin-top:10px}
 .section-index .part-title{margin-top:18px;font-size:11px}
 .catalog-card{padding:18px}.catalog-card p:not(.num){font-size:14px}
}
@media(max-width:359.98px){.section-index .section-intro h1{font-size:26px}.catalog-card{padding:16px}}

/* Contact keeps the address readable and selectable even without JavaScript. */
.contact-page{min-height:60vh}
.contact-card{max-width:820px;padding:28px 0;border:solid var(--rule);border-width:0 0 1px;border-radius:0;background:none}
.contact-label{margin:0 0 10px;color:var(--muted);font-size:14px;font-weight:600}
.contact-address{display:inline-block;max-width:100%;font-size:clamp(20px,4.2vw,44px);line-height:1.3;font-weight:650;letter-spacing:-.025em;color:var(--navy);text-decoration:none;overflow-wrap:anywhere;user-select:text}
.contact-address:hover{text-decoration:underline}
.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.contact-actions button,.contact-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--navy);border-radius:4px;background:var(--navy);color:#fff;font:inherit;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}
.contact-actions .write-email{background:#fff;color:var(--navy);border-color:var(--btn-line)}
.contact-actions button[hidden]{display:none}
.contact-actions button:disabled{opacity:.6;cursor:wait}
.copy-status{min-height:24px;margin:12px 0 0;font-size:13px;line-height:1.5;color:var(--teal-ink)}
@media(max-width:600px){.contact-card{padding:20px 16px}.contact-actions{gap:8px}.contact-actions button,.contact-actions a{width:100%}}

/* Basics contents: one numbered list per part, like a textbook's table of contents. */
.section-intro .path{margin:14px 0 0;max-width:760px;font-size:15px;line-height:1.6;color:var(--ink)}
.toc-part{max-width:880px;margin:34px 0 0}
.toc-part>h2{margin:0;padding:0 0 8px;border-bottom:2px solid var(--navy);font-family:var(--serif);font-size:22px;font-weight:600;line-height:1.3;color:var(--navy)}
.toc-part .part-no{margin-right:6px;font-family:var(--serif);font-weight:400;color:var(--muted)}
.toc-part .part-blurb{margin:8px 0 2px;font-size:15px;line-height:1.55;color:var(--ink-2)}
.toc-list{margin:0;padding:0;list-style:none}
.toc-list li{border-bottom:1px solid var(--rule)}
.toc-entry{display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;gap:2px 14px;align-items:baseline;min-height:44px;padding:14px 4px;color:inherit;text-decoration:none}
.toc-entry .num{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--muted);text-align:right}
.toc-entry h3{margin:0;font-family:var(--serif);font-size:18.5px;font-weight:600;line-height:1.35;color:var(--navy);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
.toc-entry:hover h3,.toc-entry:focus-visible h3{text-decoration-color:currentColor}
.toc-entry:hover{background:var(--panel)}
.toc-entry p{margin:3px 0 0;font-size:15px;line-height:1.5;color:var(--ink-2)}
.toc-status{font-size:13px;font-weight:600;color:var(--teal-ink,#08707a);white-space:nowrap}
.toc-status:empty{display:none}
@media(max-width:600px){.toc-entry{grid-template-columns:2rem minmax(0,1fr);padding:12px 2px}.toc-status{grid-column:2}.toc-entry h3{font-size:17px}.toc-part>h2{font-size:20px}}
@media(max-width:959.98px){.section-intro .path{font-size:14px}}
