/* ============================================================
   SUM — /rushsum/ QR landing page (page-scoped)
   Builds on main.css + tokens.css. Everything here is scoped to
   .rush* so it never leaks into other pages. Two ideas:
     1. One-screen capture: tighten the drench, put the form on a
        light card so fields read crisp and the gold CTA pops.
     2. A quiet ledger strip for the three teaser events.
   ============================================================ */

/* Tighten the conversion drench so the whole capture fits a phone
   screen — no scroll to the button. */
.section.rush {
  padding-block: clamp(2rem, 5vw, 3.75rem);
  position: relative;
  overflow: clip;   /* keep the crest contained to the drench band */
}
.rush__in { position: relative; z-index: 1; }

/* Only the phoenix crest on this page (owner's call): drop the fret-mark
   watermark the drench section adds by default. */
.section.rush::before { content: none; }

/* Phone: seat the phoenix crest in the upper band behind the headline,
   cropped by the right edge, instead of the default full-bleed centre
   wash that hid behind the form card. */
@media (max-width: 900px) {
  .rush .seal {
    width: 122vw;
    right: -34vw;
    left: auto;
    top: -1rem;
    bottom: auto;
    transform: none;
    opacity: 0.15;
  }
}
.rush__grid { align-items: center; row-gap: clamp(1.75rem, 4vw, 2.5rem); }

.rush__head { max-width: 16ch; margin-bottom: var(--s-3); }
.rush__lead { margin-bottom: 0; max-width: 42ch; }

/* Light form card on the crimson ground. The overrides below beat
   main.css's `.drench .field input` rules by equal specificity +
   later source order, so text stays ink instead of on-dark. */
.rush__card {
  /* The .drench section redefines --ink / --ink-2 / --ink-3 / --rule to
     their on-crimson values and they inherit down. Restore the light
     palette INSIDE the card so the form reads as a light form, not white
     text on a light field. Values mirror :root in tokens.css. */
  --ink:    oklch(19.5% 0.014 25);
  --ink-2:  oklch(40% 0.013 25);
  --ink-3:  oklch(55% 0.011 30);
  --rule:   oklch(83% 0.020 80);
  --on-dark: oklch(19.5% 0.014 25);   /* .drench .field input uses this */
  background: var(--paper);
  color: var(--ink);
  border: 1px solid var(--rule);
  border-radius: 3px;
  padding: clamp(1.25rem, 4vw, 2rem);
  max-width: 32rem;
  box-shadow: 0 18px 40px -24px oklch(19.5% 0.014 25 / 0.55);
}
.rush__card .field:last-of-type { margin-bottom: var(--s-2); }
.rush__card .field label { color: var(--ink-3); }
.rush__card .field input {
  color: var(--ink);
  background: var(--paper-edge);
  border-color: var(--rule);
}
.rush__card .field input::placeholder { color: var(--ink-3); }
.rush__card .field input:focus-visible {
  color: var(--ink);
  border-color: var(--brass);
  box-shadow: var(--focus);
}
.rush__card .form-note,
.rush__card .form-consent { color: var(--ink-3); }
.rush__card .form-error { color: oklch(62% 0.19 25); }
.rush__card a,
.rush__card .tlink { color: var(--crimson); }

.rush__card .form-consent { margin-top: var(--s-3); }
.rush__submit { width: 100%; margin-top: var(--s-3); }
.rush__micro { text-align: center; margin-top: var(--s-2); }

/* Escape hatch under the card — on the drench, so it must be light. */
.rush__site-link { margin-top: var(--s-3); }
.rush__site-link a { color: var(--on-crimson); }

/* ---------- confirmation ---------- */
.rush__done { outline: none; }
.rush__done .rush__done-h { margin: var(--s-2) 0 var(--s-3); }
.rush__done-body { color: var(--ink-2); margin-bottom: var(--s-4); }
.rush__done .btn-row { margin-bottom: var(--s-4); }
.rush__done-ig { margin: 0; }

/* ---------- events strip ---------- */
.rush__events-note { margin: var(--s-1) 0 var(--s-4); }
.rush__events {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--rule);
  max-width: var(--measure);
}
.rush__event {
  display: flex;
  gap: clamp(0.9rem, 3vw, 1.6rem);
  align-items: baseline;
  padding: var(--s-3) 0;
  border-bottom: 1px solid var(--rule);
}
.rush__event-date {
  flex: none;
  min-width: 8.5rem;
  font-family: var(--font-display);
  font-stretch: 100%;
  font-weight: 600;
  font-size: var(--t-sm);
  letter-spacing: 0.04em;
  color: var(--crimson);
}
.rush__event-body { display: flex; flex-direction: column; gap: 0.15rem; }
.rush__event-name {
  font-family: var(--font-display);
  font-stretch: 104%;
  font-weight: 600;
  font-size: var(--t-base);
}
.rush__event-loc { font-size: var(--t-sm); color: var(--ink-3); }

@media (max-width: 480px) {
  .rush__event { flex-direction: column; gap: 0.2rem; }
  .rush__event-date { min-width: 0; }
}
