:root{color-scheme:light;--ink:#37271f;--muted:#695245;--red:#89382b;--line:#d7c7b2;--paper:#f8f2e8;--serif:"Songti SC","Noto Serif CJK SC",STSong,serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 system-ui,sans-serif}
a{color:var(--red);text-underline-offset:.24em}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:2px solid var(--red);outline-offset:5px}
::selection{background:#e6c1a7;color:#37271f}
.mast{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding-block:10px;border-block-end:1px solid var(--line)}
.mast,.index,.story,.site-foot{width:min(100% - 40px,1060px);margin-inline:auto}
.mast a,.site-foot a{text-decoration:none}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font:700 21px var(--serif);letter-spacing:.07em}
.brand img{display:block}
.enter,.crumb{font-size:14px}
.index h1,.story h1{font-family:var(--serif);line-height:1.15;letter-spacing:-.025em;margin:0;text-wrap:balance}
.index h1{font-size:clamp(58px,11vw,112px)}
.index-intro{position:relative;min-height:clamp(280px,44vw,454px);display:grid;align-content:end;overflow:hidden;margin-block:20px 40px;padding:clamp(22px,5.5vw,68px);background:#382e25;color:#fff3df}
.index-intro img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.index-intro:after{position:absolute;inset:0;content:"";background:linear-gradient(0deg,#231a13e8 3%,#2119132e 78%)}
.index-intro h1,.index-intro p{position:relative;z-index:1}
.index-intro p{margin:.45rem 0 0;color:#fff3df}
.index-sections{display:grid;grid-template-columns:1.65fr 1fr;gap:clamp(26px,6vw,74px);padding-bottom:56px}
h2{font:700 27px/1.4 var(--serif)}
.index-sections h2{margin:0 0 10px}
.contents{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.contents li{border-bottom:1px solid var(--line)}
.contents a{display:block;padding:13px 0;text-decoration:none;color:var(--ink)}
.contents a:hover strong{color:var(--red);text-decoration:underline}
.contents strong{display:block;font:700 21px/1.4 var(--serif)}
.contents span{display:block;color:var(--muted);font-size:14px;margin-top:3px}
.story{max-width:740px;padding-block:27px 58px}
.story h1{font-size:clamp(37px,7vw,70px);margin-block:27px 11px}
.standfirst{font:clamp(17px,2.3vw,21px)/1.75 var(--serif);color:var(--muted);margin:0 0 20px}
.story figure{margin:0 0 36px}
.plate{display:grid;place-items:center;height:clamp(250px,53vw,425px);background:#eae0d1;overflow:hidden}
.plate img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;padding:15px}
.plate.scenic img{object-fit:cover;padding:0}
figcaption{font-size:13px;color:var(--muted);margin-top:5px}
.prose p{margin:0;max-width:65ch;line-height:1.95}
.prose section + section{margin-top:26px}
.prose h2{margin:0 0 9px;font-size:24px}
.sources{margin-top:28px;padding:12px 0;border-block:1px solid var(--line);font-size:14px;overflow-wrap:anywhere}
.sources summary{cursor:pointer;font-weight:600}
.sources ol{margin-bottom:0;padding-left:22px}
.story-links{margin-top:24px}
.story-links h2{font-size:21px}
.story-links ul{display:flex;flex-wrap:wrap;gap:7px 21px;list-style:none;padding:0}
.visit{display:inline-block;background:var(--red);color:#fff5e5;text-decoration:none;padding:8px 19px;border-radius:3px;font-weight:650}
.visit:hover{background:#6e291f}
.site-foot{border-top:1px solid var(--line);padding-block:16px 25px;color:var(--muted);font-size:13px}
@media(max-width:620px){.index-sections{grid-template-columns:1fr;gap:30px}.index-intro{margin-bottom:27px}.story{padding-top:19px}.story h1{margin-top:20px}}
