*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--gold:#c9a96e;--gold-light:#e8d5a8;--gold-dark:#a8874d;--gold-shimmer-1:#c9a96e;--gold-shimmer-2:#f5e6c8;--gold-shimmer-3:#dfc08a;--white:#fff;--cream:#fdf8f0;--cream-dark:#f5ede0;--dark:#2c2c2c;--dark-soft:#5a5a5a;--dark-muted:#8a8a8a;--overlay:#00000080;--gold-glow:#c9a96e4d;--floral:#2196f3;--floral-light:#2196f326;--floral-soft:#2196f314;--floral-glow:#2196f340;--font-display:"Playfair Display", Georgia, serif;--font-body:"Cormorant Garamond", "Times New Roman", serif;--font-accent:"Montserrat", "Helvetica Neue", sans-serif;--section-padding:80px 24px;--section-padding-sm:60px 20px;--border-gold:1px solid var(--gold-light);--border-radius:12px;--border-radius-sm:8px;--shadow-soft:0 4px 20px #0000000f;--shadow-gold:0 4px 30px #c9a96e26;--shadow-elevated:0 12px 40px #0000001f;--ease-out:cubic-bezier(.25, .46, .45, .94);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--dark);background-color:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:18px;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;line-height:1.2}img{max-width:100%;height:auto;display:block}button{font-family:var(--font-accent);cursor:pointer;border:none;outline:none}input{font-family:var(--font-body);font-size:16px}a{color:var(--gold);text-decoration:none}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1)rotate(180deg)}}.shimmer-text{background:linear-gradient(120deg, var(--gold-shimmer-1) 0%, var(--gold-shimmer-2) 25%, var(--gold-shimmer-1) 40%, var(--gold-shimmer-3) 60%, var(--gold-shimmer-2) 75%, var(--gold-shimmer-1) 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:4s linear infinite shimmer}.section-reveal{opacity:0;transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);transform:translateY(40px)}.section-reveal.visible{opacity:1;transform:translateY(0)}@supports (animation-timeline:view()) and (animation-range:entry){@media (prefers-reduced-motion:no-preference){@keyframes scrollReveal{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.scroll-animate{animation:1s linear backwards scrollReveal;animation-timeline:view();animation-range:entry entry 40%}}}.ornament-divider{justify-content:center;align-items:center;gap:16px;padding:20px 0;display:flex}.ornament-divider:before,.ornament-divider:after{content:"";background:linear-gradient(90deg, transparent, var(--gold-light), transparent);flex:1;max-width:120px;height:1px}.ornament-divider svg{width:24px;height:24px;fill:var(--gold);flex-shrink:0}.section-title{font-family:var(--font-display);color:var(--dark);text-align:center;margin-bottom:8px;font-size:clamp(1.6rem,5vw,2.2rem);font-weight:500}.section-subtitle{font-family:var(--font-accent);letter-spacing:3px;text-transform:uppercase;color:var(--gold);text-align:center;margin-bottom:32px;font-size:.75rem;font-weight:400}.text-center{text-align:center}.text-gold{color:var(--gold)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--gold-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gold)}.app{width:100%;min-height:100vh;overflow-x:hidden}.footer{text-align:center;background:linear-gradient(180deg, var(--cream) 0%, var(--white) 100%);padding:60px 24px 40px}.footer-ornament{color:var(--gold);letter-spacing:8px;margin-bottom:16px;font-size:1.2rem}.footer-names{font-family:var(--font-display);margin-bottom:8px;font-size:clamp(2.5rem,8vw,4rem);font-weight:600}.footer-date{font-family:var(--font-accent);letter-spacing:4px;color:var(--gold);margin-bottom:16px;font-size:.85rem}.footer-love{font-family:var(--font-body);color:var(--dark-soft);margin-bottom:24px;font-size:1rem;font-style:italic}.footer-admin-wrapper{border-top:1px dashed #c9a96e40;margin-top:20px;padding-top:20px;display:inline-block}.footer-admin-link{font-family:var(--font-accent);letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-dark);cursor:pointer;background:0 0;border:1px solid #c9a96e59;border-radius:20px;align-items:center;gap:7px;padding:6px 16px;font-size:.7rem;font-weight:500;transition:all .25s;display:inline-flex}.footer-admin-link:hover{border-color:var(--gold);background:#c9a96e1f;transform:translateY(-1px)}.media-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c0a08c7;justify-content:center;align-items:center;padding:20px;animation:.25s ease-out mediaFadeIn;display:flex;position:fixed;inset:0}@keyframes mediaFadeIn{0%{opacity:0}to{opacity:1}}.media-modal-card{color:#f8f5ee;background:#181512;border:1px solid #d4af3740;border-radius:16px;flex-direction:column;width:100%;max-width:860px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 25px 60px #0009,0 0 30px #d4af3714}.media-modal-header{background:#191511e6;border-bottom:1px solid #d4af3726;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.media-modal-title{color:#e6ca65;letter-spacing:.5px;margin:0;font-family:Cinzel,serif;font-size:1.25rem;font-weight:600}.media-modal-subtitle{color:#f8f5ee8c;margin-top:2px;font-size:.78rem;display:block}.media-modal-close-btn{color:#f8f5ee99;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px;transition:all .2s}.media-modal-close-btn:hover{color:#f8f5ee;background:#ffffff14}.media-modal-alert{border-radius:8px;align-items:center;gap:10px;margin:12px 24px 0;padding:10px 14px;font-size:.85rem;display:flex}.media-modal-alert-error{color:#fca5a5;background:#ef444426;border:1px solid #ef444459}.media-modal-alert-success{color:#86efac;background:#22c55e26;border:1px solid #22c55e59}.media-modal-toolbar{border-bottom:1px solid #ffffff0d;align-items:center;gap:12px;padding:16px 24px;display:flex}.media-upload-btn{color:#12100e;cursor:pointer;background:linear-gradient(135deg,#d4af37,#b89728);border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.media-upload-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.media-upload-btn:disabled{opacity:.6;cursor:not-allowed}.media-refresh-btn{color:#f8f5eecc;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:8px}.media-refresh-btn:hover{background:#ffffff1a}.media-modal-count{color:#f8f5ee80;margin-left:auto;font-size:.82rem}.media-modal-body{flex:1;min-height:280px;padding:20px 24px;overflow-y:auto}.media-modal-empty{text-align:center;color:#f8f5ee80;padding:40px 20px;font-size:.95rem}.media-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;display:grid}.media-card{cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;transition:all .2s;display:flex;position:relative;overflow:hidden}.media-card:hover{background:#ffffff0f;border-color:#d4af3766;transform:translateY(-2px)}.media-card-selected{box-shadow:0 0 16px #d4af3759;border-color:#d4af37!important}.media-thumbnail-box{aspect-ratio:4/3;background:#0d0c0a;width:100%;position:relative;overflow:hidden}.media-thumbnail{object-fit:cover;width:100%;height:100%;display:block}.media-selected-badge{color:#12100e;background:#d4af37;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 6px #0006}.media-info{flex:1;padding:10px 12px}.media-filename{color:#f8f5ee;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8rem;font-weight:500;overflow:hidden}.media-meta{color:#f8f5ee73;justify-content:space-between;margin-top:4px;font-size:.72rem;display:flex}.media-card-actions{justify-content:flex-end;padding:6px 12px 10px;display:flex}.media-delete-btn{color:#fca5a5;cursor:pointer;background:0 0;border:1px solid #ef44444d;border-radius:4px;padding:3px 8px;font-size:.72rem;transition:all .2s}.media-delete-btn:hover:not(:disabled){background:#ef444433;border-color:#ef4444}.media-modal-footer{background:#14110ef2;border-top:1px solid #ffffff14;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.media-cancel-btn{color:#f8f5eecc;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:8px;padding:8px 18px;font-size:.88rem;transition:all .2s}.media-cancel-btn:hover{color:#f8f5ee;background:#ffffff0d}.media-confirm-btn{color:#12100e;cursor:pointer;background:linear-gradient(135deg,#d4af37,#b89728);border:none;border-radius:8px;padding:8px 22px;font-size:.88rem;font-weight:600;transition:all .2s}.media-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.media-confirm-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.gift-settings-heading{align-items:center;gap:16px;margin-bottom:18px;display:flex}.gift-settings-heading .editor-card-title{margin-bottom:0}.gift-settings-symbol{color:#e6ca65;background:#d4af370b;border:1px solid #76613b;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.gift-settings-symbol svg{width:26px;height:26px}.gift-settings-eyebrow{font-family:var(--font-accent);letter-spacing:.14em;text-transform:uppercase;color:#cbb78e;margin-bottom:5px;font-size:.65rem}.gift-settings-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.gift-settings-toggle strong{color:#f8f5ee;font-size:1rem;font-weight:500;display:block}.gift-settings-toggle small{color:#bbb2a3;margin-top:4px;font-size:.85rem;line-height:1.5;display:block}.gift-settings-toggle input{accent-color:#d4af37;cursor:pointer;flex:none;width:20px;height:20px}.gift-settings input:focus-visible,.gift-settings textarea:focus-visible,.gift-settings button:focus-visible{outline-offset:4px;outline:2px solid #e6ca65}.gift-settings-details{border-top:1px solid #d4af372b;padding-top:24px}.gift-settings-envelope{background:#d4af3706;border:1px solid #d4af3733;border-radius:12px;margin:28px 0;padding:0 20px}.gift-settings-option-title{align-items:center;gap:12px;display:flex}.gift-settings-option-title>svg{color:#e6ca65;flex:none;width:24px;height:24px}.gift-settings-envelope .editor-field-group{padding-top:4px;padding-bottom:4px}.gift-settings-registries h4{color:#f1e0be;margin-bottom:8px;font-size:1.2rem}.gift-settings-help,.gift-settings-empty{color:#bbb2a3;font-size:.9rem;line-height:1.6}.gift-settings-add-options{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.gift-settings-empty{text-align:center;border:1px dashed #d4af3740;border-radius:10px;margin-top:20px;padding:22px}.gift-settings-store-list{gap:20px;margin-top:24px;display:grid}.gift-settings-store{border:1px solid #ffffff21;border-radius:12px;min-width:0;padding:20px}.gift-settings-store legend{color:#cbb78e;padding:0 8px;font-size:.82rem}.gift-settings-store-top{align-items:center;gap:16px;display:flex}.gift-settings-store-top .editor-field-group{flex:1;min-width:0}.gift-settings-remove{color:#e7aaa1;text-underline-offset:3px;background:0 0;padding:9px 0 9px 9px;font-size:.8rem;text-decoration:underline}.gift-settings-optional{color:#bbb2a3;font-size:.8rem;font-weight:400}.gift-settings-error{color:#f3b9ae;margin-top:8px;font-size:.82rem;line-height:1.5}.gift-settings input[aria-invalid=true]{border-color:#d18b7e}.gift-settings-validation{color:#f5d997;background:#d4af370d;border-left:2px solid #d4af37;margin-top:24px;padding:12px 16px;font-size:.9rem;line-height:1.5}@media (width<=480px){.gift-settings-envelope{padding:0 14px}.gift-settings-store{padding:16px 12px}.gift-settings-add-options .editor-btn{padding:9px 12px;font-size:.78rem}.gift-settings-store-top{align-items:flex-start;gap:8px}.gift-settings-remove{margin-top:26px}}.editor-container{color:#f8f5ee;background:#14110e;flex-direction:column;min-height:100vh;display:flex}.template-select-card{text-align:left;color:inherit}.template-select-card:focus-visible,.design-variant-card:focus-visible{outline-offset:4px;outline:2px solid #e6ca65}.design-variations{border-top:1px solid #d4af372e;margin-top:32px;padding-top:28px}.design-variants-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.design-variant-card{color:#f8f5ee;text-align:left;background:#ffffff06;border:1px solid #ffffff29;border-radius:12px;min-width:0;padding:10px 10px 16px;transition:border-color .2s,background .2s}.design-variant-card:hover{background:#ffffff0e}.design-variant-card.is-selected{border-color:#d4af37;box-shadow:0 0 0 1px #d4af37}.design-variant-preview{background:var(--preview-paper);height:175px;color:var(--preview-accent);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;margin-bottom:16px;display:flex;position:relative;overflow:hidden}.design-variant-preview:before,.design-variant-preview:after{content:"";border:1px solid var(--preview-floral);opacity:.3;border-radius:50%;width:95px;height:140px;position:absolute;transform:rotate(-35deg)}.design-variant-preview:before{box-shadow:12px 7px 0 -2px var(--preview-paper), 12px 7px 0 -1px var(--preview-floral);top:-45px;left:-40px}.design-variant-preview:after{bottom:-45px;right:-40px}.design-variant-preview--minimal{border-radius:0}.design-variant-preview--minimal:before{width:auto;height:auto;box-shadow:none;border-color:var(--preview-accent);border-radius:0;inset:12px;transform:none}.design-variant-preview--minimal:after{display:none}.design-preview-overline{font:500 .55rem var(--font-accent);letter-spacing:.2em;text-transform:uppercase}.design-preview-names{font:400 2.5rem var(--font-display);margin:8px 0}.design-preview-rule{background:currentColor;width:32px;height:1px;margin-bottom:12px}.design-preview-date{font:italic .85rem var(--font-body)}.design-variant-name{justify-content:space-between;margin:0 6px 6px;font-size:.85rem;display:flex}.design-variant-description{color:#c4bcb1;font:400 .75rem/1.6 var(--font-accent);margin:0 6px;display:block}.design-variant-swatches{gap:6px;margin:12px 6px 0;display:flex}.design-variant-swatches span{border:1px solid #ffffff40;border-radius:50%;width:15px;height:15px}@media (width<=420px){.design-variants-grid{grid-template-columns:1fr}}.editor-loading-box,.editor-error-box{color:#d4af37;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:80vh;display:flex}.editor-top-bar{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14110ef2;border-bottom:1px solid #d4af3733;justify-content:space-between;align-items:center;padding:14px 28px;display:flex;position:sticky;top:0}.editor-top-left{align-items:center;gap:18px;display:flex}.editor-back-btn{color:#f8f5ee;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:8px;padding:7px 14px;font-size:.85rem;transition:all .2s;display:inline-flex}.editor-back-btn:hover{background:#ffffff1a}.editor-event-meta{flex-direction:column;gap:3px;display:flex}.editor-event-title{color:#e6ca65;margin:0;font-family:Cinzel,serif;font-size:1.15rem;font-weight:600}.editor-slug-chip{color:#f8f5ee99;align-items:center;gap:8px;font-size:.78rem;display:flex}.editor-badge{text-transform:uppercase;border-radius:4px;padding:2px 7px;font-size:.7rem;font-weight:600}.editor-badge-published{color:#86efac;background:#22c55e26;border:1px solid #22c55e66}.editor-badge-draft{color:#fde047;background:#eab30826;border:1px solid #eab30866}.editor-top-actions{align-items:center;gap:12px;display:flex}.editor-dirty-notice{color:#fde047;font-size:.82rem;font-weight:500}.editor-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:7px;padding:8px 16px;font-size:.86rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.editor-btn:disabled{opacity:.5;cursor:not-allowed}.editor-btn-primary{color:#12100e;background:linear-gradient(135deg,#d4af37,#b89728)}.editor-btn-primary:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.editor-btn-secondary{color:#e6ca65;background:#d4af3726;border:1px solid #d4af3759}.editor-btn-secondary:hover:not(:disabled){background:#d4af3740}.editor-btn-outline{color:#f8f5ee;background:0 0;border:1px solid #fff3}.editor-btn-outline:hover:not(:disabled){background:#ffffff14}.editor-btn-warning{color:#fca5a5;background:#ef444426;border:1px solid #ef444459}.editor-btn-warning:hover:not(:disabled){background:#ef444440}.editor-alert{border-radius:8px;align-items:center;gap:10px;margin:14px 28px 0;padding:12px 18px;font-size:.88rem;display:flex}.editor-alert-error{color:#fca5a5;background:#ef444426;border:1px solid #ef444459}.editor-alert-success{color:#86efac;background:#22c55e26;border:1px solid #22c55e59}.editor-layout{flex:1;gap:28px;padding:24px 28px;display:flex}.editor-sidebar{flex-shrink:0;width:240px}.editor-nav{flex-direction:column;gap:6px;display:flex;position:sticky;top:90px}.editor-nav-item{text-align:left;color:#f8f5eeb3;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:10px 14px;font-size:.88rem;transition:all .2s}.editor-nav-item:hover{color:#f8f5ee;background:#ffffff0a}.editor-nav-item.active{color:#e6ca65;background:#d4af371f;border-color:#d4af374d;font-weight:600}.editor-content-pane{flex:1;min-width:0;max-width:860px}.editor-card{background:#181512cc;border:1px solid #ffffff14;border-radius:14px;margin-bottom:24px;padding:28px}.editor-card-title{color:#e6ca65;letter-spacing:.5px;margin:0 0 6px;font-family:Cinzel,serif;font-size:1.25rem}.editor-card-desc{color:#f8f5ee99;margin:0 0 24px;font-size:.86rem;line-height:1.5}.editor-textarea{font-family:var(--font-body);font-size:1rem}.editor-field-group{margin-bottom:20px}.editor-label{color:#f8f5ee;margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.editor-sublabel{color:#f8f5ee99;margin-bottom:4px;font-size:.78rem;display:block}.editor-field-hint{color:#f8f5ee80;margin-top:5px;font-size:.75rem;display:block}.editor-input,.editor-textarea{color:#f8f5ee;box-sizing:border-box;background:#0a0807b3;border:1px solid #ffffff1f;border-radius:8px;width:100%;padding:10px 14px;font-size:.9rem;transition:all .2s}.editor-input:focus,.editor-textarea:focus{border-color:#d4af37;outline:none;box-shadow:0 0 8px #d4af3740}.editor-grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.slug-input-wrapper{background:#0a0807b3;border:1px solid #ffffff1f;border-radius:8px;align-items:center;gap:8px;padding:4px 6px 4px 12px;display:flex}.slug-prefix{color:#f8f5ee80;white-space:nowrap;font-size:.84rem}.slug-input{box-shadow:none!important;background:0 0!important;border:none!important;padding:6px 0!important}.slug-feedback{margin-top:6px;font-size:.82rem}.text-error{color:#fca5a5}.text-success{color:#86efac}.image-field-row{gap:10px;display:flex}.image-preview-box{aspect-ratio:16/9;background:#000;border:1px solid #ffffff1a;border-radius:8px;width:100%;max-width:320px;margin-top:10px;overflow:hidden}.image-preview{object-fit:cover;width:100%;height:100%}.editor-subsection{border-top:1px solid #ffffff14;margin-top:24px;padding-top:20px}.editor-subtitle{color:#e6ca65;margin:0 0 14px;font-size:1rem;font-weight:600}.template-cards-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;display:grid}.template-select-card{cursor:pointer;background:#ffffff05;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;padding:20px;transition:all .25s;display:flex}.template-select-card:hover{background:#ffffff0d;border-color:#d4af3766;transform:translateY(-2px)}.template-select-card-active{box-shadow:0 0 20px #d4af3740;background:#d4af3714!important;border-color:#d4af37!important}.template-select-header{justify-content:space-between;margin-bottom:10px;display:flex}.template-badge{text-transform:uppercase;color:#e6ca65;background:#d4af3726;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:600}.template-version{color:#f8f5ee80;font-size:.72rem}.template-name{color:#f8f5ee;margin:0 0 8px;font-family:Cinzel,serif;font-size:1.05rem}.template-desc{color:#f8f5ee99;flex:1;margin:0 0 16px;font-size:.8rem;line-height:1.4}.template-select-status{color:#d4af37;text-align:center;background:#d4af371a;border-radius:6px;padding:6px;font-size:.82rem;font-weight:600}.timeline-editor-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.timeline-items-list{flex-direction:column;gap:12px;display:flex}.timeline-item-row{background:#0a080799;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:14px;padding:14px;display:flex}.timeline-item-num{color:#d4af37;font-family:monospace;font-size:1.1rem;font-weight:700}.timeline-item-inputs{flex:1}.timeline-item-actions{flex-direction:column;gap:4px;display:flex}.timeline-action-btn{color:#f8f5ee;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;display:flex}.timeline-action-btn:hover:not(:disabled){background:#ffffff26}.timeline-action-btn:disabled{opacity:.3;cursor:not-allowed}.timeline-delete-btn:hover{color:#fca5a5!important;background:#ef444433!important;border-color:#ef4444!important}.toggle-list{flex-direction:column;gap:12px;display:flex}.toggle-row{cursor:pointer;background:#0a080780;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;display:flex}.toggle-checkbox{accent-color:#d4af37;cursor:pointer;width:18px;height:18px}.toggle-label{color:#f8f5ee;font-size:.92rem}.single-image-uploader{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.single-image-help{color:#f8f5ee99;margin:0;font-size:.8rem}.single-image-preview-card{aspect-ratio:16/9;background:#0d0b09;border:1px solid #d4af3740;border-radius:12px;width:100%;max-width:440px;position:relative;overflow:hidden;box-shadow:0 4px 20px #0006}.single-image-preview-img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.single-image-preview-card:hover .single-image-preview-img{transform:scale(1.02)}.single-image-placeholder{color:#f8f5ee66;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex}.placeholder-icon{opacity:.7;font-size:2.2rem}.placeholder-text{font-size:.85rem;font-style:italic}.single-image-uploading-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#e6ca65;z-index:10;background:#0d0b09d9;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:.85rem;font-weight:500;display:flex;position:absolute;inset:0}.single-image-spinner{border:3px solid #d4af3733;border-top-color:#e6ca65;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.single-image-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.single-image-btn-upload{color:#12100e;cursor:pointer;background:linear-gradient(135deg,#d4af37 0%,#aa820a 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 2px 10px #d4af3740}.single-image-btn-upload:hover:not(:disabled){background:linear-gradient(135deg,#e6ca65 0%,#c49a18 100%);transform:translateY(-1px);box-shadow:0 4px 14px #d4af3759}.single-image-btn-upload:disabled{opacity:.6;cursor:not-allowed}.single-image-btn-text{color:#f8f5ee99;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:.8rem;text-decoration:underline;transition:color .2s}.single-image-btn-text:hover{color:#e6ca65}.single-image-manual-box{max-width:440px;margin-top:4px}.single-image-feedback{border-radius:6px;align-items:center;gap:8px;max-width:440px;padding:6px 12px;font-size:.82rem;display:inline-flex}.single-image-success{color:#86efac;background:#22c55e1f;border:1px solid #22c55e4d}.single-image-error{color:#fca5a5;background:#ef44441f;border:1px solid #ef44444d}.datetime-picker-card{flex-direction:column;gap:18px;display:flex}.datetime-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.datetime-date-input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.time-selector-row{align-items:center;gap:8px;display:flex}.time-select{text-align:center;cursor:pointer;width:76px;font-size:1rem;font-weight:600}.time-separator{color:#d4af37;font-size:1.4rem;font-weight:700}.time-period-group{background:#0006;border:1px solid #d4af3740;border-radius:8px;margin-left:6px;display:flex;overflow:hidden}.period-btn{color:#f8f5ee99;cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:.85rem;font-weight:600;transition:all .2s}.period-btn:hover{color:#f8f5ee}.period-btn-active{background:#d4af37;color:#12100e!important}.datetime-summary-banner{background:#d4af3714;border:1px solid #d4af374d;border-radius:10px;align-items:center;gap:14px;padding:14px 18px;display:flex}.datetime-summary-icon{font-size:1.6rem}.datetime-summary-content{flex-direction:column;gap:2px;display:flex}.datetime-summary-title{text-transform:uppercase;letter-spacing:1px;color:#d4af37;font-size:.72rem;font-weight:600}.datetime-summary-text{color:#f8f5ee;font-size:.95rem;font-weight:500}.music-uploader-card{flex-direction:column;gap:12px;margin-top:8px;display:flex}.music-uploader-desc{color:#f8f5ee99;margin:0;font-size:.82rem;line-height:1.4}.music-player-preview{margin:8px 0}.audio-player-wrapper{background:#0006;border:1px solid #d4af3740;border-radius:10px;flex-direction:column;gap:10px;max-width:480px;padding:14px 16px;display:flex}.audio-player-element{filter:invert(.9)hue-rotate(180deg);border-radius:6px;width:100%;height:40px}.audio-current-name{color:#e6ca65;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.audio-empty-box{text-align:center;color:#f8f5ee66;background:#00000040;border:1px dashed #ffffff26;border-radius:8px;max-width:480px;padding:16px;font-size:.85rem}.music-uploader-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}@media (width<=1050px){.editor-top-bar{flex-wrap:wrap;gap:16px}.editor-top-actions{flex-wrap:wrap}}@media (width<=760px){.editor-top-bar{padding:16px;position:static}.editor-top-left{gap:12px;width:100%;min-width:0}.editor-event-meta{min-width:0}.editor-event-title,.editor-slug-chip{overflow-wrap:anywhere}.editor-slug-chip{flex-wrap:wrap}.editor-top-actions{gap:8px;width:100%}.editor-top-actions .editor-btn{flex:auto;justify-content:center;padding:10px 12px}.editor-dirty-notice{flex-basis:100%}.editor-layout{flex-direction:column;gap:20px;padding:16px}.editor-sidebar{width:100%}.editor-nav{flex-direction:row;padding-bottom:8px;position:static;overflow-x:auto}.editor-nav-item{white-space:nowrap;flex:none}.editor-content-pane{width:100%}.editor-card{padding:20px 16px}.editor-grid-2{grid-template-columns:minmax(0,1fr)}.editor-alert{overflow-wrap:anywhere;margin-left:16px;margin-right:16px}}.admin-login-wrapper{background:radial-gradient(circle at 50% 20%,#fff 0%,#faf6ef 60%,#f3eae0 100%);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.admin-login-card{text-align:center;background:#fff;border:1px solid #c9a96e73;border-radius:22px;width:100%;max-width:440px;padding:44px 34px;position:relative;box-shadow:0 16px 45px #c9a96e26,0 4px 12px #00000008}.admin-login-card:before{content:"";background:linear-gradient(90deg, transparent, var(--gold,#c9a96e), transparent);height:2px;position:absolute;top:0;left:20%;right:20%}.admin-login-icon-badge{color:#8c6f3d;background:linear-gradient(135deg,#faf6ee 0%,#f2e5ce 100%);border:1.5px solid #c9a96e73;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;display:flex;box-shadow:0 6px 18px #c9a96e2e}.admin-login-pre{font-family:var(--font-accent,sans-serif);letter-spacing:3px;text-transform:uppercase;color:#8c6f3d;margin-bottom:4px;font-size:.68rem;font-weight:600}.admin-login-title{font-family:var(--font-display,serif);color:#24201c;margin-bottom:6px;font-size:1.85rem;font-weight:600;line-height:1.2}.admin-login-subtitle{font-family:var(--font-body,sans-serif);color:#6b5f51;margin-bottom:26px;font-size:1rem;font-style:italic}.admin-error-badge{color:#9b1c1c;text-align:left;background:#fdf2f2;border:1px solid #f8b4b4;border-radius:8px;align-items:center;gap:8px;margin-bottom:18px;padding:10px 14px;font-size:.85rem;display:flex}.admin-login-form{text-align:left;flex-direction:column;gap:18px;display:flex}.admin-input-group{flex-direction:column;gap:6px;display:flex}.admin-input-group label{font-family:var(--font-accent,sans-serif);color:#4a4033;font-size:.75rem;font-weight:600}.admin-input-with-icon{align-items:center;width:100%;display:flex;position:relative}.input-leading-icon{color:#8c6f3d;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;left:14px}.input-trailing-action{color:#8c6f3d;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:opacity .2s;display:flex;position:absolute;right:12px}.input-trailing-action:hover{opacity:.7}.admin-input{width:100%;font-family:var(--font-body,sans-serif);color:#2b2723;background:#faf8f5;border:1px solid #c9a96e66;border-radius:8px;padding:12px 14px;font-size:1.05rem;transition:border-color .2s,background .2s,box-shadow .2s}.admin-input-padded{padding-left:42px;padding-right:42px}.admin-input:focus{background:#fff;border-color:#c9a96e;outline:none;box-shadow:0 0 0 3px #c9a96e33}.admin-btn{width:100%;font-family:var(--font-accent,sans-serif);letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:13px 20px;font-size:.8rem;font-weight:600;transition:all .3s;display:inline-flex}.admin-btn-gold{color:#fff;background:linear-gradient(135deg,#c9a96e 0%,#a8874d 100%);border:none;box-shadow:0 4px 15px #c9a96e59}.admin-btn-gold:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #c9a96e73}.admin-btn-ghost{color:#6b5f51;background:0 0;border:1px solid #0000;margin-top:4px;font-size:.75rem}.admin-btn-ghost:hover{color:#24201c;background:#0000000a}.admin-dashboard{color:#2c2723;background:#fbf9f5;min-height:100vh;padding-bottom:60px}.admin-header{z-index:10;background:#fff;border-bottom:1px solid #c9a96e4d;justify-content:space-between;align-items:center;padding:16px 28px;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #00000008}.admin-brand{align-items:center;gap:14px;display:flex}.admin-brand-icon{color:#8c6f3d;background:linear-gradient(135deg,#faf6ee 0%,#f3e7d3 100%);border:1px solid #c9a96e73;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 2px 8px #c9a96e26}.admin-brand-title{font-family:var(--font-display,serif);color:#2c2723;margin:0;font-size:1.25rem;font-weight:600}.admin-brand-meta{align-items:center;gap:12px;margin-top:3px;display:flex}.status-pill{border-radius:12px;align-items:center;gap:5px;padding:3px 9px;font-size:.7rem;font-weight:600;display:inline-flex}.status-connected{color:#03543f;background:#def7ec;border:1px solid #bcf0da}.status-local{color:#713f12;background:#fef08a;border:1px solid #fde047}.admin-date-badge{color:#7e7365;font-size:.72rem}.admin-header-actions{align-items:center;gap:10px;display:flex}.admin-action-btn{font-family:var(--font-accent,sans-serif);color:#4a4033;cursor:pointer;background:#faf8f5;border:1px solid #c9a96e59;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.admin-action-btn:hover{color:#24201c;background:#f4eee2;border-color:#c9a96e}.admin-action-edit{color:#8c6f3d;background:linear-gradient(135deg,#d4af3726,#d4af370d);border-color:#d4af37}.admin-action-edit:hover{color:#5d461a;background:linear-gradient(135deg,#d4af3747,#d4af371f)}.admin-action-logout:hover{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.icon-spin{animation:.8s linear infinite spin}.admin-container{max-width:1200px;margin:28px auto 0;padding:0 20px}.admin-error-banner{color:#9b1c1c;background:#fdf2f2;border:1px solid #f8b4b4;border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:24px;padding:14px 18px;display:flex}.admin-error-banner-content{flex:1}.admin-error-banner-content strong{margin-bottom:2px;font-size:.88rem;display:block}.admin-error-banner-content p{opacity:.9;margin:0;font-size:.82rem}.admin-error-retry-btn{color:#9b1c1c;cursor:pointer;background:#fff;border:1px solid #f8b4b4;border-radius:6px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .2s}.admin-error-retry-btn:hover{background:#fdf2f2}.admin-kpis{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-bottom:28px;display:grid}.kpi-card{background:#fff;border:1px solid #c9a96e4d;border-radius:14px;align-items:center;gap:16px;padding:20px 22px;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 4px 16px #00000008}.kpi-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #c9a96e1f}.kpi-highlight{background:linear-gradient(145deg,#fff 0%,#fdf8f0 100%);border-color:#c9a96e99}.kpi-icon-box{color:#8c6f3d;background:#faf6ee;border:1px solid #c9a96e59;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.kpi-highlight .kpi-icon-box{color:#fff;background:linear-gradient(135deg,#c9a96e 0%,#a8874d 100%);border:none;box-shadow:0 3px 10px #c9a96e4d}.kpi-data{flex-direction:column;display:flex}.kpi-value{font-family:var(--font-display,serif);color:#24201c;font-size:1.9rem;font-weight:700;line-height:1}.kpi-label{font-family:var(--font-accent,sans-serif);text-transform:uppercase;letter-spacing:1px;color:#7d6335;margin-top:5px;font-size:.7rem;font-weight:600}.admin-toolbar{background:#fff;border:1px solid #c9a96e4d;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:16px 20px;display:flex}.toolbar-search{flex:1;align-items:center;min-width:260px;max-width:420px;display:flex;position:relative}.search-icon{color:#8c6f3d;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;left:12px}.toolbar-search-input{width:100%;font-family:var(--font-body,sans-serif);color:#2c2723;background:#faf8f5;border:1px solid #c9a96e59;border-radius:8px;padding:10px 36px 10px 38px;font-size:.95rem;transition:all .2s}.toolbar-search-input:focus{background:#fff;border-color:#c9a96e;outline:none;box-shadow:0 0 0 3px #c9a96e2e}.clear-search-btn{color:#7e7365;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;right:10px}.clear-search-btn:hover{color:#24201c}.toolbar-filters{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.filter-pill-group{background:#faf8f5;border:1px solid #c9a96e4d;border-radius:8px;padding:3px;display:flex}.filter-btn{color:#6b5f51;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:.75rem;font-weight:600;transition:all .2s}.filter-btn.active{color:#7d6335;background:#fff;box-shadow:0 2px 6px #0000000f}.toolbar-export-group{gap:8px;display:flex}.export-btn{font-family:var(--font-accent,sans-serif);color:#fff;cursor:pointer;background:linear-gradient(135deg,#c9a96e 0%,#a8874d 100%);border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #c9a96e40}.export-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #c9a96e59}.export-btn:disabled{opacity:.5;cursor:not-allowed}.export-btn-ghost{color:#4a4033;box-shadow:none;background:#faf8f5;border:1px solid #c9a96e59}.export-btn-ghost:hover{background:#f4eee2}.admin-content-section{background:#fff;border:1px solid #c9a96e4d;border-radius:14px;overflow:hidden;box-shadow:0 4px 20px #00000008}.admin-loading-state,.admin-empty-state{text-align:center;padding:60px 24px}.loading-spinner{border:3px solid #c9a96e33;border-top-color:#c9a96e;border-radius:50%;width:38px;height:38px;margin:0 auto 16px;animation:.8s linear infinite spin}.empty-icon-box{color:#8c6f3d;background:#faf6ee;border:1px solid #c9a96e59;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin:0 auto 16px;display:flex}.admin-empty-state h3{font-family:var(--font-display,serif);color:#2c2723;margin-bottom:6px;font-size:1.3rem}.admin-empty-state p{color:#6b5f51;max-width:440px;margin:0 auto}.admin-table-container{overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:.92rem}.admin-table thead{background:#faf7f2;border-bottom:1px solid #c9a96e4d}.admin-table th{font-family:var(--font-accent,sans-serif);letter-spacing:1px;text-transform:uppercase;color:#7d6335;padding:14px 16px;font-size:.72rem;font-weight:600}.admin-table tbody tr{border-bottom:1px solid #f2ece1;transition:background .15s}.admin-table tbody tr:hover{background:#fdfbf7}.admin-table tbody tr.row-declined{opacity:.75;background:#fafafa}.admin-table td{vertical-align:middle;padding:14px 16px}.col-num{color:#7e7365;width:40px;font-size:.8rem}.col-contact{flex-direction:column;display:flex}.contact-name{color:#24201c;font-weight:600}.contact-phone{color:#7e7365;font-size:.8rem}.guest-chips-container{flex-wrap:wrap;gap:6px;display:flex}.guest-chip{color:#3b3329;background:#f8f3ea;border:1px solid #c9a96e4d;border-radius:14px;align-items:center;gap:5px;padding:4px 10px;font-size:.82rem;display:inline-flex}.guest-chip-bullet{color:#c9a96e;font-size:.65rem}.guest-chip-phone{color:#7e7365;font-size:.75rem}.guest-count-badge{color:#8c6f3d;font-weight:600}.status-tag{letter-spacing:.5px;border-radius:12px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.tag-confirmed{color:#0d824d;background:#eefbf4;border:1px solid #b8ebcf}.tag-declined{color:#c81e1e;background:#fdf2f2;border:1px solid #f8b4b4}.notes-bubble{color:#594f42;max-width:220px;margin:0;font-size:.85rem;font-style:italic;line-height:1.4}.col-date{color:#695e50;white-space:nowrap;font-size:.82rem}.action-links{gap:6px;display:flex}.action-icon-link{white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.wa-btn{color:#057a55;background:#e7f7ed;border:1px solid #bcf0da}.wa-btn:hover{color:#fff;background:#25d366}.tel-btn{color:#374151;background:#f3f4f6;border:1px solid #e5e7eb}.tel-btn:hover{background:#e5e7eb}.text-muted{color:#7e7365}@media (width<=768px){.admin-header{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 18px}.admin-header-actions{justify-content:space-between;width:100%}.admin-action-btn{text-align:center;flex:1;justify-content:center;padding:6px 8px;font-size:.7rem}.admin-toolbar{flex-direction:column;align-items:stretch}.toolbar-search{max-width:100%}.toolbar-filters{flex-direction:column;align-items:stretch}.filter-pill-group{justify-content:center}.toolbar-export-group{width:100%}.export-btn{text-align:center;flex:1;justify-content:center}}@media print{.admin-header,.admin-toolbar,.col-actions{display:none!important}.admin-dashboard{background:#fff;padding:0}.admin-content-section{box-shadow:none;border:none}}.admin-auth-tabs{background:#c9a96e1f;border-radius:12px;gap:4px;margin-bottom:22px;padding:4px;display:flex}.admin-auth-tab{font-family:var(--font-accent,sans-serif);color:#6b5f51;cursor:pointer;text-align:center;background:0 0;border:none;border-radius:9px;flex:1;padding:10px 14px;font-size:.82rem;font-weight:600;transition:all .2s}.admin-auth-tab:hover{color:#2b2723}.admin-auth-tab.active{color:#8c6f3d;background:#fff;box-shadow:0 2px 8px #00000014}.admin-auth-switch{text-align:center;color:#6b5f51;margin-top:14px;font-size:.85rem}.admin-auth-switch-btn{color:#8c6f3d;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:.85rem;font-weight:600;text-decoration:underline;transition:opacity .2s}.admin-auth-switch-btn:hover{opacity:.8}.admin-event-selector-box{align-items:center;gap:8px;margin-top:4px;display:flex}.admin-event-select{font-size:.85rem;font-family:var(--font-body,sans-serif);color:#2b2723;cursor:pointer;background:#faf8f5;border:1px solid #c9a96e73;border-radius:6px;outline:none;padding:4px 10px}.admin-event-select:focus{background:#fff;border-color:#c9a96e}.admin-user-pill{color:#72572b;background:#c9a96e24;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:500;display:inline-flex}.admin-onboarding-container{max-width:680px;margin:32px auto;padding:0 16px}.admin-onboarding-card{text-align:center;background:#fff;border:1px solid #c9a96e73;border-radius:20px;padding:40px 32px;position:relative;box-shadow:0 16px 40px #c9a96e1f}.admin-onboarding-card:before{content:"";background:linear-gradient(90deg, transparent, var(--gold,#c9a96e), transparent);height:2px;position:absolute;top:0;left:20%;right:20%}.admin-onboarding-icon{color:#8c6f3d;background:linear-gradient(135deg,#faf6ee 0%,#f2e5ce 100%);border:1.5px solid #c9a96e73;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 20px;display:flex;box-shadow:0 8px 24px #c9a96e33}.admin-onboarding-title{font-family:var(--font-display,serif);color:#24201c;margin-bottom:8px;font-size:1.85rem;font-weight:600}.admin-onboarding-subtitle{font-family:var(--font-body,sans-serif);color:#6b5f51;max-width:520px;margin:0 auto 28px;font-size:.95rem;line-height:1.5}.admin-event-form{text-align:left;flex-direction:column;gap:16px;display:flex}.admin-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=600px){.admin-form-row{grid-template-columns:1fr}}.admin-select{width:100%;font-family:var(--font-body,sans-serif);color:#2b2723;background:#faf8f5;border:1px solid #c9a96e66;border-radius:8px;outline:none;padding:12px 14px;font-size:.95rem;transition:border-color .2s,background .2s}.admin-select:focus{background:#fff;border-color:#c9a96e;box-shadow:0 0 0 3px #c9a96e33}.admin-help-text{color:#8a7c6c;margin-top:3px;font-size:.75rem}.admin-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#14100c8c;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.admin-modal-dialog{background:#fff;border:1px solid #c9a96e73;border-radius:18px;width:100%;max-width:540px;max-height:90vh;padding:28px;position:relative;overflow-y:auto;box-shadow:0 20px 50px #00000040}.admin-modal-header{border-bottom:1px solid #c9a96e40;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;display:flex}.admin-modal-header h3{font-family:var(--font-display,serif);color:#24201c;margin:0;font-size:1.4rem}.admin-modal-close{color:#8a7c6c;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex}.admin-modal-close:hover{color:#24201c}.hero{background-color:var(--cream);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:60px 20px 70px;display:flex;position:relative;overflow:hidden}.hero-bg-container{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-bg-image{object-fit:cover;object-position:center 30%;width:100%;height:100%;animation:20s ease-in-out infinite alternate heroBgZoom;transform:scale(1.02)}@media (width>=768px){.hero-bg-image{object-position:center 65%}}@keyframes heroBgZoom{0%{transform:scale(1.02)}to{transform:scale(1.06)}}.hero-bg-overlay{background:linear-gradient(#1c191452 0%,#1c191461 35%,#5a4b331f 65%,#fdf8f0e0 100%);position:absolute;inset:0}.hero-bg-vignette{background:radial-gradient(at 50% 35%,#1d191342 0%,#1d19131a 42%,#0000 75%);position:absolute;inset:0}.hero-bg-gradient-bottom{background:linear-gradient(to bottom, transparent 0%, #ffffffa6 50%, var(--white) 100%);height:160px;position:absolute;bottom:0;left:0;right:0}.hero-particles{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.particle{left:var(--x);top:var(--y);width:var(--size);height:var(--size);opacity:0;animation:particleFloat var(--duration) var(--delay) ease-in-out infinite;background:#c9a96e;border-radius:50%;position:absolute;box-shadow:0 0 6px #c9a96e99}@keyframes particleFloat{0%{opacity:0;transform:translateY(0)scale(0)}20%{opacity:.75;transform:translateY(-20px)scale(1)}80%{opacity:.35;transform:translateY(-80px)scale(.7)}to{opacity:0;transform:translateY(-120px)scale(0)}}.hero-content{z-index:2;text-align:center;max-width:600px;animation:heroContentEnter .7s var(--ease-out);margin:0 auto;position:relative}.hero-pretext{font-family:var(--font-accent);letter-spacing:4.5px;text-transform:uppercase;color:#f5e6c8;text-shadow:0 1px 8px #1c191459;animation:heroContentEnter .7s var(--ease-out);margin-bottom:20px;font-size:.72rem;font-weight:600}.hero{--hero-name-edge:#2a1d0e38;--hero-name-glow:#2a1d0e42;--hero-name-aura:#3d280f1f}.hero[data-photo-tone=dark]{--hero-name-edge:#fff8e62e;--hero-name-glow:#fff8e647;--hero-name-aura:#ebca8929}.hero-names-wrapper{animation:heroContentEnter .7s var(--ease-out);margin-bottom:16px}.hero-names{flex-direction:column;align-items:center;gap:2px;display:flex}.hero-name{font-family:var(--font-display);filter:drop-shadow(0 1px 3px var(--hero-name-edge)) drop-shadow(0 0 12px var(--hero-name-glow)) drop-shadow(0 0 24px var(--hero-name-aura));font-size:clamp(3rem,12vw,5.5rem);font-style:italic;font-weight:600;line-height:1.05;transition:filter .6s}.hero-ampersand{font-family:var(--font-display);color:#e8d5a8;text-shadow:0 1px 2px var(--hero-name-edge), 0 2px 10px var(--hero-name-glow);margin:2px 0;font-size:clamp(1.6rem,6vw,2.5rem);font-style:italic;font-weight:300;transition:text-shadow .6s}.hero-invitation{font-family:var(--font-body);color:#fff8eb;text-shadow:0 1px 8px #1c191473;max-width:360px;animation:heroContentEnter .7s var(--ease-out);margin-bottom:28px;margin-left:auto;margin-right:auto;font-size:clamp(1.05rem,3.5vw,1.25rem);font-style:italic}.hero-date-badge{-webkit-backdrop-filter:blur(16px);animation:heroContentEnter .7s var(--ease-out);background:#ffffffc7;border:1.5px solid #c9a96e8c;border-radius:20px;justify-content:center;align-items:center;gap:18px;margin-bottom:12px;padding:14px 28px;display:inline-flex;box-shadow:0 10px 35px #b4915029,0 2px 10px #0000000a,inset 0 0 0 1px #ffffffe6}.hero-date-line{background:linear-gradient(90deg, transparent, var(--gold));width:40px;height:1px}.hero-date-line:last-child{background:linear-gradient(90deg, var(--gold), transparent)}.hero-date-content{flex-direction:column;align-items:center;gap:2px;display:flex}.hero-day{font-family:var(--font-accent);letter-spacing:3px;text-transform:uppercase;color:#8c6f32;font-size:.65rem;font-weight:600}.hero-date-number{font-family:var(--font-display);color:#8a6728;text-shadow:0 1px 12px #c9a96e59;font-size:clamp(3rem,10vw,4.8rem);font-weight:600;line-height:1}.hero-month{font-family:var(--font-accent);letter-spacing:3px;text-transform:uppercase;color:#8c6f32;font-size:.65rem;font-weight:600}.hero-time{font-family:var(--font-accent);letter-spacing:5px;color:#695941;text-shadow:0 1px 4px #fffc;animation:heroContentEnter .7s var(--ease-out);margin-bottom:36px;font-size:.85rem;font-weight:600}.countdown{animation:heroContentEnter .7s var(--ease-out);justify-content:center;align-items:center;gap:8px;display:flex}.countdown-card{-webkit-backdrop-filter:blur(14px);border-radius:var(--border-radius-sm);background:#ffffffd1;border:1.2px solid #c9a96e80;flex-direction:column;align-items:center;min-width:62px;padding:12px 14px 8px;transition:transform .3s,border-color .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #b4915024,0 2px 6px #00000008,inset 0 0 0 1px #ffffffe6}.countdown-card:hover{border-color:#c9a96ed9;transform:translateY(-2px);box-shadow:0 12px 30px #b4915038}.countdown-card:before{content:"";background:linear-gradient(90deg, var(--gold-shimmer-1), var(--gold-shimmer-2), var(--gold-shimmer-1));background-size:200%;height:2px;animation:3s linear infinite shimmer;position:absolute;top:0;left:0;right:0}.countdown-number{font-family:var(--font-display);color:#7d5d22;margin-bottom:4px;font-size:clamp(1.6rem,5vw,2.2rem);font-weight:600;line-height:1}.countdown-label{font-family:var(--font-accent);letter-spacing:2px;text-transform:uppercase;color:#8c7752;font-size:.55rem;font-weight:600}.countdown-separator{font-family:var(--font-display);color:#c9a96e;text-shadow:0 1px 4px #fffc;margin-top:-12px;font-size:1.4rem;font-weight:300}.hero-scroll-indicator{z-index:2;animation:fadeIn .7s var(--ease-out);flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.scroll-arrow{color:#8c6f32;text-shadow:0 1px 4px #ffffffe6;font-size:1.2rem;animation:2s ease-in-out infinite scrollBounce;transform:rotate(-90deg)}.scroll-text{font-family:var(--font-accent);letter-spacing:2px;text-transform:uppercase;color:#8c6f32;text-shadow:0 1px 4px #ffffffe6;font-size:.65rem}@keyframes scrollBounce{0%,to{transform:rotate(-90deg)translate(0)}50%{transform:rotate(-90deg)translate(8px)}}@media (width<=480px){.hero{padding:50px 16px 60px}.countdown-card{min-width:54px;padding:10px 10px 6px}.hero-date-badge{gap:12px;padding:10px 18px}.hero-date-line{width:25px}}.hero{background:radial-gradient(at 50% 25%,#66543b 0%,#302b24 58%,#171613 100%)}.hero-bg-container{opacity:0;transition:opacity .65s}.hero[data-photo-ready=true] .hero-bg-container{opacity:1}.hero[data-photo-ready=false] .hero-time,.hero[data-photo-ready=false] .scroll-text,.hero[data-photo-ready=false] .scroll-arrow{color:#f5e6c8;text-shadow:none}@keyframes heroContentEnter{0%{transform:translateY(12px)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero-bg-container{transition:none}.hero-content,.hero-content *,.hero-scroll-indicator,.hero-bg-image{animation:none}}.hero-date-content .hero-time{color:#69501f;text-shadow:none;letter-spacing:3px;border-top:1px solid #8c6f324d;margin:12px 0 2px;padding-top:10px;font-size:.85rem;animation:none;display:block}.hero-date-badge{margin-bottom:28px}.verse-section{padding:var(--section-padding);background:var(--cream);justify-content:center;display:flex}.verse-book{border-radius:4px;width:100%;max-width:600px;display:flex;position:relative;box-shadow:0 2px 8px #00000014,0 8px 30px #0000000d,inset 0 0 0 1px #c9a96e1a}.book-spine{background:linear-gradient(180deg, transparent 0%, var(--gold-light) 15%, var(--gold) 50%, var(--gold-light) 85%, transparent 100%);z-index:2;width:4px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);box-shadow:-2px 0 8px #0000001a,2px 0 8px #0000001a}.book-page{background:linear-gradient(135deg,#fffef8 0%,#faf5e8 100%);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 28px;display:flex;position:relative;overflow:hidden}.book-page-left{border-right:1px solid #c9a96e26;border-radius:4px 0 0 4px}.book-page-right{border-left:1px solid #c9a96e26;border-radius:0 4px 4px 0}.page-texture{pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 28px,#c9a96e0a 28px 29px);position:absolute;inset:0}.page-ornament-top,.page-ornament-bottom{color:var(--gold-light);margin-bottom:20px;font-size:1.2rem}.page-ornament-bottom{margin-top:20px;margin-bottom:0;transform:rotate(180deg)}.verse-text{font-family:var(--font-body);color:var(--dark-soft);text-align:center;font-size:clamp(.95rem,2.5vw,1.15rem);font-style:italic;font-weight:400;line-height:1.8;position:relative}.verse-opening,.verse-closing{font-family:var(--font-display);color:var(--gold-light);vertical-align:-.2em;font-size:2rem;line-height:0}.verse-opening{margin-right:4px}.verse-closing{margin-left:4px}.verse-reference{font-family:var(--font-accent);letter-spacing:2px;text-transform:uppercase;color:var(--gold);text-align:center;font-size:.75rem;font-weight:500}@media (width<=480px){.verse-book{flex-direction:column}.book-spine{background:linear-gradient(90deg, transparent 0%, var(--gold-light) 15%, var(--gold) 50%, var(--gold-light) 85%, transparent 100%);width:100%;height:3px;inset:50% 0 auto;transform:translateY(-50%);box-shadow:0 -2px 8px #0000001a,0 2px 8px #0000001a}.book-page-left{border-bottom:1px solid #c9a96e26;border-right:none;border-radius:4px 4px 0 0}.book-page-right{border-top:1px solid #c9a96e26;border-left:none;border-radius:0 0 4px 4px}.book-page{padding:32px 24px}}.parents-section{padding:var(--section-padding);text-align:center;background:radial-gradient(circle at 50% 10%,#fff 0%,#faf6ef 60%,#f6efe2 100%);position:relative;overflow:hidden}.parents-section:before{content:"";pointer-events:none;background:radial-gradient(at 50% 0,#c9a96e1f 0%,#0000 70%);width:100%;max-width:900px;height:250px;position:absolute;top:0;left:50%;transform:translate(-50%)}.parents-header{max-width:600px;margin:0 auto 36px}.section-pretitle{font-family:var(--font-accent);letter-spacing:3.5px;text-transform:uppercase;color:var(--gold-dark);margin-bottom:8px;font-size:.72rem;font-weight:500;display:block}.parents-intro-text{font-family:var(--font-body);color:var(--dark-soft);margin-top:8px;font-size:1.12rem;font-style:italic;line-height:1.5}.parents-grid{grid-template-columns:1fr;gap:28px;max-width:480px;margin:0 auto 44px;display:grid}@media (width>=768px){.parents-grid{grid-template-columns:1fr 1fr;max-width:820px}}.parent-card{transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out), border-color .4s ease;background:linear-gradient(160deg,#fff 0%,#fdfbf7 55%,#f7f1e6 100%);border:1px solid #c9a96e73;border-radius:16px;position:relative;overflow:hidden;box-shadow:0 10px 30px #c9a96e17,0 2px 8px #00000005}.parent-card:hover{border-color:#c9a96ecc;transform:translateY(-6px);box-shadow:0 16px 40px #c9a96e33,0 4px 12px #0000000a}.card-corner{width:32px;height:32px;color:var(--gold);opacity:.65;pointer-events:none;z-index:2;transition:opacity .3s,transform .3s;position:absolute}.parent-card:hover .card-corner,.sponsor-card:hover .card-corner{opacity:.95}.corner-tl{top:8px;left:8px}.corner-tr{top:8px;right:8px;transform:scaleX(-1)}.corner-bl{bottom:8px;left:8px;transform:scaleY(-1)}.corner-br{bottom:8px;right:8px;transform:scale(-1)}.card-inner-frame{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff80;border:1px solid #c9a96e33;border-radius:10px;flex-direction:column;align-items:center;margin:8px;padding:30px 20px 26px;display:flex}.crest-wrapper{justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:14px;display:flex;position:relative}.crest-glow{filter:blur(6px);pointer-events:none;background:radial-gradient(circle,#e8d5a866 0%,#0000 70%);border-radius:50%;width:50px;height:50px;position:absolute}.family-crest{filter:drop-shadow(0 2px 4px #c9a96e33);width:100%;height:100%;transition:transform .4s var(--ease-spring)}.parent-card:hover .family-crest{transform:scale(1.08)}.card-badge-container{margin-bottom:12px}.card-badge{font-family:var(--font-accent);letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-dark);background:linear-gradient(135deg,#e8d5a847 0%,#c9a96e1f 100%);border:1px solid #c9a96e59;border-radius:30px;padding:5px 14px;font-size:.68rem;font-weight:600;display:inline-block}.filigree-divider{width:100%;max-width:200px;color:var(--gold-light);justify-content:center;align-items:center;gap:12px;margin:6px auto 16px;display:flex}.filigree-line{background:linear-gradient(90deg,#0000,#c9a96e80,#0000);flex:1;height:1px}.filigree-icon{width:38px;height:14px;color:var(--gold)}.parents-names-block{flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.parent-name{font-family:var(--font-body);color:#2b2723;letter-spacing:.3px;font-size:1.25rem;font-weight:500;line-height:1.35;transition:color .3s}.parent-card:hover .parent-name{color:#1a1715}.parent-union-symbol{justify-content:center;align-items:center;gap:10px;width:120px;margin:2px 0;display:flex}.union-line{background:#c9a96e4d;flex:1;height:1px}.union-heart{color:var(--gold);font-size:.65rem}.sponsors-section{max-width:580px;margin:0 auto}.sponsor-card-featured{transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out), border-color .4s ease;background:linear-gradient(150deg,#fff 0%,#fefcf7 35%,#f9f1e1 100%);border:1.5px solid #c9a96e8c;border-radius:20px;position:relative;overflow:hidden;box-shadow:0 14px 45px #c9a96e29,0 4px 15px #00000008,inset 0 0 0 1px #fffc}.sponsor-card-featured:hover{border-color:#c9a96ed9;transform:translateY(-6px);box-shadow:0 20px 50px #c9a96e42,0 6px 20px #0000000d,inset 0 0 0 1px #ffffffe6}.sponsor-card-featured .card-inner-frame{background:#ffffffa6;border:1px solid #c9a96e4d;border-radius:12px;margin:10px;padding:36px 24px 30px}.arras-emblem-container{justify-content:center;align-items:center;width:96px;height:96px;margin-bottom:16px;display:flex;position:relative}.arras-glow-aura{filter:blur(8px);pointer-events:none;background:radial-gradient(circle,#e6c87580 0%,#c9a96e26 50%,#0000 80%);border-radius:50%;width:80px;height:80px;animation:3s ease-in-out infinite pulse;position:absolute}.arras-svg{width:100%;height:100%;transition:transform .5s var(--ease-spring)}.sponsor-card-featured:hover .arras-svg{transform:scale(1.08)rotate(3deg)}.sponsor-badge-wrapper{flex-direction:column;align-items:center;gap:6px;margin-bottom:8px;display:flex}.sponsor-tag-pill{font-family:var(--font-accent);letter-spacing:2px;text-transform:uppercase;color:#997328;background:#c9a96e1f;border:1px dashed #c9a96e80;border-radius:20px;padding:3px 12px;font-size:.65rem;font-weight:600}.sponsors-title{font-family:var(--font-display);letter-spacing:.5px;margin:4px 0 2px;font-size:clamp(1.4rem,4.5vw,1.8rem);font-weight:600}.arras-significance{font-family:var(--font-body);color:var(--dark-soft);max-width:380px;margin-top:2px;font-size:1.02rem;font-style:italic;line-height:1.4}.sponsor-names-block{flex-direction:column;align-items:center;gap:4px;width:100%;margin:8px 0 18px;display:flex}.sponsor-person{padding:4px 0}.sponsor-person-name{font-family:var(--font-body);color:#24201c;letter-spacing:.4px;font-size:clamp(1.22rem,4vw,1.4rem);font-weight:600;transition:color .3s;display:inline-block}.sponsor-card-featured:hover .sponsor-person-name{color:#12100e}.sponsor-joiner{justify-content:center;align-items:center;gap:14px;width:160px;margin:4px 0;display:flex}.sponsor-joiner-line{background:linear-gradient(90deg,#0000,#c9a96e99,#0000);flex:1;height:1px}.sponsor-ampersand{font-family:var(--font-display);color:var(--gold);text-shadow:0 1px 2px #c9a96e40;font-size:1.45rem;font-style:italic;line-height:1}.sponsor-footer-note{font-family:var(--font-accent);letter-spacing:2.2px;text-transform:uppercase;color:#8f7239;opacity:.85;border-top:1px dashed #c9a96e40;justify-content:center;align-items:center;gap:8px;width:100%;max-width:340px;margin-top:4px;padding-top:14px;font-size:.65rem;font-weight:500;display:flex}.sponsor-seal-icon{color:var(--gold);font-size:.6rem}@media (width<=480px){.parents-section{padding:var(--section-padding-sm)}.card-inner-frame{margin:4px;padding:24px 14px 20px}.sponsor-card-featured .card-inner-frame{margin:6px;padding:28px 16px 24px}.parent-name{font-size:1.15rem}.sponsor-person-name{font-size:1.2rem}.arras-emblem-container{width:82px;height:82px;margin-bottom:12px}.crest-wrapper{width:56px;height:56px;margin-bottom:10px}}.venue-section{padding:var(--section-padding);background:var(--cream);text-align:center}.venue-cards{grid-template-columns:1fr 1fr;gap:16px;max-width:500px;margin:0 auto 32px;display:grid}@media (width<=400px){.venue-cards{grid-template-columns:1fr}}.venue-card{background:var(--white);border:var(--border-gold);border-radius:var(--border-radius);transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out);padding:24px 16px}.venue-card:hover{box-shadow:var(--shadow-gold);transform:translateY(-4px)}.venue-icon{width:36px;height:36px;color:var(--gold);margin:0 auto 12px}.venue-icon svg{width:100%;height:100%}.venue-name{font-family:var(--font-display);color:var(--dark);margin-bottom:4px;font-size:1.1rem;font-weight:500}.venue-detail{font-family:var(--font-accent);letter-spacing:2px;text-transform:uppercase;color:var(--dark-muted);font-size:.7rem;font-weight:400}.venue-map-container{max-width:500px;margin:0 auto}.venue-map-frame{border-radius:var(--border-radius);border:2px solid var(--gold-light);box-shadow:var(--shadow-gold);aspect-ratio:4/3;position:relative;overflow:hidden}.venue-map-iframe{border:0;width:100%;height:100%}.venue-map-overlay{pointer-events:none;border-radius:var(--border-radius);position:absolute;inset:0;box-shadow:inset 0 0 30px #c9a96e1a}.venue-directions-btn{background:linear-gradient(135deg, var(--gold), var(--gold-dark));color:var(--white);font-family:var(--font-accent);letter-spacing:2px;text-transform:uppercase;transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out);border-radius:50px;justify-content:center;align-items:center;gap:10px;margin-top:20px;padding:14px 36px;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 4px 15px #c9a96e4d}.venue-directions-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px #c9a96e66}.venue-directions-btn:active{transform:translateY(0)}.venue-btn-icon{width:18px;height:18px}.dresscode-section{padding:var(--section-padding);background:var(--white);text-align:center}.dresscode-main{margin-bottom:32px}.dresscode-icons{justify-content:center;gap:48px;margin-bottom:28px;display:flex}.dresscode-icon-wrapper{flex-direction:column;align-items:center;gap:8px;display:flex}.dresscode-icon{width:56px;height:56px;color:var(--gold)}.dresscode-icon-label{font-family:var(--font-accent);letter-spacing:2px;text-transform:uppercase;color:var(--dark-muted);font-size:.6rem;font-weight:500}.dresscode-type{justify-content:center;align-items:center;gap:12px;display:flex}.dresscode-badge{font-family:var(--font-accent);letter-spacing:2px;text-transform:uppercase;color:var(--gold-dark);border:1px solid var(--gold-light);border-radius:50px;padding:8px 20px;font-size:.75rem;font-weight:500;display:inline-block}.dresscode-separator{font-family:var(--font-display);color:var(--gold-light);font-size:1rem;font-style:italic}.dresscode-content{max-width:620px;margin:28px auto 0}.dresscode-main{border:1px solid var(--gold-light);background:linear-gradient(135deg, var(--white), var(--cream));box-shadow:0 12px 36px var(--gold-glow);border-radius:24px;margin-bottom:16px;padding:32px 24px}.dresscode-icons{gap:clamp(40px,12vw,96px)}.dresscode-icon-wrapper{gap:12px}.dresscode-icon{width:64px;height:64px}.dresscode-type{flex-wrap:wrap}.dresscode-badge{background:var(--white);overflow-wrap:anywhere;max-width:100%}.dresscode-restrictions{padding:24px 28px}.dresscode-note-ornament{color:var(--gold);margin-bottom:12px;display:block}.restriction-title{font-family:var(--font-accent);letter-spacing:2px;text-transform:uppercase;color:var(--gold-dark);margin-bottom:12px;font-size:.65rem}.dresscode-note{font-family:var(--font-body);color:var(--dark-soft);white-space:pre-line;overflow-wrap:anywhere;font-size:1.15rem;line-height:1.65}@media (width<=480px){.dresscode-main{padding:28px 16px}.dresscode-restrictions{padding:20px 12px}.dresscode-badge{padding:8px 14px;font-size:.65rem}}.dresscode-palette{border:1px solid var(--gold-light);background:var(--cream);border-radius:20px;margin-top:20px;padding:28px 20px}.dresscode-swatches{flex-wrap:wrap;justify-content:center;gap:24px 20px;margin:0;padding:10px 0 0;list-style:none;display:flex}.dresscode-swatch-item{flex-direction:column;align-items:center;gap:12px;width:88px;display:flex}.dresscode-swatch{border:3px solid var(--white);outline:1px solid var(--gold-light);border-radius:50%;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 4px 12px #00000014}.dresscode-swatch-name{font-family:var(--font-accent);color:var(--dark-soft);overflow-wrap:anywhere;max-width:100%;font-size:.65rem;line-height:1.5}.dresscode-swatch-avoid{color:#40382f;background:#ffffffeb;border-radius:50%;width:22px;height:22px;font-size:20px;line-height:20px}.kidspolicy-section{padding:var(--section-padding);background:var(--white);text-align:center}.kidspolicy-content{max-width:480px;margin:0 auto}.kidspolicy-card{background:var(--cream);border:var(--border-gold);border-radius:var(--border-radius);box-shadow:var(--shadow-soft);transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out);padding:40px 30px;position:relative}.kidspolicy-card:hover{box-shadow:var(--shadow-gold);transform:translateY(-2px)}.kidspolicy-corner{border-color:var(--gold);opacity:.7;width:14px;height:14px;position:absolute}.kidspolicy-corner--tl{border-top:1.5px solid;border-left:1.5px solid;top:8px;left:8px}.kidspolicy-corner--tr{border-top:1.5px solid;border-right:1.5px solid;top:8px;right:8px}.kidspolicy-corner--bl{border-bottom:1.5px solid;border-left:1.5px solid;bottom:8px;left:8px}.kidspolicy-corner--br{border-bottom:1.5px solid;border-right:1.5px solid;bottom:8px;right:8px}.kidspolicy-icon-wrapper{justify-content:center;align-items:center;margin-bottom:18px;display:flex}.kidspolicy-icon{width:58px;height:58px;color:var(--gold);filter:drop-shadow(0 2px 8px #c9a96e33)}.kidspolicy-badge{font-family:var(--font-accent);letter-spacing:2px;text-transform:uppercase;color:var(--gold-dark);border:1px solid var(--gold-light);background:#ffffffbf;border-radius:50px;margin-bottom:22px;padding:6px 18px;font-size:.68rem;font-weight:600;display:inline-block}.kidspolicy-text{font-family:var(--font-body);color:var(--dark);max-width:400px;margin:0 auto 20px;font-size:1.28rem;font-style:italic;line-height:1.65}.kidspolicy-divider{justify-content:center;align-items:center;gap:12px;max-width:140px;margin:18px auto;display:flex}.kidspolicy-divider:before,.kidspolicy-divider:after{content:"";background:linear-gradient(90deg, transparent, var(--gold-light), transparent);flex:1;height:1px}.kidspolicy-ornament{color:var(--gold);font-size:.75rem}.kidspolicy-subtext{font-family:var(--font-accent);color:var(--dark-soft);letter-spacing:.3px;margin:0;font-size:.78rem;line-height:1.5}@media (width<=600px){.kidspolicy-card{padding:32px 20px}.kidspolicy-text{font-size:1.15rem;line-height:1.6}.kidspolicy-icon{width:50px;height:50px}}.timeline-section{padding:var(--section-padding);text-align:center;background:radial-gradient(circle at 50% 15%,#fff 0%,#faf6ef 55%,#f6eee0 100%);position:relative;overflow:hidden}.timeline-section:before{content:"";pointer-events:none;background:radial-gradient(circle at 15% 20%,#c9a96e0f 0%,#0000 50%),radial-gradient(circle at 85% 80%,#c9a96e0f 0%,#0000 50%);position:absolute;inset:0}.timeline-header{z-index:1;max-width:580px;margin:0 auto 48px;position:relative}.timeline-intro-text{font-family:var(--font-body);color:var(--dark-soft);margin-top:6px;font-size:1.1rem;font-style:italic}.timeline{max-width:780px;margin:0 auto;padding:24px 0 10px;position:relative}.timeline-line{background:linear-gradient(#0000 0%,#c9a96e4d 4%,#c9a96ed9 50%,#c9a96e4d 96%,#0000 100%);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 8px #c9a96e33}.timeline-item{opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);align-items:center;margin-bottom:32px;display:flex;position:relative;transform:translateY(28px)}.timeline-item.timeline-visible{opacity:1;transform:translateY(0)}@supports (animation-timeline:view()) and (animation-range:entry){@media (prefers-reduced-motion:no-preference){.timeline-item{opacity:1;animation:.8s linear backwards timelineReveal;animation-timeline:view();animation-range:entry entry 40%;transform:none}@keyframes timelineReveal{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}}}.timeline-dot{z-index:3;background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px #c9a96e4d}.timeline-dot-inner{background:linear-gradient(135deg,#e8d5a8 0%,#c9a96e 50%,#9a7736 100%);border:1.5px solid #fff;border-radius:50%;width:10px;height:10px;transition:transform .3s,box-shadow .3s;box-shadow:0 0 0 2.5px #c9a96e80}.timeline-item:hover .timeline-dot-inner{transform:scale(1.25);box-shadow:0 0 0 4px #c9a96ecc}.timeline-dot-number{display:none}.timeline-card{width:calc(50% - 44px);transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out), border-color .35s ease;background:linear-gradient(155deg,#fff 0%,#fdfbf7 55%,#f8f2e4 100%);border:1px solid #c9a96e73;border-radius:16px;padding:22px 24px;position:relative;overflow:hidden;box-shadow:0 8px 24px #c9a96e14,0 2px 6px #00000005}.timeline-card:before{content:"";background:linear-gradient(90deg,#0000,#c9a96e99,#0000);height:2px;position:absolute;top:0;left:0;right:0}.timeline-card:hover{border-color:#c9a96ed9;transform:translateY(-4px);box-shadow:0 14px 34px #c9a96e33,0 4px 10px #00000008}.timeline-left .timeline-card{text-align:right;margin-right:auto}.timeline-left .timeline-card-header{justify-content:flex-end}.timeline-left .timeline-title-divider{margin-left:auto;margin-right:0}.timeline-right .timeline-card{text-align:left;margin-left:auto}.timeline-right .timeline-card-header{justify-content:flex-start}.timeline-right .timeline-title-divider{margin-left:0;margin-right:auto}.timeline-card-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.timeline-left .timeline-card-header{flex-direction:row-reverse}.timeline-icon-badge{color:#8c6a28;width:48px;height:48px;transition:transform .35s var(--ease-spring), color .3s ease, border-color .3s ease;background:linear-gradient(145deg,#fff 0%,#faf1de 60%,#eeddb8 100%);border:1.5px solid #c9a96e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 14px #c9a96e38,inset 0 1px 2px #ffffffe6}.timeline-card:hover .timeline-icon-badge{color:#6e4f14;border-color:#b38e46;transform:scale(1.1)rotate(4deg);box-shadow:0 6px 18px #c9a96e59}.timeline-svg-icon{stroke-width:1.8px;width:24px;height:24px}.timeline-step-badge{font-family:var(--font-accent);letter-spacing:2px;text-transform:uppercase;color:#8c6f32;background:#c9a96e1f;border:1px solid #c9a96e4d;border-radius:20px;padding:3px 10px;font-size:.62rem;font-weight:600}.timeline-title{font-family:var(--font-display);color:#262320;letter-spacing:.3px;margin-bottom:4px;font-size:1.25rem;font-weight:600;line-height:1.3}.timeline-title-divider{background:linear-gradient(90deg,#c9a96e99,#0000);width:32px;height:1px;margin:6px 0 8px}.timeline-left .timeline-title-divider{background:linear-gradient(270deg,#c9a96e99,#0000)}.timeline-desc{font-family:var(--font-body);color:var(--dark-soft);margin:0;font-size:1.02rem;line-height:1.45}@media (width<=640px){.timeline-section{padding:56px 20px}.timeline-header{margin-bottom:32px}.timeline-intro-text{font-size:.98rem}.timeline{max-width:100%;padding-top:8px;padding-bottom:0;padding-left:0}.timeline-line{background:linear-gradient(#0000 0%,#c9a96e40 3%,#c9a96e80 50%,#c9a96e40 97%,#0000 100%);width:2px;left:24px;transform:none;box-shadow:0 0 6px #c9a96e26}.timeline-dot{background:linear-gradient(135deg,#dfca9b 0%,#c9a96e 50%,#9b783e 100%);border:2px solid #fff;width:32px;height:32px;top:24px;left:24px;transform:translate(-50%);box-shadow:0 3px 12px #c9a96e66,0 0 0 3px #fffc}.timeline-dot-inner{display:none}.timeline-dot-number{font-family:var(--font-accent,sans-serif);color:#fff;letter-spacing:0;text-shadow:0 1px 2px #00000026;justify-content:center;align-items:center;font-size:.6rem;font-weight:700;line-height:1;display:flex}.timeline-item{justify-content:flex-start;margin-bottom:16px;padding-left:54px}.timeline-left .timeline-card,.timeline-right .timeline-card{text-align:left;-webkit-backdrop-filter:blur(6px);background:linear-gradient(160deg,#fffffff2 0%,#fdf9f1eb 50%,#f8f0dee0 100%);border:1px solid #c9a96e59;border-radius:14px;width:100%;margin-left:0;margin-right:0;padding:16px 18px;box-shadow:0 4px 16px #c9a96e1a,0 1px 3px #00000005,inset 0 1px #ffffffb3}.timeline-card:before{height:0}.timeline-left .timeline-card:after,.timeline-right .timeline-card:after{content:"";opacity:.8;background:linear-gradient(#e8d5a8,#c9a96e,#9b783e);border-radius:0 3px 3px 0;width:3px;position:absolute;top:12px;bottom:12px;left:0}.timeline-left .timeline-card-header,.timeline-right .timeline-card-header{flex-direction:row;justify-content:flex-start;gap:10px;margin-bottom:10px}.timeline-left .timeline-title-divider,.timeline-right .timeline-title-divider{background:linear-gradient(90deg,#c9a96e80,#0000);margin-left:0;margin-right:auto}.timeline-icon-badge{border-width:1px;width:40px;height:40px;box-shadow:0 2px 8px #c9a96e2e}.timeline-svg-icon{width:20px;height:20px}.timeline-step-badge{letter-spacing:1.5px;background:#c9a96e1a;border-color:#c9a96e40;padding:2px 8px;font-size:.55rem}.timeline-title{letter-spacing:.2px;font-size:1.08rem}.timeline-title-divider{width:28px;margin:4px 0 6px}.timeline-desc{color:#6b6155;font-size:.92rem;line-height:1.4}}@media (width<=380px){.timeline-section{padding:44px 14px}.timeline-line{left:20px}.timeline-dot{width:28px;height:28px;left:20px}.timeline-dot-number{font-size:.52rem}.timeline-item{margin-bottom:14px;padding-left:46px}.timeline-left .timeline-card,.timeline-right .timeline-card{border-radius:12px;padding:14px 14px 14px 16px}.timeline-icon-badge{width:36px;height:36px}.timeline-svg-icon{width:18px;height:18px}.timeline-step-badge{padding:2px 6px;font-size:.5rem}.timeline-title{font-size:1rem}.timeline-desc{font-size:.86rem}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(10px);background:#1e1b1899;justify-content:center;align-items:center;padding:24px;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{overscroll-behavior:contain;border:1px solid var(--gold-light);background:linear-gradient(160deg, var(--cream), var(--white) 55%);text-align:center;width:100%;max-width:480px;max-height:min(90dvh,840px);animation:rsvpEnter .35s var(--ease-out);scrollbar-width:thin;scrollbar-color:var(--gold-light) transparent;border-radius:22px;outline:none;padding:44px 36px 30px;position:relative;overflow-y:auto;box-shadow:0 30px 90px #00000038}.modal-initial,.modal-message{padding:54px 40px 36px}.modal-close{width:44px;height:44px;color:var(--dark-soft);background:0 0;border-radius:50%;place-items:center;transition:background .2s,color .2s;display:grid;position:absolute;top:12px;right:12px}.modal-close:hover{background:var(--cream-dark);color:var(--dark)}.rsvp-emblem{border:1px solid var(--gold-light);background:var(--white);width:76px;height:76px;color:var(--gold-dark);box-shadow:0 0 0 7px var(--cream);border-radius:50%;place-items:center;margin:0 auto 24px;display:grid}.rsvp-emblem svg{width:38px;height:38px}.rsvp-eyebrow{font-family:var(--font-accent);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:12px;font-size:.6rem;font-weight:600;line-height:1.6}.modal-title{font-family:var(--font-display);color:var(--dark);text-wrap:balance;margin-bottom:14px;font-size:clamp(1.6rem,5vw,2rem);font-weight:500;line-height:1.22}.modal-subtitle{max-width:33ch;font-family:var(--font-body);color:var(--dark-soft);text-wrap:pretty;margin:0 auto 28px;font-size:1.12rem;line-height:1.55}.modal-message .modal-subtitle{margin-bottom:4px}.modal-actions{flex-direction:column;gap:10px;display:flex}.modal-btn{width:100%;min-height:50px;font-family:var(--font-accent);letter-spacing:.07em;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:14px;padding:14px 20px;font-size:.7rem;font-weight:600;line-height:1.5;transition:transform .2s,background .2s,box-shadow .2s;display:flex}.modal-btn-primary{color:var(--white);background:var(--gold-dark);box-shadow:0 4px 12px #00000012}.modal-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #00000026}.modal-btn-secondary{border-color:var(--gold-light);color:var(--dark-soft);background:0 0}.modal-btn-secondary:hover:not(:disabled){background:var(--cream-dark)}.rsvp-later-note{font-family:var(--font-body);color:var(--dark-soft);margin-top:18px;font-size:.95rem;font-style:italic;line-height:1.5}.modal-form-body{text-align:left}.guest-entry-card{border:1px solid var(--gold-light);background:var(--white);border-radius:12px;margin-bottom:12px;padding:18px}.guest-entry-header{justify-content:space-between;align-items:center;min-height:30px;margin-bottom:16px;display:flex}.guest-entry-number{font-family:var(--font-accent);letter-spacing:.04em;color:var(--dark);align-items:center;gap:10px;font-size:.65rem;font-weight:600;display:inline-flex}.guest-entry-badge{background:var(--cream);width:28px;height:28px;color:var(--gold-dark);border-radius:50%;place-items:center;font-size:.6rem;display:grid}.guest-entry-remove{width:36px;height:36px;color:var(--dark-soft);background:0 0;border-radius:50%;place-items:center;margin:-4px;display:grid}.guest-entry-remove:hover:not(:disabled){background:var(--cream);color:var(--dark)}.rsvp-field-group+.rsvp-field-group{margin-top:14px}.rsvp-field-label{font-family:var(--font-accent);color:var(--dark-soft);margin-bottom:7px;font-size:.65rem;font-weight:500;line-height:1.6;display:block}.rsvp-input,.rsvp-textarea{border:1px solid var(--gold-light);background:var(--cream);width:100%;min-height:46px;font-family:var(--font-accent);color:var(--dark);border-radius:7px;outline:none;margin:0;padding:11px 12px;font-size:16px;font-weight:400;line-height:1.5;transition:border-color .2s,box-shadow .2s;display:block}.rsvp-input::placeholder,.rsvp-textarea::placeholder{color:var(--dark-muted);font-size:.8rem}.rsvp-input:focus,.rsvp-textarea:focus{border-color:var(--gold-dark);box-shadow:0 0 0 3px var(--cream-dark)}.rsvp-textarea{resize:vertical;min-height:100px}.add-guest-btn{border:1px dashed var(--gold);width:100%;min-height:46px;font-family:var(--font-accent);color:var(--gold-dark);background:0 0;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:.7rem;line-height:1.5;transition:background .2s;display:flex}.add-guest-btn span{font-size:1.15rem;line-height:1}.add-guest-btn:hover:not(:disabled){background:var(--cream-dark)}.rsvp-notes-group{margin:24px 0}.rsvp-optional{font-weight:400}.modal-error-banner{font-family:var(--font-accent);color:#9c3030;text-align:left;background:#fff5f5;border:1px solid #d8a3a3;border-radius:8px;margin-bottom:18px;padding:12px 14px;font-size:.75rem;line-height:1.6}.modal-content button:focus-visible{outline:2px solid var(--gold-dark);outline-offset:3px}.modal-content button:disabled,.modal-content input:disabled,.modal-content textarea:disabled{cursor:wait;opacity:.65}@keyframes rsvpEnter{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=480px){.modal-overlay{padding:14px}.modal-content{border-radius:18px;padding:42px 22px 26px}.modal-initial,.modal-message{padding-top:50px}.guest-entry-card{padding:15px}.modal-subtitle{font-size:1.06rem}}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal-content{animation:none}.modal-content button{transition:none}}.music-btn{z-index:900;background:linear-gradient(135deg, var(--gold), var(--gold-dark));width:48px;height:48px;color:var(--white);transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out);animation:fadeInUp .8s 2s var(--ease-out) backwards;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 20px #c9a96e66}.music-btn:hover{transform:scale(1.1);box-shadow:0 6px 25px #c9a96e80}.music-btn:active{transform:scale(.95)}.music-playing{animation:pulse-btn 2s ease-in-out infinite, fadeInUp .8s 2s var(--ease-out) backwards}@keyframes pulse-btn{0%,to{box-shadow:0 4px 20px #c9a96e66}50%{box-shadow:0 4px 30px #c9a96e99,0 0 0 8px #c9a96e1a}}.music-icon{width:20px;height:20px}.rsvp-float-btn{z-index:900;font-family:var(--font-accent);letter-spacing:2px;text-transform:uppercase;background:linear-gradient(135deg, var(--gold), var(--gold-dark));color:var(--white);transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out);animation:fadeInUp .8s 2.5s var(--ease-out) backwards;border-radius:50px;padding:12px 24px;font-size:.7rem;font-weight:600;position:fixed;bottom:24px;left:24px;box-shadow:0 4px 20px #c9a96e66}.rsvp-float-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 25px #c9a96e80}.rsvp-float-btn:active:not(:disabled){transform:translateY(0)}.rsvp-float-btn:disabled{cursor:default;opacity:.85}.rsvp-done{background:linear-gradient(135deg,#6b8f6b,#4a7a4a);box-shadow:0 4px 20px #6b8f6b4d}.welcome-cover-overlay{z-index:9999;background:radial-gradient(circle at 50% 30%,#fff 0%,#faf6ef 55%,#f1e5d4 100%);justify-content:center;align-items:center;padding:24px;transition:opacity .75s cubic-bezier(.4,0,.2,1),transform .75s cubic-bezier(.4,0,.2,1),filter .75s;display:flex;position:fixed;inset:0;overflow:hidden}.welcome-cover-overlay.cover-opening{opacity:0;filter:blur(8px);pointer-events:none;transform:scale(1.06)}.welcome-cover-bg-glow{pointer-events:none;background:radial-gradient(circle,#c9a96e33 0%,#0000 70%);border-radius:50%;width:550px;height:550px;animation:4s ease-in-out infinite alternate glowPulse;position:absolute}@keyframes glowPulse{0%{opacity:.6;transform:scale(.9)}to{opacity:1;transform:scale(1.15)}}.welcome-cover-card{background:#fff;border-radius:24px;width:100%;max-width:480px;padding:16px;animation:.9s cubic-bezier(.16,1,.3,1) forwards coverAppear;position:relative;box-shadow:0 24px 60px #a8874d38,0 6px 18px #0000000a}@keyframes coverAppear{0%{opacity:0;transform:translateY(30px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.cover-border-frame{background:radial-gradient(circle at 50% 20%,#fff 0%,#fdfbf7 100%);border:1.5px solid #c9a96e80;border-radius:18px;padding:44px 28px 40px;position:relative}.cover-corner-top-left,.cover-corner-top-right,.cover-corner-bottom-left,.cover-corner-bottom-right{pointer-events:none;border-color:#c9a96e;width:16px;height:16px;position:absolute}.cover-corner-top-left{border-top:2px solid #c9a96e;border-left:2px solid #c9a96e;top:6px;left:6px}.cover-corner-top-right{border-top:2px solid #c9a96e;border-right:2px solid #c9a96e;top:6px;right:6px}.cover-corner-bottom-left{border-bottom:2px solid #c9a96e;border-left:2px solid #c9a96e;bottom:6px;left:6px}.cover-corner-bottom-right{border-bottom:2px solid #c9a96e;border-right:2px solid #c9a96e;bottom:6px;right:6px}.cover-content{text-align:center;flex-direction:column;align-items:center;display:flex}.cover-ornament-icon{color:#c9a96e;letter-spacing:2px;margin-bottom:8px;font-size:1.1rem}.cover-pretitle{font-family:var(--font-accent,sans-serif);letter-spacing:4px;text-transform:uppercase;color:#8c6f3d;margin-bottom:8px;font-size:.72rem;font-weight:600}.cover-names{font-family:var(--font-display,serif);color:#24201c;background:linear-gradient(135deg,#24201c 30%,#7d6335 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:16px;font-size:clamp(2.3rem,7vw,3rem);font-weight:500;line-height:1.15}.cover-divider{justify-content:center;align-items:center;gap:12px;width:100%;max-width:220px;margin-bottom:18px;display:flex}.cover-divider-line{background:linear-gradient(90deg,#0000,#c9a96e99,#0000);flex:1;height:1px}.cover-divider-diamond{color:#c9a96e;font-size:.55rem}.cover-verse{font-family:var(--font-body,serif);color:#5d5244;max-width:320px;margin-bottom:18px;font-size:.95rem;font-style:italic;line-height:1.5}.cover-verse-ref{font-family:var(--font-accent,sans-serif);letter-spacing:1.5px;color:#8c6f3d;margin-top:6px;font-size:.72rem;font-style:normal;font-weight:500;display:block}.cover-date{font-family:var(--font-accent,sans-serif);letter-spacing:3px;color:#8c6f3d;margin-bottom:30px;font-size:.75rem;font-weight:600}.cover-action-wrapper{margin-top:4px}.cover-open-btn{cursor:pointer;background:0 0;border:none;outline:none;flex-direction:column;align-items:center;gap:8px;transition:transform .25s;display:flex}.cover-open-btn:hover{transform:translateY(-3px)}.cover-open-btn:active{transform:translateY(0)scale(.98)}.seal-ring{color:#fff;background:linear-gradient(135deg,#dfca9b 0%,#c9a96e 50%,#9b783e 100%);border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;transition:all .3s;animation:2.4s ease-in-out infinite sealPulse;display:flex;position:relative;box-shadow:0 8px 24px #c9a96e66,0 2px 6px #0000001a}@keyframes sealPulse{0%{box-shadow:0 0 #c9a96e80,0 8px 24px #c9a96e59}70%{box-shadow:0 0 0 14px #c9a96e00,0 8px 24px #c9a96e59}to{box-shadow:0 0 #c9a96e00,0 8px 24px #c9a96e59}}.cover-open-btn:hover .seal-ring{background:linear-gradient(135deg,#e6d4aa 0%,#d4b67d 50%,#aa874c 100%);transform:scale(1.06)}.seal-icon{filter:drop-shadow(0 1px 2px #00000026);width:30px;height:30px}.cover-btn-text{font-family:var(--font-accent,sans-serif);letter-spacing:2px;text-transform:uppercase;color:#24201c;margin-top:4px;font-size:.82rem;font-weight:600}.cover-btn-sub{font-family:var(--font-body,sans-serif);color:#7d6335;font-size:.78rem;font-style:italic}@supports (height:100dvh){.welcome-cover-overlay{min-height:100dvh}}@media (width<=600px){.welcome-cover-overlay{padding:16px}.welcome-cover-card{padding:14px}.cover-border-frame{padding:36px 22px 32px}}@media (width<=480px){.welcome-cover-overlay{padding:12px}.welcome-cover-card{max-width:100%;padding:10px}.cover-border-frame{padding:28px 16px 24px}.cover-ornament-icon{margin-bottom:6px;font-size:.95rem}.cover-pretitle{letter-spacing:3px;margin-bottom:6px;font-size:.65rem}.cover-names{margin-bottom:12px;font-size:clamp(1.8rem,9vw,2.3rem)}.cover-divider{max-width:180px;margin-bottom:14px}.cover-verse{max-width:280px;margin-bottom:14px;font-size:.85rem;line-height:1.45}.cover-verse-ref{margin-top:4px;font-size:.65rem}.cover-date{letter-spacing:2.5px;margin-bottom:20px;font-size:.68rem}.seal-ring{width:56px;height:56px}.seal-icon{width:24px;height:24px}.cover-btn-text{letter-spacing:1.5px;margin-top:3px;font-size:.72rem}.cover-btn-sub{font-size:.7rem}}@media (width<=380px){.welcome-cover-overlay,.welcome-cover-card{padding:8px}.cover-border-frame{padding:22px 14px 20px}.cover-ornament-icon{margin-bottom:4px;font-size:.85rem}.cover-pretitle{letter-spacing:2.5px;margin-bottom:4px;font-size:.6rem}.cover-names{margin-bottom:10px;font-size:clamp(1.5rem,8.5vw,2rem)}.cover-divider{gap:8px;max-width:160px;margin-bottom:10px}.cover-verse{max-width:250px;margin-bottom:10px;font-size:.8rem;line-height:1.4}.cover-verse-ref{margin-top:3px;font-size:.6rem}.cover-date{letter-spacing:2px;margin-bottom:16px;font-size:.62rem}.cover-action-wrapper{margin-top:0}.seal-ring{width:50px;height:50px}.seal-icon{width:22px;height:22px}.cover-btn-text{letter-spacing:1px;font-size:.66rem}.cover-btn-sub{font-size:.64rem}}@media (height<=600px){.cover-border-frame{padding-top:18px;padding-bottom:16px}.cover-names{margin-bottom:8px;font-size:1.6rem}.cover-verse{margin-bottom:8px;font-size:.78rem}.cover-date{margin-bottom:12px}.seal-ring{width:46px;height:46px}.seal-icon{width:20px;height:20px}.cover-open-btn{gap:4px}}.gifts-section{padding:var(--section-padding);background:var(--cream);scroll-margin-top:60px}.gifts-heading{text-align:center;max-width:580px;margin:0 auto 36px}.gifts-eyebrow{color:var(--gold-dark);font:500 .65rem var(--font-accent);letter-spacing:.2em;text-transform:uppercase;margin-bottom:14px;display:block}.gifts-heading-rule{background:var(--gold);width:42px;height:1px;margin:22px auto;display:block}.gifts-message{color:var(--dark-soft);white-space:pre-line;font-size:1.25rem;line-height:1.6}.gifts-grid{flex-wrap:wrap;justify-content:center;gap:20px;max-width:1040px;margin:0 auto;display:flex}.gifts-card{border:1px solid var(--gold-light);border-radius:var(--border-radius);background:var(--white);text-align:center;overflow-wrap:anywhere;flex-direction:column;flex:260px;align-items:center;min-width:0;max-width:380px;padding:32px 26px;display:flex}.gifts-envelope{background:linear-gradient(150deg, var(--white), var(--cream-dark))}.gifts-icon{color:var(--gold-dark);width:40px;height:40px;margin-bottom:22px}.gifts-icon svg{width:100%;height:100%}.gifts-card-label{font:500 .6rem var(--font-accent);text-transform:uppercase;letter-spacing:.16em;color:var(--dark-soft);margin-bottom:10px}.gifts-card h3{color:var(--dark);margin-bottom:16px;font-size:1.65rem}.gifts-card>p:not(.gifts-card-label){color:var(--dark-soft);white-space:pre-line;margin-bottom:20px;font-size:1.1rem;line-height:1.6}.gifts-reference strong{font:500 .85rem var(--font-accent);color:var(--gold-dark);letter-spacing:.08em;margin-top:6px;display:block}.gifts-store-link{border-bottom:1px solid var(--gold-light);width:100%;min-height:44px;color:var(--gold-dark);font:500 .75rem var(--font-accent);justify-content:space-between;align-items:center;gap:24px;margin-top:auto;padding:13px 0 3px;transition:border-color .2s;display:inline-flex}.gifts-store-link:hover{border-color:var(--gold-dark)}.gifts-store-link:focus-visible{outline:2px solid var(--gold-dark);outline-offset:5px}.gifts-store-link>span[aria-hidden]{font-size:1.1rem}.gifts-envelope-note{color:var(--gold-dark);font:500 .6rem var(--font-accent);letter-spacing:.12em;text-transform:uppercase;margin-top:auto;padding-top:12px}.gifts-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=600px){.gifts-section{padding:var(--section-padding-sm)}.gifts-grid{gap:16px}.gifts-card{flex-basis:100%;max-width:420px;padding:28px 24px}}.gifts-message{white-space:pre-line}.gifts-bank-details{text-align:center;margin:20px 0 0}.gifts-bank-details dt{letter-spacing:.1em;text-transform:uppercase;margin-top:16px;font-size:.75rem}.gifts-bank-details dd{overflow-wrap:anywhere;margin:4px 0 0}.gifts-bank-account{font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all}.floral-section{position:relative;overflow:hidden}.floral-img{pointer-events:none;z-index:0;mix-blend-mode:multiply;opacity:.45;object-fit:contain;position:absolute}.floral-section>:not(.floral-img){z-index:1;position:relative}.floral-corner{width:140px;height:140px}.floral-corner--tl{transform-origin:0 0;top:-15px;left:-15px;transform:rotate(0)}.floral-corner--tr{transform-origin:100% 0;top:-15px;right:-15px;transform:scaleX(-1)}.floral-side{opacity:.4;width:80px;height:120px}.floral-side--left{transform-origin:0;top:50%;left:-10px;transform:translateY(-50%)}.floral-side--right{transform-origin:100%;top:50%;right:-10px;transform:translateY(-50%)scaleX(-1)}.floral-accent{opacity:.35;width:100px;height:100px}.floral-accent--left{transform-origin:0 0;top:-8px;left:-12px}.floral-accent--right{transform-origin:100% 100%;bottom:-8px;right:-12px;transform:rotate(180deg)}.floral-divider{pointer-events:none;justify-content:center;align-items:center;padding:8px 0;display:flex;position:relative;overflow:hidden}.floral-divider-img{opacity:.5;mix-blend-mode:multiply;width:280px;max-width:85%;height:auto;position:relative}.floral-anim-sway{animation:8s ease-in-out infinite floralSway}.floral-anim-sway-alt{animation:9s ease-in-out infinite floralSwayAlt}.floral-anim-float{animation:7s ease-in-out infinite floralFloat}.floral-anim-float-alt{animation:8s ease-in-out .5s infinite floralFloat}.floral-anim-float-subtle{animation:6s ease-in-out infinite floralFloatSubtle}@keyframes floralSway{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(2deg)scale(1.02)}}@keyframes floralSwayAlt{0%,to{transform:scaleX(-1)rotate(0)}50%{transform:scaleX(-1)rotate(-2deg)}}@keyframes floralFloat{0%,to{transform:translateY(-50%)translate(0)}50%{transform:translateY(calc(-50% - 5px))translate(2px)}}@keyframes floralFloatSubtle{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.01)}}.floral-side--right.floral-anim-float-alt{animation:8s ease-in-out .5s infinite floralFloatRight}@keyframes floralFloatRight{0%,to{transform:translateY(-50%)scaleX(-1)translate(0)}50%{transform:translateY(calc(-50% - 5px))scaleX(-1)translate(-2px)}}.floral-accent--right.floral-anim-sway-alt{animation:9s ease-in-out infinite floralSwayAccentRight}@keyframes floralSwayAccentRight{0%,to{transform:rotate(180deg)}50%{transform:rotate(182deg)scale(1.02)}}@media (width<=380px){.floral-corner{width:100px;height:100px}.floral-side{width:60px;height:90px}.floral-accent{width:75px;height:75px}.floral-divider-img{opacity:.45;width:220px}}@media (width>=381px) and (width<=640px){.floral-corner{width:130px;height:130px}.floral-divider-img{width:260px}}@media (width>=641px){.floral-corner{width:180px;height:180px}.floral-side{width:110px;height:165px}.floral-accent{width:140px;height:140px}.floral-divider-img{opacity:.55;width:360px}.floral-img{opacity:.5}}@media (width>=1024px){.floral-corner{width:220px;height:220px}.floral-side{width:130px;height:195px}.floral-divider-img{width:420px}}@media (prefers-reduced-motion:reduce){.floral-img{animation:none!important}}.notfound-container{color:#f8f5ee;text-align:center;background:radial-gradient(circle at 50% 30%,#201a14 0%,#0d0b09 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.notfound-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#181512d9;border:1px solid #d4af3740;border-radius:16px;width:100%;max-width:520px;padding:48px 32px;box-shadow:0 20px 50px #0009,0 0 30px #d4af3714}.notfound-ornament{color:#d4af37;margin-bottom:16px;font-size:2.5rem;animation:3s ease-in-out infinite notfoundPulse}@keyframes notfoundPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.notfound-title{color:#e6ca65;letter-spacing:.5px;margin:0 0 16px;font-family:Cinzel,serif;font-size:1.8rem;font-weight:600}.notfound-desc{color:#f8f5eebf;margin:0 0 24px;font-size:.95rem;line-height:1.6}.notfound-slug{color:#d4af37;background:#d4af371a;border-radius:4px;padding:2px 8px;font-family:monospace;font-size:1.05rem}.notfound-divider{justify-content:center;align-items:center;gap:12px;margin-bottom:28px;display:flex}.notfound-line{background:linear-gradient(90deg,#0000,#d4af3780,#0000);width:50px;height:1px}.notfound-diamond{color:#d4af37;font-size:.75rem}.notfound-btn{color:#12100e;cursor:pointer;background:linear-gradient(135deg,#d4af37,#b89728);border:none;border-radius:8px;padding:12px 28px;font-size:.92rem;font-weight:600;transition:all .25s;box-shadow:0 4px 15px #d4af3740}.notfound-btn:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 20px #d4af3759}.invitation-theme[data-design=sage]{--gold:#6c7b61;--gold-dark:#4f6046;--gold-light:#ccd4bd;--gold-shimmer-1:#6c7b61;--gold-shimmer-2:#d7dfc8;--gold-shimmer-3:#a3b192;--cream:#f5f6ef;--cream-dark:#e8ecdf;--floral:#799276;--floral-light:#79927626;--floral-soft:#79927614;--floral-glow:#79927640;--gold-glow:#6c7b6140;--invitation-floral-filter:hue-rotate(220deg) saturate(.4)}.invitation-theme[data-design=rose]{--gold:#ad6d79;--gold-dark:#8a4d59;--gold-light:#e6c4cb;--gold-shimmer-1:#ad6d79;--gold-shimmer-2:#f4dce0;--gold-shimmer-3:#d599a7;--cream:#fcf4f3;--cream-dark:#f3e2e4;--floral:#bf8694;--floral-light:#bf869426;--floral-soft:#bf869414;--floral-glow:#bf869440;--gold-glow:#ad6d7940;--invitation-floral-filter:hue-rotate(125deg) saturate(.45)}.invitation-theme[data-design=minimal]{--gold:#71614e;--gold-dark:#534535;--gold-light:#d8cebe;--gold-shimmer-1:#71614e;--gold-shimmer-2:#b4a18a;--gold-shimmer-3:#93816a;--cream:#f8f5ee;--cream-dark:#ede7dc;--floral:#b4a18a;--floral-light:#b4a18a26;--floral-soft:#b4a18a14;--floral-glow:#b4a18a40;--gold-glow:#71614e33;--border-radius:2px;--border-radius-sm:2px}.invitation-theme[data-design]:not([data-design=classic]) .floral-img,.invitation-theme[data-design]:not([data-design=classic]) .floral-divider img{filter:var(--invitation-floral-filter,none)}.invitation-theme[data-design=minimal] .floral-img,.invitation-theme[data-design=minimal] .floral-divider,.invitation-theme[data-design=minimal] .hero-particles,.invitation-theme[data-design=minimal] .cover-floral-top,.invitation-theme[data-design=minimal] .cover-floral-bottom{display:none}.invitation-theme[data-design=minimal] .shimmer-text{-webkit-text-fill-color:currentColor;color:var(--gold-dark);background:0 0;animation:none}.invitation-theme[data-design=minimal] .welcome-cover-card,.invitation-theme[data-design=minimal] .cover-border-frame,.invitation-theme[data-design=minimal] .modal-content,.invitation-theme[data-design=minimal] .gifts-card{border-radius:2px}.invitation-theme .welcome-cover-overlay{background:radial-gradient(circle at 50% 30%, var(--white) 0%, var(--cream) 55%, var(--cream-dark) 100%)}.invitation-theme .cover-border-frame{border-color:var(--gold-light);background:linear-gradient(var(--white), var(--cream))}.invitation-theme[data-design]:not([data-design=classic]) :is(.hero-pretext,.hero-day,.hero-month,.hero-date-number,.hero-time,.countdown-number,.scroll-text,.scroll-arrow,.cover-pretitle,.cover-date,.cover-btn-sub,.cover-verse-ref){color:var(--gold-dark)}.invitation-theme[data-design]:not([data-design=classic]) :is(.hero-ampersand,.countdown-separator,.cover-ornament-icon,.cover-divider-diamond){color:var(--gold)}.invitation-theme[data-design]:not([data-design=classic]) :is(.hero-date-badge,.countdown-card,.cover-corner-top-left,.cover-corner-top-right,.cover-corner-bottom-left,.cover-corner-bottom-right){border-color:var(--gold-light)}.invitation-theme[data-design]:not([data-design=classic]) .cover-names{background:linear-gradient(135deg, var(--dark) 30%, var(--gold-dark));-webkit-background-clip:text;background-clip:text}.invitation-theme[data-design]:not([data-design=classic]) .seal-ring{background:linear-gradient(135deg, var(--gold-light), var(--gold), var(--gold-dark));box-shadow:0 8px 24px var(--gold-glow);animation:none}.invitation-theme[data-design]:not([data-design=classic]) .cover-divider-line{background:linear-gradient(90deg, transparent, var(--gold), transparent)}.invitation-theme[data-design]:not([data-design=classic]) .particle{background:var(--gold);box-shadow:0 0 6px var(--gold-glow)}.invitation-theme[data-design]:not([data-design=classic]) .welcome-cover-bg-glow{background:radial-gradient(circle, var(--gold-glow), transparent 70%)}.invitation-theme[data-design=minimal] .hero-date-badge{border-radius:2px}.template-gifts-link{z-index:50;background:var(--cream);color:var(--gold-dark);border:1px solid var(--gold-light);box-shadow:var(--shadow-elevated);font:500 .75rem var(--font-accent);border-radius:30px;padding:12px 20px;position:fixed;bottom:24px;left:24px}.template-gifts-link:focus-visible{outline:2px solid var(--gold-dark);outline-offset:4px}@media (prefers-reduced-motion:reduce){.invitation-theme .section-reveal{opacity:1;transition:none;transform:none}.invitation-theme .shimmer-text{animation:none}}
