.activity-nav { max-width: 1200px; margin: 0 auto; padding: 18px 32px; display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.activity-brand { font: 600 1.15rem 'Source Serif 4',Georgia,serif; text-decoration: none; color: #071b34; }
.activity-nav details { position: relative; }
.activity-nav summary { cursor: pointer; list-style: none; background: #092d59; color: #fff; border-radius: 28px; padding: 12px 20px; min-height: 20px; }
.activity-nav summary::-webkit-details-marker { display: none; }
.activity-nav details div { position: absolute; right: 0; top: 52px; width: 210px; background: #fff; box-shadow: 0 12px 32px #10283e24; border-radius: 12px; padding: 12px; z-index: 3; }
.activity-nav details a { display: flex; align-items: center; min-height: 44px; padding: 0 12px; }
.activities-page { max-width: 1200px; margin: 0 auto; padding: 36px 32px 64px; }
.activities-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; position: relative; margin-bottom: 40px; }
.activities-intro h1 { font: 500 clamp(2.6rem,5vw,4.5rem)/1.05 'Source Serif 4',Georgia,serif; letter-spacing: -.035em; margin: 18px 0; }
.activities-intro p { max-width: 52ch; line-height: 1.7; }
.activities-kicker { color: #4a5b6b; margin: 0; }
.activities-intro img { width: 100%; height: 320px; object-fit: cover; border-radius: 60px 12px 12px 12px; }
.activities-credit { position: absolute; right: 12px; bottom: 12px; background: #fff; padding: 8px 12px; border-radius: 4px; font-size: .75rem; }
.activity-filters { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 18px; padding: 24px; background: #eef2f4; border-radius: 16px; }
.activity-filters label { display: grid; gap: 8px; color: #233b4d; font-size: .875rem; }
.activity-filters input,.activity-filters select { min-height: 48px; width: 100%; border: 1px solid #b4c0c7; border-radius: 6px; padding: 10px; background: #fff; color: #071b34; font: inherit; font-size: 16px; box-sizing: border-box; }
.activity-filters button { align-self: end; min-height: 48px; border: 0; background: transparent; color: #092d59; text-decoration: underline; font: inherit; cursor: pointer; }
.activity-summary { display: flex; gap: 16px; justify-content: space-between; align-items: center; flex-wrap: wrap; margin: 28px 0 12px; font-size: .9rem; }
.activities-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 32px; }
.activity-card { border-top: 1px solid #b4c0c7; padding: 26px 0; overflow-wrap: anywhere; }
.activity-card[hidden] { display: none; }
.activity-location { margin: 0 0 12px; color: #4a5b6b; font-size: .8rem; }
.activity-card h2 { font: 500 1.7rem/1.16 'Source Serif 4',Georgia,serif; margin: 0 0 14px; }
.activity-disciplines { color: #4a5b6b; font-size: .875rem; }
.activity-stats { font-weight: 600; }
.activity-address { font-size: .9rem; line-height: 1.55; }
.activity-links { display: grid; justify-items: start; }
.activity-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: .9rem; }
.activity-origin { color: #526271; font-size: .75rem; line-height: 1.6; margin-top: 16px; }
.activity-more { display: block; margin: 24px auto; min-height: 48px; border: 0; padding: 12px 28px; border-radius: 28px; color: #fff; background: #092d59; font: inherit; cursor: pointer; }
.activity-more[hidden] { display: none; }
.activities-note { max-width: 80ch; margin: 36px auto 0; font-size: .85rem; color: #526271; line-height: 1.65; }
@media(max-width:900px) { .activities-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .activities-intro { gap: 24px; } }
@media(max-width:600px) { .activities-page { padding: 24px 20px 48px; } .activities-intro { grid-template-columns: 1fr; gap: 24px; } .activities-intro img { height: 220px; border-radius: 36px 8px 8px; } .activity-filters { grid-template-columns: 1fr; padding: 20px; gap: 14px; } .activities-grid { grid-template-columns: 1fr; } .activity-summary { align-items: start; } }

@media(max-width:600px) {
 .activity-nav { padding: 12px 20px; }
 .activities-page { padding-top: 12px; }
 .activities-intro img { height: 160px; }
 .activity-filters { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 12px; padding: 16px; }
 .activity-filters label { min-width: 0; }
 .activity-filters label:first-child,.activity-filters button { grid-column: 1 / -1; }
}
