@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Lato:wght@300;400;700&display=swap";:root{--bg:#fdf8fb;--surface:#fff;--accent-light:#f5c0d0;--accent:#c45878;--accent-secondary:#5aaa74;--accent-dark:#3a7a52;--text:#1e2820;--border:#e8d4dc;--text-secondary:#7a5068;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Lato,sans-serif;font-weight:300}*{box-sizing:border-box;margin:0;padding:0}h1,h2,h3{font-family:Cormorant Garamond,serif;font-weight:500}a{color:inherit;text-decoration:none}nav{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#faf7f2eb;justify-content:center;gap:2.5rem;width:100%;padding:1rem 2rem;display:flex;position:fixed;top:0}nav a{letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);font-size:.75rem;transition:color .2s}nav a:hover{color:var(--accent)}section{padding:6rem 2rem}.section-label{letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;font-size:.7rem}#hero{text-align:center;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:0;min-height:100svh;padding-top:5rem;display:flex}.hero-divider{background:var(--accent-light);width:60px;height:1px;margin:1.5rem auto}#hero h1{color:var(--text);letter-spacing:-.01em;font-size:clamp(3rem,8vw,6rem);line-height:1.05}#hero .date{color:var(--text-secondary);letter-spacing:.05em;font-family:Cormorant Garamond,serif;font-size:clamp(1rem,2.5vw,1.4rem);font-style:italic}#hero .location{letter-spacing:.25em;text-transform:uppercase;color:var(--accent-secondary);font-size:.75rem}.scroll-hint{letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);font-size:.65rem;animation:2s ease-in-out infinite fadeUpDown;position:absolute;bottom:2rem}@keyframes fadeUpDown{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(4px)}}#details{color:var(--bg);text-align:center;background:#396c39}#details .section-label{color:var(--accent-light)}#details h2{color:var(--bg);margin-bottom:3rem;font-size:clamp(2rem,4vw,2.8rem)}.details-grid{grid-template-columns:1fr 1fr;gap:3rem;max-width:800px;margin:0 auto;display:grid}.detail-card h3{color:var(--accent-light);margin-bottom:.5rem;font-size:1.5rem}.detail-card .time{letter-spacing:.2em;text-transform:uppercase;color:var(--accent-secondary);margin-bottom:.5rem;font-size:.75rem}.detail-card p{color:#fdf6eeb3;font-size:.95rem;line-height:1.6}@media (width<=600px){.details-grid{grid-template-columns:1fr}}#rsvp{text-align:center;max-width:560px;margin:0 auto}#rsvp h2{margin-bottom:.75rem;font-size:clamp(2rem,4vw,2.8rem)}#rsvp .subtitle{color:var(--text-secondary);margin-bottom:2.5rem;font-size:.95rem;line-height:1.6}form{text-align:left;flex-direction:column;gap:1rem;display:flex}label{letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.35rem;font-size:.7rem;display:block}input,select,textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);appearance:none;border-radius:4px;padding:.75rem 1rem;font-family:Lato,sans-serif;font-size:1rem;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}textarea{resize:vertical;min-height:100px}.submit-btn{background:var(--accent);color:var(--surface);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;align-self:center;margin-top:.5rem;padding:.85rem 2.5rem;font-family:Lato,sans-serif;font-size:.75rem;transition:background .2s}.submit-btn:hover{background:var(--text)}.success-msg{color:var(--accent-dark);text-align:center;padding:1.5rem;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-style:italic}.guest-block{text-align:left}.guest-block--divided{border-top:1px solid var(--border);margin-top:1.75rem;padding-top:1.75rem}.guest-name{color:var(--text);text-align:center;margin-bottom:.5rem;font-family:Cormorant Garamond,serif;font-size:1.25rem;font-style:italic}.menu-section{margin-top:1rem}.menu-section>label{margin-bottom:.5rem;display:block}.dietary-toggle{margin-top:.75rem}.plus-one-btn{border:1px dashed var(--border);letter-spacing:.12em;text-transform:uppercase;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:.85rem 1rem;font-family:Lato,sans-serif;font-size:.8rem;transition:border-color .2s,color .2s}.plus-one-btn:hover{border-color:var(--accent);color:var(--text)}.secondary-btn{width:100%;max-width:320px;color:var(--text-secondary);border:1px solid var(--border);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;padding:.85rem 2rem;font-family:Lato,sans-serif;font-size:.75rem;transition:border-color .2s,color .2s}.secondary-btn:hover{border-color:var(--text);color:var(--text)}.back-btn{color:var(--text-secondary);cursor:pointer;letter-spacing:.05em;background:0 0;border:none;margin:.75rem auto 0;font-family:Lato,sans-serif;font-size:.8rem;display:block}.back-btn:hover{color:var(--text)}.error-msg{color:#b94040;text-align:center;margin-top:.75rem;font-size:.875rem}button:disabled{opacity:.6;cursor:not-allowed}footer{text-align:center;border-top:1px solid var(--border);letter-spacing:.1em;color:var(--text-secondary);padding:2.5rem 2rem;font-size:.75rem}footer .names{color:var(--text);margin-bottom:.35rem;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-style:italic}.member-card[data-v-7ec815c7]{text-align:center}.member-photo[data-v-7ec815c7]{background:var(--border);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;margin:0 auto 1rem;display:flex;overflow:hidden}.member-photo img[data-v-7ec815c7]{object-fit:cover;width:100%;height:100%}.member-initials[data-v-7ec815c7]{color:var(--text-secondary);-webkit-user-select:none;user-select:none;font-family:Cormorant Garamond,serif;font-size:1.75rem}.member-name[data-v-7ec815c7]{color:var(--text);margin-bottom:.25rem;font-family:Cormorant Garamond,serif;font-size:1.3rem}.member-role[data-v-7ec815c7]{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem;font-size:.65rem}.member-description[data-v-7ec815c7]{color:var(--text-secondary);font-size:.9rem;line-height:1.7}#wedding-party[data-v-959787be]{text-align:center;max-width:1000px;margin:0 auto;padding:6rem 2rem}#wedding-party h2[data-v-959787be]{margin-bottom:3.5rem;font-size:clamp(2rem,4vw,2.8rem)}.party-grid[data-v-959787be]{text-align:left;grid-template-columns:1fr 1fr;gap:4rem;display:grid}.party-side h3[data-v-959787be]{letter-spacing:.25em;text-transform:uppercase;color:var(--accent);text-align:center;margin-bottom:2rem;font-size:.7rem}.member-list[data-v-959787be]{flex-direction:column;gap:2.5rem;display:flex}@media (width<=640px){.party-grid[data-v-959787be]{grid-template-columns:1fr;gap:3rem}}.confirm-panel[data-v-e6250569]{text-align:center}.name-confirmed[data-v-e6250569]{color:var(--text);font-family:Cormorant Garamond,serif;font-size:1.2rem}.confirm-question[data-v-e6250569]{color:var(--text-secondary);margin-bottom:2rem;line-height:1.7}.confirm-question strong[data-v-e6250569]{color:var(--text);font-weight:400}.confirm-btns[data-v-e6250569]{flex-direction:column;align-items:center;gap:.75rem;display:flex}.confirm-btns .submit-btn[data-v-e6250569]{width:100%;max-width:320px}.menu-cards[data-v-b79fb780]{flex-direction:column;gap:.5rem;display:flex}.menu-card[data-v-b79fb780]{text-align:left;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:4px;flex-direction:column;gap:.2rem;width:100%;padding:.85rem 1rem;transition:border-color .2s;display:flex}.menu-card[data-v-b79fb780]:hover{border-color:var(--accent)}.menu-card--selected[data-v-b79fb780]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, white)}.menu-card-title[data-v-b79fb780]{color:var(--text);font-family:Lato,sans-serif;font-size:.9rem;font-weight:400}.menu-card-desc[data-v-b79fb780]{color:var(--text-secondary);font-size:.78rem;line-height:1.4}.summary-block[data-v-62647857]{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:2rem 1rem}.summary-name[data-v-62647857]{color:var(--text);margin-bottom:.6rem;font-family:Cormorant Garamond,serif;font-size:1.75rem;font-style:italic}.summary-status[data-v-62647857]{letter-spacing:.18em;text-transform:uppercase;border-radius:99px;margin-bottom:1.25rem;padding:.3rem .85rem;font-size:.65rem;display:inline-block}.status--yes[data-v-62647857]{color:var(--accent-dark);background:color-mix(in srgb, var(--accent-dark) 10%, white)}.status--no[data-v-62647857]{color:var(--text-secondary);background:color-mix(in srgb, var(--text-secondary) 10%, white)}.summary-menu[data-v-62647857]{color:var(--text);margin-bottom:.35rem;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-style:italic}.summary-menu--empty[data-v-62647857]{color:var(--text-secondary);font-family:Lato,sans-serif;font-size:.85rem;font-style:normal}.summary-menu-desc[data-v-62647857]{color:var(--text-secondary);max-width:340px;margin:0 auto;font-size:.85rem;line-height:1.6}.existing-notice[data-v-8e212a0c]{letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:2.5rem;font-size:.75rem}.name-confirmed[data-v-4922f614]{color:var(--text);text-align:center;font-family:Cormorant Garamond,serif;font-size:1.2rem}.confirm-question[data-v-4922f614]{color:var(--text-secondary);text-align:center;line-height:1.7}.confirm-question strong[data-v-4922f614]{color:var(--text);font-weight:400}.family-card[data-v-4922f614]{margin-top:1rem}.edit-guest-btn[data-v-4922f614]{border:1px solid var(--border);letter-spacing:.15em;text-transform:uppercase;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-top:none;border-radius:0 0 6px 6px;padding:.5rem;font-family:Lato,sans-serif;font-size:.7rem;transition:background .2s,color .2s;display:block}.edit-guest-btn[data-v-4922f614]:hover{background:color-mix(in srgb, var(--accent) 6%, white);color:var(--accent)}.edit-group-btn[data-v-4922f614]{border:1px solid var(--border);letter-spacing:.15em;text-transform:uppercase;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;margin-top:.75rem;padding:.6rem;font-family:Lato,sans-serif;font-size:.7rem;transition:background .2s,color .2s;display:block}.edit-group-btn[data-v-4922f614]:hover{background:color-mix(in srgb, var(--accent) 6%, white);color:var(--accent)}.activity-card[data-v-bfcbfdbd]{border:1px solid var(--border);color:inherit;border-radius:6px;padding:1.25rem 1.5rem;text-decoration:none;transition:border-color .2s;display:block;position:relative}.activity-card--linked[data-v-bfcbfdbd]:hover{border-color:var(--accent)}.card-header[data-v-bfcbfdbd]{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.5rem;display:flex}.card-name[data-v-bfcbfdbd]{color:var(--text);font-family:Cormorant Garamond,serif;font-size:1.15rem}.card-neighborhood[data-v-bfcbfdbd]{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;font-size:.65rem}.card-description[data-v-bfcbfdbd]{color:var(--text-secondary);font-size:.9rem;line-height:1.65}.card-pick[data-v-bfcbfdbd]{background:var(--accent);letter-spacing:.1em;text-transform:uppercase;color:#fff;white-space:nowrap;border-radius:20px;padding:.2rem .6rem;font-size:.6rem;position:absolute;top:-.65rem;right:1rem}.card-address[data-v-bfcbfdbd]{letter-spacing:.04em;color:var(--text-secondary);opacity:.75;text-underline-offset:2px;margin-top:.75rem;font-size:.75rem;text-decoration:underline;display:block}.card-address[data-v-bfcbfdbd]:hover{opacity:1;color:var(--accent)}#boston[data-v-a58f5e4f]{max-width:860px;margin:0 auto;padding:6rem 2rem}#boston h2[data-v-a58f5e4f]{margin-bottom:.75rem;font-size:clamp(2rem,4vw,2.8rem)}.subtitle[data-v-a58f5e4f]{color:var(--text-secondary);margin-bottom:3.5rem;font-size:.95rem;line-height:1.6}.categories[data-v-a58f5e4f]{flex-direction:column;gap:3rem;display:flex}.category-name[data-v-a58f5e4f]{letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem;font-family:Lato,sans-serif;font-size:.7rem;font-weight:400}.items-grid[data-v-a58f5e4f]{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}
