/* Sponsor a Checkpoint page (builds on gift.css layout and the shared backdrop) */
.sxhero { align-items: start; }
.sxlist { list-style: none; padding: 0; margin: 2rem 0 0; display: grid; gap: 0; max-width: 52ch; }
.sxlist li { display: grid; gap: 0.2rem; padding: 0.95rem 0 0.95rem 1.4rem; border-top: 1px solid var(--border); position: relative; }
.sxlist li:last-child { border-bottom: 1px solid var(--border); }
.sxlist li::before { content: ""; position: absolute; left: 0; top: 1.35rem; width: 0.55rem; height: 0.55rem; background: var(--accent); transform: rotate(45deg); }
.sxlist strong { font: 800 1.15rem/1.15 var(--font-display); text-transform: uppercase; letter-spacing: 0.02em; color: var(--fg); }
.sxlist span { color: var(--muted); font-size: 0.92rem; line-height: 1.5; }
.sxform__h { font: 900 1.9rem/1 var(--font-display); text-transform: uppercase; margin: 1.1rem 0 0.35rem; }
.sxform__sub { color: var(--muted); font-size: 0.9rem; line-height: 1.5; margin: 0 0 1.2rem; }
.sxform__sub a { color: var(--fg); }
.sxgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 0.8rem; }
.sxform .field select, .sxform .field textarea { width: 100%; min-height: 48px; padding: 0.7rem 0.9rem; font: 500 1rem/1.3 var(--font-body); color: var(--fg); background: var(--bg); border: 0; box-shadow: inset 0 0 0 1.5px var(--border-strong); border-radius: 0; }
.sxform .field select { appearance: none; -webkit-appearance: none; padding-right: 2.2rem; background: var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23b9b3a6' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 0.9rem center; }
.sxform .field textarea { resize: vertical; min-height: 104px; }
.sxform .field select:focus, .sxform .field textarea:focus { outline: none; box-shadow: inset 0 0 0 2px var(--accent); }
.sxform .field input::placeholder, .sxform .field textarea::placeholder { color: var(--faint); }
.sxhp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sxform .pform__msg { margin-top: 0.8rem; min-height: 1.3em; }
.sxfaq { max-width: 820px; }
.sxfaq .faq__list { margin-top: 1rem; }
.sxfaq .faq__list summary { font-size: 1.25rem; }
.sxfaq .faq__list p { color: var(--muted); padding: 0 0 1.2rem; margin: 0; max-width: 64ch; line-height: 1.6; }
@media (max-width: 900px) { .sxgrid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .sxform__h { font-size: 1.6rem; } }
.sxgrid .sxwide { grid-column: 1 / -1; }
.sxjump { display: none; margin-top: 1.4rem; }
.sxform { scroll-margin-top: 80px; }
@media (max-width: 820px) { .sxjump { display: inline-flex; } }
