.universities {
  padding-block: 20px;
}

.universities__banner {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 45.6cqw 1fr;
  grid-template-rows: auto auto;
  align-items: start;
  column-gap: clamp(20px, 2.128cqw, 40px);
  row-gap: clamp(20px, 2.128cqw, 40px);
  padding: var(--card-pad-top) var(--card-pad) var(--card-pad);
  background: var(--gradient-accent);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
}

.universities__decor {
  position: absolute;
  pointer-events: none;
  user-select: none;
  max-width: none;
  height: auto;
}

.universities__banner::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    repeating-linear-gradient(to right, rgba(255, 255, 255, 0.15) 0 1px, transparent 1px 104.8px),
    repeating-linear-gradient(to bottom, rgba(255, 255, 255, 0.15) 0 1px, transparent 1px 52.4px);
  background-position: 52.4px 0, 0 6.6px;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 35%);
  mask-image: linear-gradient(to right, transparent 0, #000 35%);
}

.universities__decor--wave {
  left: -20cqw;
  top: -12.2cqw;
  width: 150cqw;
}

.universities__decor--wave-2 {
  left: -35cqw;
  top: 26cqw;
  width: 150cqw;
}

.universities__head {
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(16px, 1.6cqw, 30px);
}

.universities__content {
  position: relative;
  z-index: 1;
  grid-column: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(20px, 2.128cqw, 40px);
  width: 100%;
}

.universities__title {
  width: 61.4cqw;
  max-width: 100%;
  font-size: clamp(32px, 4.043cqw, 76px);
  --hl-h: 0.9em;
  line-height: var(--hl-h);
  color: var(--color-white);
}

@supports (height: round(1.4px, 1px)) {
  .universities__title { --hl-h: round(0.9em, 1px); }
}

.universities__muted {
  color: var(--color-light-blue);
}

.universities__hl {
  --hl-c: color-mix(in srgb, var(--color-light-blue) 40%, transparent);
  --hl-r: 4px;
  --hl-corner: var(--hl-r) var(--hl-r);
  background-image:
    linear-gradient(var(--hl-c), var(--hl-c)),
    linear-gradient(var(--hl-c), var(--hl-c)),
    linear-gradient(var(--hl-c), var(--hl-c)),
    radial-gradient(circle at 100% 0, var(--hl-c) calc(var(--hl-r) - 0.5px), transparent var(--hl-r)),
    radial-gradient(circle at 0 0, var(--hl-c) calc(var(--hl-r) - 0.5px), transparent var(--hl-r)),
    radial-gradient(circle at 100% 100%, var(--hl-c) calc(var(--hl-r) - 0.5px), transparent var(--hl-r)),
    radial-gradient(circle at 0 100%, var(--hl-c) calc(var(--hl-r) - 0.5px), transparent var(--hl-r));
  background-size:
    100% calc(var(--hl-h) - 2 * var(--hl-r)),
    calc(100% - 2 * var(--hl-r)) var(--hl-r),
    calc(100% - 2 * var(--hl-r)) var(--hl-r),
    var(--hl-corner), var(--hl-corner), var(--hl-corner), var(--hl-corner);
  background-position:
    0 50%,
    var(--hl-r) calc(50% + (var(--hl-r) - var(--hl-h)) / 2),
    var(--hl-r) calc(50% + (var(--hl-h) - var(--hl-r)) / 2),
    0 calc(50% + (var(--hl-h) - var(--hl-r)) / 2),
    100% calc(50% + (var(--hl-h) - var(--hl-r)) / 2),
    0 calc(50% + (var(--hl-r) - var(--hl-h)) / 2),
    100% calc(50% + (var(--hl-r) - var(--hl-h)) / 2);
  background-repeat: no-repeat;
  padding: 0 3px;
  margin-left: -3px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

@media (min-width: 1281px) {
  .universities__title {
    position: relative;
    isolation: isolate;
  }

  .universities__title::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: -3px;
    top: -18px;
    width: 58.7cqw;
    height: 9.17cqw;
    background: color-mix(in srgb, var(--color-light-blue) 40%, transparent);
    border-radius: 4px;
  }

  .universities__hl { background-image: none; letter-spacing: 0.03em; }
}

