.rsvpPage{
  --rsvp-ink:#17213d;
  --rsvp-muted:#5f6271;
  --rsvp-orange:#ff5a22;
  --rsvp-coral:#f36a45;
  --rsvp-ivory:#fffdfa;
  --rsvp-peach:#fff2ea;
  --rsvp-blue:#edf4fb;
  --rsvp-plum:#35243c;
  background:var(--rsvp-ivory);
  color:var(--rsvp-ink);
}

.rsvpPage :is(section,article){scroll-margin-top:96px}
.rsvpPage :is(a,button,summary):focus-visible{outline:3px solid #b9431a;outline-offset:5px}
.rsvpPage .sectionKicker{margin-bottom:14px;color:var(--rsvp-orange);letter-spacing:0;font-size:12px}
.rsvpPage h1,.rsvpPage h2,.rsvpPage h3{letter-spacing:0}
.rsvpSkip{position:fixed;left:16px;top:10px;z-index:1000;padding:10px 14px;border-radius:8px;background:#fff;color:var(--rsvp-ink);font-weight:800;transform:translateY(-160%)}
.rsvpSkip:focus{transform:translateY(0)}
.rsvpSrOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.rsvpHero{
  position:relative;
  min-height:690px;
  overflow:hidden;
  border-bottom:1px solid rgba(35,32,46,.07);
  background:linear-gradient(180deg,#fffdfa 0%,#fff8f3 100%);
}
.rsvpHeroGrid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(460px,1.06fr);gap:62px;align-items:center;min-height:690px}
.rsvpHeroCopy{position:relative;z-index:2;padding:72px 0}
.rsvpHero h1{max-width:650px;margin:0 0 24px;font-family:var(--serif);font-size:76px;line-height:.96;font-weight:400}
.rsvpHero h1 span{display:block;color:var(--rsvp-coral);font-style:italic}
.rsvpHeroLead{max-width:590px;margin:0 0 30px;color:#35384a;font-size:19px;line-height:1.65}
.rsvpHeroActions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:26px}
.rsvpPlayIcon{display:grid;place-items:center;width:24px;height:24px;padding-left:2px;border:1px solid rgba(25,23,47,.3);border-radius:50%;font-size:8px}
.rsvpTrust{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0;padding:0;list-style:none;color:var(--rsvp-muted);font-size:13px;font-weight:700}
.rsvpTrust li{display:flex;align-items:center;gap:8px}
.rsvpTrust li span{display:grid;place-items:center;width:19px;height:19px;border:1px solid rgba(255,90,34,.4);border-radius:50%;color:var(--rsvp-orange);font-size:11px}
.rsvpHeroVisual{position:relative;align-self:stretch;display:grid;place-items:center;padding:42px 0}
.rsvpHeroGlow{position:absolute;width:min(120%,600px);height:620px;max-height:100%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,218,196,.48),rgba(246,230,224,.2) 46%,transparent 72%)}
.rsvpHeroVisual img{position:relative;z-index:1;display:block;width:min(68%,340px);height:auto;filter:drop-shadow(0 24px 24px rgba(64,43,35,.18))}

.rsvpPage .section{padding:88px 0}
.rsvpSectionHead{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);gap:48px;align-items:end;margin-bottom:42px}
.rsvpSectionHead h2,.rsvpFaqIntro h2{margin:0;font-family:var(--serif);font-size:58px;line-height:1;font-weight:400}
.rsvpSectionHead > p{margin:0;color:var(--rsvp-muted);font-size:16px;line-height:1.7}
.rsvpSectionHeadCentered{display:block;text-align:center}
.rsvpSectionHeadCentered > div{max-width:720px;margin:0 auto}
.rsvpSectionHeadCentered > p{max-width:650px;margin:18px auto 0}

