/* Shared shell. Same ivory-and-grain language as the hand-built occupation pages. */
:root{
  --bg:#FAF9F5; --card:#FCFBF8; --ink:#191817; --ink-2:#3F3E3B; --ink-3:#6E6D67;
  --line:#E7E5DD; --grid-line:#E6E3D9; --grid-line-soft:#EFEDE5;
  --grey:#C9C6BB; --purple:#B0A1F0; --blue:#86AEDE; --orange:#F2A93B; --rust:#D97757;
  --sans:"Inter",-apple-system,"Segoe UI",sans-serif;
  --serif:"Source Serif 4",Georgia,serif;
}
*{box-sizing:border-box;}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;transition-duration:.01ms !important;}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);
  font-size:17px;line-height:1.62;padding:0 0 96px;}
a{color:var(--rust);text-underline-offset:2px;}
:focus-visible{outline:2px solid var(--rust);outline-offset:3px;}
.col{max-width:960px;margin:0 auto;padding:0 20px;}
.col-narrow{max-width:660px;margin:0 auto;padding:0 20px;}
h1,h2,h3{margin:0;text-wrap:balance;}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(32px,5vw,48px);line-height:1.1;letter-spacing:-.01em;}
h2{font-family:var(--sans);font-weight:600;font-size:21px;line-height:1.3;}
h3{font-family:var(--sans);font-weight:600;font-size:16px;}
p{margin:0 0 18px;}
.kicker{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-3);margin:0 0 18px;}
.muted{color:var(--ink-3);}
.rule{border:none;border-top:1px solid var(--line);margin:54px 0;}
.sans{font-family:var(--sans);}

/* grainy swatches, same filter as the occupation pages */
.sw{display:inline-block;filter:url(#rough);}
.chip-row{display:flex;flex-wrap:wrap;gap:10px 22px;font-family:var(--sans);font-size:12.5px;color:var(--ink-2);}
.chip-row span{display:inline-flex;align-items:center;gap:8px;}
.chip-row i{width:12px;height:12px;border-radius:2px;display:inline-block;filter:url(#rough);}

/* buttons + inputs */
button.primary{font-family:var(--sans);font-size:14px;font-weight:500;padding:11px 20px;
  border-radius:8px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;}
button.primary:disabled{opacity:.45;cursor:default;}
button.ghost{font-family:var(--sans);font-size:13px;padding:9px 15px;border-radius:7px;
  border:1px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer;}
button.ghost[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg);}
input[type=text],input[type=search],input[type=number]{font-family:var(--sans);font-size:15px;
  padding:11px 14px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);}
input[type=range]{width:100%;accent-color:var(--rust);}

/* dials */
.dials{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:20px 0 24px;}
@media (max-width:700px){.dials{grid-template-columns:1fr;}}
.dial label{display:flex;justify-content:space-between;align-items:baseline;
  font-family:var(--sans);font-size:12.5px;font-weight:600;margin-bottom:3px;}
.dial label b{color:var(--rust);font-variant-numeric:tabular-nums;}
.dial .hint{font-family:var(--sans);font-size:11.5px;color:var(--ink-3);margin:0 0 9px;line-height:1.4;}

.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px 26px;}
.headline-num{font-family:var(--serif);font-size:clamp(28px,5vw,40px);font-weight:500;
  line-height:1.12;letter-spacing:-.015em;margin:0 0 6px;}
.headline-num em{font-style:normal;color:var(--rust);}
.sub-num{font-family:var(--sans);font-size:13px;color:var(--ink-3);margin:0 0 20px;line-height:1.55;}
.note{font-family:var(--sans);font-size:12px;color:var(--ink-3);line-height:1.6;margin:0;
  border-left:2px solid var(--line);padding-left:13px;}

/* people grid */
.people{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 12px;}
.person{width:13px;height:13px;background:var(--grey);filter:url(#rough);}
.person.freed{background:var(--blue);opacity:.5;}
.person.added{background:var(--orange);}
