:root { --ink:#222; --muted:#5b5b5b; --brown:#8a3600; --teal:#2a8b98; --line:#dcd6cf; --bg:#fbfaf7; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:17px/1.6 Georgia, "Times New Roman", serif; }
header { background:var(--brown); color:#fff; padding:28px 16px; }
header .wrap, main, footer .wrap { max-width:780px; margin:0 auto; padding:0 16px; }
header h1 { margin:0; font-size:2rem; letter-spacing:.5px; }
header h1 a { color:#fff; text-decoration:none; }
header p { margin:6px 0 0; color:#f3e3d5; font-size:1.05rem; }
main { padding:28px 16px 40px; }
h2 { font-size:1.45rem; color:var(--brown); border-bottom:2px solid var(--line); padding-bottom:6px; margin:36px 0 14px; }
h2:first-child { margin-top:8px; }
p { margin:0 0 14px; }
a { color:var(--teal); }
.notice { background:#fff8e8; border-left:4px solid #e0a800; padding:12px 16px; margin:0 0 18px; }
.program { border:1px solid var(--line); background:#fff; border-radius:8px; padding:18px 20px; margin:18px 0; }
.program h3 { margin:0 0 6px; font-size:1.2rem; }
.program img { width:100%; height:auto; border:1px solid var(--line); border-radius:4px; margin:10px 0 14px; }
.download { display:inline-block; background:var(--teal); color:#fff; text-decoration:none; font-weight:bold; padding:12px 20px; border-radius:6px; margin:6px 0 10px; }
.download:hover { background:#227580; }
.small { color:var(--muted); font-size:.92rem; }
.crumb { font-size:.95rem; margin-bottom:18px; }
footer { border-top:2px solid var(--line); color:var(--muted); font-size:.92rem; padding:18px 16px 30px; }
code { font-family:Consolas, "Courier New", monospace; font-size:.95em; background:#f1ede7; padding:1px 4px; border-radius:3px; }
