:root{--color-bg:#fff;--color-text:#1f1f1f;--color-muted:#595959;--color-line:#e0e0e0;--color-accent:#1f1f1f;--color-accent-text:#fff;--font-body:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;--text-body:1.0625rem;--text-article:1.125rem;--leading:1.8;--tap:44px;--measure:40rem}*{box-sizing:border-box}html{font-size:16px}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;height:auto;display:block}a{color:inherit}.container{max-width:64rem;margin:0 auto;padding:0 1rem}.prose{max-width:var(--measure);font-size:var(--text-article)}.prose p{margin:0 0 1.4em}.prose h2{margin:2em 0 .8em;font-size:1.35em;line-height:1.4}.prose h3{margin:1.6em 0 .6em;font-size:1.15em;line-height:1.4}.prose img{margin:1.5em 0}.btn{min-height:var(--tap);background:var(--color-accent);color:var(--color-accent-text);border-radius:999px;justify-content:center;align-items:center;padding:0 1.5rem;font-weight:600;text-decoration:none;display:inline-flex}.tap{min-height:var(--tap);align-items:center;display:inline-flex}.site-header{border-bottom:1px solid var(--color-line)}.site-header .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-height:3.5rem;display:flex}.site-header nav{flex-wrap:wrap;gap:.25rem;display:flex}.site-header nav a{padding:0 .75rem;text-decoration:none}.site-footer{border-top:1px solid var(--color-line);color:var(--color-muted);margin-top:4rem;padding:2rem 0;font-size:.95rem}.section{margin:3rem 0}.section h2{margin:0 0 1rem;font-size:1.4rem}.card-grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (min-width:640px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:960px){.card-grid{grid-template-columns:repeat(3,1fr)}}.hero{margin:0 -1rem;position:relative}.hero img{object-fit:cover;width:100%;max-height:70vh}.event-card dl{margin:0}.event-card dl div{gap:.75rem;display:flex}.event-card dt{color:var(--color-muted);min-width:3.5em}.event-card dd{margin:0}.avatar{object-fit:cover;border-radius:50%}
