:root{--bg:#f7f4ee;--bg-2:#ede6d9;--paper:#fffdf9;--ink:#1a2440;--muted:#5f6782;--accent:#1c2b4b;--accent-ink:#f7f4ee;--gold:#b08a45;--gold-2:#d9bd84;--line:#1c2b4b21;--mono-ink:#1c2b4b;--env:#1f3057;--env-2:#172645;--env-in:#e9e1d2;--env-line:#d9bd84bf;--seal:#b8924a;--seal-2:#8f6d31;--seal-ink:#1c2b4b;--shadow:0 30px 60px -28px #141e3c59;--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-mode=dark]{--bg:#0e1628;--bg-2:#121c33;--paper:#16213b;--ink:#f2ede3;--muted:#a8b0c6;--accent:#ece4d4;--accent-ink:#0e1628;--gold:#d4b373;--gold-2:#ead3a0;--line:#f2ede31f;--mono-ink:#f2ede3;--env:#22355e;--env-2:#1a2a4b;--env-in:#101a30;--env-line:#d4b373b3;--seal:#d4b373;--seal-2:#a8864a;--seal-ink:#14203a;--shadow:0 30px 70px -30px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:has(.iv[data-theme=blush]){--bg:#fbf3f1;--bg-2:#f3e3e0;--paper:#fffdfc;--ink:#4a2a33;--muted:#8a6870;--accent:#b5677a;--accent-ink:snow;--gold:#b0845a;--gold-2:#ddbb95;--line:#4a2a331f;--mono-ink:#9c5468;--env:#ebc6c6;--env-2:#deb0b3;--env-in:#fbefee;--env-line:#ffffffd9;--seal:#b5677a;--seal-2:#8e4a5b;--seal-ink:#fbefee;--shadow:0 30px 60px -28px #783c4b4d}:root[data-mode=dark]:has(.iv[data-theme=blush]){--bg:#1f1418;--bg-2:#27191e;--paper:#2c1e24;--ink:#f6e8ea;--muted:#c3a7ae;--accent:#e7a6b5;--accent-ink:#1f1418;--gold:#d9b38c;--gold-2:#ecd0b0;--line:#f6e8ea1f;--mono-ink:#f3c8d1;--env:#4d3038;--env-2:#3d252c;--env-in:#1b1115;--env-line:#e7a6b58c;--seal:#c9788b;--seal-2:#9c5568;--seal-ink:#1f1418}:root:has(.iv[data-theme=ivory]){--bg:#faf6ec;--bg-2:#f0e7d3;--paper:#fffdf7;--ink:#2b2620;--muted:#6e6455;--accent:#7a1f2b;--accent-ink:#faf6ec;--gold:#a88540;--gold-2:#d8be80;--line:#2b262021;--mono-ink:#2b2620;--env:#efe4cc;--env-2:#e2d2af;--env-in:#f8f2e3;--env-line:#a88540bf;--seal:#8a2432;--seal-2:#5f1520;--seal-ink:#f1e2c0;--shadow:0 30px 60px -28px #46371e52}:root[data-mode=dark]:has(.iv[data-theme=ivory]){--bg:#18150f;--bg-2:#201c14;--paper:#25211a;--ink:#f2ebdc;--muted:#bbaf98;--accent:#dc8e9a;--accent-ink:#18150f;--gold:#d2b270;--gold-2:#e6d09f;--line:#f2ebdc1f;--mono-ink:#f2ebdc;--env:#3a3223;--env-2:#2e281c;--env-in:#15120d;--env-line:#d2b27099;--seal:#93283a;--seal-2:#681a27;--seal-ink:#f1e2c0}:root:has(.iv[data-theme=terracotta]){--bg:#f7efe6;--bg-2:#eedfcf;--paper:#fffaf4;--ink:#3a2419;--muted:#7d6253;--accent:#b2532c;--accent-ink:#fff7ef;--gold:#a87b40;--gold-2:#ddb984;--line:#3a241921;--mono-ink:#8c3a1e;--env:#d89d77;--env-2:#c78660;--env-in:#fbf0e4;--env-line:#fff7efcc;--seal:#8c3a1e;--seal-2:#652613;--seal-ink:#f7e3cf;--shadow:0 30px 60px -28px #6e371952}:root[data-mode=dark]:has(.iv[data-theme=terracotta]){--bg:#1c130f;--bg-2:#241913;--paper:#2b1e17;--ink:#f5e7d9;--muted:#c4a893;--accent:#e8946a;--accent-ink:#1c130f;--gold:#d8ae73;--gold-2:#eacb9c;--line:#f5e7d91f;--mono-ink:#f5d6bf;--env:#5a3626;--env-2:#472a1d;--env-in:#170f0b;--env-line:#e8946a8c;--seal:#a9482a;--seal-2:#7a311b;--seal-ink:#f7e3cf}:root:has(.iv[data-theme=white]){--bg:#fff;--bg-2:#f3f3f3;--paper:#fff;--ink:#141414;--muted:#6b6b6b;--accent:#141414;--accent-ink:#fff;--gold:#8c8c8c;--gold-2:#d4d4d4;--line:#0000001a;--mono-ink:#141414;--env:#f1f1f1;--env-2:#e4e4e4;--env-in:#fafafa;--env-line:#0000002e;--seal:#1a1a1a;--seal-2:#000;--seal-ink:#f5f5f5;--shadow:0 30px 60px -30px #00000038}:root[data-mode=dark]:has(.iv[data-theme=white]){--bg:#0e0e0f;--bg-2:#151517;--paper:#18181a;--ink:#f4f4f4;--muted:#a3a3a3;--accent:#f4f4f4;--accent-ink:#0e0e0f;--gold:#bdbdbd;--gold-2:#e3e3e3;--line:#ffffff1a;--mono-ink:#f4f4f4;--env:#232326;--env-2:#1b1b1d;--env-in:#111112;--env-line:#ffffff40;--seal:#e8e8e8;--seal-2:#bdbdbd;--seal-ink:#111112;--shadow:0 30px 70px -30px #000000b3}:root:has(.iv[data-theme=sage]){--bg:#f3f4ee;--bg-2:#e6e9dc;--paper:#fcfdf8;--ink:#26301f;--muted:#66705c;--accent:#4e6141;--accent-ink:#f7f8f2;--gold:#a08a4e;--gold-2:#d6c795;--line:#26301f21;--mono-ink:#3e4f33;--env:#8ea07c;--env-2:#7a8d69;--env-in:#f2f4ea;--env-line:#ffffffbf;--seal:#4e6141;--seal-2:#36452c;--seal-ink:#eef1e4;--shadow:0 30px 60px -28px #28371e4d}:root[data-mode=dark]:has(.iv[data-theme=sage]){--bg:#141812;--bg-2:#1a1f17;--paper:#1f251b;--ink:#ecefe3;--muted:#aeb7a2;--accent:#b6c79e;--accent-ink:#141812;--gold:#cdb980;--gold-2:#e3d6aa;--line:#ecefe31f;--mono-ink:#dde6cf;--env:#34402c;--env-2:#2a3424;--env-in:#11150f;--env-line:#b6c79e80;--seal:#8fa476;--seal-2:#66784f;--seal-ink:#141812}.iv[data-metal=silver]{--gold:#8a9099;--gold-2:#cdd2d8}:root[data-mode=dark] .iv[data-metal=silver]{--gold:#bac1c9;--gold-2:#e2e6eb}.iv[data-metal=rosegold]{--gold:#b27868;--gold-2:#e3b9ac}:root[data-mode=dark] .iv[data-metal=rosegold]{--gold:#dda898;--gold-2:#f1d0c4}.iv[data-metal=pearl]{--gold:#a9a39a;--gold-2:#e9e4db}:root[data-mode=dark] .iv[data-metal=pearl]{--gold:#f3f0ea;--gold-2:#fff}.iv[data-metal=theme]{--gold:var(--accent);--gold-2:color-mix(in srgb, var(--accent) 35%, var(--paper))}.iv{--display:var(--f-ruqaa), "Aref Ruqaa", serif;--text:var(--f-amiri), "Amiri", serif;--ui:var(--f-amiri), "Amiri", serif;--display-scale:1}.iv[data-font=naskh]{--display:var(--f-amiri), "Amiri", serif;--display-scale:.92}.iv[data-font=messiri]{--display:var(--f-messiri), serif;--text:var(--f-messiri), serif;--ui:var(--f-messiri), sans-serif;--display-scale:.82}.iv[data-font=kufi]{--display:var(--f-kufi), sans-serif;--text:var(--f-tajawal), sans-serif;--ui:var(--f-tajawal), sans-serif;--display-scale:.8}.iv[data-font=marhey]{--display:var(--f-marhey), sans-serif;--text:var(--f-tajawal), sans-serif;--ui:var(--f-tajawal), sans-serif;--display-scale:.78}.iv[data-font=cairo]{--display:var(--f-cairo), sans-serif;--text:var(--f-cairo), sans-serif;--ui:var(--f-cairo), sans-serif;--display-scale:.74}:root{--ease:cubic-bezier(.22, .61, .36, 1)}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}html.iv-locked,html.iv-locked body{overflow:hidden}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;line-height:1.7;transition:background-color .5s,color .5s;overflow-x:clip}h1,h2,h3,p{font-weight:inherit;margin:0}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.iv{isolation:isolate;min-height:100dvh;font-family:var(--ui);background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .045 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:relative}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[data-reveal]{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transition-delay:calc(var(--i,0) * .12s);transform:translateY(16px)}[data-reveal].is-in{opacity:1;transform:none}.iv-mode{top:max(14px, env(safe-area-inset-top));z-index:60;border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 75%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:40px;height:40px;color:var(--ink);border-radius:50%;place-items:center;display:grid;position:fixed;inset-inline-end:14px}.iv-mode__sun,:root[data-mode=dark] .iv-mode__moon{display:none}:root[data-mode=dark] .iv-mode__sun{display:block}.mono{display:block;overflow:visible}.mono--img{object-fit:contain}.mono__frame circle{fill:none;stroke:var(--gold);stroke-width:1.3px}.mono__frame .mono__thin{stroke-width:.6px}.mono__gem{fill:var(--gold)}.mono__logo{fill:var(--mono-ink)}.iv{--mono-ink:var(--accent)}.couple{font-family:var(--display);color:var(--accent);justify-content:center;align-items:center;gap:.35em;font-weight:700;line-height:1.3;display:flex}.couple__name{white-space:nowrap}.heart{width:.5em;height:auto;fill:var(--gold);flex:none;overflow:visible}.env-screen{z-index:50;background:radial-gradient(60% 45% at 50% 55%, color-mix(in srgb, var(--gold-2) 22%, transparent), transparent 75%), var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:clamp(26px,6svh,48px);padding:0 16px;display:flex;position:fixed;inset:0}.env-to{text-align:center;animation:fade-up 1s var(--ease) both .1s;flex-direction:column;align-items:center;display:flex}.env-to__label{color:var(--gold);word-spacing:.2em;font-size:13px;font-weight:600}.env-to__name{font-family:var(--display);font-weight:700;font-size:calc(clamp(32px, 9vw, 48px) * var(--display-scale));color:var(--accent);line-height:1.4}.env{--w:min(86vw, 420px, 60svh);--h:calc(var(--w) / 1.48);width:var(--w);height:var(--h);perspective:1100px;animation:fade-up 1.1s var(--ease) both .25s, float 5s ease-in-out infinite 1.4s;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;position:relative}.env:disabled{cursor:default}.env:not(:focus-visible){outline:none}@keyframes float{50%{transform:translateY(-6px)}}.env__back,.env__front,.env__front:before,.env__flap,.env__card{position:absolute}.env__back{background:linear-gradient(180deg, var(--env-2), var(--env));box-shadow:var(--shadow);z-index:1;border-radius:10px;inset:0}.env__back:before{content:"";background:repeating-linear-gradient(45deg, transparent 0 9px, color-mix(in srgb, var(--env-line) 30%, transparent) 9px 10px), var(--env-in);border-radius:6px;position:absolute;inset:6px 6px 40%}.env__card{z-index:3;inset-inline:5%;background:var(--paper);height:90%;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 45%, transparent), inset 0 0 0 6px var(--paper), inset 0 0 0 7px color-mix(in srgb, var(--gold) 28%, transparent), 0 10px 30px -12px #00000040;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:7% 6%;display:flex;bottom:5%}.env__card-mono{width:26%;height:auto}.env__couple{font-size:calc(clamp(24px, 7.4vw, 34px) * var(--display-scale))}.env__card-date{font-family:var(--text);color:var(--muted);font-size:clamp(12px,3.2vw,15px)}.env__front{z-index:4;filter:drop-shadow(0 -1px 0 var(--env-line)) drop-shadow(0 -8px 14px #0000001f);pointer-events:none;inset:0}.env__front:before{content:"";background:linear-gradient(160deg, transparent 49.6%, color-mix(in srgb, var(--env-line) 40%, transparent) 50%, transparent 50.4%), linear-gradient(20deg, transparent 49.6%, color-mix(in srgb, var(--env-line) 40%, transparent) 50%, transparent 50.4%), linear-gradient(180deg, var(--env), var(--env-2));clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);border-radius:10px;inset:0}.env__flap{z-index:5;transform-origin:50% 0;height:60%;transform-style:preserve-3d;pointer-events:none;inset:0 0 auto}.env__flap-face{backface-visibility:hidden;position:absolute;inset:0}.env__flap-face:before{content:"";clip-path:polygon(0 0,100% 0,50% 100%);border-radius:10px 10px 0 0;position:absolute;inset:0}.env__flap-face--out{filter:drop-shadow(0 1px 0 var(--env-line)) drop-shadow(0 6px 8px #00000029)}.env__flap-face--out:before{background:linear-gradient(180deg, color-mix(in srgb, var(--env) 85%, white), var(--env))}.env__flap-face--in{filter:drop-shadow(0 -1px 0 var(--env-line));transform:rotateX(180deg)}.env__flap-face--in:before{background:repeating-linear-gradient(45deg, transparent 0 9px, color-mix(in srgb, var(--env-line) 30%, transparent) 9px 10px), var(--env-in)}.env__seal{z-index:6;top:calc(var(--h) * .6 - 34px);width:68px;height:68px;color:var(--seal-ink);background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--seal) 70%, white) 0, transparent 40%), radial-gradient(circle, var(--seal) 0 58%, var(--seal-2) 72%, var(--seal) 78%);box-shadow:0 0 0 3px color-mix(in srgb, var(--seal) 85%, black), 0 6px 14px #0000004d;pointer-events:none;border-radius:50%;place-items:center;margin-left:-34px;display:grid;position:absolute;left:50%}.env__seal-mono{--mono-ink:var(--seal-ink);width:76%;height:auto}.env-hint{color:var(--muted);font-size:13.5px;animation:1s 1.2s both fade-in,2.4s ease-in-out 2.2s infinite breathe}@keyframes breathe{50%{opacity:.45}}.env-screen[data-phase=opening] .env{animation:none}.env-screen[data-phase=opening] .env-to,.env-screen[data-phase=opening] .env-hint{animation:.5s forwards fade-out}.env-screen[data-phase=opening] .env__seal{animation:seal-off .55s var(--ease) forwards}.env-screen[data-phase=opening] .env__flap{animation:flap-open .85s var(--ease) forwards .35s}.env-screen[data-phase=opening] .env__card{animation:card-rise 1s var(--ease) forwards 1.05s}.env-screen[data-phase=opening]{animation:.75s 2.15s forwards fade-out}@keyframes fade-out{to{opacity:0}}@keyframes seal-off{to{opacity:0;transform:scale(1.3)}}@keyframes flap-open{0%{z-index:5;transform:rotateX(0)}55%{z-index:5}56%{z-index:2}to{z-index:2;transform:rotateX(178deg)}}@keyframes card-rise{to{transform:translateY(-46%)}}.iv-main{text-align:center;flex-direction:column;gap:clamp(80px,15svh,130px);max-width:620px;margin:0 auto;padding:0 16px 28px;display:flex;position:relative}.iv-kicker{color:var(--gold);word-spacing:.2em;justify-content:center;align-items:center;gap:12px;margin-bottom:18px;font-size:13px;font-weight:600;display:flex}.iv-kicker:before,.iv-kicker:after{content:"";background:linear-gradient(90deg, transparent, var(--gold));width:34px;height:1px}.iv-kicker:after{transform:scaleX(-1)}.iv-hero{flex-direction:column;justify-content:center;align-items:center;gap:32px;min-height:100svh;padding:68px 0 28px;display:flex}.frame{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--gold) 70%, transparent);background:color-mix(in srgb, var(--paper) 60%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:2.6cqi;width:min(100%,440px);padding:9cqi 6cqi;display:flex;position:relative;container-type:inline-size}.frame:before{content:"";border:1px solid color-mix(in srgb, var(--gold) 35%, transparent);pointer-events:none;position:absolute;inset:2.2cqi}.frame:after{content:"";pointer-events:none;background:linear-gradient(45deg, transparent 40%, var(--gold) 40% 60%, transparent 60%) 0 0 / 8px 8px no-repeat, linear-gradient(45deg, transparent 40%, var(--gold) 40% 60%, transparent 60%) 100% 0 / 8px 8px no-repeat, linear-gradient(45deg, transparent 40%, var(--gold) 40% 60%, transparent 60%) 0 100% / 8px 8px no-repeat, linear-gradient(45deg, transparent 40%, var(--gold) 40% 60%, transparent 60%) 100% 100% / 8px 8px no-repeat;position:absolute;inset:-4px}.frame__mono{width:30cqi;height:auto}.frame__kicker{color:var(--gold);word-spacing:.2em;font-size:max(12px,3.4cqi);font-weight:600}.couple--hero{font-size:calc(18.5cqi * var(--display-scale));gap:.28em;margin:1cqi 0}.couple--hero .heart{width:.78em}.frame__date{font-family:var(--text);flex-direction:column;font-size:max(14px,4.6cqi);line-height:1.6;display:flex}.frame__date span{color:var(--gold);font-weight:700}.iv-cue{background:linear-gradient(var(--gold), transparent);width:1px;height:46px;position:relative;overflow:hidden}.iv-cue:after{content:"";background:var(--gold);border-radius:50%;width:5px;height:5px;animation:2.2s ease-in-out infinite cue;position:absolute;top:0;left:-2px}@keyframes cue{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(42px)}}.frame,.frame>*,.couple--hero>*,.iv-cue{opacity:0}.iv[data-opened] .frame{animation:1.2s forwards fade-in}.iv[data-opened] .frame>*,.iv[data-opened] .couple--hero>*{animation:fade-up 1s var(--ease) forwards}.iv[data-opened] .couple--hero{opacity:1;animation:none}.iv[data-opened] .frame__mono{animation-delay:.2s}.iv[data-opened] .frame__kicker{animation-delay:.4s}.iv[data-opened] .couple--hero>:first-child{animation-delay:.6s}.iv[data-opened] .couple--hero>.heart{animation:heart-in .9s var(--ease) forwards .95s, beat 3.2s ease-in-out infinite 2.4s}.iv[data-opened] .couple--hero>:nth-child(3){animation-delay:1.1s}.iv[data-opened] .frame__date{animation-delay:1.35s}.iv[data-opened] .iv-cue{animation:1s 1.9s forwards fade-in}@keyframes heart-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@keyframes beat{0%,to{opacity:1;transform:scale(1)}12%{opacity:1;transform:scale(1.14)}24%{opacity:1;transform:scale(1)}}.iv-words{flex-direction:column;align-items:center;gap:16px;display:flex}.iv-opening{font-family:var(--text);max-width:20em;font-size:clamp(20px,5.4vw,24px);line-height:1.8}.iv-ornament{align-items:center;gap:10px;margin:6px 0;display:flex}.iv-ornament>span{background:linear-gradient(90deg, transparent, var(--gold));width:64px;height:1px}.iv-ornament>span:last-child{transform:scaleX(-1)}.iv-ornament .heart{width:20px}.iv-line{font-family:var(--text);max-width:21em;font-size:clamp(19px,5vw,22px);line-height:2.1}.iv-father{white-space:nowrap}.iv-father__after{color:var(--gold);font-size:.78em}.iv-father__name{color:var(--accent);font-weight:700}.iv-groom{font-family:var(--display);font-weight:700;font-size:calc(1.55em * var(--display-scale));color:var(--accent);background:linear-gradient(90deg, transparent, var(--gold), transparent) 50% 100% / 100% 1px no-repeat;padding:0 .12em;line-height:1}.iv-for{flex-direction:column;align-items:center;margin-top:14px;display:flex}.iv-for span{color:var(--muted);font-size:14px}.iv-for strong{font-family:var(--display);font-size:calc(clamp(30px, 8.5vw, 40px) * var(--display-scale));color:var(--accent);line-height:1.5}.iv-personal{font-family:var(--text);color:var(--muted);max-width:22em;font-size:clamp(17px,4.4vw,20px)}.iv-when{flex-direction:column;align-items:center;display:flex}.iv-time{font-family:var(--text);color:var(--gold);margin-top:14px;font-size:20px;font-weight:700}.iv-hijri{font-family:var(--text);color:var(--muted);font-size:15px}.iv-count{margin-top:40px}.count{justify-content:center;align-items:flex-start;gap:clamp(4px,2vw,12px);display:flex}.count__unit{flex-direction:column;align-items:center;min-width:clamp(56px,16vw,76px);display:flex}.count__num{height:1.25em;font-family:var(--text);color:var(--accent);font-size:clamp(38px,11vw,52px);font-weight:700;line-height:1.25;display:block;overflow:hidden}.count__value{animation:tick .5s var(--ease);display:block}@keyframes tick{0%{opacity:0;transform:translateY(-40%)}}.count__sep{font-family:var(--text);color:var(--gold);font-size:clamp(26px,7vw,34px);line-height:1.8}.count__label{color:var(--muted);font-size:12.5px}.count__done{font-family:var(--display);font-size:calc(clamp(28px, 7vw, 36px) * var(--display-scale));color:var(--accent)}.iv-venues__note{font-family:var(--text);color:var(--muted);margin:-6px 0 28px;font-size:17px}.iv-venues__list{grid-template-columns:1fr;display:grid}.iv-venues__list[data-count="2"]{grid-template-columns:1fr 1fr}.iv-venue{flex-direction:column;align-items:center;gap:2px;padding:4px clamp(8px,3vw,22px);display:flex}.iv-venue+.iv-venue{border-inline-start:1px solid color-mix(in srgb, var(--gold) 50%, transparent)}.iv-venue__title{font-family:var(--display);font-weight:700;font-size:calc(clamp(26px, 7.4vw, 34px) * var(--display-scale));color:var(--accent);line-height:1.4}.iv-venue__name{font-family:var(--text);margin-top:4px;font-size:clamp(17px,4.6vw,21px);font-weight:700;line-height:1.5}.iv-venue__address,.iv-venue__note{color:var(--muted);font-size:14px}.iv-venue__links{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:14px;display:flex}.iv-pill{border:1px solid color-mix(in srgb, var(--gold) 55%, transparent);height:36px;color:var(--ink);transition:transform .2s var(--ease);border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.iv-pill:active{transform:scale(.95)}.iv-pill--solid{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.iv-pill--quiet{color:var(--muted);border-style:dashed;font-weight:500}.iv-notes{flex-direction:column;align-items:center;gap:30px;display:flex}.iv-note{flex-direction:column;align-items:center;gap:6px;max-width:26em;display:flex}.iv-note__icon{border:1px solid color-mix(in srgb, var(--gold) 55%, transparent);width:50px;height:50px;color:var(--accent);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}:root[data-mode=dark] .iv-note__icon{color:var(--gold-2)}.iv-note h3{font-family:var(--text);font-size:19px;font-weight:700}.iv-note p{color:var(--muted);font-size:15px}.reply{background:var(--paper);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 45%, transparent), inset 0 0 0 8px var(--paper), inset 0 0 0 9px color-mix(in srgb, var(--gold) 22%, transparent), var(--shadow);border-radius:6px;padding:38px clamp(18px,6vw,36px) 30px;position:relative}.reply__title{font-family:var(--display);font-weight:700;font-size:calc(clamp(32px, 8.5vw, 42px) * var(--display-scale));color:var(--accent);margin:-6px 0 22px;line-height:1.4}.rsvp{text-align:start;flex-direction:column;gap:16px;display:flex}.rsvp__choices{gap:8px;display:grid}.choice{border:1px solid var(--line);text-align:start;background:0 0;border-radius:14px;align-items:center;gap:12px;min-height:54px;padding:0 16px;font-size:16px;font-weight:600;transition:border-color .25s,background .25s;display:flex}.choice[aria-checked=true]{border-color:var(--gold);background:color-mix(in srgb, var(--gold-2) 14%, transparent)}.choice__mark{border:1.5px solid var(--muted);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid}.choice__mark:after{content:"";background:var(--gold);width:10px;height:10px;transition:transform .3s var(--ease);border-radius:50%;transform:scale(0)}.choice[aria-checked=true] .choice__mark{border-color:var(--gold)}.choice[aria-checked=true] .choice__mark:after{transform:scale(1)}.rsvp__counts{animation:fade-up .6s var(--ease) both;flex-direction:column;gap:8px;display:flex}.stepper{padding:8px 10px;background:color-mix(in srgb, var(--bg) 70%, var(--paper));border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding-inline-start:16px;display:flex}.stepper__label{font-size:15px;font-weight:500}.stepper__ctl{align-items:center;gap:4px;display:flex}.stepper__ctl button{border:1px solid var(--line);background:var(--paper);border-radius:50%;place-items:center;width:38px;height:38px;font-size:20px;line-height:1;display:grid}.stepper__ctl button:disabled{opacity:.35;cursor:not-allowed}.stepper__ctl output{text-align:center;min-width:32px;font-family:var(--text);font-size:22px;font-weight:700}.rsvp__seats{color:var(--muted);text-align:center;font-size:13px}.field{flex-direction:column;gap:6px;display:flex}.field span{font-size:14px;font-weight:600}.field input,.field textarea{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 60%, var(--paper));resize:vertical;border-radius:14px;outline:none;width:100%;padding:12px 14px;font-size:16px;transition:border-color .2s}.field input:focus,.field textarea:focus{border-color:var(--gold)}.rsvp__error{color:color-mix(in srgb, #c0392b 80%, var(--ink));background:#c0392b1f;border-radius:12px;padding:10px 14px;font-size:14px}.iv-btn{min-height:50px;transition:transform .2s var(--ease);border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:16px;font-weight:700;display:inline-flex}.iv-btn:active{transform:scale(.97)}.iv-btn--solid{background:var(--accent);color:var(--accent-ink)}.iv-btn--solid:disabled{opacity:.4;cursor:not-allowed}.iv-link{color:var(--gold);text-underline-offset:4px;background:0 0;border:0;padding:6px;font-weight:600;text-decoration:underline}.rsvp-done{animation:fade-up .8s var(--ease) both;flex-direction:column;align-items:center;gap:8px;display:flex}.rsvp-done__icon{width:56px;height:56px;color:var(--gold);border:1px solid color-mix(in srgb, var(--gold) 55%, transparent);border-radius:50%;place-items:center;font-size:26px;display:grid}.rsvp-done h3{font-family:var(--text);font-size:21px;font-weight:700}.rsvp-done p{color:var(--muted);max-width:26em}.iv-end{flex-direction:column;align-items:center;gap:12px;padding-top:10px;display:flex}.iv-end__closing{font-family:var(--text);max-width:20em;font-size:clamp(20px,5.4vw,24px)}.couple--end{font-size:calc(clamp(36px, 10vw, 48px) * var(--display-scale))}.iv-end__families{font-family:var(--text);color:var(--gold);font-size:18px}.iv-end__mono{width:110px;height:auto;margin-top:18px}.iv-end__site{color:var(--muted);letter-spacing:.08em;direction:ltr;margin-top:22px;font-size:12px}.confetti{pointer-events:none;z-index:70;width:100vw;height:100vh;position:fixed;inset:0}.iv-missing{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100dvh;padding:24px 16px;display:flex}.iv-missing .mono{width:120px;height:auto}.iv-missing h1{font-family:var(--display);color:var(--accent);font-size:32px}.iv-missing p{color:var(--muted)}@media (prefers-reduced-motion:reduce){@keyframes fade-up{0%{opacity:0}to{opacity:1}}[data-reveal]{transform:none}.env{animation:.9s .2s both fade-in}.env-hint{animation:1s 1s both fade-in}.iv[data-opened] .couple--hero>.heart{animation:.9s .95s forwards fade-in}.iv-cue:after,.count__value{animation:none}}.ended{text-align:center;max-width:760px;margin:0 auto;padding:0 16px 48px}.ended__intro{flex-direction:column;justify-content:center;align-items:center;gap:26px;min-height:100svh;padding:72px 0 32px;display:flex}.ended__cue{animation:1s 2.3s forwards fade-in}.ended .frame__kicker.ended__title{font-family:var(--display);font-size:calc(7.5cqi * var(--display-scale));word-spacing:normal;font-weight:700;line-height:1.4}.ended__text{font-family:var(--text);opacity:0;max-width:20em;animation:fade-up 1s var(--ease) forwards 1.7s;font-size:clamp(19px,5vw,23px);line-height:1.8}.ended__families{font-family:var(--text);color:var(--gold);opacity:0;animation:fade-up 1s var(--ease) forwards 1.95s;font-size:18px}.gallery{padding-top:40px}.gallery__grid{columns:2;column-gap:10px}@media (min-width:640px){.gallery__grid{columns:3;column-gap:14px}}.gallery__item{break-inside:avoid;background:color-mix(in srgb, var(--gold-2) 18%, var(--paper));width:100%;box-shadow:0 0 0 1px color-mix(in srgb, var(--gold) 40%, transparent), 0 12px 26px -18px #00000073;cursor:zoom-in;border:0;border-radius:4px;margin:0 0 10px;padding:0;display:block;overflow:hidden}@media (min-width:640px){.gallery__item{margin-bottom:14px}}.gallery__item img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease);display:block}.gallery__item:hover img{transform:scale(1.03)}.viewer{z-index:80;background:#080a10f0;justify-content:center;align-items:center;padding:64px 12px 84px;animation:.35s both fade-in;display:flex;position:fixed;inset:0}.viewer__figure{flex-direction:column;align-items:center;gap:12px;max-width:100%;max-height:100%;margin:0;animation:.45s both fade-in;display:flex}.viewer__frame{border-radius:4px;max-width:min(100%,1100px);height:calc(100svh - 190px);max-height:calc(100svh - 190px);display:block;position:relative;overflow:hidden}.viewer__frame img{object-fit:contain;border-radius:4px;width:100%;height:100%;position:absolute;inset:0}.viewer__thumb{filter:blur(6px)}.viewer figcaption{font-family:var(--text);color:#f2ede3;max-width:30em;font-size:17px}.viewer__bar,.viewer__top{color:#f2ede3;align-items:center;gap:14px;display:flex;position:absolute}.viewer__bar{bottom:max(18px, env(safe-area-inset-bottom));left:50%;transform:translate(-50%)}.viewer__top{top:max(14px, env(safe-area-inset-top));inset-inline-start:14px}.viewer button,.viewer a{width:44px;height:44px;color:inherit;background:#ffffff14;border:1px solid #ffffff38;border-radius:50%;place-items:center;font-size:22px;line-height:1;text-decoration:none;display:grid}.viewer__count{font-family:var(--text);min-width:4em;font-size:15px}.splash{z-index:55;text-align:center;cursor:pointer;background:radial-gradient(55% 40% at 50% 45%, color-mix(in srgb, var(--gold-2) 24%, transparent), transparent 75%), var(--bg);transition:opacity .65s ease, transform .65s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px 20px;display:flex;position:fixed;inset:0}.splash[data-leaving]{opacity:0;pointer-events:none;transform:scale(1.03)}.splash>*{opacity:0;animation:fade-up .9s var(--ease) forwards}.splash__mono{width:110px;height:auto;margin-bottom:10px;animation-delay:.1s}.splash__title{font-family:var(--text);color:var(--gold);font-size:clamp(20px,5.6vw,24px);animation-delay:.35s}.splash__name{font-family:var(--display);font-weight:700;font-size:calc(clamp(44px, 13vw, 68px) * var(--display-scale));color:var(--accent);line-height:1.35;animation-delay:.6s}.splash__rule{align-items:center;gap:10px;margin:4px 0;animation-delay:.9s;display:flex}.splash__rule>span{background:linear-gradient(90deg, transparent, var(--gold));width:56px;height:1px}.splash__rule>span:last-child{transform:scaleX(-1)}.splash__rule .heart{width:18px}.splash__text{font-family:var(--text);max-width:18em;font-size:clamp(19px,5.2vw,23px);line-height:1.8;animation-delay:1.1s}.splash__couple{flex-direction:column;align-items:center;margin-top:8px;animation-delay:1.35s;display:flex}.splash__couple>span{color:var(--muted);font-size:13.5px}.splash__couple .couple{font-size:calc(clamp(28px, 8vw, 38px) * var(--display-scale))}.splash__skip{bottom:max(26px, env(safe-area-inset-bottom));color:var(--muted);font-size:13px;animation:1s 1.9s forwards fade-in;position:absolute}.iv-tap{color:var(--muted);opacity:0;font-size:13px}.iv[data-opened] .iv-tap{animation:1s 1.9s forwards fade-in}.cal{background:var(--paper);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 45%, transparent), inset 0 0 0 5px var(--paper), inset 0 0 0 6px color-mix(in srgb, var(--gold) 22%, transparent), var(--shadow);border-radius:6px;flex-direction:column;align-items:center;gap:6px;padding:16px 22px 14px;display:inline-flex}.cal__month{font-family:var(--text);color:var(--gold);font-size:15px;font-weight:700}.cal__row{align-items:center;gap:clamp(10px,4vw,20px);display:flex}.cal__day{min-width:30px;height:56px;font-family:var(--text);color:color-mix(in srgb, var(--ink) 60%, transparent);place-items:center;font-size:19px;display:grid}.cal__day[data-far]{color:color-mix(in srgb, var(--ink) 32%, transparent);font-size:16px}.cal__day--wedding{z-index:1;min-width:64px;color:var(--accent-ink);font-size:28px;font-weight:700;position:relative}.cal__heart{z-index:-1;width:64px;fill:var(--accent);filter:drop-shadow(0 6px 10px color-mix(in srgb, var(--accent) 35%, transparent));position:absolute;top:50%;left:50%;translate:-50% -46%}.cal__day--wedding>span{translate:0 -.08em}.is-in .cal__heart{animation:3.2s ease-in-out 1s infinite beat}.cal__weekday{font-family:var(--text);color:var(--muted);font-size:14px}.iv-dayline{font-family:var(--text);margin-top:22px;font-size:19px;font-weight:700}.verse{flex-direction:column;align-items:center;width:100%;margin:0 0 18px;display:flex}.verse__frame{grid-template-columns:26px 1fr 26px;width:100%;display:grid}.verse__cap{width:100%;height:100%;display:block}.verse__cap--start{transform:scaleX(-1)}.verse__cap-fill{fill:color-mix(in srgb, var(--gold-2) 12%, var(--paper))}.verse__cap-line{fill:none;stroke:var(--gold);stroke-width:1.2px;vector-effect:non-scaling-stroke}.verse__cap-line--thin{stroke-width:.7px}.verse__text{background:color-mix(in srgb, var(--gold-2) 12%, var(--paper));border-block:1.2px solid var(--gold);font-family:var(--f-amiri), "Amiri", serif;color:var(--accent);margin:0;padding:18px 4px;font-size:clamp(18px,4.9vw,22px);line-height:2.1;position:relative}.verse__text:before{content:"";border-block:.7px solid var(--gold);pointer-events:none;position:absolute;inset:5.8% 0}.verse__text>span{color:var(--gold);margin-inline:.15em}.verse__cite{color:var(--muted);margin-top:8px;font-size:13px}.rosette{flex-direction:column;align-items:center;gap:14px;margin:0 0 30px;display:flex}.rosette__mark{width:min(56vw,210px);height:auto;overflow:visible}.rosette__star{fill:color-mix(in srgb, var(--gold-2) 12%, transparent);stroke:var(--gold);stroke-width:1.2px;stroke-linejoin:round}.rosette__star--inner{fill:none;stroke-width:.7px}.rosette__circle{fill:var(--paper);stroke:var(--gold);stroke-width:.8px}.rosette__circle--dots{fill:none;stroke-width:1.6px;stroke-dasharray:.1 5;stroke-linecap:round}.rosette__tip{fill:var(--gold)}.rosette__rings circle,.rosette__rings path{fill:none;stroke:var(--gold);stroke-width:3.4px}.rosette__rings .rosette__over-gap{stroke:var(--paper);stroke-width:7px}.rosette__gem{fill:var(--paper);stroke:var(--gold);stroke-width:1.1px}.rosette__text{font-family:var(--display);font-weight:700;font-size:calc(clamp(24px, 6.6vw, 30px) * var(--display-scale));color:var(--accent);max-width:15em;line-height:1.6}.splash__line{font-family:var(--text);color:var(--muted);font-size:clamp(18px,5vw,22px);animation-delay:.5s}.splash__name--couple{font-size:calc(clamp(40px, 12vw, 60px) * var(--display-scale))}.contract{flex-direction:column;align-items:center;gap:6px;margin:10px 0 0;display:flex}.contract__mark{width:min(46vw,170px);height:auto;overflow:visible}.contract__sheet{fill:color-mix(in srgb, var(--gold-2) 10%, var(--paper));stroke:var(--gold);stroke-width:1px}.contract__title{stroke:var(--accent);stroke-width:3px;stroke-linecap:round}.contract__lines{stroke:color-mix(in srgb, var(--ink) 35%, transparent);stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:12 4 20 4}.contract__roll{fill:color-mix(in srgb, var(--gold-2) 45%, var(--paper));stroke:var(--gold);stroke-width:1px}.contract__knob{fill:var(--gold)}.contract__ribbon{fill:var(--seal-2)}.contract__seal{fill:var(--seal);stroke:color-mix(in srgb, var(--seal) 70%, black);stroke-width:1px}.contract__seal-ring{fill:none;stroke:var(--seal-ink);stroke-width:.7px;opacity:.7}.contract__seal-heart{fill:var(--seal-ink)}.contract__quill{fill:color-mix(in srgb, var(--gold-2) 55%, var(--paper));stroke:var(--gold);stroke-width:.9px}.contract__quill-spine{fill:none;stroke:var(--gold);stroke-width:.8px}.contract__nib{fill:var(--ink)}.contract__caption{font-family:var(--display);font-weight:700;font-size:calc(clamp(22px, 6vw, 28px) * var(--display-scale));color:var(--accent);line-height:1.5}.pair{--silhouette:#17171b;justify-content:center;margin:0 0 26px;display:flex}:root[data-mode=dark] .pair{--silhouette:var(--ink)}.pair__mark{width:min(52vw,200px);height:auto}.pair__ink{fill:var(--silhouette)}.pair__ground{fill:color-mix(in srgb, var(--gold) 22%, transparent)}.pair__shirt{fill:var(--paper)}.pair__tie{fill:var(--silhouette)}.pair__heart{fill:var(--accent)}:root[data-mode=dark] .pair__shirt{fill:var(--bg)}.iv-contact__text{font-family:var(--text);color:var(--muted);max-width:22em;margin:-4px auto 20px;font-size:17px}.iv-contact__list{flex-wrap:wrap;justify-content:center;gap:14px 28px;display:flex}.iv-contact__person{flex-direction:column;align-items:center;gap:8px;display:flex}.iv-contact__name{font-family:var(--display);font-weight:700;font-size:calc(26px * var(--display-scale));color:var(--accent);line-height:1.4}.iv-contact__wa{height:42px;padding:0 20px;font-size:15px}.iv-contact__phone{color:var(--muted);unicode-bidi:isolate;font-size:14px;text-decoration:none}
