@import "https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15100c;--bg-elevated:#1e1812;--bg-soft:#292118;--bg-overlay:#15100cf5;--bg-panel:#1e1812f5;--border:#3b3127;--border-subtle:#fff0dc0f;--text:#efe6d8;--muted:#a99a8a;--accent:#d8b98f;--accent-hover:#e7cda8;--accent-soft:#d8b98f21;--accent-glow:#d8b98f33;--accent-ink:#1b140d;--teal:#a7b584;--teal-soft:#a7b58421;--danger:#e27a6c;--success:#9cc38f;--shadow:0 24px 60px #00000080;--shadow-sm:0 4px 14px #0000004d;--btn-hover-border:#5a4b3c;--danger-text:#f4b3a9;--danger-bg:#e27a6c1a;--danger-border:#e27a6c52;--overlay-bg:#080503a8;--role-super-admin-text:#ecd2aa;--role-super-admin-bg:#d8b98f29;--role-super-admin-border:#d8b98f66;--role-admin-text:#c3d0a2;--role-admin-bg:#a7b58429;--role-admin-border:#a7b58466;--role-usuario-text:#b9ab9b;--role-usuario-bg:#a99a8a1f;--role-usuario-border:#a99a8a47}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f0e8;--bg-elevated:#fffdf9;--bg-soft:#ede5d8;--bg-overlay:#faf6eff7;--bg-panel:#fffdf9f7;--border:#ddd2c2;--border-subtle:#48351f12;--text:#2b2118;--muted:#6b5c4c;--accent:#6b4a2b;--accent-hover:#573b20;--accent-soft:#6b4a2b1a;--accent-glow:#6b4a2b29;--accent-ink:#fffdf9;--teal:#56643c;--teal-soft:#56643c1f;--danger:#b23a2e;--success:#3f7a4a;--shadow:0 24px 60px #2b21181a;--shadow-sm:0 4px 14px #2b211812;--btn-hover-border:#bfb09b;--danger-text:#9a2f24;--danger-bg:#b23a2e12;--danger-border:#b23a2e3d;--overlay-bg:#2b21186b;--role-super-admin-text:#6b4a2b;--role-super-admin-bg:#6b4a2b1f;--role-super-admin-border:#6b4a2b57;--role-admin-text:#46532e;--role-admin-bg:#56643c21;--role-admin-border:#56643c5c;--role-usuario-text:#5e5244;--role-usuario-bg:#2b21180d;--role-usuario-border:#2b211824}:root{--radius:14px;--radius-sm:10px;--radius-md:12px;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"Figtree", system-ui, sans-serif;font-family:var(--font-body);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;accent-color:var(--accent);line-height:1.55}::selection{background:var(--accent-soft);color:var(--text)}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3{font-family:var(--font-body);letter-spacing:-.01em;text-wrap:balance;font-weight:650}h1{font-family:var(--font-display);letter-spacing:-.005em;font-weight:600}code{font-family:var(--font-body);font-size:.92em;font-weight:600}#root{min-height:100vh}.page{animation:.22s ease-out both page-enter}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1}}.page-center{place-items:center;min-height:100vh;display:grid}.muted{color:var(--muted)}.btn{border:1px solid var(--border);background:var(--bg-soft);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;padding:.65rem 1.1rem;font-weight:500;transition:border-color .18s,background .18s,transform .12s,box-shadow .18s}.btn:hover:not(:disabled){border-color:var(--btn-hover-border);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 2px 8px var(--accent-glow);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 4px 14px var(--accent-glow)}.btn-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.btn-ghost{background:0 0}.btn-secondary{background:var(--bg-soft);border-color:var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.btn-sm{padding:.4rem .75rem;font-size:.85rem}.btn-ghost.danger{color:var(--danger-text)}.btn-ghost.danger:hover:not(:disabled){border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.form-error{color:var(--danger-text);margin:0;font-size:.9rem}.form-success{color:var(--success);margin:0;font-size:.9rem}.form-alert{border-radius:var(--radius-md);border:1px solid #0000;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;display:flex}.form-alert p{flex:1;margin:0}.form-alert-error{background:color-mix(in srgb, var(--danger) 12%, transparent);border-color:color-mix(in srgb, var(--danger) 28%, transparent)}.form-alert-success{background:color-mix(in srgb, var(--success) 12%, transparent);border-color:color-mix(in srgb, var(--success) 28%, transparent)}.form-alert-info{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 25%, transparent)}.form-alert-icon{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;margin-top:.1rem;display:inline-flex}.form-alert-error .form-alert-icon{background:var(--danger);color:#fff}.form-alert-success .form-alert-icon{background:var(--success);color:#fff}.form-alert-info .form-alert-icon{background:var(--accent);color:#fff}.form-alert-dismiss{flex-shrink:0;padding:.2rem .5rem;font-size:.82rem}.field-error{color:var(--danger-text);margin-top:.35rem;font-size:.82rem;display:block}.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}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.search-field{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);flex:280px;align-items:stretch;min-width:0;transition:border-color .18s,box-shadow .18s;display:flex;overflow:hidden}.search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-field-icon{color:var(--muted);pointer-events:none;flex-shrink:0;align-items:center;padding-left:.95rem;display:flex}.search-field input{width:auto;min-width:0;color:var(--text);background:0 0;border:none;flex:1;padding:.78rem .65rem}.search-field input:focus{outline:none}.search-field input::placeholder{color:var(--muted)}.search-field input::-webkit-search-cancel-button{display:none}.search-field input::-webkit-search-decoration{display:none}.search-field-clear{width:2rem;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-right:.15rem;font-size:1.25rem;line-height:1;transition:color .18s,background .18s;display:flex}.search-field-clear:hover{color:var(--text);background:var(--bg-soft)}.search-field-submit{border:none;border-left:1px solid var(--border);background:linear-gradient(145deg, var(--accent), color-mix(in srgb, var(--accent) 75%, #1a1714));color:#0a0c0f;cursor:pointer;flex-shrink:0;padding:0 1.25rem;font-weight:600;transition:background .18s,box-shadow .18s}[data-theme=light] .search-field-submit{color:#fffcf7}.search-field-submit:hover{background:linear-gradient(145deg, var(--accent-hover), var(--accent));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent)}.search-field-submit:active{transform:scale(.98)}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;display:flex}.pagination-summary{margin:0}.pagination-controls{align-items:center;gap:.75rem;display:flex}.pagination-page{color:var(--muted);font-size:.9rem}.login-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-brand{color:#faf7f2;background:#5c4836;justify-content:flex-start;align-items:flex-end;padding:3.5rem;display:flex;position:relative;overflow:hidden}.login-brand-photo{pointer-events:none;background-position:50% 30%;background-size:cover;position:absolute;inset:0}.login-brand-photo:after{content:"";background:linear-gradient(#2b1e1259 0%,#2b1e12e0 78%);position:absolute;inset:0}.login-brand-content{max-width:380px;animation:.7s cubic-bezier(.22,1,.36,1) both page-enter;position:relative}.login-brand-content h1{margin:1.25rem 0 .5rem;font-family:Great Vibes,cursive;font-size:clamp(3rem,5vw,4.25rem);font-weight:400;line-height:1}.login-brand-content>p{color:#faf7f2d9;margin:0 0 1.75rem;font-size:1.05rem;line-height:1.6}.login-features{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.login-features li{color:#faf7f2d9;align-items:center;gap:.75rem;font-size:.95rem;display:flex}.login-features li:before{content:"";background:#faf7f28c;flex-shrink:0;width:1.25rem;height:1px}.login-panel-wrap{place-items:center;padding:2rem;display:grid}.login-panel{width:min(420px,100%);animation:.6s cubic-bezier(.22,1,.36,1) .1s both page-enter}.login-panel-inner{background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px;padding:2.25rem}.login-intro h1{margin:0 0 .5rem;font-size:2.25rem;line-height:1.1}.login-form{gap:1.1rem;margin-top:1.75rem;display:grid}.login-form label,.form-section label:not(.toggle-control):not(.checkbox-row),.form-card label:not(.checkbox-label):not(.image-upload-label):not(.toggle-control):not(.event-choice-option){gap:.45rem;font-size:.9rem;font-weight:500;display:grid}.login-form input,.form-section input:not([type=checkbox]),.form-section select,.form-card input:not([type=checkbox]):not([type=file]),.form-card select,.form-card textarea,.toolbar select,.public-card select,.settings-card input,.settings-card textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:var(--radius-sm);padding:.78rem .95rem;transition:border-color .18s,box-shadow .18s}.form-card textarea,.public-card textarea,.settings-card textarea{resize:vertical;min-height:5rem;line-height:1.5}.toolbar select{cursor:pointer;width:auto;min-width:10rem}.login-form input:focus,.form-section input:not([type=checkbox]):focus,.form-section select:focus,.form-card input:not([type=checkbox]):not([type=file]):focus,.form-card select:focus,.form-card textarea:focus,.toolbar select:focus,.public-card select:focus,.settings-card input:focus,.settings-card textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-card input:disabled,.form-card select:disabled,.form-card textarea:disabled,.guests-fieldset input:disabled{opacity:.65;cursor:not-allowed;background:var(--bg-soft)}.login-hint{border-radius:var(--radius-sm);background:var(--bg-soft);border:1px dashed var(--border);margin-top:1.25rem;padding:.75rem 1rem;font-size:.84rem}.app-shell{grid-template-rows:auto 1fr;grid-template-columns:272px 1fr;min-height:100vh;display:grid}.mobile-header,.sidebar-backdrop{display:none}.sidebar{border-right:1px solid var(--border);background:var(--bg-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30;flex-direction:column;align-self:start;gap:1.5rem;height:100vh;max-height:100vh;padding:1.35rem 1.1rem;display:flex;position:sticky;top:0;overflow:hidden}.brand{align-items:center;gap:.85rem;padding:.25rem .5rem;display:flex}.brand strong{font-family:var(--font-display);font-size:1.3rem;font-weight:600;line-height:1.1;display:block}.brand .monogram{color:var(--accent)}.brand small,.user-chip small{color:var(--muted);margin-top:.1rem;font-size:.78rem;display:block}.nav{flex:1;align-content:start;gap:.125rem;min-height:0;display:grid;overflow-y:auto}.nav a{border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:.7rem;padding:.55rem .85rem;font-size:.92rem;font-weight:500;transition:background .15s,color .15s,transform .12s;display:flex;position:relative}.nav a:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;height:60%;transition:transform .2s cubic-bezier(.22,1,.36,1);position:absolute;top:50%;left:0;transform:translateY(-50%)scaleY(0)}.nav a.active:before{transform:translateY(-50%)scaleY(1)}.nav a.active,.nav a:hover{background:var(--bg-soft);color:var(--text)}.nav-icon{width:1.25rem;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;transition:color .18s;display:inline-flex}.nav a.active .nav-icon,.nav a:hover .nav-icon{color:var(--accent)}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:.5rem;margin-top:auto;padding-top:.85rem;display:flex}.btn-logout{width:2.5rem;height:2.5rem;color:var(--muted);flex-shrink:0;place-items:center;padding:0;display:inline-grid}.btn-logout:hover{color:var(--danger-text);border-color:var(--danger-border);background:var(--danger-bg)}.user-chip{flex:1;align-items:center;gap:.65rem;min-width:0;padding:.35rem .25rem;display:flex}.user-chip>div{min-width:0}.user-chip strong{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;display:block;overflow:hidden}.user-chip small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.avatar{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border:1px solid var(--border-subtle);border-radius:50%;flex-shrink:0;place-items:center;font-size:.82rem;font-weight:700;display:grid}.main-content{max-width:1200px;padding:2rem 2.25rem}.page-header{margin-bottom:2rem}.page-header.row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-header h1{margin:0;font-size:2.5rem;line-height:1.1}.page-header h1+p{margin-top:.5rem}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative;overflow:hidden}.rsvp-summary{gap:1.1rem;margin-bottom:1rem;padding:1.5rem;display:grid}.rsvp-summary .rsvp-summary-head h2{font-family:var(--font-display);font-size:1.6rem;font-weight:600;line-height:1.1}.rsvp-summary-head p{margin:.3rem 0 0}.rsvp-meter{background:var(--bg-soft);border-radius:999px;gap:3px;height:.7rem;display:flex;overflow:hidden}.rsvp-meter-segment{flex-basis:0;min-width:0;transition:flex-grow .5s cubic-bezier(.22,1,.36,1)}.rsvp-meter-segment--accepted,.rsvp-dot--accepted{background:var(--success)}.rsvp-meter-segment--pending,.rsvp-dot--pending{background:color-mix(in srgb, var(--muted) 45%, var(--bg-soft))}.rsvp-meter-segment--rejected,.rsvp-dot--rejected{background:var(--danger)}.rsvp-summary-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0;display:grid}.rsvp-summary-stats>div:last-child{border-left:1px solid var(--border);padding-left:1rem}.rsvp-summary-stats dt{color:var(--muted);align-items:center;gap:.45rem;font-size:.88rem;display:flex}.rsvp-summary-stats dd{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:.2rem 0 0;font-size:2rem;font-weight:600;line-height:1.1}.rsvp-dot{border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem}@media (width<=640px){.rsvp-summary{padding:1.25rem}.rsvp-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rsvp-summary-stats>div:last-child{border-left:none;padding-left:0}.rsvp-summary-stats dd{font-size:1.6rem}.page-header h1{font-size:2rem}}.card.wide{grid-column:1/-1}.card-head{align-items:center;gap:.65rem;margin-bottom:.5rem;display:flex}.card-head.row{justify-content:space-between}.card-head-title{align-items:center;gap:.65rem;display:flex}.card-stat-icon{background:var(--accent-soft);width:2rem;height:2rem;color:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.card-stat-icon--success{background:color-mix(in srgb, var(--success) 14%, transparent);color:var(--success)}.card-stat-icon--pending{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.card-stat-icon--danger{background:var(--danger-bg);color:var(--danger)}.card--stat .card-head{margin-bottom:.35rem}.card-icon{background:var(--accent-soft);width:2rem;height:2rem;color:var(--accent);border-radius:8px;place-items:center;font-size:.9rem;display:grid}.card h2{color:var(--text);letter-spacing:0;font-size:.95rem;font-weight:600;font-family:var(--font-body);margin:0}.stat{font-size:2.1rem;font-weight:600;font-family:var(--font-body);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:.35rem 0 .25rem;line-height:1.1}.stat.active{color:var(--success)}.stat.inactive{color:var(--danger-text)}.tag-list{flex-wrap:wrap;gap:.45rem;margin-top:.75rem;display:flex}.tag{background:var(--bg-soft);border:1px solid var(--border);font-variant-numeric:tabular-nums;color:var(--muted);border-radius:999px;padding:.3rem .75rem;font-size:.82rem;font-weight:500;transition:border-color .15s}.tag:hover{border-color:var(--accent);color:var(--text)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);animation:.4s cubic-bezier(.22,1,.36,1) .1s both page-enter;overflow:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;padding:.95rem 1.1rem}tbody tr{transition:background .12s}tbody tr:hover{background:var(--bg-soft)}tbody tr:last-child td{border-bottom:none}th{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;background:var(--bg-soft);font-size:.75rem;font-weight:600}.actions{flex-wrap:wrap;gap:.45rem;display:flex}.role-badge{border:1px solid #0000;border-radius:999px;align-items:center;padding:.28rem .6rem;font-size:.76rem;font-weight:600;line-height:1.2;display:inline-flex}.role-super_admin{color:var(--role-super-admin-text);border-color:var(--role-super-admin-border);background:var(--role-super-admin-bg)}.role-admin{color:var(--role-admin-text);border-color:var(--role-admin-border);background:var(--role-admin-bg)}.role-usuario{color:var(--role-usuario-text);border-color:var(--role-usuario-border);background:var(--role-usuario-bg)}.badge{border:1px solid var(--border);background:var(--bg-soft);border-radius:999px;align-items:center;padding:.28rem .65rem;font-size:.76rem;font-weight:600;display:inline-flex}.badge.status-aceptado,.tag.status-aceptado{color:var(--success);border-color:color-mix(in srgb, var(--success) 35%, transparent);background:color-mix(in srgb, var(--success) 12%, transparent)}.badge.status-pendiente,.tag.status-pendiente{color:var(--warning,#b8860b);border-color:color-mix(in srgb, var(--warning,#b8860b) 35%, transparent);background:color-mix(in srgb, var(--warning,#b8860b) 12%, transparent)}.badge.status-rechazado,.tag.status-rechazado{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent);background:color-mix(in srgb, var(--danger) 12%, transparent)}.badge.status-mixto{color:var(--accent)}.guest-comment{max-width:48ch;color:var(--text);margin:.55rem 0 0;font-size:.85rem;line-height:1.45}.guest-comment p{text-wrap:pretty;margin:0;font-style:italic}.guest-comment p:before{content:"«"}.guest-comment p:after{content:"»"}.guest-comment cite{color:var(--muted);margin-top:.15rem;font-style:normal;display:block}.guest-comment cite:before{content:"— "}.tag-list.compact{margin-top:.45rem}.tag-list.compact .tag{font-family:var(--font-body);font-size:.72rem}.actions-cell{white-space:nowrap}.empty-cell{text-align:center;padding:2rem!important}.form-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);gap:1rem;margin-bottom:1.5rem;padding:1.25rem;display:grid}.guests-fieldset{border:1px solid var(--border);border-radius:var(--radius);gap:.75rem;padding:1rem;display:grid}.guest-row{grid-template-columns:auto auto 1fr 1fr auto auto auto;align-items:end;gap:.75rem;display:grid}.guest-email{grid-area:2/3/auto/5}.guest-genero{border:none;gap:.45rem;min-width:0;margin:0;padding:0;display:grid}.guest-genero legend{margin-bottom:.45rem;padding:0;font-size:.9rem;font-weight:500}.guest-genero-options{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:inline-grid}.form-card .guest-genero-option{cursor:pointer;display:block;position:relative}.form-card .guest-genero-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.guest-genero-option span{border-radius:calc(var(--radius-sm) - 3px);min-height:calc(2.9rem - 8px);color:var(--muted);white-space:nowrap;place-items:center;padding:0 .9rem;font-size:.9rem;font-weight:500;transition:background .18s,color .18s;display:grid}.guest-genero-option:hover span{color:var(--text)}.guest-genero-option input:checked+span{background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px var(--accent);font-weight:600}.guest-genero-option input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.guest-child-toggle{white-space:nowrap;min-height:2.5rem}.guest-avatar-picker{justify-items:center;gap:.35rem;margin-bottom:.35rem;display:grid}.guest-avatar-label{cursor:pointer;justify-items:center;gap:.25rem;display:grid}.guest-avatar-label.is-disabled{cursor:default;opacity:.7}.guest-avatar-preview{border:2px solid var(--border);background:var(--surface-elevated,var(--bg));border-radius:999px;justify-content:center;align-items:center;width:3.25rem;height:3.25rem;transition:border-color .15s;display:flex;overflow:hidden}.guest-avatar-label:hover .guest-avatar-preview,.guest-avatar-label:focus-within .guest-avatar-preview{border-color:var(--accent)}.guest-avatar-image{object-fit:cover;width:100%;height:100%}.guest-avatar-fallback{color:var(--accent);font-size:.95rem;font-weight:600}.guest-avatar-hint{color:var(--muted);text-align:center;max-width:4.5rem;font-size:.68rem;line-height:1.2}.guest-avatar-actions{flex-direction:column;gap:.15rem;display:flex}.guest-row-number{background:var(--accent-soft);width:1.75rem;height:1.75rem;color:var(--accent);border-radius:999px;justify-content:center;align-items:center;margin-bottom:.35rem;font-size:.8rem;font-weight:600;display:inline-flex}.guests-legend{justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:0 .25rem;display:flex}.guests-count-badge{color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.78rem;font-weight:600;display:inline-flex}.btn-add-guest{justify-self:start;align-items:center;gap:.35rem;display:inline-flex}.btn-add-guest span{font-size:1.1rem;line-height:1}.invitation-link-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-soft);grid-template-columns:minmax(0,1fr);gap:.85rem;margin-bottom:1.25rem;padding:1rem 1.1rem;display:grid}.invitation-success-panel .invitation-link-card{margin-bottom:0}.invitation-link-card-highlight{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 8%, var(--bg-soft)), color-mix(in srgb, var(--teal) 6%, var(--bg-soft)));box-shadow:var(--shadow-sm)}.invitation-link-card-header{align-items:flex-start;gap:.75rem;display:flex}.invitation-link-card-icon{background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex}.invitation-link-card-title{margin:0;font-weight:600}.invitation-link-card-hint{margin:.2rem 0 0;font-size:.85rem}.invitation-link-card-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.invitation-link-url{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:12rem;padding:.55rem .7rem;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.78rem;overflow:hidden}.invitation-link-preview{color:var(--accent);font-size:.85rem;text-decoration:none}.invitation-link-preview:hover{text-decoration:underline}.invitation-success-panel{border:1px solid color-mix(in srgb, var(--success) 35%, var(--border));border-radius:var(--radius);background:linear-gradient(145deg, color-mix(in srgb, var(--success) 10%, var(--bg-elevated)), color-mix(in srgb, var(--accent) 6%, var(--bg-elevated)));box-shadow:var(--shadow-sm);gap:1rem;margin-bottom:1.5rem;padding:1.35rem;animation:.45s ease-out invitation-success-in;display:grid;position:relative;overflow:hidden}.invitation-success-panel-glow{background:radial-gradient(circle, var(--accent-glow), transparent 70%);pointer-events:none;border-radius:50%;width:280px;height:280px;position:absolute;inset:-40% auto auto -20%}.invitation-success-panel-header{grid-template-columns:auto 1fr auto;align-items:start;gap:.85rem;display:grid;position:relative}.invitation-success-panel-header h2{margin:0;font-size:1.35rem}.invitation-success-panel-header p{margin:.25rem 0 0}.invitation-success-check{background:var(--success);color:#fff;width:2.25rem;height:2.25rem;box-shadow:0 0 0 6px color-mix(in srgb, var(--success) 18%, transparent);border-radius:999px;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:inline-flex}.invitation-success-dismiss{justify-self:end}.invitation-success-group{margin:0;font-size:.95rem}.invitation-success-guests{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.invitation-success-guests li{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg-elevated) 85%, transparent);border:1px solid var(--border-subtle);align-items:center;gap:.6rem;padding:.45rem .65rem;display:flex}.invitation-success-guest-index{background:var(--teal-soft);width:1.4rem;height:1.4rem;color:var(--teal);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:inline-flex}.invitation-saved-modal{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.invitation-saved-modal-summary{align-items:center;gap:.85rem;display:flex}.invitation-saved-modal-icon{background:var(--success);color:#fff;width:2.25rem;height:2.25rem;box-shadow:0 0 0 6px color-mix(in srgb, var(--success) 18%, transparent);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:inline-flex}.invitation-saved-modal .dialog-message{margin:0}.invitation-saved-modal-guests{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);gap:.5rem;padding:.85rem 1rem;display:grid}.invitation-saved-modal-group{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.78rem;font-weight:600}.invitation-saved-modal-guests ul{overflow-wrap:anywhere;gap:.3rem;margin:0;padding:0;font-size:.95rem;list-style:none;display:grid}.invitation-saved-modal .invitation-link-card{margin-bottom:0}.invitation-saved-modal .dialog-actions{margin-top:.25rem}.invitation-saved-modal .invitation-link-card-row .btn{flex:1 0 auto}@keyframes invitation-success-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.guest-row{grid-template-columns:auto 1fr 1fr}.guest-row .btn{grid-column:1/-1;justify-self:start}.guest-genero{grid-column:1/-1}.guest-email{grid-area:auto/1/auto/-1}.guest-genero-options{display:grid}.guest-child-toggle{grid-column:1/-1;min-height:auto}.guest-row-number{display:none}.invitation-link-card-row{flex-direction:column;align-items:stretch}.invitation-success-panel-header{grid-template-columns:auto 1fr}.invitation-success-dismiss{grid-column:1/-1;justify-self:start}}.guest-list{gap:.35rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.guest-list li{border-bottom:1px solid var(--border);padding:.35rem 0}.guest-list li:last-child{border-bottom:none}.restaurant-sections{gap:1rem;margin-top:1rem;display:grid}.card-head.row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.public-page{background:radial-gradient(ellipse at top, color-mix(in srgb, var(--accent) 8%, transparent), transparent 55%), var(--bg);place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.public-card{border:1px solid var(--border);border-radius:calc(var(--radius) * 1.2);background:var(--bg-elevated);width:min(640px,100%);box-shadow:var(--shadow);padding:2rem;position:relative;overflow:hidden}.public-card-content{z-index:1;position:relative}.public-botanical{pointer-events:none;z-index:0;position:absolute;inset:0}.public-botanical-piece{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;height:auto;display:block;position:absolute}[data-theme=dark] .public-botanical-piece{opacity:.52}[data-theme=light] .public-botanical-piece{mix-blend-mode:multiply;opacity:.38}.public-botanical-piece--tl{width:min(9.5rem,28vw);top:-.5rem;left:-1.25rem;transform:rotate(-6deg)}.public-botanical-piece--tr{width:min(9rem,26vw);top:-.25rem;right:-1rem;transform:scaleX(-1)rotate(4deg)}.public-botanical-piece--bl{opacity:.38;width:min(6.5rem,20vw);bottom:.5rem;left:-.5rem;transform:rotate(12deg)scaleX(-1)}.public-botanical-piece--br{opacity:.42;width:min(4.75rem,15vw);bottom:.75rem;right:.25rem;transform:rotate(18deg)}.public-botanical-piece--rose{opacity:.28;width:min(5.5rem,17vw);top:7.5rem;left:50%;transform:translate(calc(5.5rem - 50%))rotate(14deg)}@media (width<=520px){.public-botanical-piece--tl,.public-botanical-piece--tr{opacity:.4;width:min(7rem,24vw)}.public-botanical-piece--bl,.public-botanical-piece--br{opacity:.3;width:min(4.5rem,16vw)}.public-botanical-piece--rose{opacity:.22;width:min(4rem,14vw);transform:translate(calc(4rem - 50%))rotate(14deg)}}.public-header{text-align:center;margin-bottom:2rem}.public-header h1{font-family:var(--font-display);margin:.35rem 0;font-size:clamp(1.8rem,5vw,2.5rem)}.public-couple-photo{max-width:min(280px,70vw);margin:1.25rem auto .5rem;position:relative;-webkit-mask-image:linear-gradient(#000 0% 35%,#0000 100%);mask-image:linear-gradient(#000 0% 35%,#0000 100%)}.public-couple-photo img{object-fit:contain;filter:drop-shadow(0 10px 24px #00000059);width:100%;height:auto;display:block}.public-couple,.public-group,.public-message{color:var(--muted)}.public-message{margin-top:1rem;font-style:italic}.public-guest-card{border:1px solid var(--border);border-radius:var(--radius);gap:.75rem;margin-top:1rem;padding:1rem;display:grid}.public-guest-head{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.public-guest-head h3{font-size:clamp(1.35rem,4.5vw,1.65rem);font-family:var(--font-display);width:100%;margin:0;font-weight:600;line-height:1.2}.public-actions{flex-wrap:wrap;gap:.5rem;display:flex}.public-footer{text-align:center;margin-top:2rem}.small{font-size:.85rem}.checkbox-label{cursor:pointer;align-self:end;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.menu-cards-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;display:grid}.dress-group+.dress-group{margin-top:2.5rem}.dress-group-head{flex-wrap:wrap;align-items:center;gap:.5rem .85rem;margin-bottom:1rem;display:flex}.dress-group-head h2{align-items:center;gap:.5rem;margin:0;font-size:1.25rem;display:flex}.dress-group-head .btn{margin-left:auto}.dress-group .menu-item-card-image{aspect-ratio:3/4;position:relative}.dress-card-position{background:var(--bg-overlay);border:1px solid var(--border);min-width:1.6rem;height:1.6rem;color:var(--text);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 .4rem;font-size:.78rem;font-weight:700;display:grid;position:absolute;top:.55rem;left:.55rem}.dress-card-caption{margin:0;font-size:.95rem;line-height:1.45}.menu-item-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;overflow:hidden}.menu-item-card:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--border));box-shadow:var(--shadow-sm)}.menu-item-card.inactive{opacity:.72}.menu-item-card-image{aspect-ratio:4/3;background:var(--bg-soft);position:relative;overflow:hidden}.menu-item-card-image img{object-fit:cover;width:100%;height:100%;display:block}.menu-item-card-placeholder{width:100%;height:100%;color:var(--muted);background:linear-gradient(135deg, var(--accent-soft), var(--teal-soft));place-items:center;font-size:2rem;display:grid}.menu-item-card-body{flex-direction:column;flex:1;gap:.5rem;padding:1.1rem;display:flex}.menu-item-card-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.menu-item-card-head h3{margin:0;font-size:1.05rem;line-height:1.3}.menu-item-card-meta{flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:.5rem;display:flex}.gift-claim-info{border-top:1px solid var(--border);margin-top:.65rem;padding-top:.65rem}.gift-claim-info-group{margin:0 0 .25rem;font-size:.9rem;line-height:1.4}.menu-item-card-actions{gap:.45rem;padding:0 1.1rem 1.1rem;display:flex}.menu-form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.menu-form-grid .span-2{grid-column:1/-1}.image-upload-zone{gap:.65rem;display:grid}.image-upload-zone .field-label{font-size:.9rem;font-weight:500}.image-upload-label{cursor:pointer;display:block}.image-upload-drop{border:2px dashed var(--border);border-radius:var(--radius);background:var(--bg);text-align:center;place-items:center;gap:.35rem;min-height:160px;padding:1rem;transition:border-color .18s,background .18s;display:grid}.image-upload-drop:hover,.image-upload-label:focus-within .image-upload-drop{border-color:var(--accent);background:var(--accent-soft)}.image-upload-drop.has-preview{border-style:solid;min-height:auto;padding:0}.image-upload-preview{object-fit:cover;border-radius:calc(var(--radius) - 2px);width:100%;max-height:220px;display:block}.image-upload-hint{color:var(--muted);margin:0;font-size:.85rem}.image-upload-actions{gap:.5rem;display:flex}.public-menu-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-top:.5rem;display:grid}.public-menu-option{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;text-align:left;flex-direction:column;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.public-menu-option:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--border))}.public-menu-option.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.public-menu-option-image{aspect-ratio:1;background:var(--bg-soft);overflow:hidden}.public-menu-option-image img{object-fit:cover;width:100%;height:100%}.public-menu-option-placeholder{width:100%;height:100%;color:var(--muted);background:var(--accent-soft);place-items:center;font-size:1.5rem;display:grid}.public-menu-option-body{padding:.55rem .65rem}.public-menu-option-body strong{font-size:.82rem;line-height:1.25;display:block}.public-menu-option-body small{color:var(--muted);margin-top:.15rem;font-size:.72rem;line-height:1.3;display:block}.public-guests h2{margin:0 0 .35rem;font-size:1.2rem}@media (width<=640px){.menu-form-grid{grid-template-columns:1fr}.menu-form-grid .span-2{grid-column:auto}}.form-grid{gap:1.25rem;display:grid}.form-section{gap:1.1rem;display:grid}.field-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.section-head h2,.form-section h2{margin:0;font-size:1.1rem}.checkbox-row{align-items:center;gap:.55rem;display:flex}.toggle-field{gap:.45rem;display:grid}.toggle-field-label{font-size:.9rem;font-weight:500}.toggle-control{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;align-items:center;gap:.85rem;min-height:2.75rem;padding:.65rem .95rem;transition:border-color .18s,box-shadow .18s,background .18s;display:flex}.toggle-control:hover{border-color:var(--btn-hover-border)}.toggle-control:has(.toggle-control-input:focus-visible){border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.toggle-control-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toggle-control-track{background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;flex-shrink:0;width:2.5rem;height:1.4rem;transition:background .2s,border-color .2s;position:relative}.toggle-control-thumb{background:var(--muted);border-radius:50%;width:1rem;height:1rem;transition:left .2s,background .2s,box-shadow .2s;position:absolute;top:50%;left:.12rem;transform:translateY(-50%)}.toggle-control:has(.toggle-control-input:checked) .toggle-control-track{background:var(--success);border-color:color-mix(in srgb, var(--success) 70%, var(--border))}.toggle-control:has(.toggle-control-input:checked) .toggle-control-thumb{background:#fff;left:calc(100% - 1.12rem);box-shadow:0 1px 4px #0000002e}.toggle-control-copy{gap:.1rem;min-width:0;display:grid}.toggle-control-copy strong{font-size:.88rem;font-weight:600}.toggle-control-copy small{font-size:.78rem;line-height:1.35}.iam-matrix{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.iam-header,.iam-module{border-bottom:1px solid var(--border);grid-template-columns:220px 1fr;display:grid}.iam-header{background:var(--bg-soft);color:var(--muted);text-transform:uppercase;letter-spacing:.07em;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.iam-module-title{border-right:1px solid var(--border);background:var(--bg-soft);padding:1rem}.iam-permissions{gap:.6rem;padding:1rem;display:grid}.permission-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);justify-content:space-between;padding:.55rem .8rem;transition:border-color .15s}.permission-chip:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.permission-chip code{color:var(--muted);font-size:.78rem}.iam-hint{border-radius:var(--radius);border:1px dashed color-mix(in srgb, var(--accent) 40%, var(--border));background:var(--accent-soft);padding:1.1rem 1.25rem}.iam-hint p{color:var(--muted);margin:.35rem 0 0;font-size:.92rem}.form-actions{justify-content:flex-end;gap:.65rem;display:flex}.settings-layout{gap:1.25rem;max-width:720px;display:grid}.invitation-editor-layout{align-items:start;gap:1.25rem;display:grid}.invitation-editor-forms{gap:1.25rem;min-width:0;display:grid}.settings-card{transition:border-color .25s,box-shadow .25s}.settings-card.is-highlighted{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.settings-dirty-badge{background:var(--accent-soft);color:var(--accent);letter-spacing:.02em;text-transform:uppercase;vertical-align:middle;border-radius:999px;margin-left:.55rem;padding:.15rem .6rem;font-size:.72rem;font-weight:600;display:inline-block}@media (width>=1080px){.invitation-editor-layout{grid-template-columns:minmax(0,1fr) minmax(360px,460px)}.invitation-preview-card{position:sticky;top:1.25rem}}.invitation-preview-card{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.invitation-preview-controls{flex-wrap:wrap;gap:.5rem;display:flex}.invitation-preview-controls select{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);border-radius:var(--radius-sm);cursor:pointer;flex:11rem;padding:.6rem .8rem}.invitation-preview-controls select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.invitation-preview-frame{aspect-ratio:9/18;border:6px solid var(--border);background:var(--bg-soft);border-radius:1.75rem;width:100%;max-width:380px;margin:0 auto;overflow:hidden}.invitation-preview-frame iframe{border:0;width:100%;height:100%;display:block}.invitation-preview-open{color:var(--accent);justify-content:center;align-items:center;gap:.4rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.invitation-preview-open:hover{text-decoration:underline}.invitation-editor-links{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;display:grid}.invitation-editor-link{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);align-items:center;gap:.7rem;padding:.85rem 1rem;text-decoration:none;transition:border-color .18s,box-shadow .18s;display:flex}.invitation-editor-link:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.invitation-editor-link-icon{border-radius:var(--radius-sm);background:var(--bg-soft);width:2.25rem;height:2.25rem;color:var(--accent);flex-shrink:0;place-items:center;display:inline-grid}.invitation-editor-link strong{font-size:.95rem;display:block}.invitation-editor-link small{color:var(--muted);font-size:.8rem;display:block}.settings-card{gap:1.35rem;display:grid}.settings-section-head h2{margin:0 0 .35rem;font-size:1.1rem}.settings-section-head p{margin:0;font-size:.92rem}.settings-card label:not(.toggle-control){gap:.45rem;font-size:.9rem;font-weight:500;display:grid}.couple-preview{border-radius:var(--radius-sm);color:#faf7f2;text-align:center;background:#5c4836;justify-items:center;gap:.35rem;margin:.25rem 0 1.25rem;padding:1.5rem 1rem 1.25rem;display:grid;box-shadow:inset 0 0 0 6px #5c4836,inset 0 0 0 7px #faf7f23d}.couple-preview .monogram{margin-bottom:.35rem}.couple-preview-names{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 .45em;margin:0;font-family:Great Vibes,cursive;font-size:2.35rem;line-height:1.15;display:flex}.couple-preview-amp{opacity:.7;font-size:.6em}.couple-preview-full{letter-spacing:.08em;text-transform:uppercase;opacity:.8;overflow-wrap:anywhere;margin:.2rem 0 0;font-family:Cormorant Garamond,Georgia,serif;font-size:.85rem;font-weight:600}.couple-form{grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));gap:1rem 1.25rem;display:grid}.couple-form>:not(.couple-person){grid-column:1/-1}.couple-person{border:none;align-content:start;gap:.85rem;min-width:0;margin:0;padding:0;display:grid}.couple-person legend{margin-bottom:.6rem;padding:0;font-size:.95rem;font-weight:600}.couple-person label{gap:.4rem;font-size:.9rem;font-weight:500;display:grid}.couple-person label .settings-deadline-hint{font-weight:400}.couple-person input[aria-invalid=true]{border-color:var(--danger-border)}.couple-form .form-actions{margin-top:.25rem}.settings-deadline-form{gap:.85rem;display:grid}.settings-group{border:none;gap:.85rem;min-width:0;margin:0;padding:0;display:grid}.settings-group+.settings-group{border-top:1px solid var(--border);padding-top:1.1rem}.settings-group legend{float:left;width:100%;margin-bottom:.1rem;padding:0;font-size:.95rem;font-weight:600}.settings-deadline-hint{margin:0;font-size:.88rem;line-height:1.5}.settings-deadline-hint a{color:inherit;text-underline-offset:.18em;font-weight:600;text-decoration:underline}.theme-options{gap:.6rem;display:grid}.theme-option{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text);text-align:left;cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;padding:.9rem 1.1rem;transition:border-color .18s,background .18s,transform .12s;display:grid}.theme-option:hover:not(:disabled){border-color:var(--accent);transform:translate(2px)}.theme-option.selected{border-color:var(--accent);background:var(--accent-soft)}.theme-option:disabled{opacity:.65;cursor:wait}.theme-option-icon{background:var(--bg-soft);width:2.25rem;height:2.25rem;color:var(--accent);border-radius:10px;place-items:center;display:grid}.theme-option-check{color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.theme-option-copy{gap:.15rem;display:grid}.theme-option-copy small{color:var(--muted);font-size:.82rem}.gift-settings-stack{gap:1.25rem;margin-bottom:2.5rem;display:grid}.gift-section-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.15rem;display:flex}.gift-section-head h2,.gift-list-head h2,.gift-list-off h2{margin:0 0 .3rem;font-size:1.1rem}.gift-section-head p,.gift-list-head p,.gift-list-off p{margin:0;font-size:.92rem}.gift-save-status{min-height:1.5rem;color:var(--success);white-space:nowrap;align-items:center;gap:.35rem;margin:0;font-size:.85rem;font-weight:600;display:inline-flex}.gift-mode-options{grid-template-columns:repeat(auto-fit,minmax(min(12.5rem,100%),1fr));gap:.75rem;display:grid}.gift-mode-option{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);cursor:pointer;grid-template-rows:auto 1fr;gap:.85rem;padding:1.1rem 1.1rem 1.15rem;transition:border-color .18s,background-color .18s,box-shadow .18s;display:grid;position:relative}.gift-mode-option:hover:not(.readonly){border-color:var(--btn-hover-border)}.gift-mode-option.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.gift-mode-option.readonly{cursor:default}.gift-mode-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.gift-mode-option:has(input:disabled):not(.readonly){cursor:progress}.gift-mode-option-art{display:flex}.gift-mode-option-icon{background:var(--bg-soft);border:1px solid var(--border);width:2.5rem;height:2.5rem;color:var(--accent);border-radius:50%;place-items:center;display:grid}.gift-mode-option-icon+.gift-mode-option-icon{box-shadow:-3px 0 0 var(--bg);margin-left:-.65rem}.gift-mode-option.selected .gift-mode-option-icon{background:var(--bg-elevated);border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.gift-mode-option.selected .gift-mode-option-icon+.gift-mode-option-icon{box-shadow:-3px 0 0 color-mix(in srgb, var(--accent) 10%, var(--bg))}.gift-mode-option-copy{align-content:start;gap:.35rem;padding-right:1.25rem;display:grid}.gift-mode-option-copy strong{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;font-size:.98rem;display:flex}.gift-mode-option-copy small{color:var(--muted);font-size:.85rem;line-height:1.45}.gift-mode-default{background:var(--teal-soft);color:var(--teal);letter-spacing:.02em;border-radius:999px;padding:.12rem .5rem;font-size:.72rem;font-weight:600}.gift-mode-option-radio{border:1.5px solid var(--btn-hover-border);border-radius:50%;width:1.15rem;height:1.15rem;transition:border-color .18s,border-width .18s;position:absolute;top:1.1rem;right:1.1rem}.gift-mode-option.selected .gift-mode-option-radio{border:5px solid var(--accent)}.gift-envelope-layout{grid-template-columns:minmax(0,1fr) minmax(0,22rem);align-items:start;gap:1.75rem;display:grid}.gift-envelope-form{gap:1rem;display:grid}.gift-envelope-fields{border:none;gap:1.1rem;min-width:0;margin:0;padding:0;display:grid}.gift-envelope-fields>label{gap:.45rem;font-size:.9rem;font-weight:500;display:grid}.gift-envelope-fields input,.gift-envelope-fields textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:var(--radius-sm);font:inherit;padding:.78rem .95rem;transition:border-color .18s,box-shadow .18s}.gift-envelope-fields textarea{resize:vertical;min-height:7.5rem;line-height:1.55}.gift-envelope-fields input:focus,.gift-envelope-fields textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.gift-envelope-fields:disabled input,.gift-envelope-fields:disabled textarea{opacity:.75;cursor:not-allowed}.gift-field-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.gift-field-hint{color:var(--muted);font-size:.82rem;font-weight:400;line-height:1.45}.gift-char-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:400}.gift-char-count.near-limit{color:var(--danger-text)}.gift-accounts{border-top:1px solid var(--border-subtle);gap:.6rem;padding-top:1.1rem;display:grid}.gift-accounts-title{font-size:.9rem;font-weight:500}.gift-accounts-empty{margin:0}.gift-accounts-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.gift-account-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.gift-account-row .btn-icon{place-items:center;width:2.75rem;height:2.75rem;padding:0;display:grid}.gift-accounts-add{justify-self:start;align-items:center;gap:.35rem;display:inline-flex}.gift-envelope-preview{gap:.6rem;margin:0;display:grid;position:sticky;top:1.5rem}.gift-envelope-preview figcaption{color:var(--muted);font-size:.82rem;font-weight:500}.gift-envelope-stage.invitation-page{border-radius:var(--radius);min-height:0;padding:0;overflow:hidden}.gift-envelope-stage .inv-gifts{padding:2rem 1.25rem 2.25rem}.gift-envelope-stage .inv-script-title{margin-top:0}.gift-list-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.gift-list-off{border:1px dashed var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.9rem 1rem;padding:1rem 1.15rem;display:flex}.gift-list-off>div{flex:14rem}.gift-list-off-icon{background:var(--bg-soft);width:2.5rem;height:2.5rem;color:var(--muted);border-radius:50%;place-items:center;display:grid}@media (width<=900px){.gift-mode-options{grid-template-columns:1fr}.gift-mode-option{grid-template-rows:none;grid-template-columns:auto 1fr;align-items:start}.gift-envelope-layout{grid-template-columns:1fr}.gift-envelope-preview{position:static}}@media (width<=520px){.gift-section-head{flex-direction:column;gap:.5rem}.gift-account-row{grid-template-columns:minmax(0,1fr) auto}.gift-account-row label:first-child{grid-column:1/-1}}.icon-picker-grid{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.6rem;margin-top:.45rem;display:grid}.icon-picker{gap:.5rem;display:grid}.icon-picker-search{display:block;position:relative}.icon-picker-search input{width:100%;padding-left:2.35rem}.icon-picker-search-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.icon-picker-meta{margin:0;font-size:.82rem}.icon-picker-empty{text-align:center;margin:0;padding:1rem .25rem}.icon-picker-grid-scroll{max-height:16rem;padding-right:.15rem;overflow-y:auto}.icon-picker-option{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);cursor:pointer;justify-items:center;gap:.35rem;padding:.75rem .5rem;font-size:.78rem;transition:border-color .18s,background .18s;display:grid}.icon-picker-option:hover{border-color:var(--accent)}.icon-picker-option.selected{border-color:var(--accent);background:var(--accent-soft)}.dialog-backdrop{z-index:100;background:var(--overlay-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;padding:1.5rem;animation:.2s both fade-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.dialog-panel{background:var(--bg-panel);border:1px solid var(--border);width:min(420px,100%);max-height:min(90vh,900px);box-shadow:var(--shadow);border-radius:18px;flex-shrink:0;margin:auto;padding:1.6rem;animation:.28s cubic-bezier(.22,1,.36,1) both dialog-enter;overflow-y:auto}.dialog-panel--wide{width:min(640px,100%)}.dialog-panel:has(.share-dialog){width:min(800px,100%)}.dialog-panel:has(.email-panel){width:min(1040px,100%)}.share-channel{border:1px solid var(--border);background:var(--bg-soft);border-radius:999px;grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;margin-bottom:1.25rem;padding:3px;display:inline-grid}.share-channel button{min-height:2.4rem;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:0 1.25rem;font-weight:600;display:inline-flex}.share-channel button[aria-selected=true]{background:var(--bg-elevated);color:var(--text);box-shadow:var(--shadow-sm)}.share-channel button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.email-panel{grid-template-columns:minmax(0,20rem) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.email-panel-side{gap:1rem;display:grid}.email-recipients{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.email-recipients li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.7rem .8rem;display:flex}.email-recipient{cursor:pointer;align-items:flex-start;gap:.6rem;min-width:0;display:flex}.email-recipient input{margin-top:.2rem}.email-recipient span{gap:.1rem;min-width:0;display:grid}.email-recipient small{color:var(--muted);overflow-wrap:anywhere;font-size:.83rem}.email-recipient .email-recipient-sent{color:var(--success,#3f6b3a)}.email-recipient-view{color:var(--accent);font:inherit;text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;flex:none;font-size:.83rem;font-weight:600;text-decoration:underline}.email-recipient-view.is-active{color:var(--muted);cursor:default;text-decoration:none}.email-missing{margin:0}.email-results{gap:.35rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.email-results li{display:grid}.email-results .is-ok{color:var(--success,#3f6b3a)}.email-results .is-error{color:var(--danger,#9b3b2b)}.email-results small{color:var(--muted)}.email-send{justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.email-preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-soft);min-width:0;display:grid;overflow:hidden}.email-preview-bar{border-bottom:1px solid var(--border);background:var(--bg-elevated);justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .9rem;display:flex}.email-preview-meta{gap:.1rem;min-width:0;font-size:.85rem;display:grid}.email-preview-meta span{color:var(--muted);overflow-wrap:anywhere}.email-preview-meta strong{font-size:.95rem}.email-device{border:1px solid var(--border);border-radius:var(--radius-sm);flex:none;gap:2px;padding:2px;display:inline-flex}.email-device button{border-radius:calc(var(--radius-sm) - 2px);width:2.1rem;height:1.9rem;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.email-device button[aria-pressed=true]{background:var(--accent-soft);color:var(--text)}.email-preview-stage{justify-content:center;padding:1rem;display:flex}.email-preview-stage iframe{border-radius:var(--radius-sm);background:#f5f0e8;border:0;width:100%;height:min(70vh,720px);transition:width .25s;display:block}.email-preview-stage.is-phone iframe{width:min(390px,100%);box-shadow:0 0 0 8px #1f1a15, var(--shadow-sm);border-radius:18px}@media (width<=820px){.email-panel{grid-template-columns:1fr}}.share-dialog{gap:1.25rem;display:grid}.share-section{border:none;gap:.75rem;min-width:0;margin:0;padding:0;display:grid}.share-section legend,.share-label{margin-bottom:.1rem;padding:0;font-size:.95rem;font-weight:600}.share-audience{grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));gap:.6rem;display:grid}.share-audience-option{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--muted);cursor:pointer;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;transition:border-color .18s,background-color .18s,box-shadow .18s;display:flex}.share-audience-option:hover{border-color:var(--btn-hover-border)}.share-audience-option.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);color:var(--text)}:is(.share-audience-option:has(input:focus-visible),.share-person:has(input:focus-visible)){outline:2px solid var(--accent);outline-offset:2px}.share-audience-option span{gap:.15rem;display:grid}.share-audience-option strong{color:var(--text);font-weight:600}.share-audience-option small{font-size:.85rem;line-height:1.35}.share-people{flex-wrap:wrap;gap:.45rem;display:flex}.share-person{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:999px;padding:.45rem .9rem;font-size:.9rem;transition:border-color .18s,background-color .18s}.share-person:hover{border-color:var(--btn-hover-border)}.share-person.selected{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.share-body{grid-template-columns:minmax(0,1fr) 13.5rem;align-items:start;gap:1.25rem;display:grid}.share-message{gap:.45rem;display:grid}.share-message textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);width:100%;color:var(--text);resize:vertical;padding:.75rem .85rem;font-size:.92rem;line-height:1.5}.share-message textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.share-message small{font-size:.82rem;line-height:1.4}.share-qr{justify-items:start;gap:.6rem;display:grid}.share-check{cursor:pointer;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.share-check input{width:1.05rem;height:1.05rem;accent-color:var(--accent)}.share-qr-frame{aspect-ratio:4/5;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);place-items:center;width:100%;display:grid;overflow:hidden}.share-qr-frame img{object-fit:cover;width:100%;height:100%;display:block}.share-qr .btn,.link-actions .btn,.share-actions .btn{justify-content:center;align-items:center;gap:.4rem;display:inline-flex}.share-status{min-height:1.3em;color:var(--success);margin:-.5rem 0 0;font-size:.88rem}.share-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.link-actions{flex-wrap:wrap;gap:.35rem;display:flex}@media (width<=640px){.share-body{grid-template-columns:1fr}.share-qr{grid-template-columns:7rem 1fr;align-items:center;column-gap:1rem}.share-check{grid-column:1/-1}.share-actions .btn{flex:100%}.share-actions .btn-whatsapp{order:-1}}.dialog-panel .form-card{background:0 0;border:none;margin:0;padding:0}@keyframes dialog-enter{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.dialog-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;display:flex}.dialog-title{flex:1;min-width:0;margin:0;font-size:1.2rem}.dialog-close{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.dialog-close:hover{background:var(--bg-soft);color:var(--text)}.dialog-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dialog-message{margin:0 0 1.35rem;font-size:.94rem;line-height:1.55}.dialog-error{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid color-mix(in srgb, var(--danger) 28%, transparent);color:var(--danger-text);margin:0 0 1rem;padding:.75rem .85rem;font-size:.9rem;line-height:1.45}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.state-panel{text-align:center;border:1px dashed var(--border);border-radius:var(--radius);background:var(--bg-elevated);place-items:center;gap:1rem;padding:4rem 2rem;display:grid}.state-panel p{max-width:320px;margin:0}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-icon{background:var(--bg-soft);width:48px;height:48px;color:var(--muted);border:1px solid var(--border);border-radius:14px;place-items:center;display:grid}.app-icon-muted{color:var(--muted)}.btn-add-guest{align-items:center;gap:.4rem;display:inline-flex}@media (width<=900px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-panel-wrap{padding:1.5rem}.app-shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.mobile-header{border-bottom:1px solid var(--border);background:var(--bg-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:50;grid-area:1/1;align-items:center;gap:.85rem;padding:.85rem 1rem;display:flex;position:sticky;top:0}.mobile-header-brand{align-items:center;gap:.65rem;display:flex}.mobile-header-brand .monogram{color:var(--accent)}.mobile-header-brand strong{font-family:var(--font-display);font-size:1.3rem;font-weight:600}.sidebar-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-soft);width:42px;height:42px;color:var(--text);cursor:pointer;flex-shrink:0;place-items:center;display:grid}.sidebar-toggle-icon,.sidebar-toggle-icon:before,.sidebar-toggle-icon:after{background:currentColor;border-radius:999px;width:18px;height:2px;transition:transform .2s,opacity .2s;display:block;position:relative}.sidebar-toggle-icon:before,.sidebar-toggle-icon:after{content:"";position:absolute;left:0}.sidebar-toggle-icon:before{top:-6px}.sidebar-toggle-icon:after{top:6px}.sidebar-toggle[aria-expanded=true] .sidebar-toggle-icon{background:0 0}.sidebar-toggle[aria-expanded=true] .sidebar-toggle-icon:before{top:0;transform:rotate(45deg)}.sidebar-toggle[aria-expanded=true] .sidebar-toggle-icon:after{top:0;transform:rotate(-45deg)}.sidebar-backdrop{z-index:40;background:var(--overlay-bg);cursor:pointer;border:none;padding:0;animation:.2s both fade-in;display:block;position:fixed;inset:0}.sidebar{border-right:1px solid var(--border);width:min(300px,88vw);height:100vh;max-height:none;box-shadow:var(--shadow);z-index:45;border-bottom:none;transition:transform .25s cubic-bezier(.22,1,.36,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.sidebar.open{transform:translate(0)}.main-content{grid-area:2/1;padding:1.25rem}.iam-header,.iam-module{grid-template-columns:1fr}.iam-module-title{border-right:none;border-bottom:1px solid var(--border)}}@media (width<=640px){.table-wrap:has(.data-table--stack){background:0 0;border:none;overflow:visible}.data-table--stack,.data-table--stack tbody{display:block}.data-table--stack thead{display:none}.data-table--stack tbody tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin-bottom:.75rem;padding:1rem;display:grid}.data-table--stack tbody tr:hover{background:var(--bg-elevated)}.data-table--stack td{border:none;min-width:0;padding:0}.data-table--stack td:first-child,.data-table--stack td.actions-cell,.data-table--stack td.empty-cell{grid-column:1/-1}.data-table--stack td[data-label]:before{content:attr(data-label);color:var(--muted);margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.data-table--stack td.actions-cell{border-top:1px solid var(--border);gap:.5rem;padding-top:.75rem;display:flex}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.invitation-page{--inv-olive:#475234;--inv-coffee:#e0d0b8;--inv-coffee-dark:#cbb896;--inv-coffee-card:#cfbea0;--inv-coffee-border:#a89070;--inv-coffee-deep:#48351f;--inv-coffee-rich:#5c4836;--inv-frame:#f5f0e8;--inv-cream:var(--inv-coffee);--inv-text:#33291d;--inv-text-light:#faf7f2;--inv-muted:#57493a;--inv-script:"Great Vibes", cursive;--inv-serif:"Cormorant Garamond", Georgia, serif;--inv-focus:var(--inv-coffee-deep);--inv-ease:cubic-bezier(.22, 1, .36, 1);background:var(--inv-frame);min-height:100vh;color:var(--inv-text);font-family:var(--inv-serif);font-variant-numeric:lining-nums;font-size:1.125rem;font-weight:500;line-height:1.55}.invitation-page :where(h1,h2,h3){font-family:var(--inv-serif);letter-spacing:normal}.invitation-page ::selection{background:color-mix(in srgb, var(--inv-coffee-deep) 22%, var(--inv-coffee));color:var(--inv-coffee-deep)}.inv-green-block ::selection{background:color-mix(in srgb, var(--inv-text-light) 26%, transparent);color:var(--inv-text-light)}.inv-gifts ::selection{background:color-mix(in srgb, var(--inv-text-light) 26%, transparent);color:var(--inv-text-light)}.inv-hero ::selection{background:color-mix(in srgb, var(--inv-text-light) 26%, transparent);color:var(--inv-text-light)}.inv-hero,.inv-green-block,.inv-gifts{--inv-focus:var(--inv-text-light)}.invitation-page :focus-visible{outline:2px solid var(--inv-focus);outline-offset:3px}.invitation-scroll{background:var(--inv-coffee);width:min(420px,100%);margin:0 auto;box-shadow:0 8px 40px #231c122e}.inv-loading{text-align:center;color:var(--inv-muted);padding:3rem 1rem}.inv-script-title{font-family:var(--inv-serif);letter-spacing:.04em;color:var(--inv-coffee-deep);margin:0 0 1rem;font-size:clamp(1.55rem,5vw,2rem);font-style:italic;font-weight:600;line-height:1.25}.inv-script-title--light{color:var(--inv-text-light)}.reveal-ready .inv-reveal{opacity:0;transition:opacity .7s ease-out,transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(22px)}.reveal-ready .inv-reveal.is-visible{opacity:1;transform:none}.reveal-ready .inv-reveal .inv-script-title,.reveal-ready .inv-reveal .inv-dress-card,.reveal-ready .inv-reveal .inv-venue,.reveal-ready .inv-reveal .inv-info-note,.reveal-ready .inv-reveal .inv-timeline-item{opacity:0;transition:opacity .6s ease-out,transform .6s cubic-bezier(.22,1,.36,1);transform:translateY(16px)}.reveal-ready .inv-reveal.is-visible .inv-script-title,.reveal-ready .inv-reveal.is-visible .inv-dress-card,.reveal-ready .inv-reveal.is-visible .inv-venue,.reveal-ready .inv-reveal.is-visible .inv-info-note,.reveal-ready .inv-reveal.is-visible .inv-timeline-item{opacity:1;transform:none}.reveal-ready .inv-reveal.is-visible .inv-script-title{transition-delay:.1s}.reveal-ready .inv-reveal.is-visible .inv-dress-card:first-of-type,.reveal-ready .inv-reveal.is-visible .inv-venue,.reveal-ready .inv-reveal.is-visible .inv-info-note:first-of-type{transition-delay:.18s}.reveal-ready .inv-reveal.is-visible .inv-dress-card:nth-of-type(2),.reveal-ready .inv-reveal.is-visible .inv-info-note:nth-of-type(2){transition-delay:.3s}.reveal-ready .inv-reveal.is-visible .inv-timeline-item:first-child{transition-delay:.15s}.reveal-ready .inv-reveal.is-visible .inv-timeline-item:nth-child(2){transition-delay:.23s}.reveal-ready .inv-reveal.is-visible .inv-timeline-item:nth-child(3){transition-delay:.31s}.reveal-ready .inv-reveal.is-visible .inv-timeline-item:nth-child(4){transition-delay:.39s}.reveal-ready .inv-reveal.is-visible .inv-timeline-item:nth-child(5){transition-delay:.47s}.reveal-ready .inv-reveal.is-visible .inv-timeline-item:nth-child(n+6){transition-delay:.55s}.reveal-ready .inv-hero.inv-reveal{opacity:1;transition:none;transform:none}.reveal-ready .inv-hero.is-visible>*{animation:inv-ink .9s var(--inv-ease) both}.reveal-ready .inv-hero.is-visible>.inv-hero-seal{animation:inv-seal .8s var(--inv-ease) 50ms both}.reveal-ready .inv-hero.is-visible>.inv-hero-names{animation-duration:1.2s;animation-delay:.22s}.reveal-ready .inv-hero.is-visible>.inv-hero-invite{animation-delay:.5s}.reveal-ready .inv-hero.is-visible>.inv-hero-group{animation-delay:.6s}.reveal-ready .inv-hero.is-visible>.inv-hero-date{animation-delay:.72s}.reveal-ready .inv-hero.is-visible>.inv-hero-scroll{animation-delay:.84s}@keyframes inv-ink{0%{opacity:0;filter:blur(6px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:none}}@keyframes inv-seal{0%{opacity:0;transform:scale(.82)rotate(-8deg)}to{opacity:1;transform:none}}.inv-hero{background:var(--inv-coffee-rich);min-height:min(92svh,46rem);color:var(--inv-text-light);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3.5rem 2rem 3rem;display:flex;position:relative}.inv-hero:before{content:"";border:1px solid color-mix(in srgb, var(--inv-text-light) 26%, transparent);pointer-events:none;border-radius:.35rem;position:absolute;inset:.85rem}.inv-hero-seal{color:var(--inv-text-light);margin-bottom:1.75rem}.inv-hero-names{font-family:var(--inv-script);letter-spacing:0;text-wrap:balance;justify-items:center;margin:0;font-size:clamp(3.1rem,15vw,4.6rem);font-weight:400;line-height:1;display:grid}.inv-hero-amp{opacity:.7;margin:.1em 0 .02em;font-size:.55em}.inv-hero-invite{letter-spacing:.02em;opacity:.9;margin:1.5rem 0 0;font-size:1.2rem;font-style:italic}.inv-hero-group{letter-spacing:.18em;text-transform:uppercase;text-wrap:balance;max-width:22rem;margin:.35rem 0 0;font-size:1.05rem;font-weight:600;line-height:1.45}.inv-hero-date{letter-spacing:.16em;font-variant-numeric:lining-nums tabular-nums;align-items:center;gap:.9rem;margin:1.75rem 0 0;font-size:1.35rem;font-weight:600;display:flex}.inv-hero-date:before,.inv-hero-date:after{content:"";background:color-mix(in srgb, var(--inv-text-light) 45%, transparent);width:2.25rem;height:1px}.monogram{--monogram-size:4.5rem;width:var(--monogram-size);height:var(--monogram-size);font-family:Great Vibes,cursive;font-size:calc(var(--monogram-size) * .4);border:1px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;gap:.02em;font-weight:400;line-height:1;display:inline-flex;position:relative}.monogram:after{content:"";opacity:.4;border:1px solid;border-radius:50%;position:absolute;inset:3px}.monogram-amp{opacity:.7;font-size:.58em;transform:translateY(.08em)}.monogram--sm{--monogram-size:2.5rem}.monogram--md{--monogram-size:3.25rem}.monogram--lg{--monogram-size:5rem}.invitation-page--state{place-items:center;padding:2rem 1.5rem;display:grid}.inv-state{text-align:center;max-width:26rem;color:var(--inv-coffee-deep);justify-items:center;gap:.85rem;display:grid}.inv-state-seal{margin-bottom:.5rem}.inv-state-seal--pulse{animation:1.8s ease-in-out infinite inv-seal-pulse}@keyframes inv-seal-pulse{0%,to{opacity:.45;transform:scale(.97)}50%{opacity:1;transform:scale(1)}}.inv-state-title{font-family:var(--inv-serif);text-wrap:balance;margin:0;font-size:1.9rem;font-style:italic;font-weight:600;line-height:1.2}.inv-state-text{margin:0;font-size:1.15rem}.inv-state-hint{color:var(--inv-muted);text-wrap:pretty;margin:0 0 .5rem}.inv-rsvp-bar{left:50%;bottom:max(1rem, env(safe-area-inset-bottom));z-index:50;opacity:0;pointer-events:none;transition:opacity .3s ease, transform .45s var(--inv-ease);position:fixed;transform:translate(-50%,1.5rem)}.inv-rsvp-bar.is-shown{opacity:1;pointer-events:auto;transform:translate(-50%)}.inv-rsvp-bar .inv-btn{--inv-focus:var(--inv-coffee-deep);box-shadow:0 10px 30px #140e0859, 0 0 0 1px color-mix(in srgb, var(--inv-text-light) 22%, transparent) inset;margin:0}.inv-photo-section{background:var(--inv-cream);padding:0 0 1.5rem}.inv-photo-title{font-family:var(--inv-script);letter-spacing:0;text-align:center;text-wrap:balance;color:var(--inv-coffee-deep);margin:0;padding:1.75rem 1.25rem 1.25rem;font-size:clamp(3.1rem,15vw,4.6rem);font-weight:400;line-height:1.1}.inv-couple-photo{width:100%;overflow:hidden}.inv-couple-subtitle{max-width:24rem;color:var(--inv-coffee-deep);letter-spacing:.16em;text-align:center;text-transform:uppercase;text-wrap:balance;opacity:.85;margin:1rem auto 0;padding:0 1.25rem;font-size:.8rem;font-weight:600;line-height:1.5}.inv-couple-photo img{object-fit:cover;width:100%;height:auto;display:block}.inv-music-player{color:var(--inv-muted);justify-content:center;align-items:center;gap:.75rem;padding:1rem 1.5rem 0;font-size:1rem;display:flex}.inv-music-btn{border:1px solid var(--inv-olive);width:2.75rem;height:2.75rem;color:var(--inv-olive);cursor:pointer;transition:background .2s ease, transform .14s var(--inv-ease);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.inv-music-btn:hover{background:color-mix(in srgb, var(--inv-olive) 12%, transparent)}.inv-music-btn:active{transform:scale(.94)}.inv-green-block{background:var(--inv-coffee-rich);color:var(--inv-text-light);text-align:center;padding:2rem 1.5rem}.inv-countdown{text-align:center;margin-bottom:2rem}.inv-countdown-label{letter-spacing:.2em;text-transform:uppercase;margin:0 0 1rem;font-size:1rem}.inv-countdown-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.inv-countdown-unit{gap:.25rem;display:grid}.inv-countdown-value{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"tnum" 1;font-size:clamp(1.5rem,6vw,2rem);font-weight:600;line-height:1}.inv-countdown-name{letter-spacing:.08em;text-transform:uppercase;opacity:.95;font-size:.88rem;font-weight:600}.inv-calendar{max-width:18rem;margin:0 auto}.inv-calendar-header{text-align:center;margin-bottom:1.1rem}.inv-calendar-weekday{letter-spacing:.2em;text-transform:uppercase;opacity:.95;margin:0;font-size:.8rem;font-weight:600}.inv-calendar-day-num{font-family:var(--inv-script);margin:.1rem 0 0;font-size:clamp(2.75rem,11vw,3.75rem);font-weight:400;line-height:1}.inv-calendar-month-year{text-transform:lowercase;margin:.2rem 0 0;font-size:1.05rem}.inv-calendar-month-year:first-letter{text-transform:uppercase}.inv-calendar-time{border-top:1px solid #ffffff38;flex-direction:column;align-items:center;gap:.15rem;margin:.9rem 0 0;padding-top:.9rem;display:flex}.inv-calendar-time-label{letter-spacing:.16em;text-transform:uppercase;opacity:.92;font-size:.78rem;font-weight:600}.inv-calendar-time-value{letter-spacing:.03em;font-size:1.2rem;font-weight:600}.inv-calendar-weekdays,.inv-calendar-days{text-align:center;grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.inv-calendar-weekdays{opacity:.92;margin-bottom:.35rem;font-size:.9rem;font-weight:600}.inv-calendar-day{aspect-ratio:1;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"tnum" 1;place-items:center;font-size:.95rem;display:grid;position:relative}.inv-calendar-day--wedding{font-weight:700}.inv-calendar-heart{color:var(--inv-text-light);opacity:.55;pointer-events:none;place-items:center;font-size:1.6rem;display:grid;position:absolute;inset:-.15rem}.inv-calendar-heart .inv-icon-svg{color:var(--inv-text-light)}.inv-events{padding:2rem 1.5rem}.inv-venue{text-align:center;background:var(--inv-coffee-card);border:1px solid var(--inv-coffee-border);border-radius:.85rem;max-width:34rem;margin:0 auto;padding:1.75rem 1.5rem 1.5rem}.inv-venue-title{font-family:var(--inv-serif);letter-spacing:.02em;color:var(--inv-coffee-deep);text-wrap:balance;margin:0 0 1.25rem;font-size:1.45rem;font-style:italic;font-weight:600}.inv-venue-facts{margin:0;display:grid}.inv-venue-fact{align-content:start;gap:.2rem;padding:1rem .5rem;display:grid}.inv-venue-fact+.inv-venue-fact{border-top:1px solid color-mix(in srgb, var(--inv-coffee-border) 70%, transparent)}.inv-venue-fact dt{color:var(--inv-muted);justify-content:center;align-items:center;gap:.4rem;font-size:.95rem;font-weight:600;display:inline-flex}.inv-venue-fact dd{margin:0}.inv-venue-value{font-family:var(--inv-serif);color:var(--inv-coffee-deep);font-variant-numeric:lining-nums;text-wrap:balance;font-size:1.9rem;font-weight:600;line-height:1.15}.inv-venue-city{color:var(--inv-muted);font-size:1.05rem;font-weight:500}.inv-btn.inv-venue-cta{border-radius:999px;gap:.55rem;width:100%;min-height:3.25rem;margin-top:.75rem;font-size:1.1rem}@media (width>=40rem){.inv-venue{padding:2rem 2.25rem 1.75rem}.inv-venue-facts{grid-template-columns:1fr 1fr}.inv-venue-fact+.inv-venue-fact{border-top:0;border-left:1px solid color-mix(in srgb, var(--inv-coffee-border) 70%, transparent)}.inv-btn.inv-venue-cta{width:auto;padding-inline:2.25rem}}.inv-event-icon{place-items:center;margin-bottom:.5rem;display:grid}.inv-icon-svg{color:var(--inv-olive);flex-shrink:0}.inv-icon-svg--light{color:var(--inv-text-light)}.inv-itinerary,.inv-dress,.inv-info{text-align:center;padding:2rem 1.5rem}.inv-timeline{max-width:36rem;margin:2rem auto 0;padding:0;list-style:none;position:relative}.inv-timeline:before{content:"";background:color-mix(in srgb, var(--inv-olive) 55%, transparent);width:1px;position:absolute;top:.75rem;bottom:.75rem;left:50%;transform:translate(-50%)}.inv-timeline-item{grid-template-rows:1fr;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:1rem;padding:.85rem 0;display:grid}.inv-timeline-icon,.inv-timeline-text{grid-row:1}.inv-timeline-item:nth-child(odd) .inv-timeline-icon{grid-column:1;justify-self:end}.inv-timeline-item:nth-child(odd) .inv-timeline-text{text-align:left;grid-column:3;justify-self:start}.inv-timeline-item:nth-child(2n) .inv-timeline-icon{grid-column:3;justify-self:start}.inv-timeline-item:nth-child(2n) .inv-timeline-text{text-align:right;grid-column:1;justify-self:end}.inv-timeline-heart{z-index:1;width:1.5rem;height:1.5rem;color:var(--inv-olive);background:var(--inv-cream);grid-area:1/2;align-self:center;place-items:center;display:grid;position:relative}.inv-timeline-heart .inv-icon-svg{fill:currentColor;color:var(--inv-olive)}.inv-timeline-icon{justify-content:center;align-self:center;align-items:center;min-height:2.75rem;padding:0 .25rem;display:flex}.inv-itinerary-icon{color:var(--inv-olive);place-items:center;display:grid}.inv-itinerary-icon .inv-icon-svg{color:var(--inv-olive)}.inv-timeline-text{flex-direction:column;justify-content:center;align-self:center;gap:.1rem;min-height:2.75rem;padding:0 .25rem;display:flex}.inv-timeline-label{color:var(--inv-olive);font-size:1.15rem;font-weight:600;line-height:1.2;display:block}.inv-timeline-time{color:color-mix(in srgb, var(--inv-olive) 75%, var(--inv-muted));font-size:1rem;line-height:1.2;display:block}.inv-dress-grid{gap:1.25rem;max-width:52rem;margin:0 auto;display:grid}.inv-dress-card{border:1px solid var(--inv-coffee-border);background:var(--inv-coffee-card);border-radius:.85rem;padding:1.25rem 1rem}.inv-dress-icon{background:color-mix(in srgb, var(--inv-coffee) 70%, white);border:1px solid var(--inv-coffee-border);border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;margin:0 auto .5rem;display:inline-flex}.inv-dress-label{letter-spacing:.06em;text-transform:uppercase;color:var(--inv-muted);margin:0 0 .35rem;font-size:.9rem;font-weight:600}.inv-dress-style{color:var(--inv-coffee-deep);margin:0;font-size:1.2rem;font-weight:600}.inv-dress-details{color:var(--inv-muted);margin:.5rem 0 0;font-size:1rem;line-height:1.5}.inv-dress-kids{border:1px dashed var(--inv-coffee-border);background:color-mix(in srgb, var(--inv-coffee-card) 55%, var(--inv-coffee));text-align:left;border-radius:.85rem;grid-template-columns:auto 1fr;align-items:start;gap:.85rem;max-width:52rem;margin:1.25rem auto 0;padding:1rem 1.1rem;display:grid}.inv-dress-kids-icon{border:1px solid var(--inv-coffee-border);background:color-mix(in srgb, var(--inv-coffee) 70%, white);width:2.75rem;height:2.75rem;color:var(--inv-coffee-deep);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.inv-dress-kids-title{color:var(--inv-coffee-deep);margin:.1rem 0 .2rem;font-size:1.15rem;font-style:italic;font-weight:600}.inv-dress-kids-text{color:var(--inv-muted);text-wrap:pretty;margin:0;font-size:1.02rem;line-height:1.5}.inv-dress-carousel{margin-top:1.1rem;container-type:inline-size}.inv-dress-viewport{position:relative}.inv-dress-track{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:.65rem;gap:.6rem;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.inv-dress-track::-webkit-scrollbar{display:none}.inv-dress-track:focus-visible{outline:2px solid var(--inv-focus);outline-offset:3px}.inv-dress-slide{scroll-snap-align:start;flex:0 0 100%;min-width:0}.inv-dress-slide:first-child{margin-inline-start:auto}.inv-dress-slide:last-child{margin-inline-end:auto}@container (width>=30rem){.inv-dress-slide{flex-basis:calc(50% - .3rem)}}@container (width>=44rem){.inv-dress-slide{flex-basis:calc(33.3333% - .4rem)}}.inv-dress-photo{border:1px solid var(--inv-coffee-border);background:color-mix(in srgb, var(--inv-coffee-dark) 45%, white);cursor:zoom-in;border-radius:.65rem;width:100%;padding:0;line-height:0;display:block;overflow:hidden}.inv-dress-photo img{aspect-ratio:3/4;object-fit:cover;width:100%;transition:transform .4s var(--inv-ease);display:block}.inv-dress-photo:hover img{transform:scale(1.03)}.inv-dress-arrow{border:1px solid var(--inv-coffee-border);background:color-mix(in srgb, var(--inv-frame) 92%, transparent);width:2.25rem;height:2.25rem;color:var(--inv-coffee-deep);cursor:pointer;border-radius:50%;place-items:center;transition:background .18s,opacity .18s,box-shadow .18s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 3px 10px #140e0838}.inv-dress-arrow .inv-icon-svg{color:var(--inv-coffee-deep)}.inv-dress-arrow:hover:not(:disabled){background:var(--inv-frame);box-shadow:0 5px 14px #140e0847}.inv-dress-arrow:disabled{opacity:.35;cursor:default;box-shadow:none}.inv-dress-arrow--prev{left:.5rem}.inv-dress-arrow--next{right:.5rem}.inv-dress-caption{color:var(--inv-muted);margin:.75rem 0 0;font-size:.95rem;font-style:italic;line-height:1.4}.inv-dress-dots{justify-content:center;align-items:center;margin-top:.15rem;display:flex}.inv-dress-dot{cursor:pointer;background:0 0;border:none;place-items:center;width:1.5rem;height:2.75rem;padding:0;display:grid}.inv-dress-dot:before{content:"";background:color-mix(in srgb, var(--inv-coffee-deep) 30%, transparent);width:.4rem;height:.4rem;transition:width .24s var(--inv-ease), background .24s ease;border-radius:999px}.inv-dress-dot.is-active:before{background:var(--inv-coffee-deep);width:1.15rem}@media (width>=640px){.inv-dress-grid{gap:1.5rem}.inv-dress-card{padding:1.5rem 1.5rem 1.25rem}}.inv-gifts{background:var(--inv-coffee-rich);color:var(--inv-text-light);text-align:center;padding:3.25rem 1.5rem 2.75rem}.inv-gifts .inv-script-title{color:var(--inv-text-light);margin-bottom:1.15rem}.inv-gifts-icon{background:color-mix(in srgb, var(--inv-text-light) 12%, transparent);border:1px solid color-mix(in srgb, var(--inv-text-light) 25%, transparent);border-radius:50%;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;margin:.25rem auto .85rem;display:inline-flex}.inv-gifts-intro{opacity:.92;max-width:22rem;margin:0 auto 2.25rem;line-height:1.55}.inv-gifts--envelopes .inv-script-title{margin-bottom:1.75rem}.inv-envelope-wrap{justify-items:center;gap:1.75rem;max-width:22rem;margin:0 auto;display:grid}.inv-envelope{--env-pocket:7.25rem;--env-kraft:#b99f7b;--env-kraft-shade:#a88d69;isolation:isolate;filter:drop-shadow(0 14px 22px #18100852);width:100%;padding:1.25rem 0 0;position:relative}.inv-envelope-back{height:calc(var(--env-pocket) + 2.75rem);background:var(--env-kraft-shade);z-index:-2;border-radius:.35rem;position:absolute;inset:auto 0 0}.inv-envelope-flap{left:0;right:0;bottom:calc(var(--env-pocket) + 2.75rem - 1px);background:var(--env-kraft);clip-path:polygon(0 100%,50% 0,100% 100%);z-index:-1;height:5.25rem;position:absolute}.inv-envelope-letter{padding:1.6rem 1.4rem calc(var(--env-pocket) + .5rem);background:linear-gradient(180deg, #ffffff8c, transparent 40%), var(--inv-frame);color:var(--inv-text);border-radius:.2rem;margin:0 7%;position:relative;box-shadow:0 -2px 10px #281a0c24}.inv-envelope-letter:before{content:"";inset:.55rem;bottom:calc(var(--env-pocket) - 1.5rem);border:1px solid color-mix(in srgb, var(--inv-coffee-border) 45%, transparent);pointer-events:none;border-radius:.1rem;position:absolute}.inv-envelope-message{font-family:var(--inv-serif);text-wrap:pretty;color:var(--inv-text);margin:0;font-size:1.14rem;font-style:italic;line-height:1.55;position:relative}.inv-envelope-pocket{width:100%;height:var(--env-pocket);display:block;position:absolute;inset:auto 0 0;overflow:visible}.inv-envelope-pocket-side{fill:var(--inv-coffee-card)}.inv-envelope-pocket-front{fill:var(--inv-coffee);stroke:color-mix(in srgb, var(--inv-coffee-border) 70%, transparent);stroke-width:1px;vector-effect:non-scaling-stroke}.inv-envelope-seal{left:50%;bottom:calc(var(--env-pocket) * .56);background:radial-gradient(circle at 35% 30%, #5d6a45, var(--inv-olive) 60%, #39422a);color:var(--inv-text-light);border-radius:50%;place-items:center;padding:.3rem;display:grid;position:absolute;transform:translate(-50%,50%);box-shadow:0 3px 8px #18100859,inset 0 1px 1px #ffffff2e}.inv-envelope-seal .monogram{--monogram-size:2.85rem;border-color:color-mix(in srgb, var(--inv-text-light) 55%, transparent)}.reveal-ready .inv-gifts--envelopes .inv-envelope-letter{clip-path:inset(-3rem -2rem 42%);transition:transform 1.1s var(--inv-ease) .35s, clip-path 1.1s var(--inv-ease) .35s;transform:translateY(42%)}.reveal-ready .inv-gifts--envelopes.is-visible .inv-envelope-letter{clip-path:inset(-3rem -2rem 0);transform:translateY(0)}.reveal-ready .inv-gifts--envelopes .inv-envelope-seal{opacity:0;transition:opacity .5s ease .2s, transform .6s var(--inv-ease) .2s;transform:translate(-50%,50%)scale(1.25)}.reveal-ready .inv-gifts--envelopes.is-visible .inv-envelope-seal{opacity:1;transform:translate(-50%,50%)scale(1)}.inv-envelope-accounts{text-align:left;width:100%}.inv-envelope-accounts-title{text-align:center;font-family:var(--inv-serif);letter-spacing:.02em;margin:0 0 .7rem;font-size:1.12rem;font-style:italic;font-weight:600}.inv-envelope-accounts ul{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.inv-envelope-account{border:1px solid color-mix(in srgb, var(--inv-text-light) 22%, transparent);background:color-mix(in srgb, var(--inv-text-light) 7%, transparent);border-radius:.85rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .7rem .7rem 1rem;display:flex}.inv-envelope-account-copy{gap:.15rem;min-width:0;display:grid}.inv-envelope-account-label{color:color-mix(in srgb, var(--inv-text-light) 86%, var(--inv-coffee));font-size:.92rem;line-height:1.3}.inv-envelope-account-value{font-family:var(--inv-serif);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1, "tnum" 1;letter-spacing:.02em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-size:1.2rem;font-weight:600}.inv-envelope-copy{border:1px solid color-mix(in srgb, var(--inv-text-light) 40%, transparent);min-height:2.75rem;color:var(--inv-text-light);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;align-items:center;gap:.35rem;padding:0 .95rem;font-size:.92rem;font-weight:600;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.inv-envelope-copy:hover{background:color-mix(in srgb, var(--inv-text-light) 12%, transparent)}.inv-envelope-copy.is-copied{background:var(--inv-text-light);border-color:var(--inv-text-light);color:var(--inv-coffee-deep)}.inv-gifts-divider{max-width:34rem;font-family:var(--inv-serif);align-items:center;gap:.9rem;margin:2.75rem auto 1.5rem;font-size:1.1rem;font-style:italic;line-height:1.4;display:flex}.inv-gifts-divider:before,.inv-gifts-divider:after{content:"";background:color-mix(in srgb, var(--inv-text-light) 32%, transparent);flex:2rem;height:1px}.inv-gifts-divider span{text-wrap:balance;flex:0 auto;max-width:17rem}.inv-gifts-grid{gap:1.25rem;max-width:18rem;margin:0 auto;display:grid}.inv-gifts-sections{gap:1rem;max-width:34rem;margin:0 auto;display:grid}.inv-gifts-accordion{border:1px solid color-mix(in srgb, var(--inv-text-light) 22%, transparent);background:color-mix(in srgb, var(--inv-text-light) 6%, transparent);text-align:left;border-radius:1rem;overflow:hidden}.inv-gifts-accordion-trigger{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:center;gap:.85rem;width:100%;min-height:3.25rem;padding:1rem 1.1rem;list-style:none;transition:background-color .18s;display:flex}.inv-gifts-accordion-trigger::-webkit-details-marker{display:none}.inv-gifts-accordion-trigger::marker{content:""}.inv-gifts-accordion-trigger:hover{background:color-mix(in srgb, var(--inv-text-light) 8%, transparent)}.inv-gifts-accordion-trigger:focus-visible{outline:2px solid color-mix(in srgb, var(--inv-text-light) 55%, transparent);outline-offset:-2px}.inv-gifts-accordion-leading{gap:.45rem;min-width:0;display:grid}.inv-gifts-accordion-head{flex-wrap:wrap;align-items:center;gap:.55rem .75rem;display:flex}.inv-gifts-accordion-title{font-family:var(--inv-serif);letter-spacing:.03em;color:var(--inv-text-light);font-size:1.2rem;font-style:italic;font-weight:600;line-height:1.25}.inv-gifts-accordion-badge{background:color-mix(in srgb, var(--inv-text-light) 16%, transparent);border:1px solid color-mix(in srgb, var(--inv-text-light) 32%, transparent);border-radius:999px;flex-shrink:0;align-items:center;gap:.4rem;padding:.28rem .7rem .28rem .55rem;display:inline-flex}.inv-gifts-accordion-count{min-width:1.35rem;font-family:var(--inv-serif);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1, "tnum" 1;letter-spacing:0;color:var(--inv-text-light);justify-content:center;align-items:center;font-size:1.3rem;font-style:normal;font-weight:700;line-height:1;display:inline-flex}.inv-gifts-accordion-count-label{font-family:var(--inv-serif);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--inv-text-light) 92%, transparent);font-size:.86rem;font-weight:600;line-height:1}.inv-gifts-accordion-hint{opacity:.95;font-size:.95rem;line-height:1.4}.inv-gifts-accordion-chevron{opacity:.85;flex-shrink:0;transition:transform .22s}.inv-gifts-accordion[open] .inv-gifts-accordion-chevron{transform:rotate(180deg)}.inv-gifts-accordion-panel{text-align:center;padding:0 1.1rem 1.25rem;animation:.22s inv-gifts-accordion-open}@keyframes inv-gifts-accordion-open{0%{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translateY(0)}}.inv-gifts-subintro{opacity:.95;max-width:22rem;margin:0 auto 1.25rem;font-size:.98rem;line-height:1.5}.inv-gift-claim-badge{background:color-mix(in srgb, var(--inv-coffee-deep) 14%, var(--inv-coffee-card));color:var(--inv-coffee-deep);border-radius:999px;margin:.65rem 0 0;padding:.45rem .65rem;font-size:.88rem;font-weight:600;line-height:1.35}.inv-gift-card--claimed{opacity:.92}.inv-gift-actions{margin-top:.85rem}.inv-gift-claim-form{gap:.75rem;display:grid}.inv-gift-guest-picker-label{opacity:.95;margin:0 0 .45rem;font-size:.92rem}.inv-gift-guest-options{flex-wrap:wrap;justify-content:center;gap:.45rem;display:flex}.inv-gift-guest-option{border:1px solid var(--inv-coffee-border);background:var(--inv-coffee);min-height:2.75rem;color:var(--inv-text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;padding:.4rem 1.05rem;font-size:.92rem;font-weight:600;transition:background .18s,border-color .18s;display:inline-flex}.inv-gift-guest-option:hover{border-color:var(--inv-coffee-deep);background:color-mix(in srgb, var(--inv-coffee) 85%, white)}.inv-gift-guest-option.selected{background:var(--inv-coffee-card);border-color:var(--inv-coffee-deep);color:var(--inv-coffee-deep);box-shadow:inset 0 0 0 1px var(--inv-coffee-deep)}.inv-gift-claim-buttons{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.inv-gift-error{color:#ffd5d5;margin:.65rem 0 0;font-size:.92rem;font-weight:600;line-height:1.35}.inv-gift-card{background:var(--inv-coffee-card);border:1px solid var(--inv-coffee-border);color:var(--inv-text);border-radius:.85rem;flex-direction:column;padding:0;text-decoration:none;display:flex;overflow:hidden}.inv-gift-card--link{transition:background .2s,transform .2s}.inv-gift-card--link:hover{background:color-mix(in srgb, var(--inv-coffee-card) 85%, white);transform:translateY(-1px)}.inv-gift-card-link{color:inherit;flex-direction:column;text-decoration:none;transition:background .2s;display:flex}.inv-gift-card-link:hover{background:color-mix(in srgb, var(--inv-coffee-card) 92%, white)}.inv-gift-body--preview{padding-bottom:.75rem}.inv-gift-body--actions{padding-top:0}.inv-gift-image,.inv-gift-placeholder{aspect-ratio:4/3;background:color-mix(in srgb, var(--inv-coffee-dark) 55%, white);border-radius:0;width:100%;overflow:hidden}.inv-gift-image img{object-fit:contain;width:100%;height:100%;display:block}.inv-gift-placeholder{place-items:center;font-size:1.5rem;display:grid}.inv-gift-body{text-align:center;padding:1rem 1.1rem 1.15rem}.inv-gift-body h3{font-family:var(--inv-serif);color:var(--inv-coffee-deep);margin:0 0 .35rem;font-size:1.2rem;font-weight:600}.inv-gift-body p{color:var(--inv-muted);margin:0;font-size:.98rem;line-height:1.45}.inv-rsvp-block{padding-top:2rem;padding-bottom:2.5rem}.inv-rsvp-message,.inv-rsvp-deadline,.inv-rsvp-hint{text-align:center;margin:0 0 .75rem}.inv-rsvp-hint--light{opacity:.9}.inv-guest-card{background:var(--inv-coffee-card);border:1px solid var(--inv-coffee-border);color:var(--inv-text);border-radius:.85rem;gap:.75rem;margin-top:1rem;padding:1rem;display:grid}.inv-guest-head{text-align:center;justify-items:center;gap:.5rem;display:grid}.inv-guest-avatar-btn{cursor:zoom-in;background:0 0;border:none;border-radius:999px;padding:0;line-height:0;display:block;position:relative}.inv-guest-avatar-btn:after{content:"";opacity:0;background:#0000001f;border-radius:999px;transition:opacity .15s;position:absolute;inset:0}.inv-guest-avatar-btn:hover:after,.inv-guest-avatar-btn:focus-visible:after{opacity:1}.inv-guest-avatar-btn:focus-visible{outline:2px solid var(--inv-coffee-deep);outline-offset:3px}.inv-guest-avatar{object-fit:cover;border:3px solid var(--inv-coffee-border);border-radius:999px;width:4.5rem;height:4.5rem;box-shadow:0 4px 16px #3d34281f}.inv-guest-head h3{font-family:var(--inv-serif);letter-spacing:.02em;color:var(--inv-coffee-deep);margin:0 0 .35rem;font-size:1.5rem;font-weight:600}.inv-badge{letter-spacing:.04em;text-transform:uppercase;background:color-mix(in srgb, var(--inv-coffee-deep) 16%, var(--inv-coffee-card));color:var(--inv-coffee-deep);border-radius:999px;padding:.22rem .7rem;font-size:.85rem;font-weight:700;display:inline-block}.inv-badge--aceptado{background:color-mix(in srgb, var(--inv-coffee-deep) 24%, var(--inv-coffee-card))}.inv-badge--rechazado{background:color-mix(in srgb, var(--inv-coffee-deep) 8%, var(--inv-coffee-card))}.inv-guest-status{text-align:center;margin:0}.inv-menu-grid{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:.65rem;display:grid}.inv-menu-option{border:1px solid var(--inv-coffee-border);background:color-mix(in srgb, var(--inv-coffee) 65%, white);width:100%;color:var(--inv-text);text-align:left;cursor:pointer;border-radius:.65rem;grid-template-columns:4.5rem 1fr;align-items:center;gap:.65rem;padding:.55rem;transition:border-color .18s,background .18s,box-shadow .18s;display:grid}.inv-menu-option:hover{border-color:var(--inv-coffee-deep);background:color-mix(in srgb, var(--inv-coffee) 85%, white)}.inv-menu-option.selected{border-color:var(--inv-coffee-deep);background:color-mix(in srgb, var(--inv-coffee-deep) 12%, var(--inv-coffee-card));box-shadow:inset 0 0 0 1px var(--inv-coffee-deep)}.inv-menu-option-image,.inv-menu-option-placeholder{background:color-mix(in srgb, var(--inv-coffee-dark) 50%, white);border-radius:.45rem;width:4.5rem;height:4.5rem;overflow:hidden}.inv-menu-option-image img{object-fit:cover;width:100%;height:100%}.inv-menu-option-image--zoomable{cursor:zoom-in;border:none;padding:0;display:block;position:relative}.inv-menu-option-image--zoomable:after{content:"";opacity:0;background:#00000014;transition:opacity .15s;position:absolute;inset:0}.inv-menu-option-image--zoomable:hover:after,.inv-menu-option-image--zoomable:focus-visible:after{opacity:1}.inv-menu-option-image--zoomable:focus-visible{outline-offset:2px;outline:2px solid #ffffffbf}.inv-menu-option-placeholder{place-items:center;display:grid}.inv-menu-option-body strong{font-size:1.05rem;font-weight:600;display:block}.inv-menu-option-body small{color:var(--inv-muted);margin-top:.15rem;font-size:.9rem;line-height:1.4;display:block}.inv-guest-card .inv-btn--outline.inv-btn--light,.inv-gift-card .inv-btn--outline.inv-btn--light{border-color:var(--inv-coffee-deep);color:var(--inv-coffee-deep)}.inv-guest-card .inv-btn--outline.inv-btn--light:hover:not(:disabled),.inv-gift-card .inv-btn--outline.inv-btn--light:hover:not(:disabled){background:color-mix(in srgb, var(--inv-coffee-deep) 10%, transparent);border-color:var(--inv-coffee-deep)}.inv-guest-card .inv-btn--ghost,.inv-guest-card .inv-btn--ghost.inv-btn--light,.inv-gift-card .inv-btn--ghost.inv-btn--light{color:var(--inv-muted)}.inv-guest-card,.inv-gift-card,.inv-menu-option{--inv-focus:var(--inv-coffee-deep)}.inv-rsvp-change{text-align:center;color:var(--inv-muted);margin:.25rem 0 0;font-size:1rem}.inv-rsvp-change-link{min-height:2.75rem;font:inherit;color:var(--inv-coffee-deep);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 .15rem;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;transition:text-decoration-thickness .15s;display:inline-flex}.inv-rsvp-change-link:hover{text-decoration-thickness:2px}.inv-rsvp-change-link:focus-visible{outline:2px solid var(--inv-focus);outline-offset:2px;border-radius:.2rem}.inv-rsvp-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.inv-btn{min-height:2.75rem;font-family:var(--inv-serif);cursor:pointer;transition:background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .14s var(--inv-ease);border-radius:.45rem;justify-content:center;align-items:center;padding:.6rem 1.2rem;font-size:1.02rem;font-weight:600;text-decoration:none;display:inline-flex}.inv-btn:active:not(:disabled){transform:translateY(1px)}.inv-btn:disabled{opacity:.6;cursor:not-allowed}.inv-btn--filled{border:1px solid var(--inv-coffee-deep);background:var(--inv-coffee-deep);color:var(--inv-text-light);letter-spacing:.02em;padding-inline:1.7rem;box-shadow:0 6px 18px #140e0842}.inv-btn--filled:hover:not(:disabled){background:color-mix(in srgb, var(--inv-coffee-deep) 88%, black);border-color:color-mix(in srgb, var(--inv-coffee-deep) 88%, black);box-shadow:0 10px 26px #140e0852}.inv-beckon{--beckon-reach-y:1.35rem;--beckon-reach-x:1.9rem;--beckon-radius:999px;--beckon-breath:1.035;isolation:isolate;display:inline-flex;position:relative}.inv-beckon>.inv-btn,.inv-beckon>input{animation:inv-beckon-breath 3.6s var(--inv-ease) 1.4s infinite}.inv-beckon>.inv-btn{z-index:1;position:relative}.inv-beckon:before,.inv-beckon:after{content:"";z-index:-1;border-radius:var(--beckon-radius);box-shadow:inset 0 1.5px 0 #fffcf5e6, inset 0 -1px 0 color-mix(in srgb, var(--inv-coffee-deep) 45%, transparent), 0 0 0 1px color-mix(in srgb, var(--inv-coffee-deep) 38%, transparent);opacity:0;pointer-events:none;animation:inv-beckon-wave 3.6s var(--inv-ease) 1.5s infinite;background:radial-gradient(120% 90% at 50% 20%,#fffaf066,#fffaf01a 60%,#fffaf000 100%);position:absolute;inset:0}.inv-beckon:after{animation-delay:1.95s}.inv-beckon--check{--beckon-reach-y:.95rem;--beckon-reach-x:.95rem;--beckon-radius:.9rem;--beckon-breath:1.1;display:grid}@keyframes inv-beckon-breath{0%,22%,to{transform:scale(1)}8%{transform:scale(var(--beckon-breath))}}@keyframes inv-beckon-wave{0%{opacity:0;inset:0}6%{opacity:1}58%,to{inset:calc(-1 * var(--beckon-reach-y)) calc(-1 * var(--beckon-reach-x));opacity:0}}.inv-beckon:is(:hover,:focus-within,:has(:disabled))>*,.inv-beckon:is(:hover,:focus-within,:has(:disabled)):before,.inv-beckon:is(:hover,:focus-within,:has(:disabled)):after{animation:none}.inv-rsvp-block.is-offscreen .inv-beckon>*,.inv-rsvp-block.is-offscreen .inv-beckon:before,.inv-rsvp-block.is-offscreen .inv-beckon:after{animation-play-state:paused}:is(.inv-rsvp-actions:has(.inv-beckon),.inv-confirm-actions:has(.inv-beckon)){gap:.75rem .9rem;padding-block:.35rem .6rem}@media (prefers-reduced-motion:reduce){.inv-beckon>*,.inv-beckon:after{animation:none}.inv-beckon:before{opacity:.8;animation:none;inset:-.4rem -.55rem}.inv-beckon--check:before{inset:-.3rem}}.inv-btn--outline{border:1.5px solid var(--inv-olive);color:var(--inv-olive);background:0 0}.inv-btn--outline:hover:not(:disabled){background:color-mix(in srgb, var(--inv-olive) 10%, transparent);border-color:color-mix(in srgb, var(--inv-olive) 80%, black)}.inv-btn--outline.inv-btn--light{color:var(--inv-text-light);border-color:#ffffffd9}.inv-btn--outline.inv-btn--light:hover:not(:disabled){background:color-mix(in srgb, var(--inv-text-light) 14%, transparent);border-color:var(--inv-text-light)}.inv-btn--ghost{color:var(--inv-text-light);opacity:.95;background:0 0;border:none}.inv-btn--ghost:hover:not(:disabled){opacity:1;background:color-mix(in srgb, currentColor 12%, transparent)}.inv-btn--pill{border-radius:999px;margin-top:.5rem}.inv-hero-scroll{letter-spacing:.08em;opacity:.85;justify-items:center;gap:.2rem;margin:1.6rem 0 0;font-size:.95rem;display:grid}.inv-hero-scroll .inv-icon-svg{color:currentColor;animation:inv-scroll-nudge 2.4s var(--inv-ease) 1.6s infinite}@keyframes inv-scroll-nudge{0%,60%,to{transform:translateY(0)}30%{transform:translateY(5px)}}.inv-confirm{text-align:left;animation:inv-confirm-in .45s var(--inv-ease);gap:1.35rem;display:grid}.inv-confirm:focus{outline:none}.inv-confirm-banner{background:var(--inv-coffee-deep);color:var(--inv-text-light);--inv-focus:var(--inv-text-light);gap:.75rem;margin-inline:-1rem;padding:1rem 1rem 1.05rem;display:grid}.inv-confirm-title{text-wrap:balance;margin:0;font-size:1.3rem;font-style:italic;font-weight:600;line-height:1.25}.inv-confirm-pending{gap:.4rem;font-size:.98rem;display:grid}.inv-confirm-pending p{opacity:.88;margin:0}.inv-confirm-pending-links{flex-wrap:wrap;gap:.4rem;display:flex}.inv-confirm-pending-link{border:1px solid color-mix(in srgb, var(--inv-text-light) 55%, transparent);min-height:2.5rem;color:var(--inv-text-light);font-family:var(--inv-serif);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .9rem;font-size:.98rem;font-weight:600;transition:background .2s,border-color .2s}.inv-confirm-pending-link:hover{background:color-mix(in srgb, var(--inv-text-light) 12%, transparent);border-color:var(--inv-text-light)}.inv-check{cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:.8rem;min-height:2.75rem;font-size:1.08rem;font-weight:600;line-height:1.35;display:grid}.inv-check-box{place-items:center;width:1.75rem;height:1.75rem;display:grid;position:relative}.inv-check-box input{appearance:none;color:inherit;cursor:pointer;background:0 0;border:2px solid;border-radius:.4rem;margin:0;transition:background .18s,border-color .18s;position:absolute;inset:0}.inv-check-box .inv-check-mark{pointer-events:none;opacity:0;transition:opacity .18s ease, transform .28s var(--inv-ease);position:relative;transform:scale(.6)}.inv-check-box input:checked+.inv-check-mark{opacity:1;transform:scale(1)}.inv-check-box input:focus-visible{outline:2px solid var(--inv-focus);outline-offset:3px}.inv-confirm-banner .inv-check-box input:checked{background:var(--inv-text-light);border-color:var(--inv-text-light)}.inv-confirm-banner .inv-check-mark,.inv-confirm-dress .inv-check{color:var(--inv-coffee-deep)}.inv-confirm-dress .inv-check-box input:checked{background:var(--inv-coffee-deep);border-color:var(--inv-coffee-deep)}.inv-confirm-dress .inv-check-mark{color:var(--inv-text-light)}.inv-confirm-dress{gap:.35rem;display:grid}.inv-confirm-dress .inv-dress-carousel{margin-block:.75rem .35rem}.inv-confirm-heading{color:var(--inv-coffee-deep);margin:0 0 .25rem;font-size:1.35rem;font-style:italic;font-weight:600}.inv-confirm-dress-kid{color:var(--inv-muted);margin:0 0 .35rem;font-style:italic;line-height:1.45}.inv-confirm-dress-style{color:var(--inv-coffee-deep);margin:0;font-size:1.2rem;font-weight:600;line-height:1.3}.inv-confirm-dress-details{color:var(--inv-muted);text-wrap:pretty;margin:0;line-height:1.5}.inv-confirm-dress-block{gap:.35rem;display:grid}.inv-confirm-dress-block+.inv-confirm-dress-block{border-top:1px solid var(--inv-coffee-border);margin-top:.9rem;padding-top:1rem}.inv-confirm-dress-group{color:var(--inv-coffee-deep);margin:0;font-size:1.1rem;font-weight:700}.inv-confirm-comment{border-top:1px solid var(--inv-coffee-border);gap:.45rem;padding-top:1.25rem;display:grid}.inv-confirm-dress{padding-top:.1rem}.inv-confirm-comment label{color:var(--inv-coffee-deep);font-size:1.08rem;font-weight:600}.inv-confirm-comment label span{color:var(--inv-muted);font-weight:500}.inv-confirm-comment textarea{border:1px solid var(--inv-coffee-border);background:color-mix(in srgb, var(--inv-coffee) 45%, white);width:100%;min-height:5.5rem;color:var(--inv-text);font-family:var(--inv-serif);resize:vertical;caret-color:var(--inv-coffee-deep);border-radius:.6rem;padding:.75rem .85rem;font-size:1.08rem;line-height:1.45;transition:border-color .18s,background .18s}.inv-confirm-comment textarea::placeholder{color:color-mix(in srgb, var(--inv-muted) 85%, transparent);font-style:italic}.inv-confirm-comment textarea:focus{border-color:var(--inv-coffee-deep);background:color-mix(in srgb, var(--inv-coffee) 25%, white);box-shadow:inset 0 0 0 1px var(--inv-coffee-deep);outline:none}.inv-confirm-count{color:var(--inv-muted);text-align:right;margin:0;font-size:.9rem}.inv-decline{text-align:left;animation:inv-confirm-in .45s var(--inv-ease);gap:1rem;display:grid}.inv-decline:focus{outline:none}.inv-decline-title{color:var(--inv-coffee-deep);text-wrap:balance;margin:0;font-size:1.3rem;font-style:italic;font-weight:600;line-height:1.25}.inv-decline-text{color:var(--inv-muted);text-wrap:pretty;margin:-.5rem 0 0;font-size:1.02rem;line-height:1.45}.inv-confirm-comment--plain{border-top:0;padding-top:0}.inv-confirm-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.inv-confirm-actions .inv-btn--filled{flex:14rem}.inv-confirm-actions .inv-btn--filled:disabled{opacity:.42;box-shadow:none}.inv-confirm-missing{min-height:1.4em;color:var(--inv-muted);text-align:center;text-wrap:balance;margin:-.85rem 0 0;font-size:.95rem;font-style:italic}.inv-confirm-missing:empty{display:none}.inv-guest-comment{text-align:center;margin:0}.inv-guest-comment p{text-wrap:pretty;margin:0;font-style:italic;line-height:1.45}.inv-guest-comment p:before{content:"«"}.inv-guest-comment p:after{content:"»"}.inv-guest-comment cite{color:var(--inv-muted);margin-top:.2rem;font-size:.9rem;font-style:normal;display:block}@keyframes inv-confirm-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.inv-edit-anchor{position:relative}.inv-edit-chip{z-index:6;border:1px solid var(--inv-coffee-border);color:var(--inv-coffee-deep);font-family:var(--inv-serif);cursor:pointer;background:#ffffffeb;border-radius:999px;align-items:center;gap:.3rem;padding:.35rem .8rem;font-size:.85rem;font-weight:600;transition:background .15s,transform .15s;display:inline-flex;position:absolute;top:.7rem;right:.7rem;box-shadow:0 2px 8px #140e0833}.inv-edit-chip:hover{background:#fff;transform:scale(1.04)}.inv-edit-chip .inv-icon-svg{color:var(--inv-coffee-deep)}.inv-preview-notice{z-index:60;background:var(--inv-coffee-deep);color:#fff;max-width:min(92vw,26rem);font-family:var(--inv-serif);text-align:center;border-radius:999px;padding:.7rem 1.2rem;font-size:.95rem;animation:.25s ease-out invPreviewNotice;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #140e0859}@keyframes invPreviewNotice{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.inv-info{justify-items:center;gap:1.25rem;display:grid}.inv-info .inv-script-title{margin:0}.inv-info-note{background:var(--inv-coffee-card);border:1px solid var(--inv-coffee-border);width:100%;max-width:34rem;box-shadow:0 10px 28px -18px color-mix(in srgb, var(--inv-coffee-deep) 45%, transparent);border-radius:.85rem;padding:1.5rem 1.35rem .5rem}.inv-info-list{text-align:left;margin:0;padding:0;list-style:none}.inv-info-item{grid-template-columns:auto 1fr;align-items:start;gap:1rem;padding:1.1rem 0;display:grid}.inv-info-item+.inv-info-item{border-top:1px solid color-mix(in srgb, var(--inv-olive) 35%, transparent)}.inv-info-icon{background:color-mix(in srgb, var(--inv-coffee) 70%, white);border:1px solid var(--inv-coffee-border);width:2.75rem;height:2.75rem;color:var(--inv-coffee-deep);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.inv-info-text h3{font-family:var(--inv-serif);color:var(--inv-coffee-deep);margin:.15rem 0 .25rem;font-size:1.2rem;font-weight:600;line-height:1.25}.inv-info-text p{color:var(--inv-muted);text-wrap:pretty;margin:0;font-size:1.02rem;line-height:1.6}.inv-footer{text-align:center;padding:2rem 1.5rem 3rem}.inv-verse{max-width:24rem;margin:0 auto}.inv-verse blockquote{margin:0}.inv-verse p{color:var(--inv-coffee-deep);text-wrap:balance;margin:0;font-size:clamp(1.3rem,4.5vw,1.6rem);font-style:italic;font-weight:500;line-height:1.35}.inv-footer-closing{font-family:var(--inv-script);letter-spacing:0;color:var(--inv-coffee-deep);justify-items:center;gap:1.25rem;margin:1.75rem 0 0;font-size:clamp(2.6rem,12vw,3.4rem);font-weight:400;line-height:1.1;display:grid}.inv-footer-closing:before{content:"";background:color-mix(in srgb, var(--inv-coffee-deep) 35%, transparent);width:3rem;height:1px}.inv-verse figcaption{color:var(--inv-muted);letter-spacing:.14em;text-transform:uppercase;margin-top:.5rem;font-size:.8rem;font-weight:600}@media (width>=640px){.invitation-page{padding:2rem 1.5rem}.invitation-scroll{border-radius:1rem;width:min(560px,100%);overflow:hidden}.inv-couple-photo{border-radius:0 0 .75rem .75rem;max-width:28rem;margin:0 auto;overflow:hidden}.inv-green-block--split{grid-template-columns:1fr 1fr;align-items:center;gap:2rem;display:grid}.inv-countdown{margin-bottom:0}.inv-calendar{max-width:none}.inv-gifts-grid{grid-template-columns:repeat(2,1fr);max-width:none}.inv-info{gap:1.5rem}.inv-info-note{padding:1.9rem 2.25rem .75rem}}@media (width>=900px){.invitation-page{padding:2.5rem 2rem}.invitation-scroll{width:min(820px,100%);box-shadow:0 0 0 1px color-mix(in srgb, var(--inv-coffee-border) 35%, transparent), 0 24px 64px #140e0859}.inv-hero{min-height:40rem;padding:4rem 3rem 3.5rem}.inv-hero:before{inset:1.1rem}.inv-hero-names{font-size:5.5rem}.inv-photo-section{grid-template-columns:1fr auto;align-items:end;gap:1.5rem;padding:2rem 2.5rem 1.5rem;display:grid}.inv-photo-title{grid-column:1/-1;padding:.5rem 0 0;font-size:5.5rem}.inv-photo-section:not(:has(.inv-music-player)) .inv-photo-title{padding:2rem 0 1.5rem}.inv-photo-section:not(:has(.inv-music-player)){padding:0 0 1.5rem;display:block}.inv-photo-section:not(:has(.inv-music-player)) .inv-couple-photo{max-width:32rem;margin:0 auto}.inv-couple-photo{border-radius:.75rem;max-width:none;margin:0}.inv-music-player{flex-direction:column;justify-content:center;align-items:flex-start;min-width:12rem;padding:0}.inv-green-block,.inv-itinerary,.inv-dress,.inv-info{padding:2.5rem}.inv-gifts{padding:3.75rem 2.5rem 3.25rem}.inv-timeline{max-width:40rem}.inv-gifts-intro{max-width:36rem}.inv-gifts-sections{max-width:46rem}.inv-guest-card{max-width:34rem;margin-inline:auto;padding:1.25rem 1.5rem}}@media (width>=1100px){.invitation-scroll{width:min(960px,100%)}.inv-gifts-grid{grid-template-columns:repeat(3,1fr)}}.image-lightbox-backdrop{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#141810d1;justify-content:center;align-items:center;padding:1.25rem;animation:.2s both fade-in;display:flex;position:fixed;inset:0}.image-lightbox-panel{background:var(--inv-cream,#f7f4ee);border-radius:.85rem;width:min(560px,100%);margin:0;animation:.28s cubic-bezier(.22,1,.36,1) both dialog-enter;position:relative;overflow:hidden;box-shadow:0 24px 64px #00000059}.image-lightbox-close{z-index:1;color:#2f2f2f;cursor:pointer;background:#ffffffeb;border:none;border-radius:999px;place-items:center;width:2.25rem;height:2.25rem;display:grid;position:absolute;top:.65rem;right:.65rem;box-shadow:0 2px 10px #0000002e}.image-lightbox-close:hover{background:#fff}.image-lightbox-image{object-fit:contain;background:#ebe6dc;width:100%;max-height:min(70vh,640px);display:block}.image-lightbox-caption{text-align:center;font-family:var(--inv-serif,"Cormorant Garamond", Georgia, serif);gap:.25rem;padding:.9rem 1rem 1.1rem;display:grid}.image-lightbox-caption strong{color:var(--inv-text,#2f2f2f);font-size:1.15rem}.image-lightbox-caption span{color:var(--inv-muted,#6b655c);font-size:.95rem;line-height:1.4}.inv-countdown-grid--3{grid-template-columns:repeat(3,1fr);max-width:18rem;margin-inline:auto}.inv-memories{text-align:center;justify-items:center;gap:1.25rem;padding:2rem 1.5rem 2.5rem;display:grid}.inv-memories .inv-script-title{margin:0}.inv-memory-couple{max-width:30rem;margin:0}.inv-memory-couple blockquote{margin:0}.inv-memory-couple p{color:var(--inv-coffee-deep);white-space:pre-line;text-wrap:pretty;margin:0;font-size:clamp(1.15rem,4vw,1.3rem);font-style:italic;line-height:1.5}.inv-memory-couple figcaption{font-family:var(--inv-script);color:var(--inv-coffee-deep);margin-top:.75rem;font-size:2rem;line-height:1.1}.inv-memory-notice{background:color-mix(in srgb, var(--inv-olive) 14%, transparent);color:var(--inv-olive);border-radius:.6rem;margin:0;padding:.6rem 1rem;font-weight:600}.inv-memory-card{background:var(--inv-coffee-card);border:1px solid var(--inv-coffee-border);width:100%;max-width:30rem;color:var(--inv-text);box-shadow:0 10px 28px -18px color-mix(in srgb, var(--inv-coffee-deep) 45%, transparent);border-radius:.85rem;gap:.75rem;padding:1.35rem 1.25rem;display:grid}.inv-memory-invite{justify-items:center}.inv-memory-invite h3{color:var(--inv-coffee-deep);margin:0;font-size:1.4rem;font-style:italic}.inv-memory-invite p{color:var(--inv-muted);text-wrap:pretty;margin:0}.inv-memory-invite .inv-btn--pill{margin-top:.25rem}.inv-memory-invite-icon{background:color-mix(in srgb, var(--inv-coffee) 70%, white);border:1px solid var(--inv-coffee-border);width:3rem;height:3rem;color:var(--inv-coffee-deep);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.inv-memory-own-status{letter-spacing:.12em;text-transform:uppercase;color:var(--inv-muted);margin:0;font-size:.8rem;font-weight:700}.inv-memory-photo{background:var(--inv-coffee-dark);cursor:zoom-in;border:0;border-radius:.6rem;width:100%;padding:0;display:block;overflow:hidden}.inv-memory-photo img{object-fit:cover;width:100%;max-height:26rem;display:block}.inv-memory-message{white-space:pre-line;overflow-wrap:anywhere;text-wrap:pretty;margin:0;font-size:1.12rem;font-style:italic;line-height:1.5}.inv-memory-signature{color:var(--inv-coffee-deep);margin:0;font-weight:700}.inv-memory-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1rem;display:flex}.inv-memory-actions .inv-btn{gap:.4rem}.inv-memory-actions .inv-btn--pill{margin-top:0}.inv-memory-link{min-height:2.75rem;color:var(--inv-coffee-deep);font:inherit;text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:0 .5rem;font-weight:600;text-decoration:underline;display:inline-flex}.inv-memory-link:disabled{opacity:.6;cursor:not-allowed}.inv-memory-confirm{gap:.5rem;display:grid}.inv-memory-confirm p{margin:0;font-weight:600}.inv-btn--outline.inv-memory-danger{color:#8a3b2a;border-color:#8a3b2a}.inv-memory-form{text-align:left;gap:.6rem;display:grid}.inv-memory-field{color:var(--inv-coffee-deep);font-weight:700;display:block}.inv-memory-textarea{border:1px solid var(--inv-coffee-border);background:color-mix(in srgb, var(--inv-coffee) 55%, white);width:100%;min-height:8rem;color:var(--inv-text);font:inherit;resize:vertical;border-radius:.6rem;padding:.8rem .9rem;font-size:1.08rem;line-height:1.5}.inv-memory-textarea:focus-visible{outline:2px solid var(--inv-focus);outline-offset:2px}.inv-memory-count{text-align:right;color:var(--inv-muted);font-variant-numeric:tabular-nums;margin:-.35rem 0 0;font-size:.85rem}.inv-memory-signers{border:0;flex-wrap:wrap;gap:.5rem;margin:.25rem 0 0;padding:0;display:flex}.inv-memory-signers legend{margin-bottom:.5rem;padding:0}.inv-memory-signer{border:1px solid var(--inv-coffee-border);background:var(--inv-coffee);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;min-height:2.75rem;padding:.35rem 1rem .35rem .75rem;font-weight:600;display:inline-flex}.inv-memory-signer input{width:1.2rem;height:1.2rem;accent-color:var(--inv-coffee-deep);margin:0}.inv-memory-signer:has(input:checked){background:color-mix(in srgb, var(--inv-coffee-deep) 12%, var(--inv-coffee));border-color:var(--inv-coffee-deep)}.inv-memory-signer:has(input:focus-visible){outline:2px solid var(--inv-focus);outline-offset:2px}.inv-memory-single-signer{margin:0;font-weight:600}.inv-memory-photo-field{gap:.5rem;margin-top:.4rem;display:grid}.inv-memory-photo-preview{object-fit:cover;border-radius:.6rem;width:100%;max-height:20rem;display:block}.inv-memory-photo-actions{flex-wrap:wrap;align-items:center;gap:.25rem .75rem;display:flex}.inv-memory-photo-btn{gap:.45rem}.inv-memory-photo-field input:focus-visible+.inv-memory-photo-actions .inv-memory-photo-btn{outline:2px solid var(--inv-focus);outline-offset:2px}.inv-memory-hint{color:var(--inv-muted);text-wrap:pretty;margin:.25rem 0 0;font-size:.95rem}.inv-memory-form .inv-memory-actions{justify-content:flex-start;margin-top:.25rem}.inv-memory-wall{gap:1rem;width:100%;max-width:30rem;margin-top:.75rem;display:grid}.inv-memory-wall-title{color:var(--inv-coffee-deep);margin:0;font-size:1.3rem;font-style:italic}.inv-celebration{top:max(1rem, env(safe-area-inset-top));z-index:9999;background:var(--inv-coffee-deep);max-width:min(92vw,26rem);color:var(--inv-text-light);animation:inv-celebration-in .5s var(--inv-ease);border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .5rem .5rem 1.4rem;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #140e0866}.inv-celebration-title{white-space:nowrap;font-family:var(--inv-script);margin:0;font-size:clamp(1.8rem,8vw,2.3rem);line-height:1.1}.inv-celebration-close{background:color-mix(in srgb, var(--inv-text-light) 14%, transparent);cursor:pointer;--inv-focus:var(--inv-text-light);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:inline-flex}.inv-celebration-close:focus-visible{outline:2px solid var(--inv-focus);outline-offset:2px}@keyframes inv-celebration-in{0%{opacity:0;transform:translate(-50%,-.75rem)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.inv-celebration{animation:none}}.memory-card .memory-card-image{cursor:zoom-in;display:block}.memory-card-message{white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:.98rem;line-height:1.5}.memory-card-signature{margin:0;font-weight:600}.memory-card-meta{margin:0}.memories-download{flex:none;align-items:center;gap:.45rem;display:inline-flex}.notify-emails{gap:.5rem;display:grid}.notify-email-row{align-items:center;gap:.5rem;display:flex}.notify-email-field{flex:1;min-width:0}.notify-add{justify-self:start}.password-field{display:block;position:relative}.password-field input{width:100%;padding-right:3rem!important}.password-toggle{border-radius:var(--radius-sm);width:2.5rem;height:2.5rem;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--text);background:var(--bg-soft)}.password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.login-password-label{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.login-forgot,.auth-back{color:var(--accent);text-underline-offset:.18em;font-size:.85rem;font-weight:500;text-decoration:underline}.auth-back{align-items:center;gap:.35rem;margin-top:1.5rem;font-size:.9rem;display:inline-flex}.auth-sent{justify-items:start;gap:1rem;display:grid}.auth-sent p{margin:0}.data-table .sent-col{white-space:nowrap;text-align:center;width:1%}.sent-check{cursor:pointer;justify-items:center;gap:.2rem;padding:.35rem;display:inline-grid}.sent-check input{width:1.25rem;height:1.25rem;accent-color:var(--accent);cursor:pointer;margin:0}.sent-check input:disabled{cursor:default}.sent-date{color:var(--muted);font-size:.75rem}@media (width<=640px){.data-table--stack td.names-cell{order:-1;grid-column:1/-1}.data-table--stack td.sent-col{text-align:left;grid-column:auto;width:auto}.sent-check{align-items:center;gap:.5rem;padding:0;display:inline-flex}}.settings-card .toggle-control-input{width:1px}.civil-invited-count{margin:0;font-size:.92rem;line-height:1.5}.event-choice{border:0;gap:.6rem;min-width:0;margin:0;padding:0;display:grid}.event-choice legend{margin-bottom:.45rem;padding:0;font-size:.9rem;font-weight:600}.event-choice-options{grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));gap:.6rem;display:grid}.form-card label.event-choice-option{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--muted);cursor:pointer;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;transition:border-color .18s,background-color .18s,box-shadow .18s;display:flex}.form-card label.event-choice-option:hover{border-color:var(--btn-hover-border)}.form-card label.event-choice-option.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);color:var(--text)}.event-choice-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.event-choice-check{border:1.5px solid var(--border);background:var(--bg-elevated);color:#0000;border-radius:.3rem;flex:none;place-items:center;width:1.2rem;height:1.2rem;margin-top:.1rem;transition:background .18s,border-color .18s,color .18s;display:grid}.event-choice-option.selected .event-choice-check{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.event-choice-copy{gap:.2rem;min-width:0;display:grid}.event-choice-copy strong{color:var(--text);font-weight:600}.event-choice-copy small{font-size:.85rem;line-height:1.4}.event-choice-hint{margin:0;font-size:.85rem}.civil-badge{vertical-align:middle;background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb, var(--accent) 30%, transparent);margin-left:.4rem;display:inline-flex}.civil-tags{align-items:center}.civil-tags-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.inv-overview{background:var(--inv-cream);text-align:center;padding:.5rem 1.5rem 2rem}.inv-overview-list{text-align:left;max-width:30rem;margin:0 auto;padding:0;list-style:none;display:grid}.inv-overview-item{grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:1rem .25rem;display:grid}.inv-overview-item+.inv-overview-item{border-top:1px solid color-mix(in srgb, var(--inv-coffee-deep) 22%, transparent)}.inv-overview-date{border:1px solid var(--inv-coffee-border);background:var(--inv-coffee-card);width:4rem;height:4rem;color:var(--inv-coffee-deep);border-radius:50%;align-content:center;justify-items:center;line-height:1;display:grid}.inv-overview-day{font-variant-numeric:lining-nums;font-size:1.6rem;font-weight:600}.inv-overview-month{letter-spacing:.12em;text-transform:uppercase;margin-top:.15rem;font-size:.78rem;font-weight:600}.inv-overview-text{gap:.15rem;min-width:0;display:grid}.inv-overview-name{color:var(--inv-coffee-deep);font-size:1.3rem;font-style:italic;font-weight:600;line-height:1.2}.inv-overview-when{color:var(--inv-text);font-variant-numeric:lining-nums;font-weight:600}.inv-overview-where{color:var(--inv-muted);line-height:1.35}.inv-venues{gap:1rem;display:grid}.inv-dress-event+.inv-dress-event{border-top:1px solid color-mix(in srgb, var(--inv-coffee-deep) 20%, transparent);margin-top:2rem;padding-top:1.75rem}.inv-dress-event-title{color:var(--inv-coffee-deep);margin:0 0 .5rem;font-size:1.3rem;font-style:italic;font-weight:600}.inv-rsvp-deadlines{text-align:center;gap:.25rem;max-width:28rem;margin:0 auto .75rem;padding:0;list-style:none;display:grid}.inv-rsvp-event{border-top:1px solid var(--inv-coffee-border);gap:.75rem;padding-top:.9rem;display:grid}.inv-rsvp-event-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem .75rem;display:flex}.inv-rsvp-event-name{text-align:left;color:var(--inv-coffee-deep);justify-items:start;margin:0;font-size:1.15rem;font-style:italic;font-weight:600;line-height:1.2;display:grid}.inv-rsvp-event-date{color:var(--inv-muted);font-size:.95rem;font-style:normal;font-weight:500}.main-content:has(.invitation-editor-layout){max-width:none}.invitation-preview-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1rem;display:flex}.invitation-preview-actions .btn{align-items:center;gap:.45rem;display:inline-flex}.full-preview{z-index:200;background:var(--bg);grid-template-rows:auto 1fr;display:grid;position:fixed;inset:0}.full-preview-bar{border-bottom:1px solid var(--border);background:var(--bg-elevated);align-items:center;gap:.75rem;padding:.65rem 1rem;display:flex}.full-preview-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-weight:600;overflow:hidden}.full-preview-open,.full-preview-close{align-items:center;gap:.4rem;display:inline-flex}.full-preview-stage{background:var(--bg-soft);justify-content:center;min-height:0;padding:1rem;display:flex}.full-preview-stage iframe{border-radius:var(--radius-sm);background:#f5f0e8;border:0;width:100%;height:100%;display:block}.full-preview-stage.is-phone iframe{width:min(430px,100%);box-shadow:0 0 0 8px #1f1a15, var(--shadow);border-radius:1.5rem}@media (width<=640px){.full-preview-open{display:none}}
