.home-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}
.home-film-card,.home-gathering-card{color:#211b36;text-decoration:none;min-width:0}
.home-film-image{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:18px;background:linear-gradient(135deg,#302449,#76678e)}
.home-film-image:after{z-index:2;content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,#130f2c66);pointer-events:none}
.home-film-image img,.home-gathering-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.home-film-play{position:absolute;inset:0;margin:auto;width:44px;height:44px;border:1px solid #ffffff80;border-radius:50%;background:#ffffffed;display:grid;place-items:center;color:#302449;font-size:22px;z-index:3;box-shadow:0 4px 20px #130f2c22}
.home-film-duration{position:absolute;bottom:12px;right:12px;color:white;font-size:11px;letter-spacing:.04em;z-index:3;background:#130f2c99;padding:3px 7px;border-radius:5px}
.home-film-copy{padding:15px 2px 0}
.home-film-copy h3,.home-gathering-copy h3{font-size:1rem;font-weight:650;line-height:1.45;letter-spacing:-.025em;margin:0;color:#211b36;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-film-copy p,.home-gathering-copy p{font-size:.82rem;line-height:1.65;color:#6b6577;margin:7px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-film-card:hover img,.home-gathering-card:hover img{transform:scale(1.035)}
.home-film-card:hover h3,.home-gathering-card:hover h3{color:#5945ad}
.home-film-card:focus-visible,.home-gathering-card:focus-visible{outline:3px solid #7462b8;outline-offset:6px;border-radius:18px}
.home-event-list{display:grid;gap:0}
.home-gathering-card{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid #eeeaf2}
.home-gathering-image{position:relative;flex:0 0 160px;height:auto;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#eee9f5;color:#75648f;display:grid;place-items:center}
.home-gathering-copy{flex:1;min-width:0}
.home-gathering-meta{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:.68rem;color:#766c84;font-weight:600;letter-spacing:.025em;margin-bottom:6px}
.home-gathering-meta span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-gathering-arrow{font-size:22px;color:#78668f;flex-shrink:0;padding:0 6px}
.home-gathering-featured{position:relative;display:grid;grid-template-columns:240px minmax(0,1fr) 22px;gap:20px;padding:0 0 20px;margin-bottom:3px;border-bottom:1px solid #eeeaf2}
.home-gathering-featured .home-gathering-image{width:100%;height:auto;aspect-ratio:16/9;border-radius:16px;margin-bottom:0}
.home-gathering-featured .home-gathering-copy{padding-right:0}
.home-gathering-featured h3{font-size:1.1rem;line-height:1.4}
.home-gathering-featured .home-gathering-arrow{position:static;padding:0}
.home-gathering-calendar{position:absolute;top:15px;left:15px;display:grid;justify-items:center;gap:1px;padding:9px 14px;border-radius:12px;background:#fffffff5;box-shadow:0 4px 15px #211b3612;color:#302449}
.home-gathering-calendar span{text-transform:uppercase;font-size:10px;letter-spacing:.12em;font-weight:700}
.home-gathering-calendar strong{font-size:25px;line-height:1.1;font-weight:600}
.home-media-empty{padding:30px 0;color:#766c84;font-size:.9rem}
@media(max-width:575px){.home-media-grid{gap:22px 14px}.home-film-copy h3{font-size:.9rem}.home-film-copy p{font-size:.77rem}.home-film-image{border-radius:13px}.home-film-play{width:35px;height:35px;font-size:19px}.home-gathering-featured{grid-template-columns:140px minmax(0,1fr);gap:14px}.home-gathering-featured .home-gathering-image{height:auto}.home-gathering-featured .home-gathering-arrow{display:none}.home-gathering-calendar{top:8px;left:8px;padding:6px 10px}.home-gathering-featured h3{font-size:1rem}.home-gathering-image{flex-basis:120px;height:auto}.home-gathering-card{gap:13px}}
@media(max-width:359px){.home-media-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.home-film-image img,.home-gathering-image img{transition:none}.home-film-card:hover img,.home-gathering-card:hover img{transform:none}}

/* Keep complete event thumbnails sharp above a matching blurred fill. */
.home-gathering-image .home-gathering-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(16px) brightness(.8);transform:scale(1.12);pointer-events:none;transition:none}
.home-gathering-image .home-gathering-thumbnail{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;transform:none;transition:none}
.home-gathering-card:hover .home-gathering-backdrop{transform:scale(1.12)}
.home-gathering-card:hover .home-gathering-thumbnail{transform:none}

@media(max-width:359px){.home-gathering-featured{grid-template-columns:120px minmax(0,1fr)}.home-gathering-image{flex-basis:100px}}

/* Match event framing without cropping uploaded video artwork. */
.home-film-image .home-film-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(16px) brightness(.8);transform:scale(1.12);pointer-events:none;transition:none}
.home-film-image .home-film-thumbnail{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;transform:none;transition:none}
.home-film-card:hover .home-film-backdrop{transform:scale(1.12)}
.home-film-card:hover .home-film-thumbnail{transform:none}
