/* RSVP modal */
:root{--radius-sm:1px;--radius-md:2px}
.k94{position:fixed;inset:0;z-index:100;padding:16px;background:rgba(2,4,8,.72);display:grid;place-items:center;overflow:auto}
.k95{width:520px;box-sizing:border-box;padding:44px 44px 36px;border-radius:var(--radius-md);position:relative;isolation:isolate;overflow:hidden;background-color:#060d14;background-image:url(../assets/bg-navy.png);background-size:cover;box-shadow:0 40px 100px rgba(0,0,0,.7);display:flex;flex-direction:column;gap:18px;border:1px solid rgba(243,238,230,.16)}
.k96{position:absolute;z-index:-1;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;pointer-events:none}
.k97{width:260px;height:auto;margin:-10px 0 -6px -14px}
.k98{display:flex;flex-direction:column;gap:6px}
.k99{font-family:var(--kv-font-display);font-size:34px;line-height:1.05;font-weight:400;text-transform:uppercase;letter-spacing:.01em}
.k100{font-family:var(--kv-font-body);font-style:italic;font-weight:600;font-size:24px;line-height:1.25;color:rgba(243,238,230,.85)}
.k101{margin:0;font-size:16px;line-height:1.6;color:rgba(243,238,230,.75)}
.k102{display:flex;flex-direction:column;gap:14px;padding:36px;border-radius:var(--radius-md);background:rgba(255,255,255,.05)}
.k103{font-family:var(--kv-font-display);font-size:34px;line-height:1.15;font-weight:400;text-transform:uppercase;letter-spacing:.01em}
.k104{margin:0;font-size:17px;line-height:1.6;color:rgba(243,238,230,.8)}
.k105{align-self:flex-start;background:none;border:none;padding:0;color:oklch(0.74 0.13 225);font-family:var(--kv-font-body);font-size:16px;text-decoration:underline;cursor:pointer;font-weight:600}
.k106{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.k107{padding:26px 24px;text-align:left;border-radius:var(--radius-md);cursor:pointer;font-family:var(--kv-font-body);display:flex;flex-direction:column;gap:6px;background:rgba(255,255,255,.04);color:#f3eee6;border:1.5px solid rgba(243,238,230,.25);font-weight:600}
.k108{font-size:30px;font-weight:700}
.k109{font-size:15px;opacity:.8}
.k110{display:flex;gap:14px;align-items:flex-start;background:none;border:none;padding:0;text-align:left;cursor:pointer;color:rgba(243,238,230,.78);font-family:var(--kv-font-body);font-weight:500;font-size:15px;line-height:1.55}
.k111{flex:none;width:22px;height:22px;margin-top:2px;border-radius:var(--radius-sm);border:1.5px solid oklch(0.74 0.13 225);background:transparent;color:#03121b;display:grid;place-items:center;font-size:14px;font-weight:700}
.k112{align-self:stretch;width:100%;margin-top:6px;padding:16px 40px;background:linear-gradient(180deg,#f7f3ec,#e6dfd2) padding-box,linear-gradient(90deg,oklch(0.7 0.15 235),oklch(0.8 0.17 135),oklch(0.72 0.19 45),oklch(0.85 0.06 290)) border-box;border:2px solid transparent;color:#0c0c0e;box-shadow:-10px 4px 28px -8px oklch(0.7 0.15 235 / .55),10px 4px 28px -8px oklch(0.72 0.19 45 / .5);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;transition:transform .15s,box-shadow .15s;font-family:var(--kv-font-body);font-size:16px;font-weight:700;cursor:pointer}
.k112:hover{transform:translateY(-1px);box-shadow:-14px 6px 36px -6px oklch(0.7 0.15 235 / .75),14px 6px 36px -6px oklch(0.72 0.19 45 / .7)}
.k112:active{transform:translateY(1px);filter:brightness(.95)}
.k113{align-self:center;margin-top:-4px;background:none;border:none;padding:6px 12px;color:rgba(243,238,230,.75);text-shadow:0 1px 6px rgba(0,0,0,.8);font-family:var(--kv-font-body);font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.k113:hover{color:#f3eee6}
.mq-track{display:flex;gap:40px;white-space:nowrap;width:max-content;padding-left:40px;animation:kvMarquee 60s linear infinite}
.mq-star{font-style:normal}
[data-action="pickYes"].is-sel{background:oklch(0.74 0.13 225);color:#03121b;border-color:oklch(0.74 0.13 225)}
[data-action="pickNo"].is-sel{background:#f3eee6;color:#111;border-color:#f3eee6}
[data-action="toggleConsent"].is-on>span:first-child{background:oklch(0.74 0.13 225)}
[data-action="submitRsvp"]:disabled{opacity:.45;cursor:not-allowed}
body.modal-open{overflow:hidden}
@media (max-width:759px){.k95{width:calc(100% - 32px);padding:32px 24px 28px}.k99{font-size:22px}.k103{font-size:22px}}
