:root{--dusty-blue:#8fa9bb;--dusty-blue-deep:#607d91;--dusty-blue-light:#d8e4eb;--ivory:#faf8f4;--cream:#edf3f6;--champagne:#e9dfd2;--warm-beige:#d9dfe1;--charcoal:#344552;--white:#fff;--gold:var(--dusty-blue);--gold-light:var(--dusty-blue-light);--gold-dark:var(--dusty-blue-deep);--sage:var(--dusty-blue-deep);--sage-light:var(--dusty-blue-light);--text-primary:var(--charcoal);--text-secondary:#526775;--text-muted:#71828d;--line:#607d9140;--line-strong:#607d917a;--surface:#ffffffd1;--shadow-soft:0 22px 70px #3445521a;--shadow-float:0 30px 90px #34455229;--radius-sm:8px;--radius-md:16px;--radius-lg:26px;--font-script:"Segoe Script", "Brush Script MT", cursive}html{scroll-padding-top:82px}body{background:radial-gradient(circle at 8% 12%, #d8e4eb85, transparent 25rem), var(--ivory);color:var(--text-primary);font-family:var(--font-sans), sans-serif;letter-spacing:.006em}.font-serif{font-family:var(--font-serif), serif}.script-text{font-family:var(--font-script), cursive;font-style:normal;font-weight:400}button,a,input,select,textarea{border-radius:var(--radius-sm)}button,a{transition:color .25s,background-color .25s,border-color .25s,transform .25s,box-shadow .25s}input,select,textarea{border-color:var(--line-strong)!important;color:var(--text-primary)!important;background:#ffffffe6!important}input:focus,select:focus,textarea:focus{outline:none;box-shadow:0 0 0 4px #8fa9bb2b;border-color:var(--dusty-blue-deep)!important}::selection{background:var(--dusty-blue-deep);color:var(--white)}:focus-visible{outline:2px solid var(--dusty-blue-deep);outline-offset:4px}.section-padding{padding:clamp(92px,11vw,150px) clamp(22px,5vw,72px)}.section-shell{width:min(1120px,100%);margin-inline:auto}.btn-primary,.btn-outline{letter-spacing:.16em;text-transform:uppercase;border-radius:999px;justify-content:center;min-height:48px;padding:13px 26px;font-size:.72rem;font-weight:600;line-height:1}.btn-primary{border:1px solid var(--dusty-blue-deep);background:var(--dusty-blue-deep);color:var(--white);box-shadow:0 12px 30px #607d9133}.btn-primary:hover{background:#506d80;border-color:#506d80;transform:translateY(-2px);box-shadow:0 17px 34px #607d9140}.btn-outline{border-color:var(--dusty-blue-deep);color:var(--dusty-blue-deep)}.btn-outline:hover{background:var(--dusty-blue-light);color:var(--charcoal);transform:translateY(-1px)}.card-elegant{border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffe6;box-shadow:0 18px 55px #34455212}.eyebrow{color:var(--dusty-blue-deep);letter-spacing:.28em;font-size:.7rem;font-weight:600}.divider-gold{background:linear-gradient(90deg, transparent, var(--dusty-blue), transparent)}.section-heading{text-align:center;max-width:720px;margin:0 auto clamp(50px,7vw,82px)}.section-heading-left{text-align:left;margin-left:0}.section-heading-accent{color:var(--dusty-blue-deep);margin-bottom:5px;font-size:clamp(2rem,4vw,3rem);line-height:1}.section-heading h2{color:var(--charcoal);font:400 clamp(2.7rem, 6vw, 5.1rem)/.98 var(--font-serif);letter-spacing:-.035em;text-wrap:balance}.section-heading-description{color:var(--text-secondary);margin:20px auto 0;font-size:.95rem;line-height:1.8;max-width:560px!important}.section-heading-left .section-heading-description{margin-left:0}.section-heading-rule{width:min(220px,56vw);color:var(--dusty-blue);font:400 .8rem var(--font-serif);justify-content:center;align-items:center;gap:7px;margin:26px auto 0;display:flex}.section-heading-rule:before,.section-heading-rule:after{content:"";background:linear-gradient(90deg, transparent, var(--dusty-blue));flex:1;height:1px}.section-heading-rule:after{background:linear-gradient(90deg, var(--dusty-blue), transparent)}.section-heading-rule i{font-style:normal}.section-heading-rule b{font-style:italic;font-weight:400}.site-navigation{z-index:80;height:78px;color:var(--charcoal);transition:background-color .3s,box-shadow .3s,height .3s;position:fixed;top:0;left:0;right:0}.site-navigation.is-scrolled{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#faf8f4e6;border-bottom:1px solid #607d9129;height:68px;box-shadow:0 8px 30px #34455212}.site-navigation-inner{justify-content:space-between;align-items:center;width:min(1320px,100%);height:100%;margin-inline:auto;padding-inline:clamp(20px,4vw,58px);display:flex}.nav-monogram{border:1px solid var(--line-strong);width:48px;height:48px;color:var(--dusty-blue-deep);font:500 1rem var(--font-serif);background:#faf8f4a3;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.nav-monogram i{margin-inline:3px;font-size:.72em}.nav-links{align-items:center;gap:clamp(20px,2.6vw,38px);display:flex}.nav-links>a{color:var(--charcoal);letter-spacing:.15em;text-transform:uppercase;text-shadow:none;font-size:.68rem;font-weight:600;text-decoration:none;position:relative}.nav-links>a:after{content:"";background:var(--dusty-blue-deep);height:1px;transition:right .25s,left .25s;position:absolute;bottom:-8px;left:50%;right:50%}.nav-links>a:hover:after{left:0;right:0}.nav-mobile-heading,.nav-mobile-extras{display:none}.nav-actions{align-items:center;gap:10px;display:flex}.language-switcher{border:1px solid var(--line-strong);min-height:40px;color:var(--text-muted);letter-spacing:.1em;background:#faf8f4b8;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:0 12px;font-size:.62rem;font-weight:700;display:inline-flex}.language-switcher button{color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;padding:7px 2px;transition:color .2s}.language-switcher button:hover,.language-switcher button.is-active{color:var(--dusty-blue-deep)}.language-switcher button.is-active{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.language-switcher.is-compact{min-width:76px}.opening-language-switcher{z-index:8;position:absolute;top:clamp(16px,3vw,30px);right:clamp(16px,3vw,30px)}.opening-language-switcher .language-switcher{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#faf8f4e6;box-shadow:0 8px 22px #34455214}.nav-photo-link{border:1px solid var(--line-strong);min-height:40px;color:var(--dusty-blue-deep);letter-spacing:.1em;text-transform:uppercase;text-shadow:none;background:#faf8f49e;border-radius:999px;align-items:center;gap:8px;padding:0 17px;font-size:.65rem;font-weight:600;text-decoration:none;display:inline-flex}.nav-photo-link:hover{background:var(--dusty-blue-deep);color:#fff}.nav-photo-link svg,.nav-menu-button svg{width:16px}.nav-menu-button{border:1px solid var(--line-strong);width:42px;height:42px;color:var(--charcoal);background:#faf8f4db;place-items:center;display:none}.hero{isolation:isolate;min-height:100svh;color:var(--charcoal);background:linear-gradient(145deg,#f9faf9 0%,#eef4f7 55%,#f8f5f0 100%);padding:112px clamp(24px,5vw,76px) 82px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;background:radial-gradient(circle at 28% 45%,#ffffffd9,#0000 36%);position:absolute;inset:0}.hero-floral-frame{z-index:-2;object-fit:cover;object-position:center;opacity:.46;mix-blend-mode:multiply}.hero-inner{grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);align-items:center;gap:clamp(44px,7vw,104px);width:min(1220px,100%);margin:auto;display:grid}.hero-copy{text-align:center;flex-direction:column;align-items:center;display:flex}.hero-eyebrow{margin-bottom:13px}.hero-introduction{max-width:480px;color:var(--text-secondary);font:italic 400 clamp(1.1rem, 2vw, 1.45rem)/1.6 var(--font-serif);text-wrap:balance;margin-bottom:22px}.hero-names{color:var(--dusty-blue-deep);font:400 clamp(5rem, 9.4vw, 9.4rem)/.58 var(--font-script);letter-spacing:0;text-shadow:none;flex-direction:column;align-items:center;display:flex}.hero-names span{display:block}.hero-names i{color:var(--dusty-blue);font:italic 400 .27em/1 var(--font-serif);margin:.35em 0 .28em}.hero-fine-rule{width:min(260px,62vw);color:var(--dusty-blue);align-items:center;gap:12px;margin:34px auto 20px;display:flex}.hero-fine-rule:before,.hero-fine-rule:after{content:"";background:var(--dusty-blue);opacity:.54;flex:1;height:1px}.hero-date{color:var(--charcoal);font:500 clamp(1.25rem, 2.2vw, 1.7rem) var(--font-serif);letter-spacing:.13em;text-transform:uppercase}.hero-place{color:var(--text-secondary);letter-spacing:.12em;text-transform:uppercase;margin-top:8px;font-size:.78rem}.hero-countdown{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:center;align-items:center;margin:28px 0;display:flex}.hero-countdown span{min-width:86px;padding:11px 18px;display:grid}.hero-countdown span+span{border-left:1px solid var(--line)}.hero-countdown strong{color:var(--dusty-blue-deep);font:500 1.3rem var(--font-serif)}.hero-countdown small{color:var(--text-muted);letter-spacing:.16em;text-transform:uppercase;font-size:.58rem;font-weight:600}.hero-cta svg{width:14px}.hero-portrait{aspect-ratio:.76;width:min(450px,100%);box-shadow:var(--shadow-float);border:9px solid #ffffffb8;border-radius:230px 230px 28px 28px;justify-self:center;position:relative;overflow:hidden}.hero-portrait:after{content:"";border-radius:inherit;border:1px solid #ffffffbf;position:absolute;inset:0;box-shadow:inset 0 0 70px #34455221}.hero-portrait img{object-fit:cover;object-position:center}.hero-portrait-caption{z-index:2;color:#fff;text-align:center;background:linear-gradient(#0000,#344552b8);padding:42px 20px 20px;font-size:2rem;position:absolute;bottom:0;left:0;right:0}.hero-scroll{color:var(--dusty-blue-deep);letter-spacing:.18em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:9px;font-size:.6rem;font-weight:600;display:flex;position:absolute;bottom:20px;right:50%;transform:translate(50%)}.hero-scroll:hover{transform:translate(50%,-3px)}.hero-scroll svg{width:15px;animation:1.8s ease-in-out infinite dustyArrow}@keyframes dustyArrow{50%{transform:translateY(4px)}}.personal-welcome{border-block:1px solid var(--line);background:var(--ivory);text-align:center;padding:clamp(82px,10vw,126px) 24px;position:relative;overflow:hidden}.personal-welcome:after{content:"";aspect-ratio:2/3;opacity:.13;pointer-events:none;background:url(/images/dusty-blue-invitation-ornament.webp) 50%/contain no-repeat;width:310px;position:absolute;bottom:-115px;right:-60px}.personal-welcome h2{color:var(--charcoal);font:400 clamp(2.8rem, 6vw, 4.9rem)/1 var(--font-serif);margin:12px 0 18px}.personal-welcome>p:last-child{max-width:600px;color:var(--text-secondary);margin-inline:auto}.countdown-section{background:linear-gradient(#eaf1f5,#f3f6f7)}.countdown-shell{text-align:center;max-width:900px}.countdown-grid{grid-template-columns:repeat(4,1fr);gap:clamp(10px,2vw,22px);max-width:700px;margin:0 auto 38px;display:grid}.countdown-unit{border:1px solid var(--line-strong);background:#ffffff8c;border-radius:80px 80px 16px 16px;place-items:center;min-height:150px;display:grid;box-shadow:inset 0 0 0 7px #ffffff47}.countdown-unit strong{color:var(--dusty-blue-deep);font:400 clamp(2.3rem, 5vw, 4rem)/1 var(--font-serif)}.countdown-unit>span{color:var(--text-muted);letter-spacing:.18em;text-transform:uppercase;margin-top:8px;font-size:.62rem;font-weight:600}.countdown-date{color:var(--text-secondary);font:italic 400 1.05rem var(--font-serif);margin-inline:auto}.botanical-section{background:var(--ivory)}.botanical-section:before{mix-blend-mode:multiply;opacity:.09;background-image:url(/images/dusty-blue-invitation-ornament.webp)}.story-shell{max-width:980px}.story-timeline{position:relative}.story-timeline-line{background:linear-gradient(transparent, var(--dusty-blue), transparent);opacity:.55;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.story-list{gap:54px;display:grid}.story-entry{grid-template-columns:1fr 54px 1fr;align-items:center;gap:24px;display:grid}.story-entry-right .story-spacer{grid-area:1/3}.story-entry-right .story-marker{grid-area:1/2}.story-entry-right .story-card{grid-area:1/1}.story-marker{z-index:2;border:1px solid var(--dusty-blue);background:var(--ivory);width:54px;height:54px;box-shadow:0 0 0 8px var(--ivory);border-radius:50%;place-items:center;font-size:1.05rem;display:grid;position:relative}.story-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffb8;padding:30px}.story-photo{border-radius:10px;margin:-18px -18px 24px;overflow:hidden}.story-date{color:var(--dusty-blue-deep);letter-spacing:.17em;text-transform:uppercase;margin-bottom:6px;font-size:.67rem;font-weight:600}.story-card h3{color:var(--charcoal);font:400 1.75rem var(--font-serif)}.story-card>p:last-child{color:var(--text-secondary);margin-top:8px;font-size:.9rem;line-height:1.8}.details-section{background:var(--ivory)}.details-grid{border-block:1px solid var(--line-strong);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.detail-card{padding:clamp(36px,5vw,64px);position:relative}.detail-card+.detail-card{border-left:1px solid var(--line-strong)}.detail-label{color:var(--dusty-blue-deep);letter-spacing:.24em;text-transform:uppercase;margin-bottom:28px;font-size:.7rem;font-weight:600}.detail-row{color:var(--text-secondary);align-items:flex-start;gap:13px;margin-bottom:17px;display:flex}.detail-row>svg{width:17px;height:17px;color:var(--dusty-blue-deep);stroke-width:1.6px;flex:0 0 17px;margin-top:3px}.detail-row p{font-size:.9rem;line-height:1.65}.detail-location{margin-block:26px}.detail-location h3{color:var(--charcoal);font:400 1.8rem/1.15 var(--font-serif)}.detail-location h3+p{color:var(--text-muted);margin-top:6px}.info-section{background:var(--ivory);padding-top:0}.invitation-rsvp-closing{background:var(--ivory);text-align:center}.info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.info-list{gap:12px;margin-top:22px;padding-left:30px;display:grid}.info-list dt{color:var(--charcoal);font:400 1.25rem/1.2 var(--font-serif)}.info-list dd{color:var(--text-secondary);margin-top:2px;font-size:.9rem;line-height:1.6}.info-text{color:var(--text-secondary);margin-bottom:22px;padding-left:30px;font-size:.9rem;line-height:1.65}.info-bank{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--text-secondary);background:#ffffffb8;gap:2px;margin:0 0 18px 30px;padding:18px 20px;font-size:.88rem;font-style:normal;line-height:1.55;display:grid}.info-bank strong{color:var(--dusty-blue-deep);letter-spacing:.2em;text-transform:uppercase;font-size:.7rem;font-weight:600}.info-iban{color:var(--charcoal);font-variant-numeric:tabular-nums;letter-spacing:.04em;margin-top:6px}.detail-card>button.btn-outline{margin-left:30px}.info-thanks{color:var(--dusty-blue-deep);font:400 1.6rem/1.2 var(--font-script);margin-top:26px}.schedule-shell{max-width:780px}.schedule-list{width:min(620px,100%);margin-inline:auto}.schedule-item{grid-template-columns:38px 1fr;gap:24px;display:grid}.schedule-track{flex-direction:column;align-items:center;display:flex}.schedule-dot{border:3px solid var(--ivory);background:var(--dusty-blue-deep);width:14px;height:14px;box-shadow:0 0 0 1px var(--dusty-blue);border-radius:50%;flex:0 0 14px;margin-top:6px}.schedule-line{background:var(--dusty-blue-light);flex:1;width:1px;min-height:88px;margin-block:8px}.schedule-copy{padding-bottom:42px}.schedule-copy time{color:var(--dusty-blue-deep);letter-spacing:.18em;text-transform:uppercase;font-size:.67rem;font-weight:600}.schedule-copy h3{color:var(--charcoal);font:400 1.75rem var(--font-serif);margin:4px 0 6px}.schedule-copy p{color:var(--text-secondary);font-size:.9rem;line-height:1.75}.gallery-section{background:#eaf1f5}.gallery-masonry{columns:3 250px;column-gap:18px}.gallery-tile{break-inside:avoid;text-align:left;cursor:zoom-in;background:#fff;border:0;border-radius:12px;width:100%;margin:0 0 18px;padding:0;display:block;position:relative;overflow:hidden}.gallery-tile img{width:100%;display:block}.gallery-tile span{color:#fff;font:italic 400 1rem var(--font-serif);opacity:0;background:linear-gradient(#0000,#344552bf);padding:38px 16px 14px;transition:opacity .25s;position:absolute;bottom:0;left:0;right:0}.gallery-tile:hover span{opacity:1}.photo-hover:hover{transform:translateY(-4px);box-shadow:0 18px 40px #34455229}.lightbox{z-index:120;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#23313bf0;grid-template-columns:70px minmax(0,1fr) 70px;place-items:center;padding:38px;display:grid;position:fixed;inset:0}.lightbox figure{place-items:center;max-width:min(1100px,100%);max-height:86vh;display:grid}.lightbox figure img{object-fit:contain;border-radius:9px;max-width:100%;max-height:78vh;box-shadow:0 30px 80px #0000004d}.lightbox figcaption{color:#ffffffd9;font:italic 400 1.05rem var(--font-serif);margin-top:14px}.lightbox button{color:#fff;background:#ffffff14;border:1px solid #ffffff4d;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.lightbox button:hover{background:#ffffff2e}.lightbox button svg{width:22px}.lightbox-close{position:absolute;top:22px;right:22px}#photos{background:var(--ivory)!important}#photos .card-elegant{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:none;background:#ffffffbf}#photos [class*=border-dashed]{border-radius:var(--radius-md);border-color:var(--dusty-blue)!important;background:#d8e4eb38!important}#photos .photo-hover{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.upload-page{background:linear-gradient(180deg, var(--dusty-blue-light), var(--ivory) 35%)}.upload-back,.upload-heading .eyebrow{color:var(--dusty-blue-deep)}.upload-heading h1{color:var(--charcoal)}.qr-card{border-color:var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:#ffffffd6}.qr-card h2{color:var(--charcoal)}.guestbook-photo-picker{border-radius:var(--radius-md);color:var(--dusty-blue-deep);background:#d8e4eb40;border-color:var(--dusty-blue)!important}.guestbook-photo-preview,.guestbook-message-photo{border-radius:10px}#rsvp{position:relative;overflow:hidden;background:#eaf1f5!important}#rsvp:before{content:"";aspect-ratio:2/3;opacity:.11;pointer-events:none;background:url(/images/dusty-blue-invitation-ornament.webp) 50%/contain no-repeat;width:330px;position:absolute;top:-110px;right:-90px;transform:rotate(12deg)}#rsvp .card-elegant{border-color:var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.rsvp-modal-backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#34455294}.rsvp-modal{border-color:var(--dusty-blue);background:linear-gradient(#fff 0%,#f7fafb 100%);border-radius:22px;max-width:560px;box-shadow:0 36px 110px #23313b57}.rsvp-modal:before{border-color:#8fa9bb57;border-radius:15px;inset:11px}.rsvp-modal-icon{background:var(--dusty-blue-light);color:var(--dusty-blue-deep)}.rsvp-modal-icon-success{background:var(--dusty-blue-deep);color:#fff}.rsvp-modal-script{color:var(--dusty-blue-deep);font-size:2.35rem}.rsvp-modal-title{color:var(--charcoal);font-size:clamp(1.9rem,5vw,2.5rem)}.rsvp-modal-existing{color:var(--dusty-blue-deep)}.rsvp-choice{border-color:var(--line-strong);background:#ffffffe6;border-radius:14px}.rsvp-choice:hover{border-color:var(--dusty-blue-deep);box-shadow:0 16px 36px #3445521a}.rsvp-choice-icon{background:var(--dusty-blue-light);color:var(--dusty-blue-deep)}.rsvp-choice-accept:hover .rsvp-choice-icon,.rsvp-choice-accept.is-selected .rsvp-choice-icon,.rsvp-choice-decline:hover .rsvp-choice-icon,.rsvp-choice-decline.is-selected .rsvp-choice-icon{background:var(--dusty-blue-deep);color:#fff}.rsvp-choice.is-selected{border-color:var(--dusty-blue-deep);box-shadow:inset 0 0 0 1px var(--dusty-blue-deep)}.rsvp-field input,.rsvp-field select,.rsvp-field textarea{border-radius:8px}.rsvp-floating-button{border-color:var(--dusty-blue-deep);background:var(--dusty-blue-deep);left:auto;right:20px;box-shadow:0 14px 36px #34455238}.rsvp-floating-button.has-response{border-color:var(--line-strong);color:var(--charcoal);background:#faf8f4f0}.botanical-section-guestbook{background:var(--ivory)}#guestbook form{border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffbd;padding:clamp(24px,4vw,36px)}#guestbook .card-elegant{border-radius:var(--radius-md);box-shadow:none}.invitation-gate{background:linear-gradient(145deg,#dae6ed,#f4f6f6 60%,#e5edf1)}.invitation-gate:before{border-color:#607d916b;inset:14px}.gate-card{box-shadow:var(--shadow-float);background:#faf8f4f0;border-color:#607d9166;border-radius:4px}.gate-card:after{border-color:#8fa9bb61}.gate-names{color:var(--dusty-blue-deep);font-family:var(--font-script), cursive;font-size:clamp(4.4rem,12vw,7.2rem);line-height:.65}.gate-names span{color:var(--dusty-blue);font-family:var(--font-serif), serif}.gate-floral{mix-blend-mode:multiply;opacity:.22;background-image:url(/images/dusty-blue-invitation-ornament.webp)}.wax-seal{color:#edf4f7;background:var(--dusty-blue-deep);box-shadow:inset 0 0 0 5px #6d899c,inset 0 0 0 7px #ffffff40,0 8px 18px #34455238}.wax-seal:before,.wax-seal:after{background:var(--dusty-blue-deep)}.gate-open{border-color:var(--dusty-blue-deep)}.personal-envelope-stage{background:linear-gradient(145deg,#dce7ed 0%,#f4f7f8 52%,#e2ebef 100%)}.personal-envelope-card{box-shadow:var(--shadow-float);background:#faf9f6;border-color:#607d9157}.personal-envelope-inner{border-color:#8fa9bb7a}.personal-envelope-inner:before{content:"";pointer-events:none;border:1px solid #8fa9bb2e;position:absolute;inset:14px}.personal-monogram{border-color:var(--dusty-blue);color:var(--dusty-blue-deep);box-shadow:inset 0 0 0 5px #faf9f6,inset 0 0 0 6px #8fa9bb47}.personal-envelope-inner h1{color:var(--dusty-blue-deep)}.personal-couple{font-family:var(--font-script), cursive;color:var(--dusty-blue-deep);font-size:clamp(2.3rem,5vw,3.5rem)}.personal-rule,.personal-rule span,.personal-couple i,.personal-date span{color:var(--dusty-blue-deep)}.personal-rule:before,.personal-rule:after{background:var(--dusty-blue)}.personal-envelope-floral{mix-blend-mode:multiply;opacity:.16;background-image:url(/images/dusty-blue-invitation-ornament.webp)}.personal-button-seal{background:radial-gradient(circle at 34% 27%, #fff3, transparent 24%), radial-gradient(circle at 68% 74%, #273f4e40, transparent 42%), var(--dusty-blue-deep);color:#edf4f7;box-shadow:inset 2px 3px 4px #ffffff26,inset -3px -4px 5px #273f4e40,0 3px #466476,0 7px 12px #27374140}.personal-button-seal:before{background:var(--dusty-blue-deep);box-shadow:0 2px #466476}.personal-button-seal:after{border-color:#edf4f7a6}.personal-seal-cracks b{background:#eef5f8;box-shadow:0 0 0 1px #46647673}.faq-section,#party{background:#edf3f6!important}.faq-shell{max-width:790px}.faq-list{gap:11px;display:grid}.faq-item{border:1px solid var(--line);background:#ffffffb8;border-radius:12px;overflow:hidden}.faq-item>button{width:100%;min-height:70px;color:var(--charcoal);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;padding:17px 22px;display:flex}.faq-item>button span{font:400 1.2rem var(--font-serif)}.faq-item>button svg{width:17px;color:var(--dusty-blue-deep);transition:transform .25s}.faq-item.is-open>button svg{transform:rotate(180deg)}.faq-answer{border-top:1px solid var(--line);color:var(--text-secondary);padding:18px 22px 22px;font-size:.9rem;line-height:1.75}.wedding-party-shell [class*=rounded-full]{border-color:var(--dusty-blue)!important;background:var(--dusty-blue-light)!important}.wedding-party-shell h4{color:var(--charcoal)!important}.floating-actions button{border-color:var(--dusty-blue-deep);color:var(--dusty-blue-deep);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf8f4eb;border-radius:999px;box-shadow:0 12px 30px #34455221}.floating-actions button:hover{background:var(--dusty-blue-deep);color:#fff}.site-footer{isolation:isolate;border-top:1px solid var(--line);color:var(--charcoal);text-align:center;background:#dce8ee;padding:105px 24px 62px;position:relative;overflow:hidden}.footer-floral{z-index:-1;mix-blend-mode:multiply;opacity:.28;background:url(/images/dusty-blue-floral-frame.webp) 50%/cover no-repeat;position:absolute;inset:0}.footer-monogram{border:1px solid var(--dusty-blue);width:72px;height:72px;color:var(--dusty-blue-deep);font:500 1.25rem var(--font-serif);background:#faf8f485;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.footer-monogram i{margin-inline:5px;font-size:.72em}.footer-names{color:var(--dusty-blue-deep);margin-top:26px;font-size:clamp(3.4rem,7vw,5.6rem);line-height:1}.footer-date{color:var(--text-secondary);letter-spacing:.22em;text-transform:uppercase;font-size:.68rem;font-weight:600}.footer-rule{background:var(--dusty-blue);width:120px;height:1px;margin:24px auto;display:block}.footer-message{color:var(--charcoal);font:italic 400 1.2rem var(--font-serif)}.footer-signature{color:var(--text-muted);letter-spacing:.18em;text-transform:uppercase;margin-top:42px;font-size:.6rem;font-weight:600}.live-wall{background:radial-gradient(circle at 50% 20%,#4d6879,#293b47 58%,#1e2c35)}.live-wall header{border-bottom:1px solid #d8e4eb2e}.live-wall h1{font-family:var(--font-script), cursive;font-size:clamp(3rem,6vw,5.2rem)}.live-wall h1 i{color:var(--dusty-blue-light);font-family:var(--font-serif), serif}.live-actions a,.live-actions button{border-color:#d8e4eb59;border-radius:999px}.live-actions a:hover,.live-actions button:hover{background:#d8e4eb24}.live-stage img{border:8px solid #ffffffd1;border-radius:10px;box-shadow:0 22px 80px #00000061}.live-stage figcaption small{color:var(--dusty-blue-light)}.live-empty span{color:var(--dusty-blue-light);font-family:var(--font-script), cursive}.admin-login{background:linear-gradient(145deg, var(--dusty-blue-light), var(--ivory))}.admin-login:before{content:"";opacity:.18;pointer-events:none;background:url(/images/dusty-blue-floral-frame.webp) 50%/cover no-repeat;position:fixed;inset:0}.admin-login form{border-color:var(--line-strong);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border-radius:20px;position:relative}.admin-login form>svg{color:var(--dusty-blue-deep)}.admin-shell{background:#f3f6f7}.admin-shell aside{background:#344f60}.admin-brand svg,.admin-brand i{color:var(--dusty-blue-light)}.admin-shell aside button{border-radius:8px}.admin-shell aside button.active,.admin-shell aside button:hover{background:#d8e4eb21}.stat-grid article,.admin-card,.admin-list article,.admin-photo-grid article,.guest-empty{border-color:var(--line);border-radius:10px}.content-tabs button,.admin-list button,.admin-photo-grid button{border-color:var(--line-strong);border-radius:7px}.content-tabs button.active{background:var(--dusty-blue-deep)}.story-image-field{background:#d8e4eb47}.invitation-loading,.not-found-page{text-align:center;background:linear-gradient(145deg,#dce7ed,#faf8f4 60%,#e4edf1);place-items:center;min-height:100svh;padding:24px;display:grid;position:relative;overflow:hidden}.invitation-loading:before,.not-found-page:before{content:"";opacity:.25;mix-blend-mode:multiply;pointer-events:none;background:url(/images/dusty-blue-floral-frame.webp) 50%/cover no-repeat;position:absolute;inset:0}.invitation-loading{align-content:center;gap:16px}.loading-monogram,.not-found-monogram{border:1px solid var(--dusty-blue);width:90px;height:90px;color:var(--dusty-blue-deep);font:500 1.4rem var(--font-serif);background:#faf8f4a6;border-radius:50%;justify-content:center;align-items:center;margin-inline:auto;display:inline-flex;position:relative}.loading-monogram i,.not-found-monogram i{margin-inline:5px;font-size:.72em}.invitation-loading p{color:var(--dusty-blue-deep);font-size:2.35rem;position:relative}.invitation-loading>b{background:#607d9133;width:120px;height:1px;position:relative;overflow:hidden}.invitation-loading>b:after{content:"";background:var(--dusty-blue-deep);width:48px;height:1px;animation:1.4s ease-in-out infinite loadingLine;position:absolute}@keyframes loadingLine{0%{transform:translate(-55px)}to{transform:translate(130px)}}.not-found-card{border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:min(580px,100%);box-shadow:var(--shadow-soft);background:#fffc;padding:clamp(38px,7vw,68px);position:relative}.not-found-card>.script-text{color:var(--dusty-blue-deep);margin-top:25px;font-size:2.3rem}.not-found-card h1{color:var(--charcoal);font:400 clamp(2.3rem, 6vw, 3.8rem)/1 var(--font-serif);margin:3px 0 17px}.not-found-card>p:not(.script-text){color:var(--text-secondary);margin:0 auto 30px;line-height:1.8}.not-found-card .btn-primary svg{width:15px}.thank-you-card-section{isolation:isolate;background:linear-gradient(145deg,#dbe7ed,#f7f8f6 52%,#e6eef2);padding:clamp(90px,11vw,150px) clamp(18px,5vw,72px);position:relative;overflow:hidden}.standalone-thank-you-page{background:linear-gradient(145deg,#dbe7ed,#f7f8f6 52%,#e6eef2);min-height:100svh}.standalone-thank-you-page .thank-you-card-section{align-items:center;min-height:100svh;display:grid}.standalone-thank-you-language{z-index:90;position:fixed;top:20px;right:20px}.standalone-thank-you-language .language-switcher{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf8f4f0;box-shadow:0 8px 26px #3445521f}.thank-you-card-section:before{content:"";z-index:-1;opacity:.17;mix-blend-mode:multiply;pointer-events:none;background:url(/images/dusty-blue-floral-frame.webp) 50%/cover no-repeat;position:absolute;inset:0}.thank-you-shell{width:min(1180px,100%);min-height:620px;margin:0 auto}.thank-you-envelope{perspective:1300px;place-items:center;width:min(920px,100%);min-height:620px;margin:0 auto;transition:opacity .35s,transform .65s;display:grid;position:relative}.thank-you-envelope-back,.thank-you-envelope-front,.thank-you-envelope-flap{width:min(760px,88vw);position:absolute;left:50%;transform:translate(-50%)}.thank-you-envelope-back{border:1px solid var(--line-strong);height:390px;box-shadow:var(--shadow-float);background:#e8eef1;border-radius:7px;top:178px}.thank-you-envelope-front{z-index:4;border:1px solid var(--line-strong);clip-path:polygon(0 0,50% 53%,100% 0,100% 100%,0 100%);background:linear-gradient(145deg,#e4ecef,#d5e2e8);border-radius:0 0 7px 7px;height:262px;top:307px;overflow:hidden}.thank-you-envelope-flap{z-index:5;border:1px solid var(--line-strong);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;background:#dce7ec;height:230px;transition:transform .75s cubic-bezier(.2,.8,.2,1),z-index 0s linear .36s;top:178px}.thank-you-envelope-letter{z-index:3;background:var(--ivory);width:min(650px,76vw);height:315px;color:var(--dusty-blue-deep);border:1px solid #8fa9bb7a;flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:transform .8s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:210px;left:50%;transform:translate(-50%);box-shadow:0 10px 35px #3445521f}.thank-you-envelope-letter:before{content:"";border:1px solid #8fa9bb38;position:absolute;inset:13px}.thank-you-envelope-letter svg{width:31px}.thank-you-envelope-letter span{font:500 1.5rem var(--font-serif)}.thank-you-envelope-copy{z-index:6;text-align:center;width:min(590px,82vw);padding:56px 38px;position:relative}.thank-you-envelope-copy h2{color:var(--charcoal);font:400 clamp(3rem, 7vw, 5rem)/.96 var(--font-serif);letter-spacing:-.04em;text-wrap:balance;margin:10px 0 11px}.thank-you-envelope-copy>p:not(.eyebrow){color:var(--text-secondary);font:italic 1.15rem var(--font-serif)}.thank-you-envelope-copy>strong{color:var(--dusty-blue-deep);font:400 clamp(2.5rem, 5vw, 3.7rem) var(--font-script), cursive;margin:20px 0 30px;display:block}.thank-you-envelope-copy .btn-primary{margin-inline:auto}.thank-you-envelope-copy .btn-primary svg{width:17px}.thank-you-card-section.is-opening .thank-you-envelope-flap{z-index:2;transition-delay:0s;transform:translate(-50%)rotateX(178deg)}.thank-you-card-section.is-opening .thank-you-envelope-letter{transform:translate(-50%,-145px)}.thank-you-card-section.is-opening .thank-you-envelope-copy{animation:.35s forwards thankYouCopyOut}@keyframes thankYouCopyOut{to{opacity:0;transform:translateY(-15px)}}.thank-you-interior{border:1px solid var(--line-strong);box-shadow:var(--shadow-float);background:#faf8f4fa;border-radius:4px;animation:.7s cubic-bezier(.2,.8,.2,1) both thankYouInteriorIn;display:none;position:relative;overflow:hidden}.thank-you-card-section.is-open .thank-you-envelope{display:none}.thank-you-card-section.is-open .thank-you-interior{display:block}@keyframes thankYouInteriorIn{0%{opacity:0;transform:translateY(35px)scale(.98)}to{opacity:1;transform:none}}.thank-you-paper-texture{opacity:.35;pointer-events:none;background:repeating-linear-gradient(7deg,#0000 0 18px,#607d9106 19px 20px);position:absolute;inset:0}.thank-you-close{z-index:8;border:1px solid var(--line);width:42px;height:42px;color:var(--dusty-blue-deep);background:#faf8f4e6;border-radius:50%;place-items:center;display:grid;position:absolute;top:18px;right:18px}.thank-you-close svg{width:18px}.thank-you-letter-and-gifts{z-index:1;position:relative}.thank-you-letter-and-gifts.has-active-gift{display:none}.thank-you-letter{width:min(760px,100% - 40px);color:var(--text-secondary);text-align:left;margin:0 auto;padding:clamp(70px,9vw,112px) clamp(24px,7vw,80px) 76px}.thank-you-monogram{border:1px solid var(--dusty-blue);width:92px;height:92px;color:var(--dusty-blue-deep);font:500 1.45rem var(--font-serif);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 45px;display:flex}.thank-you-monogram i{margin:0 5px;font-size:.75em}.thank-you-dear{color:var(--charcoal)!important;font:italic 400 clamp(2rem, 4vw, 2.75rem) var(--font-serif)!important;margin-bottom:28px!important}.thank-you-letter>p{font:400 1rem/1.9 var(--font-sans);margin:0 0 18px}.thank-you-signoff{font-family:var(--font-serif)!important;margin-top:34px!important;font-style:italic!important}.thank-you-signoff strong{color:var(--dusty-blue-deep);font:400 2.7rem var(--font-script), cursive;margin-top:4px;display:block}.thank-you-letter>em{color:var(--text-muted);text-align:center;font:italic 1.05rem var(--font-serif);margin-top:34px;display:block}.gift-collection{border-top:1px solid var(--line);background:linear-gradient(#d8e4eb59,#faf8f44d);padding:82px clamp(22px,5vw,68px) 72px;position:relative}.gift-collection>header{text-align:center;max-width:700px;margin:0 auto 48px}.gift-collection>header .script-text{color:var(--dusty-blue-deep);font-size:2.4rem}.gift-collection>header h3{color:var(--charcoal);font:400 clamp(2.6rem, 5vw, 4.3rem)/1 var(--font-serif);letter-spacing:-.035em;margin-top:3px}.gift-collection>header span{color:var(--text-secondary);margin-top:18px;display:block}.gift-card-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.gift-card-grid>button{border:1px solid var(--line);min-height:360px;color:var(--charcoal);text-align:left;background:#fffc;border-radius:16px;flex-direction:column;align-items:flex-start;padding:32px 28px;display:flex;position:relative;box-shadow:0 18px 48px #3445520f}.gift-card-grid>button:hover{border-color:var(--dusty-blue);transform:translateY(-5px);box-shadow:0 24px 55px #3445521f}.gift-card-grid svg{width:37px;height:37px;color:var(--dusty-blue-deep);stroke-width:1.35px;margin:40px 0 24px}.gift-number{color:var(--text-muted);letter-spacing:.2em;text-transform:uppercase;font-size:.62rem;font-weight:600}.gift-card-grid strong{font:500 1.65rem/1.08 var(--font-serif)}.gift-card-grid p{color:var(--text-secondary);margin-top:12px;font-size:.86rem;line-height:1.65}.gift-card-grid em{color:var(--dusty-blue-deep);letter-spacing:.11em;text-transform:uppercase;margin-top:auto;padding-top:25px;font-size:.68rem;font-style:normal;font-weight:600}.saved-keepsakes{border:1px solid var(--line);background:#ffffff94;border-radius:14px;margin-top:38px;padding:23px 25px}.saved-keepsakes>div{align-items:center;gap:14px;display:flex}.saved-keepsakes>div>svg{width:22px;color:var(--dusty-blue-deep)}.saved-keepsakes>div span{flex-direction:column;display:flex}.saved-keepsakes>div strong{font:500 1.2rem var(--font-serif)}.saved-keepsakes>div small,.saved-keepsakes>p{color:var(--text-muted);font-size:.76rem}.saved-keepsakes>p{margin:15px 0 0 36px}.saved-keepsakes ul{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.saved-keepsakes li{border-top:1px solid var(--line);color:var(--text-secondary);grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding-top:10px;font-size:.78rem;display:grid}.saved-keepsakes li svg{width:17px}.saved-keepsakes li a{color:var(--dusty-blue-deep);font-weight:600}.gift-panels{z-index:2;position:relative}.gift-panels>div[hidden]{display:none}.gift-detail{min-height:750px;padding:42px clamp(20px,5vw,64px) 70px}.gift-detail-header{text-align:center;max-width:740px;margin:0 auto 52px;padding-top:22px}.gift-back{border:0;border-bottom:1px solid var(--line-strong);color:var(--dusty-blue-deep);letter-spacing:.1em;text-transform:uppercase;background:0 0;border-radius:0;align-items:center;gap:8px;margin-bottom:42px;padding:5px 0;font-size:.67rem;font-weight:600;display:inline-flex}.gift-back svg{width:15px}.gift-detail-header h3{color:var(--charcoal);font:400 clamp(2.7rem, 5vw, 4.4rem)/1 var(--font-serif);letter-spacing:-.035em;text-wrap:balance;margin:8px 0 12px}.gift-detail-header>p:last-child{color:var(--text-secondary)}.gift-controls{flex-direction:column;gap:14px;display:flex}.gift-controls label{color:var(--charcoal);letter-spacing:.06em;flex-direction:column;gap:7px;font-size:.72rem;font-weight:600;display:flex}.gift-controls input:not([type=range]):not([type=checkbox]){border:1px solid var(--line-strong);width:100%;min-height:48px;padding:12px 14px}.gift-controls label small{color:var(--text-muted);letter-spacing:0;font-weight:400;line-height:1.5}.gift-controls .btn-primary svg,.gift-controls .btn-outline svg{width:16px}.gift-controls button:disabled{cursor:wait;opacity:.58;transform:none}.gift-error{color:#7d3740;background:#9d4d5512;border-left:3px solid #9d4d55;padding:9px 12px;font-size:.78rem}.gift-success{color:#47745b;align-items:center;gap:7px;font-size:.78rem;display:flex}.gift-success svg{width:17px}.certificate-workspace{grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);align-items:center;gap:clamp(28px,5vw,58px);display:grid}.certificate-preview{aspect-ratio:1.414;border:1px solid var(--dusty-blue-deep);background:var(--ivory);padding:clamp(8px,1.3vw,15px);box-shadow:0 24px 60px #34455224}.certificate-preview-inner{border:1px solid var(--dusty-blue);text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:4%;display:flex}.certificate-title{color:var(--dusty-blue-deep);letter-spacing:.2em;text-transform:uppercase;font-size:clamp(.48rem,1vw,.75rem);font-weight:600}.certificate-monogram{border:1px solid var(--dusty-blue);width:clamp(42px,7vw,74px);height:clamp(42px,7vw,74px);color:var(--dusty-blue-deep);font:500 clamp(.7rem, 1.5vw, 1.15rem) var(--font-serif);border-radius:50%;place-items:center;margin:3% 0;display:grid}.certificate-script{color:var(--text-muted);font:italic clamp(.7rem, 1.4vw, 1.05rem) var(--font-serif)}.certificate-preview strong{overflow-wrap:anywhere;max-width:95%;color:var(--charcoal);font:500 clamp(1.5rem, 4vw, 3.1rem)/.9 var(--font-serif);display:block}.certificate-ornament{color:var(--dusty-blue-deep);margin:2% 0}.certificate-preview-inner>p:not(.certificate-title,.certificate-script){max-width:82%;color:var(--text-muted);font-size:clamp(.42rem,.85vw,.68rem);line-height:1.45}.certificate-preview h4{color:var(--dusty-blue-deep);font:500 clamp(1.15rem, 2.8vw, 2.2rem) var(--font-serif)}.certificate-preview small{color:var(--charcoal);letter-spacing:.12em;text-transform:uppercase;font-size:clamp(.38rem,.7vw,.58rem);font-weight:600}.certificate-preview em{color:var(--text-muted);font:italic clamp(.5rem, .9vw, .75rem) var(--font-serif);margin-top:2%}.certificate-controls{border:1px solid var(--line);background:#ffffffb8;border-radius:14px;padding:27px}.photo-studio{grid-template-columns:minmax(300px,.78fr) minmax(340px,1fr);align-items:start;gap:clamp(32px,5vw,65px);display:grid}.photo-live-preview{background:var(--ivory);margin-inline:auto;position:sticky;top:95px;overflow:hidden;box-shadow:0 25px 65px #3445522b}.photo-live-preview>img,.film-slot img{object-fit:cover;transform-origin:50%;width:100%;height:100%}.frame-polaroid{aspect-ratio:9/11;border:22px solid var(--ivory);border-bottom-width:110px;width:min(100%,470px)}.frame-editorial{aspect-ratio:2/3;border:8px solid var(--charcoal);background:var(--charcoal);width:min(100%,420px)}.frame-film{aspect-ratio:2/5;border:13px solid var(--ivory);grid-template-rows:repeat(3,1fr);gap:11px;width:min(100%,320px);padding:10px;display:grid}.film-slot{background:var(--dusty-blue-light);border:2px solid #0000;border-radius:2px;min-height:0;padding:0;position:relative;overflow:hidden}.film-slot.is-active{border-color:var(--dusty-blue-deep)}.film-slot span,.photo-empty{height:100%;color:var(--dusty-blue-deep);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:.66rem;font-weight:600;display:flex}.film-slot svg,.photo-empty svg{width:27px}.photo-frame-copy{color:var(--dusty-blue-deep);text-align:center;pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:19px;left:14px;right:14px}.photo-frame-copy strong{font:500 clamp(1.15rem, 3vw, 2rem) var(--font-serif)}.photo-frame-copy span{letter-spacing:.1em;text-transform:uppercase;font-size:.48rem;font-weight:600}.photo-frame-copy em{max-width:100%;font:italic .72rem var(--font-serif);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.frame-editorial .photo-frame-copy{color:#fff;text-shadow:0 2px 8px #0000008c}.frame-film .photo-frame-copy{bottom:2px}.frame-film .photo-frame-copy strong{font-size:1rem}.frame-film .photo-frame-copy span{display:none}.photo-source-actions,.gift-download-actions{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.photo-file-help{color:var(--text-muted);font-size:.68rem}.frame-options,.wallpaper-options{border:0;gap:8px;margin:12px 0 0;padding:0;display:grid}.frame-options legend,.wallpaper-options legend{color:var(--charcoal);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:600}.frame-options button,.wallpaper-options button{border:1px solid var(--line);color:var(--charcoal);text-align:left;background:#ffffffa6;flex-direction:column;align-items:flex-start;padding:14px 16px;display:flex}.frame-options button.is-active,.wallpaper-options button.is-active{border-color:var(--dusty-blue-deep);background:var(--dusty-blue-light);box-shadow:inset 0 0 0 1px var(--dusty-blue-deep)}.frame-options strong,.wallpaper-options strong{font:500 1.05rem var(--font-serif)}.frame-options span,.wallpaper-options span{color:var(--text-secondary);font-size:.7rem}.photo-slot-tabs{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.photo-slot-tabs button{border:1px solid var(--line);color:var(--text-secondary);background:#fff;padding:8px;font-size:.65rem}.photo-slot-tabs button.is-active{border-color:var(--dusty-blue-deep);background:var(--dusty-blue-light);color:var(--dusty-blue-deep)}.photo-adjustments{border:1px solid var(--line);background:#ffffff8c;border-radius:11px;gap:11px;margin:8px 0;padding:15px;display:grid}.photo-adjustments label{grid-template-columns:145px 1fr;align-items:center;display:grid}.photo-adjustments input[type=range]{width:100%;accent-color:var(--dusty-blue-deep)}.save-keepsake{grid-column:1/-1}.photo-final-preview{text-align:center;width:min(500px,100%);margin:55px auto 0}.photo-final-preview img{object-fit:contain;width:100%;max-height:680px;box-shadow:var(--shadow-soft);margin-top:12px}.wallpaper-workspace{grid-template-columns:minmax(260px,.6fr) minmax(330px,.8fr);align-items:center;gap:clamp(38px,8vw,100px);width:min(900px,100%);margin:0 auto;display:grid}.phone-mockup{aspect-ratio:9/19.5;border:10px solid var(--charcoal);background:var(--charcoal);border-radius:42px;width:min(330px,78vw);margin:0 auto;padding:8px;position:relative;box-shadow:0 28px 70px #34455238}.phone-speaker{z-index:2;background:var(--charcoal);border-radius:999px;width:78px;height:18px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.wallpaper-preview{text-align:center;border-radius:29px;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px 22px 38px;display:flex;position:relative;overflow:hidden}.wallpaper-clock-space{border-bottom:1px dashed #607d9129;height:27%;position:absolute;top:0;left:0;right:0}.wallpaper-signature{background:linear-gradient(145deg, #eef4f7, var(--ivory) 52%, var(--dusty-blue-light));color:var(--dusty-blue-deep)}.wallpaper-personal{background:radial-gradient(circle at 50% 58%, #ffffff29, transparent 55%), var(--dusty-blue-deep);color:#fff}.wallpaper-timeless{background:linear-gradient(180deg, var(--dusty-blue-light), var(--ivory) 42%, var(--dusty-blue));color:var(--dusty-blue-deep)}.wallpaper-monogram{width:88px;height:88px;font:500 1.35rem var(--font-serif);border:1px solid;border-radius:50%;place-items:center;display:grid}.wallpaper-preview>span{margin:20px 0}.wallpaper-preview>strong{font:500 1.55rem var(--font-serif)}.wallpaper-preview>em{max-width:220px;font:italic 1.3rem/1.35 var(--font-serif)}.wallpaper-preview>small{letter-spacing:.12em;text-transform:uppercase;font-size:.52rem;font-weight:600;position:absolute;bottom:13%}.wallpaper-personal>small{color:var(--dusty-blue-light)}.personalize-toggle{border:1px solid var(--line);background:#fff9;border-radius:10px;align-items:center;padding:13px 15px;flex-direction:row!important;gap:10px!important;display:flex!important}.personalize-toggle input{width:17px;height:17px;accent-color:var(--dusty-blue-deep)}.safe-zone-note{color:var(--text-muted);align-items:center;gap:9px;font-size:.72rem;line-height:1.5;display:flex}.safe-zone-note svg{width:20px;color:var(--dusty-blue-deep);flex:none}.thank-you-admin-intro{align-items:flex-start;gap:18px;margin-bottom:22px;padding:25px;display:flex}.thank-you-admin-intro>svg{width:30px;height:30px;color:var(--dusty-blue-deep);flex:none}.thank-you-admin-intro h2{color:var(--charcoal);font:500 1.5rem var(--font-serif)}.thank-you-admin-intro p{max-width:760px;color:var(--text-secondary);margin-top:5px;font-size:.82rem;line-height:1.65}.thank-you-admin-list article>div:last-child{flex-wrap:wrap}.thank-you-admin-list article a{border:1px solid var(--line-strong);color:var(--charcoal);align-items:center;gap:5px;padding:6px 10px;font-size:.72rem;text-decoration:none;display:inline-flex}.thank-you-admin-list article a svg{width:14px}@media (max-width:860px){.gift-card-grid{grid-template-columns:1fr}.gift-card-grid>button{min-height:250px}.gift-card-grid svg{margin:24px 0 17px}.certificate-workspace,.photo-studio,.wallpaper-workspace{grid-template-columns:1fr}.certificate-controls{width:min(560px,100%);margin:0 auto}.photo-live-preview{position:relative;top:auto}.photo-controls,.wallpaper-controls{width:min(600px,100%);margin:0 auto}}@media (max-width:560px){.thank-you-card-section{padding-inline:12px}.thank-you-shell{min-height:560px}.thank-you-envelope{min-height:570px}.thank-you-envelope-back{height:325px;top:180px}.thank-you-envelope-front{height:216px;top:290px}.thank-you-envelope-flap{height:190px;top:180px}.thank-you-envelope-letter{height:270px;top:200px}.thank-you-envelope-copy{padding-inline:24px}.thank-you-envelope-copy h2{font-size:clamp(2.7rem,13vw,4rem)}.thank-you-interior{margin-inline:0}.thank-you-letter{width:100%;padding-inline:25px}.gift-collection{padding-inline:15px}.gift-detail{padding-inline:14px}.gift-detail-header{padding-inline:18px}.certificate-preview{width:calc(100% + 4px);margin-left:-2px}.certificate-controls{padding:19px}.photo-source-actions,.gift-download-actions{grid-template-columns:1fr}.save-keepsake{grid-column:auto}.photo-adjustments label{grid-template-columns:1fr}.saved-keepsakes li{grid-template-columns:19px 1fr}.saved-keepsakes li a{grid-column:2}}@media (prefers-reduced-motion:reduce){.thank-you-envelope-flap,.thank-you-envelope-letter,.thank-you-envelope-copy,.thank-you-interior{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (max-width:1040px){.nav-links{gap:18px}.nav-photo-link span{display:none}.hero-inner{grid-template-columns:minmax(0,1fr) minmax(300px,.74fr);gap:40px}}@media (max-width:960px){.site-navigation,.site-navigation.is-scrolled{height:66px}.nav-menu-button{display:grid}.nav-photo-link{justify-content:center;width:42px;padding:0}.nav-links{opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#faf8f4fa;border-bottom:1px solid #0000;flex-direction:column;align-items:stretch;gap:0;max-height:0;padding:0 24px;transition:max-height .35s,opacity .25s,padding .35s;display:flex;position:fixed;top:66px;left:0;right:0;overflow:hidden}.nav-links.is-open{border-color:var(--line);opacity:1;pointer-events:auto;max-height:calc(100svh - 66px);padding-block:30px;overflow-y:auto}.nav-links>a{border-bottom:1px solid var(--line);font:400 1.55rem var(--font-serif);letter-spacing:.02em;text-transform:none;padding:15px 4px}.nav-links>a:after{display:none}.nav-mobile-heading{text-align:center;flex-direction:column;margin-bottom:18px;display:flex}.nav-mobile-heading span{color:var(--dusty-blue-deep);font-size:2.6rem}.nav-mobile-heading small{color:var(--text-muted);letter-spacing:.2em;text-transform:uppercase;font-size:.6rem}.nav-actions>.language-switcher{display:none}.nav-mobile-extras{flex-wrap:wrap;gap:10px;padding-top:22px;display:flex}.nav-mobile-extras a{border:1px solid var(--line-strong);min-height:46px;color:var(--dusty-blue-deep);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:8px;font-size:.65rem;font-weight:600;text-decoration:none;display:flex}.nav-mobile-extras .language-switcher{width:100%;min-height:46px}.nav-mobile-extras svg{width:15px}.hero{min-height:auto;padding-top:105px}.hero-inner{grid-template-columns:1fr}.hero-portrait{aspect-ratio:.84;grid-row:1;width:min(420px,78vw)}.hero-copy{grid-row:2}.hero-names{font-size:clamp(5.2rem,18vw,8rem)}.hero-scroll{display:none}.details-grid,.info-grid{grid-template-columns:1fr}.detail-card+.detail-card{border-top:1px solid var(--line-strong);border-left:0}}@media (max-width:640px){.section-padding{padding:84px 20px}.section-heading{margin-bottom:48px}.section-heading-accent{font-size:2rem}.section-heading h2{font-size:clamp(2.55rem,13vw,3.65rem)}.hero{padding:92px 18px 52px}.hero-floral-frame{opacity:.3;object-position:center}.hero-inner{gap:38px}.hero-portrait{border-width:6px;border-radius:180px 180px 22px 22px;width:min(330px,86vw)}.hero-portrait-caption{font-size:1.7rem}.hero-introduction{font-size:1rem}.hero-names{font-size:clamp(4.7rem,22vw,7rem)}.hero-date{letter-spacing:.1em;font-size:1.05rem}.hero-place{max-width:34ch;line-height:1.6}.hero-countdown span{min-width:74px;padding-inline:12px}.hero-cta{width:min(320px,100%)}.countdown-grid{gap:7px}.countdown-unit{border-radius:54px 54px 12px 12px;min-height:112px}.countdown-unit strong{font-size:clamp(1.7rem,9vw,2.6rem)}.countdown-unit>span{letter-spacing:.1em;font-size:.51rem}.story-timeline-line,.story-spacer{display:none}.story-entry,.story-entry-right{grid-template-columns:34px 1fr;gap:14px}.story-entry .story-marker,.story-entry-right .story-marker{width:34px;height:34px;box-shadow:0 0 0 5px var(--ivory);grid-area:1/1;font-size:.75rem}.story-entry .story-card,.story-entry-right .story-card{grid-area:1/2;padding:22px}.story-list{gap:20px}.detail-card{padding:35px 10px}.schedule-item{grid-template-columns:28px 1fr;gap:15px}.gallery-masonry{columns:2 130px;column-gap:10px}.gallery-tile{border-radius:8px;margin-bottom:10px}.gallery-tile span{display:none}.lightbox{grid-template-columns:44px minmax(0,1fr) 44px;padding:18px 8px}.lightbox button{width:40px;height:40px}.rsvp-modal{border-radius:16px;max-height:calc(100dvh - 24px);padding:42px 20px 24px}.rsvp-floating-button{bottom:12px;right:12px}.personal-envelope-inner:before{inset:8px}.personal-envelope-inner h1{font-size:clamp(3rem,16vw,4.7rem)}.personal-couple{font-size:2.4rem}.site-footer{padding-top:82px}.footer-floral{opacity:.2}.admin-main h1{font-size:2.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.photo-hover:hover,.btn-primary:hover,.btn-outline:hover{transform:none}}.personal-envelope-stage{--stage-pad:clamp(8px, 2.2vh, 28px);padding:var(--stage-pad) clamp(8px, 3vw, 40px)}.personal-envelope-card{width:min(640px,100%);min-height:calc(100vh - 2 * var(--stage-pad));min-height:calc(100svh - 2 * var(--stage-pad));padding:clamp(6px,1.2vh,14px)}.personal-envelope-inner{padding:clamp(16px,4.5vh,56px) clamp(16px,5vw,56px)}.personal-envelope-inner:before{inset:clamp(6px,1.2vh,14px)}.personal-monogram{width:clamp(40px,8vh,82px);height:clamp(40px,8vh,82px);margin:0 0 clamp(6px,2.2vh,24px);font-size:clamp(.85rem,2.3vh,1.45rem)}.personal-envelope-inner>.eyebrow{margin-bottom:clamp(2px,.6vh,6px);font-size:clamp(.6rem,1.5vh,.76rem)}.personal-couple{text-wrap:balance;font-size:clamp(1.6rem,min(8vw,5.6vh),3.3rem);line-height:1.2}.personal-copy{margin-top:clamp(2px,1vh,10px);font-size:clamp(.78rem,1.9vh,1rem);line-height:1.6}.personal-copy+.personal-rule{margin:clamp(8px,2.6vh,28px) 0 clamp(6px,2vh,20px)}.personal-invited{font-size:clamp(.85rem,2vh,1.1rem)}.personal-envelope-inner h1{margin:clamp(2px,.6vh,8px) 0 clamp(6px,1.8vh,18px);font-size:clamp(2.2rem,min(13vw,8.5vh),5.6rem)}.personal-date{font-size:clamp(.66rem,1.6vh,.8rem)}.personal-date+.invitation-open-hint{margin-top:clamp(8px,3vh,36px);font-size:clamp(.56rem,1.4vh,.66rem)}.personal-open-button{width:clamp(56px,11vh,100px);height:clamp(56px,11vh,100px);margin-top:clamp(2px,.8vh,8px)}.personal-button-seal{width:clamp(48px,9.6vh,88px);height:clamp(48px,9.6vh,88px);font-size:clamp(.8rem,2vh,1.15rem)}.personal-button-seal:before{inset:-7%}.personal-button-seal:after{inset:12.5%}.personal-open-label{margin-top:clamp(4px,1.4vh,14px);font-size:clamp(.64rem,1.5vh,.8rem)}.personal-note{margin-top:clamp(4px,1.4vh,16px);font-size:clamp(.78rem,1.9vh,1rem)}.personal-envelope-stage>.personal-envelope-card{grid-area:1/1}.personal-invitation-overlay.splitting{z-index:300;background:0 0;overflow:hidden}.personal-envelope-stage.is-splitting{background:0 0}.personal-envelope-stage.is-splitting:before{opacity:0;transition:opacity .5s}.personal-envelope-stage.is-splitting .envelope-front{visibility:hidden}.personal-envelope-stage.is-splitting .opening-language-switcher{opacity:0;transition:opacity .3s}.personal-envelope-stage.is-splitting .personal-envelope-floral{animation:1s both envelopeFloralDrift}.envelope-stage-backdrop{z-index:0;pointer-events:none;background:linear-gradient(145deg,#dce7ed 0%,#f4f7f8 52%,#e2ebef 100%);animation:1.2s both envelopeBackdropFade;position:absolute;inset:0}.envelope-door{z-index:3;pointer-events:none;will-change:transform, opacity}.envelope-door-left{clip-path:inset(-120px 50% -120px -120px);transform-origin:0 100%;animation:1.2s cubic-bezier(.65,0,.25,1) both envelopeDoorLeft}.envelope-door-right{clip-path:inset(-120px -120px -120px 50%);transform-origin:100% 100%;animation:1.2s cubic-bezier(.65,0,.25,1) both envelopeDoorRight}.envelope-door:after{content:"";pointer-events:none;opacity:0;animation:1.2s both envelopeDoorShade;position:absolute;inset:0}.envelope-door-left:after{background:linear-gradient(90deg,#0000 40%,#273f4e29 50%,#0000 50%)}.envelope-door-right:after{background:linear-gradient(270deg,#0000 40%,#273f4e29 50%,#0000 50%)}.personal-envelope-stage .envelope-door .personal-button-seal{animation:none}.personal-envelope-stage .envelope-door .personal-seal-cracks b{opacity:1;transform:rotate(var(--crack-angle)) scaleY(1);animation:none}.personal-envelope-stage .envelope-door .invitation-open-hint,.personal-envelope-stage .envelope-door .personal-open-label,.personal-envelope-stage .envelope-door .personal-note{opacity:0;animation:none}.envelope-seam-light{z-index:4;pointer-events:none;background:linear-gradient(#0000,#fffffff2 30% 70%,#0000);border-radius:50%;width:2px;height:min(86svh,820px);animation:.9s ease-out both envelopeSeamLight;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 22px 8px #ffffffa6}@keyframes envelopeDoorLeft{0%{opacity:1;transform:translate(0)rotate(0)}16%{opacity:1;transform:translate(-8px)rotate(-.3deg)}68%{opacity:1}to{opacity:0;transform:translate(-56%)rotate(-3deg)}}@keyframes envelopeDoorRight{0%{opacity:1;transform:translate(0)rotate(0)}16%{opacity:1;transform:translate(8px)rotate(.3deg)}68%{opacity:1}to{opacity:0;transform:translate(56%)rotate(3deg)}}@keyframes envelopeDoorShade{0%,8%{opacity:0}30%,to{opacity:1}}@keyframes envelopeSeamLight{0%{opacity:0;transform:translate(-50%,-50%)scaleY(.2)}20%{opacity:1;transform:translate(-50%,-50%)scaleY(1)scaleX(1)}to{opacity:0;transform:translate(-50%,-50%)scaleX(18)}}@keyframes envelopeBackdropFade{0%,20%{opacity:1}75%,to{opacity:0}}@keyframes envelopeFloralDrift{to{opacity:0}}.rsvp-modal-backdrop{--stage-pad:clamp(8px, 2.2vh, 28px);--letter-pad:clamp(6px, 1.2vh, 14px);padding:var(--stage-pad) clamp(8px, 3vw, 40px);-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(145deg,#dce7ed 0%,#f4f7f8 52%,#e2ebef 100%);overflow:hidden}.rsvp-modal{z-index:2;width:min(640px,100%);max-width:none;height:calc(100vh - 2 * var(--stage-pad));height:calc(100svh - 2 * var(--stage-pad));max-height:none;padding:var(--letter-pad);box-shadow:var(--shadow-float);background:#faf9f6;border:1px solid #607d9157;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.rsvp-modal:before{inset:var(--letter-pad);border:1px solid #8fa9bb7a;border-radius:0}.rsvp-modal:after{content:"";inset:calc(2 * var(--letter-pad));pointer-events:none;border:1px solid #8fa9bb2e;position:absolute}.rsvp-modal-scroll{z-index:1;overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:1;min-height:0;padding:clamp(28px,5vh,56px) clamp(18px,6vw,60px) clamp(18px,4vh,44px);display:flex;position:relative;overflow-y:auto}.rsvp-modal-scroll>.rsvp-modal-body{width:100%;margin-block:auto}.rsvp-modal-close{z-index:3;top:calc(2 * var(--letter-pad) + 4px);right:calc(2 * var(--letter-pad) + 4px)}.rsvp-modal-close:hover{background:var(--dusty-blue-light)}.rsvp-modal-icon{width:clamp(42px,7vh,60px);height:clamp(42px,7vh,60px);margin-bottom:clamp(6px,1.6vh,14px)}.rsvp-modal-icon svg{width:clamp(20px,3vh,26px);height:clamp(20px,3vh,26px)}.rsvp-modal-script{margin-bottom:0;font-size:clamp(1.5rem,4vh,2.35rem)}.rsvp-modal-title{margin-bottom:clamp(8px,1.8vh,16px);font-size:clamp(1.6rem,min(7vw,5vh),2.6rem)}.rsvp-modal-copy{margin-bottom:clamp(8px,1.6vh,14px);font-size:clamp(.82rem,1.9vh,.92rem);line-height:1.6}.rsvp-choice{padding:clamp(12px,2.4vh,22px) clamp(8px,2vw,12px) clamp(10px,2.2vh,20px)}.rsvp-modal-later{margin-top:clamp(10px,2vh,18px)}.rsvp-letter{max-width:450px;color:var(--text-secondary);font:italic 400 clamp(.98rem, 2.3vh, 1.16rem)/1.6 var(--font-serif);text-wrap:pretty;gap:clamp(6px,1.4vh,12px);display:grid}.rsvp-letter-closing{margin-top:clamp(2px,.8vh,8px)}.rsvp-letter-signature{color:var(--dusty-blue-deep);font:400 clamp(1.5rem, 3.8vh, 2.2rem)/1.2 var(--font-script), cursive;margin-top:-4px}.rsvp-letter-signature i{font-style:normal}.rsvp-letter-rule{margin:clamp(10px,2.4vh,22px) 0 clamp(6px,1.6vh,14px)}.rsvp-letter-question{color:var(--charcoal);letter-spacing:.22em;text-transform:uppercase;margin-bottom:clamp(4px,1vh,8px);font-size:clamp(.68rem,1.6vh,.78rem);font-weight:500}.rsvp-modal-body .rsvp-choice-grid{width:100%;max-width:470px;margin-top:clamp(8px,1.8vh,16px)}.rsvp-modal-backdrop.from-envelope{animation:none}.rsvp-modal-backdrop.from-envelope .rsvp-modal{transform-origin:50% 60%;animation:1s cubic-bezier(.22,.8,.3,1) both rsvpEmergeFromEnvelope}@keyframes rsvpEmergeFromEnvelope{0%{opacity:0;transform:translateY(14px)scale(.965)}55%{opacity:1}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.rsvp-modal-backdrop.from-envelope,.rsvp-modal-backdrop.from-envelope .rsvp-modal{animation:none}}.personal-invitation-overlay,.rsvp-modal-scroll{scrollbar-width:none;-ms-overflow-style:none}.personal-invitation-overlay::-webkit-scrollbar{display:none}.rsvp-modal-scroll::-webkit-scrollbar{display:none}.rsvp-letter{font-size:clamp(.92rem,2.1vh,1.12rem);line-height:1.5}.rsvp-choice{gap:clamp(3px,.6vh,6px)}.rsvp-choice-icon{width:clamp(32px,5vh,42px);height:clamp(32px,5vh,42px);margin-bottom:clamp(0px,.4vh,4px)}.rsvp-modal-back{margin-bottom:clamp(8px,1.6vh,14px)}.rsvp-modal-fields{gap:clamp(10px,1.8vh,16px);margin:clamp(4px,1vh,8px) 0 clamp(12px,2.2vh,20px)}.rsvp-field{gap:clamp(4px,.8vh,8px)}.rsvp-field input,.rsvp-field select,.rsvp-field textarea{padding:clamp(8px,1.4vh,12px) 14px}.couple-figurine{aspect-ratio:1;width:clamp(220px,26vw,320px);margin:clamp(-8px,-1vw,0px) auto clamp(14px,2.5vw,26px);position:relative}.couple-figurine canvas{width:100%;height:100%;display:block}.couple-figurine{isolation:isolate}.couple-figurine:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#34455242,#34455200);border-radius:50%;height:10%;position:absolute;bottom:3%;left:12%;right:12%}.countdown-shell{max-width:1160px}.countdown-layout{grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);align-items:center;gap:clamp(20px,4vw,64px);margin-top:clamp(4px,1.5vw,20px);display:grid}.countdown-layout .countdown-grid{max-width:640px;margin:0 auto 30px}.countdown-layout .couple-figurine{width:min(100%,400px);margin:0 auto}.couple-figurine canvas{cursor:grab;touch-action:pan-y}.couple-figurine.is-dragging canvas{cursor:grabbing}@media (max-width:860px){.countdown-layout{grid-template-columns:1fr}.countdown-layout .couple-figurine{width:min(78vw,340px)}}.confetti-burst{z-index:4;pointer-events:none;width:0;height:0;position:absolute;top:clamp(20px,4vh,34px);left:50%}.confetti-burst i{opacity:0;width:8px;height:12px;animation:confettiBurst 1.7s cubic-bezier(.15, .7, .3, 1) var(--delay) forwards;border-radius:2px;position:absolute;top:-6px;left:-4px;box-shadow:0 0 0 .5px #607d9140}.confetti-burst i.is-round{border-radius:50%;width:8px;height:8px}@keyframes confettiBurst{0%{opacity:1;transform:translate(0)rotate(0)scale(.5)}45%{opacity:1;transform:translate(var(--x), var(--y)) rotate(calc(var(--spin) * .6)) scale(1)}to{opacity:0;transform:translate(calc(var(--x) * 1.12), calc(var(--y) + 150px)) rotate(var(--spin)) scale(.9)}}@media (prefers-reduced-motion:reduce){.confetti-burst{display:none}}.rsvp-reminder{z-index:44;border:1px solid var(--line-strong);width:min(380px,100vw - 40px);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#faf9f6f5;border-radius:16px;align-items:flex-start;gap:14px;padding:16px 44px 16px 16px;animation:.5s cubic-bezier(.2,.75,.25,1) both rsvpRise;display:flex;position:fixed;bottom:20px;left:20px}.rsvp-reminder-icon{background:var(--dusty-blue-light);width:38px;height:38px;color:var(--dusty-blue-deep);border-radius:50%;flex:none;place-items:center;display:grid}.rsvp-reminder-icon svg{width:18px;height:18px}.rsvp-reminder-copy strong{color:var(--charcoal);font:italic 500 1.1rem/1.2 var(--font-serif);display:block}.rsvp-reminder-copy p{color:var(--text-secondary);margin-top:3px;font-size:.82rem;line-height:1.5}.rsvp-reminder-action{border:0;border-bottom:1px solid var(--dusty-blue-deep);color:var(--dusty-blue-deep);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:0 0;margin-top:9px;padding:0 0 2px;font-size:.7rem;font-weight:600}.rsvp-reminder-close{width:28px;height:28px;color:var(--text-muted);border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}.rsvp-reminder-close:hover{background:var(--dusty-blue-light);color:var(--charcoal)}.rsvp-reminder-close svg{width:15px;height:15px}@media (max-width:640px){.rsvp-reminder{width:auto;bottom:70px;left:12px;right:12px}}.countdown-unit .countdown-value{color:inherit;font:inherit;letter-spacing:inherit;text-transform:none;margin:0;animation:.4s cubic-bezier(.2,.8,.2,1) both countdownTick;display:inline-block}@keyframes countdownTick{0%{opacity:.35;transform:translateY(-22%)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.countdown-value{animation:none}}.hero.is-awaiting-reveal .hero-names span{clip-path:inset(-30% 100% -30% -8%)}.hero.is-awaiting-reveal .hero-names i,.hero.is-awaiting-reveal .hero-fine-rule{opacity:0}.hero.is-revealed .hero-names span{animation:1.5s cubic-bezier(.55,.1,.3,1) .2s both heroNameWrite}.hero.is-revealed .hero-names span:last-child{animation-delay:1.35s}.hero.is-revealed .hero-names i{animation:.7s 1.05s both heroSoftFade}.hero.is-revealed .hero-fine-rule{animation:.9s 2.4s both heroSoftFade}@keyframes heroNameWrite{0%{clip-path:inset(-30% 100% -30% -8%)}to{clip-path:inset(-30% -8%)}}@keyframes heroSoftFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hero-floral-frame{transform:translate3d(0, calc(var(--hero-shift,0px) * .22), 0) scale(1.06);will-change:transform}.hero-portrait{transform:translate3d(0, calc(var(--hero-shift,0px) * -.06), 0)}.invitation-loading{background:linear-gradient(145deg,#dce7ed 0%,#f4f7f8 52%,#e2ebef 100%)}.invitation-loading:before{opacity:.16}.loading-monogram{background:radial-gradient(circle at 34% 27%, #fff3, transparent 24%), radial-gradient(circle at 68% 74%, #273f4e40, transparent 42%), var(--dusty-blue-deep);color:#edf4f7;border:0;width:84px;height:84px;animation:2.4s ease-in-out infinite loadingSealBreathe;transform:rotate(-5deg);box-shadow:inset 2px 3px 4px #ffffff26,inset -3px -4px 5px #273f4e40,0 3px #466476,0 10px 22px #27374138}.loading-monogram:after{content:"";border:2px solid #edf4f799;border-radius:50%;position:absolute;inset:10px}.loading-monogram:before{content:"";border:1px solid #607d9166;border-radius:50%;animation:2.4s ease-out infinite loadingSealRipple;position:absolute;inset:-10px}@keyframes loadingSealBreathe{50%{transform:rotate(-5deg)scale(1.045)}}@keyframes loadingSealRipple{0%{opacity:.85;transform:scale(.9)}to{opacity:0;transform:scale(1.4)}}.countdown-section.section-padding{padding-block:clamp(60px,7vw,96px)}.countdown-section .section-heading{margin-bottom:clamp(20px,3vw,36px)}.countdown-layout{margin-top:0}.countdown-layout .countdown-grid{margin-bottom:22px}.countdown-layout .couple-figurine{width:min(100%,320px)}@media (max-width:860px){.countdown-layout{gap:8px}.countdown-layout .couple-figurine{width:min(70vw,280px)}}@media (max-width:640px){.countdown-section.section-padding{padding-block:56px}.countdown-section .section-heading{margin-bottom:24px}}.invitation-lock-icon{background:var(--dusty-blue-light);width:clamp(40px,6vh,52px);height:clamp(40px,6vh,52px);color:var(--dusty-blue-deep);border-radius:50%;place-items:center;margin:clamp(2px,.8vh,8px) 0 clamp(8px,1.6vh,14px);display:grid}.invitation-lock-icon svg{width:46%;height:46%}.personal-envelope-inner .invitation-lock-title{color:var(--charcoal);font:400 clamp(1.6rem, min(6vw, 4.2vh), 2.3rem)/1.15 var(--font-serif);letter-spacing:0;margin:0 0 6px}.invitation-lock-copy{max-width:400px;color:var(--text-secondary);text-wrap:pretty;font-size:clamp(.85rem,1.9vh,.95rem);line-height:1.6}.invitation-lock-form{text-align:left;gap:10px;width:min(360px,100%);margin-top:clamp(14px,2.6vh,24px);display:grid}.invitation-lock-label{color:var(--text-muted);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;font-weight:600}.invitation-lock-field{position:relative}.invitation-lock-field input{border:1px solid var(--line-strong);width:100%;height:50px;color:var(--charcoal);letter-spacing:.04em;background:#fff;border-radius:12px;outline:none;padding:0 50px 0 16px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.invitation-lock-field input:focus{border-color:var(--dusty-blue-deep);box-shadow:0 0 0 4px #8fa9bb40}.invitation-lock-field input[aria-invalid=true]{border-color:#b25b5b}.invitation-lock-toggle{width:38px;height:38px;color:var(--text-muted);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.invitation-lock-toggle:hover{background:var(--dusty-blue-light);color:var(--charcoal)}.invitation-lock-toggle svg{width:18px;height:18px}.invitation-lock-message{color:#8a3333;font-size:.82rem;line-height:1.5}.invitation-lock-submit{justify-content:center;gap:8px;width:100%;margin-top:4px}.invitation-lock-submit svg{width:15px;height:15px}.invitation-lock-submit:disabled{cursor:wait;opacity:.7}.invitation-lock-help{color:var(--text-muted);font:italic 400 .95rem var(--font-serif);margin-top:clamp(12px,2.4vh,22px)}.guest-lock-badge{background:var(--dusty-blue-light);color:var(--dusty-blue-deep);letter-spacing:.06em;vertical-align:middle;border-radius:999px;align-items:center;gap:4px;margin-left:10px;padding:2px 9px;font-size:.68rem;font-style:normal;font-weight:600;display:inline-flex}.guest-lock-badge svg{width:12px;height:12px}.guest-password-form{gap:10px;margin:-4px 0 6px;display:grid}.guest-password-form label{gap:6px;display:grid}.guest-password-form p{color:var(--text-muted);font-size:.82rem;line-height:1.5}.guest-password-form>div{flex-wrap:wrap;gap:8px;display:flex}.guest-password-overview{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;display:flex}.guest-password-overview h2{align-items:center;gap:8px;display:flex}.guest-password-overview h2 svg{width:20px;height:20px;color:var(--dusty-blue-deep)}.guest-password-overview p{max-width:560px;color:var(--text-secondary);margin-top:4px;font-size:.88rem;line-height:1.55}.guest-password-overview .btn-primary svg{width:15px;height:15px}.guest-password-pattern{border:1px dashed var(--dusty-blue);color:var(--dusty-blue-deep);background:0 0;border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:7px 14px;font-size:.8rem;display:inline-flex}.guest-password-pattern svg{width:14px;height:14px}.guest-share-card{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:26px;margin:-4px 0 8px;display:grid}.guest-share-qr{text-align:center;justify-items:center;gap:12px;display:grid}.guest-share-qr canvas{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px;width:220px!important;height:220px!important}.guest-share-qr .btn-primary{justify-content:center;gap:8px;width:100%}.guest-share-qr svg{width:15px;height:15px}.guest-share-qr small{color:var(--text-muted);font-size:.76rem;line-height:1.45}.guest-share-message label{gap:6px;display:grid}.guest-share-message textarea{border:1px solid var(--line-strong);width:100%;min-height:240px;color:var(--charcoal);resize:vertical;background:#fff;border-radius:10px;padding:12px 14px;font-size:.88rem;line-height:1.55}.guest-share-note{color:var(--text-muted);margin-top:8px;font-size:.8rem}.guest-share-buttons{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.guest-share-buttons button{align-items:center;gap:6px;display:inline-flex}.guest-share-buttons svg{width:15px;height:15px}@media (max-width:760px){.guest-share-card{grid-template-columns:1fr}}.admin-list .guest-share-card .btn-primary,.admin-list .guest-password-form .btn-primary{border-color:var(--dusty-blue-deep);background:var(--dusty-blue-deep);color:#fff}.admin-list .guest-share-card .btn-primary:hover,.admin-list .guest-password-form .btn-primary:hover{border-color:var(--charcoal);background:var(--charcoal);color:#fff}.admin-list .guest-share-qr small{letter-spacing:0;text-transform:none}.thank-you-envelope{flex-direction:column;align-items:center;gap:clamp(16px,2.6vw,28px);min-height:0;display:flex}.thank-you-envelope-copy{width:min(680px,92vw);padding:0}.thank-you-envelope-copy h2{font-size:clamp(2.5rem,5.6vw,4.2rem)}.thank-you-envelope-stage{aspect-ratio:16/10;perspective:1400px;width:min(580px,88vw);animation:6s ease-in-out infinite thankYouFloat;position:relative}.thank-you-envelope-stage .thank-you-envelope-back,.thank-you-envelope-stage .thank-you-envelope-front,.thank-you-envelope-stage .thank-you-envelope-flap{width:100%;height:100%;top:0;left:0;transform:none}.thank-you-envelope-stage .thank-you-envelope-back{z-index:1;background:linear-gradient(160deg,#e3ecf0,#d3e0e7);border-radius:12px;box-shadow:0 30px 70px #34455233}.thank-you-envelope-stage .thank-you-envelope-letter{width:88%;height:86%;transition:transform .85s cubic-bezier(.2,.8,.2,1) .25s;top:7%;left:6%;transform:none}.thank-you-envelope-stage .thank-you-envelope-front{z-index:4;clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);background:linear-gradient(150deg,#eef3f5 0%,#dce7ed 100%);border-radius:0 0 12px 12px;justify-content:center;align-items:flex-end;padding-bottom:8%;display:flex}.thank-you-envelope-stage .thank-you-envelope-front:before{content:"";clip-path:polygon(0 100%,50% 47%,100% 100%);background:linear-gradient(#ffffff1f,#ffffff8c);position:absolute;inset:0}.thank-you-envelope-to{z-index:1;color:var(--dusty-blue-deep);font:400 clamp(1.6rem, 4.2vw, 2.5rem) var(--font-script), cursive;position:relative}.thank-you-envelope-stage .thank-you-envelope-flap{z-index:5;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;background:linear-gradient(#d9e5eb,#c7d8e1);border-radius:12px 12px 0 0;height:58%}.thank-you-envelope-seal{z-index:6;aspect-ratio:1;background:radial-gradient(circle at 34% 27%, #ffffff3d, transparent 28%), var(--dusty-blue-deep);color:#edf4f7;width:clamp(56px,11vw,78px);font:500 clamp(.85rem, 2vw, 1.1rem) var(--font-serif);border-radius:50%;place-items:center;transition:opacity .3s,transform .45s;display:grid;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)rotate(-6deg);box-shadow:0 0 0 5px #56748a,inset 0 0 0 6px #edf4f773,0 4px 0 5px #466476,0 12px 22px #27374147}.thank-you-envelope-actions{flex-direction:column;align-items:center;gap:8px;display:flex}.thank-you-envelope-actions .btn-primary svg{width:17px}.thank-you-envelope-actions strong{color:var(--dusty-blue-deep);font:400 clamp(1.9rem, 4.4vw, 2.9rem) var(--font-script), cursive}.thank-you-sparkle{z-index:7;background:var(--dusty-blue);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);opacity:0;pointer-events:none;width:14px;height:14px;animation:3.4s ease-in-out infinite thankYouTwinkle;position:absolute}.thank-you-sparkle:first-of-type{top:-7%;left:8%}.thank-you-sparkle:nth-of-type(2){width:10px;height:10px;animation-delay:.7s;top:3%;right:3%}.thank-you-sparkle:nth-of-type(3){animation-delay:1.3s;bottom:14%;left:-5%}.thank-you-sparkle:nth-of-type(4){width:11px;height:11px;animation-delay:1.9s;bottom:-6%;right:12%}.thank-you-sparkle:nth-of-type(5){width:9px;height:9px;animation-delay:2.5s;top:42%;right:-5%}.thank-you-sparkle:nth-of-type(6){width:8px;height:8px;animation-delay:1s;top:-11%;left:64%}@keyframes thankYouFloat{50%{transform:translateY(-8px)rotate(-.4deg)}}@keyframes thankYouTwinkle{0%,to{opacity:0;transform:scale(.4)rotate(0)}50%{opacity:1;transform:scale(1)rotate(45deg)}}.thank-you-card-section.is-opening .thank-you-envelope-stage{animation:none}.thank-you-card-section.is-opening .thank-you-envelope-stage .thank-you-envelope-flap{z-index:2;transition:transform .6s cubic-bezier(.2,.8,.2,1),z-index 0s .3s;transform:rotateX(180deg)}.thank-you-card-section.is-opening .thank-you-envelope-stage .thank-you-envelope-letter{transform:translateY(-46%)}.thank-you-card-section.is-opening .thank-you-envelope-actions{animation:.35s forwards thankYouCopyOut}.thank-you-interior:before,.thank-you-interior:after{content:"";z-index:0;aspect-ratio:2/3;mix-blend-mode:multiply;opacity:.55;pointer-events:none;background:url(/images/dusty-blue-invitation-ornament.webp) no-repeat;width:min(380px,55vw);position:absolute}.thank-you-interior:before{background-position:0 0;background-size:200%;top:-30px;left:-40px}.thank-you-interior:after{opacity:.4;background-position:100% 100%;background-size:200%;bottom:-30px;right:-40px}.thank-you-letter{grid-template-columns:minmax(200px,290px) minmax(0,1fr);align-items:start;column-gap:clamp(32px,5vw,64px);width:min(980px,100% - 40px);display:grid}.thank-you-letter .thank-you-monogram{box-shadow:inset 0 0 0 5px var(--ivory), inset 0 0 0 6px #8fa9bb4d;grid-column:1/-1}.thank-you-polaroid{background:#fff;margin:26px 0 0;padding:14px 14px 58px;position:relative;transform:rotate(-4deg);box-shadow:0 20px 44px #3445522e}.thank-you-polaroid:before{content:"";background:#d8e4ebe0;width:112px;height:30px;position:absolute;top:-15px;left:50%;transform:translate(-50%)rotate(3deg);box-shadow:0 2px 6px #34455214}.thank-you-polaroid img{aspect-ratio:4/5;object-fit:cover;width:100%;display:block}.thank-you-polaroid figcaption{color:var(--dusty-blue-deep);font:400 1.35rem var(--font-script), cursive;text-align:center;position:absolute;bottom:15px;left:0;right:0}.thank-you-letter-body>p{color:var(--text-secondary);font:italic 400 clamp(1.08rem, 1.6vw, 1.24rem)/1.7 var(--font-serif);margin:0 0 16px}.thank-you-letter>em{grid-column:1/-1}@media (max-width:760px){.thank-you-letter{grid-template-columns:1fr}.thank-you-polaroid{justify-self:center;width:min(250px,72%);margin-bottom:30px;transform:rotate(-3deg)}}.gift-card-grid>button{padding:0 0 26px;overflow:hidden}.gift-card-grid>button>:not(.gift-art){margin-inline:26px}.gift-card-grid .gift-number{align-items:center;gap:6px;display:inline-flex}.gift-card-grid .gift-number svg{width:14px;height:14px;margin:0}.gift-art{border-bottom:1px solid var(--line);background:linear-gradient(160deg,#e6eef2,#f6f4ef);align-self:stretch;place-items:center;height:170px;margin-bottom:22px;display:grid;position:relative;overflow:hidden}.gift-art:before{content:"";mix-blend-mode:multiply;opacity:.35;background:url(/images/dusty-blue-invitation-ornament.webp) 50%/cover;position:absolute;inset:0}.gift-art-paper{z-index:1;border:1px solid var(--dusty-blue);background:#faf8f4;flex-direction:column;align-items:center;gap:7px;width:152px;height:106px;padding:13px;transition:transform .4s;display:flex;position:relative;transform:rotate(-3deg);box-shadow:inset 0 0 0 4px #faf8f4,inset 0 0 0 5px #8fa9bb80,0 12px 24px #34455229}.gift-art-paper b{color:var(--dusty-blue-deep);font:500 .95rem var(--font-serif)}.gift-art-paper i{background:var(--dusty-blue-light);border-radius:2px;width:72%;height:3px;display:block}.gift-art-paper i:nth-of-type(2){width:86%}.gift-art-paper i:nth-of-type(3){width:54%}.gift-art-seal{background:var(--dusty-blue-deep);border-radius:50%;width:30px;height:30px;position:absolute;bottom:-11px;right:14px;box-shadow:inset 0 0 0 3px #edf4f773,0 4px 8px #27374140}.gift-art-polaroid{z-index:1;background:#fff;width:98px;height:120px;padding:7px 7px 24px;transition:transform .4s;position:absolute;transform:rotate(6deg)translate(16px);box-shadow:0 12px 24px #3445522e}.gift-art-polaroid.is-back{background:#f2f6f8;transform:rotate(-9deg)translate(-28px)}.gift-art-polaroid img{object-fit:cover;width:100%;height:100%;display:block}.gift-art-phone{z-index:1;border:4px solid var(--charcoal);background:#faf8f4 url(/images/dusty-blue-invitation-ornament.webp) 50%/cover;border-radius:15px;place-items:center;width:72px;height:136px;transition:transform .4s;display:grid;position:relative;transform:rotate(5deg);box-shadow:0 14px 26px #34455238}.gift-art-phone span{background:var(--dusty-blue-deep);color:#edf4f7;width:32px;height:32px;font:500 .62rem var(--font-serif);border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 0 0 2px #edf4f773}.gift-card-grid>button:hover .gift-art-paper{transform:rotate(0)translateY(-4px)}.gift-card-grid>button:hover .gift-art-polaroid{transform:rotate(2deg)translate(18px,-4px)}.gift-card-grid>button:hover .gift-art-polaroid.is-back{transform:rotate(-12deg)translate(-34px,-2px)}.gift-card-grid>button:hover .gift-art-phone{transform:rotate(0)translateY(-4px)}@media (prefers-reduced-motion:reduce){.thank-you-envelope-stage,.thank-you-sparkle{animation:none}.thank-you-sparkle{opacity:.6}}.thank-you-interior:before{-webkit-mask-image:radial-gradient(at 0 0,#000 30%,#0000 70%);mask-image:radial-gradient(at 0 0,#000 30%,#0000 70%)}.thank-you-interior:after{-webkit-mask-image:radial-gradient(at 100% 100%,#000 30%,#0000 70%);mask-image:radial-gradient(at 100% 100%,#000 30%,#0000 70%)}.thank-you-envelope-stage .thank-you-envelope-front{padding-bottom:5.5%}.gift-collection>header h3{text-wrap:balance}.thank-you-polaroid figcaption{white-space:nowrap;font-size:clamp(.9rem,3vw,1.35rem)}.thank-you-envelope-seal{box-shadow:none;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.thank-you-envelope-seal:disabled{cursor:default}.thank-you-envelope-seal:not(:disabled):hover{transform:translate(-50%,-50%)rotate(-6deg)scale(1.07)}.thank-you-envelope-seal:after{content:"";pointer-events:none;border:2px solid #607d9173;border-radius:50%;animation:2.2s ease-out infinite thankYouSealPulse;position:absolute;inset:-11px}.thank-you-seal-half{background:radial-gradient(circle at 34% 27%, #ffffff3d, transparent 28%), var(--dusty-blue-deep);color:#edf4f7;font:500 clamp(.85rem, 2vw, 1.1rem) var(--font-serif);border-radius:50%;place-items:center;transition:transform .6s cubic-bezier(.3,.7,.3,1),opacity .6s;display:grid;position:absolute;inset:0;box-shadow:0 0 0 5px #56748a,inset 0 0 0 6px #edf4f773,0 4px 0 5px #466476,0 12px 22px #27374147}.thank-you-seal-half.is-left{clip-path:inset(-24px calc(50% - 1px) -24px -24px)}.thank-you-seal-half.is-right{clip-path:inset(-24px -24px -24px calc(50% - 1px))}.thank-you-seal-crack{z-index:2;clip-path:polygon(45% 0,60% 0,85% 16%,40% 32%,90% 50%,35% 66%,80% 82%,55% 100%,40% 100%,60% 82%,15% 66%,70% 50%,20% 32%,65% 16%);opacity:0;transform-origin:top;pointer-events:none;background:#eef5f8;width:8px;margin-left:-4px;position:absolute;top:4%;bottom:4%;left:50%;transform:scaleY(0)}.thank-you-tap-hint{color:var(--text-muted);letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;font-weight:600;animation:2.2s ease-in-out infinite thankYouHintGlow}@keyframes thankYouSealPulse{0%{opacity:.9;transform:scale(.86)}to{opacity:0;transform:scale(1.35)}}@keyframes thankYouHintGlow{50%{opacity:.55}}@keyframes thankYouSealCrack{0%{opacity:1;transform:scaleY(0)}45%{opacity:1;transform:scaleY(1)}70%,to{opacity:0;transform:scaleY(1)}}.thank-you-card-section.is-opening .thank-you-envelope-seal{opacity:1;transform:translate(-50%,-50%)rotate(-6deg)}.thank-you-card-section.is-opening .thank-you-envelope-seal:after{opacity:0;animation:none}.thank-you-card-section.is-opening .thank-you-seal-crack{animation:.9s ease-out both thankYouSealCrack}.thank-you-card-section.is-opening .thank-you-seal-half.is-left{opacity:0;transition-delay:.4s;transform:translate(-42%,34%)rotate(-26deg)}.thank-you-card-section.is-opening .thank-you-seal-half.is-right{opacity:0;transition-delay:.4s;transform:translate(42%,38%)rotate(24deg)}.thank-you-card-section.is-opening .thank-you-envelope-stage .thank-you-envelope-flap{transition:transform .6s cubic-bezier(.2,.8,.2,1) .75s,z-index 0s 1.05s}.thank-you-card-section.is-opening .thank-you-envelope-stage .thank-you-envelope-letter{transition:transform .7s cubic-bezier(.2,.8,.2,1) 1s}.keepsake-rendered-preview{position:relative;overflow:hidden}.certificate-preview.keepsake-rendered-preview{aspect-ratio:3508/2480;background:#eef3f5;border:0;padding:0}.wallpaper-preview.keepsake-rendered-preview{padding:0}.keepsake-rendered-preview>img{object-fit:cover;width:100%;height:100%;animation:.35s both keepsakePreviewIn;display:block}.keepsake-preview-loading{background:linear-gradient(100deg,#eef3f5 30%,#f8fafb 50%,#eef3f5 70%) 0 0/200% 100%;animation:1.2s linear infinite keepsakeShimmer;position:absolute;inset:0}@keyframes keepsakeShimmer{to{background-position:-200% 0}}@keyframes keepsakePreviewIn{0%{opacity:.4}to{opacity:1}}@media (prefers-reduced-motion:reduce){.thank-you-envelope-seal:after,.thank-you-tap-hint{animation:none}}.thank-you-envelope-stage .thank-you-envelope-front{clip-path:none;background:0 0;border:0;border-radius:12px;overflow:hidden}.thank-you-envelope-stage .thank-you-envelope-front:before{content:none}.thank-you-envelope-pocket{width:100%;height:100%;position:absolute;inset:0}.thank-you-envelope-stage .thank-you-envelope-back{background-blend-mode:multiply;background:url(/images/dusty-blue-invitation-ornament.webp) 50%/cover,linear-gradient(160deg,#d3e0e7,#bfd1dc)}.rsvp-counters{grid-template-columns:1fr 1fr;gap:10px;display:grid}.rsvp-counter{border:1px solid var(--line-strong);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.rsvp-counter>span{gap:2px;display:grid}.rsvp-counter strong{color:var(--charcoal);font:500 1.08rem var(--font-serif)}.rsvp-counter small{color:var(--text-muted);font-size:.68rem}.rsvp-counter>div{align-items:center;gap:8px;display:flex}.rsvp-counter button{border:1px solid var(--line-strong);background:var(--ivory);width:32px;height:32px;color:var(--dusty-blue-deep);border-radius:50%;place-items:center;transition:background .2s,border-color .2s;display:grid}.rsvp-counter button:hover:not(:disabled){border-color:var(--dusty-blue-deep);background:var(--dusty-blue-light)}.rsvp-counter button:disabled{cursor:not-allowed;opacity:.35}.rsvp-counter button svg{width:14px;height:14px}.rsvp-counter output{min-width:18px;color:var(--charcoal);font:500 1.3rem var(--font-serif);text-align:center}.rsvp-meal-options{flex-wrap:wrap;gap:8px;display:flex}.rsvp-meal-chip{border:1px solid var(--line-strong);color:var(--text-secondary);background:#fff;border-radius:999px;align-items:center;gap:5px;padding:7px 13px;font-size:.8rem;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.rsvp-meal-chip:hover{border-color:var(--dusty-blue-deep)}.rsvp-meal-chip.is-selected{border-color:var(--dusty-blue-deep);background:var(--dusty-blue-deep);color:#fff}.rsvp-meal-chip svg{width:13px;height:13px}@media (max-width:480px){.rsvp-counters{grid-template-columns:1fr}}.rsvp-overview{gap:14px;margin-top:18px;display:grid}.rsvp-overview header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.rsvp-overview h2{align-items:center;gap:8px;display:flex}.rsvp-overview h2 svg{width:20px;color:var(--dusty-blue-deep)}.rsvp-overview-actions{flex-wrap:wrap;gap:8px;display:flex}.rsvp-overview-actions button{border:1px solid var(--line-strong);color:var(--charcoal);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:.8rem;display:inline-flex}.rsvp-overview-actions button svg{width:14px}.rsvp-overview-actions button.active{border-color:var(--dusty-blue-deep);background:var(--dusty-blue-deep);color:#fff}.rsvp-overview-actions button:disabled{opacity:.5}.rsvp-table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;overflow-x:auto}.rsvp-table{border-collapse:collapse;width:100%;min-width:860px;font-size:.84rem}.rsvp-table th{border-bottom:1px solid var(--line-strong);color:var(--text-muted);letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f6f8f9;padding:10px 12px;font-size:.7rem;font-weight:600}.rsvp-table td{border-bottom:1px solid var(--line);color:var(--text-secondary);vertical-align:top;padding:10px 12px}.rsvp-table tr:last-child td{border-bottom:0}.rsvp-table td strong{color:var(--charcoal)}.rsvp-badge{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.74rem;display:inline-block}.rsvp-badge.is-coming{color:var(--dusty-blue-deep);background:#e3eef3}.rsvp-badge.is-declined{color:#8a6b6b;background:#f1eeee}.food-categories{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.food-categories article{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px 16px}.food-categories h3{color:var(--charcoal);justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:.95rem;font-weight:600;display:flex}.food-categories h3 strong{background:var(--dusty-blue-deep);color:#fff;border-radius:999px;place-items:center;min-width:24px;height:24px;font-size:.75rem;display:grid}.food-categories ul{color:var(--text-secondary);gap:6px;margin:0;padding:0;font-size:.84rem;line-height:1.45;list-style:none;display:grid}.food-categories small{color:var(--text-muted)}.food-category-notes{grid-column:1/-1}.rsvp-overview-empty,.rsvp-overview-hint{color:var(--text-muted);font-size:.82rem}.guest-rsvp-details{color:var(--dusty-blue-deep);font-size:.8rem;line-height:1.45}.rsvp-counter output{font-variant-numeric:lining-nums tabular-nums}.guest-share-warning{color:#6f4d1c;background:#fdf6ea;border-left:3px solid #b07a2c;border-radius:6px;margin-bottom:12px;padding:12px 14px;font-size:.82rem;line-height:1.5}.guest-share-warning strong{margin-bottom:2px;display:block}.personal-monogram.has-photo{background-color:var(--dusty-blue-light);width:clamp(72px,12vh,120px);height:clamp(72px,12vh,120px);box-shadow:0 0 0 4px #faf9f6, 0 0 0 5px var(--dusty-blue), 0 12px 26px #34455233;background-position:58% 37%;background-repeat:no-repeat;background-size:400%;border:0;margin-bottom:clamp(16px,3vh,32px);position:relative}.personal-monogram-badge{background:var(--dusty-blue-deep);color:#edf4f7;font:500 clamp(.62rem, 1.4vh, .8rem) var(--font-serif);letter-spacing:.04em;white-space:nowrap;border-radius:999px;align-items:center;padding:4px 11px;display:inline-flex;position:absolute;bottom:-12px;left:50%;transform:translate(-50%);box-shadow:0 0 0 2px #faf9f6,0 4px 10px #27374138}.personal-monogram-badge i{margin:0 2px;font-size:.85em}.hero-portrait img{object-position:56% 50%}.thank-you-polaroid img,.gift-art-polaroid img{object-position:58% 45%}.hero-portrait-caption{background:linear-gradient(#3445528c,#34455200);padding:58px 16% 46px;font-size:clamp(1.4rem,2.3vw,1.8rem);line-height:1.25;top:0;bottom:auto}
