:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}body,p{margin:0}.page *{box-sizing:border-box}.page{font-family:var(--font-body);color:var(--color-foreground);background:var(--color-background)}.page .hero{align-items:flex-end;height:100dvh;min-height:560px;max-height:820px;display:flex;position:relative;overflow:hidden}.page .hero-photo{object-fit:cover;object-position:center 25%;width:100%;height:100%;position:absolute;inset:0}.page .hero-scrim{background:linear-gradient(#0c0a0959 0%,#0c0a0926 30%,#0c0a098c 68%,#0c0a09eb 100%);position:absolute;inset:0}.page .hero-content{width:100%;padding:0 1.5rem max(3.5rem, env(safe-area-inset-bottom) + 2.5rem);text-align:center;color:#fdfaf5;animation:.9s cubic-bezier(.16,1,.3,1) both hero-reveal;position:relative}.page .eyebrow{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:#e7c675;margin:0 0 1rem;font-size:.8rem;font-weight:500}.page .hero h1{font-family:var(--font-heading);letter-spacing:.01em;margin:0;font-size:clamp(2.75rem,12vw,4.5rem);font-style:italic;font-weight:600;line-height:1.05}.page .hero-sub{letter-spacing:.32em;text-transform:uppercase;color:#fdfaf5bf;margin:.9rem 0 0;font-size:.95rem}.page .scroll-hint{width:1px;height:32px;position:absolute;bottom:1.25rem;left:50%;overflow:hidden;transform:translate(-50%)}.page .scroll-hint span{background:#fdfaf599;width:1px;height:100%;animation:1.8s ease-in-out infinite scroll-hint-drop;display:block}@keyframes hero-reveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-hint-drop{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.page .hero-content,.page .scroll-hint span{animation:none}}@media (width>=860px){.page .hero{grid-template-rows:100%;grid-template-columns:1.15fr 1fr;align-items:stretch;display:grid}.page .hero-photo{object-position:center 15%;grid-column:1;height:100%;position:static}.page .hero-scrim{display:none}.page .hero-content{background:var(--color-primary);text-align:left;padding:4rem 4rem max(4rem, env(safe-area-inset-bottom) + 3rem);flex-direction:column;grid-column:2;justify-content:center;align-items:flex-start;display:flex}.page .hero h1{font-size:clamp(3rem,4.5vw,4rem)}.page .scroll-hint{display:none}}.page .rsvp-section{padding:3rem 1.25rem max(3rem, env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:2.25rem;display:flex}.page .details-card{flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:420px;display:flex}.page .detail-row{color:var(--color-foreground);align-items:center;gap:.65rem;font-size:1rem;font-weight:500;display:flex}.page .detail-divider{background:var(--color-border);width:48px;height:1px}.page .icon{width:20px;height:20px;color:var(--color-accent);stroke-width:1.5px;flex-shrink:0}.page .icon-lg{width:26px;height:26px;color:var(--color-success);margin:0 auto .6rem;display:block}.page .rsvp-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;width:100%;max-width:420px;padding:2rem 1.75rem}.page .status-text{text-align:center;margin:0;font-size:1rem}.page .confirmed{text-align:center;color:var(--color-success);background:var(--color-success-bg);border-radius:4px;margin:0;padding:1.1rem;font-size:1rem;font-weight:500;line-height:1.6}.page .declined{text-align:center;color:var(--color-secondary);background:var(--color-muted);border-radius:4px;margin:0;padding:1.1rem;font-size:1rem;font-weight:500;line-height:1.6}.page .declined .icon-lg{color:var(--color-secondary)}.page form{text-align:left;flex-direction:column;gap:1.1rem;display:flex}.page form h2{font-family:var(--font-heading);text-align:center;color:var(--color-primary);margin:0 0 .25rem;font-size:1.35rem;font-weight:600}.page .invite-prompt{text-align:center;flex-direction:column;align-items:center;gap:1rem;display:flex}.page .invite-prompt h2{font-family:var(--font-heading);color:var(--color-primary);margin:0;font-size:1.5rem;font-weight:600}.page .invite-message{margin:-.5rem 0 0;font-size:1rem;line-height:1.5}.page .invite-prompt button{width:100%}.page .invite-prompt .btn-secondary{color:var(--color-secondary);border-color:var(--color-border);background:0 0;margin-top:0}.page .invite-prompt .btn-secondary:hover{background:var(--color-muted);color:var(--color-foreground)}.page label{letter-spacing:.02em;text-transform:uppercase;color:var(--color-secondary);flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:500;display:flex}.page input{border:1px solid var(--color-border);background:var(--color-background);font-size:1rem;font-family:var(--font-body);color:var(--color-foreground);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:2px;min-height:46px;padding:.85rem .9rem;transition:border-color .2s ease-out}.page input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.page button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fdfaf5;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;border-radius:2px;min-height:48px;margin-top:.4rem;padding:.95rem;font-size:.9rem;font-weight:600;transition:background-color .2s ease-out,color .2s ease-out,transform .15s ease-out}.page button:hover{background:var(--color-background);color:var(--color-primary)}.page button:active{transform:scale(.98)}.page button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.page .form-error{color:var(--color-error);text-transform:none;letter-spacing:normal;margin:0;font-size:.9rem;font-weight:400}@media (prefers-reduced-motion:reduce){.page button{transition:none}}@media (width>=640px){.page .details-card{flex-direction:row;justify-content:center;align-items:stretch}.page .detail-divider{align-self:stretch;width:1px;height:auto}}.page .plus-one{text-align:center;opacity:.8;margin:0 0 1rem}:root{--color-primary:#1c1917;--color-secondary:#44403c;--color-accent:#a16207;--color-background:#fafaf9;--color-foreground:#0c0a09;--color-muted:#f2efec;--color-border:#d6d3d1;--color-surface:#fff;--color-success:#2f7a4f;--color-success-bg:#e6f2ea;--color-error:#b3261e;--font-heading:"Playfair Display", serif;--font-body:"Inter", system-ui, sans-serif}.admin-login,.admin-dashboard{font-family:var(--font-body);color:var(--color-foreground)}.admin-login{background:linear-gradient(160deg,#1c1917,#0c0a09);justify-content:center;align-items:center;min-height:100dvh;padding:1.25rem;display:flex}.admin-login form{background:var(--color-surface);color:var(--color-foreground);border-radius:6px;flex-direction:column;gap:.9rem;width:100%;max-width:300px;padding:2.25rem 2rem;display:flex}.admin-login h1{font-family:var(--font-heading);text-align:center;color:var(--color-primary);margin:0 0 .5rem;font-size:1.35rem;font-weight:600}.admin-login label{letter-spacing:.02em;text-transform:uppercase;color:var(--color-secondary);flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;display:flex}.admin-login input{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-foreground);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:2px;min-height:44px;padding:.75rem .9rem;font-family:inherit;font-size:1rem}.admin-login input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.admin-login button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fdfaf5;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:2px;min-height:48px;margin-top:.5rem;padding:.8rem;font-size:.85rem;font-weight:600;transition:background-color .2s ease-out,color .2s ease-out}.admin-login button:hover{background:var(--color-surface);color:var(--color-primary)}.admin-dashboard{background:var(--color-background);min-height:100dvh;padding:2rem 1.5rem max(2rem, env(safe-area-inset-bottom));max-width:760px;margin:0 auto}.loading-text{text-align:center;color:var(--color-secondary);padding-top:4rem;font-size:.95rem}.admin-dashboard header{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.75rem;padding-bottom:1.5rem;display:flex}.admin-dashboard .eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--color-accent);margin:0 0 .3rem;font-size:.75rem;font-weight:600}.admin-dashboard h1{font-family:var(--font-heading);color:var(--color-primary);margin:0;font-size:1.6rem;font-weight:600}.logout-btn,.delete-btn{border:1px solid var(--color-border);color:var(--color-foreground);cursor:pointer;letter-spacing:.04em;touch-action:manipulation;background:0 0;border-radius:2px;align-items:center;gap:.4rem;min-width:40px;min-height:40px;padding:.6rem .9rem;font-size:.8rem;font-weight:600;transition:border-color .2s ease-out,color .2s ease-out;display:inline-flex}.logout-btn:hover{border-color:var(--color-primary)}.delete-btn{border-color:var(--color-border);color:var(--color-error);justify-content:center}.delete-btn:hover{border-color:var(--color-error);background:#fdf1f0}.btn-icon{flex-shrink:0;width:16px;height:16px}.stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.75rem;display:grid}.stat-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;align-items:center;gap:.85rem;padding:1.25rem;display:flex}.stat-icon{width:28px;height:28px;color:var(--color-secondary);flex-shrink:0}.stat-icon.accent{color:var(--color-accent)}.stat-number{font-family:var(--font-heading);color:var(--color-primary);margin:0 0 .15rem;font-size:1.6rem;font-weight:600;line-height:1}.stat-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-secondary);margin:0;font-size:.75rem;font-weight:500}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;margin-bottom:1.5rem;padding:1.5rem}.panel h2{font-family:var(--font-heading);color:var(--color-foreground);margin:0 0 1.1rem;font-size:1.1rem;font-weight:600}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:.85rem;display:flex}.inline-form label{letter-spacing:.02em;text-transform:uppercase;color:var(--color-secondary);flex-direction:column;flex:1;gap:.4rem;min-width:170px;font-size:.8rem;font-weight:500;display:flex}.label-text{align-items:center;gap:.35rem;display:inline-flex}.label-icon{width:15px;height:15px;color:var(--color-accent)}.inline-form input{border:1px solid var(--color-border);background:var(--color-surface);font-size:.95rem;font-family:var(--font-body);color:var(--color-foreground);text-transform:none;letter-spacing:normal;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:2px;min-height:44px;padding:.75rem .85rem;transition:border-color .2s ease-out}.inline-form input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.inline-form button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fdfaf5;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;border-radius:2px;align-items:center;gap:.4rem;min-height:44px;padding:.75rem 1.2rem;font-size:.8rem;font-weight:600;transition:background-color .2s ease-out,color .2s ease-out;display:inline-flex}.inline-form button:hover{background:var(--color-background);color:var(--color-primary)}.invitee-list{flex-direction:column;gap:.6rem;display:flex}.empty-state{color:var(--color-secondary);text-align:center;margin:0;padding:1.5rem 0;font-size:.9rem}.invitee-row{border:1px solid var(--color-border);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.85rem;padding:.85rem;display:flex}.invitee-avatar{background:var(--color-muted);width:38px;height:38px;color:var(--color-accent);font-family:var(--font-heading);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:600;display:flex}.invitee-info{flex-direction:column;gap:.1rem;margin-right:auto;display:flex}.invitee-phone{color:var(--color-secondary);font-size:.85rem}.status{letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.25rem .7rem;font-size:.72rem;font-weight:600}.status.confirmed{background:var(--color-success-bg);color:var(--color-success)}.status.pending{color:#a05a00;background:#fbeee0}.status.declined{background:var(--color-muted);color:var(--color-secondary)}.invitee-actions{flex-wrap:wrap;gap:.4rem;width:100%;display:flex}@media (width>=560px){.invitee-actions{width:auto}}.copy-btn{background:var(--color-muted);border:1px solid var(--color-border);color:var(--color-foreground);cursor:pointer;touch-action:manipulation;border-radius:2px;align-items:center;gap:.35rem;min-height:38px;padding:.55rem .8rem;font-size:.78rem;font-weight:600;transition:border-color .2s ease-out;display:inline-flex}.copy-btn:hover{border-color:var(--color-primary)}.form-error{color:var(--color-error);text-transform:none;letter-spacing:normal;width:100%;margin:0;font-size:.85rem;font-weight:400}@media (width<=559px){.admin-dashboard header{align-items:flex-start}}
