@font-face{font-family:'Bodoni Moda';src:url('fonts/studio/bodoni-moda.ttf') format('truetype');font-style:normal;font-weight:400 900;font-display:swap}
.rsvp-page{--wine:#4b1824;--ink:#3c3034;--muted:#756b70;--line:#4b182426;--paper:#f1eee8;background:#210d14}
.rsvp-page::before{background:linear-gradient(#17050b88,#17050b88),url('assets/burgundy-fabric.webp') center 46%/cover no-repeat}
.rsvp-page .page-bar,.rsvp-page .guest-toolbar,.rsvp-page .guest-music-status,.rsvp-page .page-end{color:#f1eee8}
.rsvp-page .guest-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:20px;width:min(800px,calc(100% - 80px));margin:0 auto 24px}
.rsvp-page .guest-nav{width:100%;max-width:none;border-color:#f1eee838}
.rsvp-page .guest-nav a[aria-current="page"]{text-decoration-color:#f1eee8}
.rsvp-page .music-toggle{width:64px;height:64px;min-width:44px;min-height:44px;color:#f1eee8}
.rsvp-page .music-record{background-image:url('assets/vinyl-record-dark-burgundy-v1.svg')}
.rsvp-page .music-caption{fill:#f1eee8}
.rsvp-page .reply-paper{width:min(720px,calc(100% - 48px));max-width:720px;padding:40px 48px 30px;container-type:inline-size;background-color:#f4f3f0;background-image:linear-gradient(115deg,#ffffff66,#d4d2d418),url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%2356545a' opacity='.045' filter='url(%23grain)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");box-shadow:0 20px 60px #10050b66,0 0 0 1px #e1dfdc80}
.rsvp-page .reply-paper::before{border-color:#4b182426}
.rsvp-page .reply-intro h1{display:flex;flex-direction:column;align-items:center;width:100%;margin:25px auto 27px;padding:0;color:var(--wine);line-height:1}
.reply-kindly{font:400 clamp(60px,18cqw,100px)/1.1 'Pinyon Script',cursive;padding:0 .16em}
.reply-rsvp-serif{margin-top:13px;font:400 clamp(30px,8cqw,44px)/1.1 'Bodoni Moda',Didot,serif;font-optical-sizing:none;font-variation-settings:'opsz' 72;letter-spacing:.045em;padding-left:.045em;transform:scaleX(.88)}
.rsvp-page .eyebrow{color:var(--wine)}
.rsvp-page .reply-intro .intro-ornament{stroke:#8c727b}
.rsvp-page .reply-deadline time{border-color:#4b182433}
.rsvp-page .reply-preview{margin:17px auto 25px;padding:0;border:0;font-size:12px;color:var(--muted);font-style:italic}
.rsvp-page .reply-chapter>span,.rsvp-page .guest-number,.rsvp-page .summary-item>dt{color:#8c727b}
.rsvp-page .optional{color:#81767b}
.rsvp-page .reply-form input:not([type=radio]),.rsvp-page .reply-form select,.rsvp-page .reply-form textarea{border-color:#4b182438;background-color:#ffffff80;box-shadow:inset 0 1px 2px #4b182408;border-radius:8px}
.rsvp-page .reply-form input::placeholder,.rsvp-page .reply-form textarea::placeholder{color:#93898e}
.rsvp-page .reply-form input:focus-visible,.rsvp-page .reply-form select:focus-visible,.rsvp-page .reply-form textarea:focus-visible{background-color:#fff;outline-color:#4b182455}
.rsvp-page .attendance-option{border-color:#4b182438;background:#ffffff55;border-radius:8px}
.rsvp-page .attendance-option:has(input:checked){border-color:var(--wine);background:#4b18240a}
.rsvp-page .choice-dot{border-color:#8c727b;background:#fafaf9;box-shadow:inset 0 0 0 4px #fafaf9}
.rsvp-page .attendance-option input:checked~.choice-dot{background:var(--wine)}
.rsvp-page .choice-heart{stroke:#8c727b}
.rsvp-page .guest-card{border-color:#4b182426;background:#ffffff33;border-radius:8px}
.rsvp-page .send-reply{background:var(--wine);border-color:var(--wine);color:#f1eee8}
.rsvp-page .send-reply:hover{background:#38111c}
.rsvp-page .reply-summary{background:#ffffff80}
.rsvp-page .reply-confirmation h2{font-family:'Pinyon Script',cursive;font-size:clamp(56px,15cqw,82px);line-height:1.45}
@media(max-width:760px){.rsvp-page .guest-toolbar{width:calc(100% - 36px)}.rsvp-page .reply-paper{padding:34px 32px 28px}}
@media(max-width:560px){.rsvp-page .guest-toolbar{width:calc(100% - 24px);grid-template-columns:minmax(0,1fr) 52px;gap:10px;margin-bottom:22px}.rsvp-page .guest-nav a{font-size:12px;padding-inline:2px}.rsvp-page .music-toggle{width:52px;height:52px}.rsvp-page .reply-paper{width:calc(100% - 28px);padding:30px 23px 26px}.rsvp-page .reply-intro h1{margin-top:21px;margin-bottom:24px}.reply-kindly{font-size:clamp(52px,19cqw,72px)}.reply-rsvp-serif{font-size:clamp(28px,9cqw,36px);margin-top:11px}}
