:root { color-scheme: light; --paper:#f5f1e9; --ink:#282321; --muted:#5f554e; --accent:#602b36; --line:#d9d0c6; }
* { box-sizing: border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font: 16px/1.9 system-ui,"Hiragino Sans",sans-serif; }
a { color:var(--accent); text-underline-offset:.2em; }
a:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.masthead { border-bottom:1px solid var(--line); }
.masthead div { max-width:980px; margin:auto; padding:14px 20px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.masthead a { font-size:14px; font-weight:600; }
.masthead small { color:var(--muted); letter-spacing:.12em; display:block; }
main { max-width:760px; margin:auto; padding:25px 20px 55px; }
.crumb { margin:0 0 30px; font-size:13px; }
.eyebrow { color:var(--accent); font-size:12px; font-weight:650; letter-spacing:.16em; margin:0 0 7px; }
h1,h2 { font-family:"Hiragino Mincho ProN","Yu Mincho",serif; }
h1 { font-size:clamp(27px,5vw,44px); line-height:1.45; margin:0 0 13px; }
h2 { font-size:clamp(20px,3vw,25px); line-height:1.55; margin:0 0 8px; }
.lead { color:var(--muted); margin:0 0 15px; }
.disclosure { display:inline-block; padding:4px 11px; background:#efe2da; color:#4f3238; border:1px solid var(--line); font-size:14px; margin:0 0 12px; }
figure { margin:12px 0 30px; }
figure img { width:100%; height:auto; display:block; border-radius:6px; }
figcaption { color:var(--muted); font-size:13px; margin-top:4px; }
article > section, aside, .related { margin:26px 0 0; }
article section p, aside p { margin:0 0 10px; }
.affiliate { padding:16px 18px; background:#efe2da; border:1px solid var(--line); border-radius:6px; }
.affiliate p:last-child { margin-bottom:0; }
.reference,.related { border-top:1px solid var(--line); padding-top:17px; }
ul { margin:0; padding-left:1.35em; }
li { margin:.35em 0; }
footer { border-top:1px solid var(--line); padding:16px 20px; text-align:center; color:var(--muted); font-size:13px; }
