:root{--blush-50: #fdf4f6;--blush-100: #f9e4ea;--blush-200: #efc9d9;--blush-300: #eab0c9;--rose-400: #dd7fa3;--rose-500: #bb5c85;--rose-600: #9c3f66;--gold: #cc9a44;--gold-soft: #e2bd72;--ink: #4a3439;--ink-soft: #8a6b72;--white: #fffaf9;--font-fa: "Vazirmatn", "Tahoma", sans-serif;--font-script: "Allura", cursive;--font-serif: "Cormorant Garamond", serif;--card-max: 520px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--blush-50);color:var(--ink);font-family:var(--font-fa);-webkit-font-smoothing:antialiased;overflow-x:hidden}body{min-height:100vh;display:flex;justify-content:center}.hidden{display:none!important}button{font-family:inherit;cursor:pointer}#envelope-screen{position:fixed;top:0;bottom:0;width:100%;max-width:var(--card-max);margin:0 auto;left:0;right:0;display:flex;align-items:flex-start;justify-content:center;background:linear-gradient(160deg,var(--blush-50) 0%,var(--blush-100) 55%,var(--blush-200) 100%);z-index:100;transition:opacity .6s ease,visibility .6s ease;overflow-x:hidden;overflow-y:auto;padding:48px 0}#envelope-screen.fade-out{opacity:0;visibility:hidden;pointer-events:none}.envelope-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.envelope-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;filter:blur(1.5px) saturate(1.05);transform:scale(1.06)}.envelope-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#fdf4f6de,#f8e6ead6 55%,#f0cdd8e0)}.petals{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle,var(--rose-400) 40%,transparent 42%),radial-gradient(circle,var(--gold-soft) 40%,transparent 42%),radial-gradient(circle,var(--rose-400) 40%,transparent 42%),radial-gradient(circle,var(--blush-300) 40%,transparent 42%);background-size:10px 10px;background-repeat:no-repeat;background-position:12% 18%,82% 12%,18% 85%,88% 78%;opacity:.5}.envelope-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:34px;width:100%;min-width:0;padding:0 24px}.envelope-message{width:100%;max-width:340px;min-width:0;text-align:center;color:var(--ink)}.envelope-message-title{margin:0 0 14px;font-family:var(--font-script);font-size:34px;color:var(--gold);line-height:1.1}.envelope-message-body{margin:0 0 10px;font-size:15px;line-height:2;color:var(--ink)}.envelope-message-cta{margin:16px 0 0;font-size:14px;font-weight:600;color:var(--rose-600)}.envelope{position:relative;width:260px;height:172px;padding:0;border:none;background:none;perspective:900px}.env-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;background:linear-gradient(160deg,var(--white),var(--blush-100));box-shadow:0 18px 40px -14px #a8506d73}.env-front-left,.env-front-right{position:absolute;bottom:0;width:50%;height:100%;background:var(--white);border-radius:0 0 6px 6px}.env-front-left{left:0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,50% 45%);background:linear-gradient(200deg,var(--white),var(--blush-50))}.env-front-right{right:0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,50% 45%);background:linear-gradient(-200deg,var(--white),var(--blush-50))}.env-flap{position:absolute;top:0;left:0;width:100%;height:100%;clip-path:polygon(0 0,100% 0,50% 58%);background:linear-gradient(160deg,var(--blush-200),var(--rose-400));transform-origin:top center;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.6,.05,.3,1);z-index:3}.seal{position:absolute;top:50%;left:50%;width:58px;height:58px;transform:translate(-50%,-50%);z-index:4;display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle at 32% 28%,var(--rose-400),var(--rose-600) 70%);box-shadow:0 6px 14px -4px #7828418c,inset 0 0 0 2px #ffffff40;transition:opacity .4s ease .1s,transform .4s ease .1s}.seal-ring{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;border:1px dashed rgba(255,255,255,.55)}.seal-monogram{font-family:var(--font-script);font-size:22px;color:var(--white);transform:translateY(-1px)}.envelope.opening .env-flap{transform:rotateX(-165deg)}.envelope.opening .seal{opacity:0;transform:translate(-50%,-50%) scale(.4)}.tap-hint{margin:0;text-align:center;color:var(--ink-soft);display:flex;flex-direction:column;gap:4px}.tap-hint .fa{font-size:15px;font-weight:500}.tap-hint .en{font-family:var(--font-serif);font-style:italic;font-size:14px;letter-spacing:.03em}.envelope:not(.opening){animation:envelope-breathe 2.6s ease-in-out infinite}@keyframes envelope-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}#main-card{width:100%;max-width:var(--card-max);background:var(--white);box-shadow:0 0 60px #a8506d1f;animation:card-in .8s ease both}@keyframes card-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}section{padding:56px 28px}.fa{display:block;font-family:var(--font-fa)}.en{display:block;font-family:var(--font-serif);font-style:italic}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;background:linear-gradient(180deg,var(--white) 0%,var(--blush-50) 100%);padding:0}.hero-banner{position:relative;width:100%}.hero-banner-clip{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden}.hero-banner-blur,.hero-banner-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hero-banner-blur{background-size:cover;background-position:center top;filter:blur(18px) saturate(1.05);transform:scale(1.12)}.hero-banner-photo{object-fit:cover;object-position:center top;display:block;-webkit-mask-image:linear-gradient(to bottom,black 0%,black 42%,transparent 78%);mask-image:linear-gradient(to bottom,black 0%,black 42%,transparent 78%)}.hero-banner-fade{position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(to bottom,transparent,var(--white) 92%);pointer-events:none}.hero-floral{position:absolute;bottom:-8px;width:70px;height:70px;pointer-events:none;z-index:2}.hero-floral-left{left:6px}.hero-floral-right{right:6px;transform:scaleX(-1)}.hero-content{display:flex;flex-direction:column;align-items:center;padding:22px 28px 56px}.couple-names{font-family:var(--font-script);font-weight:400;font-size:52px;color:var(--rose-600);margin:0 0 4px;line-height:1.1}.couple-names .amp{color:var(--gold);padding:0 6px}.fa-names{margin:0 0 22px;font-size:17px;font-weight:500;letter-spacing:.04em;color:var(--ink-soft)}.quote{font-family:var(--font-serif);font-style:italic;font-size:18px;line-height:1.6;color:var(--ink);max-width:340px;margin:0 0 10px}.quote-fa{font-size:14px;color:var(--ink-soft);max-width:320px;margin:0 0 30px;line-height:1.9}.scroll-hint{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--rose-400);animation:bob 1.8s ease-in-out infinite}.scroll-hint-text{font-size:12.5px;font-weight:500;color:var(--ink-soft)}@keyframes bob{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(8px);opacity:1}}.scroll-alert{position:fixed;left:50%;bottom:78px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:60;display:flex;align-items:center;gap:8px;width:max-content;max-width:min(320px,calc(100vw - 32px));padding:12px 14px;border-radius:999px;background:linear-gradient(135deg,var(--rose-500),var(--rose-600));color:var(--white);font-size:13px;font-weight:500;line-height:1.5;text-align:right;box-shadow:0 12px 28px -10px #78284199;transition:opacity .4s ease,transform .4s ease}.scroll-alert.show{opacity:1;transform:translate(-50%);pointer-events:auto;animation:scroll-alert-bob 1.6s ease-in-out .4s infinite}@keyframes scroll-alert-bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-6px)}}.scroll-alert-arrow{font-size:16px;flex-shrink:0}.scroll-alert-close{margin-inline-start:2px;flex-shrink:0;border:none;background:#ffffff38;color:var(--white);width:22px;height:22px;border-radius:50%;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center}.wave-divider{position:relative;line-height:0;margin:0}.wave-divider svg{display:block;width:100%;height:42px}.wave-top svg path{fill:var(--blush-200)}.wave-bottom svg path{fill:var(--blush-200)}.wave-bottom{transform:translateY(1px)}.wave-divider .floral-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.floral-line{line-height:0;background:var(--white)}.floral-line svg{display:block;width:100%;height:56px;overflow:visible}.countdown-section{background:linear-gradient(180deg,var(--blush-200),var(--blush-100));text-align:center;padding:12px 24px 40px}.section-title{font-family:var(--font-script);font-weight:400;font-size:34px;color:var(--rose-600);margin:0 0 26px}.countdown{display:flex;justify-content:center;gap:10px}.cd-box{background:var(--white);border-radius:14px;padding:14px 6px 12px;width:76px;box-shadow:0 10px 22px -12px #a8506d59;display:flex;flex-direction:column;align-items:center}.cd-num{font-size:26px;font-weight:700;color:var(--rose-600);font-variant-numeric:tabular-nums;letter-spacing:.02em}.cd-label{margin-top:4px;display:flex;flex-direction:column;line-height:1.3}.cd-label .fa{font-size:12.5px;color:var(--ink-soft)}.cd-label .en{font-size:10px;color:var(--ink-soft);opacity:.8}.wedding-date{margin:26px 0 0;display:flex;flex-direction:column;gap:3px}.wedding-date .fa{font-size:15px;font-weight:600;color:var(--ink)}.wedding-date .en{font-size:13px;color:var(--ink-soft)}.details-section{display:flex;flex-direction:column;gap:18px;padding:44px 24px;background:var(--white)}.detail-card{text-align:center;border:1px solid var(--blush-200);border-radius:16px;padding:22px 18px}.detail-icon{font-size:24px;display:inline-block;margin-bottom:8px}.detail-card h3{margin:0 0 8px;display:flex;flex-direction:column;gap:2px}.detail-card h3 .fa{font-size:16px;font-weight:600;color:var(--rose-600)}.detail-card h3 .en{font-size:12.5px;color:var(--ink-soft)}.detail-card p{margin:0}.detail-card p .fa{font-size:15px}.detail-card p .en{font-size:13px;color:var(--ink-soft)}.placeholder-note{margin-top:10px!important;display:flex;flex-direction:column;gap:2px;color:var(--gold);opacity:.85}.placeholder-note .fa{font-family:var(--font-fa);font-size:11px}.placeholder-note .en{font-family:var(--font-fa);font-style:normal;font-size:10.5px}.detail-card p.venue-name{margin:0 0 8px!important}.detail-card p.venue-name .fa{font-size:16px;font-weight:600;color:var(--rose-600)}.detail-card p.venue-name .en{font-size:12.5px}.detail-card p.venue-address{margin:0 0 16px!important}.detail-card p.venue-address .fa{font-size:13.5px;line-height:1.8}.detail-card p.venue-address .en{font-size:11.5px;line-height:1.6}.map-btn{display:inline-flex;flex-direction:column;align-items:center;gap:1px;padding:9px 24px;border-radius:999px;background:linear-gradient(135deg,var(--rose-400),var(--rose-600));text-decoration:none;box-shadow:0 8px 18px -8px #a8506d80;transition:transform .15s ease}.map-btn:active{transform:scale(.96)}.map-btn .fa{font-size:13px;font-weight:600;color:var(--white)}.map-btn .en{font-family:var(--font-fa);font-style:normal;font-size:10.5px;color:var(--white);opacity:.9}.timeline-section{text-align:center;padding:12px 24px 48px;background:var(--white)}.timeline-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;text-align:initial}.timeline-item{display:flex;align-items:center;gap:14px;border:1px solid var(--blush-200);border-radius:16px;padding:14px 18px;box-shadow:0 10px 22px -16px #a8506d4d}.timeline-dot{width:4px;align-self:stretch;border-radius:2px;background:linear-gradient(180deg,var(--gold-soft),var(--rose-400));flex-shrink:0}.timeline-time{flex-shrink:0;min-width:100px;display:flex;flex-direction:column;gap:1px}.timeline-time .fa{font-size:14px;font-weight:700;color:var(--rose-600);font-variant-numeric:tabular-nums}.timeline-time .en{font-size:11px;color:var(--ink-soft);opacity:.85}.timeline-label{flex:1;display:flex;flex-direction:column;gap:1px}.timeline-label .fa{font-size:15.5px;font-weight:600;color:var(--ink)}.timeline-label .en{font-size:12.5px;color:var(--ink-soft)}.gallery-subtitle{margin:-14px 0 6px;font-size:15px;font-weight:500;color:var(--ink-soft);letter-spacing:.02em}.rsvp-section{text-align:center;padding:44px 24px 52px;background:linear-gradient(180deg,var(--white),var(--blush-50))}.rsvp-subtitle{margin:-14px 0 26px;display:flex;flex-direction:column;gap:3px}.rsvp-subtitle .fa{font-size:14px;color:var(--ink-soft)}.rsvp-subtitle .en{font-size:12.5px;color:var(--ink-soft);opacity:.85}.rsvp-form{display:flex;flex-direction:column;gap:14px;max-width:320px;margin:0 auto;text-align:right}.rsvp-label{font-size:13.5px;font-weight:600;color:var(--ink)}.rsvp-input{width:100%;padding:12px 16px;border:1px solid var(--blush-200);border-radius:12px;font-family:inherit;font-size:15px;color:var(--ink);background:var(--white)}.rsvp-input:focus{outline:none;border-color:var(--rose-400)}.rsvp-choices{display:flex;flex-direction:column;gap:10px}.rsvp-choice{padding:12px 16px;border:1px solid var(--blush-200);border-radius:12px;background:var(--white);font-family:inherit;font-size:14.5px;font-weight:500;color:var(--ink);text-align:center;transition:transform .15s ease,border-color .15s ease,background .15s ease,color .15s ease}.rsvp-choice.selected{border-color:var(--rose-500);background:linear-gradient(135deg,var(--rose-400),var(--rose-600));color:var(--white)}.rsvp-choice:active{transform:scale(.98)}.rsvp-submit{margin-top:4px;padding:13px 16px;border:none;border-radius:999px;background:linear-gradient(135deg,var(--gold-soft),var(--gold));color:var(--white);font-family:inherit;font-size:15px;font-weight:700;box-shadow:0 10px 22px -10px #cc9a4499;transition:transform .15s ease,opacity .15s ease}.rsvp-submit:active{transform:scale(.97)}.rsvp-submit:disabled{opacity:.5;box-shadow:none}.rsvp-feedback{margin:2px 0 0;font-size:12.5px;text-align:center}.rsvp-feedback.error{color:var(--rose-600)}.rsvp-thanks{margin:-10px 0 0;display:flex;flex-direction:column;gap:4px}.rsvp-thanks .fa{font-size:15px;color:var(--ink)}.rsvp-thanks .en{font-size:13px;color:var(--ink-soft)}.closing{text-align:center;background:linear-gradient(180deg,var(--blush-100),var(--blush-200));padding:44px 24px 56px}.closing-fa{margin:0 0 6px;font-size:16px;font-weight:500}.closing-en{margin:0 0 20px;font-family:var(--font-serif);font-style:italic;font-size:14px;color:var(--ink-soft)}.signature{margin:0;font-family:var(--font-script);font-size:30px;color:var(--rose-600)}.music-btn{position:fixed;bottom:18px;right:max(18px,calc((100vw - var(--card-max)) / 2 + 18px));width:44px;height:44px;border-radius:50%;border:2px solid var(--white);background:linear-gradient(160deg,var(--gold-soft),var(--rose-500));color:var(--white);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px -6px #a8506d99;z-index:50;transition:transform .2s ease}.music-btn:active{transform:scale(.92)}@media(max-width:380px){.couple-names{font-size:42px}.cd-box{width:68px}.envelope{width:220px;height:148px}.envelope-wrap{gap:24px}.envelope-message-title{font-size:28px;margin-bottom:10px}.envelope-message-body{font-size:13.5px;line-height:1.8}}@media(min-width:640px){body{background:linear-gradient(160deg,var(--blush-100),var(--blush-50));padding:40px 0}#main-card{border-radius:22px;overflow:hidden}}