.rsvpSteps{background:#fff}
.rsvpStepGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.rsvpStep{min-width:0}
.rsvpStepImage{display:flex;align-items:center;justify-content:center;aspect-ratio:1122/1402}
.rsvpStepImage img{display:block;width:61%;height:auto;filter:drop-shadow(0 16px 18px rgba(53,38,31,.14))}
.rsvpStepCopy{display:grid;grid-template-columns:44px minmax(0,1fr);gap:15px;align-items:start;padding:22px 8px 0}
.rsvpStepCopy > span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--rsvp-peach);color:var(--rsvp-orange);font-family:var(--serif);font-size:24px}
.rsvpStepCopy h3{margin:1px 0 6px;font-family:var(--serif);font-size:25px;line-height:1.1;font-weight:400}
.rsvpStepCopy p{margin:0;color:var(--rsvp-muted);font-size:14px;line-height:1.6}

.rsvpBenefits{padding:42px 0;background:var(--rsvp-blue);border-top:1px solid rgba(42,73,108,.08);border-bottom:1px solid rgba(42,73,108,.08)}
.rsvpBenefitGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.rsvpBenefitGrid article{padding:8px 28px;border-left:1px solid rgba(42,73,108,.13);text-align:center}
.rsvpBenefitGrid article:first-child{border-left:0}
.rsvpBenefitGrid article > span{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 15px;border:1px solid rgba(255,90,34,.26);border-radius:50%;background:#fff;color:var(--rsvp-orange);font-size:19px}
.rsvpBenefitGrid h3{margin:0 0 7px;font-family:var(--serif);font-size:23px;font-weight:400}
.rsvpBenefitGrid p{margin:0;color:#62687a;font-size:13px;line-height:1.55}
.rsvpBenefitGrid a{color:inherit;text-decoration-color:var(--rsvp-orange);text-underline-offset:3px}
.rsvpBenefitGrid a:hover{color:var(--rsvp-orange)}

.rsvpOccasions{background:linear-gradient(180deg,#fffdfa 0%,#fff8f4 100%)}
.rsvpOccasionGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.rsvpOccasionCard{display:flex;align-items:center;color:inherit;text-decoration:none;filter:drop-shadow(0 10px 14px rgba(58,37,24,.07));transition:transform .2s ease,filter .2s ease}
a.rsvpOccasionCard:hover{transform:translateY(-5px);filter:drop-shadow(0 16px 20px rgba(58,37,24,.12))}
.rsvpOccasionCard img{display:block;width:100%;height:auto}

.rsvpFaq{background:#fff}
.rsvpFaqGrid{display:grid;grid-template-columns:minmax(240px,.36fr) minmax(0,.64fr);gap:68px;align-items:start}
.rsvpFaqIntro{position:sticky;top:110px}
.rsvpFaqIntro h2{margin-bottom:18px}
.rsvpFaqIntro > p:not(.sectionKicker){margin:0 0 20px;color:var(--rsvp-muted);font-size:15px;line-height:1.7}
.rsvpFaqIntro .textLink{display:inline-block;line-height:1.5}
.rsvpFaqList{border-top:1px solid rgba(45,32,26,.12)}
.rsvpFaqList details{border-bottom:1px solid rgba(45,32,26,.12)}
.rsvpFaqList summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px;padding:16px 0;list-style:none;cursor:pointer;color:#211e34;font-size:15px;line-height:1.45;font-weight:800}
.rsvpFaqList summary::-webkit-details-marker{display:none}
.rsvpFaqList summary:after{content:"+";flex:0 0 auto;color:var(--rsvp-orange);font-size:23px;font-weight:500}
.rsvpFaqList details[open] summary:after{content:"−"}
.rsvpFaqList details p{max-width:760px;margin:0 0 22px;color:var(--rsvp-muted);font-size:15px;line-height:1.75}
.rsvpFaqList details p a{text-underline-offset:3px;text-decoration-color:var(--rsvp-orange)}

.rsvpFinal{padding:78px 0;background:var(--rsvp-plum);color:#fff}
.rsvpFinalInner{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:54px;align-items:center}
.rsvpFinal .sectionKicker{color:#ffb38f}
.rsvpFinal h2{max-width:720px;margin:0 0 16px;font-family:var(--serif);font-size:58px;line-height:1;font-weight:400}
.rsvpFinal p:not(.sectionKicker){max-width:680px;margin:0;color:#eadce9;font-size:16px;line-height:1.7}
.rsvpStoreLinks{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rsvpStoreLinks a{display:flex;flex-direction:column;justify-content:center;min-height:72px;padding:12px 18px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:#fff;color:var(--rsvp-ink);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.rsvpStoreLinks a:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.18)}
.rsvpStoreLinks span{font-size:10px;line-height:1.3}
.rsvpStoreLinks strong{font-size:19px;line-height:1.35}

@media(max-width:1020px){
  .rsvpHeroGrid{grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);gap:28px}
  .rsvpHero h1{font-size:64px}
  .rsvpHeroVisual img{width:min(78%,330px)}
  .rsvpStepGrid{gap:18px}
  .rsvpBenefitGrid{grid-template-columns:1fr 1fr;gap:28px 0}
  .rsvpBenefitGrid article:nth-child(3){border-left:0}
  .rsvpOccasionGrid{grid-template-columns:1fr 1fr}
  .rsvpFinalInner{grid-template-columns:1fr;gap:30px}
  .rsvpStoreLinks{max-width:430px}
}

@media(max-width:900px){
  .rsvpHero{min-height:auto}
  .rsvpHeroGrid{grid-template-columns:1fr;gap:8px;min-height:auto}
  .rsvpHeroCopy{padding:58px 0 28px;text-align:center}
  .rsvpHero h1{max-width:600px;margin-left:auto;margin-right:auto;font-size:54px;line-height:1}
  .rsvpHeroLead{margin-left:auto;margin-right:auto;font-size:17px}
  .rsvpHeroActions{display:grid;grid-template-columns:1fr;max-width:380px;margin-left:auto;margin-right:auto}
  .rsvpTrust{justify-content:center}
  .rsvpHeroVisual{padding:10px 0 42px}
  .rsvpHeroVisual img{width:min(72%,300px)}
  .rsvpHeroGlow{width:min(115%,500px);height:520px}
  .rsvpPage .section{padding:62px 0}
  .rsvpSectionHead{display:block;text-align:center;margin-bottom:34px}
  .rsvpSectionHead h2,.rsvpFaqIntro h2{font-size:46px}
  .rsvpSectionHead > p{max-width:560px;margin:16px auto 0}
  .rsvpStepGrid{grid-template-columns:1fr;gap:42px;max-width:430px;margin:0 auto}
  .rsvpStepCopy{padding-top:18px}
  .rsvpBenefits{padding:36px 0}
  .rsvpBenefitGrid{grid-template-columns:1fr 1fr}
  .rsvpBenefitGrid article{padding:8px 18px}
  .rsvpOccasionGrid{gap:14px}
  .rsvpFaqGrid{grid-template-columns:1fr;gap:28px}
  .rsvpFaqIntro{position:static;text-align:center}
  .rsvpFinal{padding:62px 0}
  .rsvpFinalInner{text-align:center}
  .rsvpFinal h2{font-size:46px}
  .rsvpStoreLinks{margin:0 auto}
}

@media(max-width:480px){
  .rsvpHeroCopy{padding-top:46px}
  .rsvpHero h1{font-size:46px}
  .rsvpHeroLead{font-size:16px;line-height:1.6}
  .rsvpTrust{display:grid;grid-template-columns:1fr;justify-items:center}
  .rsvpHeroVisual img{width:min(78%,280px)}
  .rsvpSectionHead h2,.rsvpFaqIntro h2{font-size:40px}
  .rsvpBenefitGrid{grid-template-columns:1fr;gap:0}
  .rsvpBenefitGrid article{padding:24px 10px;border-left:0;border-top:1px solid rgba(42,73,108,.13)}
  .rsvpBenefitGrid article:first-child{border-top:0}
  .rsvpOccasionGrid{grid-template-columns:1fr}
  .rsvpFaqList summary{font-size:14px}
  .rsvpFinal h2{font-size:40px}
  .rsvpStoreLinks{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  html:has(.rsvpPage){scroll-behavior:auto}
  .rsvpPage *{transition:none!important}
}
