
:root { --ink:#1f2721; --cream:#fbf7ee; --paper:#fffdf8; --accent:#8b3a22; --muted:#6d726c; }
* { box-sizing:border-box; }
body { margin:0; font:17px/1.6 Georgia, 'Times New Roman', serif; color:var(--ink); background:var(--cream); }
.notice { background:#28392d; color:white; padding:.7rem 1rem; text-align:center; font:14px/1.4 Arial,sans-serif; }
header { background:var(--paper); border-bottom:1px solid #e4dac8; }
.brand { max-width:1100px; padding:2rem 1.2rem 1rem; margin:auto; display:flex; gap:1rem; align-items:center; }
.brand img { width:72px; height:72px; object-fit:contain; }
.brand h1 { margin:0; font-size:clamp(1.7rem,4vw,2.7rem); line-height:1; }
.brand p { margin:.3rem 0 0; color:var(--muted); font:14px/1.3 Arial,sans-serif; letter-spacing:.06em; text-transform:uppercase; }
nav { max-width:1100px; margin:auto; padding:0 1.2rem 1rem; display:flex; flex-wrap:wrap; gap:.35rem 1rem; }
nav a { color:var(--accent); text-decoration:none; font:600 14px Arial,sans-serif; }
nav a:hover { text-decoration:underline; }
main { max-width:1000px; margin:2.2rem auto; padding:0 1.2rem 3rem; }
.archive-source { color:var(--muted); font:13px/1.4 Arial,sans-serif; border-left:3px solid #c9a166; padding-left:.75rem; margin:0 0 2rem; }
.page-content { background:var(--paper); padding:clamp(1.2rem,4vw,3rem); box-shadow:0 8px 25px #3d33230f; }
.page-content h1,.page-content h2,.page-content h3 { line-height:1.18; color:#583321; }
.page-content h1 { font-size:clamp(1.8rem,4vw,3rem); margin-top:0; }
.page-content h2 { margin-top:2rem; }
.page-content img { max-width:100%; height:auto; border-radius:3px; }
.gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; margin:1.5rem 0; }
.gallery img { width:100%; height:180px; object-fit:cover; border-radius:4px; }
.page-content a { color:var(--accent); }
.page-content table { width:100%; border-collapse:collapse; }
.page-content td,.page-content th { padding:.45rem; border-bottom:1px solid #e9dfd1; text-align:left; }
footer { border-top:1px solid #e4dac8; background:var(--paper); padding:2rem 1.2rem; color:var(--muted); font:14px/1.5 Arial,sans-serif; }
footer > div { max-width:1000px; margin:auto; }
@media (max-width:600px) { body { font-size:16px; } .brand { padding-top:1.3rem; } .page-content { padding:1.25rem; } }
