.event-card{flex-direction:column;height:100%;transition:transform .16s cubic-bezier(.2,.7,.2,1);display:flex;position:relative}.event-card:hover{transform:translateY(-2px)}.event-card:has(:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px;border-radius:12px}.event-card__media{position:relative}.event-card__date{background:var(--color-bg);min-width:48px;color:var(--color-ink);box-shadow:var(--shadow-sm);text-align:center;border-radius:6px;place-items:center;padding:.25rem .5rem;display:grid;position:absolute;top:.5rem;right:.5rem}.event-card__day{font-family:var(--font-display),"Bebas Neue",Impact,sans-serif;letter-spacing:.01em;text-transform:uppercase;font-size:1.5rem;font-weight:400;line-height:1}.event-card__month{letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);font-size:.75rem;font-weight:600}.event-card__body{flex-direction:column;flex:1;gap:.25rem;padding-top:.75rem;display:flex}.event-card__type{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);font-size:.75rem;font-weight:600}.event-card__title{font-family:var(--font-display),"Bebas Neue",Impact,sans-serif;letter-spacing:.01em;text-transform:uppercase;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.5rem;font-weight:400;line-height:.95;display:-webkit-box;overflow:hidden}.event-card__link{outline:none}.event-card__link:after{content:"";z-index:1;position:absolute;inset:0}.event-card__meta{color:var(--color-muted);flex-direction:column;font-size:.875rem;display:flex}.event-card__venue{color:var(--color-ink);font-weight:600}.event-card__footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.5rem;display:flex}.event-card__cta{white-space:nowrap;color:var(--color-primary);font-size:.875rem;font-weight:700}.event-card--past .event-card__date{background:var(--color-ink);color:var(--color-bg)}.event-card--row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;flex-direction:row;gap:1rem;padding:.75rem}.event-card--row .event-card__media{flex:0 0 96px}@media (min-width:768px){.event-card--row .event-card__media{flex-basis:128px}}.event-card--row .event-card__date{display:none}.event-card--row .event-card__body{padding-top:0}@media (min-width:768px){.event-card--row .event-card__meta{flex-direction:row;gap:.75rem}}
