/* Accessibility and form primitives; page composition belongs to each design. */
.bespoke-root{line-height:1.6;overflow-wrap:break-word}:where(.bespoke-root) h1,:where(.bespoke-root) h2,:where(.bespoke-root) h3,:where(.bespoke-root) p,:where(.bespoke-root) figure{margin:0}.bespoke-root h1,.bespoke-root h2,.bespoke-root h3{font-weight:400}.bespoke-root img{display:block;max-width:100%;object-fit:cover}.bespoke-root a{color:inherit}.bespoke-root button,.bespoke-root input,.bespoke-root select{font:inherit}.bespoke-root svg{max-width:100%}.bespoke-preview{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 4vw;background:#171a18;color:#fff;font:11px/1.5 Arial,sans-serif}.bespoke-preview a{color:inherit;text-decoration:none}.bespoke-preview span{opacity:.7;text-align:center}.bespoke-rsvp{max-width:680px;padding:80px 28px;margin:auto;color:inherit}.bespoke-rsvp h2{font:inherit;font-size:clamp(32px,4vw,56px);margin:12px 0}.bespoke-rsvp>p{font-size:14px;max-width:54ch}.bespoke-rsvp .reply-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:10px}.bespoke-rsvp form{display:grid;gap:20px;margin-top:28px}.bespoke-rsvp label{display:grid;gap:8px;font-size:14px}.bespoke-rsvp input:not([type=radio]),.bespoke-rsvp select{width:100%;padding:12px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit}.bespoke-rsvp select option{background:#fff;color:#171a18}.bespoke-rsvp fieldset{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:20px}.bespoke-rsvp legend{margin-bottom:12px}.bespoke-rsvp fieldset label{display:flex;align-items:center}.bespoke-rsvp button{border:1px solid currentColor;padding:15px 24px;color:inherit;background:transparent;text-align:left;cursor:pointer}.bespoke-rsvp button:hover{opacity:.7}.bespoke-directions{display:inline-block;margin-top:24px;text-underline-offset:6px}.bespoke-root :focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:600px){.bespoke-preview{font-size:10px;padding:12px 16px;gap:12px}.bespoke-preview span{display:none}.bespoke-root [style*="minmax(240px"]{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bespoke-root *{animation:none!important;transition:none!important}}

.bespoke-location{text-align:center;padding:25px 24px}.bespoke-root *{min-width:0}
