.gc-card {
  overflow: hidden;
  border: 1px solid var(--gc-line);
  border-radius: var(--gc-r);
  background: var(--gc-panel);
  box-shadow: var(--gc-shadow-soft);
  transition: transform .4s var(--gc-ease), border-color .3s ease, box-shadow .3s ease;
}

.gc-card:hover {
  transform: translateY(-5px);
  border-color: rgba(138,232,63,.42);
  box-shadow: var(--gc-shadow);
}

.gc-card__media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--gc-panel-2);
}

.gc-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s var(--gc-ease);
}

.gc-card:hover .gc-card__media img { transform: scale(1.045); }

.gc-card__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--gc-panel-3);
}

.gc-card__body { padding: 20px; }

.gc-card__kicker { color: var(--gc-green); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.gc-card__title {
  margin: 8px 0 10px;
  font: 700 clamp(1.35rem, 2.2vw, 1.8rem)/1.08 var(--gc-display);
}

.gc-card__excerpt {
  display: -webkit-box;
  margin: 0 0 16px;
  overflow: hidden;
  color: var(--gc-muted);
  font-size: .92rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.gc-hub-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
}

.gc-hub-feature__media { min-height: 420px; }
.gc-hub-feature__media img { width: 100%; height: 100%; object-fit: cover; }
.gc-hub-feature__content { display: flex; flex-direction: column; align-items: start; justify-content: center; padding: clamp(28px, 4vw, 52px); }
.gc-hub-feature__content h2 { margin: 12px 0; font: 800 clamp(2rem, 4vw, 3.4rem)/.98 var(--gc-display); }
.gc-hub-feature__content p { color: var(--gc-muted); }