@font-face{font-family:Fraunces;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/fraunces-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/fraunces-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Mulish;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/mulish-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Mulish;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/mulish-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Noto Serif Gurmukhi";font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/noto-serif-gurmukhi-gurmukhi.woff2) format("woff2");unicode-range:U+0951-0952,U+0964-0965,U+0A01-0A76,U+200C-200D,U+20B9,U+25CC,U+262C,U+A830-A839}@font-face{font-family:"Noto Serif Gurmukhi";font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/noto-serif-gurmukhi-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Mukta Mahee;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/mukta-mahee-gurmukhi.woff2) format("woff2");unicode-range:U+0951-0952,U+0964-0965,U+0A01-0A76,U+200C-200D,U+20B9,U+25CC,U+262C,U+A830-A839}@font-face{font-family:Mukta Mahee;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/mukta-mahee-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Mukta Mahee;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/mukta-mahee-gurmukhi-600.woff2) format("woff2");unicode-range:U+0951-0952,U+0964-0965,U+0A01-0A76,U+200C-200D,U+20B9,U+25CC,U+262C,U+A830-A839}@font-face{font-family:Mukta Mahee;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/mukta-mahee-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--rani: #A6194C;--rani-deep: #7A0F38;--rani-bright: #C42A63;--phulkari-red: #6B1206;--phulkari-ochre: #9A5D1C;--phulkari-green: #22381B;--peacock-teal: #0E6E62;--peacock-blue: #12557A;--gold: #A8895C;--gold-soft: #D9BE8A;--ivory: #FBF4E6;--ivory-0: #FBF4E600;--cream: #F3E8D2;--blush: #E8C9C0;--sage: #8C9C82;--ink: #2C1420;--on-dark: #FBF4E6;--ink-muted: color-mix(in srgb, var(--ink) 72%, var(--ivory));--gold-line: color-mix(in srgb, var(--gold) 55%, transparent);--on-dark-muted: color-mix(in srgb, var(--on-dark) 78%, var(--rani-deep));--font-display: "Fraunces", "Noto Serif Gurmukhi", "Iowan Old Style", Georgia, serif;--font-body: "Mulish", "Mukta Mahee", -apple-system, "Segoe UI", system-ui, sans-serif;--opsz-display: 120;--opsz-text: 14;--fs-label: clamp(.9375rem, .9rem + .2vw, 1rem);--fs-body: clamp(1.1875rem, 1.14rem + .25vw, 1.3125rem);--fs-lead: clamp(1.375rem, 1.3rem + .35vw, 1.625rem);--fs-h3: clamp(1.5rem, 1.38rem + .6vw, 1.875rem);--fs-h2: clamp(1.875rem, 1.55rem + 1.6vw, 2.75rem);--fs-h1: clamp(2.5rem, 1.7rem + 4vw, 4.5rem);--lh-tight: 1.1;--lh-snug: 1.3;--lh-body: 1.65;--ls-label: .18em;--ls-tight: -.015em;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .875rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--space-page: clamp(1.25rem, 5vw, 3rem);--measure: 34ch;--frame-inset-x: clamp(1.15rem, 5.6vw, 3rem);--frame-inset-top: calc(var(--frame-inset-x) * 2.5);--frame-inset-bottom: calc(var(--frame-inset-x) * 1.5);--card-w: 100vw;--cast-h: min(calc(var(--card-w) * .7692), 36vh);--peacock-shift: calc(var(--cast-h) * .4333);--peacock-drop: calc(var(--cast-h) * .2);--figure-h: clamp(6.5rem, 24vh, 13rem);--cast-drop: calc(var(--frame-inset-bottom) * .5);--cast-bottom: calc(var(--frame-inset-bottom) + var(--rule-gap) - var(--cast-drop));--cast-reserve: calc(var(--cast-h) - var(--peacock-drop));--hairline: 1px;--rule-gap: calc(var(--frame-inset-x) * .26);--radius-seal: 50%;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-drift: cubic-bezier(.16, .84, .24, 1);--dur-fast: .18s;--dur-base: .32s;--dur-slow: .62s;--dur-envelope: 1.15s;--dur-entrance: 1.75s;--dur-cast: .9s;--paper-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23g)' opacity='0.42'/%3E%3C/svg%3E");--orn-crown: url(/assets/img/frame/crown.webp);--orn-foot: url(/assets/img/frame/foot.webp);--orn-flourish-rule: url(/assets/img/orn/flourish-rule.svg);--orn-laurel-wreath: url(/assets/img/orn/laurel-wreath.svg)}:lang(pb){--font-display: "Noto Serif Gurmukhi", serif;--font-body: "Mukta Mahee", system-ui, sans-serif;--lh-body: 1.8;--lh-tight: 1.25;--ls-tight: 0}@media (prefers-reduced-motion: reduce){:root{--dur-fast: 1ms;--dur-base: 1ms;--dur-slow: 1ms;--dur-envelope: 1ms;--dur-entrance: 1ms;--dur-cast: 1ms}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink);background:var(--rani-deep);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin:0}body{overflow-x:clip}:where(h1,h2,h3,p,li,a,button,span){overflow-wrap:break-word}:where(a,button,[tabindex]):focus-visible{outline:2px solid var(--focus-ring, var(--rani));outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.t-eyebrow{font-family:var(--font-body);font-size:var(--fs-label);font-weight:600;letter-spacing:var(--ls-label);text-transform:uppercase;line-height:var(--lh-snug);color:var(--rani)}:lang(pb) .t-eyebrow{text-transform:none;letter-spacing:.06em}.t-names{font-family:var(--font-display);font-variation-settings:"opsz" var(--opsz-display);font-size:var(--fs-h1);font-weight:400;line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--rani-deep);max-width:100%}.t-names,.t-names>span{overflow-wrap:anywhere;min-width:0}.t-heading{font-family:var(--font-display);font-variation-settings:"opsz" var(--opsz-display);font-size:var(--fs-h2);font-weight:400;line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--rani-deep)}.t-sub{font-family:var(--font-display);font-variation-settings:"opsz" var(--opsz-text);font-size:var(--fs-h3);font-weight:400;line-height:var(--lh-snug);color:var(--rani)}.t-lead{font-size:var(--fs-lead);line-height:var(--lh-snug);color:var(--ink)}.t-body{max-width:var(--measure);margin-inline:auto;color:var(--ink-muted);text-wrap:pretty}.t-body+.t-body{margin-top:var(--space-md)}.t-amp{display:block;font-family:var(--font-display);font-variation-settings:"opsz" var(--opsz-display);font-style:italic;font-size:.42em;line-height:1;color:var(--gold);margin-block:.24em}.orn{--orn-color: var(--gold);display:block;background:var(--orn-color);-webkit-mask-image:var(--orn);mask-image:var(--orn);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;pointer-events:none}.orn--soft{--orn-color: var(--gold-soft)}.orn--rani{--orn-color: var(--rani)}.orn--blush{--orn-color: var(--blush)}.orn--flip{transform:scaleX(-1)}.envelope{--focus-ring: var(--gold-soft);position:relative;overflow:hidden;color:var(--on-dark);background:radial-gradient(120% 90% at 50% 8%,var(--rani) 0%,var(--rani-deep) 62%,#5E0A2A 100%)}.seal{--size: clamp(7rem, 26vmin, 11rem);position:relative;display:grid;place-items:center;width:var(--size);height:var(--size);padding:0;border:none;border-radius:var(--radius-seal);color:var(--gold-soft);background:radial-gradient(circle at 35% 30%,var(--rani-bright) 0%,var(--rani) 45%,var(--rani-deep) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 60%,transparent),inset 0 2px 6px color-mix(in srgb,#fff 22%,transparent),inset 0 -3px 8px color-mix(in srgb,#3A0619 55%,transparent),0 6px 18px color-mix(in srgb,#3A0619 45%,transparent)}.seal:before{content:"";position:absolute;top:8%;right:8%;bottom:8%;left:8%;border-radius:var(--radius-seal);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 32%,transparent)}.seal__mark{font-family:"Noto Serif Gurmukhi",serif;font-size:calc(var(--size) * .46);line-height:1;color:var(--gold-soft);translate:calc(var(--size) * -.081) calc(var(--size) * .077);text-shadow:0 1px 0 color-mix(in srgb,#fff 30%,transparent),0 -1px 1px color-mix(in srgb,#3A0619 60%,transparent)}.letter{--focus-ring: var(--rani);position:relative;isolation:isolate;overflow:hidden;color:var(--ink);background:radial-gradient(130% 80% at 50% 0%,#FFFCF5 0%,var(--ivory) 45%,#F6EBD8 100%)}.letter:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;background-image:var(--paper-grain);opacity:.16;mix-blend-mode:multiply;pointer-events:none}.letter__veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;background:linear-gradient(to bottom,var(--ivory) 0%,var(--ivory) 6%,#FBF4E6C4 11%,var(--ivory-0) 20%),linear-gradient(to top,var(--ivory) 0%,var(--ivory) 7%,#FBF4E6C4 12%,var(--ivory-0) 21%)}.frame{position:absolute;top:var(--frame-inset-top);right:var(--frame-inset-x);bottom:var(--frame-inset-bottom);left:var(--frame-inset-x);z-index:1;border:var(--hairline) solid var(--gold-line);pointer-events:none}.frame:before{content:"";position:absolute;inset:var(--rule-gap);border:var(--hairline) solid color-mix(in srgb,var(--gold) 38%,transparent)}.frame__crown,.frame__foot{position:absolute;left:50%;translate:-50% 0}.frame__crown{top:var(--rule-gap);width:94%;aspect-ratio:1020 / 264;--orn: var(--orn-crown)}.frame__foot{bottom:var(--rule-gap);width:98%;aspect-ratio:1100 / 356;--orn: var(--orn-foot)}.bouquet{position:absolute;z-index:2;width:clamp(10.5rem,52vw,22rem);opacity:.95;pointer-events:none;-webkit-user-select:none;user-select:none;translate:0 var(--drift, 0px);will-change:translate,rotate}.bouquet>img{display:block;width:100%;height:auto}.bouquet--tl{top:0;left:0}.bouquet--tr{top:0;right:0}.bouquet--bl{bottom:0;left:0}.bouquet--br{bottom:0;right:0}.bouquet--tl>img{transform:rotate(180deg) translate(18%,14%)}.bouquet--tr>img{transform:scaleX(-1) rotate(180deg) translate(18%,14%)}.bouquet--bl>img{transform:scaleX(-1) translate(18%,12%)}.bouquet--br>img{transform:translate(18%,12%)}.cast{position:absolute;z-index:1;bottom:var(--cast-bottom);left:50%;width:min(100%,40rem);height:var(--cast-h);overflow:hidden;-webkit-mask-image:linear-gradient(to top,#0000 0,#000 9%);mask-image:linear-gradient(to top,#0000 0,#000 9%);translate:-50% var(--drift, 0px);pointer-events:none;will-change:translate}.cast__group{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:space-between;margin-inline:auto;transition:opacity var(--dur-cast) var(--ease-out),translate var(--dur-cast) var(--ease-out)}.cast__group--birds{width:min(100%,30rem)}.cast__group--couple{width:min(88%,22rem)}.cast__group--birds{opacity:1}.cast__group--couple{opacity:1;translate:0 100%}[data-cast-on=couple] .cast__group--couple{translate:0 10%}[data-cast-on=couple] .cast__group--birds{opacity:0}[data-cast-drive=scroll] .cast__group--couple{translate:0 var(--couple-y, 100%);transition:none}[data-cast-drive=scroll] .cast__group--birds{opacity:var(--birds-o, 1);transition:none}.cast__person,.cast__peacock{width:auto;height:var(--cast-h);flex:0 0 auto;filter:drop-shadow(0 5px 12px color-mix(in srgb,var(--ink) 14%,transparent))}.cast__group--birds{position:absolute;top:0;right:0;bottom:0;left:0}.cast__peacock{position:absolute;bottom:0}.cast__peacock:first-child{left:0;translate:calc(-1 * var(--peacock-shift)) var(--peacock-drop)}.cast__peacock:last-child{right:0;translate:var(--peacock-shift) var(--peacock-drop)}.figures{display:flex;align-items:flex-end;justify-content:space-between;width:min(100%,40rem);margin-inline:auto;padding-inline:calc(var(--frame-inset-x) + var(--space-xs))}.figures__person{width:auto;height:var(--figure-h);filter:drop-shadow(0 5px 12px color-mix(in srgb,var(--ink) 14%,transparent))}.figures__shrine{width:auto;height:calc(var(--figure-h) * .52);opacity:.85}.letter__content{position:relative;z-index:3}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:44px;padding:.7em 1.5em;font-family:var(--font-body);font-size:var(--fs-label);font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--on-dark);background:var(--rani);border:var(--hairline) solid var(--rani);border-radius:999px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.btn:hover{background:var(--rani-deep);border-color:var(--rani-deep)}.btn--ghost{color:var(--rani);background:transparent;border-color:var(--gold)}.btn--ghost:hover{color:var(--on-dark);background:var(--rani);border-color:var(--rani)}:lang(pb) .btn{text-transform:none;letter-spacing:.02em}.scroll-cue{display:grid;place-items:center;width:2.75rem;height:2.75rem;color:var(--rani);text-decoration:none;border:var(--hairline) solid var(--gold-line);border-radius:50%;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.scroll-cue:hover{color:var(--rani-deep);border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}.scroll-cue__chevron{width:.6rem;height:.6rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;rotate:45deg;translate:0 -.1rem}@media (prefers-reduced-motion: no-preference){@keyframes scroll-cue-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(.3rem)}}.scroll-cue{animation:scroll-cue-breathe 2.6s var(--ease-in-out) infinite}.scroll-cue:hover,.scroll-cue:focus-visible{animation-play-state:paused}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.phulkari{--cell: clamp(13px, 3.4vw, 17px);height:var(--cell);background-image:conic-gradient(from -45deg at 50% 100%,#0000 0 25%,var(--phulkari-ochre) 0 75%,#0000 0),conic-gradient(from 135deg at 50% 0%,#0000 0 25%,var(--phulkari-red) 0 75%,#0000 0);background-size:var(--cell) var(--cell);background-position:0 0,calc(var(--cell) / 2) 0;border-block:1px solid var(--gold);pointer-events:none}.phulkari--rule{--cell: clamp(15px, 4vw, 19px);width:min(46%,9.5rem);margin:var(--space-md) auto;border-radius:1px}.phulkari--on-dark{--phulkari-red: var(--rani-deep);--phulkari-ochre: var(--gold-soft);border-color:var(--gold-soft)}.skip-link{position:absolute;top:var(--space-xs);left:var(--space-xs);z-index:100;padding:.75rem 1.25rem;font-size:var(--fs-label);font-weight:600;color:var(--on-dark);background:var(--rani-deep);border-radius:999px;transform:translateY(-150%);transition:transform var(--dur-fast) var(--ease-out)}.skip-link:focus{transform:translateY(0)}#busta{display:none}[data-envelope] #busta{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;pointer-events:none;background:none}[data-envelope] #busta:after{display:none}[data-envelope=closed],[data-envelope=opening],[data-envelope=closed] body,[data-envelope=opening] body{overflow:hidden}.envelope__panel{--envelope-ground: radial-gradient(130% 110% at 50% 50%, var(--rani) 0%, var(--rani-deep) 58%, #5A0928 100%);position:absolute;left:0;right:0;height:50%;overflow:hidden;background:var(--envelope-ground)}.envelope__panel--top{top:0}.envelope__panel--bottom{bottom:0}.envelope__fold{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.envelope__fold:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.envelope__panel--top .envelope__fold{filter:drop-shadow(0 1.5px 0 color-mix(in srgb,var(--gold) 52%,transparent)) drop-shadow(0 5px 14px rgb(30 4 16 / .28))}.envelope__panel--top .envelope__fold:before{clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(180deg,#ffffff0e,#ffffff03),var(--envelope-ground)}.envelope__panel--bottom .envelope__fold{filter:drop-shadow(0 -1.5px 0 color-mix(in srgb,var(--gold) 42%,transparent))}.envelope__panel--bottom .envelope__fold:before{clip-path:polygon(0 100%,100% 100%,50% 0);background:linear-gradient(0deg,#0000001a,#00000005),var(--envelope-ground)}.envelope__panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background-image:var(--paper-grain);opacity:.1;mix-blend-mode:overlay}.envelope__panel:after{content:"";position:absolute;left:0;right:0;z-index:4;height:1px;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--gold) 65%,transparent) 22%,var(--gold-soft) 50%,color-mix(in srgb,var(--gold) 65%,transparent) 78%,transparent 100%)}.envelope__panel--top:after{bottom:0}.envelope__panel--bottom:after{top:0}.envelope__panel .seal{position:absolute;left:50%;z-index:5;translate:-50% -50%}.envelope__panel--top .seal{top:100%}.envelope__panel--bottom .seal{top:0}@keyframes envelope-part-up{0%{transform:translateY(0)}14%{transform:translateY(.8%)}to{transform:translateY(-100%)}}@keyframes envelope-part-down{0%{transform:translateY(0)}14%{transform:translateY(-.8%)}to{transform:translateY(100%)}}[data-envelope=opening] .envelope__panel--top{animation:envelope-part-up var(--dur-envelope) var(--ease-in-out) both}[data-envelope=opening] .envelope__panel--bottom{animation:envelope-part-down var(--dur-envelope) var(--ease-in-out) both}[data-envelope=closed] .finale,[data-envelope=opening] .finale{visibility:hidden}.letter__scenery{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.letter__scenery .frame{position:absolute;z-index:0}.page{position:relative;z-index:3;display:grid;grid-template-rows:1fr auto;place-items:center;min-height:100svh;--page-foot: calc(var(--cast-bottom) + var(--cast-reserve) + var(--space-2xs));padding:calc(var(--frame-inset-top) + var(--space-sm)) calc(var(--frame-inset-x) + var(--space-xs)) var(--page-foot)}.page__body{display:grid;justify-items:center;gap:var(--space-md);width:100%;max-width:32rem;min-width:0;text-align:center}.page__body>*{min-width:0;max-width:100%}.page--dove{--cast-reserve: calc(var(--cast-h) * .9)}.page__names{margin-block:var(--space-2xs)}.page--chi .page__body{gap:var(--space-sm)}.page__ceremony{color:var(--gold);padding-left:var(--ls-label)}:lang(pb) .page__ceremony{padding-left:0;font-size:var(--fs-body)}.page__invitation{font-family:var(--font-display);font-variation-settings:"opsz" var(--opsz-text);font-size:var(--fs-lead);line-height:var(--lh-snug);color:var(--ink-muted);max-width:24ch;text-wrap:balance}.page .scroll-cue{margin-top:var(--space-md)}.page__divider{--orn: var(--orn-flourish-rule);width:min(60%,15rem);aspect-ratio:496 / 128;margin-block:var(--space-xs)}.page__date{font-family:var(--font-display);font-variation-settings:"opsz" var(--opsz-display);font-size:var(--fs-h2);line-height:var(--lh-tight);color:var(--rani)}.page__time{color:var(--ink-muted)}.page__venue{color:var(--rani-deep)}.page__address{max-width:24ch;color:var(--ink-muted);text-wrap:balance}.page__action{margin-top:var(--space-md)}.countdown{display:grid;justify-items:center;gap:var(--space-xs);margin-top:var(--space-md)}.countdown__label{color:var(--gold)}.countdown__units{display:flex;gap:clamp(var(--space-sm),4vw,var(--space-lg));margin:0;padding:0;list-style:none}.countdown__units li{display:grid;gap:.15em;justify-items:center}.countdown__units b{font-family:var(--font-display);font-variation-settings:"opsz" var(--opsz-display);font-size:clamp(1.75rem,1.3rem + 2.2vw,2.75rem);font-weight:400;line-height:1;color:var(--rani-deep);font-variant-numeric:tabular-nums}.countdown__units span{font-size:var(--fs-label);letter-spacing:.06em;color:var(--ink-muted)}.finale{position:relative;z-index:5;display:grid;place-items:center;min-height:100svh;padding:var(--space-xl) var(--space-page);text-align:center;color:var(--on-dark);overflow:hidden;background:radial-gradient(120% 90% at 50% 100%,var(--rani) 0%,var(--rani-deep) 58%,#56091F 100%)}.finale__flap{position:absolute;top:0;left:50%;translate:-50% 0;width:150vmax;height:38vh;transform-origin:top center;background:linear-gradient(180deg,#6B0C31 0%,var(--rani-deep) 55%,#5C0A2A 100%);clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 1.5px 0 color-mix(in srgb,var(--gold) 70%,transparent)) drop-shadow(0 12px 26px rgb(30 4 16 / .5));pointer-events:none}.finale__inner{position:relative;z-index:2;display:grid;justify-items:center;gap:var(--space-md);margin-top:16vh}.finale__crest{--orn: var(--orn-laurel-wreath);--orn-color: var(--gold-soft);width:min(52%,11rem);aspect-ratio:511 / 296}.finale__line{font-family:var(--font-display);font-variation-settings:"opsz" var(--opsz-display);font-size:var(--fs-h3);line-height:var(--lh-snug);max-width:22ch;color:var(--on-dark)}.lang{margin-top:var(--space-md)}.lang__link{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 1.25rem;font-size:var(--fs-label);letter-spacing:.08em;color:var(--gold-soft);text-decoration:none;border:var(--hairline) solid color-mix(in srgb,var(--gold) 45%,transparent);border-radius:999px}.lang__link:hover{color:var(--on-dark);border-color:var(--gold-soft)}[data-stage=hold] .bouquet>img,[data-stage=hold] .frame,[data-stage=hold] .cast{opacity:0}@keyframes bouquet-sweep{0%{translate:var(--sweep-x) var(--sweep-y);scale:1.05;opacity:0}to{translate:0 0;scale:1;opacity:1}}@keyframes frame-draw{0%{opacity:0;scale:1.012}to{opacity:1;scale:1}}@keyframes cast-rise{0%{opacity:0;transform:translateY(2.25rem)}to{opacity:1;transform:none}}[data-stage=enter] .bouquet>img{animation:bouquet-sweep var(--dur-entrance) var(--ease-drift) var(--sweep-delay) both}[data-stage=enter] .bouquet--tl>img{--sweep-x: -44%;--sweep-y: -7%;--sweep-delay: .56s}[data-stage=enter] .bouquet--br>img{--sweep-x: 44%;--sweep-y: 7%;--sweep-delay: .62s}[data-stage=enter] .bouquet--tr>img{--sweep-x: 44%;--sweep-y: -7%;--sweep-delay: .78s}[data-stage=enter] .bouquet--bl>img{--sweep-x: -44%;--sweep-y: 7%;--sweep-delay: .84s}[data-stage=enter] .frame{animation:frame-draw calc(var(--dur-entrance) * .8) var(--ease-out) .38s both}[data-stage=enter] .cast{animation:cast-rise calc(var(--dur-entrance) * .75) var(--ease-drift) .98s both}@media (prefers-reduced-motion: no-preference){@keyframes scenery-sway{0%{rotate:calc(var(--sway) * -1)}to{rotate:var(--sway)}}@keyframes scenery-breathe{0%{transform:translateY(calc(var(--bob) * -1)) rotate(calc(var(--tilt) * -1))}to{transform:translateY(var(--bob)) rotate(var(--tilt))}}.bouquet{--sway: .7deg;animation:scenery-sway var(--sway-dur) var(--ease-in-out) var(--sway-delay) infinite alternate}.bouquet--tl{transform-origin:top left;--sway-dur: 6.1s;--sway-delay: 2.6s}.bouquet--tr{transform-origin:top right;--sway-dur: 7.9s;--sway-delay: 3.1s}.bouquet--bl{transform-origin:bottom left;--sway-dur: 6.7s;--sway-delay: 2.9s}.bouquet--br{transform-origin:bottom right;--sway-dur: 7.3s;--sway-delay: 3.4s}.cast__peacock,.cast__person{transform-origin:bottom center;animation:scenery-breathe var(--bob-dur) var(--ease-in-out) var(--bob-delay) infinite alternate}.cast__peacock{--bob: 3px;--tilt: .35deg}.cast__person{--bob: 2px;--tilt: .2deg}.cast__peacock:first-child{--bob-dur: 3.4s;--bob-delay: 2.7s}.cast__peacock:last-child{--bob-dur: 4.1s;--bob-delay: 3.2s}.cast__person:first-child{--bob-dur: 5.3s;--bob-delay: 3s}.cast__person:last-child{--bob-dur: 4.7s;--bob-delay: 3.6s}}.reveal{opacity:1}[data-reveal=pending]{opacity:0;translate:0 20px}[data-revealed]{opacity:1;translate:0 0;transition:opacity .9s var(--ease-out) var(--reveal-delay, 0ms),translate 1.15s var(--ease-drift) var(--reveal-delay, 0ms)}.page__body{transform:translate3d(0,var(--page-lag, 0px),0) scale(var(--page-depth, 1));opacity:var(--page-dim, 1)}@media (prefers-reduced-motion: reduce){.page__body{transform:none;opacity:1}.bouquet,.cast{will-change:auto}}@media (max-height: 960px){.page{padding-block:calc(var(--frame-inset-top) + var(--space-2xs)) var(--page-foot)}.page__body{gap:var(--space-xs)}.phulkari--rule{margin-block:var(--space-xs);--cell: clamp(13px, 3.4vw, 16px)}.page--chi .page__names{font-size:clamp(2.5rem,1.6rem + 3.4vw,3.5rem);margin-block:0}.countdown,.page__action{margin-top:var(--space-xs)}.page .scroll-cue{margin-top:var(--space-sm)}.page__date{font-size:clamp(1.75rem,1.45rem + 1.35vw,2.125rem)}.countdown__units b{font-size:clamp(1.6rem,1.25rem + 1.7vw,2.25rem)}}@media (min-width: 60rem){:root{--card-w: min(38rem, 58vh);--frame-inset-top: calc(var(--frame-inset-x) * 1.5);--frame-inset-bottom: calc(var(--frame-inset-x) * 1.1);--frame-w: calc(var(--card-w) - 2 * var(--frame-inset-x))}.page__body{max-width:30rem}main.letter{max-width:var(--card-w);margin-inline:auto;box-shadow:0 0 90px #3a061966}.letter__scenery,.letter__veil{left:50%;right:auto;width:min(100%,var(--card-w));translate:-50% 0}.letter__scenery{overflow:hidden}.bouquet{width:min(52%,15rem)}.frame__crown{width:72%}.frame__foot{width:80%}.page{padding-top:calc(var(--frame-inset-top) + var(--rule-gap) + var(--frame-w) * .72 * .2588 + var(--space-xs));--page-foot: calc( max( var(--cast-bottom) + var(--cast-reserve), var(--frame-inset-bottom) + var(--rule-gap) + var(--frame-w) * .8 * .3236 ) + var(--space-xs))}}@media (min-width: 48rem){:root{--cast-h: min(calc(var(--card-w) * .7692), 24vh)}}@media (min-width: 60rem){:root{--cast-h: min(calc(var(--card-w) * .7692), 21vh)}}@media (max-height: 780px){:root{--cast-h: min(calc(var(--card-w) * .7692), 20vh)}}
