/* Sports photography shared by calendar, personal follow-up and homepage. */
.sport-media{position:relative;height:195px;overflow:hidden;background:linear-gradient(120deg,#143762,#327e77);border-radius:12px;isolation:isolate}
.sport-media img{display:block;width:100%;height:100%;object-fit:cover}
.sport-collage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
.sport-collage img{min-height:0}
.sport-caption{position:absolute;bottom:10px;right:10px;background:rgba(7,24,45,.83);color:white;padding:5px 9px;border-radius:20px;font:11px/1.4 Arial,sans-serif;z-index:1}
.activity-card>.sport-media{margin:-20px -20px 18px;border-radius:15px 15px 0 0;height:190px}
.activity-card{overflow:hidden;background:white}
.activity-intro[data-sport-collage]{position:relative;isolation:isolate;overflow:hidden;min-height:340px;background:#102952}
.activity-intro[data-sport-collage]>.sport-media{position:absolute;inset:0 0 0 32%;height:auto;border-radius:0;z-index:-2;grid-template-rows:1fr 1fr}
.activity-intro[data-sport-collage]:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,30,62,.98) 0%,rgba(9,30,62,.9) 42%,rgba(9,30,62,.18) 100%);z-index:-1;pointer-events:none}
.activity-intro[data-sport-collage]>p,.activity-intro[data-sport-collage]>h1{max-width:620px}
.activity-intro[data-sport-collage] .sport-caption{display:none}
.sports-banner{position:relative;border-radius:20px;overflow:hidden;margin:18px 0 24px;background:#102952}
.sports-banner>.sport-media{height:230px;border-radius:0;grid-template-columns:repeat(6,minmax(0,1fr))}
.sports-banner>p{position:absolute;left:20px;bottom:20px;margin:0;max-width:75%;background:rgba(7,24,45,.88);color:#fff;padding:12px 16px;border-radius:12px;font-weight:700}
#homeActivityCards .visual{position:relative}
#homeActivityCards .visual>.sport-media{position:absolute;inset:0;height:100%;border-radius:0}
#homeActivityCards .visual .tagtop{z-index:2}
.sports-credit{font-size:12px;color:#52637c;line-height:1.6}
@media(max-width:650px){.activity-intro[data-sport-collage]{padding:25px 20px 160px}.activity-intro[data-sport-collage]>.sport-media{inset:0;opacity:.75}.activity-intro[data-sport-collage]:after{background:linear-gradient(180deg,#102952 0%,rgba(9,30,62,.92) 60%,rgba(9,30,62,.15) 100%)}.sports-banner>.sport-media{height:220px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr 1fr}.sports-banner>p{left:10px;bottom:30px;font-size:14px}.sport-media{height:170px}}
