:root{--ivory:#f7f3ed;--paper:#fcf9f3;--champagne:#efe6d6;--sand:#e4d7c2;--gold-light:#e3c88e;--gold:#c9a46a;--gold-dk:#a9824a;--gold-deep:#8a6324;--olive:#4a5124;--olive-dk:#353a18;--olive-soft:#6e7444;--rose:#cb7772;--ink:#3f4122;--ink-soft:#6b6a4e;--cream-text:#f4ecdc;--line:#c9a46a8c;--f-body:var(--font-cormorant,"Cormorant Garamond"), Georgia, serif;--f-script:var(--font-ballet,"Ballet"), "Brush Script MT", cursive;--f-names:var(--f-script);--track:.32em;--ease-out:cubic-bezier(.2, .7, .2, 1);--shadow-soft:0 10px 30px -14px #5a421e47;--shadow-card:0 18px 40px -20px #5a421e61, 0 2px 6px -2px #5a421e1f;--noise:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .42 0 0 0 0 .33 0 0 0 0 .2 0 0 0 .55 -.2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}html[lang=ar]{--f-body:var(--font-amiri,"Amiri"), "Times New Roman", serif;--f-names:var(--font-ruqaa,"Aref Ruqaa"), var(--font-amiri,"Amiri"), serif;--track:0}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--champagne)}html.is-locked,html.is-locked body{height:100%;overflow:hidden}body{font-variant-numeric:lining-nums;min-height:100svh;font-family:var(--f-body);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.1875rem;line-height:1.7}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(80% 50% at 85% 0,#ffffffb3,#0000 70%),linear-gradient(160deg,#ede3d4,#f5eee3 45%,#e8dcc9);position:fixed;inset:0}html[lang=ar] body{font-size:1.0625rem;line-height:1.95}h1,h2,h3,p,blockquote,figure,ol,ul{margin:0}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}svg{display:block}a{color:inherit}img{max-width:100%;display:block}html[lang=ar] .en,html[lang=en] .ar{display:none!important}.sprite{width:0;height:0;position:absolute;overflow:hidden}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;inset-inline-start:12px;background:var(--olive);color:var(--cream-text);border-radius:999px;padding:8px 14px;text-decoration:none;position:fixed;top:-60px}.skip-link:focus{top:12px}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}::selection{background:#c9a46a59}.stage{z-index:50;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));-webkit-user-select:none;user-select:none;background:#eadfcd;flex-direction:column;justify-content:center;align-items:center;gap:clamp(14px,3svh,28px);display:flex;position:fixed;inset:0;overflow:hidden}html:not(.js) .stage,.stage[hidden]{display:none}html:not(.js).is-locked,html:not(.js).is-locked body{height:auto;overflow:auto}.stage__silk{will-change:transform;background:radial-gradient(40% 30% at 78% 22%,#fffffff2,#0000 70%),radial-gradient(35% 28% at 18% 80%,#ffffffb3,#0000 70%),linear-gradient(118deg,#0000 18%,#fff9 30%,#0000 41%,#96764c1f 53%,#0000 63%,#ffffff80 76%,#0000 88%),linear-gradient(62deg,#0000 30%,#ffffff59 44%,#0000 58%),linear-gradient(160deg,#e6d9c5,#f4ece0 40%,#e0d0b8 72%,#eee4d5);animation:24s ease-in-out infinite alternate silk;position:absolute;inset:-25%}@keyframes silk{0%{transform:translate(-3%,2%)scale(1.02)rotate(-1deg)}to{transform:translate(3%,-2%)scale(1.08)rotate(1.5deg)}}.stage__dust{pointer-events:none;position:absolute;inset:0}.stage__dust i{bottom:-12px;left:var(--x);width:var(--s);height:var(--s);opacity:0;animation:rise var(--d) linear infinite;animation-delay:var(--delay);background:radial-gradient(circle,#fff8e0,#d9b66c);border-radius:50%;position:absolute;box-shadow:0 0 8px 2px #ebd092a6}@keyframes rise{0%{opacity:0;transform:translate(0,0)}12%{opacity:.9}50%{transform:translate(16px,-52svh)}88%{opacity:.5}to{opacity:0;transform:translate(-12px,-108svh)}}.stage__brand{color:var(--gold-deep);text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex;position:relative}.stage__mono{font-family:var(--f-names);color:var(--gold-dk);font-size:2rem;line-height:1}.stage__mono em{font-family:var(--font-cormorant,serif);color:var(--rose);padding-inline:.1em;font-size:.8em;font-style:normal}.stage__kicker{letter-spacing:.5em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem}html[lang=ar] .stage__kicker{letter-spacing:0;font-size:.95rem}.stage__hint{letter-spacing:.38em;text-transform:uppercase;color:var(--gold-deep);font-size:.78rem;animation:2.4s ease-in-out infinite breathe;position:relative}html[lang=ar] .stage__hint{letter-spacing:0;font-size:1rem}@keyframes breathe{0%,to{opacity:.45}50%{opacity:1}}.env{--w:min(84vw, 380px, calc((100svh - 190px) / 1.6));width:var(--w);aspect-ratio:5/8;flex-shrink:0;position:relative;container-type:inline-size}.env__back{background:radial-gradient(circle,#a9824a47 1px,#0000 1.6px) 0 0/12px 12px,linear-gradient(#e2d3bb,#d6c4a6);border-radius:6px;position:absolute;inset:0;box-shadow:0 40px 60px -24px #503a1973,0 10px 20px -8px #503a1933,inset 0 0 30px #6e522840}.env__card{z-index:1;inset-inline:6%;will-change:transform;height:62%;position:absolute;top:4%}.mini-card{text-align:center;background:var(--noise), linear-gradient(#fffdf8, #f8f2e6);height:100%;color:var(--olive);border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:2.4cqw;padding:8cqw 6cqw;display:flex;position:relative;box-shadow:0 -4px 14px #5a421e1f}.mini-card:before,.mini-card:after{content:"";pointer-events:none;border:1px solid var(--line);position:absolute}.mini-card:before{inset:3cqw}.mini-card:after{opacity:.7;border-width:.5px;inset:4.4cqw}.mini-card__sprig{width:13cqw;height:13cqw;color:var(--gold);transform:rotate(-35deg)}.mini-card__kicker{letter-spacing:var(--track);text-transform:uppercase;color:var(--ink-soft);font-size:3.6cqw}.mini-card__names{font-family:var(--f-names);color:var(--gold-dk);font-size:10cqw;line-height:1.15}.mini-card__names em{font-family:var(--font-cormorant,serif);color:var(--rose);font-size:.55em;font-style:normal;line-height:1;display:block}.mini-card__divider{width:40cqw;height:4cqw;color:var(--gold)}.mini-card__date{letter-spacing:.2em;color:var(--ink-soft);font-size:4cqw}.env__front{z-index:2;border-radius:6px;width:100%;height:100%;position:absolute;inset:0}.env__front-noise,.env:after{content:"";z-index:2;background:var(--noise);opacity:.5;pointer-events:none;border-radius:6px;position:absolute;inset:0}.env__to{z-index:2;inset-inline:10%;color:var(--gold-deep);text-align:center;flex-direction:column;align-items:center;line-height:1.2;display:flex;position:absolute;bottom:8%}.env__to-label{letter-spacing:var(--track);text-transform:uppercase;opacity:.8;font-size:3.2cqw}.env__to-name{font-family:var(--f-names);color:var(--gold-dk);font-size:7.5cqw}.env__flap{z-index:3;inset-inline:0;transform-origin:50% 0;height:53.75%;transform-style:preserve-3d;will-change:transform;position:absolute;top:0;transform:perspective(1400px)rotateX(0)}.env__flap-front,.env__flap-back{backface-visibility:hidden;width:100%;height:100%;position:absolute;inset:0}.env__flap-front{filter:drop-shadow(0 3px 4px #503a1933)}.env__flap-back{clip-path:polygon(0 0,100% 0,50% 100%);background:radial-gradient(circle,#a9824a59 1px,#0000 1.7px) 0 0/12px 12px,linear-gradient(#e9ddc8,#d9c7a8);transform:rotateX(180deg)}.env__lace{z-index:4;aspect-ratio:110/400;filter:drop-shadow(1px 2px 2px #503a1938);width:25%;position:absolute;top:40%;left:61%;transform:translate(-50%,-50%)rotate(19deg)}.env__ribbon{z-index:5;aspect-ratio:120/160;filter:drop-shadow(0 2px 2px #503a1933);width:22%;position:absolute;top:55%;left:50%;transform:translate(-50%)}.env__seal{z-index:6;aspect-ratio:1;width:27%;transition:transform .3s var(--ease-out);-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;padding:0;position:absolute;top:53.75%;left:50%;transform:translate(-50%,-50%)}.env__seal:before{content:"";background:radial-gradient(closest-side,#46300e73,#0000);border-radius:50%;position:absolute;inset:12% 8% -4%;transform:translateY(6%)}.env__seal.is-cracked:before{opacity:0;transition:opacity .35s}.env__seal:hover{transform:translate(-50%,-50%)scale(1.04)}.env__seal:focus-visible{outline-offset:6px}.env__seal-glow{pointer-events:none;background:radial-gradient(closest-side,#ffecbebf,#ffecbe00);border-radius:50%;animation:2.6s ease-in-out infinite glow;position:absolute;inset:-34%}@keyframes glow{0%,to{opacity:.35;transform:scale(.82)}50%{opacity:1;transform:scale(1.08)}}.env__seal-half{width:100%;height:100%;position:absolute;inset:0}.env__seal-half--a{clip-path:polygon(0 0,52% 0,47% 18%,54% 33%,46% 50%,53% 66%,47% 82%,51% 100%,0 100%)}.env__seal-half--b{clip-path:polygon(52% 0,100% 0,100% 100%,51% 100%,47% 82%,53% 66%,46% 50%,54% 33%,47% 18%)}.fab{z-index:60;width:46px;height:46px;color:var(--gold-deep);box-shadow:var(--shadow-soft);transition:transform .3s var(--ease-out), opacity .4s;background:#fcf9f3f0;border:1px solid #c9a46aa6;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;inset-inline-end:calc(14px + env(safe-area-inset-right))}.fab:hover{transform:scale(1.06)}.fab:active{transform:scale(.96)}.fab--lang{top:calc(14px + env(safe-area-inset-top));letter-spacing:.06em;font-size:1rem;font-weight:600}.fab--lang .en{font-family:var(--font-amiri,serif);font-size:1.25rem;line-height:1}html[lang=en] .fab--lang .en{display:inline!important}html[lang=en] .fab--lang .ar{display:none!important}.fab--music{bottom:calc(18px + env(safe-area-inset-bottom))}.fab--music[hidden]{display:none}.fab__icon{width:20px;height:20px}.fab--music .eq,.fab--music.is-playing .fab__icon{display:none}.fab--music.is-playing .eq{display:flex}.eq{align-items:flex-end;gap:3px;height:18px}.eq i{transform-origin:bottom;background:currentColor;border-radius:2px;width:3px;height:100%;animation:1s ease-in-out infinite eq}.eq i:nth-child(2){animation-duration:.8s;animation-delay:-.3s}.eq i:nth-child(3){animation-duration:1.2s;animation-delay:-.6s}.eq i:nth-child(4){animation-duration:.9s;animation-delay:-.15s}@keyframes eq{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}.invite{background:var(--noise), var(--ivory);max-width:520px;margin-inline:auto;position:relative;overflow:clip}@media (width>=560px){.invite{border-radius:4px;margin-block:32px;box-shadow:0 40px 80px -40px #503a1973}}.section{text-align:center;padding:68px 24px;position:relative}.eyebrow{letter-spacing:.4em;text-transform:uppercase;color:var(--gold-dk);font-size:.74rem;font-weight:600}html[lang=ar] .eyebrow{letter-spacing:0;font-size:.98rem;font-weight:700}.eyebrow--light{color:var(--gold-light)}.title{font-family:var(--f-names);color:var(--olive);margin:.1em 0 .25em;font-size:clamp(2.4rem,11vw,3.1rem);font-weight:400;line-height:1.2}html[lang=ar] .title{font-size:clamp(2rem,9vw,2.6rem);line-height:1.5}.title--light{color:var(--cream-text)}.lead{color:var(--ink-soft);font-style:italic}html[lang=ar] .lead{font-style:normal}.lead--light{color:#f4ecdcc7}.divider{width:180px;height:15px;color:var(--gold);margin-inline:auto}.link-btn{color:var(--gold-dk);text-underline-offset:5px;background:0 0;border:0;padding:4px 2px;font-size:.95rem;-webkit-text-decoration:underline #c9a46a80;text-decoration:underline #c9a46a80}.link-btn--light{color:var(--gold-light)}.btn{letter-spacing:.05em;isolation:isolate;min-height:48px;transition:transform .25s var(--ease-out), box-shadow .25s;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:12px 24px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn svg{flex-shrink:0;width:19px;height:19px}.btn:hover{transform:translateY(-1px)}.btn:active{transform:scale(.98)}.btn--gold{color:#fff;text-shadow:0 1px 1px #5a3c0f4d;background:linear-gradient(135deg,#dcbe82,#b98f4a 55%,#9d7735);box-shadow:0 12px 26px -12px #8c6428b3,inset 0 1px #ffffff59}.btn--gold:after{content:"";z-index:-1;transition:transform .8s var(--ease-out);background:linear-gradient(105deg,#0000 35%,#fff8e18c 50%,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}.btn--gold:hover:after{transform:translate(120%)}.btn--ghost{color:var(--gold-deep);border-color:var(--line);background:#fff6}.btn--block{width:100%}.chip{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;align-items:center;padding:8px 16px;font-size:.92rem;text-decoration:none;display:inline-flex}.collapse{opacity:0;transition:grid-template-rows .55s var(--ease-out), opacity .4s ease;grid-template-rows:0fr;display:grid}.collapse.is-open{opacity:1;grid-template-rows:1fr}.collapse>*{min-height:0;overflow:hidden}html.js [data-reveal]{opacity:0;transition:opacity .65s ease, transform .65s var(--ease-out);transition-delay:calc(var(--i,0) * 80ms);transform:translateY(16px)}html.js [data-reveal].is-in{opacity:1;transform:none}.is-offscreen *,.is-offscreen :before,.is-offscreen :after{animation-play-state:paused!important}.hero{outline:none;padding:14px}.hero__frame{text-align:center;border:1px solid var(--line);background:radial-gradient(90% 55% at 50% 0,#fffdf8,#0000 70%);flex-direction:column;justify-content:center;align-items:center;min-height:calc(100svh - 28px);padding:76px 26px 96px;display:flex;position:relative}.hero__frame:before{content:"";pointer-events:none;border:.5px solid #c9a46a59;position:absolute;inset:7px}.corner{width:78px;height:78px;color:var(--gold);position:absolute}.corner--tl{top:-1px;left:-1px}.corner--tr{top:-1px;right:-1px;transform:scaleX(-1)}.corner--bl{bottom:-1px;left:-1px;transform:scaleY(-1)}.corner--br{bottom:-1px;right:-1px;transform:scale(-1)}html.js [data-hero]{opacity:0;transform:translateY(16px)}html.js.is-open [data-hero]{opacity:1;transition:opacity 1.1s ease, transform 1.1s var(--ease-out);transition-delay:calc(var(--i,0) * .12s + .12s);transform:none}.hero__body{flex-direction:column;align-items:center;display:flex}.hero__basmala{font-family:var(--f-names);color:var(--gold-dk);margin-bottom:14px;font-size:1.25rem}.hero__sprig{width:54px;height:54px;color:var(--gold);margin-bottom:10px;transform:rotate(-35deg)}html.js.is-open .hero__sprig[data-hero]{transform:rotate(-35deg)}html.js .hero__sprig[data-hero]{transform:rotate(-35deg)translateY(16px)}.hero__families{max-width:30ch;color:var(--ink-soft);font-size:1.05rem;font-style:italic}html[lang=ar] .hero__families{font-size:1.08rem;font-style:normal}.hero__names{margin:26px 0 10px;font-weight:400}.hero__name{font-family:var(--f-names);padding-inline:.15em;font-size:clamp(3.4rem,17vw,5.2rem);line-height:1.08;display:block}html[lang=ar] .hero__name{font-size:clamp(2.9rem,14.5vw,4.4rem);line-height:1.45}.foil{color:var(--gold-dk);-webkit-text-fill-color:transparent;background-image:linear-gradient(105deg,#0000 38%,#fff7def2 48%,#0000 58%),linear-gradient(#c7a15c,#9c7533 70%,#8a6324);background-position:130% 0,0 0;background-repeat:no-repeat;background-size:280% 100%,100% 100%;-webkit-background-clip:text;background-clip:text}.hero__amp{font-family:var(--font-cormorant,serif);color:var(--rose);font-size:2.6rem;font-style:normal;font-weight:400;line-height:1;display:block}.hero__date{width:min(100%,330px);color:var(--olive);grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin-top:22px;display:grid}.hero__date-side{border-block:1px solid var(--line);letter-spacing:.24em;text-transform:uppercase;padding:7px 0;font-size:.8rem;font-weight:600}html[lang=ar] .hero__date-side{letter-spacing:0;font-size:.98rem}.hero__date-main{flex-direction:column;align-items:center;gap:2px;line-height:1.15;display:flex}.hero__date-day{color:var(--gold-dk);font-variant-numeric:lining-nums;font-size:3.1rem;font-weight:500;line-height:1}.hero__date-month{letter-spacing:.2em;text-transform:uppercase;font-size:.95rem}.hero__date-year{letter-spacing:.3em;color:var(--ink-soft);font-size:.85rem}html[lang=ar] .hero__date-month,html[lang=ar] .hero__date-year{letter-spacing:0;font-size:1.05rem}.hero__venue{letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);margin-top:18px;font-size:.85rem}html[lang=ar] .hero__venue{letter-spacing:0;font-size:1.05rem}.hero__guest{color:var(--ink-soft);background:#ffffff8c;border:1px solid #c9a46a66;border-radius:999px;flex-wrap:wrap;justify-content:center;gap:0 .4em;margin-top:22px;padding:8px 20px;font-size:1rem;display:inline-flex}.hero__guest strong{color:var(--olive);font-weight:600}.hero__cue{width:100px;color:var(--gold-dk);letter-spacing:.3em;text-transform:uppercase;flex-direction:column;align-items:center;gap:2px;margin-left:-50px;font-size:.72rem;text-decoration:none;display:flex;position:absolute;bottom:22px;left:50%}html[lang=ar] .hero__cue{letter-spacing:0;font-size:.95rem}.hero__cue svg{width:22px;height:22px;animation:2s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.verse{padding-block:36px 24px}.verse__quote{width:34px;height:26px;color:var(--gold);opacity:.55;margin:0 auto 18px}.verse__text{max-width:34ch;color:var(--olive);margin:0 auto 26px;font-size:1.3rem;font-style:italic;line-height:1.8}html[lang=ar] .verse__text{font-size:1.45rem;font-style:normal;line-height:2.1}.scratch__row{justify-content:center;gap:clamp(10px,3.5vw,18px);margin-top:30px;display:flex;position:relative}.medal{aspect-ratio:1;border-radius:50%;width:clamp(86px,26vw,120px);position:relative}.medal__face{background:radial-gradient(circle at 35% 28%,#fffefa,#f2e8d6);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #c9a46abf,inset 0 0 0 5px #fbf7ef,inset 0 0 0 6px #c9a46a73,0 14px 26px -12px #5a421e73}.medal__label{letter-spacing:.3em;text-transform:uppercase;color:var(--gold-dk);font-size:.62rem}html[lang=ar] .medal__label{letter-spacing:0;font-size:.85rem}.medal__value{color:var(--olive);font-variant-numeric:lining-nums;font-size:clamp(1.7rem,7.5vw,2.3rem);font-weight:600;line-height:1.1}.medal__value--month{font-size:clamp(1.15rem,5vw,1.5rem)}html[lang=ar] .medal__value--month{font-size:clamp(1.05rem,4.6vw,1.35rem)}.medal__foil{touch-action:pan-y;cursor:grab;filter:drop-shadow(0 6px 10px #5a421e40);border-radius:50%;width:100%;height:100%;transition:opacity .7s;position:absolute;inset:0}.medal.is-revealed .medal__foil{opacity:0;pointer-events:none}.medal.is-revealed .medal__face{animation:pop .7s var(--ease-out)}@keyframes pop{0%{transform:scale(.92)}55%{transform:scale(1.06)}to{transform:scale(1)}}.scratch__finger{pointer-events:none;background:radial-gradient(circle,#fffffff2,#ffffff59 55%,#0000 70%);border-radius:50%;width:34px;height:34px;margin:-17px 0 0 -17px;animation:2.6s ease-in-out infinite swipe;position:absolute;top:58%;left:50%;box-shadow:0 0 0 1px #fff9}.scratch.is-touched .scratch__finger{opacity:0;transition:opacity .4s;animation:none}@keyframes swipe{0%{opacity:0;transform:translate(-46px)scale(.9)}15%{opacity:1}50%{transform:translate(46px)scale(1)}85%{opacity:1}to{opacity:0;transform:translate(-46px)scale(.9)}}.scratch__after{color:var(--olive);opacity:0;transition:opacity .8s ease .2s, transform .8s var(--ease-out) .2s;align-items:center;gap:8px;margin-top:26px;font-size:1.1rem;display:inline-flex;transform:translateY(8px)}.scratch__after svg{width:16px;height:16px;color:var(--rose)}.scratch.is-done .scratch__after{opacity:1;transform:none}.scratch__skip{opacity:.8;margin:14px auto 0;font-size:.85rem;display:block}.scratch.is-done .scratch__skip{visibility:hidden}.countdown{background:linear-gradient(#0000,#efe6d68c 30% 70%,#0000)}.countdown__grid{grid-template-columns:repeat(4,1fr);gap:clamp(8px,3vw,16px);max-width:420px;margin:30px auto 0;display:grid}.ring{grid-template-areas:"dial""label";justify-items:center;gap:10px;display:grid}.ring__svg,.ring__value{grid-area:dial}.ring__svg{aspect-ratio:1;width:100%;transform:rotate(-90deg)}.ring__track{fill:#ffffff8c;stroke:#c9a46a4d;stroke-width:1.5px}.ring__progress{fill:none;stroke:url(#g-gold);stroke-width:2.6px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px;transition:stroke-dashoffset .8s var(--ease-out)}.ring__value{color:var(--olive);font-variant-numeric:lining-nums tabular-nums;align-self:center;font-size:clamp(1.35rem,6vw,1.9rem);font-weight:600;position:relative}.ring__label{letter-spacing:.28em;text-transform:uppercase;color:var(--gold-dk);font-size:.66rem}html[lang=ar] .ring__label{letter-spacing:0;font-size:.9rem}.countdown__today{font-family:var(--f-names);color:var(--gold-dk);justify-content:center;align-items:center;gap:10px;margin-top:26px;font-size:2rem;display:none}.countdown__today svg{width:22px;height:22px;color:var(--rose)}.countdown.is-today .countdown__grid{display:none}.countdown.is-today .countdown__today{display:flex}.arch{max-width:320px;color:var(--gold);margin:24px auto 0;position:relative}.arch__art{width:100%;height:auto}.arch__leaves use{transform-box:fill-box}.arch__content{color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:20% 16% 22%}.arch__pin{width:26px;height:26px;color:var(--gold-dk)}.arch__name{font-family:var(--font-cormorant,serif);color:var(--olive);font-size:1.75rem;font-style:italic;font-weight:500;line-height:1.2}html[lang=ar] .arch__name{font-family:var(--f-names);font-size:1.6rem;font-style:normal;font-weight:400;line-height:1.5}.arch__address{color:var(--ink-soft);font-size:.98rem}.arch__meta{color:var(--olive);gap:4px;margin-top:8px;padding:0;font-size:.95rem;list-style:none;display:grid}.arch__meta li{justify-content:center;align-items:center;gap:7px;display:inline-flex}.arch__meta svg{width:16px;height:16px;color:var(--gold-dk)}.venue__actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px;display:flex}.calendar-options__inner{flex-wrap:wrap;justify-content:center;gap:8px;padding-top:14px;display:flex}.rsvp{color:var(--cream-text);background:radial-gradient(70% 40% at 50% 0%, #c9a46a29, transparent 70%), var(--olive);text-align:center;margin-block:70px;padding:34px 20px 50px;position:relative}.rsvp__arch{width:100%;height:56px;color:var(--olive);position:absolute;left:0}.rsvp__arch--top{top:-55px}.rsvp__arch--bottom{bottom:-55px}.rsvp__leaves{pointer-events:none;height:0;position:absolute;inset:-46px 0 auto}.sway{top:0;width:64px;height:64px;color:var(--gold);opacity:.9;transform-origin:15% 90%;animation:sway var(--d,6s) ease-in-out infinite alternate;position:absolute;inset-inline-start:7%}.sway--mirror{transform-origin:85% 90%;animation-name:sway-mirror;inset-inline:auto 7%}@keyframes sway{0%{transform:rotate(-8deg)}to{transform:rotate(6deg)}}@keyframes sway-mirror{0%{transform:scaleX(-1)rotate(-8deg)}to{transform:scaleX(-1)rotate(6deg)}}.rsvp__inner{max-width:420px;margin-inline:auto;position:relative}.rsvp .lead{margin-bottom:4px}.rsvp__panel{text-align:start;background:linear-gradient(#ffffff0f,#ffffff05);border:1px solid #e3c88e52;border-radius:24px;margin-top:24px;padding:24px 18px 22px;box-shadow:inset 0 1px #ffffff0f,0 24px 50px -30px #00000080}.form>*+*{margin-top:16px}.form__notice{color:var(--gold-light);text-align:center;background:#e3c88e21;border-radius:14px;padding:10px 14px;font-size:.95rem}.field{padding-top:12px;position:relative}.field__input{width:100%;color:var(--cream-text);background:0 0;border:0;border-bottom:1px solid #f4ecdc59;border-radius:0;outline:none;padding:14px 2px 9px;font-size:1.08rem;transition:border-color .3s}.field__input:focus{border-color:var(--gold-light)}.field__input:focus-visible{outline:none}.field--area .field__input{resize:vertical;min-height:96px;line-height:1.7}.field__label{inset-inline-start:2px;color:#f4ecdc9e;pointer-events:none;transform-origin:0 0;transition:transform .3s var(--ease-out), color .3s, top .3s var(--ease-out);position:absolute;top:26px}html[dir=rtl] .field__label{transform-origin:100% 0}.field__input:focus+.field__label,.field__input:not(:placeholder-shown)+.field__label{color:var(--gold-light);top:0;transform:scale(.78)}.field__count{inset-inline-end:0;color:#f4ecdc80;direction:ltr;font-size:.75rem;position:absolute;bottom:-20px}.field__error,.form__error{color:#f4bba9;font-size:.88rem}.field__error:empty,.form__error:empty{display:none}.field.has-error .field__input{border-color:#f4bba9}.choice{background:#00000029;border:1px solid #e3c88e59;border-radius:999px;grid-template-columns:1fr 1fr;margin:22px 0 0;padding:4px;display:grid;position:relative}.choice__pill{top:4px;bottom:4px;background:linear-gradient(135deg,#e6cc92,#c59d57);border-radius:999px;width:calc(50% - 4px);transition:transform .5s cubic-bezier(.3,1.35,.5,1);position:absolute;inset-inline-start:4px;box-shadow:0 6px 16px -6px #00000073}.choice[data-choice=declines] .choice__pill{transform:translate(100%)}html[dir=rtl] .choice[data-choice=declines] .choice__pill{transform:translate(-100%)}.choice__option{z-index:1;text-align:center;color:#f4ecdcc7;border-radius:999px;padding:11px 6px;font-size:.95rem;font-weight:600;transition:color .35s;position:relative}.choice__option input{opacity:0;pointer-events:none;position:absolute}.choice__option:has(input:checked){color:var(--olive-dk)}.choice__option:has(input:focus-visible){outline:2px solid var(--gold-light);outline-offset:2px}.stepper{justify-content:space-between;align-items:center;gap:12px;padding-top:18px;display:flex}.stepper__label{color:#f4ecdccc}.stepper__control{align-items:center;gap:14px;display:flex}.stepper__btn{width:38px;height:38px;color:var(--gold-light);background:#ffffff0d;border:1px solid #e3c88e80;border-radius:50%;font-size:1.3rem;line-height:1}.stepper__value{text-align:center;min-width:1.6em;color:var(--cream-text);font-size:1.4rem;font-weight:600}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form .btn--block{margin-top:26px}.btn__spinner{opacity:0;border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:22px;height:22px;position:absolute}.btn.is-loading{pointer-events:none}.btn.is-loading .btn__label{opacity:0}.btn.is-loading .btn__spinner{opacity:1;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.thanks{text-align:center;outline:none;padding:8px 6px 4px}.thanks__seal{filter:drop-shadow(0 8px 12px #00000059);opacity:0;width:96px;height:96px;margin:0 auto 14px}.thanks.is-shown .thanks__seal{animation:.95s cubic-bezier(.2,1.3,.4,1) .15s both stamp}.thanks__title{font-family:var(--f-names);color:var(--gold-light);font-size:2.2rem;font-weight:400;line-height:1.3}html[lang=ar] .thanks__title{font-size:1.8rem;line-height:1.6}.thanks__text{color:#f4ecdcd9;max-width:30ch;margin:8px auto 14px}.thanks[data-attending=accepts] [data-when=declines],.thanks[data-attending=declines] [data-when=accepts]{display:none}@keyframes stamp{0%{opacity:0;transform:scale(2.4)rotate(-28deg)}55%{opacity:1;transform:scale(.9)rotate(4deg)}75%{transform:scale(1.05)rotate(-1deg)}to{opacity:1;transform:scale(1)rotate(0)}}.wishes{padding-inline:0}.wishes .eyebrow,.wishes .title{padding-inline:24px}.wishes__viewport{margin-top:18px;position:relative}.wishes__track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:flex-start;gap:16px;margin:0;padding:22px 11% 30px;scroll-padding-inline:11%;list-style:none;display:flex;overflow-x:auto}.wishes__track::-webkit-scrollbar{display:none}.wish{--r:-1.1deg;background:var(--noise), linear-gradient(#fffefa, #faf4e9);max-width:320px;min-height:200px;box-shadow:var(--shadow-card);text-align:start;scroll-snap-align:center;transform:rotate(var(--r));border-radius:3px;flex-direction:column;flex:0 0 78%;gap:10px;padding:28px 22px 20px;display:flex;position:relative}.wish:nth-child(2n){--r:.9deg}.wish:before{content:"";background:radial-gradient(circle at 35% 30%,#f4dfa4,#c9a04c 60%,#8f6a26);border-radius:50%;width:22px;height:22px;margin-left:-11px;position:absolute;top:-9px;left:50%;box-shadow:0 3px 6px #5a421e59,inset 0 0 0 3px #fff0c840}.wish__quote{width:24px;height:18px;color:var(--gold);opacity:.45}.wish__message{-webkit-line-clamp:7;line-clamp:7;color:var(--ink);white-space:pre-line;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:1;font-size:1.06rem;line-height:1.75;display:-webkit-box;overflow:hidden}.wish__name{font-family:var(--f-names);color:var(--gold-dk);align-items:center;gap:7px;font-size:1.55rem;line-height:1.3;display:flex}.wish.is-clamped .wish__message{cursor:pointer}.wish.is-expanded .wish__message{-webkit-line-clamp:unset;line-clamp:none}html[lang=ar] .wish__name{font-size:1.2rem}.wish__name svg{width:14px;height:14px;color:var(--rose);flex-shrink:0}.wish.is-new{animation:wish-in .9s var(--ease-out)}@keyframes wish-in{0%{transform:translateY(18px) scale(.94) rotate(var(--r));opacity:0;box-shadow:0 0 #e3c88ee6}60%{box-shadow:0 0 0 10px #e3c88e00}to{transform:rotate(var(--r));opacity:1}}.wish--more{min-height:0;box-shadow:none;border:1px dashed var(--line);background:0 0;flex-basis:46%;justify-content:center;align-items:center;transform:none}.wish--more:before,.wish--more[hidden]{display:none}.wishes__empty{color:var(--ink-soft);flex-direction:column;align-items:center;gap:6px;padding:10px 24px 20px;font-style:italic;display:flex}.wishes__empty[hidden],.wishes__nav{display:none}@media (hover:hover) and (width>=560px){.wishes__nav{justify-content:center;gap:12px;display:flex}.wishes__arrow{border:1px solid var(--line);background:var(--paper);width:40px;height:40px;color:var(--gold-dk);border-radius:50%;place-items:center;display:grid}.wishes__arrow svg{width:18px;height:18px}.wishes__arrow[data-dir="-1"] svg,html[dir=rtl] .wishes__arrow[data-dir="1"] svg{transform:scaleX(-1)}html[dir=rtl] .wishes__arrow[data-dir="-1"] svg{transform:none}}.footer{padding:70px 24px calc(96px + env(safe-area-inset-bottom));text-align:center}.footer__seal{filter:drop-shadow(0 8px 10px #5a421e4d);width:76px;margin:0 auto 16px}.footer__names{font-family:var(--f-names);color:var(--olive);font-size:2.4rem;line-height:1.3}html[lang=ar] .footer__names{font-size:1.9rem;line-height:1.7}.footer__names em{font-family:var(--font-cormorant,serif);color:var(--rose);font-size:.8em;font-style:normal}.footer__date{letter-spacing:.3em;color:var(--gold-dk);margin:4px 0 18px}.footer__closing{color:var(--ink-soft);margin-top:14px;font-style:italic}html[lang=ar] .footer__closing{font-size:1.2rem;font-style:normal}.garland{pointer-events:none;position:absolute;top:0}.strand{transform-origin:50% 0;will-change:transform;animation:strand-sway var(--d,5s) ease-in-out var(--delay,0s) infinite alternate;position:absolute;top:0;overflow:visible}@keyframes strand-sway{0%{transform:rotate(-2.2deg)}to{transform:rotate(2.2deg)}}.garland--hero{width:min(27%,118px)}.garland--start{left:6px}.garland--end{right:6px;transform:scaleX(-1)}.garland--band{width:100%;left:0}.wishes{padding-top:120px}.illus{margin-inline:auto;display:block;overflow:visible}.illus--rings{width:120px;height:85px;margin-bottom:10px}.illus--toast{aspect-ratio:220/170;width:min(62%,240px);height:auto}.illus--florals{aspect-ratio:220/130;width:min(70%,260px);height:auto;margin-bottom:-18px}.illus-slot{margin-bottom:18px}.art{width:100%;height:auto;margin-inline:auto;display:block}.art--wide{mix-blend-mode:multiply;max-width:440px}.venue .art{margin-block:18px 6px}.footer .art{margin-bottom:10px}.arch__florals{z-index:1;aspect-ratio:220/130;pointer-events:none;width:66%;height:auto;position:absolute;bottom:-34px;left:50%;overflow:visible;transform:translate(-50%)}.arch{margin-bottom:40px}.photo{padding-top:40px}.cameo{aspect-ratio:300/380;width:min(78vw,320px);margin:46px auto 10px;position:relative}.cameo__photo{background:var(--champagne);isolation:isolate;border-radius:50%;width:84%;height:87.37%;position:absolute;top:6.32%;left:8%;overflow:hidden;box-shadow:inset 0 0 0 1px #c9a46a80,0 22px 40px -22px #5a421e8c}.cameo__photo img{object-fit:cover;width:100%;height:100%}.cameo__cover{touch-action:pan-y;cursor:grab;width:100%;height:100%;transition:opacity .9s;position:absolute;inset:0}.cameo.is-revealed .cameo__cover{opacity:0;pointer-events:none}.cameo__frame{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.cameo__hint{color:var(--gold-deep);white-space:nowrap;pointer-events:none;background:#fcf9f3d9;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;animation:2.4s ease-in-out infinite breathe;display:inline-flex;position:absolute;top:63%;left:50%;transform:translate(-50%)}.cameo__hint svg{width:13px;height:13px;color:var(--rose)}.cameo.is-touched .cameo__hint{opacity:0;transition:opacity .4s;animation:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.stage__silk,.stage__dust{display:none}.strand{animation:none}}
