:root{--ivory:#fffaf6;--paper:#120c18;--blush:#f6e2dc;--navy:#10142a;--maroon:#6b2230;--rose:#ecc98e;--rose-deep:#f3dfb0;--ink:#f7eedf;--ink-soft:#dccdb8;--gold:#d4ae5e;--gold-deep:#dcb766;--gold-soft:#ead4a6;--serif:var(--font-serif), "Cormorant Garamond", Georgia, serif;--script:var(--font-script), "Great Vibes", cursive;--sans:var(--font-caps), "Cinzel", Georgia, serif;--tapfont:var(--font-script), cursive;--foil:linear-gradient(100deg, #b8892f 0%, #f6e3a1 18%, #d4a845 36%, #fff2c4 50%, #c0902f 66%, #f1d488 84%, #a87a28 100%);--foil-deep:linear-gradient(100deg, #8a6420 0%, #c99a3c 25%, #a07a36 45%, #d8b056 60%, #8a6420 80%, #b8892f 100%);--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-pen:cubic-bezier(.62, .04, .32, 1)}html,body{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;background:#0c0a14}.stage{background:radial-gradient(at 50% 28%,#4a3530 0%,#2a1c19 60%,#1c1210 100%);place-items:center;display:grid;position:fixed;inset:0}.frame{background:var(--paper);width:100%;height:100%;position:relative;overflow:hidden;transform:translateZ(0);container-type:inline-size}@media (min-width:700px) and (min-height:600px){.frame{border-radius:46px;width:min(410px,46.21svh - 25.8776px);height:min(888px,100svh - 56px);box-shadow:0 0 0 10px #161010,0 0 0 11px #3b2d29,0 40px 90px -20px #000000bf}}.scroller{z-index:2;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;position:absolute;inset:0;overflow:hidden auto}.scroller::-webkit-scrollbar{display:none}.scroller.is-locked{overflow:hidden}.page{box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;text-align:center;justify-content:center;align-items:center;height:100%;padding:26px 18px 96px;display:flex;position:relative}.page-event{align-items:flex-start;padding-top:max(28px,7%)}.page p{text-wrap:pretty}.center,.stack{flex-direction:column;align-items:center;width:100%;max-width:360px;display:flex}.rise{opacity:0;transition:opacity .95s var(--ease-out), transform .95s var(--ease-out);transition-delay:calc(var(--i,0) * 95ms);transform:translateY(22px)}.page.is-in .rise{opacity:1;transform:none}.page:not(.is-in) .rise{transition-duration:.35s;transition-delay:0s}.write{clip-path:inset(-45% 100% -45% -12%);display:inline-block}.page.is-in .write{animation:write 1.45s var(--ease-pen) forwards;animation-delay:calc(.15s + var(--i,0) * 95ms)}@keyframes write{to{clip-path:inset(-45% -12%)}}.script{font-family:var(--script);margin:0;font-weight:400;line-height:1.1}.grad{background:var(--foil);color:#0000;-webkit-background-clip:text;background-clip:text;padding:.04em .22em .08em}.lead-italic{color:var(--ink);margin:0;font-size:clamp(17px,5cqw,21px);font-style:italic;line-height:1.45}.line{display:block}.serif-lg{color:var(--ink);margin:0;font-size:clamp(19px,5.6cqw,24px);line-height:1.35}.eyebrow{font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);margin:18px 0 2px;font-size:10.5px;font-weight:600}.eyebrow-top{align-items:center;gap:8px;margin-top:0;display:inline-flex}.heart{width:12px;height:12px;color:var(--rose)}.names{flex-direction:column;align-items:center;margin:0;font-weight:400;display:flex}.names .script{font-size:clamp(52px,17cqw,76px)}.amp{font-family:var(--script);color:var(--gold-deep);font-size:clamp(38px,12cqw,50px);line-height:.8}.title{font-size:clamp(26px,8cqw,34px)}.title-lg{font-size:clamp(34px,10.4cqw,46px)}.display{font-size:clamp(48px,15cqw,64px)}.card{box-sizing:border-box;text-align:center;border-radius:24px;width:100%;max-width:350px;padding:24px 20px 22px;position:relative}.glass{-webkit-backdrop-filter:blur(12px)saturate(1.1);backdrop-filter:blur(12px)saturate(1.1);background:#fffaf6a8;border:1px solid #ffffffc7;box-shadow:0 24px 50px -28px #5f2b3673,inset 0 1px #fffc}.host{color:var(--rose-deep);margin:0 0 4px;font-size:clamp(19px,5.4cqw,22px);font-weight:600}.small{max-width:280px;color:var(--ink-soft);margin:0 auto 4px;font-size:clamp(15px,4.2cqw,17px);font-style:italic;line-height:1.35}.name-script{font-size:clamp(28px,8.8cqw,36px)}.with{color:var(--ink-soft);margin:-4px 0;font-size:15px;font-style:italic}.pills{gap:9px;margin:4px 0 0;padding:0;list-style:none;display:grid}.pills li{color:#fff4ef;background:linear-gradient(#9c4a5c,#6e2638);border:1px solid #ead4a6bf;border-radius:999px;padding:10px 12px;font-size:clamp(15px,4.3cqw,17px);box-shadow:0 8px 16px -12px #5f2b36cc,inset 0 1px #ffffff2e}.letter{color:var(--ink);margin:0;font-size:clamp(16.5px,4.7cqw,19px);line-height:1.55}.chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;display:flex}.chip{min-height:38px;color:var(--rose-deep);font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:#ffffff0f;border:1px solid #d4ae5eb3;border-radius:999px;padding:9px 16px;font-size:11px;transition:background .3s,transform .2s}.chip:hover{background:#ffffff24}.chip:active{transform:scale(.96)}.arches{filter:drop-shadow(0 10px 12px #0006);grid-template-columns:repeat(4,1fr);gap:10px;width:100%;max-width:340px;margin-top:8px;display:grid}.arch{aspect-ratio:3/4.4;-webkit-mask:var(--ogee-tile) center / 100% 100% no-repeat;-webkit-mask:var(--ogee-tile) center / 100% 100% no-repeat;mask:var(--ogee-tile) center / 100% 100% no-repeat;background:linear-gradient(#141832f5,#4a1624f5);position:relative}.arch-line{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.arch-under{flex-direction:column;justify-content:center;align-items:center;gap:6px;padding-top:24%;display:flex;position:absolute;inset:0}.count-num{height:1.05em;color:var(--rose-deep);font-size:clamp(26px,8cqw,34px);font-weight:600;line-height:1.05;display:block;overflow:hidden}.tick{animation:tick .55s var(--ease-out);display:inline-block}@keyframes tick{0%{opacity:0;transform:translateY(-32%)}to{opacity:1;transform:none}}.count-label{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);font-size:clamp(8px,2.3cqw,9.5px)}.arch-gold{touch-action:none;cursor:grab;width:100%;height:100%;transition:opacity .7s;position:absolute;inset:0}.arch.is-done .arch-gold{opacity:0;pointer-events:none}.count-foot{margin-top:16px;display:grid}.count-foot>*{grid-area:1/1;margin:0}.hint{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);justify-content:center;align-items:center;gap:7px;font-size:clamp(9px,2.6cqw,11px);transition:opacity .5s;display:inline-flex}.hint svg{width:13px;height:13px}.hint.is-gone{opacity:0}.count-date{color:var(--rose-deep);opacity:0;font-size:clamp(17px,5cqw,20px);font-style:italic;transition:opacity .8s .3s,transform .8s .3s;transform:translateY(8px)}.count-date.is-shown{opacity:1;transform:none}.event-arch .arch-glass{background:linear-gradient(#10142ad1 0%,#261022cc 55%,#421220d1 100%)}.page-event{padding-top:max(34px,6%)}.ev-title{font-size:clamp(50px,15cqw,64px);line-height:1}.calli-insha-light{margin-top:-2px}.date-block{flex-direction:column;align-items:center;gap:2px;margin:2px 0 12px;display:flex}.date-month{font-family:var(--sans);letter-spacing:.32em;color:var(--gold-deep);text-transform:uppercase;font-size:12px;font-weight:600}.date-row{grid-template-columns:1fr auto 1fr;align-items:center;width:100%;max-width:270px;display:grid}.date-side{font-family:var(--sans);letter-spacing:.2em;color:var(--rose-deep);text-transform:uppercase;border-top:1px solid #c9a45c99;border-bottom:1px solid #c9a45c99;padding:7px 0;font-size:11px;font-weight:600}.date-day{color:var(--rose-deep);padding:0 14px;font-size:50px;font-weight:600;line-height:1}.ev-times{grid-template-columns:1fr 1fr;margin:0 0 12px;display:grid}.ev-time{flex-direction:column;align-items:center;gap:1px;display:flex}.ev-time+.ev-time{border-left:1px solid #c9a45c80}.ev-time svg{width:20px;height:20px;color:var(--rose);stroke-width:1.6px;margin-bottom:3px}.ev-time-label{font-family:var(--sans);letter-spacing:.22em;color:var(--gold-deep);text-transform:uppercase;font-size:9.5px;font-weight:600}.ev-time-value{color:var(--ink);font-size:21px;font-weight:600}.ev-venue{border-top:1px dashed #ead4a666;flex-direction:column;align-items:center;padding-top:12px;display:flex}.ev-venue svg{width:18px;height:18px;color:var(--rose);margin-bottom:2px}.ev-venue strong{color:var(--rose-deep);font-size:22px;font-weight:600;line-height:1.15}.ev-venue span{color:var(--ink-soft);font-size:16px;font-style:italic}.ev-guests{font-family:var(--sans);letter-spacing:.2em;color:var(--gold-deep);text-transform:uppercase;align-items:center;gap:7px;margin:14px 0 0;font-size:10px;font-weight:600;display:inline-flex}.ev-guests svg{width:14px;height:14px}.ev-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid;position:relative}.btn{min-height:44px;font-family:var(--sans);letter-spacing:.1em;white-space:nowrap;text-transform:uppercase;text-align:center;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:10px;font-size:10.5px;font-weight:600;line-height:1.2;text-decoration:none;transition:transform .2s,background .3s;display:inline-flex}.btn:active{transform:scale(.97)}.btn svg{flex:none;width:15px;height:15px}.btn-solid{color:#3a1a22;background:linear-gradient(135deg,#f1dfb6 0%,#d4b06a 55%,#c29a50 100%);box-shadow:0 10px 18px -12px #5f2b36b3}.btn-outline{color:#fff4ef;background:linear-gradient(#9c4a5c,#6e2638);border:1px solid #ead4a6bf;box-shadow:0 10px 18px -12px #5f2b36b3}.cal-menu{z-index:3;background:var(--ivory);border-radius:14px;min-width:200px;padding:6px;animation:.25s pop;display:grid;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 18px 40px -16px #0009}.cal-menu a{font-family:var(--sans);color:var(--rose-deep);border-radius:10px;padding:11px 12px;font-size:13px;text-decoration:none}.cal-menu a:hover{background:var(--blush)}@keyframes pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tapnote{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fbefe6;background:#3a161f9e;border:1px solid #ead4a680;border-radius:999px;align-items:center;gap:8px;max-width:calc(100% - 8px);margin:14px 0 0;padding:8px 16px 8px 11px;font-size:15px;font-style:italic;display:inline-flex}.page.is-in .tapnote{animation:3.2s ease-in-out 1.2s infinite note}.tapnote svg{width:16px;height:16px;color:var(--gold-soft);flex:none;animation:9s linear infinite spin}@keyframes note{0%,to{box-shadow:0 0 #ead4a600}50%{box-shadow:0 0 22px -4px #ead4a699}}@keyframes spin{to{transform:rotate(360deg)}}.couple-names{margin-top:14px;font-size:clamp(32px,10cqw,44px)}.couple-line{color:var(--ink-soft);margin:4px 0 0;font-size:clamp(17px,5cqw,20px);font-style:italic}.heading-caps{letter-spacing:.24em;color:var(--rose-deep);margin:0;font-size:clamp(26px,8cqw,32px);font-weight:500}.dash{border-top:1px dashed #a07a368c;width:100%;max-width:280px;margin:14px auto}.contact-intro{color:var(--ink-soft);margin:0 0 8px;font-size:clamp(16px,4.6cqw,18px);font-style:italic}.rows{width:100%;max-width:330px}.row{text-align:left;border-bottom:1px solid #ead4a638;justify-content:space-between;align-items:center;gap:12px;padding:15px 4px;display:flex}.row-name{color:var(--ink);font-size:20px;font-weight:600;display:block}.row-phone{color:var(--ink-soft);font-size:16px;display:block}.row-call{color:#fff4ef;font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(#8a4a55f2,#5f2b36f2);border-radius:999px;flex:none;align-items:center;gap:7px;padding:9px 14px;font-size:12px;text-decoration:none;display:inline-flex}.row-call svg{width:15px;height:15px}.closing{padding-top:26px}.closing-heart{width:24px;height:24px;color:var(--rose);display:inline-grid}.closing-heart svg{width:100%;height:100%}.closing-line{text-wrap:balance;color:var(--ink);margin:10px 0 0;font-size:clamp(19px,5.6cqw,23px)}.closing-names{white-space:nowrap;margin-top:4px;font-size:clamp(30px,9.4cqw,42px)}.cue{left:50%;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:45;cursor:pointer;opacity:0;pointer-events:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;padding:0;transition:opacity .6s;display:flex;position:absolute;transform:translate(-50%)}.cue.is-on{opacity:1;pointer-events:auto}.cue-core{background:radial-gradient(circle at 35% 30%,#b3566a,#7a2c3d 60%,#5f2232);border-radius:50%;place-items:center;width:50px;height:50px;display:grid;position:relative;box-shadow:0 10px 22px -10px #3c0f19cc}.cue-core:before{content:"";-webkit-mask-composite:xor;background:conic-gradient(#fbe3d6,#c9a45c,#fff4ec,#d99aa4,#fbe3d6);border-radius:50%;padding:1.6px;animation:6s linear infinite spin;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.cue-ring{pointer-events:none;border:1px solid #f0d6a0d9;border-radius:50%;width:50px;height:50px;margin-left:-25px;animation:2.4s ease-out infinite halo;position:absolute;top:0;left:50%}@keyframes halo{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}.cue-chev{fill:none;stroke:#fff1ea;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;opacity:0;width:22px;height:22px;animation:1.8s ease-in-out infinite cue-fall;position:absolute}.cue-chev.c2{animation-delay:.9s}@keyframes cue-fall{0%{opacity:0;transform:translateY(-10px)}35%,65%{opacity:1}to{opacity:0;transform:translateY(10px)}}.cue-label{color:#fbe9e2;font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;background:#5f2b36d9;border-radius:999px;padding:4px 12px;font-size:9.5px}.music{left:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:45;color:#fbefe6;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#3a161f8c;border:1px solid #ead4a680;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute}.music:not(.is-on){opacity:0;pointer-events:none}.music{transition:opacity .8s 1.5s}.music svg{width:18px;height:18px}.music.is-playing{animation:2.6s ease-in-out infinite note}.fx{z-index:30;pointer-events:none;position:absolute;inset:0;overflow:hidden}.fx-petal,.fx-bloom,.fx-glint{pointer-events:none;animation:petal var(--t,2.6s) cubic-bezier(.25, .6, .4, 1) forwards;position:absolute}.fx-petal{background:linear-gradient(135deg,#fffdf6,#f3e4cc 60%,#dcc19a);border-radius:80% 0;width:12px;height:16px;margin:-8px 0 0 -6px;box-shadow:inset 0 0 3px #fffc}.fx-bloom{filter:drop-shadow(0 1px 2px #78283759);background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><g fill='%23fff3f0'><ellipse cx='12' cy='6.2' rx='3.4' ry='5.2'/><ellipse cx='12' cy='6.2' rx='3.4' ry='5.2' transform='rotate(72 12 12)'/><ellipse cx='12' cy='6.2' rx='3.4' ry='5.2' transform='rotate(144 12 12)'/><ellipse cx='12' cy='6.2' rx='3.4' ry='5.2' transform='rotate(216 12 12)'/><ellipse cx='12' cy='6.2' rx='3.4' ry='5.2' transform='rotate(288 12 12)'/></g><circle cx='12' cy='12' r='2.6' fill='%23e3b04b'/></svg>") 50%/contain no-repeat;width:16px;height:16px;margin:-8px 0 0 -8px}.fx-glint{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);filter:drop-shadow(0 0 4px #ffdc8cf2);background:#f3d98f;width:10px;height:10px;margin:-5px 0 0 -5px}@keyframes petal{0%{opacity:0;transform:translate(0)scale(.3)rotate(0)}10%{opacity:1}30%{transform:translate(var(--ux), var(--uy)) scale(var(--s)) rotate(calc(var(--r) * .3))}65%{opacity:1}to{transform:translate(var(--dx), calc(var(--uy) + var(--dy))) scale(var(--s)) rotate(var(--r));opacity:0}}.fx-word{white-space:nowrap;font-family:var(--script);color:#fff1c9;text-shadow:0 0 14px #e6b450f2,0 0 2px #3c1e0ab3;pointer-events:none;font-size:32px;animation:1.7s ease-out forwards wah;position:absolute}@keyframes wah{0%{opacity:0;transform:translate(-50%)scale(.6)}20%{opacity:1;transform:translate(-50%,-14px)scale(1.08)}to{opacity:0;transform:translate(-50%,-96px)}}.gate{z-index:60;cursor:pointer;-webkit-tap-highlight-color:transparent;background-color:#0000;outline:none;transition:opacity 1.1s 2.3s;position:absolute;inset:0;overflow:hidden}.gate.is-opening{opacity:0;pointer-events:none}.gate-sheer,.gate-panel,.gate-valance,.gate-bow,.gate-copy,.gate-svg{position:absolute;inset:0}.gate-svg{width:100%;height:100%;display:block}.gate-sheer{background:radial-gradient(70% 40% at 50% 14%,#ffd69638,#ffd69600 70%),repeating-linear-gradient(90deg,#46101e9e 0 13px,#78243480 13px 21px,#280812ad 21px 33px,#601c2a8c 33px 40px),linear-gradient(#1e081066 0%,#1e0810b3 100%);transition:opacity 1.3s .5s}.gate-sheer:after{content:"";background:linear-gradient(#14060c00,#14060cd9);height:12%;position:absolute;bottom:0;left:0;right:0}.gate.is-opening .gate-sheer{opacity:0}.gate-panel{will-change:transform;transition:transform 2.4s cubic-bezier(.65,0,.25,1) .45s}.gate-left{transform-origin:0}.gate-right{transform-origin:100%}.gate.is-opening .gate-left{transform:translate(-8%)scaleX(.14)}.gate.is-opening .gate-right{transform:translate(8%)scaleX(.14)}.gate-valance{transition:transform 1.9s cubic-bezier(.6,0,.3,1) .9s}.gate.is-opening .gate-valance{transform:translateY(-30%)}.gate-bow{transform-origin:50% 47.6%;transition:opacity .6s,transform .7s}.gate.is-opening .gate-bow{opacity:0;transform:scale(.6)}.gate-copy{pointer-events:none;transition:opacity .55s}.gate.is-opening .gate-copy{opacity:0}.gate-name,.gate-amp{width:max-content;font-family:var(--script);background:var(--foil);color:#0000;filter:drop-shadow(0 2px 8px #14040ad9);clip-path:inset(-45% 100% -45% -12%);animation:write 1.45s var(--ease-pen) forwards;animation-delay:calc(.35s + var(--w,0) * .55s);-webkit-background-clip:text;background-clip:text;margin:0 auto;padding:0 .2em;line-height:1.1;position:absolute;left:0;right:0}.gate-name{font-size:min(14cqw,62px)}.gate-name.n1{top:15%}.gate-name.n2{top:27%}.gate-tap{text-align:center;font-family:var(--tapfont);color:#f6dfa6;text-shadow:0 0 14px #14040ae6,0 0 3px #14040ae6;opacity:0;font-size:min(8cqw,34px);animation:.9s 2.1s forwards fade-in,3s ease-in-out 3s infinite breathe;position:absolute;top:65.5%;left:0;right:0}@keyframes fade-in{to{opacity:1}}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.78;transform:scale(1.045)}}@media (prefers-reduced-motion:reduce){.rise,.page:not(.is-in) .rise{transition:opacity .4s;transform:none}.write,.page.is-in .write,.gate-name,.gate-amp{clip-path:none;animation:none}.gate-tap{opacity:1;animation:none}.frame.is-open .scene.is-on .scene-art,.cue-ring,.cue-core:before,.page.is-in .tapnote,.tapnote svg,.music.is-playing svg{animation:none}.cue-chev{opacity:1;animation:none}.cue-chev.c2{display:none}.gate-panel,.gate-valance{transition-duration:.01ms}}:root{--ogee-tile:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 44' preserveAspectRatio='none'><path d='M0,44 V16 C0,9 8,7.5 12,4.5 C13.5,3.4 14.5,1.8 15,0 C15.5,1.8 16.5,3.4 18,4.5 C22,7.5 30,9 30,16 V44 Z'/></svg>");--ogee-crown:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 34' preserveAspectRatio='none'><path d='M0,34 V20 C0,9 28,9 42,4 C46,2.5 48.5,1.2 50,0 C51.5,1.2 54,2.5 58,4 C72,9 100,9 100,20 V34 Z'/></svg>")}@keyframes foil{0%{background-position:0 0}to{background-position:220% 0}}.arch-card{--cw:min(340px, calc(100cqw - 40px));--crown:calc(var(--cw) * .34);box-sizing:border-box;width:var(--cw);padding:calc(var(--crown) * .66) 22px 24px;text-align:center;position:relative}.arch-shadow{filter:blur(20px);background:#00000080;border-radius:50% 50% 26px 26px/16% 16% 26px 26px;position:absolute;inset:8% 5% -3%}.arch-glass{-webkit-backdrop-filter:blur(14px)saturate(1.15);backdrop-filter:blur(14px)saturate(1.15);-webkit-mask:var(--ogee-crown) top / 100% var(--crown) no-repeat, linear-gradient(#000 0 0) bottom / 100% calc(100% - var(--crown) + 1px) no-repeat;-webkit-mask:var(--ogee-crown) top / 100% var(--crown) no-repeat, linear-gradient(#000 0 0) bottom / 100% calc(100% - var(--crown) + 1px) no-repeat;mask:var(--ogee-crown) top / 100% var(--crown) no-repeat, linear-gradient(#000 0 0) bottom / 100% calc(100% - var(--crown) + 1px) no-repeat;background:linear-gradient(#12162ebd 0%,#281226b8 55%,#461422bd 100%);border-radius:0 0 24px 24px;position:absolute;inset:0}.arch-crown{width:100%;height:var(--crown);pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.arch-body-line{left:-.8px;right:-.8px;top:calc(var(--crown) - 1px);pointer-events:none;border:1.6px solid #d1a649;border-top:0;border-radius:0 0 24px 24px;position:absolute;bottom:0}.arch-body-line:after{content:"";border:.8px solid #d8b56acc;border-top:0;border-radius:0 0 18px 18px;position:absolute;inset:0 1.8% 6px}.arch-content{position:relative}.breaker{aspect-ratio:600/52.5;background:var(--foil);background-size:220% 100%;width:min(230px,72%);margin:12px auto;animation:7s linear infinite foil;display:block;-webkit-mask:url(/art/breaker.svg) 50%/contain no-repeat;mask:url(/art/breaker.svg) 50%/contain no-repeat}.breaker.is-light{background:linear-gradient(100deg,#e2c27c 0%,#fff3cf 25%,#d9b45a 50%,#fff3cf 75%,#e2c27c 100%) 0 0/220% 100%;width:190px;margin:8px 0 14px}.calli{aspect-ratio:600/225;-webkit-mask:var(--src) center / contain no-repeat;-webkit-mask:var(--src) center / contain no-repeat;mask:var(--src) center / contain no-repeat;display:block}.calli-bismillah{background:var(--foil);filter:drop-shadow(0 2px 10px #00000080);background-size:220% 100%;width:min(270px,78%);margin-bottom:6px;animation:9s linear infinite foil}.calli-insha{background:var(--foil);background-size:220% 100%;width:118px;margin-top:-6px;animation:8s linear infinite foil}.calli-insha-light{width:116px;margin:0 auto}.foil{background:var(--foil);color:#0000;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;padding:.04em .22em .1em 0}.page.is-in .write.foil{animation:write 1.45s var(--ease-pen) calc(.15s + var(--i,0) * 95ms) forwards, foil 8s linear infinite}.paisley-rule{width:180px;height:29px;color:var(--gold);margin:10px auto 12px;display:block}.ambient{z-index:1;pointer-events:none;opacity:0;transition:opacity 2s 1s;position:absolute;inset:0;overflow:hidden}.frame.is-open .ambient{opacity:1}.amb{width:16px;height:100%;animation:amb-fall var(--t) linear var(--d) infinite;position:absolute;top:-14%}.amb i{animation:amb-sway calc(var(--t) / 3) ease-in-out var(--d) infinite alternate;display:block;position:absolute;top:0;left:0}.amb-glitter i{width:calc(6px * var(--s));height:calc(6px * var(--s));background:radial-gradient(circle,#fff8d8 0,#e9c56c 45%,#e9c56c00 72%);border-radius:50%}.amb-petal i{width:calc(11px * var(--s));height:calc(14px * var(--s));opacity:.8;background:linear-gradient(135deg,#fffdf6,#f1e2c8 60%,#d8bd93);border-radius:80% 0}.frame:not(.is-open) .amb,.frame:not(.is-open) .amb i{animation-play-state:paused}@keyframes amb-fall{0%{transform:translate(0,0)}to{transform:translateY(120%)}}@keyframes amb-sway{0%{transform:translateX(calc(var(--sway) * -1)) rotate(-25deg)}to{transform:translateX(var(--sway)) rotate(30deg)}}.gate-sparks{pointer-events:none;transition:opacity .5s;position:absolute;inset:0}.gate.is-opening .gate-sparks{opacity:0}.gate-sparks i{clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);opacity:0;background:radial-gradient(circle,#fffbe8 0,#f3d27e 32%,#f3d27e00 66%);width:14px;height:14px;margin:-7px;animation:2.8s ease-in-out infinite spark;position:absolute}@keyframes spark{0%,to{opacity:0}50%{opacity:1}}.gate-crest{opacity:0;filter:drop-shadow(0 6px 12px #0000008c);width:29%;animation:1s 2.5s forwards fade-in;position:absolute;top:73.5%;left:50%;overflow:visible;transform:translate(-50%)}.crest-mono{font-family:var(--script);fill:#ecd08e;font-size:30px}.crest-date{font-family:var(--sans);letter-spacing:.14em;fill:#e6cf9c;font-size:6.4px;font-weight:600}@media (max-height:720px){.page{padding-top:18px;padding-bottom:84px}.arch-card{--cw:min(318px, calc(100cqw - 40px));padding-bottom:18px}.letter{font-size:16px;line-height:1.45}.calli-bismillah{width:min(230px,70%)}.breaker{margin:8px auto}}@media (prefers-reduced-motion:reduce){.ambient,.gate-sparks{display:none}.bulb,.diya-flame,.diya-glow,.breaker,.calli,.page.is-in .write.foil{animation:none}}.event-arch{padding-left:18px;padding-right:18px;padding-top:calc(var(--crown) * .58);padding-bottom:18px}.event-arch .eyebrow-top{font-size:9.5px}.event-arch .ev-title{font-size:clamp(44px,13cqw,58px)}.event-arch .calli-insha-light{width:100px}.event-arch .breaker{margin:6px auto 8px}.event-arch .date-block{margin-bottom:10px}.event-arch .date-day{font-size:44px}.event-arch .ev-times{margin-bottom:10px}.event-arch .ev-time svg{width:18px;height:18px;margin-bottom:1px}.event-arch .ev-venue{padding-top:9px}.event-arch .ev-venue strong{font-size:20px}.event-arch .ev-venue span{font-size:15px}.event-arch .ev-actions{gap:8px;margin-top:12px}.event-arch .btn{letter-spacing:.06em;gap:6px;min-height:42px;padding:10px 6px;font-size:9.5px}.event-arch .btn svg{width:14px;height:14px}.event-arch .ev-guests{margin-top:10px}.page-event .tapnote{margin-top:10px;padding:6px 14px 6px 10px;font-size:14px}.page-event{padding-bottom:88px}.amp,.gate-amp{font-family:var(--serif);font-style:italic;font-weight:500}.amp{margin:-4px 0 -2px;font-size:clamp(30px,9cqw,40px);line-height:1}.gate-amp{font-size:min(9cqw,40px);top:23%}.page-couple{align-items:flex-start;padding-top:max(64px,14%)}.page-couple .title-lg{filter:drop-shadow(0 2px 10px #00000073);font-size:clamp(40px,12cqw,52px)}.page-couple .couple-names{filter:drop-shadow(0 2px 10px #00000080);margin-top:2px;font-size:clamp(36px,11cqw,48px)}.eyebrow-light{color:var(--gold-soft);text-shadow:0 1px 8px #0009;margin-top:0}.couple-line-light{color:#fff4eceb;text-shadow:0 1px 10px #000000b3}.backdrop,.bg-layer,.bg-drift{position:absolute;inset:0}.backdrop{z-index:0;background:#0c0a14;overflow:hidden}.bg-layer{opacity:0;transition:opacity 1.4s}.bg-layer.is-on{opacity:1}.bg-img{object-fit:cover;will-change:transform;transition:transform 1.9s cubic-bezier(.45,0,.2,1),transform-origin 1.9s cubic-bezier(.45,0,.2,1),object-position 1.9s cubic-bezier(.45,0,.2,1)}.frame.is-open .bg-layer.is-on .bg-drift{animation:32s ease-in-out infinite alternate drift}@keyframes drift{0%{transform:scale(1)}to{transform:scale(1.05)}}.photo-veil{background:radial-gradient(120% 75% at 50% 45%,#08081400 40%,#08081480 100%),linear-gradient(#0a0a1880 0%,#0a0a1838 40%,#0a0a1847 70%,#0a0a188c 100%);transition:opacity 1.6s;position:absolute;inset:0}.photo-veil.is-soft{opacity:.55}.photo-veil:after{content:"";opacity:0;background:linear-gradient(#0a0a1800 38%,#0a0a188c 60%,#0a0a1899 84%,#0a0a1859 100%);transition:opacity 1.6s;position:absolute;inset:0}.photo-veil.is-deep:after{opacity:1}.amb-star{clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);opacity:0;background:radial-gradient(circle,#fffbea 0,#f6dc96 34%,#f6dc9600 68%);width:12px;height:12px;margin:-6px;animation:3.4s ease-in-out infinite spark;position:absolute}.frame:not(.is-open) .amb-star{animation-play-state:paused}.page>.center>p,.page>.center>h1,.page>.center>h2{text-shadow:0 1px 12px #0009}.page>.center .names .script,.page>.center .grad{filter:drop-shadow(0 2px 10px #0000008c)}.lead-italic,.serif-lg,.letter,.small,.with,.closing-line,.contact-intro,.couple-line,.row-phone,.ev-venue span{font-weight:500}.arch-mehndi{width:44px;height:44px;color:var(--gold);opacity:.45;pointer-events:none;position:absolute;bottom:9px}.arch-mehndi svg{width:100%;height:100%;display:block}.arch-mehndi-l{left:9px;transform:scaleY(-1)}.arch-mehndi-r{right:9px;transform:scale(-1)}.count-arch .display{font-size:clamp(42px,13cqw,56px)}.count-arch .arches{gap:8px;margin-top:4px}.count-arch .count-num{font-size:clamp(22px,6.6cqw,30px)}.count-arch .count-foot{margin-top:12px}.contact-arch .heading-caps{font-size:clamp(22px,7cqw,28px)}.contact-arch .row{padding:12px 2px}.contact-arch .row:last-child{border-bottom:0}.contact-arch .row-name{font-size:19px}.contact-arch .row-phone{font-size:15px}@media (prefers-reduced-motion:reduce){.bg-img{transition:opacity .4s}.frame.is-open .bg-layer.is-on .bg-drift,.amb-star{animation:none}}.gate-for{left:8%;right:8%;bottom:calc(2.6% + env(safe-area-inset-bottom,0px));font-family:var(--serif);text-align:center;color:#fbefd8;text-shadow:0 1px 10px #14040af2;opacity:0;flex-direction:column;align-items:center;font-size:min(5.2cqw,22px);font-style:italic;font-weight:500;line-height:1.2;animation:1s 2.8s forwards fade-in;display:flex;position:absolute}.gate-for small{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep);font-size:.48em;font-style:normal;font-weight:600}.notfound{text-align:center;color:var(--ink);background:radial-gradient(at 50% 30%,#26305c 0%,#141936 45%,#0c0a14 80%);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex;position:fixed;inset:0}.notfound-title{background:var(--foil);color:#0000;-webkit-background-clip:text;background-clip:text;padding:0 .2em .1em;font-size:clamp(36px,9vw,54px)}.notfound-text{max-width:340px;color:var(--ink-soft);margin:0 0 14px;font-size:19px}.notfound-btn{padding:12px 22px}
