/* The claim page. Deliberately small: it loads on a phone, often on the same
   weak pub signal as the entry form, and it shares the brand layer with the
   competition rather than redefining any of it.

   --page is defined by site/campaign.css, which this page does not load (that
   stylesheet is all embed layout and the wheel). The one line is repeated here
   rather than pulling in the whole campaign sheet; both resolve to the same
   brand token, so they cannot drift to different colours. */
:root { --page: var(--green-deep); }

body {
  margin: 0;
  background: var(--page);
  color: #fff;
  font-family: var(--font-body);
  font-weight: 500;
  line-height: 1.5;
  min-height: 100vh;
}

.claim-page {
  max-width: 560px;
  margin-inline: auto;
  padding: 40px 20px 56px;
}

.claim-loading { text-align: center; opacity: 0.8; }

.claim-page h1 {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 7vw, 2.6rem);
  line-height: 1.02;
  text-transform: uppercase;
  margin: 0 0 10px;
}

.claim-page .eyebrow {
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 0 0 6px;
}

.claim-page .lede { margin: 0 0 26px; }

/* These two sit INSIDE the white card, so they inherit the page's white body
   colour and vanish. campaign.css gives .form-note its colour, and this page
   deliberately does not load that stylesheet. */
.claim-page .form-note,
.claim-deadline {
  color: var(--ink-soft);
  font-size: 0.78rem;
  text-align: center;
  margin: 12px 0 0;
}

.claim-deadline { display: block; margin-top: 10px; }

.claim-foot {
  margin-top: 34px;
  text-align: center;
  font-size: 0.74rem;
  opacity: 0.75;
}

.claim-foot a { color: var(--gold); }

/* The states that are not a form: expired, already used, bad link, and the
   thank-you. The prototype had no expiry state at all — only prose promising
   seven days. */
.claim-note {
  background: rgba(255, 255, 255, 0.07);
  border-radius: var(--r-md);
  padding: 22px;
  margin: 0 0 20px;
}

.claim-note h1 { font-size: clamp(1.6rem, 6vw, 2.1rem); }
