:root{
  --paper:#faf7f0; --card:#fffdf8; --ink:#241f18; --body:#463d31;
  --muted:#5f5548; --rule:#e1d9c9; --green:#2f5d3f; --green-soft:#eaf0e9;
  --gold:#8a6d2f; --shadow:0 1px 2px rgba(60,48,30,.06);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme=light]){
    --paper:#15130f; --card:#1c1915; --ink:#f0e9dc; --body:#d6cdbd; --muted:#a79c8a;
    --rule:#2f2a22; --green:#8fc0a0; --green-soft:#1d2a21; --gold:#c4a463;
    --shadow:none;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--body);
  font:17px/1.68 var(--serif);-webkit-font-smoothing:antialiased}
.shell{max-width:1000px;margin:0 auto;padding-inline:20px}
a{color:var(--green)}
a:hover{text-decoration-thickness:2px}
h1,h2,h3{color:var(--ink);line-height:1.22;letter-spacing:-.01em;font-weight:600}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:var(--card);padding:10px 14px;z-index:20;
  border:2px solid var(--green);border-radius:4px}

/* masthead */
.masthead{background:var(--card);border-bottom:1px solid var(--rule)}
.masthead .shell{display:flex;align-items:center;justify-content:space-between;
  gap:18px;flex-wrap:wrap;padding-block:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{font-size:26px;color:var(--green);line-height:1}
.brand-text{display:flex;flex-direction:column;line-height:1.28}
.brand-text b{font-size:21px;color:var(--ink);letter-spacing:-.015em}
.brand-text i{font-style:italic;font-size:13px;color:var(--muted);font-family:var(--sans)}
.masthead nav{display:flex;gap:20px;flex-wrap:wrap;font-family:var(--sans);font-size:14.5px}
.masthead nav a{text-decoration:none;color:var(--body);padding-block:3px;
  border-bottom:2px solid transparent}
.masthead nav a:hover{border-bottom-color:var(--rule)}
.masthead nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--green)}

/* standing medical notice */
.medical-notice{background:var(--green-soft);border-bottom:1px solid var(--rule);
  font-family:var(--sans);font-size:13.5px;line-height:1.6;color:var(--muted)}
.medical-notice .shell{padding-block:11px}
.medical-notice strong{color:var(--ink)}

main{padding-block:36px 56px}

/* generic page head */
.page-head{margin:0 0 26px}
.page-head h1{margin:0 0 8px;font-size:clamp(28px,4.4vw,38px)}
.page-head .lede{margin:0;color:var(--muted);font-size:17px;max-width:66ch}
.crumb{font-family:var(--sans);font-size:13px;color:var(--muted);margin:0 0 12px}
.crumb a{color:var(--muted)}

/* home */
.hero{background:var(--card);border:1px solid var(--rule);border-radius:6px;
  padding:34px 32px;margin-bottom:32px;box-shadow:var(--shadow)}
.hero h1{margin:0 0 12px;font-size:clamp(30px,5vw,42px)}
.hero p{margin:0 0 10px;max-width:68ch;font-size:17.5px}
.hero p:last-child{margin-bottom:0}
.stats{display:flex;gap:30px;flex-wrap:wrap;margin-top:24px;padding-top:22px;
  border-top:1px solid var(--rule);font-family:var(--sans)}
.stat b{display:block;font-size:26px;color:var(--green);font-family:var(--serif)}
.stat span{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}

.section-title{font-size:14px;text-transform:uppercase;letter-spacing:.09em;
  font-family:var(--sans);color:var(--muted);margin:0 0 16px;font-weight:600}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.tile{display:block;background:var(--card);border:1px solid var(--rule);border-radius:6px;
  padding:15px 17px;text-decoration:none;box-shadow:var(--shadow)}
.tile:hover{border-color:var(--green)}
.tile b{display:block;color:var(--ink);font-size:17px;margin-bottom:3px}
.tile span{font-family:var(--sans);font-size:13px;color:var(--muted);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* A-Z index */
.alpha{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 30px;position:sticky;top:0;
  background:var(--paper);padding-block:12px;z-index:5;border-bottom:1px solid var(--rule)}
.alpha a{font-family:var(--sans);font-size:14px;min-width:31px;text-align:center;
  padding:5px 7px;border:1px solid var(--rule);border-radius:4px;text-decoration:none;
  background:var(--card)}
.alpha a:hover{border-color:var(--green)}
.letter-group{margin:0 0 34px;scroll-margin-top:70px}
.letter-group h2{font-size:23px;margin:0 0 12px;padding-bottom:7px;
  border-bottom:2px solid var(--green);color:var(--green)}
.namelist{list-style:none;margin:0;padding:0;columns:4;column-gap:26px}
@media (max-width:900px){.namelist{columns:3}}
@media (max-width:620px){.namelist{columns:2}}
@media (max-width:400px){.namelist{columns:1}}
.namelist li{break-inside:avoid;margin-bottom:5px;font-size:16px}
.namelist a{text-decoration:none}
.namelist a:hover{text-decoration:underline}

/* article / monograph body */
.doc{background:var(--card);border:1px solid var(--rule);border-radius:6px;
  padding:32px 36px;box-shadow:var(--shadow);max-width:none}
@media (max-width:620px){.doc{padding:22px 20px}}
.doc h1{margin:0 0 6px;font-size:clamp(27px,4.6vw,36px)}
.doc .meta{font-family:var(--sans);font-size:13px;color:var(--muted);margin:0 0 26px}
.doc p{margin:0 0 15px}
.doc p:last-child{margin-bottom:0}
.sec{margin:0 0 26px;padding:0 0 24px;border-bottom:1px solid var(--rule)}
.sec:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
.sec h2{font-size:13px;text-transform:uppercase;letter-spacing:.09em;
  font-family:var(--sans);color:var(--gold);margin:0 0 11px;font-weight:650}
.sec.warn{background:var(--green-soft);border:1px solid var(--rule);border-radius:6px;
  padding:18px 20px}
.sec.warn h2{color:var(--ink)}

.toc{background:var(--green-soft);border:1px solid var(--rule);border-radius:6px;
  padding:15px 18px;margin:0 0 26px;font-family:var(--sans);font-size:14px}
.toc b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--muted);margin-bottom:8px}
.toc ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}

.pager{display:flex;justify-content:space-between;gap:16px;margin-top:30px;
  font-family:var(--sans);font-size:14px;flex-wrap:wrap}

/* article list */
.arts{list-style:none;margin:0;padding:0}
.arts li{padding:16px 0;border-bottom:1px solid var(--rule)}
.arts li:last-child{border-bottom:0}
.arts a{font-size:19px;text-decoration:none;color:var(--ink)}
.arts a:hover{color:var(--green)}
.arts time{display:block;font-family:var(--sans);font-size:12.5px;color:var(--muted);
  margin-top:3px;text-transform:uppercase;letter-spacing:.05em}

/* footer */
.footer{background:var(--card);border-top:1px solid var(--rule);margin-top:50px;
  padding-block:32px 26px;font-family:var(--sans);font-size:14px;color:var(--muted)}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:28px}
.footer h2{font-size:12px;text-transform:uppercase;letter-spacing:.09em;
  margin:0 0 9px;color:var(--ink)}
.footer p{margin:0;line-height:1.6}
.footer ul{list-style:none;margin:0;padding:0}
.footer li{margin-bottom:5px}
.foot-legal{margin-top:26px;padding-top:16px;border-top:1px solid var(--rule);
  font-size:12.5px}