.universities__logos {
  --u: min(6.43cqw, 121px);
  position: relative;
  z-index: 1;
  grid-column: 2;
  justify-self: end;
  display: grid;
  grid-template-columns: repeat(6, var(--u));
  grid-template-rows: repeat(2, var(--u));
  column-gap: calc(var(--u) * 0.214);
  row-gap: calc(var(--u) * 0.9);
  min-height: calc(var(--u) * 2.9);
  align-content: start;
  justify-items: center;
}

.universities__logo {
  display: flex;
  align-items: center;
  justify-content: center;
}

.universities__logo:nth-child(-n + 6) { align-self: start; }
.universities__logo:nth-child(n + 7) { align-self: center; }

.universities__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.universities__logo--tall img {
  max-height: none;
  height: calc(var(--u) * 1.2);
}

.universities__pill {
  position: relative;
  z-index: 1;
  padding: clamp(8px, 0.7cqw, 13px) clamp(16px, 1.6cqw, 30px);
  border-radius: clamp(8px, 0.745cqw, 14px);
  background: color-mix(in srgb, var(--color-white) 25%, transparent);
  color: var(--color-white);
  font-size: var(--fs-h4);
}

.universities__case {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: clamp(12px, 1.3cqw, 22px);
  padding: clamp(16px, 1.7cqw, 30px);
  border-radius: var(--radius-card);
  background: var(--color-white);
  box-shadow: var(--shadow-photo);
}

.universities__case-head {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.3cqw, 22px);
}

.universities__case-photo {
  flex: none;
  width: clamp(56px, 5cqw, 92px);
  height: clamp(56px, 5cqw, 92px);
  border-radius: 50%;
  object-fit: cover;
}

.universities__case-name {
  font-size: var(--fs-h4);
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--color-blue);
}

.universities__case-role {
  font-size: var(--fs-small);
  color: var(--color-gray-1);
}

.universities__case-quote {
  font-size: var(--fs-text);
  color: var(--color-black);
}

.universities__scores {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(8px, 0.85cqw, 16px);
}

.universities__score {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: clamp(10px, 1.06cqw, 20px);
  border-radius: var(--radius-btn);
  background: var(--color-light-blue);
}

.universities__score-label {
  font-size: var(--fs-small);
  color: var(--color-gray-1);
}

.universities__score-value {
  font-size: var(--fs-h4);
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--color-black);
}

.universities__score--total .universities__score-value {
  color: var(--color-black);
}

.universities__btn {
  font-size: clamp(16px, 1.277cqw, 24px);
  padding: clamp(14px, 1.489cqw, 28px) clamp(30px, 3.4cqw, 64px);
}

.universities__case-year {
  font-size: var(--fs-small);
  color: var(--color-gray-2);
}

@media (max-width: 1024px) {
  .universities__banner {
    grid-template-columns: 1fr;
  }

  .universities__title { width: 100%; }

  .universities__logos {
    --u: clamp(76px, 8.5cqw, 113.75px);
    grid-column: 1;
    justify-self: center;
    grid-template-columns: repeat(4, var(--u));
    grid-template-rows: none;
    row-gap: calc(var(--u) * 0.3);
    min-height: 0;
  }

  .universities__logo:nth-child(-n + 6) { align-self: center; }
}

@media (max-width: 767px) {
  .universities { padding: 0; }

  .universities > .container { padding-inline: 0; }

  .universities__banner {
    gap: 30px;
    padding: var(--section-pad-y) var(--section-pad-x);
    border-radius: 0;
    box-shadow: none;
  }

  .universities__content { gap: 20px; }

  .universities__scores { grid-template-columns: repeat(2, 1fr); }

  .universities__score--total {
    grid-column: 1 / -1;
    flex-direction: row;
    align-items: baseline;
    gap: 8px;
  }

  .universities__title { font-size: var(--fs-h2); }

  .universities__btn { align-self: stretch; }

  .universities__logos {
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: auto;
    grid-template-rows: none;
    column-gap: 2px;
    row-gap: 10px;
    min-height: 0;
    width: 100%;
    justify-items: stretch;
  }

  .universities__logo {
    aspect-ratio: 1;
    align-self: center;
  }

  .universities__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .universities__logo--tall img {
    max-height: 100%;
    height: auto;
  }

  .universities__banner::before {
    -webkit-mask-image: none;
    mask-image: none;
  }

  .universities__decor--wave {
    left: -160px;
    top: -140px;
    width: 2084px;
    max-width: none;
  }

  .universities__decor--wave-2 { display: none; }
}
