.next-event { box-sizing: border-box; width: fit-content; max-width: calc(100% - 32px); margin: 20px 24px 0 auto; }
.next-event__link { display: flex; align-items: center; gap: 16px; max-width: 420px; padding: 14px 20px; border: 1px solid rgb(255 255 255 / 18%); border-radius: 16px; background: rgb(38 49 24 / 87%); color: #fff; box-shadow: 0 4px 16px rgb(0 0 0 / 12%); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); text-decoration: none; line-height: 1.4; transition: background-color .15s ease; }
.next-event__link:hover { background: rgb(48 65 30 / 96%); }
.next-event__link:focus-visible { outline: 3px solid #a7c477; outline-offset: 4px; }
.next-event__calendar { flex: 0 0 30px; width: 30px; height: 30px; }
.next-event__arrow { flex: 0 0 24px; width: 24px; height: 24px; }
.next-event__text { display: block; min-width: 0; }
.next-event__label { display: block; margin-bottom: 3px; font-size: 13px; color: #edf1e7; }
.next-event__summary { display: block; font-size: 17px; overflow-wrap: anywhere; }
.next-event__summary time { font-weight: 700; white-space: nowrap; }
.next-event-hero { position: relative; }
.next-event-hero > .next-event { position: absolute; right: 32px; bottom: 24px; z-index: 1; margin: 0; }
#upcoming-events-heading { scroll-margin-top: 120px; }
@media (max-width: 600px) {
    .next-event { margin-right: 16px; }
    .next-event-hero > .next-event { right: 16px; bottom: 16px; }
    .next-event__link { max-width: 350px; padding: 10px 14px; gap: 10px; border-radius: 12px; }
    .next-event__calendar { flex-basis: 24px; width: 24px; height: 24px; }
    .next-event__summary { font-size: 15px; }
    .next-event__label { font-size: 12px; }
}
/* In very short landscape viewports, keep the notice beneath the hero title. */
@media (max-height: 550px) {
    .next-event-hero { min-height: 300px; }
    .next-event-hero > video { min-height: 300px; }
}
@media (prefers-reduced-motion: reduce) { .next-event__link { transition: none; } }
