.life-moods { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 0; }
.life-moods button { padding: 12px 18px; border: 1px solid #0e243a; border-radius: 12px; background: transparent; color: #0e243a; font: 700 18px/1 'Barlow Condensed', sans-serif; cursor: pointer; }
.life-moods button[aria-pressed="true"] { background: #d61c2c; border-color: #d61c2c; color: #fff; }
.life-activity-grid > .life-card { display: flex; flex-direction: column; border-radius: 12px; background: #e4f1f6; color: #0e243a; overflow: hidden; }
.life-activity-grid > .life-card:nth-child(6n) { background: #0e243a; color: #fff; }
.life-activity-grid > .life-card:nth-child(7n+3) { background: #f7e6b5; }
.life-card > a { display: block; padding: 27px 27px 18px; color: inherit; text-decoration: none; flex: 1; }
.life-card[hidden] { display: none !important; }
.life-where { margin: 0; padding: 14px 27px 20px; border-top: 1px solid rgba(14, 36, 58, .14); font-size: 14px; line-height: 1.4; }
.life-card:nth-child(6n) .life-where { border-color: rgba(255, 255, 255, .18); }
.life-where span { display: block; margin-bottom: 6px; font: 700 11px/1 "Public Sans", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #a3121e; }
.life-card:nth-child(6n) .life-where span { color: #f2c14e; }
.life-where a { display: block; padding: 4px 0; color: inherit; font-weight: 700; text-decoration: none; }
.life-where a:hover { text-decoration: underline; }
.life-where small { display: block; font-weight: 400; font-size: 12px; opacity: .75; }
@media (max-width: 760px) { .life-card > a { padding: 20px 20px 14px; } .life-where { padding: 12px 20px 16px; } }
.life-activity-grid img.life-cut { width: auto; height: 120px; max-width: 100%; object-fit: contain; border-radius: 0 !important; margin: -6px 0 -8px; filter: drop-shadow(0 6px 10px rgba(14, 36, 58, .12)); }
.life-card:nth-child(6n) img.life-cut { filter: drop-shadow(0 0 1px rgba(255, 255, 255, .5)); }
/* photographs where we have them (whole, never cropped); crisp vector pictograms otherwise */
.life-activity-grid img.life-photo { width: 100%; height: auto; max-width: 100%; object-fit: contain; border-radius: 12px !important; margin: 0 0 6px; filter: none; }
.life-activity-grid img.life-icon { width: 64px; height: 64px; object-fit: contain; border-radius: 0 !important; margin: 4px 0 10px; filter: none; }
.life-card:nth-child(6n) img.life-icon { filter: invert(1) brightness(1.6); }
