body.participation-page { margin: 0; color: #191717; background: #f8f6f3; font: 1rem/1.6 system-ui, sans-serif; }
.participation-header, .participation-main { box-sizing: border-box; width: min(100%, 68rem); margin-inline: auto; padding-inline: clamp(1rem, 4vw, 3rem); }
.participation-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 2rem; padding-block: 1rem; border-bottom: 1px solid #d8d1cc; }
.participation-header > a { font-weight: 900; text-decoration: none; color: inherit; }
.participation-header span, .participation-label { color: #981631; }
.participation-header nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.participation-header nav a { color: inherit; }
.participation-main { padding-block: clamp(2rem, 6vw, 5rem); }
.participation-main h1 { font-size: clamp(2.2rem, 6vw, 4rem); line-height: 1.05; margin: .25em 0; }
.participation-main h2, .participation-main h3 { line-height: 1.2; margin-block: .35em; }
.participation-label { font-size: .78rem; font-weight: 750; letter-spacing: .08em; }
.participation-intro { max-width: 42rem; }
.participation-feature { background: #fff; border-inline-start: .3rem solid #981631; padding: clamp(1rem, 4vw, 2rem); margin-block: 2rem; }
.participation-button { display: inline-block; padding: .65em .9em; color: #fff; background: #981631; font-weight: 700; text-decoration: none; }
.participation-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1rem; }
.participation-grid article { padding: 1rem; border: 1px solid #d8d1cc; background: #fff; }
.participation-page a:focus-visible { outline: 3px solid #191717; outline-offset: 4px; }
