:root{
  --bg:#ffffff; --fg:#1a1410; --muted:#5c5751; --rule:#e6e0d6;
  --accent:#9a7d24; --accent-bg:#fdfaf2; --card:#faf7f1;
  --maxw:46rem;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#14110d; --fg:#ece7df; --muted:#a39c92; --rule:#2f2a23;
         --accent:#d9b950; --accent-bg:#1b1712; --card:#1a1611; }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  overflow-wrap:break-word;
}
.wrap{max-width:var(--maxw); margin:0 auto; padding:2.5rem 1.25rem 5rem}
header.masthead{border-bottom:2px solid var(--accent); padding-bottom:1.25rem; margin-bottom:2rem}
.brand{font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); font-weight:700; margin:0 0 .5rem}
h1{font-size:1.85rem; line-height:1.25; margin:0 0 .6rem; letter-spacing:-.015em}
.sub{color:var(--muted); margin:0; font-size:.95rem}
.dates{margin:.9rem 0 0; font-size:.875rem; color:var(--muted)}
.dates b{color:var(--fg); font-weight:600}
h2{font-size:1.15rem; margin:2.6rem 0 .85rem; padding-top:.4rem; letter-spacing:-.01em; scroll-margin-top:1rem}
h3{font-size:1rem; margin:1.7rem 0 .6rem; color:var(--fg)}
p,li{color:var(--fg)}
p{margin:0 0 1rem}
ul,ol{margin:0 0 1rem; padding-left:1.35rem}
li{margin:.4rem 0}
a{color:var(--accent); text-decoration:underline; text-underline-offset:2px}
hr{border:0; border-top:1px solid var(--rule); margin:2.5rem 0}
.tablewrap{overflow-x:auto; margin:0 0 1.25rem; -webkit-overflow-scrolling:touch}
table{border-collapse:collapse; width:100%; min-width:30rem; font-size:.925rem}
th,td{text-align:left; padding:.7rem .8rem; border-bottom:1px solid var(--rule); vertical-align:top}
th{background:var(--card); font-weight:600; font-size:.8rem; letter-spacing:.03em; text-transform:uppercase; color:var(--muted)}
.callout{background:var(--accent-bg); border-left:3px solid var(--accent); padding:1rem 1.1rem; margin:0 0 1.25rem; border-radius:0 6px 6px 0}
.callout p:last-child{margin-bottom:0}
.toc{background:var(--card); border:1px solid var(--rule); border-radius:8px; padding:1.1rem 1.25rem; margin:0 0 2rem}
.toc p{font-weight:600; margin:0 0 .6rem; font-size:.9rem}
.toc ol{columns:2; column-gap:1.5rem; margin:0; padding-left:1.2rem; font-size:.9rem}
@media (max-width:34rem){ .toc ol{columns:1} h1{font-size:1.5rem} .wrap{padding:1.75rem 1.1rem 4rem} }
.contact{background:var(--card); border:1px solid var(--rule); border-radius:8px; padding:1.1rem 1.25rem}
.contact p{margin:.2rem 0}
footer{margin-top:3.5rem; padding-top:1.25rem; border-top:1px solid var(--rule); color:var(--muted); font-size:.85rem}
footer a{color:var(--muted)}
