
:root{
  --paper:#F4F5F2; --surface:#FFFFFF; --ink:#15223A; --ink-2:#3E4A5E; --muted:#667085;
  --rule:#D8DBD6; --brass:#9A6B1F; --brass-soft:#F1E7D3; --navy:#1F3A5F;
  --serif:"Spectral",Georgia,"Times New Roman",serif;
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0F1522; --surface:#161E2E; --ink:#E8EAEE; --ink-2:#BCC3CF; --muted:#8A94A6;
    --rule:#2A3446; --brass:#D6A54E; --brass-soft:#2A2416; --navy:#8FB0D8; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#0F1522; --surface:#161E2E; --ink:#E8EAEE; --ink-2:#BCC3CF; --muted:#8A94A6;
  --rule:#2A3446; --brass:#D6A54E; --brass-soft:#2A2416; --navy:#8FB0D8; color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;padding-inline:20px}
a{color:var(--navy);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--brass)}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:2px}
.wrap{max-width:1080px;margin-inline:auto}

/* header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--paper);border-bottom:1px solid var(--rule);margin-inline:-20px;padding-inline:20px}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;flex-wrap:wrap}
.brand{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--ink);text-decoration:none;letter-spacing:.01em}
.brand small{display:block;font-family:var(--mono);font-size:.68rem;font-weight:400;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
nav.main{display:flex;gap:4px 18px;flex-wrap:wrap}
nav.main a{color:var(--ink-2);text-decoration:none;font-size:.92rem;font-weight:500;padding-block:4px;border-bottom:2px solid transparent}
nav.main a:hover{color:var(--ink);border-bottom-color:var(--brass)}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;align-items:center;padding-block:64px 48px}
.eyebrow{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin:0 0 14px}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.4rem,6vw,3.9rem);line-height:1.04;letter-spacing:-.015em;margin:0 0 18px;text-wrap:balance}
.roles{margin:0 0 26px;color:var(--ink-2);font-size:1.05rem;line-height:1.5}
.roles span{display:block}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-weight:600;font-size:.92rem;text-decoration:none;border:1px solid var(--ink);border-radius:2px}
.btn.primary{background:var(--ink);color:var(--paper)}
.btn.primary:hover{background:var(--brass);border-color:var(--brass);color:var(--paper)}
.btn.ghost{color:var(--ink)}
.btn.ghost:hover{border-color:var(--brass);color:var(--brass)}
.profiles{display:flex;flex-wrap:wrap;gap:6px 16px;font-family:var(--mono);font-size:.8rem}
.profiles a{color:var(--muted);text-decoration:none}
.profiles a:hover{color:var(--brass)}
.portrait{display:block;width:100%;height:auto;aspect-ratio:4/5;max-width:100%;object-fit:cover;border:1px solid var(--rule)}
.portrait b{font-family:var(--serif);font-weight:500;font-size:4.5rem;color:var(--brass);letter-spacing:.04em}
.portrait i{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-family:var(--mono);font-style:normal;font-size:.7rem;color:var(--muted)}
.coords{display:flex;gap:14px;margin-top:12px;font-family:var(--mono);font-size:.74rem;color:var(--muted);justify-content:center}
.coords span b{color:var(--ink);font-weight:500}

/* sections */
section{padding-block:44px;border-top:1px solid var(--rule)}
h2{font-family:var(--serif);font-weight:500;font-size:1.9rem;line-height:1.15;margin:0 0 22px;text-wrap:balance}
.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px}
.prose p{margin:0 0 16px;max-width:65ch;color:var(--ink-2)}
.prose p:first-child{font-size:1.1rem;color:var(--ink)}
.aside h3,.label{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:0 0 10px}
.aside ul{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:8px}
.aside li{font-size:.94rem;color:var(--ink-2);padding-left:14px;position:relative}
.aside li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:1px;background:var(--brass)}

