.members-page-content {
  display: grid;
  gap: 34px;
}

.members-page-subtitle {
  margin: 0 0 4px;
  color: var(--blue);
  font-size: 18px;
  font-weight: 700;
}

.members-page-hero-text {
  max-width: 760px;
  margin: 0;
  font-size: 24px;
  line-height: 1.18;
}

.members-page-intro,
.members-page-members,
.members-page-benefits,
.members-page-membership {
  padding-top: 24px;
  border-top: 2px solid var(--line);
}

.members-page-content h2,
.members-page-intro > h3,
.members-page-members > h3,
.members-page-benefits > h3,
.members-page-membership > h3 {
  margin: 0 0 14px;
  color: var(--ink);
  font-family: var(--hero-display-font);
  font-size: clamp(32px, 4vw, 54px);
  font-weight: 900;
  line-height: .9;
  letter-spacing: -.06em;
  text-transform: none;
}

.members-page-content h3 {
  margin: 0;
  font-family: var(--hero-display-font);
  font-size: 24px;
  font-weight: 900;
  line-height: .95;
  letter-spacing: -.045em;
  text-transform: none;
}

.members-page-content p {
  max-width: 760px;
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.32;
}

.members-page-intro p:last-child,
.members-page-membership p:last-of-type,
.members-page-members p:last-child {
  margin-bottom: 0;
}

.members-page-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}

.members-page-card {
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr);
  min-width: 0;
  border: 1px solid #c8d0d5;
  color: var(--ink);
  text-decoration: none;
  background: #fff;
}

.members-page-card:hover .members-page-card-name,
.members-page-card:focus-visible .members-page-card-name {
  color: var(--blue);
}

.members-page-card-logo {
  min-height: 190px;
  background-position: center;
  background-size: 82%;
  background-repeat: no-repeat;
  filter: grayscale(1) contrast(.9);
  transition: filter .3s ease;
}

.members-page-card:hover .members-page-card-logo,
.members-page-card:focus-visible .members-page-card-logo {
  filter: grayscale(0) contrast(1);
}

.members-page-card-logo--borsod24 { background-image: url("assets/logos/borsod24.png"); }
.members-page-card-logo--debreciner { background-image: url("assets/logos/debreciner.png"); }
.members-page-card-logo--kecsup { background-image: url("assets/logos/kecsup.png"); }
.members-page-card-logo--szabad-pecs { background-image: url("assets/logos/szabad-pecs.png"); }
.members-page-card-logo--szabolcs24 { background-image: url("assets/logos/szabolcs24.png"); }
.members-page-card-logo--szegeder { background-image: url("assets/logos/szegeder.png"); }
.members-page-card-logo--szol24 { background-image: url("assets/logos/szol24.png"); }
.members-page-card-logo--veszprem-kukac { background-image: url("assets/logos/veszprem-kukac.png"); }

.members-page-card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 18px 18px 16px;
}

.members-page-card-name {
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.04em;
  transition: color .2s ease;
}

.members-page-card-area {
  margin-top: 6px;
  color: var(--blue);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.members-page-card-description {
  display: block;
  margin: 14px 0 16px;
  font-size: 14px;
  line-height: 1.18;
}

.members-page-card-cta,
.members-page-membership-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: auto;
  color: var(--blue);
  font-size: 13px;
  font-weight: 700;
}

.members-page-card-cta span,
.members-page-membership-cta span { font-size: 21px; line-height: .8; }

.members-page-benefits-intro {
  margin-bottom: 22px !important;
}

.members-page-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid #aeb7bd;
  border-left: 1px solid #aeb7bd;
}

.members-page-benefit {
  min-height: 174px;
  padding: 16px 16px 18px;
  border-right: 1px solid #aeb7bd;
  border-bottom: 1px solid #aeb7bd;
}

.members-page-benefit-number {
  margin-bottom: 20px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 700;
}

.members-page-benefit h3 {
  margin-bottom: 10px;
  font-size: 22px;
}

.members-page-benefit p {
  margin: 0;
  font-size: 15px;
  line-height: 1.18;
}

.members-page-membership {
  padding-bottom: 4px;
}

.members-page-membership-cta {
  min-width: 210px;
  margin-top: 4px;
  padding: 14px 16px;
  background: var(--blue);
  color: #fff;
  text-decoration: none;
}

.members-page-membership-cta:hover { background: var(--ink); }

@media (max-width: 800px) {
  .members-page-content { gap: 26px; }
  .members-page-hero-text { font-size: 19px; }
  .members-page-content h2 { font-size: clamp(30px, 8vw, 42px); }
  .members-page-content p { font-size: 17px; }
  .members-page-grid { grid-template-columns: 1fr; gap: 10px; }
  .members-page-card { grid-template-columns: 112px minmax(0, 1fr); }
  .members-page-card-logo { min-height: 165px; background-size: 84%; }
  .members-page-card-body { padding: 14px 14px 13px; }
  .members-page-card-name { font-size: 21px; }
  .members-page-card-description { font-size: 13px; }
  .members-page-benefit-grid { grid-template-columns: 1fr 1fr; }
  .members-page-benefit { min-height: 190px; padding: 14px 12px 16px; }
  .members-page-benefit-number { margin-bottom: 16px; }
}

@media (max-width: 480px) {
  .members-page-benefit-grid { grid-template-columns: 1fr; }
  .members-page-benefit { min-height: 0; }
}
