.sponsorship-page { line-height: 1.65; overflow-wrap: anywhere; }
.sponsorship-page section { padding-top: 3rem; padding-bottom: 2rem; }
.sponsorship-hero { padding: 5rem 0 1.5rem; }
.sponsorship-hero h1 { font-size: clamp(2.6rem, 6vw, 5rem); line-height: 1.08; max-width: 18ch; margin: .5em 0; letter-spacing: -.035em; }
.sponsorship-lead { max-width: 48rem; font-size: 1.25rem; color: var(--muted); }
.sponsorship-fine { color: var(--muted); font-size: .95rem; }
.sponsorship-page h2 { font-size: clamp(1.7rem, 3vw, 2.6rem); line-height: 1.25; }
.sponsorship-page h3 { font-size: 1.25rem; line-height: 1.4; }
.sponsorship-page .button { white-space: normal; min-height: 48px; height: auto; text-align: center; }
.sponsorship-counters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.sponsorship-counters .card { display: flex; flex-direction: column; gap: .5rem; padding: 1.5rem; }
.sponsorship-counters strong { color: var(--gold-strong); font-size: 3rem; line-height: 1.2; }
.sponsorship-counters span { font-weight: 700; }
.sponsorship-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: start; }
.sponsorship-steps ol { padding-left: 1.5rem; }
.sponsorship-steps li { padding: .5rem 0; }
.sponsorship-steps strong { display: block; color: var(--text); }
.sponsorship-directory { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap: 1rem; }
.sponsorship-empty { grid-column: 1/-1; border-style: dashed; }
.sponsor-logo { width: 140px; height: 100px; object-fit: contain; background: #fff; border-radius: 8px; }
.sponsorship-closing { padding: clamp(1rem,4vw,3rem); }
.sponsorship-form-wrap { max-width: 900px; }
.sponsorship-notice, .sponsorship-warning { padding: 1.25rem; border: 1px solid var(--gold); background: #21190e; border-radius: 12px; margin: 1.5rem 0; }
.sponsorship-notice p:last-child, .sponsorship-warning p:last-child { margin-bottom: 0; }
.sponsorship-warning h2 { font-size: 1.4rem; margin-top: 0; }
.sponsorship-package-strip { display: flex; flex-wrap: wrap; gap: .75rem; padding: 1rem 0 2rem; }
.sponsorship-package-strip span { border: 1px solid var(--border); padding: .5rem .75rem; border-radius: 8px; background: #16120c; }
.sponsorship-page fieldset { margin: 0; border: 1px solid var(--border); border-radius: 16px; padding: clamp(1rem,3vw,2rem); min-width: 0; background: #100d09; }
.sponsorship-page legend { font-size: 1.4rem; font-weight: bold; padding: 0 .5rem; }
.sponsorship-page input, .sponsorship-page select, .sponsorship-page textarea { font: inherit; max-width: 100%; min-width: 0; }
.sponsorship-page :disabled { opacity: 1; color: #d6c1a3; -webkit-text-fill-color: #d6c1a3; cursor: not-allowed; }
.sponsorship-page .button:disabled { background: #32291c; border-color: #8a714d; }
.sponsorship-page .form-field { min-width: 0; }
.sponsorship-check { display: flex; align-items: flex-start; gap: .75rem; margin: 1.5rem 0; }
.sponsorship-check input { flex: 0 0 22px; width: 22px; height: 22px; margin-top: .3rem; }
.sponsorship-privacy { border-top: 1px solid var(--border); margin-top: 2rem; }
@media (max-width: 700px) { .sponsorship-grid, .sponsorship-counters, .sponsorship-page .quote-fields { grid-template-columns: 1fr; } .sponsorship-hero { padding-top: 2.5rem; } }
/* Let the existing chrome grow with accessibility text rather than clip it. */
.sponsorship-body .nav-inner { flex-wrap: wrap; padding-block: .5rem; }
.sponsorship-body .brand { white-space: normal; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.sponsorship-body .brand img { flex-shrink: 0; }
.sponsorship-body .nav-actions { flex-wrap: wrap; max-width: 100%; }
.sponsorship-body .veteran-badge { white-space: normal; }
.sponsorship-body .footer-inner, .sponsorship-body .footer-links { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.sponsorship-body .footer-links li { min-width: 0; max-width: 100%; }
.sponsorship-body .mobile-nav-panel { position: fixed; left: 1rem; right: 1rem; width: auto; max-width: calc(100vw - 2rem); }
.sponsorship-body .nav-links { flex-wrap: wrap; flex-basis: 32rem; }
.sponsorship-body .nav-links a, .sponsorship-body .nav-breakout summary { white-space: normal; overflow-wrap: anywhere; }

.sponsorship-body::before { background: radial-gradient(ellipse at 85% 5%, #352510 0%, #100d08 48%, #090705 85%); }
.sponsorship-body .skip-link:not(:focus) { transform: translateY(-200%); }

/* Validation feedback only; empty errors do not affect the approved layout. */
.sponsorship-field-error { color: #ffd0bd; font-size: 1rem; line-height: 1.5; margin: .4rem 0 0; overflow-wrap: anywhere; }
.sponsorship-field-error[hidden] { display: none; }
.sponsorship-page [aria-invalid="true"] { border-color: #efad86; }
