.button-green { background:var(--green); color:var(--paper); }
.button-green:hover { background:var(--deep); }
.personal-invitation-label { color:var(--gold); letter-spacing:2px; font-size:9px; font-weight:700; margin:0 0 15px; }
.invitation-deadline { display:grid; gap:4px; }
.invitation-deadline-label { font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
.invitation-deadline-date { display:block; font-size:clamp(21px,2vw,27px); font-weight:700; line-height:1.25; letter-spacing:-.5px; }
.invitation-deadline-time { font-size:11px; }
.invitation-deadline-note { font-size:11px; line-height:1.7; margin-top:4px; }
.invitation-deadline-hero { max-width:410px; border-left:2px solid var(--gold); padding:2px 0 2px 17px; margin-top:24px; }
.invitation-deadline-hero .invitation-deadline-label { color:var(--gold); }
.invitation-deadline-hero .invitation-deadline-time,.invitation-deadline-hero .invitation-deadline-note { color:#d7dfd4; }
.invitation-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:15px 22px; margin-top:24px; }
.invitation-hero-actions .button { margin-top:0; gap:15px; }
.invitation-explore-link { color:var(--paper); font-size:11px; border-bottom:1px solid #9aaa9e; padding:6px 0; }
.invitation-explore-link:hover { color:var(--gold); border-color:var(--gold); }
.invitation-deadline-form { padding:20px 22px; margin-top:22px; background:#e8eddf; border-left:2px solid #9a7a34; }
.invitation-deadline-form .invitation-deadline-label { color:#6e5828; }
.invitation-deadline-form .invitation-deadline-time,.invitation-deadline-form .invitation-deadline-note { color:var(--muted); }
.invitation-banner { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:25px 5%; background:#e8eddf; border-bottom:1px solid #cbd5c0; }
.invitation-banner strong { font-size:17px; }
.invitation-banner p { font-size:12px; color:var(--muted); margin-top:3px; }
.invitation-banner .button { flex-shrink:0; font-size:11px; padding:14px 22px; }
.invitation-unavailable { border-left:5px solid #aa7b26; }
.invitation-unavailable .text-link { margin-top:0; }
.invitation-section { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:7%; background:var(--cream); border-top:1px solid var(--line); }
.response-intro { align-self:start; }
.response-intro>p:not(.eyebrow) { margin-top:20px; color:var(--muted); font-size:13px; }
.response-intro .response-for { color:var(--green)!important; font-weight:700; }
.response-note { border-top:1px solid #c6cebb; padding-top:22px; margin-top:30px; }
.response-note strong { font-size:12px; }
.response-note p { font-size:12px; color:var(--muted); margin-top:8px; }
.response-card { min-width:0; background:var(--paper); border:1px solid #cdd4c4; padding:34px; }
.response-card fieldset { min-width:0; padding:0; border:0; margin:0 0 28px; }
.response-card legend { padding:0; font-size:9px; letter-spacing:1.4px; font-weight:700; margin-bottom:15px; }
.decision-option { border:1px solid #d6dccd; display:flex; align-items:flex-start; gap:13px; padding:15px; margin-top:9px; cursor:pointer; }
.decision-option:has(input:checked) { background:#e8eddf; border-color:var(--green); box-shadow:inset 3px 0 var(--green); }
.decision-option strong,.decision-option small { display:block; }
.decision-option strong { font-size:14px; }
.decision-option small { color:var(--muted); font-size:11px; margin-top:3px; }
.response-card input[type=radio],.response-card input[type=checkbox] { accent-color:var(--green); width:18px; height:18px; flex-shrink:0; margin:3px 0 0; }
.response-contact label,.response-planning>label,.response-notes { display:block; font-size:12px; font-weight:700; }
.response-card input:not([type=checkbox]):not([type=radio]),.response-card textarea { display:block; width:100%; min-width:0; background:white; color:var(--ink); font:400 14px/1.5 var(--body); border:1px solid #b8c3ac; border-radius:2px; padding:11px 12px; margin-top:7px; }
.response-card textarea { resize:vertical; min-height:95px; }
.response-card textarea:focus-visible { outline:3px solid #b07d15; outline-offset:3px; }
.response-field-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin-top:15px; }
.optional { color:var(--muted); font-size:10px; font-weight:400; letter-spacing:0; margin-left:5px; }
.response-card .volunteer-options { margin:24px 0 0; }
.response-card .volunteer-options legend { font-size:12px; letter-spacing:0; margin-bottom:5px; }
.volunteer-options>p { color:var(--muted); font-size:11px; margin-bottom:13px; }
.volunteer-choices { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.volunteer-choices label { display:flex; align-items:flex-start; gap:9px; font-size:12px; cursor:pointer; }
.volunteer-choices input { width:16px!important; height:16px!important; }
.response-acknowledgment { display:flex; align-items:flex-start; gap:12px; font-size:11px; margin-top:24px; border-top:1px solid var(--line); padding-top:20px; }
.response-privacy { color:var(--muted); font-size:10px; margin-top:22px; }
.response-submit { width:100%; margin-top:22px; justify-content:space-between; }
.response-submit:disabled { opacity:.55; cursor:wait; }
.response-error { padding:13px; background:#f9ebe2; border-left:3px solid #a94e28; color:#76351a; font-size:12px; margin-top:18px; }
.response-receipt { padding:20px 0; }
.receipt-star { color:#977021; font-size:48px; line-height:1; display:block; margin-bottom:28px; }
.response-receipt h3 { font:800 42px/1.1 var(--display); overflow-wrap:anywhere; }
.response-receipt .receipt-copy { margin-top:20px; color:var(--muted); font-size:13px; }
.receipt-date { color:var(--muted); font-size:11px; margin-top:20px; }
@media(max-width:900px) {
  .invitation-section { grid-template-columns:1fr; gap:30px; }
  .response-note { margin-top:22px; }
}
@media(max-width:540px) {
  .invitation-deadline-hero { margin-top:22px; }
  .invitation-hero-actions { gap:10px; }
  .invitation-hero-actions .button { width:100%; }
  .invitation-explore-link { font-size:12px; }
  .invitation-banner { display:block; padding:23px 6%; }
  .invitation-banner .button { margin-top:16px; width:100%; justify-content:space-between; }
  .invitation-banner strong { font-size:15px; }
  .response-card { padding:23px 19px; }
  .response-field-row { grid-template-columns:1fr; }
  .response-card input:not([type=checkbox]):not([type=radio]),.response-card textarea { font-size:16px; }
  .response-acknowledgment { font-size:12px; }
  .response-submit { font-size:12px; padding:16px; }
}
@media print {
  .invitation-banner,.personal-invitation-label,.invitation-hero-actions,#invitation-form { display:none!important; }
  .invitation-deadline-hero { color:black; padding-left:10px; margin-top:12px; border-color:#666; }
  .invitation-deadline-hero .invitation-deadline-label,.invitation-deadline-hero .invitation-deadline-time,.invitation-deadline-hero .invitation-deadline-note { color:#444; }
  .invitation-deadline-date { font-size:14pt; }
  .invitation-section:has(#invitation-form:not([hidden])) { display:none; }
  .invitation-section { display:block; padding:15px 0; background:white; break-inside:avoid; }
  .response-intro { display:none; }
  .response-card { padding:15px; border:1px solid #ccc; }
  .response-receipt { padding:0; }
  .response-receipt h3 { font-size:22pt; }
  .receipt-star { display:none; }
}
