.home-events { grid-column:1/-1; min-width:0; background:linear-gradient(135deg,#f2f1ff,#fafaff 70%); border-radius:16px; padding:28px; margin-top:30px; color:#131a45; }
.home-events__heading { margin-bottom:22px; }
.home-events__heading>p { color:#504bc4; font-size:.72rem; font-weight:650; letter-spacing:.1em; margin:0 0 7px; }
.home-events h2 { font-size:clamp(1.45rem,2.4vw,1.9rem); font-weight:600; line-height:1.25; }
.home-events__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.home-event { background:#fff; border-radius:12px; box-shadow:0 3px 14px #24224d08; display:flex; flex-direction:column; min-width:0; overflow:hidden; }
.home-event__image { display:flex; align-items:center; justify-content:center; height:136px; background:#f5f5fa; padding:8px; flex:none; }
.home-event__image img { height:100%; width:100%; object-fit:contain; display:block; }
.home-event__date-panel { height:136px; display:flex; align-items:center; gap:14px; padding:20px; background:linear-gradient(130deg,#eeedff,#f9f9ff); color:#504bc4; flex:none; }
.home-event__date-panel strong { font-size:3.5rem; font-weight:600; letter-spacing:-.06em; line-height:1; }
.home-event__date-panel>span { max-width:110px; font-size:.9rem; font-weight:500; line-height:1.4; }
.home-events__grid--text .home-event__date-panel { display:none; }
.home-event__body { padding:18px; display:flex; flex:1; flex-direction:column; min-width:0; }
.home-event__date { color:#504bc4; font-weight:600; font-size:.78rem; line-height:1.45; }
.home-event__date time { color:inherit; }
.home-events__grid--text .home-event__date { border-top:2px solid #6863f3; padding-top:12px; }
.home-events h3 { font-size:1.05rem; font-weight:600; line-height:1.4; margin:10px 0; overflow-wrap:anywhere; }
.home-events h3 a:hover { color:#504bc4; }
.home-event__place { color:#38445b; font-size:.8rem; line-height:1.5; margin:0 0 5px; }
.home-event__organizer { color:#596579; font-size:.76rem; line-height:1.5; margin:0 0 18px; overflow-wrap:anywhere; }
.home-event__cta { display:flex; align-items:center; justify-content:center; min-height:46px; margin-top:auto; padding:11px 16px; border:0; border-radius:6px; box-shadow:none; background:#6863f3; color:#fff; font-size:.85rem; font-weight:600; transition:background .15s; }
.home-event__cta:hover { background:#514cca; }
.home-events__all { display:block; width:fit-content; min-height:44px; padding:12px 0; margin:12px auto -6px; font-size:.85rem; font-weight:600; color:#504bc4; }
.home-events__all:hover { text-decoration:underline; }
.home-events a:focus-visible { outline:3px solid #30297e; outline-offset:3px; box-shadow:none; }
.home-events .home-event__cta:focus-visible { outline-offset:-3px; }
.home-events a:focus:not(:focus-visible) { outline:none; }
@media(max-width:899px) {
  .home-events { padding:22px; }
  .home-events__grid { grid-template-columns:1fr; gap:14px; }
  .home-event { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); }
  .home-event--text { display:flex; }
  .home-event__date-panel { display:none; }
  .home-event__image { height:auto; min-height:152px; align-self:stretch; }
  .home-event__body { padding:18px; }
  .home-event--text .home-event__date { border-top:2px solid #6863f3; padding-top:10px; }
}
@media(max-width:599px) {
  .home-events { padding:18px 12px; }
  .home-events__heading { margin-bottom:16px; }
  .home-event { display:flex; }
  .home-event__image { aspect-ratio:16/9; height:auto; max-height:190px; min-height:0; }
  .home-event__body { padding:16px; }
  .home-event__organizer { margin-bottom:14px; }
  .home-event__cta { min-height:48px; }
  .home-events__all { font-size:.8rem; }
}
@media(prefers-reduced-motion:reduce) { .home-events a { transition:none; } }
/* Information hierarchy and independent stretched details link. */
.home-event { position:relative; transition:box-shadow .15s; }
.home-event:hover { box-shadow:0 6px 20px #6863f326; }
.home-event__details::after { content:''; position:absolute; inset:0; z-index:1; border-radius:12px; }
.home-event__cta { position:relative; z-index:2; }
.home-event__details:focus-visible { outline:none!important; }
.home-event__details:focus-visible::after { outline:3px solid #30297e; outline-offset:-3px; }
.home-event__date-panel { display:none; }
.home-event__date { border-top:2px solid #6863f3; padding-top:10px; }
.home-event__actions { margin-top:auto; }
.home-event__cost { color:#504bc4; font-size:.82rem; font-weight:600; line-height:1.5; margin:0 0 12px; }
.home-event__organizer { margin-bottom:14px; }
.home-event__cta { margin-top:0; }
@media(prefers-reduced-motion:reduce) { .home-event { transition:none; } }
@media(min-width:900px) {
 .home-events__grid:not(.home-events__grid--text) .home-event--text .home-event__date { display:flex; align-items:center; min-height:166px; margin:-18px -18px 10px; padding:20px; border:0; background:linear-gradient(130deg,#eeedff,#f9f9ff); font-size:1.35rem; line-height:1.45; }
}
