/* basic reset */
*{ box-sizing:border-box; }
html,body{ margin:0; }
body{ font-family:system-ui,-apple-system,Segoe UI,Inter,Roboto,Arial,sans-serif; color:#0e2431; background:#fff; }

/* small top bar */
.ge-topbar{ border-bottom:1px solid #e7edf1; background:#fff; }
.ge-wrap{ width:min(1200px,100%); margin:auto; padding:10px 14px; display:flex; align-items:center; gap:16px; }
.brand img{ height:34px; display:block; }
.nav{ margin-left:auto; display:flex; gap:14px; }
.nav a{ text-decoration:none; color:#0e2431; font-weight:600; }
.nav a.active{ color:#12b2e8; }

/* container + rows */
.g-events{
  background:#f5f7f8;
  border-top:1px solid #e7edf1;
  padding: 26px 0 40px;
}
.g-events .g-row{
  width:min(1200px, 100%);
  margin: 0 auto 22px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  align-items:stretch;
}

/* alternate left/right */
.g-events .g-row:nth-child(even) .g-info{ order:2; }
.g-events .g-row:nth-child(even) .g-collage{ order:1; }

/* info card */
.g-info{
  background:#fff;
  border:1px solid #e7edf1;
  border-radius:14px;
  box-shadow:0 10px 22px rgba(0,0,0,.06);
  padding:16px 16px 14px;
  display:flex; flex-direction:column; gap:10px;
}
.g-title{
  margin:0;
  font:900 1rem/1.25 system-ui, Segoe UI, Inter, Arial;
  letter-spacing:.2px; text-transform:uppercase; color:#0e2431;
}
.g-meta{ margin:0; padding-left:18px; color:#627887; font-size:.9rem; line-height:1.3; }
.g-meta li{ margin:2px 0; }
.g-link{
  margin-top:auto; align-self:flex-start;
  text-decoration:none; font-weight:800; color:#0e2431; font-size:.9rem;
  border:1px solid #d6e2ea; border-radius:999px; padding:.42rem .7rem;
}
.g-link:hover{ background:#edf5fa; }

/* collage 2x2 */
.g-collage{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:6px;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 22px rgba(0,0,0,.06);
  background:#fff;
}
.g-collage img{
  width:100%; height:100%; object-fit:cover; display:block;
  aspect-ratio: 4 / 3;
  border-radius:10px;
}

/* badge */
.g-badge{
  position:absolute; right:10px; bottom:10px;
  background:rgba(0,0,0,.65); color:#fff;
  padding:.35rem .55rem; border-radius:10px;
  font-weight:900; font-size:.9rem; line-height:1;
  display:inline-flex; gap:6px; align-items:flex-end;
}
.g-badge small{ font-weight:700; opacity:.85; font-size:.72rem; }

/* responsive */
@media (max-width: 960px){
  .g-events .g-row{ grid-template-columns: 1fr; }
  .g-events .g-row:nth-child(even) .g-info{ order:1; }
  .g-events .g-row:nth-child(even) .g-collage{ order:2; }
}
@media (max-width: 560px){
  .g-collage{ gap:4px; border-radius:10px; }
  .g-info{ border-radius:10px; }
}
