.giv-hero{background:linear-gradient(160deg,var(--color-navy) 0,var(--color-navy-deep) 100%);color:var(--color-cream);padding-block:clamp(var(--space-16),8vw,var(--space-24)) var(--space-10)}.giv-hero .section-eyebrow{color:var(--color-gold)}.giv-hero-title{font-family:var(--font-display);font-size:var(--text-hero);font-weight:700;line-height:1.02;margin-bottom:var(--space-5);max-width:16ch}.giv-hero-lead{font-size:var(--text-lg);color:oklch(from var(--color-cream) l c h / .82);max-width:58ch;margin-bottom:var(--space-3)}.giv-hero-dates{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-gold);background:oklch(from var(--color-gold) l c h / .12);border:1px solid oklch(from var(--color-gold) l c h / .35);border-radius:var(--radius-full);padding:var(--space-2) var(--space-5);margin-block:var(--space-5) var(--space-8)}.giv-jump{display:flex;flex-wrap:wrap;gap:var(--space-2)}.giv-jump a{font-size:var(--text-xs);font-weight:700;letter-spacing:.03em;color:oklch(from var(--color-cream) l c h / .85);text-decoration:none;border:1px solid oklch(from var(--color-cream) l c h / .28);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);white-space:nowrap}.giv-jump a:hover{border-color:var(--color-gold);color:var(--color-gold)}.giv-section{border-top:1px solid var(--color-divider)}.giv-section--dark{background:linear-gradient(160deg,var(--color-navy) 0,var(--color-navy-deep) 100%);color:var(--color-cream);border-top-color:transparent}.giv-section--dark .section-eyebrow{color:var(--color-gold)}.giv-section--dark .section-title{color:var(--color-cream)}.giv-section--dark .section-lead{color:oklch(from var(--color-cream) l c h / .78)}.giv-badge{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:700;letter-spacing:.03em;color:var(--color-gold-ink);background:var(--color-gold-highlight);border-radius:var(--radius-full);padding:var(--space-1) var(--space-4);margin-bottom:var(--space-5)}[data-theme=dark] .giv-badge{color:var(--color-gold);background:oklch(from var(--color-gold) l c h / .14)}.giv-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:var(--space-16);align-items:flex-start}@media (max-width:900px){.giv-grid{grid-template-columns:1fr}}.field textarea{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--text-base);font-family:inherit;min-height:110px;resize:vertical}.field textarea:focus-visible{border-color:var(--color-navy)}.field.has-error textarea{border-color:var(--color-error)}.field-hint{font-size:var(--text-xs);color:var(--color-text-faint);margin-top:var(--space-2)}.tap-grid{display:grid;gap:var(--space-3)}.tap-grid--2col{grid-template-columns:1fr 1fr}@media (max-width:560px){.tap-grid--2col{grid-template-columns:1fr}}.tap-option{position:relative;display:block}.tap-option input{position:absolute;opacity:0;width:1px;height:1px}.tap-option span{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);font-size:var(--text-sm);font-weight:600;color:var(--color-text);cursor:pointer;transition:border-color var(--transition-interactive),background var(--transition-interactive)}.tap-option span::before{content:'';width:18px;height:18px;flex-shrink:0;border-radius:var(--radius-full);border:1.5px solid var(--color-border);background:var(--color-surface)}.tap-option input:checked+span{border-color:var(--color-gold);background:var(--color-gold-highlight)}.tap-option input:checked+span::before{border-color:var(--color-gold);border-width:5px}.tap-option input:focus-visible+span{outline:2px solid var(--color-gold);outline-offset:2px}.group-error{display:none;color:var(--color-error);font-size:var(--text-xs);font-weight:600;margin-top:var(--space-2)}.interest-group.has-error .group-error{display:block}.interest-group.has-error .tap-option span{border-color:var(--color-error)}.reveal-panel{max-height:0;overflow:hidden;opacity:0;transition:max-height .45s cubic-bezier(.16, 1, .3, 1),opacity .35s ease}.reveal-panel.is-open{max-height:2200px;opacity:1;margin-top:var(--space-8)}.photo-drop{border:1.5px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;cursor:pointer;background:var(--color-surface)}.photo-drop:hover{border-color:var(--color-gold)}.photo-drop input{display:none}.photo-drop-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.photo-preview{display:none;margin-top:var(--space-4);align-items:center;gap:var(--space-3)}.photo-preview.is-visible{display:flex}.photo-preview img{width:56px;height:56px;border-radius:var(--radius-md);object-fit:cover}.photo-preview button{font-size:var(--text-xs);font-weight:700;color:var(--color-error);text-decoration:underline}.consent-line{grid-column:1/-1;display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);padding:var(--space-4);background:var(--color-surface-offset);border-radius:var(--radius-md)}.consent-line input{width:18px;height:18px;margin-top:2px;accent-color:var(--color-gold);flex-shrink:0}.field-submit-error{grid-column:1/-1;display:none;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--color-error);background:var(--color-error-highlight);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.field-submit-error.is-visible{display:flex}.btn[disabled]{opacity:.6;cursor:default}.share-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);margin-top:var(--space-8)}@media (max-width:700px){.share-grid{grid-template-columns:repeat(2,1fr)}}.share-tile{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);border:1.5px solid oklch(from var(--color-cream) l c h / .25);border-radius:var(--radius-lg);color:var(--color-cream);background:oklch(from var(--color-cream) l c h / .05);text-decoration:none;font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;text-align:center}.share-tile:hover{border-color:var(--color-gold);background:oklch(from var(--color-gold) l c h / .14);color:var(--color-gold)}.share-tile svg{width:22px;height:22px}.share-copy-note{font-size:var(--text-xs);color:var(--color-gold);margin-top:var(--space-3);min-height:1.2em}.optional-tag{font-weight:500;text-transform:none;letter-spacing:0;color:var(--color-text-faint)}.giv-banner-wrap{padding-block:var(--space-10);background:var(--color-bg)}.giv-banner{margin-inline:auto;max-width:560px;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.giv-banner img{display:block;width:100%;height:auto}.rally-schedule-wrap{margin-top:var(--space-10)}.rally-schedule-head{margin-bottom:var(--space-5)}.rally-schedule-head h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-text);margin-bottom:var(--space-2)}.rally-schedule-head p{font-size:var(--text-sm);color:var(--color-text-muted);max-width:62ch}.rally-schedule-scroll{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.rally-schedule-table{width:100%;min-width:420px;border-collapse:collapse}.rally-schedule-table th{background:var(--color-navy);color:var(--color-cream);text-align:left;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:var(--space-3) var(--space-5)}.rally-schedule-table td{padding:var(--space-3) var(--space-5);font-size:var(--text-sm);color:var(--color-text);background:var(--color-surface);border-top:1px solid var(--color-border)}.rally-schedule-table tr:nth-child(even) td{background:var(--color-surface-2)}.rally-schedule-table td.rally-day{font-weight:700;color:var(--color-navy);white-space:nowrap}[data-theme=dark] .rally-schedule-table td.rally-day{color:var(--color-gold)}@media (max-width:560px){.rally-schedule-table th,.rally-schedule-table td{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}}