:root{--ink:#12100e;--paper:#f7f4ed;--line:#d9d2c5;--mute:#6b6459;--accent:#8a5a2b}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Georgia,"Times New Roman",serif;-webkit-font-smoothing:antialiased}
.wrap{max-width:800px;margin:0 auto;padding:52px 24px 96px}
header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:52px;flex-wrap:wrap;gap:12px}
.mk{font:600 13px/1 ui-monospace,monospace;letter-spacing:.18em;text-transform:uppercase}
nav a{margin-left:18px;color:var(--mute);text-decoration:none;font-size:14px}
nav a:hover{color:var(--ink)}
h1{font-size:clamp(27px,5vw,38px);line-height:1.2;margin:0 0 20px;font-weight:400;letter-spacing:-.01em}
h2{font:600 12px/1 ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:44px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}
h3{font-size:17px;margin:20px 0 6px}
p{color:#26221d;margin:0 0 14px}
small,.mute{color:var(--mute);font-size:14px}
a{color:var(--accent)}
table{width:100%;border-collapse:collapse;margin:10px 0 18px;font-size:15px}
th,td{text-align:left;padding:10px 10px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
th{font:600 11px/1 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
ul{padding-left:20px}li{margin-bottom:6px}
label{display:block;margin:18px 0 6px;font:600 11px/1 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
input,textarea,select{width:100%;padding:11px 12px;border:1px solid var(--line);background:#fff;font:inherit;color:inherit;border-radius:2px}
input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}
textarea{min-height:140px;resize:vertical}
button{margin-top:22px;padding:13px 26px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:600 12px/1 ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
button:hover{background:var(--accent);border-color:var(--accent)}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:6px}
.fig{border:1px solid var(--line);background:#fff;border-radius:2px;overflow:hidden}
.fig a{display:block;background:#fff}
.fig img{width:100%;height:170px;object-fit:contain;display:block;background:#fff}
.fig .cap{padding:9px 11px;font-size:13px;color:var(--mute);border-top:1px solid var(--line)}
.fig .cap b{color:var(--ink);font-weight:600}
footer{margin-top:72px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--mute);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.cat{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:8px}
.card{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);background:#fff;border-radius:2px;padding:16px 16px 14px}
.card:hover{border-color:var(--accent)}
.card .ct{font-size:16px;font-weight:600;margin-bottom:6px}
.card .cd{font-size:14px;color:var(--mute);line-height:1.5;margin-bottom:12px}
.tag{display:inline-block;font:600 10px/1 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;padding:5px 8px;border:1px solid var(--line);color:var(--mute);border-radius:2px}
.tag-open{color:#2f6b3f;border-color:#bcd8c4}
.tag-dev{color:#8a5a2b;border-color:#e0c9ab}
.crumb{font-size:14px;margin-bottom:22px}
