.campus-body {
  background:
    radial-gradient(circle at 50% 12%, rgba(128, 82, 255, 0.13), transparent 31rem),
    radial-gradient(circle at 12% 58%, rgba(38, 192, 170, 0.08), transparent 30rem),
    var(--page-bg);
}

.campus-hero { max-width: 960px; }
.campus-hero::after {
  content: '';
  position: absolute;
  z-index: -1;
  width: min(680px, 120vw);
  height: 260px;
  left: 50%;
  bottom: 0;
  translate: -50% 35%;
  background: radial-gradient(ellipse, rgba(151, 72, 255, 0.17), rgba(42, 142, 255, 0.06) 48%, transparent 74%);
  pointer-events: none;
}

.campus-trust-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .55rem;
  margin-top: 1.5rem;
}
.campus-trust-row span {
  padding: .45rem .7rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--text-dim);
  font-size: .72rem;
  font-weight: 650;
}

.campus-benefits .page-card { overflow: hidden; }
.campus-benefits .page-card::after {
  content: '';
  position: absolute;
  width: 140px;
  height: 140px;
  right: -70px;
  bottom: -80px;
  border-radius: 50%;
  background: rgba(151, 72, 255, .09);
  filter: blur(22px);
}

.campus-process {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 7vw, 6rem);
  align-items: center;
}
.campus-process .request-app-steps {
  padding: clamp(1.25rem, 4vw, 2rem);
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--bg-card);
}
.campus-process .request-app-steps li > span {
  border-color: rgba(151, 72, 255, .42);
  background: rgba(151, 72, 255, .1);
  color: #c8a9ff;
}

.campus-form-card > h2,
.campus-verify-card h2 {
  margin: 1rem 0 .7rem;
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 4vw, 2.25rem);
}
.campus-form-card .page-form { margin-top: 1.4rem; }
.campus-verify-card { max-width: 760px; margin-inline: auto; text-align: center; }
.campus-verify-card p { max-width: 560px; margin: 0 auto 1.2rem; }
.campus-verify-card .form-message { margin-top: 1rem; }

[data-theme="light"] .campus-body {
  background:
    radial-gradient(circle at 50% 12%, rgba(128, 82, 255, 0.09), transparent 31rem),
    radial-gradient(circle at 12% 58%, rgba(38, 192, 170, 0.06), transparent 30rem),
    var(--page-bg);
}
[data-theme="light"] .campus-process .request-app-steps li > span { color: #6940ad; }

@media (max-width: 900px) {
  .campus-process { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .campus-trust-row { gap: .35rem; }
  .campus-trust-row span { font-size: .64rem; }
}
