
#wedding-complete {--art:url("/assets/e951ed7debbdcdf5.jpg");}
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:wght@400;500&family=Cormorant+Garamond:wght@400;500&family=Amiri:wght@400&family=Scheherazade+New:wght@400;500&family=Great+Vibes&display=swap');
#wedding-complete {padding:20px 0;}
#wedding-complete * {box-sizing:border-box;}
#wedding-complete .stage {--gold:#b48c51;--pace:1;position:relative;isolation:isolate;max-width:390px;height:640px;margin:auto;overflow:hidden;background:#f7eddf;color:#705333;border-radius:22px;box-shadow:0 16px 44px #4a321b20;font-family:'Cormorant Garamond',Georgia,serif;perspective:1200px;}
#wedding-complete .ambience {position:absolute;inset:0;background-image:var(--art);background-size:200% 100%;background-position:right;opacity:.20;filter:blur(1px);}
#wedding-complete .intro {position:absolute;top:62px;left:15px;right:15px;text-align:center;transition:opacity .5s;}
#wedding-complete .eyebrow {font:11px Georgia,serif;letter-spacing:3px;text-transform:uppercase;}
#wedding-complete .names {font:48px 'Great Vibes',cursive;margin:15px 0 12px;}
#wedding-complete .date {font-size:16px;letter-spacing:4px;}
#wedding-complete .envelope {position:absolute;top:280px;left:8%;width:84%;height:205px;filter:drop-shadow(0 18px 16px #775d3e30);transition:opacity .6s calc(2.4s * var(--pace)),transform .8s calc(2.4s * var(--pace));}
#wedding-complete .back {position:absolute;inset:0;border-radius:5px;background:#d4bf9d;}
#wedding-complete .lining {position:absolute;inset:5px;background-image:linear-gradient(#ffffff60,#f4e9d0a0),var(--art);background-size:200% auto;background-position:right top;border-radius:4px;}
#wedding-complete .letter {position:absolute;left:7%;right:7%;top:12px;height:175px;background:#fffaf1;border:1px solid #d7be93;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;transition:transform 1.4s calc(1.3s * var(--pace));}
#wedding-complete .letter img {width:83px;mix-blend-mode:multiply;}
#wedding-complete .letter span {font-size:20px;}
#wedding-complete .pocket {position:absolute;inset:0;background:linear-gradient(125deg,#f6ead5,#e8d8bc);clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);border-radius:5px;}
#wedding-complete .pocket:after {content:'';position:absolute;inset:0;background:linear-gradient(30deg,#f5e8d1,#fbf1e1);clip-path:polygon(0 100%,50% 46%,100% 100%);}
#wedding-complete .flap {position:absolute;inset:0;background:linear-gradient(160deg,#fff7e9,#e8d8bc);clip-path:polygon(0 0,100% 0,50% 59%);transform-origin:top;backface-visibility:visible;transition:transform calc(1s * var(--pace)) calc(.55s * var(--pace));z-index:3;}
#wedding-complete .seal {position:absolute;z-index:4;left:50%;top:74px;transform:translateX(-50%);width:78px;height:78px;padding:6px;border:0;border-radius:46% 51% 45% 50%;background:radial-gradient(circle at 32% 24%,#f5dc9e,var(--gold) 69%,#8f6736);box-shadow:0 3px 5px #6d482b50,inset 0 0 0 2px #f4d99c99,inset 0 0 0 6px #b28a5550;transition:transform calc(.65s * var(--pace)),opacity calc(.5s * var(--pace));}
#wedding-complete .seal img {width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;border-radius:50%;}
#wedding-complete .hint {position:absolute;top:527px;width:100%;text-align:center;font-size:15px;letter-spacing:1px;transition:opacity .4s;}
#wedding-complete .scene {position:absolute;inset:0;opacity:0;transform:scale(1.08);background-image:var(--art);background-size:200% 100%;background-position:right;transition:opacity calc(1.3s * var(--pace)) calc(2.3s * var(--pace)),transform calc(2s * var(--pace)) calc(2.3s * var(--pace));pointer-events:none;}
#wedding-complete .cloud {position:absolute;left:-30%;top:25%;width:140%;height:30%;background:radial-gradient(ellipse,#fff9edb0,transparent 67%);filter:blur(16px);animation:cloud-drift 17s ease-in-out infinite alternate;}
#wedding-complete .reveal-copy {position:absolute;inset:205px 35px auto;text-align:center;text-shadow:0 2px 15px #fff9ed;}
#wedding-complete .reveal-copy .names {font-size:52px;}
#wedding-complete .reveal-copy p {font-size:19px;line-height:1.5;margin:24px 0;}
#wedding-complete .replay {position:absolute;z-index:10;bottom:18px;left:50%;transform:translateX(-50%);background:#fff9edeb;color:#705333;border:1px solid #b5946460;padding:10px 20px;border-radius:30px;font:14px Georgia,serif;visibility:hidden;}
#wedding-complete .opened .seal {transform:translate(-50%,-35px) rotate(-13deg) scale(1.14);opacity:0;pointer-events:none;}
#wedding-complete .opened .flap {transform:rotateX(180deg);}
#wedding-complete .opened .letter {transform:translateY(-160px);}
#wedding-complete .opened .envelope {opacity:0;transform:translateY(80px);}
#wedding-complete .opened .intro,#wedding-complete .opened .hint {opacity:0;}
#wedding-complete .opened .scene {opacity:1;transform:scale(1);}
#wedding-complete .opened .replay {visibility:visible;}
#wedding-complete .resetting * {transition:none!important;}
@keyframes cloud-drift {from {transform:translateX(-8%)}to {transform:translateX(8%)}}
@media(prefers-reduced-motion:reduce) {#wedding-complete .stage * {transition-duration:.01s!important;transition-delay:0s!important;animation:none!important;}}
@media(max-width:350px) {#wedding-complete .names {font-size:42px;}#wedding-complete .reveal-copy .names {font-size:44px;}}
#wedding-complete {--paper:url("/assets/c86dcd05bfd2fa15.jpg");}
#wedding-complete .stage {height:660px;}
#wedding-complete .envelope {top:295px;height:210px;filter:drop-shadow(1px 19px 11px #65492c35);transition:opacity .7s,transform 1.1s;transform:rotate(-2deg);}
#wedding-complete .back {z-index:1;background:linear-gradient(180deg,#c4ad8d,#ede0c8);box-shadow:inset 0 1px 2px #8e75597a;border-radius:3px;}
#wedding-complete .lining {z-index:1;inset:6px 7px 5px;box-shadow:inset 0 6px 10px #6e533433;}
#wedding-complete .letter {z-index:2;top:9px;height:193px;background:#fffaf0 var(--paper) center/420px;box-shadow:0 2px 4px #5b452733,inset 0 0 0 5px #fffaf055;transition:transform calc(1.65s * var(--pace)) cubic-bezier(.22,.61,.36,1);transform:translateY(0);border:1px solid #c6aa7855;}
#wedding-complete .pocket {z-index:3;clip-path:none;background:none;overflow:hidden;box-shadow:0 1px 1px #fffef9;}
#wedding-complete .pocket:before {content:'';position:absolute;inset:0;background:linear-gradient(125deg,#fff9eb50,#97775530),var(--paper) center/420px;clip-path:polygon(0 0,51% 54%,100% 0,100% 100%,0 100%);}
#wedding-complete .pocket:after {background:linear-gradient(0deg,#cbb49225,#fffaf344),var(--paper) center/420px;clip-path:polygon(0 100%,0 98%,50% 46%,100% 98%,100% 100%);filter:drop-shadow(0 -1px 1px #69563b55);}
#wedding-complete .flap {z-index:4;height:126px;clip-path:polygon(0 0,100% 0,52% 97%,50% 100%,48% 97%);background:linear-gradient(180deg,#ffffff50,#b5a08025),var(--paper) center/420px;transform-origin:50% 0;transition:transform calc(1.05s * var(--pace)) ease-in-out calc(.48s * var(--pace));filter:drop-shadow(0 2px 1px #66523877);}
#wedding-complete .seal {z-index:5;top:80px;width:87px;height:87px;padding:0;border:0;background:transparent;box-shadow:none;filter:drop-shadow(1px 5px 3px #65421c77);border-radius:50%;transition:transform calc(.65s * var(--pace)),opacity calc(.5s * var(--pace)) calc(.18s * var(--pace));}
#wedding-complete .seal img {display:block;object-fit:contain;mix-blend-mode:normal;border-radius:0;}
#wedding-complete .hint {top:544px;}
#wedding-complete .scene {z-index:6;transition:opacity calc(1.25s * var(--pace)),transform calc(1.8s * var(--pace));}
#wedding-complete .opened .letter {transform:none;}
#wedding-complete .opened .envelope {opacity:1;transform:rotate(-2deg);}
#wedding-complete .opened .scene {opacity:0;transform:scale(1.06);}
#wedding-complete .opened .replay {visibility:hidden;}
#wedding-complete .opened .seal {transform:translate(-50%,-43px) rotate(-16deg) scale(1.13);opacity:0;}
#wedding-complete .opened .flap {transform:rotateX(180deg);}
#wedding-complete .flap-behind .flap {z-index:0;filter:brightness(.96);}
#wedding-complete .extracting .letter {transform:translateY(-188px) rotate(2deg);}
#wedding-complete .revealed .envelope {opacity:0;transform:translateY(105px) rotate(-2deg);}
#wedding-complete .revealed .scene {opacity:1;transform:scale(1);}
#wedding-complete .finished .replay {visibility:visible;}

#wedding-complete {max-width:440px;margin:auto;padding:12px 0;color:#705333;}
#wedding-complete .stage {max-width:none;border-radius:10px 10px 0 0;box-shadow:none;}
#wedding-complete .stage,#wedding-complete .full-content {font-family:'Cormorant Garamond',Georgia,serif;}
#wedding-complete .names {font:400 36px/1.3 'Bodoni Moda',Georgia,serif;letter-spacing:-1px;}
#wedding-complete .reveal-copy .names {font-size:38px;}
#wedding-complete .eyebrow {font:400 12px 'Cormorant Garamond',Georgia,serif;letter-spacing:2.3px;}
#wedding-complete .date {font:400 17px 'Cormorant Garamond',Georgia,serif;letter-spacing:2px;}
#wedding-complete .letter span {font:400 22px 'Bodoni Moda',Georgia,serif;}
#wedding-complete .hint,#wedding-complete .replay {font-family:'Cormorant Garamond',Georgia,serif;}
#wedding-complete .reveal-copy p {font-size:20px;line-height:1.5;}
#wedding-complete .replay {bottom:14px;font-size:15px;}
#wedding-complete [hidden] {display:none!important;}
#wedding-complete .full-content {background:#faf3e8;overflow:hidden;}
#wedding-complete .full-content section {padding:64px 32px;text-align:center;position:relative;}
#wedding-complete .full-content h2 {font:400 29px/1.4 'Bodoni Moda',Georgia,serif;margin:13px 0 20px;color:#705333;}
#wedding-complete .full-content p {font-size:21px;line-height:1.6;margin:15px 0;}
#wedding-complete .full-content .kicker,#wedding-complete .kicker {font:400 11px/1.6 'Cormorant Garamond',Georgia,serif;letter-spacing:2.4px;text-transform:uppercase;margin:0 0 17px;}
#wedding-complete .verse-block {background:linear-gradient(#f9f1e5,#fffaf2);}
#wedding-complete .full-content .quran {font:400 26px/2.05 'Amiri',serif;margin:23px 0;color:#785a37;}
#wedding-complete .full-content .verse-ref {font:400 16px 'Amiri',serif;}
#wedding-complete .fine-rule {height:1px;width:72px;background:#b99b66;margin:35px auto 0;opacity:.65;}
#wedding-complete .welcome-block {background:linear-gradient(#fffaf2e8,#fffaf2ed),var(--art) right center/200% auto;}
#wedding-complete .full-content .signature {font:400 22px/1.5 'Bodoni Moda',Georgia,serif;margin-top:25px;}
#wedding-complete .date-block {background:#f0eee6;}
#wedding-complete .full-content .day {font-size:22px;}
#wedding-complete .full-content .small-copy {font-size:16px;margin-top:-7px;}
#wedding-complete .full-content .count-title {font-size:18px;margin-top:32px;}
#wedding-complete .countdown {display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:25px;}
#wedding-complete .countdown span {display:block;font:400 33px/1.3 'Bodoni Moda',Georgia,serif;font-variant-numeric:tabular-nums;}
#wedding-complete .countdown small {display:block;font:400 11px Georgia,serif;letter-spacing:1px;margin-top:8px;}
#wedding-complete .venue-block {background:linear-gradient(#fcf5e9ed,#fcf5e9ed),var(--art) right bottom/200% auto;}
#wedding-complete .wedding-button {display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:46px;padding:12px 25px;background:#7c6242;color:#fff9ee;border:1px solid #7c6242;text-decoration:none;font:400 18px 'Cormorant Garamond',Georgia,serif;letter-spacing:.4px;border-radius:2px;margin-top:15px;}
#wedding-complete .portrait-block {padding:55px 24px!important;background:#faf3e8;}
#wedding-complete .portrait-frame {padding:7px;border:1px solid #c4aa7a;border-radius:180px 180px 4px 4px;margin-top:26px;}
#wedding-complete .portrait-frame img {display:block;width:100%;height:auto;border-radius:174px 174px 2px 2px;}
#wedding-complete .rsvp-block {background:linear-gradient(#f5eddf,#faf4e9);}
#wedding-complete .rsvp-form {text-align:left;margin-top:30px;}
#wedding-complete fieldset {padding:0;border:0;margin:0 0 23px;}
#wedding-complete legend,#wedding-complete .name-label {display:block;font-size:19px;margin-bottom:12px;}
#wedding-complete .attendance {display:flex;align-items:center;gap:10px;min-height:48px;font-size:18px;padding:10px 9px;border-bottom:1px solid #d8cab6;}
#wedding-complete input[type=radio] {accent-color:#806744;width:17px;height:17px;flex-shrink:0;}
#wedding-complete textarea {box-sizing:border-box;width:100%;padding:12px;background:#fffcf5;border:1px solid #c4b49c;border-radius:2px;font:400 18px/1.5 'Cormorant Garamond',Georgia,serif;color:#60482e;resize:vertical;}
#wedding-complete .rsvp-form .wedding-button {width:100%;}
#wedding-complete .full-content .preview-note {font:400 12px/1.5 Georgia,serif;color:#786b5c;text-align:center;}
#wedding-complete .full-content .form-result {font-size:19px;text-align:center;padding:18px;border:1px solid #bead8d;background:#fffaf0;}
#wedding-complete .invitation-footer {text-align:center;padding:35px 28px 55px;background:linear-gradient(#faf4e9dd,#faf4e9c0),var(--art) right bottom/200% auto;}
#wedding-complete .invitation-footer img {width:132px;mix-blend-mode:multiply;}
#wedding-complete .invitation-footer p {font-size:19px;}
#wedding-complete .invitation-footer span {font-size:14px;letter-spacing:4px;}
#wedding-complete .dashboard-preview {margin-top:24px;font:16px/1.5 Georgia,serif;background:#fcf8f1;border:1px solid #d8cbb5;border-radius:6px;color:#584a37;}
#wedding-complete .dashboard-preview summary {padding:18px;font-size:14px;}
#wedding-complete .dashboard {padding:24px 18px;}
#wedding-complete .dashboard-top {display:flex;gap:12px;justify-content:space-between;align-items:flex-start;}
#wedding-complete .dashboard h2 {font:400 25px/1.3 'Bodoni Moda',Georgia,serif;margin:0;}
#wedding-complete .sample-tag {font:11px/1.4 Arial,sans-serif;padding:5px 7px;background:#eee4d2;white-space:nowrap;border-radius:4px;}
#wedding-complete .dashboard-note {font:12px/1.5 Arial,sans-serif;margin:16px 0;color:#776c5e;}
#wedding-complete .totals {display:grid;grid-template-columns:repeat(3,1fr);padding:20px 0;border-top:1px solid #dfd5c4;border-bottom:1px solid #dfd5c4;gap:12px;}
#wedding-complete .totals strong {display:block;font:28px 'Bodoni Moda',serif;}
#wedding-complete .totals span {font:11px/1.4 Arial,sans-serif;display:block;margin-top:6px;}
#wedding-complete .dashboard-tools {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:22px 0;font:12px Arial,sans-serif;}
#wedding-complete .dashboard-tools select,#wedding-complete .dashboard-tools button {background:#fffcf7;color:#66543a;border:1px solid #bca98c;border-radius:3px;padding:10px;font:12px Arial,sans-serif;min-height:42px;}
#wedding-complete .guest-row {display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 0;border-bottom:1px solid #e1d8c9;}
#wedding-complete .guest-row strong {font:400 15px/1.6 Georgia,serif;}
#wedding-complete .guest-row small {display:block;font:11px/1.5 Arial,sans-serif;margin-top:6px;color:#786b5c;}
#wedding-complete .guest-row>span {font:11px/1.5 Arial,sans-serif;padding:5px;background:#eee7d8;border-radius:3px;white-space:nowrap;}
#wedding-complete .bird-flight {position:absolute;top:155px;left:12%;width:22px;height:15px;animation:bird-travel 19s ease-in-out infinite;opacity:.85;}
#wedding-complete .bird-flight:before,#wedding-complete .bird-flight:after {content:'';position:absolute;top:0;width:13px;height:6px;border-top:3px solid #fffef7;border-radius:100% 100% 0 0;}
#wedding-complete .bird-flight:before {left:0;transform:rotate(24deg);}
#wedding-complete .bird-flight:after {right:0;transform:rotate(-24deg);}
#wedding-complete .bird-flight.second {top:178px;animation-delay:-7s;scale:.7;}
@keyframes bird-travel {0% {translate:-20px 10px;opacity:0;}15% {opacity:.85;}80% {opacity:.8;}100% {translate:280px -45px;opacity:0;}}
#wedding-complete .appear {transition:opacity .85s,transform .85s;}
#wedding-complete .awaiting {opacity:0;transform:translateY(22px);}
@media(max-width:350px) {#wedding-complete .full-content section {padding:52px 23px;}#wedding-complete .full-content h2 {font-size:25px;}#wedding-complete .reveal-copy .names {font-size:32px;}#wedding-complete .full-content .quran {font-size:24px;}#wedding-complete .countdown span {font-size:29px;}}
@media(prefers-reduced-motion:reduce) {#wedding-complete .bird-flight {animation:none;}#wedding-complete .appear {transition:none;opacity:1;transform:none;}}
#wedding-complete {--parchment:url("/assets/1042269ddd0736c2.webp");}
#wedding-complete .intro {top:100px;}
#wedding-complete .intro .eyebrow {font-size:15px;letter-spacing:3px;}
#wedding-complete .hint,#wedding-complete .replay {display:none!important;}
#wedding-complete .ambience {opacity:.6;filter:none;}
#wedding-complete .reveal-copy {inset:220px 44px auto;}
#wedding-complete .reveal-copy .happening {font:400 29px/1.5 'Bodoni Moda',Georgia,serif;color:#705333;margin:0 0 23px;}
#wedding-complete .hero-monogram {display:block;width:190px;max-width:85%;margin:0 auto;mix-blend-mode:multiply;}
#wedding-complete .full-content {background:#f5ebd9;}
#wedding-complete .full-content section {min-height:660px;background-image:var(--art);background-position:right center;background-size:200% 100%;padding:100px 48px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
#wedding-complete .full-content h2 {text-shadow:0 1px 12px #fff8e9;}
#wedding-complete .full-content .verse-block {padding:100px 27px;min-height:760px;}
#wedding-complete .parchment {width:100%;padding:65px 36px 56px;background-image:var(--parchment);background-size:100% 100%;filter:drop-shadow(0 8px 9px #69523526);}
#wedding-complete .full-content .quran {font-size:25px;line-height:2.1;margin:0;color:#614526;}
#wedding-complete .full-content .verse-ref {margin:22px 0 0;color:#705333;}
#wedding-complete .full-content .date-block {min-height:720px;}
#wedding-complete .full-content .count-title {margin-top:30px;}
#wedding-complete .countdown {width:100%;gap:5px;}
#wedding-complete .countdown span {font-size:31px;}
#wedding-complete .countdown small {letter-spacing:.4px;}
#wedding-complete .full-content .venue-block {min-height:640px;}
#wedding-complete .full-content .rsvp-block {padding:110px 36px 120px;min-height:820px;}
#wedding-complete .rsvp-form {width:100%;background:#fff8ebce;border:1px solid #c9b58c80;padding:20px 18px;box-shadow:0 5px 20px #70512d12;}
#wedding-complete .attendance {font-size:17px;}
#wedding-complete .invitation-footer {background:var(--art) right bottom/200% 100%;padding:90px 30px 100px;}
@media(max-width:350px) {#wedding-complete .full-content section {padding-left:30px;padding-right:30px;}#wedding-complete .full-content .verse-block {padding-left:16px;padding-right:16px;}#wedding-complete .parchment {padding:62px 30px 54px;}#wedding-complete .full-content .quran {font-size:24px;}#wedding-complete .full-content .rsvp-block {padding-left:23px;padding-right:23px;}#wedding-complete .reveal-copy .happening {font-size:26px;}}

#wedding-complete {position:relative;overflow:hidden;}
#wedding-complete .stage {height:770px;}
#wedding-complete .scene .reveal-copy {inset:80px 26px auto;}
#wedding-complete .scene .parchment {padding:64px 34px 59px;}
#wedding-complete .scene .quran {font:400 25px/2.1 'Amiri',serif;color:#614526;text-shadow:none;margin:0;min-height:360px;}
#wedding-complete .scene .verse-ref {font:400 16px 'Amiri',serif;margin:18px 0 0;color:#705333;text-shadow:none;}
#wedding-complete .scene .reveal-copy {text-shadow:none;}
#wedding-complete .full-content .happening-page {min-height:660px;}
#wedding-complete .happening-page .happening {font:400 29px/1.5 'Bodoni Moda',Georgia,serif;margin:0 0 28px;}
#wedding-complete .falling-leaves {position:absolute;inset:0;z-index:9;overflow:hidden;pointer-events:none;opacity:0;transition:opacity 1.8s;}
#wedding-complete.leaves-active .falling-leaves {opacity:1;}
#wedding-complete .falling-leaves i {position:absolute;top:-55px;left:var(--left);width:10px;height:22px;border-radius:100% 0 100% 0;background:linear-gradient(100deg,#71834d,#a0ad7c 49%,#738454 51%,#879b64);opacity:.28;animation:gentle-leaf-fall var(--duration) linear var(--delay) infinite;}
#wedding-complete .falling-leaves i:nth-child(even) {width:8px;height:18px;opacity:.23;}
@keyframes gentle-leaf-fall {0% {transform:translate(0,-40px) rotate(20deg);}25% {transform:translate(23px,calc(var(--fall-distance) * .25)) rotate(110deg);}50% {transform:translate(-17px,calc(var(--fall-distance) * .5)) rotate(190deg);}75% {transform:translate(16px,calc(var(--fall-distance) * .75)) rotate(270deg);}100% {transform:translate(-10px,var(--fall-distance)) rotate(355deg);}}
@media(max-width:350px) {#wedding-complete .scene .reveal-copy {left:16px;right:16px;}#wedding-complete .scene .parchment {padding:62px 30px 54px;}#wedding-complete .scene .quran {font-size:24px;}}
@media(prefers-reduced-motion:reduce) {#wedding-complete .falling-leaves {display:none;}}

#wedding-complete .journey {position:relative;isolation:isolate;background:linear-gradient(180deg,#c9dce4 0%,#e5e5dc 27%,#f7ebd6 58%,#d7e1dc 82%,#f2e5d0 100%);overflow:hidden;}
#wedding-complete .sky-depth {position:absolute;inset:-100px -30px;background:radial-gradient(ellipse 210px 120px at 18% 10%,#fffaf2dd,transparent 80%),radial-gradient(ellipse 290px 150px at 85% 24%,#fff8ede6,transparent 80%),radial-gradient(ellipse 230px 150px at 12% 47%,#fffdf3cc,transparent 80%),radial-gradient(ellipse 350px 170px at 90% 72%,#ffffffaa,transparent 80%);transform:translateY(var(--sky-drift,0px));pointer-events:none;z-index:0;}
#wedding-complete .architecture {position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:2;opacity:.94;}
#wedding-complete .stage {position:relative;z-index:1;height:820px;background:transparent;isolation:auto;}
#wedding-complete .ambience {display:none;}
#wedding-complete .scene {background:none;}
#wedding-complete .full-content {position:relative;z-index:1;background:none;overflow:visible;}
#wedding-complete .full-content section {background:none;min-height:580px;padding-top:85px;padding-bottom:85px;}
#wedding-complete .full-content .happening-page {min-height:550px;}
#wedding-complete .full-content .date-block {min-height:610px;}
#wedding-complete .full-content .venue-block {min-height:570px;}
#wedding-complete .full-content .rsvp-block {min-height:790px;}
#wedding-complete .invitation-footer {background:none;}
#wedding-complete .scene .reveal-copy {inset:90px 24px auto;}
#wedding-complete .scene .parchment {min-height:590px;padding:62px 37px;display:flex;flex-direction:column;justify-content:center;align-items:center;}
#wedding-complete .scene .quran {min-height:0;position:relative;width:100%;text-align:center;}
#wedding-complete .scene .verse-ref {margin-top:24px;}
#wedding-complete .verse-base {display:block;}
#wedding-complete .verse-letter {position:absolute;inset:0;display:block;pointer-events:none;opacity:0;animation:arabic-letter-fade .65s ease-out forwards;}
@keyframes arabic-letter-fade {from {opacity:0;}to {opacity:1;}}
#wedding-complete .replay {display:inline-flex!important;align-items:center;justify-content:center;z-index:12;bottom:22px;min-height:44px;background:#fff8e9d9;border:1px solid #b99e77;visibility:hidden;}
#wedding-complete .finished .replay {visibility:visible;}
#wedding-complete .bottom-replay {display:block;margin:28px auto 0;border:1px solid #b99e77;padding:11px 18px;min-height:44px;font:16px 'Cormorant Garamond',Georgia,serif;color:#705333;background:#fff8e9c9;}
#wedding-complete .envelope {z-index:4;}
#wedding-complete .intro {z-index:4;}
@media(max-width:350px) {#wedding-complete .scene .reveal-copy {left:12px;right:12px;}#wedding-complete .scene .parchment {padding:58px 33px;min-height:610px;}}
@media(prefers-reduced-motion:reduce) {#wedding-complete .verse-letter {animation:none;opacity:1;}#wedding-complete .sky-depth {transform:none;}}

#wedding-complete .architecture {z-index:0;width:140%;left:-20%;right:auto;}

#wedding-complete {}
#wedding-complete .architecture {width:100%;height:auto;left:0;right:0;top:0;bottom:auto;object-fit:contain;aspect-ratio:723/2175;}
#wedding-complete .intro {top:108px;left:22%;right:22%;text-align:center;}
#wedding-complete .intro .eyebrow {display:inline-block;background:#fff8ebed;color:#644a2d;border:1px solid #c4ac8666;padding:15px 18px;font:400 15px/1.6 'Cormorant Garamond',Georgia,serif;letter-spacing:1.8px;box-shadow:0 4px 15px #5d472212;}
#wedding-complete .hero-monogram,#wedding-complete .invitation-footer img,#wedding-complete .letter img {mix-blend-mode:normal;background:transparent;}
#wedding-complete .stage {height:870px;}
#wedding-complete .scene .reveal-copy {top:100px;left:25px;right:25px;}
#wedding-complete .scene .parchment {min-height:650px;padding:68px 32px 64px;display:flex;flex-direction:column;justify-content:center;align-items:center;}
#wedding-complete .scene .basmala {font:400 23px/1.8 'Amiri',serif;margin:0 0 24px;color:#614526;text-align:center;opacity:0;}
#wedding-complete .scene .basmala-revealing {animation:whole-word-fade .75s ease both;}
#wedding-complete .scene .quran {font:400 24px/2 'Amiri',serif;text-align:center;margin:0;min-height:0;}
#wedding-complete .verse-base {opacity:1!important;}
#wedding-complete .verse-word {display:inline-block;white-space:nowrap;opacity:0;}
#wedding-complete .verse-revealing .verse-word {animation:whole-word-fade .8s ease both;animation-delay:var(--word-delay);}
@keyframes whole-word-fade {from{opacity:0}to{opacity:1}}
#wedding-complete .botanical-accent {position:absolute;pointer-events:none;z-index:0;width:85px;height:400px;background-image:var(--columns);background-size:330px auto;background-repeat:no-repeat;opacity:.85;}
#wedding-complete .botanical-accent.a {left:-16px;top:1450px;background-position:left -90px;}
#wedding-complete .botanical-accent.b {right:-17px;top:2190px;background-position:right -315px;}
#wedding-complete .botanical-accent.c {left:-20px;bottom:50px;background-position:left bottom;height:360px;}
@media(max-width:350px){#wedding-complete .intro {left:20%;right:20%;}#wedding-complete .intro .eyebrow {font-size:14px;padding:13px 10px;}#wedding-complete .scene .reveal-copy {left:13px;right:13px;}#wedding-complete .scene .parchment {padding:65px 30px;min-height:670px;}#wedding-complete .scene .quran {font-size:23px;}#wedding-complete .scene .basmala {font-size:22px;}}
@media(prefers-reduced-motion:reduce){#wedding-complete .verse-word,#wedding-complete .scene .basmala {opacity:1;animation:none!important;}}

#wedding-complete .architecture {background-image:var(--columns);background-size:contain;background-repeat:no-repeat;}

#wedding-complete {--pillar-pieces:url("/assets/f8ea98072fe33abd.webp");}
#wedding-complete .envelope {top:385px;}
#wedding-complete .architecture,#wedding-complete .botanical-accent {display:none!important;}
#wedding-complete .modular-pillars {position:absolute;inset:0;pointer-events:none;z-index:0;}
#wedding-complete .pillar {position:absolute;top:0;bottom:0;width:72px;display:flex;flex-direction:column;}
#wedding-complete .pillar.left {left:-9px;}
#wedding-complete .pillar.right {right:-9px;}
#wedding-complete .pillar-cap,#wedding-complete .pillar-base {width:100%;flex-shrink:0;background-image:var(--pillar-pieces);background-repeat:no-repeat;background-size:200% 300%;}
#wedding-complete .pillar-cap {height:85px;background-position:left top;}
#wedding-complete .pillar-base {height:85px;background-position:left bottom;}
#wedding-complete .pillar.right .pillar-cap {background-position:right top;}
#wedding-complete .pillar.right .pillar-base {background-position:right bottom;}
#wedding-complete .pillar-middle {flex:1;margin:-6px auto;width:28px;background:repeating-linear-gradient(90deg,#d2c3a3 0px,#f4e7cb 3px,#fff4db 6px,#e9d9b6 8px,#c9b58e 9px);border-left:1px solid #baaa8877;border-right:1px solid #baaa8877;box-shadow:inset 2px 0 4px #fff8e48c,inset -2px 0 4px #9f8a6333;}
#wedding-complete .full-content .happening-page {padding:85px 44px;min-height:640px;}
#wedding-complete .celebration-card {width:100%;padding:33px 24px 36px;background:linear-gradient(#fff8e8c7,#fbefd8bb),var(--paper);background-size:auto,420px;border:1px solid #bca276b0;outline:1px solid #bca27677;outline-offset:-8px;box-shadow:0 10px 28px #68512a14;backdrop-filter:blur(2px);text-align:center;}
#wedding-complete .celebration-card .hero-monogram {width:175px;max-width:100%;margin:0 auto 26px;}
#wedding-complete .celebration-card .happening {font:400 25px/1.5 'Bodoni Moda',Georgia,serif;margin:0 0 18px;}
#wedding-complete .celebration-card .excitement {font:400 21px/1.6 'Cormorant Garamond',Georgia,serif;margin:0;}
#wedding-complete .falling-leaves i {opacity:.5;width:11px;height:23px;}
#wedding-complete .falling-leaves i:nth-child(even) {opacity:.43;width:9px;height:20px;}
@media(max-width:350px) {#wedding-complete .pillar {width:60px;}#wedding-complete .pillar-middle {width:24px;}#wedding-complete .full-content .happening-page {padding-left:39px;padding-right:39px;}#wedding-complete .celebration-card {padding:30px 21px;}#wedding-complete .celebration-card .happening {font-size:22px;}}
#wedding-complete .envelope {top:340px;}
#wedding-complete .pillar-cap,#wedding-complete .pillar-base {background-size:250.8px 250.8px;}
#wedding-complete .pillar-cap {height:85.2px;background-position:-44px 0;}
#wedding-complete .pillar.right .pillar-cap {background-position:-135px 0;}
#wedding-complete .pillar-base {height:84px;background-position:-44px -166.8px;}
#wedding-complete .pillar.right .pillar-base {background-position:-135px -166.8px;}
#wedding-complete .pillar-middle {position:relative;flex:1;min-height:0;width:24px;margin:-.5px 0 -.5px 25.6px;overflow:hidden;display:flex;flex-direction:column;background:none;border:0;box-shadow:none;}
#wedding-complete .pillar.right .pillar-middle {margin-left:23px;}
#wedding-complete .pillar-tile {display:block;height:48px;min-height:48px;width:24px;background-image:var(--pillar-pieces);background-size:250.8px 250.8px;background-position:-69.6px -96px;}
#wedding-complete .pillar.right .pillar-tile {background-position:-157.8px -96px;}
#wedding-complete .celebration-card {position:relative;isolation:isolate;background:#fff8e4b3;}
#wedding-complete .celebration-card:before {content:'';position:absolute;inset:0;background:var(--paper) center/420px;opacity:.13;z-index:-1;pointer-events:none;}
@media(max-width:350px){#wedding-complete .pillar {width:72px;}#wedding-complete .pillar.left {left:-17px;}#wedding-complete .pillar.right {right:-17px;}#wedding-complete .pillar-middle {width:24px;}}

#wedding-complete .pillar {width:144px;transform:scaleX(-1);}
#wedding-complete .pillar.left {left:-44.8px;}
#wedding-complete .pillar.right {right:-46px;}
#wedding-complete .pillar-cap,#wedding-complete .pillar-base {background-size:501.6px 501.6px;}
#wedding-complete .pillar-cap {height:170.4px;background-position:-88px 0;}
#wedding-complete .pillar.right .pillar-cap {background-position:-270px 0;}
#wedding-complete .pillar-base {height:168px;background-position:-88px -333.6px;}
#wedding-complete .pillar.right .pillar-base {background-position:-270px -333.6px;}
#wedding-complete .pillar-middle {width:48px;margin-left:51.2px;}
#wedding-complete .pillar.right .pillar-middle {margin-left:46px;}
#wedding-complete .pillar-tile {width:48px;height:96px;min-height:96px;background-size:501.6px 501.6px;background-position:-139.2px -192px;}
#wedding-complete .pillar.right .pillar-tile {background-position:-315.6px -192px;}
#wedding-complete .falling-leaves i {opacity:.25;width:9px;height:19px;}
#wedding-complete .falling-leaves i:nth-child(even) {opacity:.21;width:8px;height:17px;}
#wedding-complete .invitation-footer {position:relative;}
#wedding-complete .full-content .happening-page {min-height:850px;}
#wedding-complete .celebration-card .souls {font:400 21px/1.5 'Cormorant Garamond',Georgia,serif;margin:25px 0 12px;}
#wedding-complete .heart-stage {position:relative;height:165px;width:100%;max-width:240px;margin:14px auto 0;}
#wedding-complete .little-heart {position:absolute;width:62px;height:62px;top:43px;}
#wedding-complete .heart-a {left:0;}
#wedding-complete .heart-n {right:0;}
#wedding-complete .heart-shape {position:absolute;inset:7px;background:#d9a4a0;transform:rotate(-45deg);border-radius:5px;filter:drop-shadow(0 3px 3px #87625022);}
#wedding-complete .heart-shape:before,#wedding-complete .heart-shape:after {content:'';position:absolute;width:100%;height:100%;background:inherit;border-radius:50%;}
#wedding-complete .heart-shape:before {top:-50%;left:0;}
#wedding-complete .heart-shape:after {left:50%;top:0;}
#wedding-complete .heart-n .heart-shape {background:#aebdc5;}
#wedding-complete .heart-letter {position:absolute;inset:-2px 0 0;display:flex;align-items:center;justify-content:center;color:#fffaf0;font:27px 'Bodoni Moda',Georgia,serif;z-index:1;}
#wedding-complete .merged-heart {position:absolute;width:98px;height:98px;left:50%;top:35px;transform:translateX(-50%) scale(.3);opacity:0;}
#wedding-complete .merged-heart .heart-shape {background:#e4bcb1;inset:11px;}
#wedding-complete .merged-heart img {position:absolute;z-index:1;left:6px;top:0;width:86px;height:70px;object-fit:contain;}
#wedding-complete .heart-stage.play .heart-a {animation:heart-a-merge 3.6s ease-in-out forwards;}
#wedding-complete .heart-stage.play .heart-n {animation:heart-n-merge 3.6s ease-in-out forwards;}
#wedding-complete .heart-stage.play .merged-heart {animation:hearts-united 3.6s ease-in-out forwards;}
@keyframes heart-a-merge {0%,15%{transform:translateX(0) rotate(-9deg);opacity:1;}60%{transform:translateX(66px) rotate(0);opacity:1;}75%,100%{transform:translateX(66px) scale(.65);opacity:0;}}
@keyframes heart-n-merge {0%,15%{transform:translateX(0) rotate(9deg);opacity:1;}60%{transform:translateX(-66px) rotate(0);opacity:1;}75%,100%{transform:translateX(-66px) scale(.65);opacity:0;}}
@keyframes hearts-united {0%,58%{transform:translateX(-50%) scale(.3);opacity:0;}78%{transform:translateX(-50%) scale(1.13);opacity:1;}90%{transform:translateX(-50%) scale(.96);opacity:1;}100%{transform:translateX(-50%) scale(1);opacity:1;}}
#wedding-complete .replay-hearts {display:block;margin:0 auto;border:0;border-bottom:1px solid #b59977;background:transparent;color:#75573b;font:15px 'Cormorant Garamond',Georgia,serif;padding:8px 10px;min-height:40px;}
@media(max-width:350px){#wedding-complete .pillar {width:144px;}#wedding-complete .pillar.left{left:-44.8px;}#wedding-complete .pillar.right{right:-46px;}#wedding-complete .pillar-middle{width:48px;}}
@media(prefers-reduced-motion:reduce){#wedding-complete .heart-stage.play .little-heart {animation:none;opacity:0;}#wedding-complete .heart-stage.play .merged-heart{animation:none;opacity:1;transform:translateX(-50%);}}

#wedding-complete .storybook-sky {position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
#wedding-complete .storybook-cloud {position:absolute;width:160px;height:42px;border-radius:80px;background:linear-gradient(#fffdf3e8,#e6e8dfc9);box-shadow:inset 0 -5px 9px #a9bac01c,0 3px 0 #a9bac018;animation:storybook-cloud-drift 20s ease-in-out infinite alternate;}
#wedding-complete .storybook-cloud:before,#wedding-complete .storybook-cloud:after {content:'';position:absolute;border-radius:50%;background:linear-gradient(#fffdf5,#f3f1e5);}
#wedding-complete .storybook-cloud:before {width:69px;height:65px;left:23px;bottom:12px;}
#wedding-complete .storybook-cloud:after {width:85px;height:80px;right:17px;bottom:8px;}
#wedding-complete .storybook-cloud:nth-child(even) {scale:.73;opacity:.7;animation-duration:27s;}
@keyframes storybook-cloud-drift {from {translate:-17px 0;}to {translate:25px 6px;}}
#wedding-complete .storybook-bird {position:absolute;width:27px;height:16px;animation:storybook-bird-drift 24s ease-in-out infinite alternate;opacity:.75;}
#wedding-complete .storybook-bird:before,#wedding-complete .storybook-bird:after {content:'';position:absolute;top:2px;width:16px;height:8px;border-top:3px solid #8ca4ab;border-radius:70% 90% 0 0;}
#wedding-complete .storybook-bird:before {left:0;transform:rotate(21deg);transform-origin:right center;animation:soft-wing-left 2.4s ease-in-out infinite;}
#wedding-complete .storybook-bird:after {right:0;transform:rotate(-21deg);transform-origin:left center;animation:soft-wing-right 2.4s ease-in-out infinite;}
@keyframes storybook-bird-drift {from {translate:-28px 7px;}to {translate:44px -9px;}}
@keyframes soft-wing-left {50% {transform:rotate(-8deg);}}
@keyframes soft-wing-right {50% {transform:rotate(8deg);}}
#wedding-complete .modular-pillars {z-index:1;}
#wedding-complete .stage,#wedding-complete .full-content {z-index:2;}
#wedding-complete .bird-flight {display:none;}
#wedding-complete .heart-stage:not(.play) .little-heart {animation:none;opacity:1;}
#wedding-complete .heart-stage:not(.play) .merged-heart {animation:none;opacity:0;}
#wedding-complete .replay-hearts {touch-action:manipulation;}
@media(prefers-reduced-motion:reduce){#wedding-complete .storybook-cloud,#wedding-complete .storybook-bird,#wedding-complete .storybook-bird:before,#wedding-complete .storybook-bird:after {animation:none;}}

html,body{margin:0;min-height:100%;background:#e7e6dc;}button,a,label.cursor-interaction{cursor:pointer;}button:disabled{cursor:default;opacity:.7;}#wedding-complete{padding:0;} .honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;} #music-toggle{position:fixed;right:12px;bottom:12px;z-index:50;padding:11px 15px;border:1px solid #baa17c;border-radius:28px;background:#fff8e9ed;color:#705333;font:16px Georgia,serif;min-height:44px;}

/* Arabic calligraphy stretch and guest media upload control. */
#wedding-complete .scene .basmala {width:100%;font-size:clamp(21px,6.2vw,27px);line-height:1.9;word-spacing:.22em;letter-spacing:.015em;text-align:justify;text-align-last:justify;}
#wedding-complete .memory-upload-block .pearl-content-card {text-align:center;}
#wedding-complete .memory-upload-block .memory-upload-trigger {display:flex;width:max-content;max-width:100%;margin:20px auto 12px;text-align:center;}
#wedding-complete .memory-upload-block .memory-upload-trigger[aria-disabled="true"] {cursor:wait;opacity:.7;}
#wedding-complete .memory-upload-block #memory-upload-status,#wedding-complete .memory-upload-block .small-copy {text-align:center;}
#wedding-complete .memory-upload-block #memory-upload-status {margin:10px auto;}
#wedding-complete .memory-upload-block .small-copy {margin:12px auto 0;}
#wedding-complete .memory-upload-block .memory-upload-note {margin:10px 0 16px;color:#806344;font:italic 18px/1.45 'Cormorant Garamond',Georgia,serif;text-align:center;}
