@charset "UTF-8";

:root{--red:#981418;--red-2:#740f12;--red-tint:#f3e4e4;--ink:#2b2b2b;--ink-2:#4f4f4f;--ink-3:#8a8784;--line:#e6e3df;--line-2:#d8d4ce;--bg-soft:#f5f4f2;--shadow:0 2px 6px rgba(40,30,28,.06),0 14px 34px -20px rgba(40,30,28,.30);--serif:'Lora',Georgia,serif;--sans:'Noto Sans','Helvetica Neue',Helvetica,sans-serif;--maxw:1640px;--gutter:clamp(16px,2vw,32px)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:var(--sans);background:#fff;color:var(--ink-2);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit;background:none;border:0;color:inherit;cursor:pointer}
.container{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.crumbs{padding:24px 0 0;font-size:13px;color:var(--ink-3)}.crumbs ol{list-style:none;display:flex;gap:8px;align-items:center}.crumbs a:hover{color:var(--red)}.crumbs .sep{opacity:.5}.crumbs .cur{color:var(--ink-2)}
.intro{background:var(--bg-soft);margin-top:22px}.intro-in{padding-block:46px}
.intro h1{font-family:var(--serif);font-weight:600;font-size:clamp(34px,4vw,52px);line-height:1.05;color:var(--ink);letter-spacing:-.01em}
.rule{height:3px;width:100%;max-width:420px;background:var(--red);margin:20px 0 0;border-radius:2px}
.intro .stand{margin-top:14px;font-family:var(--serif);font-style:italic;color:var(--red);font-size:19px}
.body{display:grid;grid-template-columns:minmax(0,860px) 280px;gap:72px;padding-block:56px;justify-content:start}
.body.one{grid-template-columns:minmax(0,860px)}
.prose h3{font-family:var(--serif);font-weight:600;color:var(--red);font-size:clamp(22px,2.2vw,28px);line-height:1.2;margin:46px 0 14px;scroll-margin-top:120px;letter-spacing:.01em}
.prose h3:first-child{margin-top:0}
.prose h4{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:19px;margin:28px 0 10px;letter-spacing:.01em}
.prose p{margin:0 0 16px}.prose ul{margin:0 0 18px;padding-left:1.3em}.prose li{margin-bottom:7px}.prose li::marker{color:var(--red)}
.prose strong{color:var(--ink)}.prose a{color:var(--red);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.prose a:hover{color:var(--red-2)}
.prose code{background:var(--bg-soft);padding:1px 6px;border-radius:4px;font-size:.9em}
.prose .addr{margin:0 0 18px;line-height:1.7}
.toc{position:sticky;top:130px;align-self:start;font-size:14px}
.toc .t{font-family:var(--serif);font-weight:600;font-size:18px;color:var(--ink);padding-bottom:12px;margin-bottom:8px;border-bottom:2px solid var(--red)}
.toc a{display:block;padding:7px 0 7px 12px;border-left:2px solid var(--line);color:var(--ink-2);line-height:1.35;transition:color .2s,border-color .2s}
.toc a:hover,.toc a.on{color:var(--red);border-left-color:var(--red)}
.hist li{margin-bottom:10px}
@media(max-width:1000px){.body{grid-template-columns:1fr;gap:30px}.toc{display:none}}
.kgrid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:56px;padding-block:56px;max-width:1240px}.kform{display:grid;gap:18px}.kform label{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.kform input,.kform textarea{width:100%;border:1px solid var(--line-2);border-radius:6px;padding:14px 16px;font:inherit;font-size:16px;background:#fff;transition:border-color .2s,box-shadow .2s}.kform input:focus,.kform textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 4px var(--red-tint)}.kform textarea{min-height:200px;resize:vertical}.kn{font-size:13.5px;color:var(--ink-3)}.kn a{color:var(--red);text-decoration:underline}.btn{display:inline-flex;padding:14px 30px;border-radius:6px;background:var(--red);color:#fff;font-weight:700;font-size:15px;transition:background .2s,transform .2s}.btn:hover{background:var(--red-2);transform:translateY(-1px)}.kok{display:none;color:var(--red);font-weight:700}.kcard{background:var(--bg-soft);border-radius:4px;padding:30px;align-self:start;box-shadow:var(--shadow)}.kcard h3{font-family:var(--serif);font-weight:600;font-size:24px;color:var(--ink)}.kcard p{margin-top:14px}.kcard a:hover{color:var(--red)}.ksoc{display:flex;gap:18px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line-2);font-family:var(--serif);font-style:italic;color:var(--red);font-size:17px}@media(max-width:900px){.kgrid{grid-template-columns:1fr}}