/* Editorial photography, using native attachment images and per-event focal coordinates. */
.event-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); }
.card-photo { margin:0; }
.card-art { aspect-ratio:16/9; height:auto; background:#e8e9e2; }
.card-art img { width:100%; height:100%; object-fit:cover; object-position:var(--photo-position,50% 50%); }
.card-art:hover img { transform:none; }
.event-card .card-content { display:flex; flex-direction:column; flex:1; padding:20px; }
.event-card h3 { min-height:2.36em; font-size:27px; line-height:1.18; }
.event-card .card-date { margin-top:auto; }
.photo-credit { padding:9px 15px; color:#5c625d; background:#f1f1eb; font-size:10.5px; line-height:1.5; overflow-wrap:anywhere; }
.photo-credit a { text-decoration:underline; color:inherit; }
.photo-credit a:hover { color:#8a5914; }
.featured-event-grid .event-card { border-top:3px solid #b77f22; }
.leisure-event-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); }
.text-only-event { border-top:3px solid var(--ink); }
.text-only-event .card-content { min-height:245px; }
.event-card.text-only-event .card-content { justify-content:center; background:#eeeee5; padding:32px; }
.text-only-event .card-content>.badge { align-self:flex-start; margin-bottom:20px; }
.event-card.text-only-event h3 { min-height:0; font-size:36px; line-height:1.13; margin-bottom:22px; }
.text-only-event .card-content>p { font-size:14px; line-height:1.75; }
.text-only-event .card-date { margin-top:22px; font-size:15px; }
.feature.photographic-feature { display:block; padding:0; min-height:0; background:var(--ink); }
.feature-photo { margin:0; }
.feature-photo>img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; object-position:var(--photo-position,50% 50%); }
.feature-photo .photo-credit { background:#252c29; color:#d4dcd1; padding:9px 28px; }
.photographic-feature .feature-body { max-width:none; padding:27px 30px 30px; }
.photographic-feature h2 { max-width:690px; font-size:36px; }
.photographic-feature .feature-body>p { max-width:650px; }
.photographic-feature .eyebrow { margin-bottom:13px; }
.event-photo-detail { margin:0 0 30px!important; background:#efefe9; }
.event-photo-detail>img { display:block; width:100%; height:auto; max-height:650px; object-fit:contain; }
.event-photo-detail .photo-credit { font-size:12px; padding:13px 17px; }
.hub-event-photo { margin:0 0 35px; }
.hub-event-photo>img { display:block; width:100%; height:auto; max-height:580px; object-fit:cover; object-position:var(--photo-position,50% 50%); }
.list-view .event-card { grid-template-columns:220px 1fr; padding:0; margin-bottom:18px; gap:0; }
.list-view .card-art { height:auto; aspect-ratio:16/9; }
.list-view .event-card .card-content { padding:20px 24px; }
.list-view .event-card h3 { min-height:0; }
.list-view .photo-credit { padding:8px 11px; font-size:10px; }
@media(max-width:1100px) { .photographic-feature h2{font-size:31px}.event-card h3{font-size:25px}.list-view .event-card{grid-template-columns:200px 1fr} }
@media(max-width:780px) { .event-card .card-content{padding:18px}.photographic-feature .feature-body{padding:24px}.feature-photo .photo-credit{padding:9px 24px}.photographic-feature h2{font-size:33px}.hub-event-photo>img{max-height:400px} }
@media(max-width:480px) { .event-card h3{min-height:0;font-size:28px}.photo-credit{font-size:11px}.photographic-feature h2{font-size:31px}.list-view .event-card{display:flex;gap:0}.list-view .card-art{height:auto;aspect-ratio:16/9}.list-view .event-card .card-content{padding:18px}.list-view .card-art .badge{display:inline-block}.list-view .event-card h3{font-size:26px}.text-only-event .card-content{min-height:0} }
