html{scroll-behavior:smooth}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f0e7;--bg-deep:#e9e1d4;--ink:#1f1b16;--accent:#a77b3f;--accent-deep:#7f5b2d;--shadow:0 24px 80px #1c161033;--radius:28px;--serif:"EB Garamond", "Times New Roman", serif;--script:"Bonheur Royale", "Times New Roman", serif}*{box-sizing:border-box}body{font-family:var(--serif);color:var(--ink);background:radial-gradient(1200px 600px at 20% -10%, #ffffff8c, transparent 60%), radial-gradient(900px 500px at 90% 10%, #a77b3f1a, transparent 65%), linear-gradient(180deg, var(--bg) 0%, var(--bg-deep) 100%);min-height:100vh;margin:0;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#8b776504 2px 4px),repeating-linear-gradient(90deg,#0000,#0000 2px,#8b776504 2px 4px),radial-gradient(at 30% 20%,#8b77650a,#0000 50%),radial-gradient(at 70% 80%,#8b776508,#0000 50%),radial-gradient(#8b776505,#0000 70%);position:fixed;inset:0}main{flex-direction:column;min-height:100vh;display:flex;position:relative}.hamburger{display:none}.hero{gap:1.5rem;padding:2rem 1.75rem 6rem;display:grid;position:relative;overflow-x:clip}.hero-nav{z-index:3;flex-direction:column;display:flex;position:absolute;top:50%;left:2.5rem;transform:translateY(-50%)}.hero-nav a,.hero-nav span{font-family:var(--serif);letter-spacing:.2em;text-transform:uppercase;color:#ffffffd9;text-shadow:0 1px 6px #0009,0 0 20px #0000004d;padding:.65rem 0;font-size:.75rem;font-weight:600;text-decoration:none;transition:color .3s;display:block}.hero-nav a:hover{color:#fff}.hero-nav span{color:#ffffff73}.hero-nav :not(:first-child){border-top:1px solid #ffffff40}.hero-media{z-index:1;max-width:min(1200px,94vw);box-shadow:var(--shadow);transform-origin:top;will-change:transform, border-radius;border:1px solid #ffffff80;margin:0 auto;position:relative;overflow:hidden}.hero-media img:not(.rsvp-stamp){filter:grayscale(.08)contrast(1.05);width:100%;height:auto;display:block}.hero-gradient{pointer-events:none;background:linear-gradient(90deg,#0c09068c 0%,#0c090626 25%,#0000 40%),linear-gradient(#0c0906d9 0%,#0c09068c 18%,#0c09060d 45%,#0c090666 100%),linear-gradient(120deg,#a77b3f38,#0000 55%);position:absolute;inset:0}.rsvp-stamp{filter:invert()sepia(40%)saturate(120%)hue-rotate(10deg)brightness(85%)contrast(85%);opacity:.6;z-index:2;cursor:pointer;width:100px;max-width:18%;height:auto;transition:opacity .4s,transform .5s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:2.5rem;left:2rem}.rsvp-stamp:hover{opacity:.9;transform:rotate(-8deg)scale(1.12)}.rsvp-stamp:active{transition-duration:.1s;transform:rotate(-2deg)scale(.95)}.hero-title{letter-spacing:.02em;word-spacing:.2em;color:#f8f2e8f2;text-shadow:0 12px 32px #08060499;pointer-events:none;flex-direction:column;justify-content:flex-start;align-items:center;padding:2.75rem 1.5rem;font-family:Monsieur La Doulaise,Times New Roman,serif;font-size:clamp(1.8rem,3.5vw,3rem);display:flex;position:absolute;inset:0}.countdown{font-family:var(--serif);letter-spacing:.15em;text-transform:uppercase;opacity:.9;margin-top:.5rem;font-size:.4em}.hero-card{z-index:2;border-radius:var(--radius);width:min(92vw,720px);max-width:720px;box-shadow:var(--shadow);text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f5f0e7eb;border:1px solid #fff9;margin:0 auto;padding:3.5rem 2.75rem;position:relative}.monogram{justify-content:center;display:flex}.monogram img{width:100%;max-width:280px;height:auto;display:block}.names{margin:.75rem 0 .5rem;font-size:clamp(2.2rem,3.5vw,3.5rem);font-weight:600;line-height:1.15}.names .name{white-space:nowrap}.names .x{margin:0 .15em;font-size:.75em}.couple-graphic{max-width:min(560px,100%);margin:0 auto .5rem}.couple-graphic img{width:100%;height:auto;display:block}.tagline{font-size:1.3rem;font-family:var(--script);opacity:.85;margin:.25rem 0 1.5rem}.details{flex-wrap:wrap;justify-content:center;gap:2rem;margin:0;display:flex}.details span{align-items:center;gap:.5rem;font-size:1.2rem;display:inline-flex}.wedding-date{font-family:var(--serif);letter-spacing:.12em;text-transform:uppercase;font-size:1rem}.details a{color:inherit;text-decoration:none;transition:color .2s}.details a:hover{color:var(--accent)}.rsvp-button{font-family:var(--serif);letter-spacing:.15em;text-transform:uppercase;color:#fff;background:var(--ink);border-radius:8px;margin-top:1.5rem;padding:.85rem 2.5rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background-color .2s,transform .2s;display:inline-block}.rsvp-button:hover{background:var(--accent-deep)}.rsvp-button:active{transform:scale(.98)}.gallery{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y pinch-zoom;background:#1a1714;padding:3rem 0;overflow:hidden}.gallery:active{cursor:grabbing}.gallery-track{will-change:transform;gap:2rem;padding:2rem 4rem;transition:transform .35s cubic-bezier(.25,.46,.45,.94);display:flex}.gallery-track.dragging{transition:none}.polaroid{cursor:pointer;font:inherit;background:#fefefe;border:none;flex-shrink:0;padding:1rem 1rem 3rem;transition:transform .3s;box-shadow:0 4px 12px #0000001a,0 2px 4px #00000014}.polaroid:hover{z-index:10;transform:rotate(0)scale(1.02)!important}.polaroid img{object-fit:cover;filter:sepia(.08)contrast(1.02);width:280px;height:280px;display:block}.divider{background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.6;width:48px;height:1px;margin:1.5rem auto 1.25rem}.faq-section{max-width:700px;margin:0 auto;padding:3rem 1.5rem 4rem}.faq-title{text-align:center;color:var(--ink);margin:0 0 2rem;font-size:1.6rem;font-weight:500}.faq-list{flex-direction:column;gap:.75rem;display:flex}.faq-item{background:#ffffff80;border:1px solid #1f1b161a;border-radius:8px;overflow:hidden}.faq-item summary{font-family:var(--serif);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;font-size:1.05rem;font-weight:500;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--accent);font-size:1.4rem;font-weight:300;transition:transform .2s}.faq-item[open] summary:after{content:"−"}.faq-item p{color:#1f1b16cc;grid-template-rows:0fr;margin:0;padding:0 1.25rem;font-size:.95rem;line-height:1.6;transition:grid-template-rows .25s ease-out,padding .25s ease-out;display:grid}.faq-item[open] p{grid-template-rows:1fr;padding-bottom:1.25rem}.faq-item p span{overflow:hidden}.faq-item a{color:var(--accent-deep);transition:color .2s}.faq-item a:hover{color:var(--accent)}.footer{text-align:center;color:#ffffffb3;background:#1a1714;padding:3rem 1.5rem}.footer-couple{filter:invert()opacity(.85);width:100%;max-width:320px;height:auto;margin:0 auto 1rem;display:block}.footer-divider{background:linear-gradient(90deg, transparent, var(--accent), transparent);width:60px;height:1px;margin:0 auto 1.5rem}.footer-date{font-family:var(--serif);letter-spacing:.18em;text-transform:uppercase;color:#fff6;margin:0;font-size:1.05rem}.footer .credit{background:0 0;margin-top:2rem;padding:0}.credit{color:#ffffff40;font-size:.7rem;font-family:var(--serif);letter-spacing:.03em;background:#1a1714;padding:1rem 1.5rem;text-decoration:none;transition:color .2s;display:block}.credit:hover{color:#ffffff80}.credit .heart{color:#ff646466}.modal-overlay{z-index:100;background:#000000e6;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.modal-close{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;font-size:2.5rem;line-height:1;transition:opacity .2s;position:absolute;top:1.5rem;right:1.5rem}.modal-close:hover{opacity:1}.modal-image{object-fit:contain;border-radius:1rem;max-width:90vw;max-height:85vh;box-shadow:0 8px 40px #00000080}.rsvp-page{flex-direction:column;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex}.back-link{color:var(--ink);opacity:.7;align-self:flex-start;margin-bottom:1.5rem;font-size:.95rem;text-decoration:none;transition:opacity .2s}.back-link:hover{opacity:1}.rsvp-card{border-radius:var(--radius);width:100%;max-width:520px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f5f0e7eb;border:1px solid #fff9;padding:2.5rem 2rem}.rsvp-header{text-align:center;margin-bottom:2rem}.rsvp-header .monogram img{max-width:240px}.rsvp-header h1{margin:.5rem 0 .25rem;font-size:2.2rem;font-weight:600}.rsvp-header .subtitle{font-family:var(--serif);letter-spacing:.1em;text-transform:uppercase;opacity:.7;margin:0;font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-group label{margin-bottom:.4rem;font-size:.95rem;font-weight:500;display:block}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group select,.form-group textarea{width:100%;font-family:var(--serif);background:#fff9;border:1px solid #1f1b1633;border-radius:8px;padding:.75rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #a77b3f26}.form-group textarea{resize:vertical;min-height:60px}.form-group select,select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231f1b16' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.radio-group{gap:1rem;margin-top:.5rem;display:flex}fieldset.form-group{border:none;margin:0 0 1.25rem;padding:0}fieldset.form-group legend{margin-bottom:.4rem;padding:0;font-size:.95rem;font-weight:500;display:block}.radio-label{cursor:pointer;background:#fff9;border:1px solid #1f1b1633;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;transition:border-color .2s,background-color .2s;display:flex}.radio-label:has(input:checked){border-color:var(--accent);background:#a77b3f1a}.radio-label input{accent-color:var(--accent)}.radio-text{font-size:.95rem}.btn{font-family:var(--serif);color:#fff;background:var(--ink);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.9rem 2rem;font-size:1rem;font-weight:500;text-decoration:none;transition:background-color .2s,transform .2s;display:inline-flex}.btn:hover{background:var(--accent-deep)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.submit-btn{width:100%;margin-top:.5rem}.error-message{color:#a71d2a;background:#dc35451a;border:1px solid #dc35454d;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.success-message{text-align:center;padding:1rem 0}.success-message h2{color:var(--accent-deep);margin:0 0 1rem;font-size:1.8rem}.success-message p{opacity:.85;margin:.5rem 0;font-size:1.05rem}.success-message .btn{margin-top:1.5rem}.email-sent-notice{background:#a77b3f1a;border-radius:8px;margin-top:1.5rem;padding:.75rem 1rem;font-size:.9rem}.form-intro{text-align:center;opacity:.85;margin-bottom:1.5rem;font-size:1.05rem}.not-you{text-align:center;opacity:.7;margin:-.75rem 0 1.5rem;font-size:.9rem}.link-button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.link-button:hover{color:var(--accent-deep)}.name-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.search-results{text-align:center}.results-intro{opacity:.85;margin-bottom:1.25rem;font-size:1rem}.guest-list{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.guest-card{cursor:pointer;width:100%;font-family:var(--serif);color:var(--ink);text-align:left;background:#fff9;border:1px solid #1f1b1626;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;font-size:1rem;transition:border-color .2s,background-color .2s;display:flex}.guest-card:hover:not(:disabled){border-color:var(--accent);background:#a77b3f14}.guest-card:hover:not(:disabled) .guest-card-chevron{color:var(--accent);transform:translate(3px)}.guest-card:disabled{opacity:.6;cursor:not-allowed}.guest-card-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.guest-card-chevron{color:var(--ink);opacity:.55;flex:none;font-size:1.25rem;transition:transform .2s,color .2s}.guest-name{font-size:1.05rem;font-weight:500}.guest-party{opacity:.65;font-size:.85rem}.no-results{margin-bottom:1.5rem}.no-results p{margin:.5rem 0}.callout{background:#a77b3f1a;border:1px solid #a77b3f40;border-radius:8px;margin:1.5rem 0;padding:1rem 1.25rem;font-size:.9rem}.callout p{margin:0}.callout a{color:var(--accent-deep)}.info-message{color:#1565c0;text-align:center;background:#2196f31a;border:1px solid #2196f34d;border-radius:8px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.9rem}.party-members{flex-direction:column;gap:1.5rem;display:flex}.party-member{background:#ffffff80;border:1px solid #1f1b161a;border-radius:12px;padding:1.25rem}.member-name{font-size:1.15rem;font-weight:600;font-family:var(--serif);margin:0 0 1rem}.shared-fields{margin-top:1.5rem}.form-actions{gap:1rem;margin-top:1.5rem;display:flex}.form-actions .btn{flex:1}.form-actions .btn-secondary{flex:none}.confirmation-summary{background:#ffffff80;border-radius:8px;margin:1.5rem 0;padding:1rem 1.25rem}.summary-label{text-transform:uppercase;letter-spacing:.05em;opacity:.6;margin:0 0 .5rem;font-size:.85rem}.confirmation-summary p{margin:.25rem 0}.confirmation-guest-list{margin:0 0 .75rem;padding:0;list-style:none}.confirmation-guest-list li{border-bottom:1px solid #00000014;justify-content:space-between;gap:1rem;padding:.4rem 0;font-size:.95rem;display:flex}.confirmation-guest-list li:last-child{border-bottom:none}.confirmation-guest-name{font-weight:600}.confirmation-guest-status{text-align:right;font-weight:600}.summary-detail{margin:.4rem 0 0;font-size:.9rem;line-height:1.4}.summary-detail-label{margin-right:.25rem;font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-page{flex-direction:column;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex}.admin-card{border-radius:var(--radius);width:100%;max-width:400px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f5f0e7eb;border:1px solid #fff9;padding:2.5rem 2rem}.admin-card h1{text-align:center;margin:0 0 1.5rem;font-size:1.8rem}.checkbox-label{cursor:pointer;align-items:center;gap:.5rem;margin:1rem 0;font-size:.9rem;display:flex}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer}.dashboard-card{max-width:480px}.admin-nav{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.admin-nav-link{color:var(--ink);background:#ffffff80;border:1px solid #1f1b161a;border-radius:8px;padding:1rem 1.25rem;text-decoration:none;transition:border-color .2s,background-color .2s;display:block}.admin-nav-link:hover{border-color:var(--accent);background:#a77b3f14}.nav-title{margin-bottom:.25rem;font-size:1.1rem;font-weight:600;display:block}.nav-description{opacity:.7;font-size:.85rem;display:block}.logout-form{text-align:center}.responses-page{align-items:stretch;width:100%;max-width:1200px}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.admin-header h1{margin:0;font-size:2rem}.btn-secondary{color:var(--ink);background:0 0;border:1px solid #1f1b164d;padding:.6rem 1.25rem}.btn-secondary:hover{color:var(--ink);background:#1f1b160d}.stats-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;display:grid}.stat-card{text-align:center;background:#f5f0e7eb;border:1px solid #fff9;border-radius:12px;padding:1.25rem;box-shadow:0 4px 20px #1c161014}.stat-value{font-size:2.2rem;font-weight:600;line-height:1;display:block}.stat-label{opacity:.7;text-transform:uppercase;letter-spacing:.05em;margin-top:.35rem;font-size:.85rem;display:block}.empty-state{text-align:center;background:#f5f0e7eb;border-radius:12px;padding:4rem 2rem}.empty-state p{opacity:.6;margin:0;font-size:1.1rem}.table-container{background:#f5f0e7eb;border:1px solid #fff9;border-radius:12px;overflow-x:auto;box-shadow:0 4px 20px #1c161014}.responses-table{border-collapse:collapse;width:100%;font-size:.9rem}.responses-table th,.responses-table td{text-align:left;border-bottom:1px solid #1f1b1614;padding:.9rem 1rem}.responses-table th{text-transform:uppercase;letter-spacing:.05em;opacity:.7;white-space:nowrap;font-size:.8rem;font-weight:600}.responses-table tbody tr:hover{background:#ffffff80}.responses-table tbody tr:last-child td{border-bottom:none}.name-cell{font-weight:500}.email-cell{color:var(--accent-deep)}.badge{text-transform:uppercase;border-radius:4px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge.yes{color:#2e7d32;background:#2e7d3226}.badge.no{color:#c62828;background:#c6282826}.message-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.date-cell{white-space:nowrap;opacity:.7;font-size:.85rem}.header-actions{gap:.75rem;display:flex}.stats-grid-3{grid-template-columns:repeat(3,1fr)}.form-card{background:#f5f0e7eb;border:1px solid #fff9;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 4px 20px #1c161014}.form-card h2{margin:0 0 1rem;font-size:1.25rem}.parties-list{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.party-card{background:#f5f0e7eb;border:1px solid #fff9;border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 20px #1c161014}.party-header{background:#fff6;border-bottom:1px solid #1f1b1614;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;display:flex}.party-name{word-break:break-word;flex:1;margin:0;font-size:1rem;font-weight:600}.party-actions{gap:.5rem;display:flex}.guests-list{flex:1;padding:.5rem .75rem .75rem}.guest-row{border-bottom:1px solid #1f1b160f;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;padding:.4rem 0;display:flex}.guest-row:last-of-type{border-bottom:none}.guest-display-name{font-size:.9rem;font-weight:500}.guest-search-name{opacity:.6;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.75rem;overflow:hidden}.guest-gift{opacity:.6;width:100%;font-size:.75rem}.guest-actions{gap:.25rem;display:flex}.btn-icon{cursor:pointer;opacity:.5;color:var(--ink);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.4rem;transition:opacity .2s,background-color .2s;display:inline-flex}.btn-icon:hover{opacity:1;background:#1f1b1614}.btn-icon.btn-danger:hover{color:#c62828;background:#c6282814}.btn-icon svg{display:block}.inline-form{display:inline}.edit-party-form,.edit-guest-form,.add-guest-form{flex-wrap:wrap;flex:1;align-items:center;gap:.5rem;display:flex}.edit-input{font-family:var(--serif);background:#fffc;border:1px solid #1f1b1633;border-radius:6px;padding:.5rem .75rem;font-size:.95rem}.edit-input.small{width:120px}.edit-input:focus{border-color:var(--accent);outline:none}.edit-actions{gap:.25rem;display:flex}.add-guest-fields{flex:1;gap:.5rem;display:flex}.add-guest-btn{cursor:pointer;width:100%;font-family:var(--serif);color:var(--ink);opacity:.6;background:0 0;border:1px dashed #1f1b1633;border-radius:6px;margin-top:.5rem;padding:.5rem 1rem;font-size:.9rem;transition:opacity .2s,border-color .2s}.add-guest-btn:hover{opacity:1;border-color:var(--accent)}.search-box{margin-bottom:1rem;position:relative}.search-input{width:100%;font-family:var(--serif);background:#fff9;border:1px solid #1f1b1633;border-radius:8px;padding:.75rem 2.5rem .75rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #a77b3f26}.search-clear{color:var(--ink);opacity:.5;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.25rem;line-height:1;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.search-clear:hover{opacity:1}.search-results-count{opacity:.6;margin:-.5rem 0 1rem;font-size:.85rem}.parties-responses{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.response-card{background:#f5f0e7eb;border:1px solid #fff9;border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 20px #1c161014}.response-card.pending{opacity:.7}.response-header{background:#fff6;border-bottom:1px solid #1f1b1614;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;display:flex}.response-party-info{flex-wrap:wrap;flex:1;align-items:flex-start;gap:.5rem;display:flex}.response-party-name{word-break:break-word;margin:0;font-size:1rem;font-weight:600}.response-date{opacity:.6;white-space:nowrap;font-size:.7rem}.status-badge{text-transform:uppercase;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.status-badge.pending{color:#757575;background:#9e9e9e26}.status-badge.attending{color:#2e7d32;background:#2e7d3226}.status-badge.declined{color:#c62828;background:#c6282826}.status-badge.partial{color:#e65100;background:#f57c0026}.response-guests{flex:1;padding:.5rem .75rem}.response-guest-row{border-bottom:1px solid #1f1b160f;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;padding:.4rem 0;display:flex}.response-guest-row:last-child{border-bottom:none}.response-guest-name{flex:1;min-width:0;font-size:.9rem;font-weight:500}.badge.pending{color:#757575;background:#9e9e9e26}.meal-badge{color:var(--accent-deep);background:#a77b3f26;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;display:inline-block}.response-details{background:#ffffff4d;border-top:1px solid #1f1b160f;padding:.5rem .75rem}.detail-row{flex-wrap:wrap;gap:.25rem .5rem;padding:.2rem 0;font-size:.8rem;display:flex}.detail-label{opacity:.7;font-weight:500}.detail-value{flex:1}.detail-value.email{color:var(--accent-deep)}.subpage{flex-direction:column;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex}.subpage-card{border-radius:var(--radius);width:100%;max-width:600px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f5f0e7eb;border:1px solid #fff9;padding:2.5rem 2.5rem 3rem}.subpage-header{text-align:center;margin-bottom:.5rem}.subpage-header .monogram img{max-width:280px}.subpage-header h1{margin:.5rem 0 .25rem;font-size:2.4rem;font-weight:600}.subpage-header .subtitle{font-family:var(--serif);letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin:0;font-size:.9rem}.subpage-footer{align-self:stretch;margin:4rem -1.5rem -2rem}.schedule-card{overflow:visible}.timeline{padding:1rem 0 .5rem;position:relative}.timeline:before{content:"";background:linear-gradient(180deg, transparent 0%, var(--accent) 10%, var(--accent) 90%, transparent 100%);opacity:.4;width:1px;position:absolute;top:1rem;bottom:.5rem;left:7px}.timeline-event{grid-template-columns:auto 1fr;gap:0 1.25rem;padding-bottom:2rem;display:grid}.timeline-event:last-child{padding-bottom:0}.timeline-marker{border:2px solid var(--accent);background:var(--bg);z-index:1;border-radius:50%;width:15px;height:15px;margin-top:.15rem;position:relative}.timeline-body{min-width:0}.timeline-time{font-family:var(--serif);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:block}.timeline-title{font-family:var(--serif);margin:0 0 .3rem;font-size:1.35rem;font-weight:600;line-height:1.2}.timeline-description{opacity:.8;margin:0 0 .25rem;font-size:1rem;line-height:1.55}.timeline-location{color:var(--accent-deep);margin:0;font-size:.85rem;font-style:italic}.page-nav{flex-direction:column;display:flex;position:fixed;bottom:2.5rem;left:2.5rem}.page-nav a,.page-nav span{font-family:var(--serif);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);opacity:.5;padding:.65rem 0;font-size:.75rem;font-weight:600;text-decoration:none;transition:opacity .3s;display:block}.page-nav a:hover{opacity:1}.page-nav span{opacity:.25}.page-nav :not(:first-child){border-top:1px solid #1f1b1626}.venue-locations{flex-direction:column;gap:.25rem;display:flex}.venue-wrapper{display:inline-block;position:relative}.venue-trigger{cursor:pointer;text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;transition:color .2s}.venue-trigger:hover{color:var(--accent)}.venue-backdrop{z-index:200;position:fixed;inset:0}.venue-popover{background:var(--bg);z-index:210;opacity:0;visibility:hidden;border:1px solid #fff9;border-radius:12px;width:min(300px,100vw - 2rem);transition:opacity .2s,transform .2s,visibility .2s;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;transform:translateY(-4px);box-shadow:0 12px 40px #0000002e}.venue-wrapper:hover .venue-popover,.venue-popover.tapped{opacity:1;visibility:visible;transform:translateY(0)}.venue-photo{object-fit:cover;width:100%;height:160px;display:block}.venue-info{text-align:center;padding:.75rem 1rem 1rem}.venue-name{font-family:var(--serif);margin:0 0 .3rem;font-size:1.05rem;font-weight:600}.venue-address{opacity:.7;margin:0 0 .6rem;font-size:.8rem;line-height:1.4}.venue-link{font-family:var(--serif);letter-spacing:.08em;color:var(--accent-deep);font-size:.8rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-block}.venue-link:hover{color:var(--accent)}.story-section{padding:.5rem 0}.story-text{opacity:.85;margin:0 0 1.25rem;font-size:1.05rem;line-height:1.85}.story-text:last-child{margin-bottom:0}.story-text em{color:var(--accent-deep);font-style:italic}.story-section-title{font-family:var(--serif);text-align:center;margin:0 0 1.25rem;font-size:1.35rem;font-weight:600}.story-promise{border-left:2px solid var(--accent);opacity:.9;margin-top:1.5rem;padding-left:1.25rem;font-style:italic}.travel-section h2{font-family:var(--serif);margin:0 0 .75rem;font-size:1.35rem;font-weight:600}.travel-section h3{font-family:var(--serif);color:var(--accent-deep);margin:1.25rem 0 .35rem;font-size:1.05rem;font-weight:600}.travel-section p{opacity:.85;margin:0 0 .75rem;font-size:1rem;line-height:1.6}.travel-section ul{opacity:.85;margin:0 0 .75rem;padding-left:1.25rem}.travel-section li{margin-bottom:.25rem;font-size:1rem;line-height:1.6}.travel-section a:not(.btn){color:var(--accent-deep);transition:color .2s}.travel-section a:not(.btn):hover{color:var(--accent)}.hotel-card{text-align:center;background:#a77b3f0f;border:1px solid #a77b3f40;border-radius:12px;margin:1.25rem 0;padding:1.5rem}.hotel-name{font-family:var(--serif);margin:0 0 .25rem;font-size:1.3rem;font-weight:600}.hotel-address{opacity:.7;margin:0 0 1rem;font-size:.9rem}.hotel-detail{opacity:.85;margin:.3rem 0;font-size:.95rem}.hotel-btn{margin:1.25rem 0 1rem}.hotel-note{opacity:.65;margin:0;font-size:.85rem}@media (width<=720px){.hero-nav{display:none}.hamburger{z-index:60;-webkit-backdrop-filter:blur(10px);cursor:pointer;background:#1f1b168c;border:1px solid #f5f0e74d;border-radius:50%;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:13px;transition:background-color .2s,transform .15s;display:flex;position:fixed;top:1.1rem;right:1.1rem}.hamburger:hover{background:#1f1b16bf}.hamburger:focus-visible{outline-offset:2px;background:#1f1b16bf;outline:2px solid #f5f0e7cc}.hamburger:active{transform:scale(.95)}.hamburger span{background:#f5f0e7f2;border-radius:999px;width:100%;height:1.5px;display:block}.mobile-nav-overlay{z-index:70;background:#00000080;position:fixed;inset:0}.mobile-nav{background:var(--bg);z-index:71;flex-direction:column;width:260px;padding:4rem 2rem 2rem;display:flex;position:fixed;top:0;bottom:0;right:0}.mobile-nav-close{color:var(--ink);cursor:pointer;opacity:.6;background:0 0;border:none;padding:.25rem;font-size:2rem;line-height:1;position:absolute;top:1rem;right:1rem}.mobile-nav-close:hover{opacity:1}.mobile-nav a,.mobile-nav span{font-family:var(--serif);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid #1f1b161a;padding:.85rem 0;font-size:.85rem;font-weight:500;text-decoration:none;display:block}.mobile-nav a{opacity:.85}.mobile-nav a:hover{opacity:1;color:var(--accent-deep)}.mobile-nav span{opacity:.4}.hero{gap:1.5rem;padding:1rem .75rem 2rem}.hero-media{aspect-ratio:3/4;max-width:100%}.hero-media img:not(.rsvp-stamp){object-fit:cover;width:100%;height:100%}.rsvp-stamp{width:65px;max-width:20%;bottom:1.5rem;left:1.5rem}.hero-title{word-spacing:.1em;white-space:nowrap;padding:1.5rem 1rem;font-size:clamp(1.5rem,8.4vw,2.6rem)}.countdown{margin-top:.5rem;font-size:.95rem}.hero-card{background:var(--bg);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;margin-top:0;padding:1.5rem 1.25rem}.monogram img,.subpage-header .monogram img,.rsvp-header .monogram img{max-width:220px}.names{margin:.4rem 0 .2rem;font-size:2.4rem}.tagline{margin:0 0 .75rem;font-size:1.5rem}.divider{width:40px;margin:.75rem auto}.details{flex-direction:column;align-items:center;gap:.75rem}.details span{font-size:1.4rem}.details .wedding-date{font-size:.9rem}.gallery{padding:2rem 0}.gallery-track{gap:1.25rem;padding:1.5rem 2rem}.polaroid{padding:.6rem .6rem 2rem}.polaroid img{width:200px;height:200px}.footer{padding:2.5rem 1rem}.footer-couple{max-width:240px}.credit{text-align:center}.modal-overlay{padding:1rem}.modal-close{font-size:2rem;top:1rem;right:1rem}.modal-image{border-radius:.75rem;max-width:95vw;max-height:80vh}.page-nav{display:none}.subpage{padding:1.25rem 1rem}.subpage-card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg);border:none;padding:1.75rem 1.25rem 2rem}.subpage-footer{margin:auto -1rem -1.25rem}.subpage-header h1{font-size:2rem}.timeline-event{gap:0 1rem}.timeline-title{font-size:1.2rem}.rsvp-page{padding:1.25rem 1rem}.rsvp-card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg);border:none;padding:1.75rem 1.25rem}.rsvp-header h1{font-size:1.8rem}.radio-group{flex-direction:column}.admin-page{padding:1.25rem 1rem}.admin-header{flex-direction:column;align-items:flex-start;gap:1rem}.admin-header h1{font-size:1.6rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:1rem}.stat-value{font-size:1.8rem}.responses-table{font-size:.8rem}.responses-table th,.responses-table td{padding:.65rem .5rem}.name-row{grid-template-columns:1fr}.guest-card{padding:.9rem 1rem}.party-member{padding:1rem}.form-actions{flex-direction:column-reverse}.form-actions .btn-secondary{flex:1}.parties-list,.parties-responses{grid-template-columns:1fr}.header-actions{flex-wrap:wrap}.response-header{flex-direction:column;gap:.5rem}.response-party-info{justify-content:space-between;width:100%}.response-date{align-self:flex-end}.response-guest-row{flex-wrap:wrap}.response-guest-name{width:100%}.edit-guest-form,.add-guest-form,.add-guest-fields{flex-wrap:wrap}.edit-input.small{width:100%}}@media (width>=721px) and (width<=1100px){.parties-list,.parties-responses{grid-template-columns:repeat(2,1fr)}}@media print{body{background:#fff;min-height:auto;font-size:10px}body:before{display:none}.back-link,.search-box,.search-results-count,.header-actions,.hero-nav{display:none!important}.responses-page{padding:.5rem}.admin-header{margin-bottom:.5rem}.admin-header h1{font-size:1.4rem}.stats-grid{gap:.5rem;margin-bottom:.75rem}.stat-card{box-shadow:none;border:1px solid #ddd;padding:.5rem}.stat-value{font-size:1.4rem}.stat-label{margin-top:.15rem;font-size:.7rem}.parties-responses{grid-template-columns:1fr 1fr;gap:.4rem}.response-card{box-shadow:none;break-inside:avoid;border:1px solid #ccc;border-radius:4px}.response-card.pending{opacity:1}.response-header{padding:.3rem .5rem}.response-party-name{font-size:.85rem}.status-badge{padding:.1rem .3rem;font-size:.55rem}.response-date{font-size:.6rem}.response-guests{padding:.2rem .5rem}.response-guest-row{padding:.15rem 0}.response-guest-name{font-size:.75rem}.badge,.meal-badge{padding:.1rem .35rem;font-size:.6rem}.response-details{padding:.25rem .5rem}.detail-row{padding:.1rem 0;font-size:.65rem}}
