*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:#faf7f2;color:#2c2416;font-family:Georgia,serif;line-height:1.8;display:grid;grid-template-columns:140px 1fr;min-height:100vh}
.rail{background:#f0e9df;padding:32px 12px;border-right:1px solid #e0d6c8}
.rail a{display:block;color:#2c2416;text-decoration:none;padding:14px 8px;font-size:1.1rem;letter-spacing:.05em}
.rail a.on{color:#c0392b;border-left:4px solid #c0392b;padding-left:10px}
.page{padding:40px 36px 80px;max-width:760px}
h1{font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.05;margin:0 0 20px;font-weight:normal}
h2{font-size:1.2rem;margin:36px 0 14px;color:#c0392b;font-weight:normal}
p,li{margin:0 0 15px}
ul{margin:0 0 15px 1.3em}
img{width:100%;height:auto;display:block;margin:18px 0}
.cap{color:#7a6b5a;font-size:.86rem;margin:-10px 0 20px;font-style:italic}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.gallery img{margin:0}
.quote{font-size:1.15rem;border-left:3px solid #c0392b;padding-left:16px;margin:20px 0;color:#5a4a3a}
table{width:100%;border-collapse:collapse;margin:12px 0 20px;font-size:.94rem;background:#fff}
th,td{border-bottom:1px solid #e8dfd0;padding:9px 6px;text-align:left}
th{color:#c0392b;font-weight:normal}
.note{background:#fff;padding:16px;margin:22px 0;font-size:.92rem;border-top:3px solid #c0392b}
.end{color:#7a6b5a;font-size:.9rem}
a{color:#c0392b}
@media(max-width:700px){body{grid-template-columns:1fr}.rail{display:flex;flex-wrap:wrap;border-right:none;border-bottom:1px solid #e0d6c8}.gallery{grid-template-columns:1fr}}
