.homepage-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 20rem);
  column-gap: 2rem;
  align-items: start;
}
.homepage-columns > .events-section { grid-column: 1; grid-row: 1; min-width: 0; }
.homepage-sidebar { grid-column: 2; grid-row: 1; min-width: 0; }
.homepage-sidebar > h2 { color: #f5f8fc; margin: 1.5rem 0; }
.sidebar-links { display: grid; gap: 1.5rem; }
.sidebar-card {
  padding: 1.5rem;
  border-top: 5px solid var(--mccu-teal);
  border-radius: .65rem;
  background: #0e243a;
  color: #fff;
}
.sidebar-card h3 { font-size: 1.4rem; margin: 0 0 .75rem; color: #fff; }
.sidebar-card p { margin-bottom: 1.25rem; }
.sidebar-card .btn { width: 100%; white-space: normal; }
.sidebar-text-link { display: block; margin-top: 1rem; font-weight: 700; text-underline-offset: .25em; color: var(--mccu-light-blue); }
.sidebar-text-link:hover { color: var(--mccu-light-yellow); }
/* A single news-content column fits the narrower main column. */
.homepage-columns .cards-news-layout { grid-template-columns: minmax(0, 1fr); }
.sidebar-dialog { width: min(36rem, calc(100% - 2rem)); max-height: calc(100% - 2rem); border: 1px solid var(--mccu-dark-teal); border-top: 5px solid var(--mccu-teal); border-radius: .65rem; padding: 2rem; color: #fff; background: #0e243a; }
.sidebar-dialog::backdrop { background: rgb(0 0 0 / 65%); }
.sidebar-dialog h2 { margin: 0 2rem 1rem 0; color: #fff; }
.dialog-close { position: absolute; top: .5rem; right: .5rem; width: 44px; height: 44px; border: 0; background: transparent; font-size: 1.8rem; color: var(--mccu-gold); }
.tipline-form .form-control { background: #101a26; color: #fff; border-color: #506c86; }
.tipline-form .form-control:focus { background: #101a26; color: #fff; border-color: var(--mccu-light-blue); box-shadow: 0 0 0 .25rem rgb(0 150 185 / 25%); }
.tipline-form .field-note { color: #cddae5; font-weight: 400; }
.form-status { margin: 1rem 0 0; color: #cddae5; }
.form-status:empty { display: none; }
.form-status[data-state="success"] { color: var(--mccu-green); }
.form-status[data-state="error"] { color: var(--mccu-light-yellow); }
@media (max-width: 991px) {
  .homepage-columns { display: flex; flex-direction: column; gap: 0; }
  .homepage-sidebar, .homepage-columns > .events-section { width: 100%; }
  .sidebar-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .sidebar-links { grid-template-columns: 1fr; gap: 1rem; }
  .sidebar-card { padding: 1.25rem; }
  .sidebar-dialog { padding: 1.5rem; }
}
