:root { --bg: #fbf8f3; --fg: #2b2622; --muted: #7a6f66; --line: #e7dfd4; --accent: #a0522d; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 16px/1.8 "Hiragino Mincho ProN", "Yu Mincho", serif; }
a { color: var(--accent); }
.wrap { max-width: 880px; margin: 0 auto; padding: 0 16px; }
header { border-bottom: 1px solid var(--line); }
header .wrap { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding-top: 16px; padding-bottom: 16px; }
header .logo { font-size: 22px; letter-spacing: .2em; color: var(--fg); text-decoration: none; }
header nav a { margin-left: 16px; color: var(--fg); text-decoration: none; font-size: 14px; }
.hero { padding: 64px 0 48px; }
.hero h1 { font-size: 28px; font-weight: normal; letter-spacing: .1em; margin: 0 0 12px; }
.hero p { color: var(--muted); margin: 0; }
h2 { font-size: 18px; font-weight: normal; letter-spacing: .1em; border-bottom: 1px solid var(--line); padding-bottom: 8px; }
ul.news { list-style: none; padding: 0; margin: 0 0 48px; }
ul.news li { display: flex; gap: 16px; padding: 12px 0; border-bottom: 1px dashed var(--line); }
ul.news .date { color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
dl.info { display: grid; grid-template-columns: 7em 1fr; gap: 8px 16px; margin: 0 0 48px; }
dl.info dt { color: var(--muted); }
dl.info dd { margin: 0; }
.layout { display: grid; grid-template-columns: 1fr 220px; gap: 48px; padding: 48px 0; }
@media (max-width: 720px) { .layout { grid-template-columns: 1fr; } }
article .date { color: var(--muted); font-size: 14px; }
article h1 { font-size: 22px; font-weight: normal; margin: 4px 0 24px; }
aside h3 { font-size: 14px; color: var(--muted); font-weight: normal; letter-spacing: .1em; }
aside ul { list-style: none; padding: 0; margin: 0; font-size: 14px; }
aside li { padding: 8px 0; border-bottom: 1px dashed var(--line); }
aside li span { display: block; color: var(--muted); font-size: 12px; }
footer { border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; padding: 24px 0 48px; }
