@media(min-width:851px){
  .card,.event-card,.listing-card{position:relative;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
  .card:hover,.event-card:hover,.listing-card:hover{transform:translateY(-5px);border-color:#b8cdbf;box-shadow:0 18px 36px rgba(48,64,53,.14)}
  .card:hover img,.listing-card:hover .listing-cover img{transform:scale(1.035)}
  .card img,.listing-card .listing-cover img{transition:transform .32s ease}
}
.hero:has(+.front-media){padding-bottom:0}.front-copy p:last-child{margin-bottom:0}.hero+.front-media h2{margin-top:18px}
.card,.event-card,.listing-card{position:relative}
.card h3 a::after,.event-card h3 a::after,.listing-card h2 a::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit}
.card .more,.listing-card .more,.event-card .event-partner-logo{position:relative;z-index:3;pointer-events:none}
.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.photo-grid a{display:block;position:relative;overflow:hidden;border-radius:12px;cursor:zoom-in}.photo-grid a::after{content:"↗";position:absolute;right:9px;bottom:9px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--ink);font-weight:700;opacity:0;transform:scale(.8);transition:.2s}.photo-grid a:hover::after{opacity:1;transform:scale(1)}.photo-grid img{height:auto;aspect-ratio:1/1;transition:transform .3s ease}.photo-grid a:hover img{transform:scale(1.04)}
.past-event .video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dated-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.gallery-item,.gallery-more{position:relative;display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;border-radius:13px;overflow:hidden;background:#18201c;cursor:pointer}.gallery-item img,.gallery-more img,.gallery-video-preview,.gallery-video-preview iframe{display:block;width:100%;height:100%;object-fit:cover;border:0}.gallery-video-preview iframe{pointer-events:none}.gallery-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(38,29,42,.72);color:#fff;font-size:21px}.gallery-more strong{position:absolute;inset:0;display:grid;place-items:center;background:rgba(38,29,42,.68);color:#fff;font-size:34px}.gallery-hidden{display:none}.media-gallery-dialog{width:min(1100px,calc(100vw - 24px));height:min(780px,calc(100dvh - 24px));max-width:none;max-height:none;margin:auto;padding:50px 64px 42px;border:0;border-radius:18px;overflow:hidden;background:#17131a;color:#fff}.media-gallery-dialog::backdrop{background:rgba(22,17,24,.82)}.media-gallery-stage{width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.media-gallery-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border:0}.media-gallery-stage iframe{display:block;width:100%;height:auto;max-width:100%;max-height:100%;aspect-ratio:16/9;border:0}.media-gallery-close,.media-gallery-prev,.media-gallery-next{position:absolute;z-index:2;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer}.media-gallery-close{right:14px;top:12px;width:40px;height:40px;border-radius:50%;font-size:28px}.media-gallery-prev,.media-gallery-next{top:50%;transform:translateY(-50%);width:44px;height:68px;border-radius:10px;font-size:42px}.media-gallery-prev{left:10px}.media-gallery-next{right:10px}.media-gallery-count{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-weight:700}.listing-grid.news .dated-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.listing-grid.news .dated-gallery>:nth-child(n+5){display:none}
.listing-grid.news{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.listing-grid.news .listing-card.has-media{display:block;min-height:0}.listing-grid.news .listing-card.has-media .listing-media{padding:12px 12px 0}.listing-grid.news .listing-card.has-media .listing-copy{padding:12px 16px 16px}.listing-grid.news .listing-card.has-media .listing-copy h2{font-size:16px}.listing-grid.news .listing-card.has-media .video-grid{grid-template-columns:1fr;gap:10px}.listing-grid.news .listing-card.has-media .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px;gap:8px}
.media-lightbox-dialog{width:min(1100px,calc(100% - 32px));max-width:none;padding:0;border:0;border-radius:16px;background:#141216;box-shadow:0 24px 90px rgba(0,0,0,.45)}.media-lightbox-dialog::backdrop{background:rgba(22,18,25,.82)}.media-lightbox-dialog img{display:block;width:100%;max-height:88vh;object-fit:contain}.media-lightbox-close{position:absolute;right:12px;top:12px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:var(--ink);font-size:27px;line-height:1;cursor:pointer}
@media(max-width:1000px) and (min-width:701px){.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.past-event .video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.listing-grid.news{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.dated-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.media-gallery-dialog{width:100vw;height:100dvh;padding:54px 10px 46px;border-radius:0}.media-gallery-close{right:10px;top:8px;width:44px;height:44px}.media-gallery-prev,.media-gallery-next{width:44px;height:64px;background:rgba(20,15,22,.64)}.media-gallery-prev{left:4px}.media-gallery-next{right:4px}.media-gallery-count{bottom:14px}.listing-grid.news .dated-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){
  .listing-grid.training .listing-card,.listing-grid.employment .listing-card,.listing-grid.workshops .listing-card{display:grid;grid-template-columns:42% minmax(0,1fr);min-height:190px}
  .listing-grid.training .listing-cover,.listing-grid.employment .listing-cover,.listing-grid.workshops .listing-cover{height:100%;min-height:190px}
  .listing-grid.training .listing-cover img,.listing-grid.employment .listing-cover img,.listing-grid.workshops .listing-cover img{height:100%;min-height:190px;aspect-ratio:auto}
  .listing-grid.training .listing-copy,.listing-grid.employment .listing-copy,.listing-grid.workshops .listing-copy{min-height:190px;padding:64px 14px 16px;justify-content:flex-start}
  .listing-grid.training .listing-logo,.listing-grid.employment .listing-logo,.listing-grid.workshops .listing-logo{left:14px;top:12px;width:72px;height:40px;padding:4px 6px}
  .listing-grid.training .listing-copy h2,.listing-grid.employment .listing-copy h2,.listing-grid.workshops .listing-copy h2{font-size:16px;line-height:1.3;margin:0 0 8px}
  .listing-grid.training .listing-copy>b,.listing-grid.employment .listing-copy>b,.listing-grid.workshops .listing-copy>b{font-size:12px;line-height:1.3;margin-bottom:9px}
  .listing-grid.training .more,.listing-grid.employment .more,.listing-grid.workshops .more{font-size:12px}
  .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.past-event .video-grid{grid-template-columns:1fr}
  .listing-grid.news{grid-template-columns:1fr}.listing-grid.news .listing-card.has-media .video-grid{grid-template-columns:1fr}.listing-grid.news .listing-card.has-media .listing-media{padding:12px 12px 0}
}

/* A single programme video fills its card; multi-media galleries retain their tile layout. */
.listing-grid.news .dated-gallery.single-media{grid-template-columns:minmax(0,1fr)}
.listing-grid.news .single-media .gallery-item{aspect-ratio:16/9}
.listing-grid.news .single-media .gallery-video-preview{position:absolute;inset:0}
.listing-grid.news .single-media iframe{position:absolute;inset:0;width:100%;height:100%}
.listing-grid.news .listing-card.has-media{min-width:0}

.listing-grid .listing-card.no-cover{grid-template-columns:minmax(0,1fr)}
