.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.admin-login{background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;display:flex}.admin-login-title{font-family:var(--font-serif);color:var(--color-primary);font-size:2rem;font-weight:400}.admin-login-subtitle{color:var(--color-text-light);margin-bottom:8px;font-size:.9rem}.admin-page{background:var(--color-bg);min-height:100vh}.admin-container{width:100%;max-width:716px;margin:0 auto;padding:0 24px}.admin-container-wide{max-width:1080px}.admin-tab-content{padding-top:32px;padding-bottom:60px}.admin-header{background:var(--color-white);z-index:20;border-bottom:1px solid #e8e0d6;align-items:center;height:64px;padding:16px 24px;display:flex;position:sticky;top:0}.admin-header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.admin-title{font-family:var(--font-serif);color:var(--color-primary);margin-bottom:0;font-size:1.8rem;font-weight:400}.admin-tabs-root{flex-direction:column;display:flex}.admin-tabs-list{background:var(--color-white);border-radius:8px;gap:4px;padding:4px;display:flex;box-shadow:0 1px 4px #0000000f}.admin-tab{font-family:var(--font-sans);color:var(--color-text-light);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 20px;font-size:.8rem;font-weight:500;transition:all .2s}.admin-tab[data-state=active]{background:var(--color-primary);color:var(--color-white)}.admin-tab:hover:not([data-state=active]){color:var(--color-primary)}.admin-tab-content[data-state=inactive]{display:none!important}.admin-section-title{font-family:var(--font-serif);color:var(--color-primary);margin:32px 0 16px;font-size:1.3rem;font-weight:400}.admin-section-title:first-child,.settings-group:first-child .admin-section-title,.settings-group-header:first-child .admin-section-title{margin-top:0}.admin-loading,.admin-empty{text-align:center;color:var(--color-text-light);padding:40px}.admin-error{text-align:center;color:#c44;padding:40px}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:16px;display:grid}.admin-tab-content>.admin-stats:first-child{margin-top:0}.stat-card{background:var(--color-white);text-align:center;border-radius:12px;padding:24px 16px;box-shadow:0 2px 12px #0000000a}.stat-number{font-family:var(--font-serif);color:var(--color-primary);margin-bottom:4px;font-size:2rem;font-weight:400;line-height:1;display:block}.stat-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--color-text-light);font-size:.7rem;font-weight:500}.admin-table-wrap{border-radius:12px;overflow-x:auto;box-shadow:0 2px 12px #0000000a}.admin-table{border-collapse:collapse;background:var(--color-white);width:100%;font-size:.85rem}.admin-table th{text-align:left;letter-spacing:1px;text-transform:uppercase;color:var(--color-text-light);white-space:nowrap;border-bottom:1.5px solid #e8e0d6;padding:12px 16px;font-size:.7rem;font-weight:600}.admin-table td{color:var(--color-text);border-bottom:1px solid #f0ebe5;padding:12px 16px}.td-actions{text-align:right;white-space:nowrap;justify-content:flex-end;gap:6px;display:flex}.td-mono{color:var(--color-text-light);text-align:right;white-space:nowrap;font-family:SF Mono,Menlo,Monaco,monospace;font-size:.8rem}th.th-mono{text-align:right}.badge{letter-spacing:.5px;text-transform:uppercase;border-radius:12px;padding:4px 10px;font-size:.7rem;font-weight:600;display:inline-block}.badge-yes{color:#2e7d32;background:#e8f5e9}.badge-no{color:#c62828;background:#fce4ec}.dialog-overlay{z-index:100;background:#0006;animation:.15s fadeIn;position:fixed;inset:0}.dialog-title{font-family:var(--font-serif);color:var(--color-primary);margin-bottom:16px;padding-right:24px;font-size:1.2rem;font-weight:400}.dialog-content{z-index:101;background:var(--color-white);border-radius:12px;width:calc(100% - 48px);max-width:420px;padding:32px;animation:.2s dialogIn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 40px #0000001f}.dialog-close-x{color:var(--color-text-light);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.4rem;line-height:1;transition:color .2s;position:absolute;top:16px;right:16px}.dialog-close-x:hover{color:var(--color-text)}.dialog-content-form{max-width:480px}.dialog-form select.field-input{appearance:auto}.dialog-wish{font-family:var(--font-serif);color:var(--color-text);font-size:1.05rem;font-style:italic;line-height:1.6}.dialog-description{color:var(--color-text-light);margin-bottom:24px;font-size:.9rem;line-height:1.5}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.btn-delete-confirm{font-family:var(--font-sans);color:#fff;cursor:pointer;background:#c44;border:none;border-radius:6px;padding:8px 20px;font-size:.8rem;font-weight:500;transition:background .2s}.btn-delete-confirm:hover{background:#a33}.toast-container{z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;top:16px;right:16px}.toast{font-family:var(--font-sans);border-radius:8px;padding:12px 20px;font-size:.85rem;animation:.2s toastIn;box-shadow:0 4px 20px #0000001f}.toast-error{color:#fff;background:#c44}.toast-success{color:#fff;background:#2e7d32}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogIn{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.btn-wish{font-family:var(--font-sans);border:1px solid var(--color-primary-light);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-size:.75rem;font-weight:500;transition:all .2s}.btn-wish:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-delete{font-family:var(--font-sans);color:#c44;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:6px;padding:6px 12px;font-size:.75rem;font-weight:500;transition:all .2s}.btn-delete:hover{color:#fff;background:#c44;border-color:#c44}.settings-form{max-width:720px}.settings-group{margin-bottom:32px}.settings-group-header{justify-content:space-between;align-items:center;display:flex}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field-label{font-family:var(--font-sans);letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-light);cursor:default;font-size:.75rem;font-weight:500}.field-input{width:100%;font-family:var(--font-sans);background:var(--color-white);color:var(--color-text);border:1.5px solid #ddd5cc;border-radius:8px;outline:none;padding:10px 14px;font-size:.9rem;transition:border-color .2s}.field-input:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 3px #b49a8a1a}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr}.settings-card{background:var(--color-white);border-radius:10px;margin-bottom:12px;padding:16px;box-shadow:0 1px 6px #0000000a}.settings-card-header{color:var(--color-text);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.85rem;display:flex}.btn-add{font-family:var(--font-sans);border:1.5px solid var(--color-primary-light);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-size:.75rem;font-weight:500;transition:all .2s}.btn-add:hover{background:var(--color-primary);color:var(--color-white)}.settings-actions{align-items:center;gap:16px;margin-top:24px;display:flex}.settings-success{color:#2e7d32;font-size:.85rem}.settings-error{color:#c44;font-size:.85rem}.unsaved-bar{z-index:30;background:var(--color-primary);height:64px;transition:transform .2s;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.unsaved-bar-visible{transform:translateY(0)}.unsaved-bar-inner{justify-content:space-between;align-items:center;padding-top:14px;padding-bottom:14px;display:flex}.unsaved-bar-message{font-family:var(--font-sans);color:var(--color-white);font-size:.85rem;font-weight:500}.unsaved-bar-actions{gap:8px;display:flex}.btn-discard{font-family:var(--font-sans);color:var(--color-white);cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:6px;padding:8px 20px;font-size:.8rem;font-weight:500;transition:all .2s}.btn-discard:hover{border-color:var(--color-white);background:#ffffff1a}.btn-save{font-family:var(--font-sans);background:var(--color-white);color:var(--color-primary);cursor:pointer;border:none;border-radius:6px;padding:8px 20px;font-size:.8rem;font-weight:500;transition:all .2s}.btn-save:hover{background:var(--color-bg-alt)}.btn-save:disabled,.btn-discard:disabled{opacity:.5;cursor:not-allowed}.datepicker-trigger{text-align:left;cursor:pointer}.datepicker-popover,.timepicker-popover{background:var(--color-white);z-index:200;border-radius:12px;padding:16px;box-shadow:0 8px 40px #0000001f}.datepicker-popover[data-state=open],.timepicker-popover[data-state=open]{animation:.15s fadeIn}.datepicker-popover .rdp-root{--rdp-accent-color:var(--color-white);--rdp-accent-background-color:var(--color-primary);--rdp-today-color:var(--color-accent);--rdp-day_button-height:36px;--rdp-day_button-width:36px;--rdp-day_button-border-radius:8px;font-family:var(--font-sans);font-size:.85rem}.datepicker-popover .rdp-month_caption{font-family:var(--font-serif);color:var(--color-primary);font-size:1.1rem}.datepicker-popover .rdp-weekday{color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem;font-weight:600}.datepicker-popover .rdp-button_previous,.datepicker-popover .rdp-button_next{color:var(--color-primary);border-radius:6px}.datepicker-popover .rdp-button_previous svg,.datepicker-popover .rdp-button_next svg{fill:var(--color-primary);stroke:var(--color-primary)}.datepicker-popover .rdp-button_previous:hover,.datepicker-popover .rdp-button_next:hover{background:var(--color-bg-alt)}.timepicker-popover{min-width:200px;max-height:300px;padding:8px;overflow-y:auto}.timepicker-grid{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.timepicker-cell{font-family:var(--font-sans);color:var(--color-text);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:6px;padding:8px 4px;font-size:.8rem;transition:all .15s}.timepicker-cell:hover{background:var(--color-bg-alt)}.timepicker-cell.active{background:var(--color-primary);color:var(--color-white)}@media (width<=600px){.form-row,.form-row-3{grid-template-columns:1fr}.admin-header{flex-direction:column;align-items:flex-start}}.admin-header-actions{flex-wrap:wrap;gap:8px;display:flex}.rsvp-detail{flex-direction:column;margin:12px 0 0;display:flex}.rsvp-detail-row{border-bottom:1px solid #eee;grid-template-columns:160px 1fr;align-items:baseline;gap:12px;padding:9px 0;display:grid}.rsvp-detail-row:last-child{border-bottom:none}.rsvp-detail-row dt{letter-spacing:.02em;color:#8a8a8a;margin:0;font-size:.78rem;font-weight:600}.rsvp-detail-row dd{color:#222;word-break:break-word;margin:0;font-size:.92rem}@media (width<=600px){.rsvp-detail-row{grid-template-columns:1fr;gap:2px}}.admin-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.admin-search{background:#fff;border:1px solid #ddd;border-radius:8px;flex:240px;min-width:200px;padding:9px 12px;font-family:inherit;font-size:.9rem}.admin-filter-select{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;padding:9px 12px;font-family:inherit;font-size:.86rem}.admin-search:focus,.admin-filter-select:focus{border-color:var(--color-primary,#2f4a42);outline:none}.btn-clear-filters{color:#777;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;padding:9px 14px;font-family:inherit;font-size:.84rem}.btn-clear-filters:hover{color:#333;background:#f5f3ef}.admin-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.admin-pagination-info{color:#999;font-size:.84rem}.admin-pagination-controls{align-items:center;gap:6px;display:flex}.btn-page{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:7px;padding:7px 12px;font-family:inherit;font-size:.84rem}.btn-page:hover:not(:disabled){background:#f5f3ef}.btn-page:disabled{opacity:.4;cursor:default}.admin-pagination-page{color:#555;white-space:nowrap;padding:0 6px;font-size:.84rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-cream:#f6efe3;--color-cream-deep:#efe6d6;--color-linen:#f2ebdd;--color-teal:#2f4a42;--color-teal-deep:#223a34;--color-sage:#9db8ac;--color-sage-soft:#cadbd2;--color-gold:#b08d4f;--color-gold-soft:#cbb083;--color-bg:var(--color-cream);--color-bg-alt:var(--color-cream-deep);--color-primary:var(--color-teal);--color-primary-light:#4b6b60;--color-accent:var(--color-gold);--color-gold-accent:var(--color-gold);--color-text:#3f3a30;--color-text-light:#726b5c;--color-white:#fff;--font-script:"Pinyon Script", cursive;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Montserrat", "Segoe UI", sans-serif}html{scroll-behavior:smooth;overflow-y:scroll}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;overflow:hidden}img{max-width:100%}.container{max-width:720px;margin:0 auto;padding:0 24px}.sec-script{font-family:var(--font-script);color:var(--color-teal);text-align:center;font-size:clamp(2.4rem,8vw,3.6rem);font-weight:400;line-height:1}.sec-script-sm{font-family:var(--font-script);color:var(--color-teal);font-size:clamp(1.7rem,5vw,2.3rem);font-weight:400;line-height:1}.sec-block{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.22em;color:var(--color-teal);text-align:center;margin:.1em 0 1.6rem;font-size:clamp(1.3rem,4.5vw,1.9rem);font-weight:500}.sec-script+.sec-block{margin-top:-.15em}.aos-wrapper{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(40px)}.aos-wrapper.aos-visible{opacity:1;transform:translateY(0)}.cover{z-index:1000;background:#6d7f7a url(/images/design/waves-poster.jpg) 50%/cover no-repeat;justify-content:center;align-items:center;transition:opacity .8s,visibility .8s;display:flex;position:fixed;inset:0;overflow:hidden}.cover-video{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.cover.fade-out{opacity:0;visibility:hidden;pointer-events:none}.cover-overlay{background:linear-gradient(#3c4e4a59 0%,#28373480 100%);position:absolute;inset:0}.cover-content{z-index:1;text-align:center;color:var(--color-white);padding:24px;animation:1.2s forwards fadeInUp;position:relative}.cover-script{font-family:var(--font-script);background:linear-gradient(100deg,#fff 40%,#bfe6ea 50%,#fff 60%) 0 0/240%;color:#0000;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 12px #00000059);-webkit-background-clip:text;background-clip:text;margin-bottom:2rem;font-size:clamp(2.4rem,9vw,4rem);line-height:1.1;animation:5.5s ease-in-out infinite cordial-shimmer}@keyframes cordial-shimmer{0%{background-position:130%}to{background-position:-130%}}@media (prefers-reduced-motion:reduce){.cover-script{animation:none}}.envelope{cursor:pointer;background:0 0;border:none;width:min(560px,90vw);margin:0 auto;padding:0;transition:transform .3s;display:block;position:relative}.envelope:hover{transform:translateY(-4px)scale(1.02)}.envelope-img{filter:drop-shadow(0 16px 28px #0000004d);border-radius:3px;width:100%;height:auto;display:block}.main-content{overflow-x:hidden}.section{background-color:var(--color-cream);padding:84px 0;position:relative}.section-canva{background:0 0;margin:0;padding:0;font-size:0;line-height:0;position:relative}.section-canva picture{display:block}.canva-img{width:100%;height:auto;display:block}.canva-actions{background:var(--color-cream);flex-wrap:wrap;justify-content:center;gap:10px;padding:22px 16px 28px;display:flex}.canva-hotspot{cursor:pointer;z-index:2;background:0 0;border:none;padding:0;position:absolute}.registry-hotspot{width:26%;height:7%;top:72.5%;left:37%}@media (width<=768px){.registry-hotspot{width:56%;height:6%;top:92%;left:22%}}.fund-home-btn{cursor:pointer;font-family:var(--font-serif);letter-spacing:.1em;color:#3a3a34;z-index:2;background:0 0;border:none;font-size:1.15rem;position:absolute;bottom:2.5%;left:50%;transform:translate(-50%)}.fund-home-btn span{text-underline-offset:4px;padding:0 3px;text-decoration:underline}.fund-home-btn:hover span{color:#000}.footer-min{text-align:center;background:var(--color-linen);padding:40px 24px 88px}.footer-min-names{font-family:var(--font-script);color:var(--color-teal);font-size:clamp(1.8rem,6vw,2.4rem);line-height:1}.footer-min-note{font-family:var(--font-serif);color:var(--color-text-light);margin-top:6px;font-size:.95rem;font-style:italic}.opt-list{flex-direction:column;gap:10px;display:flex}.opt-list.opt-row{flex-direction:row}.opt{text-align:left;width:100%;color:var(--color-text);font-family:var(--font-sans);cursor:pointer;background:#cdc4b580;border:1px solid #b2a6944d;border-radius:8px;align-items:center;gap:10px;padding:14px 16px;font-size:.9rem;transition:all .2s;display:flex}.opt-row .opt{flex:1;justify-content:center}.opt:hover{border-color:var(--color-gold-soft)}.opt-on{border-color:var(--color-teal);background:var(--color-sage-soft);color:var(--color-teal-deep);font-weight:500}.opt-box{border:1.5px solid #b9ad99;border-radius:4px;flex:0 0 16px;width:16px;height:16px}.opt-check.opt-on .opt-box{background:var(--color-teal);border-color:var(--color-teal)}.lbl-note{color:var(--color-text-light);font-size:.85em;font-style:italic;font-weight:400}.hero-invite{background-color:var(--color-linen);text-align:center;padding-top:96px}.invite-card{border:1px solid var(--color-gold-soft);outline:1px solid var(--color-gold-soft);outline-offset:6px;background:#fbf7ef;max-width:460px;margin:0 auto;padding:40px 28px;box-shadow:0 8px 30px #78643c14}.invite-eyebrow{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.35em;color:var(--color-gold);margin-bottom:1.25rem;font-size:.8rem}.invite-sub{font-family:var(--font-serif);color:var(--color-text-light);margin-bottom:.5rem;font-size:1rem;font-style:italic}.invite-names{font-family:var(--font-serif);color:var(--color-teal);font-size:clamp(1.8rem,6.5vw,2.6rem);font-weight:400;line-height:1.15}.invite-amp{font-family:var(--font-script);color:var(--color-gold);margin:.1em 0;font-size:1.4em;line-height:.9;display:block}.invite-date{font-family:var(--font-sans);letter-spacing:3px;text-transform:uppercase;color:var(--color-text-light);margin-top:1.25rem;font-size:.78rem}.hero-collage{width:min(460px,90vw);height:clamp(300px,78vw,380px);margin:3rem auto 1.5rem;position:relative}.collage-photo{background:#fff;border:6px solid #fff;position:absolute;overflow:hidden;box-shadow:0 10px 26px #00000029}.collage-photo img{object-fit:cover;width:100%;height:100%;display:block}.collage-photo-main{z-index:2;width:56%;height:66%;top:4%;left:5%;transform:rotate(-4deg)}.collage-photo-sub{z-index:1;width:46%;height:54%;bottom:4%;right:3%;transform:rotate(5deg)}.collage-sprig{z-index:3;width:30%;position:absolute;top:-6%;right:-2%}.collage-seal{z-index:3;filter:drop-shadow(0 4px 8px #00000040);width:20%;position:absolute;bottom:6%;left:-3%}.hero-withlove{font-family:var(--font-serif);color:var(--color-text-light);font-size:1.05rem;font-style:italic}.hero-couple-script{font-family:var(--font-script);color:var(--color-teal);font-size:clamp(1.9rem,6vw,2.6rem);line-height:1.1}.details-section{background-color:var(--color-cream-deep)}.details-card{text-align:center;border:1px solid var(--color-gold-soft);outline:1px solid var(--color-gold-soft);outline-offset:7px;background:#fbf8f1;max-width:480px;margin:0 auto;padding:48px 32px;box-shadow:0 10px 34px #78643c1a}.details-script{margin-bottom:0}.details-block{margin-bottom:1.8rem}.details-label{font-family:var(--font-serif);color:var(--color-gold);margin-bottom:.25rem;font-size:1.15rem;font-style:italic}.details-datetime{font-family:var(--font-serif);color:var(--color-teal);font-size:1.35rem;font-weight:600}.details-divider{background:var(--color-gold-soft);width:60px;height:1px;margin:1.5rem auto}.details-eyebrow{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.2em;color:var(--color-teal);margin-bottom:.5rem;font-size:.9rem;font-weight:600}.details-venue{color:var(--color-text);font-size:.98rem}.details-address{color:var(--color-text-light);margin-top:.25rem;font-size:.9rem;line-height:1.5}.venue-section{text-align:center}.map-container{border:1px solid var(--color-gold-soft);border-radius:12px;max-width:640px;margin:0 auto 24px;overflow:hidden;box-shadow:0 6px 26px #0000001a}.map-container iframe{display:block}.venue-buttons{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.rsvp-section{text-align:center;background:#cdbfa6 url(/images/design/silk-gold.jpg) 50%/cover no-repeat}.rsvp-overlay{background:#e2d8c666;position:absolute;inset:0}.rsvp-inner{z-index:1;position:relative}.rsvp-script,.rsvp-block{color:#fff;text-shadow:0 2px 10px #5a4a3059}.rsvp-by{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.12em;color:#fff;text-shadow:0 1px 6px #5a4a304d;margin-top:-.75rem;margin-bottom:2rem;font-size:.9rem;font-weight:600}.rsvp-form{text-align:left;background:#f9f5ee8c;border-radius:16px;max-width:560px;margin:0 auto;padding:32px 28px;box-shadow:0 10px 40px #78643c1f}.form-group{margin-bottom:18px}.form-group label{font-family:var(--font-sans);letter-spacing:.5px;color:var(--color-teal);margin-bottom:6px;font-size:.78rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{width:100%;font-family:var(--font-sans);color:var(--color-text);background:#cdc4b580;border:1px solid #b2a69459;border-radius:8px;outline:none;padding:14px 16px;font-size:.9rem;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-teal)}.form-group input::placeholder,.form-group textarea::placeholder{color:#b6ac9c}.form-group textarea{resize:vertical}.form-note{color:var(--color-text-light);margin-top:6px;font-size:.75rem;font-style:italic}.rsvp-form .btn-primary{color:#40372a;background:linear-gradient(#cdb389 0%,#b89b70 100%);width:100%;margin-top:8px;display:block}.rsvp-form .btn-primary:hover{background:linear-gradient(#c4a87c 0%,#ac8f64 100%)}.rsvp-error{color:#b4472f;margin-bottom:12px;font-size:.85rem}.rsvp-success{border:1px solid var(--color-gold-soft);background:#ffffffd9;border-radius:10px;max-width:460px;margin:0 auto;padding:32px}.rsvp-success p{font-family:var(--font-serif);color:var(--color-teal);font-size:1.4rem}.rsvp-success-sub{margin-top:.5rem;font-style:italic;color:var(--color-text-light)!important;font-size:.95rem!important}.attendance-section{background:var(--color-teal);padding:56px 0}.attendance-counters{justify-content:center;align-items:center;gap:clamp(28px,8vw,64px);display:flex}.attendance-item{flex-direction:column;align-items:center;display:flex}.attendance-divider{background:#ffffff40;width:1px;height:60px}.attendance-number{font-family:var(--font-serif);color:#fff;font-size:clamp(2.5rem,9vw,3.6rem);font-weight:400;line-height:1}.attendance-label{font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;color:var(--color-sage-soft);margin-top:10px;font-size:.72rem;font-weight:500}.dresscode-section{text-align:center}.dresscode-intro{font-family:var(--font-serif);color:var(--color-text-light);margin-bottom:2.5rem;font-size:1.1rem}.tone-row{justify-content:center;gap:clamp(14px,4vw,28px);margin-bottom:3rem;display:flex}.tone{flex-direction:column;align-items:center;gap:10px;display:flex}.tone img{object-fit:cover;border-radius:40px;width:clamp(46px,13vw,68px);height:clamp(70px,20vw,104px);box-shadow:0 6px 16px #0000001f}.tone span{font-family:var(--font-sans);letter-spacing:1px;text-transform:uppercase;color:var(--color-text-light);font-size:.66rem}.dresscode-guides{flex-wrap:wrap;justify-content:center;gap:2.5rem;max-width:560px;margin:0 auto;display:flex}.dresscode-guide{flex:220px}.dresscode-guide h4{margin-bottom:.5rem}.dresscode-guide p{color:var(--color-text-light);font-size:.92rem;font-style:italic}.timeline-section{background-color:var(--color-cream-deep);text-align:center}.timeline-monogram{width:90px;height:auto;margin:0 auto .5rem;display:block}.timeline-title{margin-bottom:.25rem}.timeline-date{font-family:var(--font-serif);letter-spacing:.1em;color:var(--color-gold);margin-bottom:2.5rem;font-style:italic}.timeline-list{text-align:left;max-width:380px;margin:0 auto;list-style:none;position:relative}.timeline-list:before{content:"";background:var(--color-gold-soft);width:1.5px;position:absolute;top:12px;bottom:12px;left:28px}.timeline-item{align-items:center;gap:1.25rem;padding:.85rem 0;display:flex;position:relative}.timeline-icon{border:1px solid var(--color-gold-soft);z-index:1;background:#fbf8f1;border-radius:50%;flex:0 0 56px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.timeline-icon img{object-fit:contain;width:58%;height:58%}.timeline-time{font-family:var(--font-serif);color:var(--color-teal);font-size:1.1rem;font-weight:600;display:block}.timeline-label{font-family:var(--font-serif);color:var(--color-text-light);font-size:.95rem;font-style:italic;display:block}.accommodation-section{text-align:center;background:url(/images/design/silk-white.jpg) 50%/cover no-repeat}.accommodation-overlay{background:#fdfcf980;position:absolute;inset:0}.accommodation-inner{z-index:1;max-width:540px;position:relative}.accommodation-title{margin-bottom:1.25rem}.accommodation-lead{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.14em;color:var(--color-teal);margin-bottom:1.25rem;font-size:.92rem}.accommodation-body{font-family:var(--font-serif);color:var(--color-text);margin-bottom:2rem;font-size:1.2rem;font-style:italic;line-height:1.7}.accommodation-logo{width:150px;height:auto}.ourstory-section{text-align:center}.ourstory-text{max-width:440px;font-family:var(--font-serif);color:var(--color-text-light);margin:0 auto 2.5rem;font-size:1.15rem;font-style:italic;line-height:1.7}.ourstory-collage{width:min(460px,90vw);height:clamp(300px,80vw,400px);margin:0 auto;position:relative}.ourstory-photo{background:#fff;border:6px solid #fff;position:absolute;overflow:hidden;box-shadow:0 10px 26px #00000029}.ourstory-photo img{object-fit:cover;width:100%;height:100%;display:block}.ourstory-photo-a{z-index:1;width:54%;height:62%;top:6%;left:6%;transform:rotate(-3deg)}.ourstory-photo-b{z-index:2;width:48%;height:56%;bottom:4%;right:4%;transform:rotate(4deg)}.ourstory-seal{z-index:3;filter:drop-shadow(0 4px 8px #00000040);width:20%;position:absolute;top:0;left:44%}.ourstory-sprig{z-index:0;width:26%;position:absolute;top:-4%;right:-3%}.gallery-section{background-color:var(--color-cream-deep);text-align:center}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.gallery-grid img{aspect-ratio:1;object-fit:cover;cursor:pointer;background:#fff;border-radius:8px;width:100%;transition:transform .3s;box-shadow:0 3px 12px #0000000f}.gallery-grid img:hover{transform:scale(1.03)}.lightbox{z-index:2000;cursor:pointer;background:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-img{object-fit:contain;cursor:default;border-radius:8px;max-width:90vw;max-height:85vh}.lightbox-close{color:#fff;cursor:pointer;opacity:.7;background:0 0;border:none;font-size:2rem;transition:opacity .2s;position:absolute;top:16px;right:20px}.lightbox-close:hover{opacity:1}.lightbox-prev,.lightbox-next{color:#fff;cursor:pointer;opacity:.5;background:0 0;border:none;padding:0 16px;font-size:3rem;transition:opacity .2s;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev:hover,.lightbox-next:hover{opacity:1}.lightbox-prev{left:8px}.lightbox-next{right:8px}.faq-section{text-align:center}.faq-eyebrow{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.28em;color:var(--color-gold);margin-bottom:.25rem;font-size:.82rem}.faq-list{text-align:left;max-width:900px;margin:2.5rem auto 0}.faq-row{align-items:stretch;gap:16px;margin-bottom:18px;display:flex}.faq-q,.faq-a{border-radius:44px;align-items:center;gap:14px;padding:16px 26px;display:flex}.faq-q{background:var(--color-teal);flex:0 0 38%}.faq-q-icon{font-family:var(--font-serif);color:#fff;border-right:1px solid #ffffff59;padding-right:6px;font-size:2rem;font-weight:600;line-height:1}.faq-q p{font-family:var(--font-serif);color:#fff;font-size:1rem;font-style:italic}.faq-a{background:#f8f3e9;border:1px solid #ece2d0;flex:1}.faq-a p{font-family:var(--font-serif);color:var(--color-text-light);flex:1;font-size:.98rem;font-style:italic}.faq-a-icon{font-family:var(--font-serif);color:var(--color-teal);border-left:1px solid #ddd2bd;padding-left:8px;font-size:2.2rem;font-weight:600;line-height:1}.faq-footnote{font-family:var(--font-serif);color:var(--color-text-light);margin-top:2rem;font-style:italic}.wishes-section{background-color:var(--color-cream-deep);text-align:center}.wishes-wall{flex-direction:column;gap:16px;max-width:480px;margin:0 auto;display:flex}.wish-card{text-align:left;background:#fbf8f1;border:1px solid #ece2d0;border-radius:10px;padding:24px;box-shadow:0 3px 14px #0000000a}.wish-text{font-family:var(--font-serif);color:var(--color-text);margin-bottom:8px;font-size:1.1rem;font-style:italic;line-height:1.6}.wish-author{color:var(--color-text-light);font-size:.8rem}.registry-section{text-align:center;background:url(/images/design/silk-cream.jpg) 50%/cover no-repeat}.registry-title{margin-bottom:.75rem}.registry-lead{font-family:var(--font-serif);color:var(--color-teal);max-width:420px;margin:0 auto 1.5rem;font-size:1.2rem}.registry-plate{width:140px;height:auto;margin:0 auto 1.5rem;display:block}.registry-body{max-width:480px;color:var(--color-text-light);margin:0 auto 2.5rem;font-size:.95rem;line-height:1.8}.fund-card{border:1px solid var(--color-gold-soft);background:#ffffffeb;border-radius:12px;max-width:400px;margin:0 auto;padding:36px 28px;box-shadow:0 12px 34px #78643c1f}.fund-title{color:var(--color-teal);margin-bottom:.5rem}.fund-sub{color:var(--color-text-light);margin-bottom:1.75rem;font-size:.88rem;line-height:1.6}.fund-bank-name{font-family:var(--font-serif);color:var(--color-teal);margin-bottom:1rem;font-size:1.1rem;font-weight:600}.fund-qr{border-radius:8px;width:190px;height:auto;margin:0 auto;display:block}.fund-acct{font-family:var(--font-sans);letter-spacing:1px;color:var(--color-text);margin-top:1rem;font-size:.9rem}.fund-duitnow{border-top:1px solid #e7ddcb;margin-top:1.75rem;padding-top:1.5rem}.fund-duitnow img{width:88px;height:auto}.fund-phone{letter-spacing:1px;color:var(--color-text);margin-top:.25rem;font-size:.9rem}.fund-thanks{font-family:var(--font-serif);color:var(--color-text-light);margin-top:1.75rem;font-size:.95rem;font-style:italic}.countdown-section{text-align:center;background:#3b4a47 url(/images/design/hands.png) 50%/cover no-repeat}.countdown-overlay{background:linear-gradient(#1e28268c 0%,#192220b3 100%);position:absolute;inset:0}.countdown-inner{z-index:1;position:relative}.countdown-title{color:#fff;text-shadow:0 2px 12px #0000004d;margin-bottom:2rem}.countdown{flex-wrap:nowrap;justify-content:center;align-items:flex-start;gap:clamp(3px,1.4vw,12px);display:flex}.countdown-item{flex-direction:column;align-items:center;min-width:0;display:flex}.countdown-number{font-family:var(--font-serif);color:#fff;font-size:clamp(2.4rem,12vw,5rem);font-weight:400;line-height:1}.countdown-colon{font-family:var(--font-serif);color:#fff;font-size:clamp(1.9rem,9.5vw,4rem);font-weight:400;line-height:1}.countdown-label{font-family:var(--font-sans);letter-spacing:1.5px;text-transform:uppercase;color:#eef2f0;margin-top:14px;font-size:clamp(.6rem,2.2vw,.82rem);font-weight:500}.countdown-tag{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.15em;color:#fff;margin-top:1.5rem;font-size:clamp(1.3rem,4.5vw,2rem);font-weight:700}.countdown-seeyou{font-family:var(--font-script);color:#fff;text-shadow:0 2px 12px #0000004d;margin-top:.75rem;font-size:clamp(1.6rem,5vw,2.2rem)}.contact-section{background-color:var(--color-cream-deep);text-align:center}.contact-subtitle{font-family:var(--font-serif);color:var(--color-text-light);margin-bottom:2rem;font-size:1.05rem;font-style:italic}.contact-cards{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.contact-card{background:#fbf8f1;border:1px solid #ece2d0;border-radius:12px;min-width:200px;padding:32px 24px;box-shadow:0 3px 18px #0000000d}.contact-name{font-family:var(--font-serif);color:var(--color-teal);margin-bottom:4px;font-size:1.4rem;font-weight:500}.contact-role{color:var(--color-gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;font-size:.72rem}.contact-buttons{justify-content:center;gap:8px;display:flex}.save-the-date{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px;display:flex}.btn{font-family:var(--font-sans);letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:none;border-radius:6px;padding:13px 30px;font-size:.78rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block}.btn-primary{background:var(--color-teal);color:#fff}.btn-primary:hover{background:var(--color-teal-deep)}.btn-primary:disabled{opacity:.6;cursor:default}.btn-outline{color:var(--color-teal);border:1.5px solid var(--color-gold-soft);background:0 0}.btn-outline:hover{background:var(--color-teal);color:#fff;border-color:var(--color-teal)}.btn-sm{letter-spacing:1px;padding:9px 18px;font-size:.68rem}.footer{text-align:center;background:url(/images/design/lace-bg.jpg) 50%/cover no-repeat;background-color:var(--color-linen);padding:72px 0 56px;position:relative}.footer-overlay{background:#f2ebddb8;position:absolute;inset:0}.footer-inner{z-index:1;position:relative}.footer-ribbon{width:min(280px,70vw);height:auto;margin:0 auto 1rem;display:block}.footer-seeyou{font-family:var(--font-serif);color:var(--color-text-light);font-size:1.1rem;font-style:italic}.footer-date-script{font-family:var(--font-script);color:var(--color-teal);margin:.25rem 0 1rem;font-size:clamp(2rem,7vw,3rem);line-height:1.1}.footer-names{font-family:var(--font-serif);text-transform:uppercase;letter-spacing:.3em;color:var(--color-gold);font-size:.85rem}.bottom-nav{z-index:900;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff5;border-top:1px solid #e8ddca;justify-content:space-around;align-items:center;padding:8px 0;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 14px #0000000f}.bottom-nav-item{cursor:pointer;color:var(--color-text-light);background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:4px 12px;transition:color .2s;display:flex}.bottom-nav-item:hover{color:var(--color-teal)}.bottom-nav-icon{font-size:1.2rem}.bottom-nav-label{font-family:var(--font-sans);letter-spacing:1px;text-transform:uppercase;font-size:.6rem;font-weight:500}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (width<=600px){.section{padding:64px 0}.gallery-grid{grid-template-columns:repeat(2,1fr)}.bottom-nav{display:flex}.footer-min{padding-bottom:96px}.countdown-section{padding-bottom:64px}.faq-row{flex-direction:column;gap:8px}.faq-q{flex-basis:auto}}
