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