/* research areas */
.areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.area{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:18px;background:var(--surface);border:1px solid var(--rule);border-radius:2px;transition:border-color .15s}
.area:hover,.area:focus-visible{border-color:var(--brass)}
.area strong{font-family:var(--serif);font-weight:600;font-size:1.08rem;line-height:1.25;color:var(--ink)}
.area span{font-size:.86rem;color:var(--muted);line-height:1.45}
.area em{margin-top:auto;padding-top:6px;font-style:normal;font-family:var(--mono);font-size:.76rem;color:var(--brass)}

/* news */
.news{display:grid;gap:0}
.news a{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding-block:14px;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink)}
.news a:first-child{border-top:1px solid var(--rule)}
.news time{font-family:var(--mono);font-size:.78rem;color:var(--muted);padding-top:3px;font-variant-numeric:tabular-nums}
.news strong{display:block;font-weight:600}
.news span{font-size:.92rem;color:var(--ink-2)}
.news a:hover strong{color:var(--brass)}

/* publications */
.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:inherit;font-size:.84rem;padding:5px 12px;border:1px solid var(--rule);background:var(--surface);color:var(--ink-2);border-radius:999px;cursor:pointer}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
#pubSearch{font:inherit;font-size:.9rem;padding:7px 12px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:2px;flex:1 1 220px;min-width:0;max-width:320px}
.topicnote{font-size:.88rem;color:var(--muted);margin:0 0 14px}
.topicnote button{all:unset;cursor:pointer;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.pubs{list-style:none;padding:0;margin:0}
.pubs li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;padding-block:13px;border-bottom:1px solid var(--rule)}
.pubs .yr{font-family:var(--mono);font-size:.82rem;color:var(--muted);padding-top:2px;font-variant-numeric:tabular-nums}
.pubs .t{font-family:var(--serif);font-size:1.07rem;line-height:1.35;color:var(--ink);text-decoration:none}
.pubs a.t:hover{color:var(--brass)}
.pubs .meta{font-size:.88rem;color:var(--muted);margin-top:3px}
.pubs .meta i{color:var(--ink-2)}
.pubs .extras{display:flex;gap:12px;flex-wrap:wrap;margin-top:5px;font-family:var(--mono);font-size:.74rem}
.tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--brass);margin-left:6px;white-space:nowrap}
.empty{padding:20px 0;color:var(--muted)}

/* commentary */
.twocol{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px}
.oped{list-style:none;padding:0;margin:0}
.oped li{padding-block:11px;border-bottom:1px solid var(--rule)}
.oped a{font-weight:500;text-decoration:none;color:var(--ink)}
.oped a:hover{color:var(--brass)}
.oped div{font-size:.85rem;color:var(--muted)}
.outlets{display:flex;flex-wrap:wrap;gap:8px 18px;font-family:var(--serif);font-size:1.12rem;color:var(--ink-2);font-style:italic;margin-bottom:22px}
.more{display:inline-block;margin-top:14px;font-size:.9rem;font-weight:600}

/* teaching */
.courses{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 40px}
.course{padding-block:14px;border-bottom:1px solid var(--rule)}
.course code{font-family:var(--mono);font-size:.78rem;color:var(--brass)}
.course a{display:block;font-family:var(--serif);font-size:1.08rem;text-decoration:none;color:var(--ink);line-height:1.3}
.course a:hover{color:var(--brass)}
.course p{margin:4px 0 0;font-size:.88rem;color:var(--muted)}

