.rules {
  background: var(--cream);
}

section[id] { scroll-margin-top: 86px; }

@media (min-width: 961px) {
  #primary-nav { gap: 24px; }
}

.eligibility-check {
  list-style: none;
  counter-reset: eligibility;
  padding: 0;
  margin: 24px 0;
  display: grid;
  gap: 1px;
  background: rgba(255,255,255,.4);
}

.eligibility-check li {
  counter-increment: eligibility;
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 20px;
  padding: 18px 0;
  border-top: 1px solid rgba(255,255,255,.45);
}

.eligibility-check li::before { content: none; }
.eligibility-check strong { text-transform: uppercase; font-size: 11px; letter-spacing: .1em; }
.eligibility-check span { font-size: 15px; }
.eligibility-note { font-size: 13px !important; color: rgba(255,255,255,.78); }
.eligibility-summary > p:first-child { font-size: 20px; line-height: 1.55; margin-top: 0; }
.eligibility-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 28px 0 24px; background: rgba(255,255,255,.38); }
.eligibility-points span { padding: 20px; background: rgba(255,255,255,.13); font-size: 12px; font-weight: 500; line-height: 1.45; }
.eligibility-points strong { display: block; margin-bottom: 8px; font-size: 11px; text-transform: uppercase; letter-spacing: .09em; }

.student-guide { background: var(--paper); }
.guide-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 70px; background: var(--line); border: 1px solid var(--line); }
.guide-panel { padding: 42px; background: #fff; display: flex; flex-direction: column; }
.panel-kicker { margin: 0 0 30px; color: var(--red); text-transform: uppercase; font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.guide-panel h3 { margin: 0 0 20px; font: 700 31px/1.12 "Manrope", sans-serif; letter-spacing: -.04em; }
.guide-panel > p:not(.panel-kicker):not(.panel-note) { color: var(--muted); }
.guide-panel ul { list-style: none; padding: 0; margin: 28px 0; border-top: 1px solid var(--line); }
.guide-panel li { padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.guide-panel li::before { content: "+"; color: var(--red); margin-right: 9px; }
.document-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; width: 100%; margin-top: 4px; padding: 15px 17px; border: 1px solid var(--ink); color: var(--ink); font-size: 13px; font-weight: 700; transition: .2s; }
.document-link:hover { background: var(--ink); color: #fff; }
.document-link span { color: var(--red); }
.document-link:hover span { color: var(--lime); }
.panel-note { margin: auto 0 0; padding: 18px; min-height: 110px; background: var(--cream); color: var(--muted); font-size: 12px; display: flex; align-items: center; }
.award-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); margin-top: 28px; }
.awards-panel .award-list { margin-top: 52px; }
.award-list div { padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.award-list strong,.award-list span { display: block; }
.award-list strong { color: var(--red); font: 700 20px "Manrope", sans-serif; }
.award-list span { margin-top: 4px; font-size: 11px; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); }

.rules-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-top: 70px;
}

.rule-card {
  background: var(--paper);
  padding: 34px;
  min-height: 245px;
}

.rule-card > span {
  color: var(--red);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.rule-card h3 {
  font: 700 23px/1.2 "Manrope", sans-serif;
  letter-spacing: -.03em;
  margin: 40px 0 14px;
}

.rule-card p {
  color: var(--muted);
  font-size: 14px;
  margin: 0;
}

.rules-notice {
  margin-top: 28px;
  border-left: 4px solid var(--red);
  padding: 24px 28px;
  background: #fff;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 25px;
}

.rules-notice strong {
  font: 700 15px "Manrope", sans-serif;
}

.rules-notice p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.score-only {
  margin-top: 34px;
  padding: 25px 28px;
  border: 1px solid rgba(216,235,114,.5);
  background: rgba(216,235,114,.08);
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 32px;
  align-items: start;
}

.score-only div {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.score-only span {
  color: var(--lime);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.score-only strong {
  color: #fff;
  font: 700 20px/1.25 "Manrope", sans-serif;
}

.score-only p {
  color: #b8c8d0;
  font-size: 14px;
  margin: 0;
}

.stage-copy {
  margin: 16px 0 20px;
  color: #b8c8d0;
  font-size: 12px;
  line-height: 1.55;
}

.assessment-framework {
  margin-top: 16px;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.16);
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 32px;
}

.framework-heading > span {
  color: var(--lime);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.framework-heading h3 {
  margin: 9px 0 0;
  color: #fff;
  font: 700 20px/1.25 "Manrope", sans-serif;
}

.framework-copy p {
  margin: 0;
  color: #b8c8d0;
  font-size: 14px;
}

.framework-copy p + p { margin-top: 10px; }
.text-link { color: var(--ink); font-weight: 700; border-bottom: 1px solid var(--red); }
.text-link:hover { color: var(--red); }
.inline-light-link { color: #fff; font-weight: 700; border-bottom: 1px solid var(--lime); }
.inline-light-link:hover { color: var(--lime); }

@media (max-width: 960px) {
  .rules-grid { grid-template-columns: repeat(2, 1fr); }
  .guide-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  section[id] { scroll-margin-top: 72px; }
  .rules-grid { grid-template-columns: 1fr; margin-top: 48px; }
  .rule-card { min-height: auto; }
  .rules-notice { grid-template-columns: 1fr; gap: 10px; }
  .score-only { grid-template-columns: 1fr; gap: 14px; padding: 22px; }
  .assessment-framework { grid-template-columns: 1fr; gap: 16px; padding: 22px; }
  .eligibility-check li { grid-template-columns: 1fr; gap: 4px; }
  .eligibility-points { grid-template-columns: 1fr; }
  .guide-panel { padding: 28px; }
  .award-list { grid-template-columns: 1fr; }
  .awards-panel .award-list { margin-top: 32px; }
}
