.waterside-page{color:#27190b;background:radial-gradient(circle at 15% 0,#fff 0,#0000 35%),linear-gradient(145deg,#f7f0e3,#fffdf8 50%,#ead7b7);min-height:100vh;padding:32px 18px 100px}.waterside-shell{max-width:1160px;margin:auto}.waterside-back{color:#5d3b12;background:#fff9;border:1px solid #d9bd86;border-radius:999px;margin-bottom:24px;padding:12px 20px;font-weight:700;text-decoration:none;display:inline-flex}.waterside-hero{grid-template-columns:minmax(300px,540px) 1fr;align-items:center;gap:clamp(28px,6vw,80px);display:grid}.waterside-hero img{border-radius:30px;width:100%;box-shadow:0 30px 80px #6b461f33}.waterside-event-copy>p,.waterside-kicker{letter-spacing:.2em;color:#a36c20;font-size:12px;font-weight:800}.waterside-event-copy h1{margin:18px 0 30px;font-family:Georgia,serif;font-size:clamp(44px,6vw,82px);font-weight:500;line-height:.96}.waterside-event-copy ul{gap:15px;margin:0;padding:0;list-style:none;display:grid}.waterside-event-copy li{align-items:center;gap:12px;font-size:17px;display:flex}.waterside-event-copy svg{color:#a66d1b;width:20px}.waterside-form-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf4d9;border:1px solid #dec79f;border-radius:30px;max-width:800px;margin:50px auto 0;padding:clamp(26px,5vw,54px);box-shadow:0 24px 70px #6b461f1c}.waterside-form-card h2{margin:8px 0;font-size:clamp(30px,5vw,48px)}.waterside-form-card>p{color:#766858}.waterside-form-card form{gap:20px;margin-top:30px;display:grid}.waterside-fields{grid-template-columns:1fr 1fr;gap:18px;display:grid}.waterside-form-card label{gap:8px;font-weight:700;display:grid}.waterside-form-card input:not([type=checkbox]){background:#fff;border:1px solid #d8c29a;border-radius:16px;outline:none;width:100%;padding:15px 16px;font-size:16px}.waterside-form-card input:focus{border-color:#aa741e;box-shadow:0 0 0 4px #d9ae6233}.waterside-confirm{background:#f7eddb;border-radius:16px;align-items:start;padding:18px;line-height:1.6;grid-template-columns:24px 1fr!important}.waterside-confirm input{accent-color:#9a6619;width:20px;height:20px}.waterside-form-card button{color:#fff;cursor:pointer;background:linear-gradient(120deg,#80500f,#d5a242);border:0;border-radius:999px;padding:17px;font-size:17px;font-weight:800}.waterside-form-card button:disabled{opacity:.55}.waterside-status{text-align:center;background:#f5ead7;border-radius:18px;margin-top:24px;padding:24px}.waterside-success,.waterside-error{align-items:center;gap:8px;display:flex}.waterside-success{color:#257153}.waterside-error{color:#a4291e}.waterside-rsvp-success-backdrop{z-index:400;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#2014089e;place-items:center;padding:20px;animation:.28s ease-out waterside-success-fade;display:grid;position:fixed;inset:0}.waterside-rsvp-success-modal{text-align:center;background:radial-gradient(circle at 50% 0,#ffe09957,#0000 42%),linear-gradient(145deg,#fffefa,#f6ead4);border:1px solid #c4913c8c;border-radius:32px;width:min(520px,100%);padding:clamp(30px,6vw,50px);animation:.38s cubic-bezier(.2,.85,.25,1) waterside-success-rise;box-shadow:0 35px 100px #2314046b}.waterside-rsvp-success-icon{color:#fff;background:linear-gradient(145deg,#8d5b14,#dcae55);border-radius:50%;place-items:center;width:82px;height:82px;margin:0 auto 20px;display:grid;box-shadow:0 16px 36px #9d65164d}.waterside-rsvp-success-icon svg{width:42px;height:42px}.waterside-rsvp-success-modal h2{margin:8px 0 12px;font-size:clamp(30px,6vw,44px);line-height:1.15}.waterside-rsvp-success-modal>p:not(.waterside-kicker){color:#6e604f;margin:0;font-size:17px;line-height:1.75}.waterside-rsvp-success-details{background:#ffffffa8;border-radius:18px;gap:10px;margin:24px 0;padding:18px;display:grid}.waterside-rsvp-success-details span{color:#594226;justify-content:center;align-items:center;gap:9px;font-weight:700;display:flex}.waterside-rsvp-success-details svg{color:#a36c20;width:18px}.waterside-rsvp-success-modal button{color:#fff;cursor:pointer;background:linear-gradient(120deg,#80500f,#d5a242);border:0;border-radius:999px;width:100%;padding:17px 22px;font-size:16px;font-weight:800}@keyframes waterside-success-fade{0%{opacity:0}}@keyframes waterside-success-rise{0%{opacity:0;transform:translateY(18px)scale(.96)}}.spin{animation:1s linear infinite waterside-spin}@keyframes waterside-spin{to{transform:rotate(360deg)}}.waterside-invite-backdrop{z-index:250;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1c1009b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.waterside-invite-modal{background:linear-gradient(145deg,#fffefa,#f5e7ce);border-radius:32px;grid-template-columns:minmax(240px,420px) 1fr;align-items:center;gap:36px;width:min(920px,96vw);max-height:92vh;padding:22px;display:grid;position:relative;overflow:auto;box-shadow:0 35px 110px #0008}.waterside-invite-modal>button{z-index:2;cursor:pointer;background:#fff;border:1px solid #d6bc8d;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;top:16px;right:16px}.waterside-invite-modal img{object-fit:contain;border-radius:22px;width:100%;max-height:78vh}.waterside-invite-content{padding:20px 20px 20px 0}.waterside-invite-content small{letter-spacing:.15em;color:#9a6619;font-weight:800}.waterside-invite-content h2{margin:16px 0;font-family:Georgia,serif;font-size:42px;line-height:1.02}.waterside-invite-content p{color:#6b5a47;line-height:1.7}.waterside-invite-content a{color:#fff;background:linear-gradient(120deg,#825211,#d5a242);border-radius:999px;margin-top:16px;padding:15px 25px;font-weight:800;text-decoration:none;display:inline-flex}@media (max-width:720px){.waterside-page{padding:18px 12px 110px}.waterside-hero{grid-template-columns:1fr;gap:24px}.waterside-hero img{border-radius:22px}.waterside-event-copy h1{font-size:46px}.waterside-form-card{border-radius:24px;margin-top:30px}.waterside-rsvp-success-modal{border-radius:26px}.waterside-fields{grid-template-columns:1fr}.waterside-invite-modal{grid-template-columns:1fr;gap:10px;max-height:94vh;padding:14px}.waterside-invite-modal img{max-height:58vh}.waterside-invite-content{padding:8px 12px 16px}.waterside-invite-content h2{margin:10px 0;font-size:30px}.waterside-invite-content p{margin:6px 0}.waterside-invite-content a{justify-content:center;width:100%}.waterside-invite-modal>button{top:22px;right:22px}}
