/* One shell for every page outside the homepage: same head, widths, type scale and cards. */
.page { padding-block:56px 96px; }
.page-head { padding-bottom:28px; border-bottom:1px solid var(--line); }
.page-kicker { display:block; margin-bottom:12px; color:var(--accent); font-size:14px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.page-head h1 { font-size:clamp(40px,5vw,60px); line-height:1; color:var(--ink); }
.page-lead { margin-top:14px; max-width:60ch; color:var(--muted); font-size:18px; line-height:1.55; }
.page-meta { margin-top:16px; color:var(--muted); font-size:14px; }

.page-body { min-width:0; max-width:72ch; color:var(--muted); font-size:16px; line-height:1.7; }
.page-body > * + * { margin-top:16px; }
.page-body h2 { margin-top:40px; color:var(--ink); font-size:clamp(26px,3vw,32px); line-height:1.1; }
.page-body h2:first-child { margin-top:0; }
.page-body h3 { margin-top:28px; color:var(--ink); font-size:18px; }
.page-body p, .page-body li { color:var(--muted); font-size:16px; }
.page-body .lead { color:var(--ink); font-size:18px; line-height:1.6; }
.page-body strong { color:var(--ink); }
.page-body ul, .page-body ol { padding-left:22px; }
.page-body li + li { margin-top:10px; }
.page-body a { color:var(--accent); text-underline-offset:3px; }
.page-body code { font-size:.92em; }
.page-note { padding:14px 16px; border-left:3px solid var(--gold); background:var(--surface-raised); color:var(--ink) !important; font-size:15px !important; }

.legal-grid { display:grid; grid-template-columns:220px minmax(0,1fr); gap:56px; margin-top:40px; align-items:start; }
.legal-nav { position:sticky; top:24px; display:grid; gap:2px; padding:0; border:0; font-size:15px; }
.legal-nav a { padding:8px 12px; border-left:2px solid var(--line); color:var(--muted); text-decoration:none; }
.legal-nav a:hover { color:var(--ink); border-left-color:var(--accent); }
.legal-nav a[aria-current=page] { color:var(--ink); font-weight:700; border-left-color:var(--accent); }
.legal-contact { display:block; margin:0; padding:18px 20px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--ink); font-size:15px; font-style:normal; line-height:1.7; }

.page-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,480px); gap:56px; margin-top:40px; align-items:start; }
.page-card { padding:clamp(22px,3vw,32px); border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--ink); }
.page-card h2 { font-size:32px; line-height:1.05; color:var(--ink); margin-bottom:12px; }
.page-card > p { color:var(--muted); font-size:16px; line-height:1.65; }
.page-card > p + p, .page-card > p + form, .page-card > form + p { margin-top:14px; }
.page-card > .button { margin-top:20px; white-space:normal; }
.page-card .pledge-form { margin-top:8px; }
.step-list { list-style:none; padding:0 !important; counter-reset:step; }
.step-list li { position:relative; padding-left:44px; counter-increment:step; }
.step-list li::before { content:counter(step); position:absolute; left:0; top:1px; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--accent); color:var(--surface); font-size:14px; font-weight:700; }
.step-list li + li { margin-top:16px; }

.page-narrow .page-card { max-width:640px; }
.page-narrow .page-card, .page-narrow > .button { margin-top:32px; }
.page-narrow .page-card form { margin-top:18px; }

@media (max-width:900px) {
  .legal-grid, .page-split { grid-template-columns:1fr; gap:28px; margin-top:28px; }
  .legal-nav { position:static; display:flex; flex-wrap:wrap; gap:6px; }
  .legal-nav a { border:1px solid var(--line); border-radius:999px; padding:6px 12px; font-size:14px; }
  .legal-nav a[aria-current=page] { border-color:var(--accent); }
}
@media (max-width:480px) {
  .page { padding-block:32px 72px; }
  .page-lead { font-size:17px; }
}

/* The account and launch-invite dialog uses the same kicker as every page head. */
.auth-card .eyebrow { color:var(--accent); font-size:14px !important; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }

/* Sponsor prize options */
.reward-list { margin:0 0 8px; }
.reward-list dt { font-weight:700; color:var(--ink); margin-top:14px; }
.reward-list dd { margin:4px 0 0; color:var(--muted); }
.reward-choices { border:0; margin:0; padding:0; display:grid; gap:8px; min-width:0; }
.reward-choices legend { padding:0; margin-bottom:7px; font-size:15px; font-weight:700; color:var(--muted); }
.pledge-form .reward-choice { display:flex; gap:10px; align-items:flex-start; padding:12px 14px; border:1px solid var(--line); border-radius:6px; background:var(--field); cursor:pointer; font-weight:400; font-size:13px; line-height:1.45; }
.pledge-form .reward-choice input { width:16px; height:16px; flex:0 0 16px; margin:2px 0 0; padding:0; accent-color:var(--accent); }
.reward-choice strong { display:block; color:var(--ink); font-size:15px; margin-bottom:2px; }
.pledge-form .reward-choice:has(input:checked) { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.pledge-form .reward-choice:has(input:focus-visible) { outline:2px solid var(--accent); outline-offset:2px; }
