:root{
  --paper:#F2F1ED; --panel:#FFFFFF; --panel-2:#E9E8E2;
  --ink:#171C22; --ink-soft:#48525C; --ink-faint:#78818B;
  --rule:#D8D6CF; --rule-soft:#E6E4DE;
  --oxide:#9C4221; --oxide-soft:#F5E9E3;
  --moss:#4A5D45; --moss-soft:#E7EBE4;
  --amber:#8A5A0B; --amber-soft:#F7EEDC;
  --slate:#3D4E5C;
  --display:"Newsreader",Georgia,serif;
  --sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#12171C; --panel:#191F25; --panel-2:#222A31;
  --ink:#E8E9E6; --ink-soft:#A6AEB6; --ink-faint:#7C858E;
  --rule:#2B343C; --rule-soft:#232B32;
  --oxide:#D2704A; --oxide-soft:#2B1C16;
  --moss:#8AA382; --moss-soft:#1B2419;
  --amber:#D9A23C; --amber-soft:#2A2214; --slate:#9FB3C4;}}
:root[data-theme="dark"]{
  --paper:#12171C; --panel:#191F25; --panel-2:#222A31;
  --ink:#E8E9E6; --ink-soft:#A6AEB6; --ink-faint:#7C858E;
  --rule:#2B343C; --rule-soft:#232B32;
  --oxide:#D2704A; --oxide-soft:#2B1C16;
  --moss:#8AA382; --moss-soft:#1B2419;
  --amber:#D9A23C; --amber-soft:#2A2214; --slate:#9FB3C4;}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased}
.wrap{max-width:44rem;margin:0 auto;padding:0 1.3rem 5rem}

header.site{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:20}
.bar{max-width:44rem;margin:0 auto;padding:.9rem 1.3rem;display:flex;align-items:center;gap:1rem}
.mark{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink);margin-right:auto}
.mark-cube{width:1.8rem;height:1.8rem;border:1.4px solid var(--ink);display:grid;place-items:center;
  font-family:var(--mono);font-size:.62rem;font-weight:500}
.mark-name{font-family:var(--display);font-size:1rem;font-weight:500;letter-spacing:-.01em}
.btn{display:inline-block;font-size:.87rem;font-weight:600;padding:.5rem .95rem;border-radius:2px;
  text-decoration:none;border:1.5px solid transparent;white-space:nowrap}
.btn-solid{background:var(--oxide);color:#fff;border-color:var(--oxide)}
.btn-solid:hover{filter:brightness(1.08)}

.crumb{font-family:var(--mono);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-faint);margin:2.2rem 0 .9rem}
.crumb a{color:var(--ink-faint);text-decoration:none}
.crumb a:hover{color:var(--oxide)}
h1{font-family:var(--display);font-weight:400;font-size:clamp(1.95rem,5.2vw,2.9rem);line-height:1.08;
  letter-spacing:-.026em;margin:0 0 1rem;text-wrap:balance}
.standfirst{font-size:1.12rem;line-height:1.6;color:var(--ink-soft);margin:0 0 1.6rem}
.byline{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-faint);padding-bottom:1.6rem;border-bottom:1px solid var(--rule);margin-bottom:2rem}
h2{font-family:var(--display);font-weight:400;font-size:clamp(1.4rem,3.4vw,1.95rem);line-height:1.14;
  letter-spacing:-.018em;margin:2.8rem 0 .7rem;text-wrap:balance}
h3{font-size:1.02rem;font-weight:700;margin:1.9rem 0 .4rem}
p{margin:0 0 1.05rem}
a{color:var(--oxide)}
ul,ol{margin:0 0 1.15rem;padding-left:1.3rem}
li{margin-bottom:.42rem}
strong{font-weight:600}

.tablewrap{overflow-x:auto;margin:1.1rem 0 1.6rem;border:1px solid var(--rule);border-radius:6px}
table{border-collapse:collapse;width:100%;min-width:24rem;background:var(--panel)}
th,td{text-align:left;padding:.62rem .85rem;border-bottom:1px solid var(--rule-soft);font-size:.94rem;vertical-align:top}
th{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-faint);background:var(--panel-2);white-space:nowrap}
tr:last-child td{border-bottom:0}
td.num{font-variant-numeric:tabular-nums;white-space:nowrap}

.note{border-left:3px solid var(--moss);background:var(--moss-soft);padding:.95rem 1.1rem;
  border-radius:0 6px 6px 0;margin:1.3rem 0}
.note.warn{border-left-color:var(--amber);background:var(--amber-soft)}
.note.law{border-left-color:var(--slate);background:var(--panel-2)}
.note p{margin:0;font-size:.96rem}
.note p+p{margin-top:.55rem}
.note-label{font-family:var(--mono);font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;
  display:block;margin-bottom:.35rem;color:var(--ink-soft)}

/* the printable checklist */
.check{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:1.2rem 1.35rem;margin:1.2rem 0 1.8rem}
.check h3{margin:0 0 .7rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--oxide);font-weight:600}
.check ul{list-style:none;margin:0;padding:0}
.check li{display:grid;grid-template-columns:1.1rem 1fr;gap:.7rem;align-items:start;
  padding:.42rem 0;border-bottom:1px solid var(--rule-soft);margin:0;font-size:.95rem}
.check li:last-child{border-bottom:0}
.check li::before{content:"";width:.85rem;height:.85rem;border:1.4px solid var(--rule);
  border-radius:2px;margin-top:.32rem}

.cta{background:var(--panel);border:1px solid var(--rule);border-left:3px solid var(--oxide);
  border-radius:0 6px 6px 0;padding:1.4rem 1.5rem;margin:2.6rem 0 1rem}
.cta h3{font-family:var(--display);font-weight:400;font-size:1.35rem;letter-spacing:-.02em;margin:0 0 .5rem}
.cta p{font-size:.97rem;color:var(--ink-soft);margin:0 0 1rem}

.related{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--rule)}
.related h3{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-faint);font-weight:500;margin:0 0 .7rem}
.related ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
.related a{text-decoration:none;font-weight:500;font-size:.96rem}
.related a:hover{text-decoration:underline}

footer{border-top:1px solid var(--rule);margin-top:3rem;padding:1.6rem 0 3rem;
  color:var(--ink-faint);font-size:.85rem;line-height:1.6}

/* Same touch-target floor as the main site: 44px minimum on a phone. */
@media (pointer:coarse), (max-width:800px){
  .btn{padding-top:.78rem;padding-bottom:.78rem}
  .related a{display:inline-block;padding:.3rem 0}
}
