.activity-section { background: var(--background); }
.activity-section .section-title > p:last-of-type { margin-top: 16px; color: var(--ink-soft); }
.section-title.wide > h1 { margin-bottom:18px; font-size:clamp(1.9rem,3vw,2.6rem); line-height:1.25; }
.section-title.wide > h1 + p { line-height:1.7; }
.content-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.content-card { overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-large); box-shadow: 0 18px 46px rgba(64,55,47,.08); transition:transform .25s ease,box-shadow .25s ease; }
.content-card:hover { transform:translateY(-5px);box-shadow:0 24px 56px rgba(64,55,47,.13); }
.content-card > a { display: block; height: 100%; }
.card-image { overflow: hidden; aspect-ratio: 4/3; background: #EDE7DC; }
.card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.content-card:hover .card-image img { transform: scale(1.04); }
.card-image > span { display: grid; width: 100%; height: 100%; place-items: center; color: #A99B8E; font-size: 2.5rem; }
.card-copy { display: grid; gap: 8px; padding: 24px; }
.card-copy h3,.card-copy p { margin: 0; }
.card-copy p { color: var(--ink-soft); }
.card-copy time { color: var(--ink-soft); font-size: .9rem; font-weight: 700; }
.card-copy b { margin-top: 8px; color: #9C7B25; }
.card-badge { width: fit-content; padding: 5px 10px; color: var(--primary); background: var(--gold); border-radius: 999px; font-size: .8rem; font-weight: 900; }
.empty-state { display: grid; min-height: 260px; padding:32px; place-items: center; align-content: center; color: var(--ink-soft); background: rgba(255,255,255,.55); border: 1px dashed var(--line); border-radius: var(--radius-large); text-align: center; }
.empty-state i { font-size: 2.4rem; }.empty-state p { margin: 8px 0 0; font-weight: 800; }
.filter-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 34px; }
.filter-bar a,.filter-bar select { min-height: 44px; padding: 9px 16px; color: var(--primary); background: var(--white); border: 1px solid var(--line); border-radius: 999px; font: inherit; font-weight: 800; }
.filter-bar a.active { background: var(--gold); border-color: var(--gold); }
.detail-hero-image { overflow:hidden; aspect-ratio:16/9; margin:30px 0; background:#EDE7DC; border-radius:30px; }
.detail-hero-image img { width:100%;height:100%;object-fit:cover; }.detail-content { max-width:820px;margin:0 auto; }.detail-content h1 { font-size:clamp(1.8rem,3.2vw,2.65rem);line-height:1.2; }.detail-content .lead { color:var(--ink-soft);font-size:1.15rem; }.detail-body { white-space:pre-line; }
.detail-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:40px}.detail-image-grid figure{overflow:hidden;margin:0;border-radius:var(--radius-medium)}.detail-image-grid img{display:block;width:100%;height:auto;object-fit:contain}@media(max-width:640px){.detail-image-grid{grid-template-columns:1fr}}
@media(max-width:992px){.content-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.content-card-grid{grid-template-columns:1fr;}}
.activity-detail-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:32px 0; }
.activity-detail-gallery img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:24px; }
@media (max-width:640px) { .activity-detail-gallery { grid-template-columns:1fr; } .detail-content h1 { font-size:1.75rem; } }
