/* Aaron Korson — shared design system.
   Palette: warm paper ground, deep slate ink, Chicago-brick accent.
   Type: Spectral (display) / IBM Plex Sans (body) / IBM Plex Mono (labels, docket-style). */
:root{
  --paper:#faf7f2; --raised:#fffdfa; --sunken:#f3efe8;
  --ink:#16202a; --ink-2:#3d4854; --muted:#5f6b78;
  --brick:#8c3a2b; --brick-soft:#f1e4e0; --rule:#e3ddd3;
  --serif:'Spectral',Georgia,'Times New Roman',serif;
  --sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --measure:64ch;
  --s1:.5rem; --s2:1rem; --s3:1.5rem; --s4:2.5rem; --s5:4rem; --s6:6rem;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#11161b; --raised:#171e25; --sunken:#0d1217;
  --ink:#e8eaed; --ink-2:#c3cad2; --muted:#98a3af;
  --brick:#d08670; --brick-soft:#2b201c; --rule:#242c35;
}}
:root[data-theme="dark"]{
  --paper:#11161b; --raised:#171e25; --sunken:#0d1217;
  --ink:#e8eaed; --ink-2:#c3cad2; --muted:#98a3af;
  --brick:#d08670; --brick-soft:#2b201c; --rule:#242c35;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;
  display:flex;flex-direction:column;min-height:100vh}
.wrap{width:100%;max-width:72ch;margin-inline:auto;padding-inline:clamp(1rem,5vw,2.5rem)}
.wrap--wide{max-width:94ch}
a{color:var(--brick);text-decoration-thickness:1px;text-underline-offset:.2em}
a:focus-visible,button:focus-visible{outline:2px solid var(--brick);outline-offset:3px;border-radius:2px}
img{max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.16;text-wrap:balance;margin:0}
p{margin:0}
.eyebrow{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin:0 0 var(--s2)}

/* masthead */
header.site{border-bottom:1px solid var(--rule);background:var(--raised);position:sticky;top:0;z-index:20}
header.site .wrap{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);align-items:baseline;
  justify-content:space-between;padding-block:.85rem}
.mark{font-family:var(--serif);font-weight:600;font-size:1.0625rem;color:var(--ink);text-decoration:none;white-space:nowrap}
.mark span{color:var(--muted);font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;margin-left:.6rem}
nav.site-nav{display:flex;flex-wrap:wrap;gap:var(--s3);font-size:.9375rem}
nav.site-nav a{color:var(--muted);text-decoration:none}
nav.site-nav a:hover,nav.site-nav a[aria-current="page"]{color:var(--brick)}
nav.site-nav a[aria-current="page"]{font-weight:500}

main{flex:1}
section{padding-block:var(--s4)}
section + section{border-top:1px solid var(--rule)}
section h2{font-size:clamp(1.35rem,3.2vw,1.7rem);margin-bottom:var(--s3)}
section h3{font-size:1.0625rem;font-family:var(--sans);font-weight:600;margin-bottom:.35rem}
section p{max-width:var(--measure)}
section p + p{margin-top:var(--s2)}
section ul,section ol{max-width:var(--measure);padding-left:1.15rem;margin:var(--s2) 0}
section li + li{margin-top:.4rem}

/* hero */
.hero{padding-block:var(--s5) var(--s4)}
.hero-grid{display:grid;grid-template-columns:160px 1fr;gap:var(--s4);align-items:start}
.portrait{width:160px;height:160px;border-radius:3px;object-fit:cover;border:1px solid var(--rule)}
.hero h1{font-size:clamp(2.1rem,6vw,3rem);letter-spacing:-.018em}
.role{font-family:var(--mono);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin:var(--s2) 0 var(--s3)}
.lede{font-family:var(--serif);font-size:clamp(1.12rem,2.5vw,1.3rem);line-height:1.52;max-width:var(--measure)}
.actions{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);align-items:center;margin-top:var(--s3)}
.btn{display:inline-block;background:var(--brick);color:#fff;font-weight:500;font-size:.9375rem;
  padding:.72rem 1.3rem;border-radius:3px;text-decoration:none}
.btn:hover{filter:brightness(1.08)}
.btn-ghost{display:inline-block;border:1px solid var(--rule);background:var(--raised);color:var(--ink);
  font-weight:500;font-size:.9375rem;padding:.72rem 1.3rem;border-radius:3px;text-decoration:none}
.btn-ghost:hover{border-color:var(--brick);color:var(--brick)}
.tel{font-family:var(--mono);font-size:1rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--brick)}
@media (max-width:640px){
  .hero{padding-block:var(--s4) var(--s3)}
  .hero-grid{grid-template-columns:1fr;gap:var(--s3)}
  .portrait{width:120px;height:120px}
}

/* ledger — records, not cards */
.ledger{border-top:1px solid var(--rule);margin-top:var(--s3)}
.rec{display:grid;grid-template-columns:12rem 1fr;gap:var(--s2) var(--s3);
  padding-block:var(--s3);border-bottom:1px solid var(--rule)}
.rec dt{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);margin:0;padding-top:.2rem}
.rec dd{margin:0;max-width:56ch}
.rec dd p + p{margin-top:var(--s2)}
@media (max-width:680px){.rec{grid-template-columns:1fr;gap:.35rem}}

/* notice */
.notice{background:var(--sunken);border-left:3px solid var(--brick);border-radius:0 3px 3px 0;
  padding:var(--s3);margin-block:var(--s3);max-width:var(--measure)}
.notice p{font-size:.9375rem;color:var(--ink-2)}
.notice p + p{margin-top:var(--s2)}
.notice strong{color:var(--ink)}

/* grids and link lists */
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:var(--s3) var(--s4);margin-top:var(--s3)}
.cols p{font-size:.9375rem;color:var(--muted);max-width:42ch}
.links{list-style:none;padding:0;margin:var(--s3) 0 0}
.links li{border-bottom:1px solid var(--rule)}
.links a{display:grid;grid-template-columns:1fr auto;gap:var(--s3);align-items:baseline;
  padding-block:.95rem;text-decoration:none;color:var(--ink)}
.links a:hover .lk-t{color:var(--brick)}
.lk-t{font-weight:500}
.lk-d{display:block;font-size:.875rem;color:var(--muted);font-weight:400;margin-top:.12rem}
.lk-m{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);white-space:nowrap}

/* definition rows */
.facts{margin-top:var(--s3)}
.fact{display:grid;grid-template-columns:12rem 1fr;gap:var(--s2) var(--s3);
  padding-block:.8rem;border-bottom:1px solid var(--rule)}
.fact dt{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0}
.fact dd{margin:0;font-size:.9688rem}
@media (max-width:680px){.fact{grid-template-columns:1fr;gap:.2rem}}

footer.site{border-top:1px solid var(--rule);background:var(--raised);padding-block:var(--s4);margin-top:var(--s5)}
footer.site p{font-size:.8125rem;color:var(--muted);max-width:68ch}
footer.site p + p{margin-top:var(--s2)}
footer.site strong{color:var(--ink);font-weight:600}
