@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Source+Serif+4:opsz,wght@8..60,600&display=swap');

:root { font-family: "DM Sans", system-ui, sans-serif; color: #22251f; background: #f8f7f2; }
* { box-sizing: border-box; }
body { margin: 0; }
main { width: min(100% - 32px, 40rem); margin: 0 auto; padding: 48px 0 56px; }
header { border-bottom: 1px solid #d9d8d0; padding-bottom: 28px; }
.eyebrow, .kind { color: #a14d27; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.eyebrow { margin: 0 0 8px; }
h1, h2 { font-family: "Source Serif 4", Georgia, serif; }
h1 { margin: 0; font-size: clamp(1.7rem, 6vw, 2rem); line-height: 1.14; }
.intro { max-width: 34rem; margin: 14px 0 0; color: #62665d; line-height: 1.55; }
.place-list { margin-top: 8px; }
.place { padding: 24px 0; border-bottom: 1px solid #d9d8d0; }
.place-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.kind { margin: 0 0 5px; font-size: 0.68rem; }
h2 { margin: 0; font-size: 1.3rem; line-height: 1.2; }
.place-heading a { flex: 0 0 auto; color: #9a4522; font-size: 0.9rem; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.meta, .cuisine, .detail, .note { margin: 0; }
.meta { margin-top: 5px; color: #67695f; font-size: 0.89rem; }
.cuisine { margin-top: 14px; font-weight: 600; }
.detail { margin-top: 7px; color: #51544c; font-size: 0.94rem; line-height: 1.45; }
.note { margin-top: 11px; color: #6a513e; font-size: 0.94rem; line-height: 1.45; }
.footnote { margin: 24px 0 0; color: #777970; font-size: 0.82rem; line-height: 1.45; }
@media (max-width: 420px) { main { width: min(100% - 24px, 40rem); padding-top: 32px; } .place-heading { gap: 10px; } }
