:root{--bg:#FBFAF7;--surface:#FFFFFF;--ink:#15191E;--body:#2F3843;
--muted:#646F7C;--faint:#99A3AE;--line:#E4E0D8;--accent:#B4442C;--accent-soft:#FBEDE9;
--display:'Newsreader', Georgia, 'Times New Roman', serif;--sans:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;--wrap:760px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#14181D;--surface:#1C2127;
--ink:#F2F0EC;--body:#CBD2DA;--line:#2C333B;--muted:#9AA5B1;--accent-soft:#2A1A17}}
:root[data-theme="dark"]{--bg:#14181D;--surface:#1C2127;--ink:#F2F0EC;
--body:#CBD2DA;--line:#2C333B;--muted:#9AA5B1;--accent-soft:#2A1A17}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--body);font-family:var(--sans);
font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
.top{display:flex;gap:24px;align-items:baseline;justify-content:space-between;
padding:20px 16px;max-width:1100px;margin:0 auto}
.brand{font-family:var(--display);font-weight:600;font-size:20px;color:var(--ink);text-decoration:none;
letter-spacing:-.01em}
.top nav{display:flex;gap:18px}
.top nav a{color:var(--muted);text-decoration:none;font-size:15px}
.top nav a:hover{color:var(--accent)}
main{max-width:var(--wrap);margin:0 auto;padding:16px 16px 64px}
.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:24px 0 8px}
h1{font-family:var(--display);font-weight:600;font-size:clamp(34px,6vw,54px);line-height:1.1;
color:var(--ink);margin:0 0 14px;text-wrap:balance;letter-spacing:-.015em}
h2{font-family:var(--display);font-weight:600;font-size:clamp(24px,3.4vw,32px);line-height:1.2;
color:var(--ink);margin:48px 0 12px;text-wrap:balance}
h3{font-family:var(--display);font-weight:600;font-size:22px;color:var(--ink);margin:32px 0 8px}
.lede{font-family:var(--display);font-size:clamp(20px,2.6vw,24px);line-height:1.45;color:var(--muted);margin:0 0 28px}
p{margin:0 0 18px}
a{color:var(--accent)}
figure.photo{margin:32px 0;}
figure.photo img{width:100%;height:auto;display:block;border-radius:2px;background:var(--line)}
figure.photo--wide{margin:28px calc(50% - 50vw);max-width:100vw}
figure.photo--wide img{border-radius:0}
figcaption{font-size:14px;color:var(--muted);margin-top:8px;padding:0 2px}
figcaption .shot{display:block;color:var(--faint);font-size:13px;margin-top:2px}
.facts{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:20px 22px;margin:28px 0}
.facts h2{font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;color:var(--muted);
font-family:var(--sans);font-weight:600}
.facts dl{display:grid;grid-template-columns:minmax(120px,30%) 1fr;gap:8px 18px;margin:0;font-size:16px}
.facts dt{color:var(--muted)}
.facts dd{margin:0;color:var(--ink)}
.note{border-left:3px solid var(--accent);background:var(--accent-soft);padding:14px 18px;margin:28px 0;
border-radius:0 3px 3px 0;font-size:16px}
.note p:last-child{margin:0}
.note-title{font-weight:600;color:var(--ink);margin:0 0 6px}
.book{display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:center;
border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:16px 18px;margin:28px 0}
.book-kind{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 4px}
.book-title{font-family:var(--display);font-size:20px;color:var(--ink);margin:0}
.book-price{color:var(--accent);font-weight:600}
.book-asof{font-size:13px;color:var(--faint)}
.book-btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;
padding:11px 20px;border-radius:3px;font-weight:600;font-size:15px;white-space:nowrap}
.book-tag{grid-column:1/-1;font-size:12px;color:var(--faint);margin:0}
.scroll{overflow-x:auto;margin:24px 0}
table{border-collapse:collapse;width:100%;font-size:16px}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
ul,ol{padding-left:22px;margin:0 0 18px}
li{margin-bottom:7px}
.foot{border-top:1px solid var(--line);margin-top:48px;padding:28px 16px 60px;max-width:var(--wrap);
margin-inline:auto;color:var(--muted);font-size:15px}
.foot .small{font-size:13px;color:var(--faint)}
.index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px;margin:32px 0}
.card{text-decoration:none;color:inherit;display:block}
.card img{width:100%;height:200px;object-fit:cover;border-radius:3px;display:block;background:var(--line)}
.card h3{margin:10px 0 4px;font-size:19px}
.card p{font-size:15px;color:var(--muted);margin:0}
@media (max-width:620px){body{font-size:17px}.book{grid-template-columns:1fr}
.facts dl{grid-template-columns:1fr;gap:2px 0}.facts dt{margin-top:8px}}
