:root {
  --mgec-ink: #202126;
  --mgec-cream: #f6f2eb;
  --mgec-teal: #1f8a99;
  --mgec-gold: #b87318;
  --mgec-purple: #955891;
  --mgec-coral: #a84945;
  --mgec-slate: #595967;
}

.mgec-wrap {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

.mgec-archive,
.mgec-single {
  padding: clamp(64px, 9vw, 120px) 0;
  color: var(--mgec-ink);
}

.mgec-archive__header,
.mgec-single__header {
  max-width: 820px;
  margin-bottom: clamp(42px, 6vw, 78px);
}

.mgec-eyebrow {
  margin: 0 0 14px;
  color: #176a75;
  font: 800 .76rem/1.4 Inter, Avenir, "Segoe UI", sans-serif;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.mgec-archive h1,
.mgec-single h1,
.mgec-card__title {
  font-family: Georgia, "Times New Roman", serif;
}

.mgec-archive h1,
.mgec-single h1 {
  margin: 0;
  color: var(--mgec-ink);
  font-size: clamp(2.6rem, 7vw, 5.8rem);
  font-weight: 500;
  line-height: .98;
}

.mgec-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 20px;
}

.mgec-card {
  grid-column: span 2;
  display: flex;
  min-height: clamp(310px, 31vw, 380px);
  padding: clamp(26px, 3vw, 36px);
  overflow: hidden;
  flex-direction: column;
  color: var(--mgec-ink) !important;
  border-radius: 20px;
  box-shadow: none;
  text-decoration: none !important;
  transform: translateY(0);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.mgec-card:nth-child(n+4) { grid-column: span 3; }

.mgec-card:hover,
.mgec-card:focus-visible {
  color: var(--mgec-ink) !important;
  box-shadow: 0 22px 54px rgba(32, 33, 38, .18);
  filter: saturate(1.08);
  transform: translateY(-7px);
}

.mgec-card:focus-visible {
  outline: 3px solid var(--mgec-ink);
  outline-offset: 4px;
}

.mgec-card--teal { background: var(--mgec-teal); }
.mgec-card--gold { background: var(--mgec-gold); }
.mgec-card--purple { background: var(--mgec-purple); }
.mgec-card--coral { background: var(--mgec-coral); }
.mgec-card--slate { background: var(--mgec-slate); }

.mgec-card__kicker {
  color: #fff;
  font: 800 .75rem/1.4 Inter, Avenir, "Segoe UI", sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .82;
}

.mgec-card__spacer { flex: 1 1 auto; min-height: 80px; }

.mgec-card__title {
  margin: 0 0 20px;
  color: inherit !important;
  font-size: clamp(2rem, 3.4vw, 3rem);
  font-weight: 500;
  line-height: 1.04;
}

.mgec-card__link {
  color: #fff;
  font: 800 .9rem/1.4 Inter, Avenir, "Segoe UI", sans-serif;
}

.mgec-card__link span {
  display: inline-block;
  transition: transform .2s ease;
}

.mgec-card:hover .mgec-card__link span { transform: translateX(5px); }

.mgec-empty {
  padding: 24px;
  background: var(--mgec-cream);
  border-radius: 14px;
}

.mgec-single__meta {
  margin-top: 18px;
  color: #62626c;
}

.mgec-single__image {
  margin: 0 0 clamp(40px, 6vw, 76px);
}

.mgec-single__image img {
  display: block;
  width: 100%;
  max-height: 620px;
  object-fit: cover;
  border-radius: 24px;
}

.mgec-single__content {
  max-width: 780px;
  font: 400 1.08rem/1.8 Inter, Avenir, "Segoe UI", sans-serif;
}

.mgec-single__content h2,
.mgec-single__content h3 {
  margin-top: 1.7em;
  color: var(--mgec-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.2;
}

.mgec-back {
  display: inline-flex;
  margin-top: 46px;
  color: #176a75;
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 900px) {
  .mgec-card,
  .mgec-card:nth-child(n+4) { grid-column: span 3; }
}

@media (max-width: 620px) {
  .mgec-wrap { width: min(100% - 30px, 1180px); }
  .mgec-grid { grid-template-columns: 1fr; }
  .mgec-card,
  .mgec-card:nth-child(n+4) {
    grid-column: auto;
    min-height: 290px;
    border-radius: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mgec-card,
  .mgec-card__link span { transition: none; }
}
