.events-section { padding: 100px 0; background: #000; color: #fff; }
.events-frame {
  width: min(1200px, calc(100% - 40px));
  border: 4px solid #454545;
  border-radius: 5px;
  padding: 50px 48px;
}
.events-section h2 {
  margin: 0;
  font: 400 65px/1.3 'BOWLER', Arial, sans-serif;
  letter-spacing: 2px;
  text-align: left;
}
.events-section h2 em { color: #dc281e; }
.events-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 26px;
  row-gap: 50px;
  list-style: none;
  margin: 40px 0 0;
  padding: 0;
  text-align: center;
}
.events-grid li { display: flex; flex-direction: column; align-items: center; min-width: 0; }
/* Original Frame-76 icons already contain the white tile and red shadow. */
.event-icon {
  display: block;
  width: 75px;
  height: 75px;
  flex-shrink: 0;
  object-fit: contain;
}
.events-grid h3 {
  margin: 28px 0 0;
  font: 400 20px/1.3 'BOWLER', Arial, sans-serif;
  letter-spacing: 0;
}
.events-actions { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 52px; }
.events-cta {
  min-height: 60px;
  padding: 20px 50px;
  border: 1px solid #dc281e;
  border-radius: 30px;
  background: linear-gradient(to top, #f00000, #dc281e);
  font: 300 18px/1 'Rubik', Arial, sans-serif;
  letter-spacing: 1px;
  text-align: center;
}
.events-cta:hover { background: #fff; color: #000; }
.events-note {
  position: relative;
  display: block;
  margin: 0;
  padding: 11px 20px;
  min-width: 238px;
  min-height: 60px;
  background: #f4f4f4;
  color: #000;
  font: 400 12px/1.5 'Montserrat', Arial, sans-serif;
  text-align: center;
}
.events-note::before {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  left: -10px;
  top: calc(50% - 10px);
  background: inherit;
  transform: rotate(45deg);
}
@media (max-width: 1240px) {
  .events-section h2 { font-size: clamp(35px, 5.1vw, 65px); }
  .events-frame { padding-inline: 32px; }
  .events-grid h3 { font-size: 18px; }
}
@media (max-width: 900px) {
  .events-section { padding-block: 70px; }
  .events-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px 24px; }
  .events-grid h3 { margin-top: 24px; }
  .events-actions { margin-top: 48px; }
  .events-cta { padding-inline: 28px; font-size: 16px; }
  .events-note { min-width: 0; }
}
@media (max-width: 600px) {
  .events-section { padding-block: 48px; }
  .events-frame { width: 100%; border-width: 5px; border-radius: 5px; padding: 50px 45px; }
  .events-section h2 { font-size: clamp(22px, 7.2vw, 29px); letter-spacing: .5px; overflow-wrap: anywhere; }
  .events-grid { grid-template-columns: 1fr; margin-top: 40px; gap: 46px; }
  .events-grid h3 { margin-top: 40px; font-size: clamp(18px, 5.9vw, 22px); overflow-wrap: anywhere; }
  .event-icon { width: 75px; height: 75px; }
  .events-actions { flex-direction: column; gap: 28px; margin-top: 70px; }
  .events-cta { width: 100%; min-height: 56px; padding-inline: 16px; font-size: 14px; }
  .events-note { width: auto; min-width: 238px; }
}