/* footer */
footer{border-top:1px solid var(--rule);padding-block:36px 48px}
footer .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
address{font-style:normal;color:var(--ink-2);font-size:.92rem;line-height:1.6}
.email{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.email code{font-family:var(--mono);font-size:.9rem;color:var(--ink);user-select:all}
.copy{font:inherit;font-size:.78rem;padding:3px 10px;border:1px solid var(--rule);background:var(--surface);color:var(--ink-2);border-radius:2px;cursor:pointer}
.fine{font-size:.8rem;color:var(--muted)}
.lang{display:flex;gap:2px;border:1px solid var(--rule);border-radius:2px;padding:2px}
.lang button{font:500 .74rem/1 var(--mono);letter-spacing:.06em;padding:6px 8px;border:0;background:transparent;color:var(--muted);cursor:pointer;border-radius:1px}
.lang button:hover{color:var(--ink)}
.lang button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}

@media (max-width:820px){
  .hero{grid-template-columns:1fr;gap:28px;padding-block:40px 32px}
  .portrait-col{max-width:220px;order:-1}
  .split,.twocol{grid-template-columns:1fr;gap:28px}
  .news a{grid-template-columns:1fr;gap:2px}
}
@media (max-width:480px){
  .pubs li{grid-template-columns:1fr;gap:2px}
  nav.main{gap:2px 14px}
}
/* ===== Variant B: sidebar profile ===== */
:root{--paper:#FAFAF7;--surface:#FFFFFF;--ink:#1B2420;--ink-2:#3B4640;--muted:#6B756F;--rule:#DDE2DC;--brass:#2F6B4F;--brass-soft:#E4EFE8;--navy:#2F6B4F;
  --serif:"Source Serif 4",Georgia,serif;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#111714;--surface:#18201C;--ink:#E7ECE8;--ink-2:#BFC8C2;--muted:#8C978F;--rule:#2A342F;--brass:#7CC4A0;--brass-soft:#1D2A23;--navy:#9AD3B5;color-scheme:dark}}
:root[data-theme="dark"]{--paper:#111714;--surface:#18201C;--ink:#E7ECE8;--ink-2:#BFC8C2;--muted:#8C978F;--rule:#2A342F;--brass:#7CC4A0;--brass-soft:#1D2A23;--navy:#9AD3B5;color-scheme:dark}
header.site .wrap,.wrap{max-width:1160px}
h1{font-weight:600;letter-spacing:-.01em}
h2{font-weight:600;font-size:1.6rem}
.area{border-radius:4px}
.btn{border-radius:4px}
@media (min-width:700px){
  main.wrap{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr);column-gap:clamp(28px,4vw,64px);align-items:start}
  .hero{grid-column:1;grid-row:1 / span 12;position:sticky;top:calc(env(safe-area-inset-top,0px) + 72px);display:flex;flex-direction:column;gap:20px;padding-block:36px}
  .hero>div:first-child{order:2}
  .portrait-col{order:1;max-width:none}
  .portrait{border-radius:4px}
  .coords{justify-content:flex-start}
  h1{font-size:2.05rem;line-height:1.1;margin-bottom:10px}
  .eyebrow{display:none}
  .roles{font-size:.92rem;margin-bottom:18px}
  .actions{flex-direction:column;align-items:stretch}
  .btn{justify-content:center}
  .profiles{flex-direction:column;gap:6px;padding-top:14px;border-top:1px solid var(--rule)}
  main>section{grid-column:2}
  main>section#about{border-top:0;padding-top:36px}
}



/* press archive */
.archnote{color:var(--muted);font-size:.92rem;margin:-8px 0 16px}
.pyear{border-top:1px solid var(--rule)}
.pyear>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:12px;padding-block:12px}
.pyear>summary::-webkit-details-marker{display:none}
.pyear>summary b{font-family:var(--serif);font-size:1.3rem;font-weight:600}
.pyear>summary span{font-family:var(--mono);font-size:.76rem;color:var(--muted)}
.pyear>summary::after{content:"+";margin-left:auto;font-family:var(--mono);color:var(--brass)}
.pyear[open]>summary::after{content:"–"}
.plist{list-style:none;margin:0 0 14px;padding:0}
.plist li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;padding-block:8px;border-top:1px dashed var(--rule)}
.plist time{font-family:var(--mono);font-size:.76rem;color:var(--muted);padding-top:3px;font-variant-numeric:tabular-nums}
.plist .po{font-size:.8rem;font-weight:600;color:var(--brass);letter-spacing:.01em}
.plist .pk{font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-left:8px;font-weight:400}
.plist .pt{display:block;color:var(--ink);text-decoration:none;line-height:1.4}
.plist a.pt:hover{color:var(--brass)}
.plist .px{display:flex;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:.72rem;margin-top:2px}
@media (max-width:480px){.plist li{grid-template-columns:1fr;gap:2px}}

