/* RSVP and impact components. Keep the original site's visual language. */
.mobile-rsvp-bubble{display:none}
.impact-section{padding-bottom:35px}
.impact-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:36px}
.impact-heading>p{max-width:390px;color:var(--muted);font-size:1.06rem}
.impact-grid{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:22px;align-items:stretch}
.impact-photo{border:1px solid var(--line);border-radius:22px;overflow:hidden;align-self:start;background:var(--ice)}
.impact-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain}
.impact-photo figcaption{padding:15px 18px;font-size:.83rem;font-weight:600}
.impact-stat{padding:32px 27px;background:var(--ice);border-radius:22px;display:flex;flex-direction:column;justify-content:center}
.impact-stat .eyebrow{font-size:.65rem;margin-bottom:10px}
.impact-stat strong{font-family:'Nunito',sans-serif;font-size:clamp(2.8rem,4.2vw,4.8rem);line-height:1.05;font-weight:1000;letter-spacing:-.065em}
.stat-label{font-weight:600;margin-top:6px}
.impact-divider{height:1px;background:#c7e1ed;margin:25px 0}
.impact-stat h3{font-size:1.65rem;line-height:1.2}
.impact-stat p{font-size:.95rem;color:var(--muted);margin:16px 0}
.impact-stat .text-link{font-size:.85rem}
.impact-stat small{font-size:.7rem;color:var(--muted);margin-top:25px}
.impact-full-image{width:100%;height:auto;border-radius:24px}
.rescue-partners{padding-top:25px}
.rescue-partners img{max-width:460px;justify-self:center}
.impact-source{display:inline-block;margin-top:25px;font-size:.85rem;color:var(--muted)}
.rsvp-section{scroll-margin-top:20px}
.rsvp-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:var(--ice)}
.rsvp-story{padding:48px 44px}
.rsvp-story h1,.rsvp-story h2{font-size:clamp(2.5rem,4.2vw,4.5rem)}
.rsvp-story>p:not(.eyebrow){color:var(--muted);font-size:1.05rem;margin-top:24px;max-width:420px}
.rsvp-story figure{margin-top:32px;max-width:280px;position:relative}
.rsvp-story figure img{border-radius:80px 20px 20px 20px;width:100%;height:auto}
.rsvp-story figcaption{font-size:.76rem;color:var(--muted);margin-top:10px}
.rsvp-form-panel{background:white;padding:48px 44px}
.rsvp-tag{background:var(--ice);border:1px solid #cae7f2;border-radius:30px;padding:7px 12px;display:inline-block;font-size:.6rem;letter-spacing:.11em;font-weight:700;margin-bottom:22px}
.rsvp-form-panel h2{font-size:2.8rem}
.rsvp-subtitle{color:var(--muted);margin-top:9px}
[data-rsvp-form]{margin-top:28px;position:relative}
[data-rsvp-form]>label:not(.consent-row){display:block;font-size:.85rem;font-weight:700;margin:20px 0 7px}
[data-rsvp-form]>label>span{font-size:.73rem;font-weight:400;color:var(--muted)}
[data-rsvp-form]>input{width:100%;padding:13px 16px;border:1px solid #a3b9c5;border-radius:11px;color:var(--ink);background:#fff;font-size:1rem;min-height:52px}
[data-rsvp-form]>input::placeholder{color:#6b7f8b}
[data-rsvp-form]>small{font-size:.73rem;color:var(--muted);display:block;margin-top:6px}
.consent-row{display:flex;gap:11px;align-items:flex-start;margin:22px 0}
.consent-row input{width:19px;height:19px;flex-shrink:0;margin:3px 0 0;accent-color:var(--ink)}
[data-rsvp-form]>.consent-row>span{font-size:.78rem;line-height:1.55}
.rsvp-submit{width:100%;font-size:.92rem;gap:12px;background:var(--sky);border-color:var(--sky);color:var(--ink);min-height:57px}
.rsvp-submit:hover{background:#88d9fa}
.rsvp-submit:disabled{opacity:.65;cursor:wait}
.rsvp-fineprint{font-size:.72rem;color:var(--muted);line-height:1.6;margin-top:14px!important}
.form-status:empty{display:none}
.form-status{padding:15px;border-radius:10px;font-size:.9rem;line-height:1.6;margin-top:20px}
.form-status.success{background:#e8f8eb;color:#194b29}
.form-status.error{background:#fff0eb;color:#8b2d18}
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.rsvp-dedicated{padding-top:45px}
@media(max-width:1100px){.impact-grid{gap:16px}.impact-stat{padding:25px 20px}.impact-stat h3{font-size:1.35rem}.rsvp-story,.rsvp-form-panel{padding:35px 28px}.site-header nav>.button{display:inline-flex}.site-header nav{gap:16px}.brand-small{letter-spacing:.06em}}
@media(max-width:850px) and (min-width:721px){.brand{font-size:.85rem}.site-header{gap:18px}.site-header nav{font-size:.8rem;gap:12px}.site-header .button{padding-inline:15px}.impact-grid{grid-template-columns:1fr 1fr}.impact-stat{grid-row:1;grid-column:1/-1}.impact-stat strong{font-size:4.5rem}.impact-heading{align-items:start}.impact-heading>p{max-width:280px}}
@media(max-width:720px){
  .site-header{gap:15px;align-items:center}
  .site-header nav{order:3;justify-content:center;gap:23px}
  .site-header nav>.button{display:none}
  .mobile-rsvp-bubble{order:2;display:flex;align-items:center;justify-content:center;gap:10px;align-self:center;width:min(100%,355px);min-height:53px;padding:12px 14px;border-radius:50px;text-decoration:none;background:var(--sky);color:var(--ink);font-size:.83rem;font-weight:700;box-shadow:0 5px 0 #ddf5ff;border:1px solid #3bb8e9}
  .bubble-dot{height:8px;width:8px;background:var(--ink);border-radius:50%;flex:none}
  .hero{padding-top:28px}
  .hero-copy .actions{justify-content:center;text-align:center;gap:19px}
  .hero-copy .actions>.button{width:100%;max-width:390px;font-size:.86rem;gap:12px}
  .impact-heading{display:block;margin-bottom:26px}
  .impact-heading>p{margin-top:22px}
  .impact-grid{grid-template-columns:1fr 1fr;gap:13px}
  .impact-stat{grid-column:1/-1;grid-row:1;padding:28px}
  .impact-stat strong{font-size:clamp(2.6rem,15vw,4.8rem)}
  .impact-stat h3{font-size:1.85rem}
  .impact-photo{border-radius:14px}
  .impact-photo figcaption{font-size:.7rem;padding:11px}
  .rsvp-card{grid-template-columns:1fr;border-radius:22px}
  .rsvp-story{padding:30px 25px}
  .rsvp-story h1,.rsvp-story h2{font-size:2.7rem}
  .rsvp-story .eyebrow{font-size:.63rem}
  .rsvp-story figure{display:none}
  .rsvp-form-panel{padding:30px 25px}
  .rsvp-form-panel h2{font-size:2.4rem}
  .rsvp-story>p:not(.eyebrow){font-size:.97rem;margin-top:18px}
  .rsvp-dedicated{padding-top:24px}
  .rsvp-dedicated .rsvp-story{padding:26px 25px}
  .rsvp-dedicated .rsvp-story h1{font-size:2.4rem}
  .rsvp-tag{margin-bottom:18px}
  .rescue-partners{padding-top:10px}
}
@media(max-width:360px){.mobile-rsvp-bubble{font-size:.75rem;gap:8px}.site-header nav{gap:15px;flex-wrap:wrap}.rsvp-submit{font-size:.8rem}}
