:root{
  --cream:#fbf4e4; --cream-2:#f3e7cc; --bark:#3b2a20; --bark-soft:#5a4638;
  --rust:#a8472a; --rust-dark:#873518; --moss:#3f5d3a; --moss-light:#dfe8d2; --berry:#7a3350;
  --radius:14px; --maxw:960px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:Georgia,"Iowan Old Style","Palatino Linotype",serif; line-height:1.65;
  color:var(--bark); background-color:var(--cream);
  /* subtle cross-stitch grid of tiny Xs */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M10 10l8 8M18 10l-8 8' stroke='%23e6d3ae' stroke-width='2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
}
a{color:var(--rust-dark); text-underline-offset:3px}
a:hover{color:var(--berry)}
:focus-visible{outline:3px solid var(--moss); outline-offset:3px; border-radius:4px}
.skip{position:absolute; left:-999px; top:0; background:var(--bark); color:#fff; padding:.5rem 1rem; z-index:10}
.skip:focus{left:0}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 1.25rem}
header.site{background:var(--bark); color:var(--cream); border-bottom:6px double var(--rust)}
header.site .wrap{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem 1.5rem; padding-top:.9rem; padding-bottom:.9rem}
.brand{display:flex; align-items:center; gap:.6rem; color:var(--cream); text-decoration:none; font-weight:bold; font-size:1.25rem; letter-spacing:.02em}
.brand img{width:36px; height:36px}
nav ul{list-style:none; display:flex; flex-wrap:wrap; gap:.25rem 1.1rem; margin:0; padding:0}
nav a{color:var(--cream); text-decoration:none; padding:.25rem 0; border-bottom:2px dotted transparent}
nav a:hover,nav a[aria-current="page"]{border-bottom-color:#e9b48f; color:#fff}
h1,h2,h3{line-height:1.2; font-weight:bold}
h1{font-size:clamp(2rem,6vw,3.2rem); margin:.2em 0}
h2{font-size:1.5rem; margin:2rem 0 .5rem}
h3{font-size:1.15rem; margin:1.25rem 0 .25rem}
.stitch-rule{height:14px; margin:1.5rem 0; border:0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14'%3E%3Cpath d='M9 3l8 8M17 3l-8 8' stroke='%23a8472a' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x center}
.hero{text-align:center; padding:3.5rem 0 2rem}
.hero .eyebrow{color:var(--moss); font-weight:bold; letter-spacing:.14em; text-transform:uppercase; font-size:.85rem}
.hero .tagline{font-size:clamp(1.2rem,3.5vw,1.7rem); color:var(--rust-dark); font-style:italic; margin:.2rem 0 1rem}
.hero p.lead{max-width:40rem; margin:0 auto 1.5rem; font-size:1.1rem; color:var(--bark-soft)}
.big-x{width:84px; height:84px; margin:0 auto .5rem; display:block}
.btn{display:inline-block; background:var(--rust-dark); color:#fff; padding:.75rem 1.4rem; border-radius:999px; text-decoration:none; font-weight:bold; border:2px dashed #f6d9bf; box-shadow:0 0 0 3px var(--rust-dark)}
.btn:hover{background:var(--berry); color:#fff; box-shadow:0 0 0 3px var(--berry)}
.grid{display:grid; gap:1.25rem; grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr)); padding:0; margin:1.5rem 0; list-style:none}
.card{background:#fffaf0; border:2px dashed #c9a877; border-radius:var(--radius); padding:1.25rem; box-shadow:0 2px 0 #e2cfa6}
.card h3{margin-top:.25rem}
.card .ico{width:40px; height:40px; display:block}
.notice{background:var(--moss-light); border-left:6px solid var(--moss); border-radius:8px; padding:1rem 1.25rem; margin:1.5rem 0}
.notice.draft{background:#fff1c9; border-left-color:#b07a00}
.notice p{margin:.25rem 0}
main{padding-bottom:3rem}
article.doc{background:#fffaf0; border:2px dashed #c9a877; border-radius:var(--radius); padding:1.5rem clamp(1rem,4vw,2.5rem); margin-top:1.5rem}
article.doc h1{font-size:clamp(1.8rem,5vw,2.4rem)}
article.doc ul{padding-left:1.3rem}
article.doc li{margin:.25rem 0}
.meta{color:var(--bark-soft); font-style:italic}
details{background:#fffaf0; border:2px dashed #c9a877; border-radius:10px; padding:.75rem 1rem; margin:.75rem 0}
summary{cursor:pointer; font-weight:bold}
table{border-collapse:collapse; width:100%; margin:1rem 0}
th,td{border:1px solid #d9c196; padding:.5rem .65rem; text-align:left; vertical-align:top}
th{background:var(--cream-2)}
.table-scroll{overflow-x:auto}
footer.site{background:var(--bark); color:var(--cream); border-top:6px double var(--rust); padding:1.5rem 0; font-size:.95rem}
footer.site a{color:#f5c9a8}
footer.site ul{list-style:none; padding:0; margin:.5rem 0; display:flex; flex-wrap:wrap; gap:.25rem 1.2rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{header.site,footer.site{display:none} body{background:#fff}}
