:root{color:#f4ecdc;background:#080b09;font-family:Tajawal,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #080b09;--midnight: #0b1211;--forest: #17201a;--ivory: #f3eddf;--paper: #e9dfcc;--gold: #c49a58;--gold-pale: #dbc08d;--muted: #b4aa99;--serif: "Noto Naskh Arabic", "Geeza Pro", serif;--arabic-reading: "Noto Naskh Arabic", "Geeza Pro", serif;--arabic-display: "Amiri", "Noto Naskh Arabic", "Geeza Pro", serif;--schedule-arabic: "Noto Kufi Arabic", "Tajawal", system-ui, sans-serif;--latin-serif: "Cormorant Garamond", Georgia, serif;--name-font: "Playfair Display", Georgia, serif}*{box-sizing:border-box}html{direction:rtl;scroll-behavior:smooth;background:var(--ink)}body{margin:0;min-width:320px;background:var(--ink);color:var(--ivory);text-align:right}body.is-locked{overflow:hidden}button,input,textarea,select{font:inherit}button:focus-visible{outline:2px solid var(--gold-pale);outline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}img{display:block;max-width:100%}.progress{position:fixed;z-index:100;top:0;right:0;width:100%;height:2px;transform-origin:100% 50%;background:linear-gradient(90deg,#a47539,#f1dba9)}.music-control{position:fixed;z-index:70;top:max(14px,calc(env(safe-area-inset-top) + 8px));left:14px;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgb(219 192 141 / 52%);border-radius:50%;background:#070b09ad;color:var(--gold-pale);box-shadow:0 8px 24px #0000003d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;-webkit-tap-highlight-color:transparent}.music-control__bars{display:flex;align-items:center;justify-content:center;gap:3px;width:20px;height:18px}.music-control__bars i{display:block;width:2px;height:11px;border-radius:2px;background:currentColor;transform-origin:center;animation:music-bar .8s ease-in-out infinite alternate}.music-control__bars i:nth-child(2){height:16px;animation-delay:-.48s}.music-control__bars i:nth-child(3){height:8px;animation-delay:-.22s}.music-control--paused .music-control__bars i{animation-play-state:paused;transform:scaleY(.42);opacity:.68}.music-control--paused:after{position:absolute;width:22px;height:1px;background:currentColor;content:"";transform:rotate(-45deg)}.invitation{overflow:hidden;background:var(--ink)}.section-dark,.section-light{position:relative}.section-dark{background:var(--ink);color:var(--ivory)}.section-light{background:var(--ivory);color:#1a1c18}.eyebrow{margin:0;color:var(--gold-pale);font-size:.62rem;font-weight:600;letter-spacing:.27em;line-height:1.6;text-transform:uppercase}.divider{display:flex;align-items:center;justify-content:center;gap:9px;width:min(152px,48vw);margin:22px auto}.divider span{width:60px;height:1px;background:currentColor;opacity:.32}.divider i,.details__diamond{display:block;width:6px;height:6px;border:1px solid currentColor;transform:rotate(45deg)}.stars{position:absolute;inset:0;overflow:hidden;pointer-events:none}.stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff8dc;box-shadow:0 0 8px 1px #ffe7b2b8;animation:twinkle 3.8s ease-in-out infinite}.stars i:nth-child(1){left:8%;top:11%;animation-delay:-.4s}.stars i:nth-child(2){left:19%;top:24%;animation-delay:-2.2s}.stars i:nth-child(3){left:31%;top:8%;animation-delay:-1.1s}.stars i:nth-child(4){left:43%;top:18%;animation-delay:-2.8s}.stars i:nth-child(5){left:55%;top:10%;animation-delay:-.7s}.stars i:nth-child(6){left:69%;top:20%;animation-delay:-1.8s}.stars i:nth-child(7){left:82%;top:7%;animation-delay:-3.1s}.stars i:nth-child(8){left:92%;top:28%;animation-delay:-1.4s}.stars i:nth-child(9){left:14%;top:44%;animation-delay:-2.5s}.stars i:nth-child(10){left:25%;top:62%;animation-delay:-.2s}.stars i:nth-child(11){left:38%;top:48%;animation-delay:-3.4s}.stars i:nth-child(12){left:61%;top:55%;animation-delay:-1.9s}.stars i:nth-child(13){left:76%;top:43%;animation-delay:-2.9s}.stars i:nth-child(14){left:88%;top:66%;animation-delay:-.9s}.stars i:nth-child(15){left:6%;top:79%;animation-delay:-1.6s}.stars i:nth-child(16){left:32%;top:83%;animation-delay:-2.4s}.stars i:nth-child(17){left:49%;top:74%;animation-delay:-.6s}.stars i:nth-child(18){left:68%;top:86%;animation-delay:-3.2s}.stars i:nth-child(19){left:95%;top:88%;animation-delay:-1.3s}.stars i:nth-child(20){left:72%;top:34%;animation-delay:-2s}.stars i:nth-child(21){left:46%;top:37%;animation-delay:-.3s}.stars i:nth-child(22){left:23%;top:92%;animation-delay:-2.7s}.intro{position:fixed;z-index:90;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr);place-items:center;min-height:100svh;padding:max(40px,calc(env(safe-area-inset-top) + 24px)) 20px max(30px,calc(env(safe-area-inset-bottom) + 18px));overflow:hidden;background:#080b09;perspective:1400px}.intro__background{--intro-background: url(/images/candlelit-floral-arch.jpg);position:absolute;inset:-30px;background:linear-gradient(180deg,#02050366,#020403c2),var(--intro-background) 50% 52% / cover;filter:blur(3px) saturate(.72) brightness(.78);transform:scale(1.1);transition:filter 2.2s ease,transform 2.6s cubic-bezier(.22,1,.36,1)}.intro:before,.intro:after{position:absolute;inset:0;content:"";pointer-events:none}.intro:before{z-index:1;background:radial-gradient(ellipse at 50% 51%,transparent 16%,rgb(0 0 0 / 47%) 86%),linear-gradient(180deg,#04080612,#0103027f)}.intro:after{z-index:1;opacity:.62;background:radial-gradient(circle at 50% 59%,rgb(221 174 98 / 18%),transparent 26%),repeating-linear-gradient(112deg,rgb(255 255 255 / 1.1%) 0 1px,transparent 1px 4px);mix-blend-mode:screen}.intro--opening .intro__background{filter:blur(1px) saturate(.9) brightness(.9);transform:scale(1.045)}.intro__ambience{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none}.intro__candle{position:absolute;bottom:13%;width:9px;height:34px;border-radius:6px 6px 2px 2px;background:linear-gradient(90deg,#c5a86d,#fff0c8 48%,#9a7947);box-shadow:0 0 42px 19px #e0a44c26;opacity:.58}.intro__candle:before{position:absolute;bottom:calc(100% + 3px);left:50%;width:7px;height:13px;border-radius:50% 50% 45% 45%;background:#ffe4a4;box-shadow:0 0 16px 5px #ffbb4d66;content:"";transform:translate(-50%);transform-origin:bottom;animation:candle-flicker 2.4s ease-in-out infinite alternate}.intro__candle--left{left:5%;transform:scale(.7)}.intro__candle--right{right:6%;bottom:18%;transform:scale(.52);opacity:.42}.intro__heading{position:relative;z-index:4;width:100%;text-align:center}.intro__crest{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:20px}.intro__crest:before,.intro__crest:after{width:34px;height:1px;background:linear-gradient(90deg,transparent,rgb(219 192 141 / 68%));content:""}.intro__crest:after{background:linear-gradient(90deg,rgb(219 192 141 / 68%),transparent)}.intro__crest i{width:6px;height:6px;border:1px solid var(--gold-pale);transform:rotate(45deg)}.intro__heading small{display:block;margin-bottom:10px;color:#eee2cf;font-family:var(--arabic-reading);font-size:clamp(1rem,4.2vw,1.2rem);font-weight:500;letter-spacing:0;line-height:1.5;text-shadow:0 2px 14px rgb(0 0 0 / 58%)}.intro__heading .intro__names{display:block;margin-bottom:10px;font-family:var(--serif);font-size:clamp(1.5rem,6.5vw,2rem);font-weight:400;letter-spacing:0;line-height:1.16}.intro__names b{display:block;font-weight:400;white-space:nowrap}.intro__heading .intro__names em{display:block;margin:.16em 0;color:var(--gold-pale);font-size:.65em;font-weight:400}.intro__heading p{margin:0;color:var(--gold-pale);font-family:var(--latin-serif);font-size:.74rem;font-weight:600;letter-spacing:.23em}.envelope-button{position:relative;z-index:5;align-self:center;width:min(84vw,348px);aspect-ratio:1.48;padding:0;border:0;appearance:none;background:transparent;color:inherit;cursor:pointer;perspective:1500px;-webkit-tap-highlight-color:transparent}.envelope-shadow{position:absolute;z-index:-1;left:5%;right:5%;bottom:-22px;height:42px;border-radius:50%;background:#000000ba;filter:blur(15px);transition:transform 1.7s cubic-bezier(.22,1,.36,1),opacity 1.4s ease}.envelope{position:absolute;inset:0;filter:drop-shadow(0 21px 25px rgb(0 0 0 / 42%));transform-style:preserve-3d;transition:transform 1.8s cubic-bezier(.22,1,.36,1) .42s}.envelope__inside,.envelope__front,.envelope__flap{position:absolute;inset:0;display:block;border-radius:4px}.envelope__inside{z-index:1;overflow:hidden;border:1px solid rgb(109 80 42 / 45%);background:linear-gradient(145deg,#cbbda6,#e5dac7 48%,#bba98f);box-shadow:inset 0 1px #ffffff59}.envelope__liner{position:absolute;inset:6px;display:block;overflow:hidden;border-radius:2px;background:radial-gradient(circle at 50% 140%,rgb(198 155 89 / 22%),transparent 48%),linear-gradient(145deg,#17221b,#0b1712 68%);box-shadow:inset 0 0 0 1px #d9b27045}.liner__botanical{position:absolute;bottom:-1px;width:118px;fill:#cba4630d;stroke:#d3af7163;stroke-width:.7}.liner__botanical--left{left:-27px;transform:rotate(8deg)}.liner__botanical--right{right:-27px;transform:scaleX(-1) rotate(8deg)}.envelope__front{z-index:4;background:linear-gradient(145deg,rgb(255 255 255 / 30%),transparent 38%),linear-gradient(18deg,#d9ccb8,#f0e7d8 62%,#d7c9b4);clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);filter:drop-shadow(0 -1px 0 rgb(110 79 44 / 20%))}.envelope__front:before,.envelope__front:after{position:absolute;inset:0;content:"";opacity:.55}.envelope__front:before{background:linear-gradient(33deg,transparent 49.6%,rgb(119 86 47 / 24%) 50%,transparent 50.4%)}.envelope__front:after{background:linear-gradient(-33deg,transparent 49.6%,rgb(119 86 47 / 20%) 50%,transparent 50.4%)}.envelope__flap{z-index:7;clip-path:polygon(0 0,100% 0,50% 58%);transform-origin:50% 0;transform-style:preserve-3d;transition:transform 1.05s cubic-bezier(.76,0,.24,1) .18s,z-index 0s .72s}.envelope__flap-paper,.envelope__flap-liner{position:absolute;inset:0;display:block;clip-path:polygon(0 0,100% 0,50% 58%);backface-visibility:hidden;-webkit-backface-visibility:hidden}.envelope__flap-paper{background:linear-gradient(175deg,rgb(255 255 255 / 36%),transparent 52%),linear-gradient(145deg,#e4d8c5,#cfc0aa);box-shadow:inset 0 1px #ffffff61;transform:translateZ(1px)}.envelope__flap-paper:after{position:absolute;inset:0;background:repeating-linear-gradient(118deg,rgb(100 73 38 / 2.2%) 0 1px,transparent 1px 5px);content:""}.envelope__flap-liner{display:grid;place-items:start center;background:radial-gradient(circle at 50% 0,rgb(204 162 93 / 18%),transparent 48%),linear-gradient(160deg,#1a2a21,#0c1813);box-shadow:inset 0 0 0 1px #d5ab6838;transform:rotateX(180deg) translateZ(1px)}.flap__botanical{width:146px;margin-top:7px;fill:#cfa96b0f;stroke:#dbb5747a;stroke-width:.65}.envelope__letter{position:absolute;z-index:3;left:8%;right:8%;bottom:5%;display:flex;flex-direction:column;align-items:center;justify-content:center;height:90%;overflow:hidden;border:1px solid rgb(155 115 59 / 56%);border-radius:2px;background:repeating-linear-gradient(118deg,rgb(117 84 41 / 2.5%) 0 1px,transparent 1px 5px),linear-gradient(155deg,#fffaf0,#ede1cd);color:#3d3225;box-shadow:0 8px 18px #2a1b0b40;transition:transform 1.5s cubic-bezier(.16,1,.3,1) .88s,box-shadow 1.3s ease .88s;will-change:transform}.letter__frame{position:absolute;inset:7px;display:block;border:1px solid rgb(165 124 63 / 33%);pointer-events:none}.letter__frame:before,.letter__frame:after{position:absolute;width:19px;height:19px;border-color:#976e3787;content:""}.letter__frame:before{top:4px;left:4px;border-top:1px solid;border-left:1px solid}.letter__frame:after{right:4px;bottom:4px;border-right:1px solid;border-bottom:1px solid}.letter__botanical{position:absolute;top:-3px;left:50%;width:88px;fill:#8e66310d;stroke:#8f673387;stroke-width:.65;transform:translate(-50%)}.envelope__letter small{position:relative;z-index:1;margin-top:17px;color:#8d6b42;font-size:.34rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}.letter__names{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;margin:4px 0 2px;font-family:var(--serif);line-height:1.08}.letter__names b{font-family:var(--serif);font-size:clamp(1.2rem,6.3vw,1.65rem);font-weight:400;letter-spacing:0;white-space:nowrap}.letter__names i{position:relative;margin:.16em 0;color:#ad8247;font-size:.82rem;font-weight:400}.letter__rule{display:flex;align-items:center;width:58px;margin:8px 0 6px;color:#9d7847}.letter__rule:before,.letter__rule:after{flex:1;height:1px;background:currentColor;content:"";opacity:.48}.letter__rule i{width:4px;height:4px;margin:0 7px;border:1px solid currentColor;transform:rotate(45deg)}.envelope__letter em{position:relative;z-index:1;color:#80663f;font-family:var(--latin-serif);font-size:.7rem;font-style:normal;font-weight:600;letter-spacing:.15em}.seal{position:absolute;z-index:9;top:49%;left:50%;display:grid;place-items:center;width:59px;height:59px;border:1px solid #ab7430;border-radius:48% 52% 50% 46%;background:radial-gradient(circle at 34% 26%,rgb(255 218 145 / 62%) 0 3%,transparent 4%),radial-gradient(circle at 48% 43%,#d1a65f,#9a682b 72%);box-shadow:0 7px 12px #2c19086e,inset 0 0 0 4px #976327b8,inset 0 0 0 6px #f5cf8740;color:#503114;transform:translate(-50%,-50%) rotate(-5deg) translateZ(5px);transition:opacity .35s ease .06s,transform .52s cubic-bezier(.34,1.56,.64,1),filter .35s ease}.seal:before{position:absolute;z-index:-1;inset:-3px;border-radius:45% 53% 47% 54%;background:#a77433;content:"";transform:rotate(17deg)}.seal__rim{position:absolute;inset:8px;border:1px solid rgb(79 43 15 / 45%);border-radius:50%;box-shadow:0 1px #ffdd9b3d}.seal__monogram{position:relative;z-index:1;font-family:var(--serif);font-size:1.28rem;font-style:italic;font-weight:600;letter-spacing:-.08em;text-shadow:0 1px rgb(255 224 158 / 28%)}.envelope-button:hover .seal,.envelope-button:focus-visible .seal{transform:translate(-50%,-50%) rotate(-1deg) translateZ(5px) scale(1.05)}.intro--opening .envelope__flap{z-index:1;transform:rotateX(179deg)}.intro--opening .seal{opacity:0;filter:blur(2px);transform:translate(-50%,-50%) rotate(18deg) translateZ(12px) scale(1.24)}.intro--opening .envelope__letter{box-shadow:0 22px 34px #2a1b0b57;transform:translateY(-76%) scale(1.025)}.intro--opening .envelope{transform:translateY(13%) scale(.98)}.intro--opening .envelope-shadow{opacity:.42;transform:translateY(13px) scale(.76)}.hero{position:relative;display:grid;place-items:center;min-height:100svh;padding:max(76px,env(safe-area-inset-top)) 24px max(76px,env(safe-area-inset-bottom));isolation:isolate;background:#0a0d0b}.hero__image,.hero__veil{position:absolute;z-index:-3;inset:0;width:100%;height:100%}.hero__image{object-fit:cover;object-position:50% 50%;filter:saturate(.77) contrast(1.04)}.hero__veil{z-index:-2;background:linear-gradient(180deg,#020503a1,#03060438 34%,#03050499 78%,#080b09),radial-gradient(ellipse at center,transparent 15%,rgb(0 0 0 / 35%) 80%)}.hero .stars{z-index:-1}.hero__content{width:min(100%,520px);text-align:center;text-shadow:0 2px 16px rgb(0 0 0 / 52%)}.hero__basmala{position:relative;display:grid;grid-template-columns:minmax(18px,1fr) auto minmax(18px,1fr);align-items:center;gap:11px;width:min(100%,460px);margin:0 auto 25px;color:#ead3a5;isolation:isolate;transform:translateY(-32px)}.hero__basmala:before{position:absolute;z-index:-1;top:50%;left:50%;width:86%;height:74px;border-radius:50%;background:radial-gradient(ellipse,rgb(204 159 86 / 17%),transparent 68%);content:"";filter:blur(4px);transform:translate(-50%,-50%)}.hero__basmala p{margin:0;font-family:var(--arabic-display);font-size:clamp(1.35rem,6.5vw,2rem);font-weight:400;line-height:1.55;white-space:nowrap;text-shadow:0 2px 14px rgb(0 0 0 / 78%),0 0 20px rgb(205 160 87 / 18%)}.hero__basmala>span{position:relative;display:block;height:1px;background:linear-gradient(90deg,transparent,rgb(219 192 141 / 65%))}.hero__basmala>span:last-child{background:linear-gradient(90deg,rgb(219 192 141 / 65%),transparent)}.hero__basmala>span:after{position:absolute;top:50%;right:-1px;width:5px;height:5px;border:1px solid currentColor;background:#080b09b8;content:"";transform:translateY(-50%) rotate(45deg)}.hero__basmala>span:last-child:after{right:auto;left:-1px}.hero__families{display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);align-items:stretch;width:100%;margin:0 auto 22px;direction:ltr}.hero__family{display:grid;align-content:center;justify-items:center;gap:2px;min-height:72px;margin:0;padding:0 12px;color:#f1e8da;text-align:center;direction:rtl}.hero__family span{color:var(--gold-pale);font-family:Tajawal,system-ui,sans-serif;font-size:clamp(.66rem,2.8vw,.78rem);font-weight:500;line-height:1.5}.hero__family strong{font-family:var(--arabic-display);font-size:clamp(1rem,4.2vw,1.22rem);font-weight:400;line-height:1.45;text-wrap:balance}.hero__family--groom{grid-column:3;grid-row:1}.hero__family--bride{grid-column:1;grid-row:1}.hero__families>i{grid-column:2;grid-row:1;width:1px;background:linear-gradient(transparent,rgb(219 192 141 / 62%) 20% 80%,transparent)}.hero__formal-invitation{max-width:320px;margin:0 auto 9px;color:var(--gold-pale);font-family:var(--arabic-display);font-size:clamp(1.05rem,4.8vw,1.34rem);font-weight:400;line-height:1.85;text-wrap:balance}.hero__arabic-names{display:flex;flex-direction:column;align-items:center;margin:4px 0 0;font-family:var(--arabic-display);font-size:clamp(2.75rem,12.8vw,4.35rem);font-weight:400;letter-spacing:0;line-height:.98}.hero__arabic-names em{position:relative;display:grid;place-items:center;width:100%;height:clamp(44px,11vw,58px);margin:0;color:var(--gold-pale);font-family:var(--arabic-display);font-size:.52em;font-style:normal;font-weight:400;line-height:1;transform:translateY(-4px)}.hero__arabic-names span{display:block;line-height:1;white-space:nowrap}.hero time,.closing time{display:inline-block;color:var(--gold-pale);font-family:var(--latin-serif);font-size:1rem;letter-spacing:.16em}.hero__scroll-hint{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:50%;display:flex;flex-direction:column;align-items:center;color:#dbc08dc7;pointer-events:none;transform:translate(-50%);animation:scroll-hint 2s ease-in-out infinite}.hero__scroll-hint span{display:block;width:1px;height:26px;background:linear-gradient(transparent,currentColor)}.hero__scroll-hint i{display:block;width:8px;height:8px;margin-top:-2px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}.quote{display:grid;place-items:center;min-height:80svh;padding:96px 28px;overflow:hidden}.quote:before{position:absolute;inset:14px;border:1px solid rgb(139 102 49 / 24%);content:"";pointer-events:none}.quote__arch{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;width:min(100%,390px);min-height:520px;padding:78px 30px 58px;border:1px solid rgb(137 100 48 / 44%);border-radius:50% 50% 4px 4px;text-align:center;isolation:isolate}.quote__halo{position:absolute;z-index:-1;top:24%;left:11%;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgb(196 154 88 / 14%),transparent 66%);filter:blur(8px);transform-origin:center}.quote blockquote{margin:0;font-family:var(--arabic-reading);font-size:clamp(1.28rem,5.7vw,1.72rem);font-style:normal;font-weight:500;line-height:2}.quote blockquote span{color:var(--gold);font-size:1.2em}.quote cite{display:block;margin-top:20px;color:#8c6838;font-family:Tajawal,system-ui,sans-serif;font-size:.76rem;font-style:normal;font-weight:600}.quote__botanical{position:absolute;width:180px;fill:#70532b14;stroke:#76552b8c;stroke-width:.7;animation:quote-botanical-drift 7s ease-in-out infinite alternate}.quote__botanical--top{top:23px;right:-65px;transform:rotate(31deg)}.quote__botanical--bottom{bottom:19px;left:-60px;transform:rotate(211deg)}.section-copy h2,.finale__copy h2{margin:11px 0 0;font-family:var(--serif);font-size:clamp(2.8rem,12.5vw,4.6rem);font-weight:400;letter-spacing:0;line-height:1.08}.details{position:relative;padding:92px 20px;overflow:hidden;isolation:isolate;border-top:1px solid rgb(219 192 141 / 22%);background:radial-gradient(circle at 50% 0%,rgb(196 154 88 / 17%),transparent 42%),radial-gradient(circle at 12% 82%,rgb(68 104 86 / 25%),transparent 34%),linear-gradient(155deg,#17211b,#090e0b 72%)}.details:before{position:absolute;z-index:-1;inset:12px;border:1px solid rgb(219 192 141 / 12%);content:"";pointer-events:none}.details__card{position:relative;width:min(100%,440px);margin:0 auto;padding:68px 24px 50px;border:1px solid rgb(131 94 44 / 46%);background:linear-gradient(#f3eddff7,#f3eddff7),radial-gradient(circle,#c8b287 1px,transparent 1.5px);background-size:auto,15px 15px;color:#29251e;box-shadow:0 28px 72px #00000061;text-align:center}.details__card:before,.details__card:after{position:absolute;width:56px;height:56px;border-color:#87612c9e;content:""}.details__card:before{top:8px;left:8px;border-top:1px solid;border-left:1px solid}.details__card:after{right:8px;bottom:8px;border-right:1px solid;border-bottom:1px solid}.details__monogram{position:absolute;top:-26px;left:50%;display:grid;place-items:center;width:52px;height:52px;border:1px solid #ad844a;border-radius:50%;background:var(--ivory);color:#886437;font-family:var(--serif);font-size:1.15rem;font-style:italic;letter-spacing:-.06em;transform:translate(-50%)}.details .eyebrow{color:#8b693b}.details h2{margin:9px 0 0;font-family:var(--serif);font-size:clamp(2.7rem,12vw,4rem);font-weight:500;letter-spacing:0;line-height:1.2}.details__item{display:flex;flex-direction:column;align-items:center}.details__item span{margin-bottom:10px;color:#957143;font-size:.52rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase}.details__item time,.details__item strong{font-family:Tajawal,system-ui,sans-serif;font-size:1.25rem;font-weight:500}.details__item p{margin:5px 0 0;color:#6b655b;font-family:Tajawal,system-ui,sans-serif;font-size:1rem}.details__diamond{margin:27px auto;color:#a6804b}.details__note{margin:34px 0 0;color:#8b8172;font-size:.56rem;letter-spacing:.13em;text-transform:uppercase}.schedule{position:relative;min-height:100svh;padding:104px 20px 116px;overflow:hidden;isolation:isolate;background:#080b09;color:var(--ivory)}.schedule__image,.schedule__veil{position:absolute;z-index:-3;inset:0;width:100%;height:100%}.schedule__image{object-fit:cover;object-position:50% 50%;filter:saturate(.63) contrast(1.07) brightness(.7);transform:scale(1.015)}.schedule__veil{z-index:-2;background:linear-gradient(180deg,#080b09,#0307058f 16%,#01040278 54%,#080b09),radial-gradient(ellipse at 50% 48%,transparent 2%,rgb(0 0 0 / 58%) 94%)}.schedule:after{position:absolute;z-index:-1;inset:12px;border:1px solid rgb(219 192 141 / 12%);content:"";pointer-events:none}.schedule__header{position:relative;z-index:2;width:min(100%,620px);margin:0 auto 58px;text-align:center;text-shadow:0 3px 20px rgb(0 0 0 / 68%)}.schedule__header h2{margin:10px auto 0;font-family:var(--schedule-arabic);font-size:clamp(2.25rem,10.5vw,3.7rem);font-weight:500;letter-spacing:0;line-height:1.35}.schedule__header .divider{color:var(--gold-pale)}.schedule__timeline{--time-column: 70px;--marker-column: 16px;--timeline-gap: 13px;--timeline-line: 91px;position:relative;z-index:2;width:min(100%,520px);margin:0 auto}.schedule__timeline:before{position:absolute;z-index:-1;top:24px;bottom:24px;right:var(--timeline-line);width:1px;background:linear-gradient(180deg,transparent,rgb(210 173 112 / 52%) 9% 91%,transparent);content:"";box-shadow:0 0 12px #cb9e572e}.schedule__event{display:grid;grid-template-columns:var(--time-column) var(--marker-column) minmax(0,1fr);column-gap:var(--timeline-gap);align-items:center;min-height:96px;text-shadow:0 2px 16px rgb(0 0 0 / 88%)}.schedule__event time{color:#eadcc4;font-family:var(--latin-serif);font-size:clamp(1.3rem,6.5vw,1.72rem);font-weight:500;font-variant-numeric:tabular-nums;direction:ltr;letter-spacing:0;text-align:left;unicode-bidi:isolate}.schedule__marker{position:relative;display:grid;place-items:center;width:var(--marker-column);height:var(--marker-column);border:1px solid rgb(217 177 111 / 72%);border-radius:50%;background:#0a0f0cd1;box-shadow:0 0 0 4px #080b096b,0 0 13px #d1a45b30}.schedule__marker i{display:block;width:4px;height:4px;border-radius:50%;background:var(--gold-pale);box-shadow:0 0 7px #efca89a6}.schedule__event-copy{min-width:0;padding:5px 0;text-align:right}.schedule__event-copy h3{margin:0;font-family:var(--schedule-arabic);font-size:clamp(1.12rem,5.2vw,1.55rem);font-weight:500;letter-spacing:0;line-height:1.5}.schedule__event-copy p{margin:8px 0 0;color:#c8bba7;font-size:clamp(.4rem,1.9vw,.52rem);font-weight:600;letter-spacing:.17em;line-height:1.5;text-transform:uppercase}.countdown{min-height:72svh;padding:104px 20px 112px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgb(41 67 56 / 48%),transparent 55%),var(--ink)}.section-copy{position:relative;z-index:2}.section-copy--center{text-align:center}.countdown__grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,480px);margin:52px auto 0;border-top:1px solid rgb(218 191 141 / 28%);border-bottom:1px solid rgb(218 191 141 / 28%)}.countdown__unit{position:relative;padding:24px 4px 22px;text-align:center}.countdown__unit:not(:last-child):after{position:absolute;top:25%;right:0;width:1px;height:50%;background:#dabf8d33;content:""}.countdown__unit strong{display:block;font-family:var(--latin-serif);font-size:clamp(1.9rem,9vw,3rem);font-weight:400;font-variant-numeric:tabular-nums;line-height:1}.countdown__unit span{display:block;margin-top:9px;color:var(--gold-pale);font-size:clamp(.38rem,1.8vw,.52rem);letter-spacing:.16em;text-transform:uppercase}.countdown__today{color:var(--gold-pale);font-family:var(--serif);font-size:2rem;text-align:center}.finale{position:relative;display:grid;place-items:center;min-height:82svh;overflow:hidden;isolation:isolate;background:#060907}.finale>img,.finale__overlay{position:absolute;z-index:-3;inset:0;width:100%;height:100%}.finale>img{object-fit:cover;object-position:50% 50%;filter:saturate(.78) contrast(1.07)}.finale__overlay{z-index:-2;background:linear-gradient(180deg,#080b09 0%,transparent 22%,rgb(1 4 4 / 28%) 56%,#080b09 100%),radial-gradient(circle at center,transparent 10%,rgb(0 0 0 / 45%) 84%)}.finale .stars{z-index:-1}.finale__copy{margin-top:34svh;padding:0 24px;text-align:center;text-shadow:0 2px 18px #000}.closing{position:relative;display:flex;flex-direction:column;align-items:center;min-height:82svh;padding:104px 28px max(52px,env(safe-area-inset-bottom));overflow:hidden;isolation:isolate;text-align:center;background:#080b09;text-shadow:0 2px 18px rgb(0 0 0 / 88%)}.closing__image,.closing__overlay{position:absolute;inset:0;width:100%;height:100%}.closing__image{z-index:-3;object-fit:cover;object-position:50% 50%;filter:saturate(.82) contrast(1.06)}.closing__overlay{z-index:-2;background:linear-gradient(180deg,#080b09,#0205043d 24%,#0204037a 64%,#080b09),radial-gradient(circle at 50% 56%,transparent 4%,rgb(0 0 0 / 48%) 88%)}.closing__botanical{width:150px;margin-bottom:25px;fill:#caa05b12;stroke:#dbc08d9e;stroke-width:.8;filter:drop-shadow(0 2px 8px #000)}.closing h2{display:flex;flex-direction:column;align-items:center;margin:10px 0 22px;font-family:var(--serif);font-size:clamp(2.55rem,10.5vw,4rem);font-weight:400;letter-spacing:0;line-height:1.18}.closing h2 span{white-space:nowrap}.closing h2 em{color:var(--gold-pale);font-size:.72em;font-weight:400}.closing>p:not(.eyebrow){max-width:290px;margin:0 0 28px;color:#eee7dc;font-family:Tajawal,system-ui,sans-serif;font-size:.98rem;line-height:1.8}.closing button{min-height:48px;margin-top:auto;padding:0 2px;border:0;border-bottom:1px solid rgb(219 192 141 / 48%);background:transparent;color:#cbbda7;font-size:.55rem;letter-spacing:.19em;text-transform:uppercase;cursor:pointer}.eyebrow,.intro__heading small,.envelope__letter small,.details__item span,.details__note,.countdown__unit span,.closing button{letter-spacing:0;text-transform:none}.eyebrow{font-size:.72rem}.envelope__letter small{font-size:.5rem}.details__item span,.details__note,.closing button{font-size:.7rem}.countdown__unit span{font-size:clamp(.58rem,2.5vw,.7rem)}.countdown__unit:not(:last-child):after{right:auto;left:0}.countdown__unit strong,.schedule__event time,.hero time,.closing time,.intro__heading>p,.envelope__letter>em{direction:ltr;unicode-bidi:isolate}.hero__arabic-names em,.intro__names em,.letter__names i,.closing h2 em,.seal__monogram,.details__monogram{font-style:normal;letter-spacing:0}:lang(en){font-family:Manrope,system-ui,sans-serif}.intro__names.couple-names,.letter__names.couple-names,.closing h2.couple-names,.couple-names>:is(span,b,em,i),.couple-monogram{font-family:var(--name-font);font-weight:400}.intro__names:lang(en),.letter__names:lang(en),.closing h2:lang(en){letter-spacing:-.035em}.intro__heading .intro__names:lang(en){font-size:clamp(1.5rem,6.5vw,2rem);line-height:.96}.intro__heading .intro__names:lang(en) em{margin:.16em 0}.letter__names:lang(en){line-height:.86}.letter__names:lang(en) b{font-size:clamp(1.08rem,5.5vw,1.45rem);font-weight:400}.closing h2:lang(en){font-size:clamp(2.05rem,9vw,3.8rem);line-height:.9}.closing h2:lang(en) em{margin:.16em 0}.couple-names>:is(em,i){display:grid;align-self:stretch;place-items:center;width:100%;line-height:1;transform:translateY(.08em)}:lang(en).eyebrow{font-size:.62rem;letter-spacing:.27em;text-transform:uppercase}.details h2[lang=en],.countdown[lang=en] .section-copy h2,.countdown[lang=en] .countdown__today,.finale__copy[lang=en] h2{font-family:var(--latin-serif);letter-spacing:-.035em}.countdown[lang=en] .section-copy h2,.finale__copy[lang=en] h2{line-height:.9}.details h2[lang=en]{font-size:clamp(2.15rem,9.8vw,3.4rem);line-height:1}.countdown[lang=en] .countdown__unit span{font-size:clamp(.38rem,1.8vw,.52rem);letter-spacing:.16em;text-transform:uppercase}.countdown[lang=en] .countdown__unit strong{font-family:var(--latin-serif)}.countdown[dir=ltr] .countdown__unit:not(:last-child):after{right:0;left:auto}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.7)}50%{opacity:.95;transform:scale(1.3)}}@keyframes music-bar{0%{transform:scaleY(.38);opacity:.64}to{transform:scaleY(1);opacity:1}}@keyframes scroll-hint{0%,to{opacity:.38;transform:translate(-50%,-3px)}50%{opacity:1;transform:translate(-50%,3px)}}@keyframes candle-flicker{0%{opacity:.72;transform:translate(-50%) rotate(-2deg) scaleY(.9)}45%{opacity:1;transform:translate(-50%) rotate(2deg) scaleY(1.06)}to{opacity:.82;transform:translate(-50%) rotate(-1deg) scaleY(.96)}}@keyframes quote-botanical-drift{0%{opacity:.58;filter:drop-shadow(0 0 0 rgb(166 120 55 / 0%))}to{opacity:.92;filter:drop-shadow(0 4px 10px rgb(166 120 55 / 14%))}}@media(min-width:700px){.schedule{padding:126px 7vw 144px}.schedule__header{margin-bottom:72px}.schedule__timeline{--time-column: 104px;--marker-column: 18px;--timeline-gap: 16px;--timeline-line: 129px;width:min(100%,650px)}.schedule__event{min-height:110px}.schedule__event time{font-size:1.95rem}.schedule__event-copy h3{font-size:2.25rem}.finale{min-height:96svh}.finale__copy{margin-top:42svh}}@media(max-width:359px){.schedule{padding-right:14px;padding-left:14px}.schedule__timeline{--time-column: 58px;--marker-column: 14px;--timeline-gap: 10px;--timeline-line: 75px}.schedule__event{min-height:92px}}@media(max-width:699px){.intro__background{--intro-background: url(/images/candlelit-floral-arch-mobile.jpg)}}@media(max-height:690px)and (max-width:699px){.intro{padding-top:max(22px,calc(env(safe-area-inset-top) + 12px));padding-bottom:max(20px,calc(env(safe-area-inset-bottom) + 10px))}.intro__crest{margin-bottom:10px}.intro__heading small{margin-bottom:6px;font-size:.9rem}.intro__heading .intro__names{margin-bottom:6px;font-size:1.28rem}.intro__heading .intro__names:lang(en){font-size:1.25rem}.envelope-button{width:min(74vw,285px)}.hero{padding-top:54px;padding-bottom:54px}.hero__basmala{gap:8px;margin-bottom:12px;transform:translateY(-22px)}.hero__basmala p{font-size:1.22rem;line-height:1.4}.hero__basmala:before{height:52px}.hero__families{margin-bottom:12px}.hero__family{min-height:64px;padding-right:8px;padding-left:8px}.hero__family span{font-size:.62rem}.hero__family strong{font-size:.92rem;line-height:1.35}.hero__formal-invitation{max-width:290px;margin-bottom:7px;font-size:.98rem;line-height:1.65}.hero__arabic-names{font-size:clamp(2.25rem,10.5vw,3rem)}.hero .divider{margin-top:15px;margin-bottom:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
