:root{--paper:#f3ecdd;--paper2:#e9dfca;--ink:#2b2420;--muted:#6b5f55;--oxblood:#7a2e2a;--thread:#b8863b;--rule:#cdbf9f}
*{box-sizing:border-box}
html{font-size:17px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Iowan Old Style","Palatino Linotype",Palatino,serif;line-height:1.65;display:grid;grid-template-columns:15rem 1fr;min-height:100vh}
a{color:var(--oxblood);text-underline-offset:3px}
a:hover{color:var(--ink)}
.side{background:var(--paper2);border-right:1px solid var(--rule);padding:2rem 1.5rem;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:2rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink)}
.brand img{width:2.2rem;height:2.2rem}
.brand span{font-size:1.25rem;letter-spacing:.04em;font-variant:small-caps}
.side nav{display:flex;flex-direction:column;gap:.2rem}
.side nav a{text-decoration:none;color:var(--ink);padding:.35rem 0 .35rem .8rem;border-left:3px solid transparent;font-style:italic}
.side nav a:hover{border-left-color:var(--thread)}
.side nav a[aria-current="page"]{border-left-color:var(--oxblood);color:var(--oxblood);font-weight:bold}
.side .addr{margin-top:auto;font-size:.8rem;color:var(--muted);line-height:1.5}
main{padding:3.5rem 4vw 3rem;max-width:46rem}
h1{font-size:2.5rem;line-height:1.15;font-weight:normal;margin:0 0 1.2rem}
h2{font-size:1.3rem;font-weight:normal;font-style:italic;color:var(--oxblood);margin:2.2rem 0 .5rem;border-bottom:1px dotted var(--rule);padding-bottom:.2rem}
.lede{font-size:1.2rem;color:var(--muted)}
.stitch{height:0;border-top:2px dashed var(--thread);margin:2rem 0;width:6rem}
ul.plain{padding-left:1.1rem}
ul.plain li{margin:.3rem 0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;margin:1.5rem 0}
.card{background:#fbf7ec;border:1px solid var(--rule);padding:1rem 1.1rem;border-top:4px solid var(--oxblood)}
.card h3{margin:0 0 .3rem;font-size:1.05rem}
.card p{margin:0;font-size:.92rem;color:var(--muted)}
.note{border-left:3px solid var(--thread);padding:.1rem 0 .1rem 1rem;margin:1.5rem 0}
.note small{color:var(--muted)}
footer{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--rule);font-size:.85rem;color:var(--muted)}
@media(max-width:760px){
body{display:block}
.side{position:static;height:auto;flex-direction:column;gap:.8rem;padding:1rem 1.2rem;border-right:0;border-bottom:1px solid var(--rule)}
.side nav{flex-direction:row;flex-wrap:wrap;gap:.2rem 1rem}
.side nav a{border-left:0;border-bottom:3px solid transparent;padding:.2rem 0}
.side nav a:hover{border-bottom-color:var(--thread)}
.side nav a[aria-current="page"]{border-bottom-color:var(--oxblood)}
.side .addr{margin-top:0}
main{padding:1.8rem 1.2rem 2rem}
h1{font-size:1.9rem}
}
