:root { color-scheme: light; font-family: Arial, sans-serif; color: #182537; background: #f7f5ef; }
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.65; }
main { width: min(880px, 100% - 40px); margin: 48px auto; }
a { color: #234e73; text-underline-offset: 3px; }
a:hover { color: #7c5818; }
nav { display: flex; gap: 12px 24px; flex-wrap: wrap; margin-bottom: 32px; font-size: .95rem; }
h1, h2, h3 { line-height: 1.2; }
h1 { font-size: clamp(2rem, 6vw, 3.1rem); margin: 8px 0 20px; }
h2 { margin-top: 36px; }
.eyebrow { letter-spacing: .14em; text-transform: uppercase; color: #805c22; font-weight: bold; font-size: .8rem; }
.notice { border-left: 4px solid #b48a45; background: #eee7d9; padding: 16px 20px; margin: 24px 0; }
.source { font-size: .9rem; color: #536170; border-top: 1px solid #d4d8dc; padding-top: 18px; margin-top: 24px; }
code { overflow-wrap: anywhere; font-size: .9em; }
.original { background: white; border: 1px solid #e0dfd8; border-radius: 8px; padding: 12px 28px 24px; }
.original ul { padding-left: 22px; }
.original hr { border: 0; border-top: 1px solid #e0dfd8; margin: 28px 0; }
.flyer { display: block; max-width: 100%; max-height: 1000px; height: auto; margin: 20px auto; }
section { scroll-margin-top: 24px; }
footer { font-size: .9rem; border-top: 1px solid #d4d8dc; padding-top: 24px; margin-top: 36px; }
@media (max-width: 520px) { main { margin: 28px auto; } .original { padding: 10px 18px 20px; } }
