@import "https://fonts.googleapis.com/css2?family=Amiri:wght@400;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Jost:wght@300;400;500&display=swap";:root{--beige-50:#faf6ec;--beige-100:#f3ecdc;--beige-200:#e7dbc4;--beige-300:#d6c6a4;--royal:#203b6f;--royal-deep:#203b6f;--royal-soft:#3f56a3;--gold:#dcb157;--gold-deep:#dcb157;--gold-soft:#e0c789;--brown:#45507a;--brown-deep:var(--royal-deep);--espresso:var(--royal-deep);--ink:#1a2447;--white:#fdfaf3;--bg:var(--beige-100);--text:var(--ink);--muted:#4c577f;--font-heading:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body:"Jost", "Helvetica Neue", Arial, sans-serif;--font-arabic:"Amiri", serif;--max-width:1100px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-weight:300;line-height:1.6}img{max-width:100%;display:block}.text-balance{text-wrap:balance}.page--hidden{opacity:0;pointer-events:none}.page--revealed{animation:1.2s both pageIn}@keyframes pageIn{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.envelope-overlay{z-index:50;background:radial-gradient(circle at 50% 35%, #e4c98a59, transparent 60%), linear-gradient(160deg, var(--beige-200), var(--beige-100) 55%, var(--beige-50));justify-content:center;align-items:center;padding:1.5rem;animation:.9s both overlayIn;display:flex;position:fixed;inset:0;overflow:hidden}.envelope-overlay.is-opening{animation:.8s 4.5s forwards overlayOut}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes overlayOut{to{opacity:0;visibility:hidden}}.envelope-scene{perspective:1400px;flex-direction:column;align-items:center;gap:2rem;animation:5s ease-in-out infinite sceneFloat;display:flex}@keyframes sceneFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.envelope{width:min(88vw,440px);height:min(58vw,290px);transform-style:preserve-3d;transition:transform .8s;position:relative}.envelope--open{animation:2s 2.5s forwards envelopeLift}@keyframes envelopeLift{to{transform:translateY(30px)scale(.92)}}.envelope__back{z-index:1;background:linear-gradient(145deg, #eee4cf 0%, var(--beige-200) 48%, #d9c8a7 100%);border-radius:8px;position:absolute;inset:0;box-shadow:0 30px 60px -25px #3d2b1a8c,inset 0 1px #ffffff59}.envelope__address{text-align:center;flex-direction:column;align-items:center;gap:.4rem;transition:opacity .5s,transform .5s;animation:1s both addressIn;display:flex}.envelope__address.is-hidden{opacity:0;transform:translateY(-10px)}@keyframes addressIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.envelope__to{letter-spacing:.3em;text-transform:uppercase;color:var(--brown);font-size:.7rem}.envelope__note{font-family:var(--font-heading);color:var(--espresso);font-size:clamp(1.4rem,5vw,2rem);font-style:italic}.envelope__couple{font-family:var(--font-arabic);color:var(--royal-deep);font-size:clamp(1.75rem,6.5vw,2.6rem);font-weight:400;line-height:1.5}.envelope__letter{z-index:3;background:linear-gradient(180deg, var(--white), var(--beige-50));text-align:center;opacity:0;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:1rem;display:flex;position:absolute;inset:8% 6%;transform:translateY(0);box-shadow:0 8px 24px -10px #3d2b1a66}.envelope__letter-rings{object-fit:contain;width:300%;height:300%}.envelope--open .envelope__letter{animation:1s .55s forwards letterOut}@keyframes letterOut{0%{opacity:0;transform:translateY(0)}30%{opacity:1}to{opacity:1;transform:translateY(-58%)}}.envelope__letter-kicker{letter-spacing:.3em;text-transform:uppercase;color:var(--brown);font-size:.65rem}.envelope__letter-names{font-family:var(--font-heading);color:var(--royal-deep);font-size:clamp(1.6rem,6vw,2.4rem);font-weight:600}.envelope__letter-sub{letter-spacing:.25em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.envelope__pocket{z-index:5;background:linear-gradient(150deg, #e9dfca 0%, var(--beige-200) 55%, #d8c6a3 100%);clip-path:polygon(0 31%,50% 100%,100% 31%,100% 100%,0 100%);border-radius:8px;position:absolute;inset:0;box-shadow:inset 0 2px 7px #ffffff47,inset 0 -2px 5px #50371e14}.envelope__pocket:before{content:"";clip-path:polygon(0 31%,50% 100%,100% 31%);pointer-events:none;background:linear-gradient(#a07d4138,#0000 45%);position:absolute;inset:0}.envelope__flap{z-index:7;transform-origin:top;clip-path:polygon(0 0,100% 0,50% 100%);height:58%;box-shadow:none;background:linear-gradient(#f0e6d2 0%,#e6d9bf 48%,#d7c4a0 100%);transition:transform .7s,z-index;position:absolute;top:0;left:0;right:0}.envelope__flap:before{content:"";clip-path:polygon(0 0,100% 0,50% 100%);pointer-events:none;background:linear-gradient(135deg,#ffffff38,#0000 38%,#6446230f);position:absolute;inset:0}.envelope__flap:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#96733747,#0000);height:1px;position:absolute;bottom:0;left:8%;right:8%;transform:rotate(0)}.envelope--open .envelope__flap{animation:.7s cubic-bezier(.65,0,.35,1) forwards flapOpen}@keyframes flapOpen{0%{z-index:7;transform:rotateX(0)}99%{z-index:7}to{z-index:1;transform:rotateX(180deg)}}.wax-seal{z-index:8;cursor:pointer;background:radial-gradient( #ffffff47 0%, #ffffff14 22%, transparent 45%), radial-gradient(circle at 65% 70%, #08123761, transparent 55%), linear-gradient(145deg,  var(--royal) 42%, var(--royal-deep) 100%);isolation:isolate;border:none;border-radius:48% 52% 47% 53%/52% 46% 54% 48%;place-items:center;width:70px;height:70px;padding:0;transition:transform .3s,filter .3s,box-shadow .3s;animation:3s ease-in-out infinite sealPulse;display:grid;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 16px #172a5e59,inset 0 -7px 10px #08123761,inset 0 4px 7px #fff3,0 0 0 1px #172a5e26}.wax-seal__edge{pointer-events:none;border:1px solid #ffffff21;border-radius:51% 47% 54% 46%/47% 53% 46% 54%;position:absolute;inset:4px;box-shadow:inset 0 1px 2px #ffffff29,inset 0 -2px 3px #0a143c47}.wax-seal__inner{background:radial-gradient(circle at 45% 38%,#ffffff14,#0000 55%),#1424532e;border-radius:50% 48% 52% 49%/49% 52% 48% 51%;place-items:center;width:72%;height:72%;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 3px 5px #070f2d59,inset 0 -2px 3px #ffffff1a}.wax-seal__logo{object-fit:contain;filter:drop-shadow(0 1px 1px #0812378c);opacity:.92;mix-blend-mode:normal;width:42%;height:80%;transform:translateY(1px)}.wax-seal:before{content:"";border-radius:inherit;opacity:.8;pointer-events:none;background:radial-gradient(at 30% 20%,#fff3,#0000 38%);position:absolute;inset:7px}.wax-seal:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:-1px;box-shadow:inset 0 0 0 1px #0a143c38,inset 0 -3px 5px #070f2d2e}.wax-seal:hover{filter:brightness(1.05);transform:translate(-50%,-50%)scale(1.06);box-shadow:0 10px 20px #172a5e61,inset 0 -7px 10px #08123761,inset 0 4px 7px #ffffff3b}.wax-seal:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.envelope--open .wax-seal{animation:.55s cubic-bezier(.55,0,.8,.25) forwards sealBreak}@keyframes sealBreak{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}35%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}to{opacity:0;transform:translate(-50%,-50%)scale(.55)rotate(12deg)}}@keyframes sealPulse{0%,to{box-shadow:0 8px 16px #172a5e59,inset 0 -7px 10px #08123761,inset 0 4px 7px #fff3,0 0 #24397e33}50%{box-shadow:0 8px 18px #172a5e61,inset 0 -7px 10px #08123761,inset 0 4px 7px #fff3,0 0 0 8px #24397e00}}.envelope__prompt{letter-spacing:.28em;text-transform:uppercase;color:var(--brown);font-size:.75rem;transition:opacity .4s;animation:2.4s ease-in-out infinite promptBlink}.envelope__prompt.is-hidden{opacity:0}@keyframes promptBlink{0%,to{opacity:.5}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.envelope-scene,.wax-seal,.envelope__prompt,.hero__scroll{animation:none!important}}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .9s,transform .9s cubic-bezier(.22,1,.36,1)}.reveal--up{transform:translateY(40px)}.reveal--zoom{transform:scale(.9)}.reveal--fade{transform:none}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}}.section{max-width:var(--max-width);text-align:center;margin:0 auto;padding:clamp(3.5rem,9vw,7rem) 1.5rem}.section__eyebrow{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.35em;color:var(--gold-deep);margin-bottom:2.5rem;font-size:.75rem;font-weight:400}.ornament{background:linear-gradient(to right, transparent, var(--gold), transparent);width:64px;height:1px;margin:1.75rem auto;display:block;position:relative}.ornament:after{content:"";background:var(--gold);border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.hero{background-color:var(--beige-100);background-image:linear-gradient(#faf6ec26,#f3ecdc59),url(/assets/background-CTlFkKxe.png);background-position:50%;background-repeat:no-repeat;background-size:100%;justify-content:center;align-items:center;min-height:100svh;padding:clamp(2rem,8vw,5rem) clamp(1.25rem,5vw,3rem);display:flex;position:relative}.hero__content{text-align:center;color:var(--royal-deep);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.hero__content>*{opacity:0;animation:1s forwards heroRise}.hero__content>:first-child{animation-delay:.3s}.hero__content>:nth-child(2){animation-delay:.55s}.hero__content>:nth-child(3){animation-delay:.8s}.hero__content>:nth-child(4){animation-delay:1.05s}@keyframes heroRise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero__kicker{font-family:var(--font-arabic);color:var(--royal-deep);direction:rtl;margin:0 0 1rem;font-size:clamp(1.2rem,3.5vw,1.7rem);font-weight:400;line-height:1.6}.hero__invitation{font-family:var(--font-arabic);color:var(--royal-deep);text-align:center;flex-direction:column;align-items:center;padding-top:10px;padding-bottom:10px;font-size:20px;font-weight:400;line-height:1.8;display:flex}.hero__invitation p{margin:0}.hero__names{font-family:var(--font-arabic);color:var(--royal-deep);flex-flow:row;justify-content:center;align-items:center;gap:10px;font-size:clamp(2.2rem,9vw,4.5rem);font-weight:400;line-height:1.2;display:flex}.hero__bismillah{font-family:var(--font-arabic);color:var(--gold-deep);opacity:.95;margin-bottom:30px;font-size:24px;font-weight:900;line-height:1.6}.hero__name{display:inline-block;transform:translateY(17px)}.hero__amp{font-family:var(--font-heading);color:var(--gold-deep);align-self:center;font-size:.5em;font-style:italic;font-weight:400;line-height:1}.hero__names-latin{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--royal);margin-top:clamp(.75rem,3vw,1.25rem);font-size:clamp(1.25rem,5vw,2.25rem);font-weight:500}.hero__sub{letter-spacing:.2em;text-transform:uppercase;color:var(--royal-soft);margin-top:1.5rem;font-size:.95rem}.hero__rule{background:linear-gradient(to right, transparent, var(--gold), transparent);width:200px;height:1px;margin:1.5rem auto 0}.hero__date-pill{border:1px solid var(--royal);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--royal);background:#fdfaf38c;border-radius:18px;flex-direction:column;gap:.35rem;margin-top:clamp(1.5rem,5vw,2rem);padding:.85rem 1.75rem;display:inline-flex}.hero__date-pill strong{font-family:var(--font-heading);letter-spacing:.05em;font-size:clamp(1.05rem,3.5vw,1.35rem);font-weight:600}.hero__date-pill span{letter-spacing:.18em;text-transform:uppercase;color:var(--royal-soft);font-size:.78rem}.hero__scroll{letter-spacing:.3em;text-transform:uppercase;color:var(--muted);opacity:.85;font-size:.7rem;animation:2.4s ease-in-out infinite floaty;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.hero__details{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,600px);margin:20px auto 0;display:grid}.hero__detail{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:.6rem .25rem;display:flex;position:relative}.hero__detail-icon{stroke-width:1.25px;width:16px;height:16px;color:var(--gold-deep);margin-bottom:.35rem}.hero__detail strong{max-width:100%;font-family:var(--font-heading);color:var(--royal-deep);overflow-wrap:break-word;font-size:12px;font-weight:500;line-height:1.25}.hero__detail-label{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem;font-size:.6rem;font-weight:400}.hero__detail-directions{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);border-bottom:1px solid #a07c3373;margin-top:.3rem;padding-bottom:1px;font-size:.48rem;font-weight:400;text-decoration:none}.hero__detail-directions:hover{color:var(--royal-deep);border-color:var(--royal-deep);transform:translateY(-1px)}.hero__detail+.hero__detail:before{content:"";background:linear-gradient(to bottom, transparent, var(--gold), transparent);width:1px;height:60%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.hero__detail strong{font-family:var(--font-heading);color:var(--royal-deep);font-size:clamp(1rem,2.5vw,1.25rem);font-weight:500;line-height:1.3}@keyframes floaty{0%,to{opacity:.85;transform:translate(-50%)}50%{opacity:.45;transform:translate(-50%,6px)}}.invite{background:var(--white);max-width:none}.invite__text{font-family:var(--font-body);color:var(--muted);letter-spacing:.04em;max-width:38ch;margin:0 auto;font-size:clamp(1rem,2.4vw,1.25rem)}.invite__names{font-family:var(--font-arabic);color:var(--royal-deep);margin:.5rem 0;font-size:clamp(2.75rem,9vw,5rem);font-weight:400;line-height:1.5}.invite__amp{color:var(--gold);font-style:italic}.countdown-section{background:var(--beige-50);max-width:none}.countdown{max-width:var(--max-width);flex-wrap:wrap;justify-content:center;gap:5px;margin:5px;display:flex}.countdown__unit{border:1px solid var(--beige-200);background:var(--white);border-radius:8px;flex-direction:column;align-items:center;min-width:50px;padding:.6rem .25rem;display:flex;box-shadow:0 10px 30px -20px #3d2b1a80}.countdown__value{font-family:var(--font-heading);color:var(--royal);font-size:16px;font-weight:500;line-height:1}.countdown__label{letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-top:.3rem;font-size:.5rem}.story-section{background:var(--beige-50);max-width:none}.story{max-width:620px;margin:0 auto}.story__frame{background:var(--white);border:1px solid var(--beige-200);border-radius:6px;padding:clamp(.75rem,3vw,1.25rem);transition:transform .5s,box-shadow .5s;box-shadow:0 30px 60px -30px #3d2b1a73}.story__frame:hover{transform:translateY(-6px);box-shadow:0 40px 70px -30px #3d2b1a8c}.story__frame img{border-radius:3px;width:100%;height:auto;display:block}.story__caption{font-family:var(--font-heading);color:var(--brown-deep);margin-top:1.5rem;font-size:clamp(1.25rem,4vw,1.75rem);font-style:italic}.details-section{background:var(--white);max-width:none}.detail-cards{grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:720px;margin:0 auto;display:grid}.detail-card{border:1px solid var(--beige-200);background:var(--beige-50);border-radius:6px;padding:2.5rem 1.5rem;transition:transform .4s,box-shadow .4s}.detail-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -24px #3d2b1a80}.detail-card__title{font-family:var(--font-heading);color:var(--royal-deep);margin-bottom:1rem;font-size:1.75rem;font-weight:500}.detail-card__primary{color:var(--text);margin-bottom:.35rem;font-size:1.05rem}.detail-card__secondary{color:var(--muted);font-size:.9rem}.detail-card__link{letter-spacing:.15em;text-transform:uppercase;color:var(--royal);border-bottom:1px solid var(--gold);margin-top:1.25rem;padding-bottom:3px;font-size:.8rem;text-decoration:none;transition:color .3s,border-color .3s;display:inline-block}.detail-card__link:hover{color:var(--brown);border-color:var(--brown)}.closing{text-align:center;background:var(--beige-100);padding:clamp(3.5rem,9vw,6rem) 1.5rem}.closing__note{font-family:var(--font-body);color:var(--muted);max-width:34ch;margin:0 auto 1.25rem;font-size:1.05rem}.closing__names{font-family:var(--font-arabic);color:var(--royal-deep);font-size:clamp(2.25rem,7vw,3.5rem);font-weight:400;line-height:1.5}@media (width<=600px){.detail-cards{grid-template-columns:1fr}.gallery__item--2,.gallery__item--3{aspect-ratio:1}}
