.minimalist{width:100%;position:relative;overflow-x:hidden}.fixed-bg{z-index:0;pointer-events:none;background:#000;width:100%;max-width:440px;height:100dvh;position:fixed;top:0;left:50%;overflow:hidden;transform:translate(-50%)}.bg-image,.bg-video{image-rendering:auto;backface-visibility:hidden;will-change:opacity,transform;object-fit:cover;object-position:center center;opacity:0;width:100%;min-width:100%;height:100%;min-height:100%;transition:opacity 1.5s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bg-image.active{opacity:1}.bg-overlay{background:rgba(0,0,0,var(--overlay-opacity,.28));position:absolute;inset:0}.paper-section{z-index:10;position:relative}.paper-spacer{z-index:10;background:0 0;position:relative}.paper-section{z-index:10;background:0 0;width:100%;position:relative;overflow:visible}.paper-top{font-size:0;line-height:0;display:block;overflow:hidden}.paper-top img{width:100%;height:auto;display:block;position:relative;bottom:-3px}.paper-body{background:var(--paper-bg);margin-top:-3px;position:relative;box-shadow:inset 0 0 30px #00000006,0 8px 24px #0000000a}.paper-inner{width:min(88%,var(--paper-width));margin:auto;padding:0 0 90px}.paper-bottom{font-size:0;line-height:0;display:block;overflow:hidden}.paper-bottom img{width:100%;height:auto;display:block;position:relative;top:-3px}.hero-space{height:0}.invitation-section{text-align:center;color:var(--text-color)}.invite-heart{font-family:var(--heading-font),serif;letter-spacing:.08em;margin-bottom:42px;font-size:18px}.invite-quote{max-width:360px;font-family:var(--body-font),serif;text-align:center;color:var(--text-color);margin:0 auto 55px;font-size:24px;font-weight:700;line-height:1.8}.invite-parents{margin-bottom:40px}.invite-parents p{font-family:var(--body-font-font),serif;color:var(--text-color);margin:2px 0;font-size:18px;line-height:1.45}.invite-request{max-width:360px;font-family:var(--body-font),serif;text-align:center;color:var(--text-color);margin:0 auto 60px;font-size:23px;font-weight:700;line-height:1.8}.invite-couple{font-family:var(--accent-font),cursive;white-space:pre-line;color:var(--text-color);margin:0;font-size:52px;font-weight:400;line-height:1.15}.invite-date{font-family:var(--body-font),serif;color:var(--text-color);margin:22px 0 25px;font-size:18px}.countdown{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.countdown div{width:58px}.countdown strong{font-family:var(--heading-font),serif;color:var(--text-color);font-size:24px;font-weight:600;display:block}.countdown span{letter-spacing:.15em;text-transform:uppercase;color:var(--text-light);margin-top:4px;font-size:10px;display:block}@media (max-width:768px){.paper-inner{width:min(88%,var(--paper-width))}.hero-space{height:0}.invite-heart{margin-bottom:38px;font-size:17px}.invite-quote{max-width:360px;font-family:var(--body-font),serif;color:var(--text-color);text-align:center;margin:0 auto 48px;font-size:22px;font-weight:700;line-height:1.8}.invite-parents p{font-size:16px}.invite-request{max-width:260px;font-size:15px}.invite-couple{font-size:42px}.invite-date{font-size:17px}.countdown{gap:10px}.countdown div{width:52px}.countdown strong{font-size:22px}.countdown span{font-size:9px}}.theme-provider[data-paper-texture=classic] .paper-body{background:#fffdf9}.theme-provider[data-paper-texture=cotton] .paper-body{background:#fcfbf7;box-shadow:inset 0 0 40px #00000008,0 10px 28px #0000000d}.theme-provider[data-paper-texture=linen] .paper-body{background:#fff;box-shadow:inset 0 0 50px #00000009,0 10px 30px #0000000f}.theme-provider[data-paper-texture=ivory] .paper-body{background:#f9f5ea;box-shadow:inset 0 0 40px #00000008,0 10px 30px #0000000d}.invite-and{font-size:.55em;font-family:var(--heading-font),serif;color:var(--accent-color);letter-spacing:.25em;margin:10px 0}.invite-parents{text-align:center;grid-template-columns:1fr 1fr;gap:30px;width:100%;max-width:650px;margin:50px auto;display:grid}.invite-parent-name{flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;display:flex}.invite-parent-label{margin-bottom:6px;font-family:Amiri,serif;font-size:24px;font-weight:700}.invite-parent-person{text-align:center;direction:rtl;font-family:Amiri,serif;font-size:28px;font-weight:700;line-height:1.5}.opening{text-align:center;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0003;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.opening h1{color:#fff;font-family:var(--heading-font);margin-bottom:20px;font-size:3rem}.opening p{color:#fff;opacity:.9;margin-bottom:40px}.opening button{color:#222;cursor:pointer;background:#fff;border:1px solid #fff9;border-radius:999px;padding:18px 46px;font-size:1rem;transition:all .3s}.opening button:hover{transform:translateY(-2px)}.music-toggle{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;z-index:9999;background:#ffffffe0;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:fixed;top:22px;right:22px;box-shadow:0 6px 20px #00000026}.scroll-indicator{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:5;flex-direction:column;justify-content:center;align-items:center;margin:-100px 0 60px;display:flex;position:relative}.scroll-line{background:linear-gradient(90deg,#0000,#fff0,#fffffff2,#fff0);width:160px;height:2px;margin-bottom:18px}.scroll-text{letter-spacing:.45em;text-transform:uppercase;color:#fff;text-shadow:0 0 8px #fff9,0 2px 10px #00000059;margin-bottom:12px;font-size:15px;font-weight:500}.scroll-arrow{color:#fff;text-shadow:0 0 10px #ffffffb3,0 2px 10px #00000059;font-size:42px;line-height:1;animation:1.8s ease-in-out infinite scrollBounce}@keyframes scrollBounce{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(18px)}}.ceremony-hero{background:#fff;justify-content:center;align-items:center;width:100%;min-height:720px;display:flex;position:relative;overflow:hidden}.ceremony-image{backface-visibility:hidden;image-rendering:auto;object-fit:cover;object-position:center;z-index:0;width:100%;height:100%;position:absolute;inset:0;transform:translateZ(0)}.ceremony-hero.has-image:before{content:"";z-index:1;background:#00000073;position:absolute;inset:0}.ceremony-overlay{z-index:2;border:none;border-radius:24px;width:min(100%,420px);padding:0 35px;position:relative}.ceremony-hero.has-image .ceremony-overlay{background:#00000073;box-shadow:0 25px 60px #00000059}.ceremony-hero.no-image .ceremony-overlay{box-shadow:none;background:0 0}.ceremony-hero.has-image :is(h1,h2,h3,h4,h5,p,span,div,small){text-shadow:0 3px 10px #000000bf;color:#fff!important}.ceremony-hero.no-image *{color:#111!important;text-shadow:none!important}.celebration-hero{background:#fff;justify-content:center;align-items:center;width:100%;min-height:720px;display:flex;position:relative;overflow:hidden}.celebration-image{object-fit:contain;object-position:center 150%;z-index:0;background:#000;width:100%;height:100%;position:absolute;inset:0}.celebration-hero.has-image:before{content:"";z-index:1;background:#00000073;position:absolute;inset:0}.celebration-overlay{z-index:2;border-radius:24px;width:min(100%,420px);padding:40px 35px;position:relative}.celebration-hero.has-image .celebration-overlay{background:#00000073;box-shadow:0 25px 60px #00000059}.celebration-hero.no-image .celebration-overlay{box-shadow:none;background:0 0}.celebration-hero.has-image :is(h1,h2,h3,h4,h5,p,span,div,small){text-shadow:0 3px 10px #000000bf;color:#fff!important}.celebration-hero.no-image *{color:#111!important;text-shadow:none!important}.celebration-overlay button,.celebration-overlay .button{background:#fff;color:#222!important}.section-divider{z-index:5;justify-content:center;align-items:center;margin-top:-28px;margin-bottom:-28px;display:flex;position:relative}.section-divider img{opacity:.95;width:240px;max-width:100%;height:auto;display:block}@media (max-width:768px){.invite-parents{grid-template-columns:1fr 1fr;gap:18px}.invite-parent-label{font-size:20px}.invite-parent-person{font-size:21px}}.ceremony-hero .button,.ceremony-hero button,.celebration-hero .button,.celebration-hero button{color:#111!important}
.countdown{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.countdown div{text-align:center;width:58px}.countdown strong{font-family:var(--heading-font),serif;color:var(--text-color);font-size:24px;font-weight:600;display:block}.countdown span{letter-spacing:.15em;text-transform:uppercase;color:var(--text-light);margin-top:4px;font-size:10px;display:block}@media (max-width:768px){.countdown{gap:10px}.countdown div{width:52px}.countdown strong{font-size:22px}.countdown span{font-size:9px}}
.ceremony{text-align:center;padding:70px 0 30px}.ceremony-note{color:#2b2b2b;max-width:650px;margin:34px auto 48px;font-family:Noto Naskh Arabic,serif;font-size:1.55rem;font-weight:400;line-height:.2}.ceremony-place-wrap{flex-direction:column;align-items:center;margin:48px 0 8px;display:flex}.ceremony-place-wrap:before{content:"";background:#ddd;width:110px;height:1px;margin-bottom:5px}.ceremony-place{color:#222;letter-spacing:0;text-transform:none;margin:0;font-family:Noto Naskh Arabic,serif;font-size:2rem;font-weight:600;line-height:1.45}.ceremony-location-icon{color:#c7a56a;opacity:.95;justify-content:center;align-items:center;margin-top:20px;margin-bottom:10px;display:flex}.ceremony-location-icon svg{width:30px;height:30px}.ceremony-icon{color:#c7a56a;opacity:.95;width:52px;height:52px;margin-bottom:2px}.ceremony-time{font-family:var(--heading-font);color:#666;letter-spacing:.02em;margin-top:32px;font-size:1.75rem;font-style:italic}.section-divider{justify-content:center;align-items:center;gap:14px;margin:-45px 0 24px;display:flex}.section-divider span{background:linear-gradient(90deg,#0000,#c8c8c8,#f4f4f4,#c8c8c8,#0000);width:90px;height:1px}.section-divider-icon{color:#c7c7c7;font-size:10px;line-height:1}@media (max-width:480px){.section-divider span{width:58px}}.celebration-bottom-note{text-align:center;color:#333;margin-top:-55px;font-family:Noto Naskh Arabic,serif;font-size:1.45rem;line-height:2}.restaurant-name{letter-spacing:.08em;color:#222;margin-top:12px;font-size:2rem;font-weight:700;display:block}.ceremony-hero.has-image .celebration-bottom-note,.ceremony-hero.has-image .restaurant-name{text-shadow:0 3px 10px #000000bf;color:#fff!important}.ceremony-hero.no-image .celebration-bottom-note,.ceremony-hero.no-image .restaurant-name{text-shadow:none;color:#222!important}
.section-title{margin:0 auto 60px}.section-title--center{text-align:center}.section-title--left{text-align:left}.section-title--right{text-align:right}.section-title__heading{font-family:var(--heading-font),serif;color:var(--text-color);margin:0;font-size:36px;font-weight:500;line-height:1.2}.section-title__subtitle{color:var(--text-light);font-family:var(--body-font),serif;margin-top:12px;font-size:16px;line-height:1.7}@media (max-width:768px){.section-title{margin-bottom:45px}.section-title__heading{font-size:30px}.section-title__subtitle{font-size:15px}}
.info-block{text-align:center;max-width:360px;margin:0 auto;padding-bottom:40px}.info-block__icon{color:var(--accent-color);justify-content:center;align-items:center;margin-bottom:22px;display:flex}.info-block__title{font-family:var(--heading-font),serif;color:var(--text-color);margin:0;font-size:24px;font-weight:500;line-height:1.6}.info-block__subtitle{font-family:var(--body-font),serif;color:var(--text-light);margin-top:12px;font-size:16px;line-height:1.8}.info-block__actions{margin-top:34px}@media (max-width:768px){.info-block{max-width:300px}.info-block__title{font-size:22px}.info-block__subtitle{font-size:15px}}
.ui-button{cursor:pointer;font-family:var(--body-font),serif;border:none;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:14px 28px;font-size:15px;text-decoration:none;transition:all .25s;display:inline-flex}.ui-button--full{width:100%}.ui-button--primary{background:var(--accent-color);color:#fff}.ui-button--primary:hover{opacity:.92}.ui-button--secondary{color:var(--text-color);border:1px solid var(--border-color);background:#fff}.ui-button--ghost{color:var(--text-color);background:0 0}
.celebration{text-align:center;padding:10px 0 30px}.section-divider{justify-content:center;align-items:center;gap:14px;margin:-45px 0 24px;display:flex}.section-divider span{background:#c7a56a59;width:80px;height:2px}.section-divider-icon{color:var(--accent-color);font-size:11px;line-height:1}@media (max-width:480px){.section-divider span{width:58px}}.celebration .info-block{margin-top:34px}.celebration .btn{margin:34px auto 0}.celebration-icon{color:#c7a56a;opacity:.95;width:52px;height:52px;margin-bottom:12px}.celebration-place-wrap{margin:20px 0 0}.celebration-place{color:#222;font-family:Noto Naskh Arabic,serif;font-size:2.15rem;font-weight:600;line-height:1.45}.celebration-time{font-family:var(--heading-font);color:#666;margin-top:28px;font-size:1.75rem;font-style:italic}.celebration-note{color:#2b2b2b;max-width:300px;margin-top:28px;margin-left:auto;margin-right:auto;font-family:Noto Naskh Arabic,serif;font-size:1.35rem;line-height:2}.celebration-address{color:#555;margin-top:10px;font-family:Noto Naskh Arabic,serif;font-size:1.2rem;font-weight:700;line-height:1.8}
.houses{text-align:center;padding:40px 0}.house-block{margin-bottom:60px}.house-block:last-child{margin-bottom:0}.houses-footer{font-family:var(--body-font),serif;color:var(--text-light);margin-top:40px;font-size:15px;line-height:1.8}.section-divider{justify-content:center;align-items:center;gap:14px;margin:-45px 0 24px;display:flex}.section-divider span{background:#c7a56a59;width:80px;height:2px}.section-divider-icon{color:var(--accent-color);font-size:11px;line-height:1}@media (max-width:480px){.section-divider span{width:58px}}
.after-ceremony{text-align:center;padding:40px 0 30px}.gift-divider{justify-content:center;align-items:center;gap:14px;margin:-45px 0 5px;display:flex}.gift-divider span{background:#c7a56a59;width:80px;height:2px}.gift-divider-icon{color:var(--accent-color);font-size:11px;line-height:1}
.gifts{text-align:center;padding:25px 0 0}.gift-divider{justify-content:center;align-items:center;gap:14px;margin:-45px 0 5px;display:flex}.gift-divider span{background:#c7a56a59;width:80px;height:2px}.gift-divider-icon{color:var(--accent-color);font-size:11px;line-height:1}.gifts-note{max-width:340px;font-family:var(--body-font);color:var(--text-light);margin:0 auto;font-size:17px;line-height:1.9}.gift-heart{color:var(--accent-color);margin:1px 0 26px;font-size:18px;line-height:1}.gift-list{flex-direction:column;gap:0;display:flex}.gift-list>*+*{margin-top:18px;padding-top:18px;position:relative}.gift-list>*+:before{content:"";background:#c7a56a38;width:90px;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.gift-list>*+:after{content:"✦";width:16px;height:16px;color:var(--accent-color);background:#fff;justify-content:center;align-items:center;font-size:9px;display:flex;position:absolute;top:-7px;left:50%;transform:translate(-50%)}@media (max-width:480px){.gift-divider span{width:58px}.gifts-note{max-width:300px;font-size:16px;line-height:1.8}}
.gift-card{background:#ffffff14;border:1px solid #c7a56a38;border-radius:16px;grid-template-columns:52px 1fr;align-items:center;gap:16px;padding:20px 22px;transition:all .25s;display:grid}.gift-card:hover{border-color:#c7a56a73;transform:translateY(-2px)}.gift-left{justify-content:center;align-items:flex-start;padding-top:4px;display:flex}.gift-logo{object-fit:contain;width:34px;height:34px}.gift-icon{font-size:26px}.gift-right{flex-direction:column;align-items:flex-start;display:flex}.gift-title{font-family:var(--heading-font);color:var(--text-color);margin:0;font-size:26px;font-weight:400;line-height:1}.gift-value{font-family:var(--body-font);color:var(--text-light);letter-spacing:.3px;word-break:break-word;margin:6px 0 14px;font-size:16px}.gift-right .btn{border-radius:999px;justify-content:center;align-items:center;gap:8px;min-width:165px;height:38px;padding:0 20px;font-size:14px;transition:all .25s;display:inline-flex}.gift-copy-icon{font-size:15px;line-height:1}.gift-toast{color:#fff;font-size:14px;font-family:var(--body-font);opacity:0;pointer-events:none;z-index:9999;background:#232323f0;border-radius:999px;padding:12px 18px;transition:all .28s;position:fixed;bottom:34px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 12px 30px #0000002e}.gift-toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (max-width:480px){.gift-card{grid-template-columns:46px 1fr;gap:14px;padding:18px}.gift-title{font-size:23px}.gift-value{font-size:15px}.gift-right .btn{min-width:150px;height:36px;font-size:13px}}
.rsvp{text-align:center;padding:30px 0}.rsvp .gift-divider{justify-content:center;align-items:center;gap:14px;margin:-40px 0 5px;display:flex}.rsvp .gift-divider span{background:#c7a56a59;width:80px;height:2px}.rsvp .gift-divider-icon{color:var(--accent-color);font-size:11px}.rsvp-message{max-width:420px;font-family:var(--body-font);color:var(--text-color);text-align:center;margin:0 auto;font-size:22px;line-height:2.1}.rsvp-heart{color:var(--accent-color);margin:18px 0 34px;font-size:18px}.rsvp-choice{background:#fff;border:1px solid #8b8b8b;border-radius:12px;grid-template-columns:1fr 1fr;margin:0 auto 34px;display:grid;overflow:hidden}.rsvp-option{cursor:pointer;color:#222;height:70px;font-family:var(--body-font);background:0 0;border:none;justify-content:center;align-items:center;gap:10px;font-size:18px;font-weight:500;transition:all .25s;display:flex;position:relative}.rsvp-option:first-child{border-right:1px solid #8b8b8b}.rsvp-option span:last-child{white-space:nowrap}.rsvp-icon{color:#222;font-size:22px;line-height:1}.rsvp-option.accept.selected{background:#edf8ef}.rsvp-option.accept.selected span,.rsvp-option.accept.selected .rsvp-icon{color:#2f6d3f}.rsvp-option.decline.selected{background:#fcf2f2}.rsvp-option.decline.selected span,.rsvp-option.decline.selected .rsvp-icon{color:#b03a3a}@media (max-width:600px){.rsvp-choice{background:0 0;border:none;flex-direction:column;gap:18px;margin:0 auto 34px;display:flex}.rsvp-option{background:#fff;border-radius:999px;justify-content:center;width:100%;min-height:72px;font-size:18px;box-shadow:0 8px 20px #0000000d;border:1px solid #c7a56a59!important}.rsvp-option:first-child{border-right:none}.rsvp-icon{display:none}}.rsvp-field{text-align:right;direction:rtl;margin-bottom:28px}.rsvp-field input,.rsvp-field textarea{text-align:right;direction:rtl}.guest-one,.guest-select-trigger,.guest-item{text-align:right;direction:rtl;justify-content:space-between}.rsvp{direction:rtl}.rsvp-field label{font-family:var(--heading-font);color:var(--text-color);margin-bottom:10px;font-size:24px;display:block}.rsvp-field input,.rsvp-field textarea{width:100%;font-size:16px;font-family:var(--body-font);color:var(--text-color);resize:none;background:0 0;border:none;border-bottom:1px solid #c7a56a59;outline:none;padding:12px 0}.rsvp-field input::placeholder,.rsvp-field textarea::placeholder{color:#00000059}.rsvp-field input:focus,.rsvp-field textarea:focus{border-bottom-color:var(--accent-color)}.guest-counter{justify-content:center;align-items:center;gap:18px;margin-top:8px;display:flex}.guest-counter button{cursor:pointer;background:0 0;border:1px solid #c7a56a47;border-radius:50%;width:42px;height:42px;font-size:24px;transition:all .25s}.guest-counter button:hover{border-color:var(--accent-color)}.guest-counter span{text-align:center;min-width:40px;font-size:22px;font-family:var(--heading-font)}.rsvp-error{color:#b03a3a;margin-bottom:20px;font-size:15px}.rsvp .btn{border-radius:999px;width:100%;height:50px;margin-top:10px}.rsvp.success{animation:.6s rsvpFade}@keyframes rsvpFade{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.guest-limit{color:var(--text-light);opacity:.75;margin-top:8px;font-size:13px;display:block}.guest-select{width:100%;position:relative}.guest-select-trigger{cursor:pointer;width:100%;height:56px;font-family:var(--body-font);color:var(--text-color);background:#fff;border:1px solid #c7a56a59;border-radius:16px;justify-content:space-between;align-items:center;padding:0 18px;font-size:16px;transition:all .25s;display:flex}.guest-select-trigger:hover{border-color:var(--accent-color)}.guest-placeholder{color:#9d9d9d}.guest-arrow{color:var(--accent-color);transition:all .25s}.guest-arrow.open{transform:rotate(180deg)}.guest-dropdown{z-index:999;background:#fff;border:1px solid #c7a56a40;border-radius:16px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 12px 30px #00000014}.guest-item{cursor:pointer;width:100%;font-family:var(--body-font);color:var(--text-color);background:#fff;border:none;border-bottom:1px solid #c7a56a26;justify-content:flex-start;align-items:center;padding:14px 18px;font-size:16px;transition:all .2s;display:flex}.guest-item:last-child{border-bottom:none}.guest-item:hover{background:#faf6ee}.guest-item.active{color:var(--accent-color);background:#f5efe2;font-weight:600}.guest-one{height:56px;font-family:var(--body-font);background:#fff;border:1px solid #c7a56a59;border-radius:16px;align-items:center;padding:0 18px;display:flex}@media (max-width:480px){.rsvp-message{max-width:300px;font-size:16px}.rsvp-field label{font-size:21px}}
.guest-placeholder{color:#9a9a9a}.guest-one{height:54px;font-family:var(--body-font);color:var(--text-color);background:#fff;border:1px solid #c7a56a59;border-radius:16px;align-items:center;padding:0 18px;font-size:16px;display:flex}.guest-dropdown{z-index:100;background:#fff;border:1px solid #c7a56a40;border-radius:16px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 10px 30px #00000014}
.ending{background:#fff;width:100%;margin-top:-60px}.ending-top{line-height:0;overflow:hidden}.ending-top img{width:100%;display:block;position:relative;bottom:-3px}.ending-photo{object-fit:cover;object-position:center;width:100%;height:520px;display:block}.ending-message-bar{background:#fff;border-top:1px solid #0000000d;border-bottom:1px solid #0000000d;justify-content:center;align-items:center;width:100%;padding:30px 24px;display:flex}.ending-message-text{text-align:center;max-width:420px;font-family:var(--heading-font),serif;color:#222;white-space:pre-wrap;word-break:break-word;font-size:22px;font-weight:500;line-height:1.7}.ending-content{background:#fff;width:100%;padding:40px 0 50px}.ending-footer{flex-direction:column;align-items:center;gap:18px;display:flex}@media (max-width:768px){.ending-photo{height:420px}.ending-message-bar{padding:22px 18px}.ending-message-text{font-size:18px;line-height:1.6}.ending-content{padding:32px 0 42px}.ending-logo{width:110px}}.ending{z-index:20;background:#fff;width:100%;margin-top:-60px;position:relative}.ending-message-bar{z-index:21;background:#fff;padding:30px 24px;position:relative}.ending-content{z-index:21;background:#fff;padding:40px 0;position:relative}.ending-bottom{text-align:center;background:#fff;padding:42px 28px 52px}.ending-message{font-family:var(--heading-font),serif;color:#222;margin:0;font-size:25px;line-height:1.7}.ending-divider{background:#0000001f;width:80px;height:1px;margin:30px auto}.ending-logo{opacity:.92;width:120px;margin:0 auto;display:block}@media (max-width:768px){.ending-bottom{padding:34px 22px 42px}.ending-message{font-size:20px}.ending-divider{width:60px;margin:24px auto}.ending-logo{width:105px}}.ending-heart{opacity:.35;width:20px;height:20px}.ending-logo{opacity:.9;width:115px;height:auto}
.opening{z-index:200;background:#080706;justify-content:center;align-items:center;font-family:Cormorant Garamond,serif;display:flex;position:fixed;inset:0;overflow:hidden}.opening:before{content:"";background:radial-gradient(circle at 50% 58%,#ffd69621,#0000 46%),radial-gradient(circle at 50% 100%,#963c2829,#0000 55%),linear-gradient(#f07b06,#060505 60%,#100c09);position:absolute;inset:0}.opening:after{content:"";pointer-events:none;z-index:2;background:radial-gradient(#0000 52%,#000000b3);position:absolute;inset:0}.opening-particles{pointer-events:none;z-index:1;position:absolute;inset:0}.opening-particles span{opacity:0;background:#ffe2b2e6;border-radius:50%;animation-name:particleFloat;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;bottom:-12px;box-shadow:0 0 8px #ffcd82d9}@keyframes particleFloat{0%{opacity:0;transform:translate(0,0)scale(1)}12%{opacity:var(--peak,.6)}85%{opacity:calc(var(--peak,.6)*.5)}to{transform:translate3d(var(--drift,0px),-108vh,0)scale(.35);opacity:0}}.opening-hint{z-index:7;text-align:center;color:#f0dcbeb8;letter-spacing:.42em;text-transform:uppercase;white-space:nowrap;font-family:Jost,sans-serif;font-size:clamp(.7rem,2.4vw,.82rem);font-weight:300;transition:opacity .5s;animation:3.4s ease-in-out infinite hintBreathe;position:absolute;bottom:5vh;left:50%;transform:translate(-50%)}.opening-hint.hide{opacity:0}@keyframes hintBreathe{0%,to{opacity:.44}50%{opacity:.95}}.opening-cover{opacity:0;z-index:5;pointer-events:none;transition:opacity 1.4s,transform 2.6s cubic-bezier(.19,1,.22,1);position:absolute;inset:0;overflow:hidden;transform:scale(1.14)}.opening-cover.show{opacity:1;transform:scale(1)}.opening-cover img{object-fit:cover;filter:none;opacity:1;width:100%;height:100%;transform:scale(1)}.opening-stage{aspect-ratio:.95;z-index:3;height:min(84vh,97vw,640px);transition:transform 1.9s cubic-bezier(.19,1,.22,1),opacity 1.3s .15s;position:relative}.opening-stage.zoom{opacity:0;transform:scale(1.55)translateY(-4%)}.envelope{perspective:1600px;width:82%;height:52%;transform-style:preserve-3d;filter:drop-shadow(0 40px 60px #0000008c);opacity:0;animation:1.5s cubic-bezier(.2,1,.2,1) .15s forwards envelopeArrive;position:absolute;bottom:0;left:9%}@keyframes envelopeArrive{0%{opacity:0;transform:translateY(70px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.envelope-glow{filter:blur(14px);z-index:0;pointer-events:none;background:radial-gradient(#ffbe7838,#0000 68%);width:128%;height:55%;position:absolute;bottom:-16%;left:-14%}.envelope-back{z-index:1;background:linear-gradient(158deg,#fffdf8,#f7f1e5 42%,#eadfcd);border-radius:10px 10px 14px 14px;width:100%;height:94%;position:absolute;top:6%;left:0;box-shadow:inset 0 2px #ffffffd9,inset 0 -14px 28px #a0825a1f,0 30px 60px #00000059}.envelope-back:after{content:"";border:1px solid #c4a46a47;border-radius:8px;position:absolute;inset:3.5%}.envelope-pocket{z-index:3;background:linear-gradient(168deg,#fdfaf4,#f2ece0 55%,#e6d9c4);border-radius:4px 4px 14px 14px;width:100%;height:60%;position:absolute;top:40%;left:0;overflow:hidden;box-shadow:inset 0 2px #ffffffb3,0 -6px 22px #5a462824}.envelope-pocket:before{content:"";clip-path:polygon(0 0,50% 46%,0 100%);background:linear-gradient(120deg,#ffffffbf,#c4a46a24);border-right:1px solid #c4a46a38;position:absolute;inset:0}.envelope-pocket:after{content:"";clip-path:polygon(100% 0,100% 100%,50% 46%);background:linear-gradient(240deg,#fff9,#c4a46a29);position:absolute;inset:0}.envelope-lip{z-index:4;background:linear-gradient(90deg,#0000,#c6a06099,#0000);width:100%;height:1px;position:absolute;top:40%;left:0}.flap{z-index:4;transform-origin:top;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(#fffefb,#f8f3e9 48%,#e9dcc6);border-radius:10px 10px 0 0;width:100%;height:44%;position:absolute;top:6%;left:0;transform:rotateX(0)translateZ(2px);box-shadow:0 14px 26px #00000029}.flap:before{content:"";clip-path:polygon(0 0,100% 0,100% 2px,50% 100%,0 2px);opacity:.75;background:linear-gradient(#c6a0608c,#c6a06014);position:absolute;inset:4%}.flap.open{animation:2.2s cubic-bezier(.24,.9,.26,1) forwards flapOpen}@keyframes flapOpen{0%{z-index:4;transform:rotateX(0)translateZ(2px)}35%{z-index:4}36%{z-index:-1}70%{z-index:-1;transform:rotateX(-188deg)translateZ(24px)}to{z-index:-1;transform:rotateX(-179deg)translateZ(24px)}}.card{aspect-ratio:.72;z-index:0;background:#f6f1e7;border-radius:6px;width:43%;position:absolute;bottom:3%;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 26px 50px #00000073,0 0 0 1px #c6a06059}.card img{object-fit:cover;width:100%;height:100%;display:block}.card:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 30%,#fff4dc80 47%,#0000 62%);position:absolute;inset:0;transform:translate(-120%)}.card--rise{animation:1.7s cubic-bezier(.3,.9,.25,1) forwards cardRise}.card--rise:after{animation:1.7s ease-in-out forwards cardSheen}@keyframes cardRise{0%{transform:translate(-50%)}to{transform:translate(-50%,-104%)}}@keyframes cardSheen{0%,30%{transform:translate(-120%)}to{transform:translate(130%)}}.card--present{z-index:10;animation:.9s cubic-bezier(.22,1,.36,1) forwards cardPresent}@keyframes cardPresent{0%{transform:translate(-50%,-104%)scale(1);box-shadow:0 26px 50px #00000073,0 0 0 1px #c6a06059}to{transform:translate(-50%,-112%)scale(1.12);box-shadow:0 40px 80px #0009,0 0 60px #ffc48238,0 0 0 1px #d8b8788c}}.card--fly{z-index:12;animation:1.5s cubic-bezier(.5,0,.6,1) forwards cardFly}@keyframes cardFly{0%{opacity:1;transform:translate(-50%,-112%)scale(1.12)}35%{opacity:1;transform:translate(-50%,-118%)scale(1.16)}to{opacity:0;transform:translate(-50%,-150%)scale(1.9)}}.tap-hint{z-index:30;pointer-events:none;letter-spacing:.28em;text-transform:uppercase;color:#fff8eeeb;text-shadow:0 2px 8px #00000073;opacity:.9;font-family:Cormorant Garamond,serif;font-size:16px;font-weight:500;transition:opacity .5s,transform .5s;animation:2.8s ease-in-out infinite hintFloat;position:absolute;top:62%;left:50%;transform:translate(-50%)}@keyframes hintFloat{0%{opacity:.45;transform:translate(-50%)translateY(0)}50%{opacity:1;transform:translate(-50%)translateY(-3px)}to{opacity:.45;transform:translate(-50%)translateY(0)}}.seal{aspect-ratio:1;cursor:pointer;letter-spacing:.08em;color:#f6dcae;text-shadow:0 1px 1px #00000073;z-index:6;clip-path:polygon(50% 0%,66% 3%,79% 10%,90% 21%,97% 34%,100% 50%,97% 66%,89% 79%,78% 90%,65% 97%,50% 100%,34% 97%,21% 90%,10% 79%,3% 65%,0% 50%,3% 34%,11% 21%,22% 10%,35% 3%);background:radial-gradient(circle at 32% 26%,#ffffff4d,#0000 34%),radial-gradient(circle at 70% 78%,#00000059,#0000 46%),linear-gradient(150deg,#a52b45,#7a1628,#480710);border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:23%;padding:0;font-family:Cormorant Garamond,serif;font-size:clamp(.85rem,3.1vh,1.5rem);font-weight:600;line-height:1;transition:filter .3s;animation:3s ease-in-out infinite sealPulse;display:flex;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 -8px 14px #0000006b,inset 0 8px 14px #ffffff29,0 12px 22px #00000073,0 0 26px #b4323747}.seal:hover{filter:brightness(1.1)}.seal-initials{z-index:2;position:relative}.seal-rule{z-index:2;background:linear-gradient(90deg,#0000,#f6dcaecc,#0000);width:46%;height:1px;position:relative}.seal-year{z-index:2;letter-spacing:.22em;opacity:.85;font-family:Jost,sans-serif;font-size:.34em;position:relative}.seal:before{content:"";background:radial-gradient(#ffffff1a,#0000 68%);border:1px solid #f6dcae59;border-radius:50%;position:absolute;inset:9%}@keyframes sealPulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.05)}}.seal.break{pointer-events:none;animation:.16s forwards sealPress,.55s .16s forwards sealExplode}@keyframes sealPress{to{transform:translate(-50%,-50%)scale(.86)}}@keyframes sealExplode{0%{opacity:1;transform:translate(-50%,-50%)scale(.86)}45%{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1.18)rotate(-6deg)}to{opacity:0;filter:blur(9px);transform:translate(-50%,-50%)scale(.35)rotate(28deg)}}.shard{z-index:6;opacity:0;pointer-events:none;background:linear-gradient(150deg,#9c2740,#5c0d1b);border-radius:40% 60% 55% 45%;width:8px;height:8px;animation:.9s cubic-bezier(.2,.7,.3,1) forwards shardFly;position:absolute;top:46%;left:50%;box-shadow:0 2px 6px #00000080}@keyframes shardFly{0%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy)))scale(.3)rotate(var(--rot))}}.opening-title{text-align:center;z-index:8;width:90%;position:absolute;top:9%;left:50%;transform:translate(-50%)}.save-date{letter-spacing:.55em;text-transform:uppercase;color:#d9b273;opacity:.9;font-family:Jost,sans-serif;font-size:.75rem}.opening-title.hide{opacity:0;transform:translate(-50%)translateY(-16px)}.opening-title .eyebrow{letter-spacing:.5em;text-transform:uppercase;opacity:.6;font-family:Jost,sans-serif;font-size:clamp(.6rem,1.5vh,.72rem);font-weight:300}.opening-title .names{background:linear-gradient(#fff5e2,#d9b273);color:#0000;-webkit-background-clip:text;background-clip:text;margin-top:.35em;font-family:Great Vibes,cursive;font-size:clamp(1.9rem,6vh,3.4rem);line-height:1.15}@keyframes titleIn{0%{opacity:0;transform:translate(-50%)translateY(14px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.opening-fade{pointer-events:none;animation:.7s forwards fadeOut}@keyframes fadeOut{0%{opacity:1}to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){.opening *,.opening :before,.opening :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.names{background:linear-gradient(#fff7dd 0%,#e9c98b 45%,#c69a60 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.subtitle{letter-spacing:.25em;color:#fff5e1a6;margin-top:14px;font-family:Jost,sans-serif;font-size:.8rem}.opening-video{object-fit:cover;z-index:5;opacity:1;width:100%;height:100%;transition:opacity .8s;position:absolute;inset:0}.opening-video.hide{opacity:0}.opening-start{z-index:20;cursor:pointer;background:#fff;border:none;border-radius:40px;padding:16px 34px;font-size:18px;position:absolute}.opening-click-layer{z-index:20;cursor:pointer;background:0 0;position:absolute;inset:0}.tap-hint{z-index:30;white-space:nowrap;pointer-events:none;letter-spacing:.18em;color:#fff8eef2;text-shadow:0 2px 10px #0000008c,0 0 20px #ffd28c59;opacity:.9;font-family:Cormorant Garamond,serif;font-size:14px;font-weight:500;transition:opacity .5s,transform .5s;animation:2.8s ease-in-out infinite hintFloat;position:absolute;top:68%;left:50%;transform:translate(-50%)}.tap-hint.hide{opacity:0;opacity:0;opacity:0;opacity:0;transform:translate(-50%)translateY(12px)}@keyframes tapPulse{0%{opacity:.45;transform:translate(-50%)scale(1)}50%{opacity:1;transform:translate(-50%)scale(1.04)}to{opacity:.45;transform:translate(-50%)scale(1)}}.wax-monogram{z-index:20;letter-spacing:1px;color:#f6dfab;text-shadow:0 1px #ffffff73,0 2px 8px #00000059;pointer-events:none;justify-content:center;align-items:center;gap:6px;font-family:Cormorant Garamond,serif;font-size:30px;font-weight:700;transition:opacity .25s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wax-heart{color:#f2d27c;font-size:16px}.wax-monogram.hide{opacity:0}
