.accommodation{background:#F3EDDF}.section-lead{max-width:700px;line-height:2}.side-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:820px;margin:6vh 0}.side-card{position:relative;display:grid;min-height:150px;padding:28px;border:1px solid var(--line);background:var(--white);cursor:pointer;transition:.3s}.side-card input{position:absolute;opacity:0}.side-card:has(input:focus-visible){outline:3px solid rgba(122,38,58,.25);outline-offset:3px}.side-card:has(input:checked){border:2px solid var(--wine);background:#F3EDDF;box-shadow:0 12px 25px rgba(122,38,58,.08)}.side-card strong{align-self:end;color:var(--wine);font:34px var(--display)}.side-card small{margin-top:8px;font-size:12px}.side-seal{position:absolute;right:18px;top:18px;display:grid;width:26px;aspect-ratio:1;place-items:center;border-radius:50%;color:var(--paper-light);background:var(--wine);opacity:0;transform:scale(.6);transition:.25s}.side-card:has(input:checked) .side-seal{opacity:1;transform:none}.hotel-placeholder{padding:34px;border:1px dashed var(--warm);color:#262824}.hotel-card{padding:40px;border:1px solid rgba(122,38,58,.22);background:var(--white);animation:unfold .55s cubic-bezier(.2,.7,.2,1)}.hotel-card>p{line-height:1.8}.hotel-date{font:10px var(--mono);letter-spacing:.2em;color:var(--wine)}.hotel-card h3{margin:12px 0;font-size:34px;font-weight:400;color:var(--wine)}.hotel-audience{color:var(--sage)}@keyframes unfold{from{opacity:0;transform:translateY(-18px) scaleY(.96)}}
.rsvp{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;background:var(--white)}.rsvp-heading{position:sticky;top:10vh;align-self:start}.rsvp-heading h2{font-size:clamp(44px,6vw,80px);font-weight:400;line-height:1.18}.rsvp-heading>p:last-child{max-width:360px;line-height:1.9}.rsvp form{display:grid;gap:24px;padding:45px;background:var(--ivory);border:1px solid var(--line)}#rsvpFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.field{display:grid;align-content:start;gap:10px;border:0;padding:0;margin:0}.field.full,.conditional-fields,.hotel-sync{grid-column:1/-1}.field label,.field legend{font-size:13px}.field em{color:var(--wine);font-size:10px;font-style:normal}.field input,.field textarea{width:100%;border:0;border-bottom:1px solid var(--warm);border-radius:0;padding:13px 4px;background:transparent}.field input:focus,.field textarea:focus{outline:0;border-color:var(--wine);box-shadow:0 2px 0 var(--wine)}.field small{color:#262824;font-size:10px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.choice-grid label{position:relative}.choice-grid input{position:absolute;opacity:0}.choice-grid span{display:block;min-height:48px;padding:13px;border:1px solid var(--line);background:var(--white);cursor:pointer}.choice-grid input:focus-visible+span{outline:3px solid rgba(122,38,58,.2)}.choice-grid input:checked+span{border-color:var(--wine);color:var(--wine);background:#F3EDDF}.conditional-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.conditional-fields[hidden]{display:none}.rsvp-side .side-picker{margin:10px 0 0}.hotel-sync{min-height:24px;color:var(--wine);font-size:12px}.primary-button,.share-button{min-height:52px;border:0;padding:14px 24px;color:var(--paper-light);background:var(--wine);cursor:pointer;letter-spacing:.14em}.primary-button:disabled{opacity:.6}.form-status{min-height:24px;margin:0;line-height:1.6}.form-status[data-state=error]{color:#9A443D}.form-status[data-state=success]{color:#29443A}
.closing{min-height:100svh;padding:18vh 24px;display:grid;place-items:center;align-content:center;text-align:center;background:linear-gradient(180deg,#F3EDDF,var(--ivory));position:relative}.closing:before{content:"";position:absolute;width:min(80vw,650px);aspect-ratio:1;border:1px solid rgba(180,151,99,.3);border-radius:50%}.closing>*{position:relative}.closing p{font-size:clamp(17px,2vw,22px);line-height:2.1}.closing time{margin-top:7vh;font:11px var(--mono);letter-spacing:.2em}.closing h2{margin:2vh 0 6vh;color:var(--wine);font:clamp(52px,8vw,100px) var(--display)}.closing h2 i{color:var(--gold)}.share-button{min-width:210px}.share-status{min-height:20px;font-size:11px}
@media(max-width:760px){.music-control{top:12px;right:12px}.music-control b{display:none}.desk-props .pen{left:-4vw;top:8vh}.photo-corner{right:-80px}.leaf-shadow{width:80vw}.envelope{width:90vw}.envelope-face{padding-top:16%}.envelope-face p{font-size:11px}.envelope-face h1{font-size:48px}.wax-seal{width:64px}.open-prompt{bottom:8vh}.envelope.opened{transform:translateY(28vh) scale(.96)}.opened .intro-letter{transform:translateY(-72%)}.paper-section{padding:12vh 22px}.couple-hero{grid-template-columns:1fr;padding-top:14vh}.hero-photo{width:88%;margin:auto}.hero-copy{padding:4vh 0}.hero-copy h2{font-size:78px}.letter-columns{columns:1}.signature{text-align:left;font-size:36px}.countdown{gap:20px}.countdown strong{font-size:48px}.story{grid-template-columns:1fr}.story-heading{position:static}.story-pages p{margin-bottom:10vh;padding-left:22px;font-size:15px}.gallery-grid{grid-template-columns:1fr}.gallery-item.portrait{grid-row:auto}.gallery-item.placeholder{min-height:250px}.venue-card{grid-template-columns:1fr;padding:28px 20px}.card-actions{align-items:stretch;flex-wrap:wrap}.schedule article{grid-template-columns:100px 1fr;gap:14px}.ceremony-flow ol{columns:1}.side-picker{grid-template-columns:1fr}.side-card{min-height:118px;padding:20px}.hotel-card{padding:28px 20px}.rsvp{grid-template-columns:1fr}.rsvp-heading{position:static}.rsvp form{padding:28px 18px}#rsvpFields,.conditional-fields{grid-template-columns:1fr}.field,.field.full,.conditional-fields,.hotel-sync{grid-column:1}.choice-grid{grid-template-columns:1fr}.closing:before{width:90vw}.closing p{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-section{opacity:1;transform:none}}