/* photographs */
figure.band{margin:0}
figure.band img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:var(--band-ar,2/1);object-fit:cover;border-radius:6px}
figure.band figcaption,.gal figcaption,figure.mast figcaption{font-family:var(--mono);font-size:.72rem;color:var(--muted);margin-top:6px;letter-spacing:.02em}
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gal figure{margin:0;display:flex;flex-direction:column}
.gal img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:4px}
.gal{grid-auto-flow:dense}
.gal figure.tall{grid-row:span 2}
.gal figure.wide{grid-column:span 2}
.gal figure.wide img{aspect-ratio:3.1/1}
.gal figure.tall img{flex:1;min-height:0;aspect-ratio:auto;height:100%}
@media (max-width:640px){.gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:700px){main>figure{grid-column:2}.hero{grid-row:1 / span 24!important}}
figure.mast{margin:0 auto;position:relative;max-width:1160px}
figure.mast img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:3.4/1;min-height:160px;max-height:340px;object-fit:cover;object-position:50% 50%}
figure.mast.sub img{aspect-ratio:4.4/1;min-height:140px;max-height:260px}
figure.mast figcaption{position:absolute;right:16px;bottom:10px;margin:0;color:#fff;background:rgba(0,0,0,.45);padding:3px 8px;border-radius:3px}
/* area grid: 3 over 2 */
@media (min-width:640px){
  .areas{grid-template-columns:repeat(6,minmax(0,1fr))}
  .area{grid-column:span 2}
  .area:nth-child(n+4){grid-column:span 3}
}
/* ===== Variant D: jade sidebar with topic colors ===== */
:root{--paper:#FBF8F3;--surface:#FFFFFF;--ink:#1E2422;--ink-2:#3E4744;--muted:#6E7672;--rule:#E6DFD3;--brass:#1F6F63;--brass-soft:#E3EFEC;--navy:#1F6F63;
  --side:#184A45;--side-ink:#F6F1E7;--side-muted:#B9CFC9;--gold:#E8A93A;
  --cE:#1F6F63;--cL:#2F5DA8;--cM:#B4492F;--cB:#9A6E12;--cV:#7A3E73}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#121615;--surface:#1A201F;--ink:#ECEFEC;--ink-2:#C3CAC7;--muted:#8E9894;--rule:#2B3331;--brass:#5FC3B0;--brass-soft:#1C2B28;--navy:#6FCFBC;
  --side:#0F2E2B;--side-ink:#F1EDE4;--side-muted:#9FBDB6;--gold:#EDB34E;--cE:#5FC3B0;--cL:#86A9EA;--cM:#EB8F76;--cB:#E0B85A;--cV:#CB93C5;color-scheme:dark}}
:root[data-theme="dark"]{--paper:#121615;--surface:#1A201F;--ink:#ECEFEC;--ink-2:#C3CAC7;--muted:#8E9894;--rule:#2B3331;--brass:#5FC3B0;--brass-soft:#1C2B28;--navy:#6FCFBC;
  --side:#0F2E2B;--side-ink:#F1EDE4;--side-muted:#9FBDB6;--gold:#EDB34E;--cE:#5FC3B0;--cL:#86A9EA;--cM:#EB8F76;--cB:#E0B85A;--cV:#CB93C5;color-scheme:dark}
.brand small{color:var(--brass)}
.hero{background:var(--side);color:var(--side-ink)}
.hero h1{color:var(--side-ink)}
.roles{color:var(--side-muted)}
.btn.primary{background:var(--gold);border-color:var(--gold);color:#1E2422}
.btn.primary:hover{background:var(--side-ink);border-color:var(--side-ink);color:#1E2422}
.btn.ghost{color:var(--side-ink);border-color:var(--side-muted)}
.btn.ghost:hover{color:var(--gold);border-color:var(--gold)}
.profiles{border-top-color:rgba(255,255,255,.16)!important}
.profiles a{color:var(--side-muted)}
.profiles a:hover{color:var(--gold)}
.portrait{border:0}
h2::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--gold);margin-right:12px;vertical-align:.18em}
.news time{color:var(--brass);font-weight:500}
.area[data-k="E"]{--c:var(--cE)}.area[data-k="L"]{--c:var(--cL)}.area[data-k="M"]{--c:var(--cM)}.area[data-k="B"]{--c:var(--cB)}.area[data-k="V"]{--c:var(--cV)}
.area{background:color-mix(in srgb,var(--c) 9%,var(--surface));border-color:color-mix(in srgb,var(--c) 28%,var(--surface))}
.area:hover,.area:focus-visible{border-color:var(--c)}
.area strong{color:var(--c)}
.area em{color:var(--c)}
.topicnote strong{color:var(--tc,var(--ink))}
.chip[aria-pressed="true"]{background:var(--side);border-color:var(--side);color:var(--side-ink)}
.dots{display:flex;gap:4px;margin-top:6px}
.dots i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.pubs li:hover .t{color:var(--brass)}
.course code{color:var(--brass)}
.outlets{color:var(--brass)}
@media (min-width:700px){
  .hero{padding:28px 26px 30px;border-radius:6px;margin-block:28px;max-height:calc(100vh - 110px);overflow:auto}
}
@media (max-width:699px){
  .hero{box-shadow:0 0 0 100vmax var(--side);clip-path:inset(0 -100vmax)}
}


/* ===== multi-page additions ===== */
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:50}
.skip:focus{left:12px;top:12px}
nav.main a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--gold)}
.lang a{font:500 .74rem/1 var(--mono);letter-spacing:.06em;padding:6px 8px;color:var(--muted);text-decoration:none;border-radius:1px}
.lang a:hover{color:var(--ink)}
.lang a[aria-current="true"]{background:var(--ink);color:var(--paper)}
.pagehead{padding-block:36px 8px}
.pagehead h1{font-family:var(--serif);font-weight:600;font-size:clamp(2rem,4vw,2.6rem);line-height:1.1;margin:0 0 8px;color:var(--ink)}
.pagehead p{color:var(--muted);margin:0;max-width:65ch}
main>section:first-of-type,main>.pagehead+section{border-top:0}
.filters{display:grid;gap:10px;margin-bottom:18px}
.filters .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.filters .lbl{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);min-width:8.5em}
.pubs li[hidden],.plist li[hidden],.gal figure[hidden],.pyear[hidden]{display:none}
.chip.area-chip[aria-pressed="true"]{background:var(--c,var(--side));border-color:var(--c,var(--side));color:#fff}
.chip[data-area="E"]{--c:var(--cE)}.chip[data-area="L"]{--c:var(--cL)}.chip[data-area="M"]{--c:var(--cM)}.chip[data-area="B"]{--c:var(--cB)}.chip[data-area="V"]{--c:var(--cV)}
a.area{text-decoration:none}
.oped .with{color:var(--muted)}
.oped .px{display:flex;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:.72rem;margin-top:2px}
.course .yrs{font-family:var(--mono);font-size:.72rem;color:var(--muted)}
.hero h1{font-family:var(--serif);font-weight:600;font-size:2.05rem;line-height:1.1;margin:0 0 10px;color:var(--side-ink)}
.hero .name{font-family:var(--serif);font-weight:600;font-size:2.05rem;line-height:1.1;margin:0 0 10px;color:var(--side-ink);display:block}
.course .ct{display:block;font-family:var(--serif);font-size:1.08rem;color:var(--ink);line-height:1.3}
@media (max-width:699px){body.sub .hero{display:none}}
.pubs .empty{display:block}
.pnote{margin-top:6px;font-size:.84rem}.pnote a{color:var(--brass);text-decoration:none;border-left:3px solid var(--gold);padding-left:8px}.pnote a:hover{text-decoration:underline}
.previews{margin-top:6px;font-size:.84rem;color:var(--muted);line-height:1.5}.previews span{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;margin-right:4px}

/* new pages */
.wipgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px 40px}
.wiplist{list-style:none;padding:0;margin:0 0 22px}
.wiplist li{padding-block:9px;border-bottom:1px solid var(--rule)}
.wiplist .t{font-family:var(--serif);font-size:1.02rem;line-height:1.35;color:var(--ink)}
.wiplist .meta{font-size:.86rem;color:var(--muted);margin-top:2px}
.plist .tv{font-size:.86rem;color:var(--muted);margin-top:2px}
.callout{background:color-mix(in srgb,var(--gold) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--gold) 40%,var(--surface));border-radius:6px;padding:22px 24px}
.callout h2{margin-top:0}
.callout p{margin:0;max-width:65ch;color:var(--ink-2)}
.datasets li{grid-template-columns:1fr}
.datasets .t{font-size:1.05rem}
.muted{color:var(--muted);font-family:var(--mono);font-size:.74rem}
.topics{padding-left:18px;margin:0;display:grid;gap:6px;color:var(--ink-2)}
.side{font-size:.92rem;color:var(--ink-2);margin:0 0 10px}
.presshead{display:block;width:160px;max-width:100%;height:auto;border-radius:4px;margin:4px 0 10px}
.subtitle{font-family:var(--serif);font-size:1.3rem;color:var(--ink-2);margin:0 0 6px}
.praise{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px}
.praise li{font-size:.94rem;color:var(--ink-2);padding-left:12px;border-left:3px solid var(--gold)}
.toc{margin:0 0 18px;padding-left:28px;display:grid;gap:6px;color:var(--ink-2)}
.toc li.mine{color:var(--ink);font-weight:600}
.tocpart{margin-top:14px}
.btn.bookbtn{color:var(--ink);border-color:var(--rule)}
.btn.bookbtn:hover{color:var(--brass);border-color:var(--brass)}
.presskit{border-left:2px solid var(--brass);padding-left:22px}
.presskit .side{font-size:.92rem;color:var(--ink-2);margin:0 0 12px}
.kitlinks{display:flex;flex-wrap:wrap;gap:8px}
a.copy{text-decoration:none;display:inline-block}
@media (max-width:820px){.presskit{border-left:0;border-top:2px solid var(--brass);padding:18px 0 0}}
.bookfeat h2{margin:4px 0 6px}
.bookfeat h2 i{font-style:italic}
.bookfeat>.side{color:var(--muted);margin:0 0 22px}
.tocbox{margin-top:26px;border-top:1px solid var(--rule);padding-top:14px}
.tocbox summary{cursor:pointer;font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.tocbox[open] summary{margin-bottom:12px}
@media (min-width:821px){.bookfeat .actions{flex-direction:row;align-items:center}}
.pubs li.sub{padding-left:28px;border-bottom-style:dashed}
.pubs li.sub .yr{visibility:hidden}
.extras a.pdf{font-family:var(--mono);font-size:.74rem}
@media (max-width:820px){.pubs li.sub{padding-left:22px}}
.pubs .also{font-size:.86rem;color:var(--muted);margin-top:4px}
.pubs .also a.pdf{margin-left:6px}
