.capacity-status {
  margin: 0 0 20px;
  padding: 13px 15px;
  border: 1px solid #b8ced2;
  border-radius: 12px;
  background: #effafa;
  color: #21424b;
  font-size: .9rem;
  line-height: 1.5;
}

.capacity-status[data-mode="waitlist"] {
  border-color: #d6aa66;
  background: #fff8ec;
  color: #63420e;
}

.claim-page { min-height: 100vh; }
.claim-main { padding: clamp(42px, 7vw, 86px) 0 90px; }
.claim-card {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr);
  gap: clamp(34px, 6vw, 76px);
  align-items: start;
}
.claim-copy { padding-top: 18px; }
.claim-copy h1 {
  margin: 18px 0 22px;
  font: 400 clamp(2.5rem, 5vw, 5rem)/.98 Georgia, serif;
  letter-spacing: -.04em;
}
.claim-copy > p, .claim-copy li { color: #bfd0d5; line-height: 1.7; }
.claim-copy ul { padding-left: 22px; }
.claim-copy li { margin: 10px 0; }
.claim-copy .claim-privacy { margin-top: 28px; color: #8da6ad; font-size: .86rem; }
.claim-form button { margin-top: 26px; }
.claim-result {
  display: none;
  margin-top: 18px;
  padding: 15px;
  border-radius: 12px;
  background: #e8f8f7;
  color: #163a41;
  line-height: 1.55;
}
.claim-result.show { display: block; }
.claim-result.error { background: #fff0f0; color: #7a2020; border: 1px solid #e5b1b1; }

@media (max-width: 820px) {
  .claim-card { grid-template-columns: 1fr; }
  .claim-copy { padding-top: 0; }
}
