@font-face{font-family:Moul;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/moul-khmer-400-normal-BGpNh90c.woff2)format("woff2"),url(/assets/moul-khmer-400-normal-Lf6ZT74W.woff)format("woff")}@font-face{font-family:Moulpali;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/moulpali-khmer-400-normal-DIPgrvVR.woff2)format("woff2"),url(/assets/moulpali-khmer-400-normal-BG1eP2AQ.woff)format("woff")}@font-face{font-family:Kantumruy Pro Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/kantumruy-pro-khmer-wght-normal-BlBI3kBv.woff2)format("woff2-variations");unicode-range:U+1780-17FF,U+19E0-19FF,U+200C-200D,U+25CC}@font-face{font-family:Kantumruy Pro Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/kantumruy-pro-latin-ext-wght-normal-uJy-Z4q_.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Kantumruy Pro Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/kantumruy-pro-latin-wght-normal-C3EWfIgW.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-400-italic-BLh7T8o8.woff)format("woff")}@font-face{font-family:Pinyon Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pinyon-script-latin-400-normal-HCoaxbyT.woff2)format("woff2"),url(/assets/pinyon-script-latin-400-normal-3W0BoeAr.woff)format("woff")}:root{--paper:#4d5b3c;--paper-deep:#36412a;--paper-light:#66754f;--cream:#f3ead6;--cream-deep:#e2d3b2;--ink:#2c2a20;--night:#0e0d0a;--f0:#7d5d22;--f1:#b88d3c;--f2:#e9cf86;--f3:#fff4cc;--f4:#d4ad57;--f5:#8f6a2a;--bg:#f2e9d8;--bg-deep:#e6d8bf;--ink-soft:#6a4a2c;--b0:#8a6326;--b1:#b48a45;--b2:#dcbd7c;--b3:#f3dfae;--b4:#c9a25c;--b5:#93692a;--foil:linear-gradient(100deg, var(--f0) 0%, var(--f1) 16%, var(--f2) 34%, var(--f3) 46%, var(--f2) 56%, var(--f4) 72%, var(--f5) 88%, var(--f1) 100%);--foil-b:linear-gradient(100deg, var(--b0) 0%, var(--b1) 16%, var(--b2) 34%, var(--b3) 46%, var(--b2) 56%, var(--b4) 72%, var(--b5) 88%, var(--b1) 100%);--ff-moul:"Moul", "Kantumruy Pro Variable", serif;--ff-moulpali:"Moulpali", "Moul", serif;--ff-body:"Kantumruy Pro Variable", "Kantumruy Pro", system-ui, sans-serif;--ff-serif:"Cormorant Garamond", "Times New Roman", serif;--ff-script:"Pinyon Script", "Cormorant Garamond", cursive;--ease-silk:cubic-bezier(.22, .8, .2, 1);--topbar-h:64px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}html,body{margin:0;overflow-x:clip}body{background-color:var(--bg);background-blend-mode:soft-light;min-height:100svh;color:var(--ink);font-family:var(--ff-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background-image:url(/textures/card.png);background-size:240px 240px;font-size:clamp(15px,1rem + .15vw,18px);line-height:1.85}body.is-locked{height:100svh;overflow:hidden}img,svg,canvas{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit}:focus-visible{outline:2px solid var(--f2);outline-offset:3px;border-radius:6px}.km,[lang=km]{letter-spacing:0!important}.en-caps{font-family:var(--ff-serif);text-transform:uppercase;letter-spacing:.22em;font-weight:500}.en-script{font-family:var(--ff-script);letter-spacing:0;font-weight:400}.foil{background:var(--foil);-webkit-text-fill-color:transparent;color:#0000;background-position:30% 0;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;padding:.3em .1em .2em;display:inline-block}.foil.shimmer{animation:7s linear infinite foilShimmer}.on-dark .foil,.foil.bright{background-image:var(--foil-b)}.on-dark .orn-corner .st,.on-dark .orn-crest .st,.on-dark .orn-divider .st,.on-dark .nl-line{stroke:url(#g-foil-b)}.on-dark .orn-corner .lf,.on-dark .orn-divider .lf,.on-dark .orn-crest .ray,.on-dark .orn-corner .dt,.on-dark .orn-crest .dt,.on-dark .orn-divider .dm,.on-dark .orn-crest .crest-bud,.on-dark .nl-heart path,.on-dark .nl-butterfly .wing path:first-child{fill:url(#g-foil-b)}.on-dark{color:var(--cream)}@keyframes foilShimmer{0%{background-position:0 0}to{background-position:220% 0}}.lite .foil.shimmer{animation:none}.orn-corner,.orn-crest,.orn-divider{overflow:visible}.orn-corner .st,.orn-crest .st,.orn-divider .st{fill:none;stroke:url(#g-foil);stroke-width:1.6px;stroke-linecap:round}.orn-corner .st.thin,.orn-crest .st.thin{stroke-width:1px}.orn-corner .lf,.orn-divider .lf,.orn-crest .ray,.orn-corner .dt,.orn-crest .dt,.orn-divider .dm,.orn-crest .crest-bud{fill:url(#g-foil)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){.foil.shimmer{animation:none}*,:before,:after{scroll-behavior:auto!important}}.namelogo{width:100%;container-type:inline-size}.nl-box{aspect-ratio:320/224;width:100%;position:relative}.nl-crest{width:13cqw;position:absolute;top:0;left:50%;transform:translate(-50%)}.nl-flourish{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.nl-line{fill:none;stroke:url(#g-foil-h);stroke-width:1.4px;stroke-linecap:round;vector-effect:non-scaling-stroke}.nl-name{font-family:var(--ff-moulpali);white-space:nowrap;letter-spacing:0;filter:drop-shadow(0 .018em #fffaecb3);font-weight:400;line-height:1.5;position:absolute}.nl-groom{font-size:15.5cqw;top:8.9%;left:2%}.nl-bride{font-size:14cqw;top:52.5%;right:0}.nl-heart{width:6.6cqw;position:absolute;top:46.2%;left:64.8%;overflow:visible}.nl-heart path{fill:url(#g-foil)}.nl-butterfly{width:11cqw;position:absolute;top:8.9%;left:76%;overflow:visible}.nl-butterfly .wing path:first-child{fill:url(#g-foil)}.nl-butterfly .vein,.nl-butterfly .ant{fill:none;stroke:#46300a73;stroke-width:.9px;stroke-linecap:round}.nl-butterfly .ant{stroke:url(#g-foil);stroke-width:1px}.nl-butterfly .body{fill:var(--f0)}.nl-butterfly .wing-l,.nl-butterfly .wing-r{transform-origin:30px 25px}.on-cream .nl-name{filter:drop-shadow(0 .018em #fffcf0cc)}.on-dark .nl-name{filter:drop-shadow(0 .02em .03em #00000073)}.env-screen{z-index:50;padding:calc(var(--topbar-h) + 4px) 16px max(18px, env(safe-area-inset-bottom));background-color:var(--bg);background-blend-mode:normal, soft-light;background-image:radial-gradient(90% 70% at 50% 55%,#0000 40%,#785a3229),url(/textures/card.png);background-size:100% 100%,240px 240px;flex-direction:column;justify-content:center;align-items:center;gap:clamp(10px,3.2svh,34px);display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.env-bg{inset:calc(var(--topbar-h) + 2px) 14px 14px;z-index:0;pointer-events:none;border:1px solid color-mix(in srgb, var(--f2) 40%, transparent);position:absolute}.env-bg .orn-corner{opacity:.9;width:clamp(70px,18vmin,150px);position:absolute}.env-bg .orn-tl{top:-5px;left:-5px}.env-bg .orn-tr{top:-5px;right:-5px}.env-bg .orn-bl{bottom:-5px;left:-5px}.env-bg .orn-br{bottom:-5px;right:-5px}.env-head{z-index:2;text-align:center;line-height:1.6;position:relative}.env-title{font-family:var(--ff-moul);margin:0;font-size:clamp(19px,5.6vw,34px);line-height:1.9}.env-sub{font-family:var(--ff-serif);color:var(--ink-soft);letter-spacing:.04em;margin:-.2em 0 0;font-size:clamp(14px,3.8vw,20px);font-style:italic}html[data-lang=en] .env-sub{font-family:var(--ff-moul);letter-spacing:0;font-size:clamp(12px,3.2vw,16px);font-style:normal}html[data-lang=en] .env-title{font-family:var(--ff-serif);letter-spacing:.04em;font-size:clamp(22px,6.4vw,38px);font-weight:500}.env-hint{z-index:2;color:var(--ink-soft);align-items:center;gap:.6em;margin:0;font-size:clamp(13px,3.4vw,15px);display:flex;position:relative}.env-hint:before,.env-hint:after{content:"";background:linear-gradient(90deg, transparent, var(--f3));width:28px;height:1px}.env-hint:after{transform:scaleX(-1)}.env-stage{--ew:min(88vw, 500px, calc(60svh * 1.43));z-index:3;width:var(--ew);aspect-ratio:10/7;perspective:1500px;perspective-origin:50% 40%;transform-style:preserve-3d;flex:none;position:relative}.env-rig,.env{transform-style:preserve-3d;position:absolute;top:0;bottom:0;left:0;right:0}.env>*{position:absolute}.env-ground{filter:blur(6px);background:radial-gradient(50% 50%,#46231959,#0000 70%);height:16%;bottom:-7%;left:4%;right:4%;transform:translateZ(-2px)}.paper{background-color:var(--paper);background-blend-mode:soft-light;background-image:url(/textures/paper.png);background-size:256px 256px}.env-back{background-color:var(--paper-deep);background-blend-mode:normal, soft-light;background-image:linear-gradient(#00000059,#0000000d 45%),url(/textures/paper.png);background-size:100% 100%,256px 256px;border-radius:6px;top:0;bottom:0;left:0;right:0;transform:translateZ(0);box-shadow:0 1px 1px #3c141440,0 10px 22px -6px #3c191466,0 34px 60px -24px #3c191473}.env-card{transform-origin:50% 60%;height:90%;top:5%;left:4.5%;right:4.5%;transform:translateZ(1px)}.card-face{background-color:var(--cream);background-blend-mode:normal, soft-light;color:var(--ink);text-align:center;background-image:radial-gradient(120% 90% at 50% 40%,#0000 55%,#785a281f),url(/textures/card.png);background-size:100% 100%,220px 220px;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 1px 2px #00000040,0 6px 16px -6px #00000059;container-type:inline-size}.card-face:before{content:"";background:var(--foil) border-box;-webkit-mask-composite:xor;opacity:.9;border:1px solid #0000;border-radius:2px;position:absolute;top:3.2cqw;bottom:3.2cqw;left:3.2cqw;right:3.2cqw;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:padding-box,border-box;-webkit-mask-origin:padding-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.card-face .orn-corner{width:15cqw;position:absolute}.card-face .orn-tl{top:1.6cqw;left:1.6cqw}.card-face .orn-tr{top:1.6cqw;right:1.6cqw}.card-face .orn-bl{bottom:1.6cqw;left:1.6cqw}.card-face .orn-br{bottom:1.6cqw;right:1.6cqw}.card-title{font-family:var(--ff-moul);margin:0;font-size:4.3cqw;line-height:1.9}.card-face .namelogo{width:46cqw;margin:-2cqw 0 -1cqw}.card-date{font-family:var(--ff-serif);letter-spacing:.3em;color:#6a5530;margin:0;font-size:3.3cqw;font-weight:600}.env-pocket{transform-style:flat;top:0;bottom:0;left:0;right:0;transform:translateZ(2px)}.pk,.pk-in{position:absolute;top:0;bottom:0;left:0;right:0}.pk-l{filter:drop-shadow(1.5px 0 2px #00000059)}.pk-r{filter:drop-shadow(-1.5px 0 2px #00000059)}.pk-b{filter:drop-shadow(0 -1.5px 2px #0006)drop-shadow(0 -6px 10px #0000001f)}.pk-l .pk-in{clip-path:polygon(0 0,2% 1.5%,50% 52%,51.5% 55%,50% 58%,2% 98.5%,0 100%);border-radius:6px 0 0 6px}.pk-r .pk-in{clip-path:polygon(100% 0,98% 1.5%,50% 52%,48.5% 55%,50% 58%,98% 98.5%,100% 100%);border-radius:0 6px 6px 0}.pk-b .pk-in{clip-path:polygon(0 100%,0 97%,46% 45%,50% 42.5%,54% 45%,100% 97%,100% 100%);border-radius:0 0 6px 6px}.pk-l .pk-in,.pk-r .pk-in{background-blend-mode:normal, soft-light;background-image:linear-gradient(90deg,#ffffff0f,#fff0 40%,#0000001a),url(/textures/paper.png);background-size:100% 100%,256px 256px;background-color:var(--paper)}.pk-r .pk-in{background-image:linear-gradient(270deg,#00000005,#00000024),url(/textures/paper.png)}.pk-b .pk-in{background-blend-mode:normal, soft-light;background-image:linear-gradient(#ffffff1a,#ffffff05 30%,#0000001a),url(/textures/paper.png);background-size:100% 100%,256px 256px;background-color:var(--paper)}.env-flap-shadow{transform-origin:50% 0;height:60%;top:0;left:0;right:0;transform:translateZ(2.5px)}.env-flap-shadow i{filter:blur(4px);position:absolute;top:0;bottom:0;left:0;right:0;transform:translateY(3.5%)}.env-flap-shadow b{background:#00000080;position:absolute;top:0;bottom:0;left:0;right:0}.env-flap{transform-origin:50% 0;height:58%;transform-style:preserve-3d;top:0;left:0;right:0;transform:translateZ(3px)}.flap-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute;top:0;bottom:0;left:0;right:0}.flap-front{background-blend-mode:normal, soft-light;background-image:linear-gradient(#ffffff12,#0000000a 60%,#00000024),url(/textures/paper.png);background-size:100% 100%,256px 256px;background-color:var(--paper);border-radius:6px 6px 0 0}.flap-line{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.flap-line path{fill:none;stroke:url(#g-foil-h);stroke-width:1.3px;vector-effect:non-scaling-stroke}.flap-front .namelogo{width:34%;position:absolute;top:5%;left:50%;transform:translate(-50%)}.flap-back{background-color:color-mix(in srgb, var(--cream-deep) 72%, var(--b1));background-blend-mode:normal, normal, soft-light;background-image:radial-gradient(100% 80% at 50% 0,#fffaeb59,#0000 70%),linear-gradient(#0000 45%,#5a32142e),url(/textures/lining.png);background-size:100% 100%,100% 100%,200px 200px;transform:rotateY(180deg)}.flap-back .flap-line path{stroke:url(#g-foil-h);stroke-width:1.1px}.env-seal{aspect-ratio:1;touch-action:manipulation;border-radius:50%;width:25%;margin:-12.5% 0 0 -12.5%;top:56%;left:50%;transform:translateZ(6px)}.seal-shadow{filter:blur(4px);background:#0000008c;border-radius:50%;position:absolute;top:8%;bottom:8%;left:8%;right:8%;transform:translate(2%,6%)}.seal-svg{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.seal-svg .seal-crest-svg .st{stroke:#b0883a}.seal-crest .st{fill:none;stroke:#a17a2e;stroke-width:2.2px;stroke-linecap:round}.seal-crest .ray,.seal-crest .crest-bud,.seal-crest .dt{fill:#c49a47}.env-seal .seal-glint{border:1px solid color-mix(in srgb, var(--f2) 55%, transparent);opacity:0;border-radius:50%;position:absolute;top:-12%;bottom:-12%;left:-12%;right:-12%}.env-veil{z-index:6;background:var(--bg);opacity:0;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}@media (orientation:landscape) and (max-height:500px){.env-screen{padding:calc(var(--topbar-h) - 10px) 24px 14px;flex-direction:row;gap:4vw}.env-head{text-align:center;flex:0 34%}.env-stage{--ew:min(54vw, calc((100svh - 96px) * 1.43))}.env-title{font-size:clamp(16px,3vw,24px);line-height:1.8}.env-sub{font-size:13px}.env-hint{justify-content:center;width:calc(36% - 17.28px);font-size:12.5px;position:absolute;bottom:18%;left:24px}}.card-face .orn-divider{width:30cqw;height:auto;margin:0 0 .6cqw}.card-face .orn-divider .st{stroke-width:1.2px}.topbar{z-index:80;height:calc(var(--topbar-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;bottom:auto;left:0;right:0}.topbar:before{content:"";z-index:-1;background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 97%, transparent), color-mix(in srgb, var(--bg) 80%, transparent) 62%, transparent);opacity:0;transition:opacity .5s var(--ease-silk);position:absolute;top:0;bottom:-26px;left:0;right:0}.topbar.is-scrolled:before{opacity:1}.topbar>*{pointer-events:auto}.tb-logo{opacity:0;visibility:hidden;width:82px;transition:opacity .6s var(--ease-silk), visibility .6s}.tb-logo .nl-crest{display:none}.tb-logo .nl-box{aspect-ratio:320/200}.tb-logo .nl-flourish{height:100%;top:0;bottom:0;left:0;right:0}.tb-logo .nl-groom{top:2%}body.is-open .topbar.show-logo .tb-logo{opacity:1;visibility:visible}.tb-actions{gap:8px;margin-left:auto;display:flex}.tb-btn{background:color-mix(in srgb, var(--bg) 78%, transparent);border:1px solid color-mix(in srgb, var(--f2) 55%, transparent);min-width:40px;height:40px;color:var(--f1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .3s, transform .3s var(--ease-silk);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;line-height:1;display:inline-flex;box-shadow:0 2px 8px -4px #3c1e144d}.tb-btn:active{transform:scale(.94)}.tb-lang{font-family:var(--ff-body);min-width:52px;font-weight:500}html[data-lang=km] .tb-lang{font-family:var(--ff-serif);letter-spacing:.14em;font-size:14px;font-weight:600}.tb-music .bars{align-items:flex-end;gap:2.5px;height:14px;display:flex}.tb-music .bars i{transform-origin:bottom;background:currentColor;border-radius:2px;width:2.5px;height:100%;transform:scaleY(.3)}.tb-music.is-playing .bars i{animation:1s ease-in-out infinite alternate eq}.tb-music.is-playing .bars i:nth-child(2){animation-delay:-.4s}.tb-music.is-playing .bars i:nth-child(3){animation-delay:-.7s}.tb-music.is-playing .bars i:nth-child(4){animation-delay:-.2s}@keyframes eq{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.cover{min-height:100svh;padding:calc(var(--topbar-h) + 4px) 18px max(22px, env(safe-area-inset-bottom));isolation:isolate;place-items:center;display:grid;position:relative;overflow:hidden}.cover-media{z-index:-2;background:radial-gradient(70% 55% at 50% 45%,#fffcf4bf,#0000 70%),radial-gradient(120% 90%,#0000 55%,#6e1f2b1a);place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.cover-watermark{opacity:.07;transform-origin:50% 60%;width:min(120vmin,900px)}.cover-watermark .st{stroke-width:.5px}.cover-frame{inset:calc(var(--topbar-h) + 2px) clamp(10px, 2.4vmin, 22px) clamp(10px, 2.4vmin, 22px);pointer-events:none;z-index:0;position:absolute}.cover-frame:before{content:"";border:1px solid color-mix(in srgb, var(--f2) 32%, transparent);position:absolute;top:0;bottom:0;left:0;right:0}.cover-frame .orn-corner{width:clamp(64px,17vmin,150px);position:absolute}.cover-frame .orn-tl{top:-6px;left:-6px}.cover-frame .orn-tr{top:-6px;right:-6px}.cover-frame .orn-bl{bottom:-6px;left:-6px}.cover-frame .orn-br{bottom:-6px;right:-6px}.cover-inner{z-index:1;text-align:center;--u:min(1vh, 1svh, 1.9vw);flex-direction:column;align-items:center;width:min(100%,560px);display:flex;position:relative}.cover-crest{width:clamp(42px, calc(var(--u) * 7), 66px)}.cover-kicker{margin:calc(var(--u) * -.4) 0 0;font-family:var(--ff-moul);font-size:clamp(15px, calc(var(--u) * 3.2), 26px);line-height:1.9}html[data-lang=en] .cover-kicker{font-family:var(--ff-serif);letter-spacing:.06em;font-weight:500;font-size:clamp(18px, calc(var(--u) * 3.6), 30px)}.cover .namelogo{width:clamp(200px, calc(var(--u) * 34), 360px);max-width:74vw;margin:calc(var(--u) * .4) 0 0}.cover-names{margin:calc(var(--u) * .6) 0 0;font-size:clamp(12px, calc(var(--u) * 2), 16px);color:var(--ink-soft);font-weight:600;line-height:1.6}.cover-names .amp{font-family:var(--ff-serif);text-transform:none;letter-spacing:0;color:var(--f2);vertical-align:-.08em;margin:0 .35em;font-size:1.5em;font-style:italic;font-weight:400}.cover .orn-divider{width:clamp(150px, calc(var(--u) * 26), 230px);margin:calc(var(--u) * .8) 0 0}.cover-honour{font-family:var(--ff-moul);font-size:clamp(14px, calc(var(--u) * 2.6), 21px);margin:0;line-height:1.9}html[data-lang=en] .cover-honour{font-family:var(--ff-script);font-size:clamp(24px, calc(var(--u) * 4.4), 38px);line-height:1.4}.date-row{margin:calc(var(--u) * .8) 0 0;justify-content:center;align-items:stretch;display:flex}.date-cell{flex-direction:column;align-items:center;padding:0 clamp(10px,3.2vw,22px);line-height:1.5;display:flex}.date-cell+.date-cell{border-left:1px solid color-mix(in srgb, var(--f2) 60%, transparent)}.date-cell small{font-size:clamp(11px, calc(var(--u) * 1.7), 13px);color:var(--ink-soft)}.date-cell b{font-family:var(--ff-moul);font-weight:400;font-size:clamp(16px, calc(var(--u) * 3), 25px);line-height:1.7}html[data-lang=en] .date-cell b{font-family:var(--ff-serif);font-weight:600;font-size:clamp(17px, calc(var(--u) * 3.3), 27px)}html[data-lang=en] .date-cell small{font-family:var(--ff-serif);letter-spacing:.18em;text-transform:uppercase;font-size:11px}.date-cell.is-day b{font-size:clamp(22px, calc(var(--u) * 4.2), 36px)}.cover-lunar{margin:calc(var(--u) * .6) 0 0;max-width:34em;font-size:clamp(12.5px, calc(var(--u) * 1.95), 15px);color:var(--ink);text-wrap:balance;line-height:1.85}.cover-venue{margin:calc(var(--u) * .4) 0 0;font-size:clamp(12.5px, calc(var(--u) * 1.95), 15px);color:var(--ink);text-wrap:balance;align-items:center;gap:.45em;line-height:1.8;display:inline-flex}.cover-venue svg{fill:url(#g-foil);flex:none;width:1em}.scroll-cue{margin-top:calc(var(--u) * 1.2);color:var(--ink-soft);flex-direction:column;align-items:center;gap:4px;font-size:11.5px;line-height:1.6;display:flex}.scroll-cue .line{width:1px;height:clamp(18px, calc(var(--u) * 4), 34px);background:linear-gradient(var(--f1), transparent);transform-origin:top;animation:cue 2.2s var(--ease-silk) infinite}@keyframes cue{0%{opacity:1;transform:scaleY(0)}70%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.mask{margin:-.4em 0;padding:.4em 0;display:block;overflow:hidden}@media (orientation:landscape) and (max-height:500px){.cover-inner{--u:1.15svh;width:min(100%,640px)}.cover .namelogo{width:clamp(180px,34svh,240px)}}@media (max-width:360px){.date-cell{padding:0 8px}}.sec{text-align:center;padding:clamp(72px,12vh,130px) 16px;position:relative;overflow:hidden}.sec-head{flex-direction:column;align-items:center;margin:0 auto clamp(26px,5vh,48px);display:flex}.sec-crest{width:54px}.sec-title{font-family:var(--ff-moul);margin:0;font-size:clamp(22px,6vw,38px);font-weight:400;line-height:1.9}html[data-lang=en] .sec-title{font-family:var(--ff-serif);letter-spacing:.03em;font-size:clamp(28px,7vw,46px);font-weight:600;line-height:1.5}.sec-head.small .sec-title{font-size:clamp(16px,4.4vw,26px)}.sec-div{width:190px;margin-top:2px}.mask>span{display:inline-block}p{margin:0}.parents{flex-direction:column;align-items:center;margin:0;line-height:1.85;display:flex}.parents b{color:var(--ink);font-weight:600}.invite-grid{place-items:center;gap:clamp(28px,5vw,64px);max-width:980px;margin:0 auto;display:grid}@media (min-width:860px){.invite-grid{text-align:left;grid-template-columns:minmax(280px,380px) 1fr}.invite-copy{justify-self:start}}.arch{aspect-ratio:100/130;flex-direction:column;justify-content:center;align-items:center;width:min(76vw,360px);margin:0;display:flex;position:relative;container-type:inline-size}.arch-paper{background-color:var(--paper);background-blend-mode:normal, normal, soft-light;background-image:radial-gradient(90% 70% at 50% 35%,#ffffff14,#0000 60%),linear-gradient(#0000 60%,#0000002e),url(/textures/paper.png);background-size:100% 100%,100% 100%,256px 256px;border-radius:50% 50% 4px 4px/32% 32% 4px 4px;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:0 2px 2px #3c141433,0 24px 50px -22px #4614198c}.arch-line{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.arch-line path{fill:none;stroke:url(#g-foil-b);stroke-width:1.3px;vector-effect:non-scaling-stroke}.arch-line path+path{stroke-width:.7px}.arch-crest{width:22cqw;margin-top:8cqw;position:relative}.arch .namelogo{width:74cqw;position:relative}.arch .nl-crest{display:none}.arch-date{font-family:var(--ff-moul);color:var(--b3);letter-spacing:0;margin-top:3cqw;font-size:5cqw;position:relative}html[data-lang=en] .arch-date{font-family:var(--ff-serif);letter-spacing:.3em;font-weight:600}.invite-copy{max-width:34em}.inv-body{color:var(--ink);text-wrap:pretty;font-size:clamp(15px,1rem + .3vw,19px);line-height:2}.inv-body2{color:var(--ink-soft);margin-top:1em;line-height:1.95}html[data-lang=en] .inv-body{font-family:var(--ff-serif);font-size:clamp(18px,1.1rem + .4vw,23px);line-height:1.6}html[data-lang=en] .inv-body2{font-family:var(--ff-serif);font-size:1.1em;font-style:italic;line-height:1.6}.parents-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(8px,4vw,48px);max-width:760px;margin:clamp(40px,7vh,72px) auto 0;display:grid}.parents-col{min-width:0}.ph{font-family:var(--ff-moul);color:var(--paper);margin:0 0 .3em;font-size:clamp(13px,3.6vw,18px);font-weight:400;line-height:1.9}html[data-lang=en] .ph{font-family:var(--ff-serif);text-transform:uppercase;letter-spacing:.14em;font-size:13px;font-weight:600}.parents-col .parents{font-size:clamp(13.5px,3.6vw,17px)}.ph-heart,.ch-heart{width:22px;overflow:visible}.ph-heart path,.ch-heart path{fill:var(--paper)}@media (max-width:420px){.parents-row{grid-template-columns:1fr}.parents-heart{justify-self:center}}.couple-row{grid-template-columns:1fr;place-items:center;gap:28px;max-width:900px;margin:0 auto;display:grid}@media (min-width:720px){.couple-row{grid-template-columns:1fr auto 1fr;align-items:start}.couple-heart{align-self:center;margin-top:-60px}}.partner{flex-direction:column;align-items:center;display:flex}.medal{aspect-ratio:1;filter:drop-shadow(0 18px 24px #4614194d);place-items:center;width:clamp(170px,46vw,240px);margin-bottom:14px;display:grid;position:relative;container-type:inline-size}.medal-in{background-color:var(--paper);background-blend-mode:normal, soft-light;background-image:radial-gradient(60% 60% at 40% 35%,#ffffff1f,#0000 70%),url(/textures/paper.png);background-size:100% 100%,256px 256px;position:absolute;top:0;bottom:0;left:0;right:0}.medal-line{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.medal-line path{fill:none;stroke:url(#g-foil-b);stroke-width:1px;vector-effect:non-scaling-stroke}.medal-name{font-family:var(--ff-moulpali);white-space:nowrap;font-size:19cqw;line-height:1.6;position:relative}.bride .medal-name{font-size:15cqw}.role{color:var(--ink-soft);letter-spacing:0;font-size:14px}html[data-lang=en] .role{font-family:var(--ff-serif);text-transform:uppercase;letter-spacing:.3em;font-size:12px;font-weight:600}.pname{font-family:var(--ff-moul);margin:0;font-size:clamp(20px,5.6vw,30px);font-weight:400;line-height:1.9}html[data-lang=en] .pname{font-family:var(--ff-serif);letter-spacing:.06em;font-size:clamp(24px,6vw,34px);font-weight:600;line-height:1.4}.pof{color:var(--ink-soft);margin-top:.2em;font-size:14px}.partner .parents{font-size:15.5px}.countdown{padding-block-start:clamp(80px,14vh,140px);padding-block-end:clamp(80px,14vh,140px)}.marquee{pointer-events:none;opacity:.09;position:absolute;top:50%;bottom:auto;left:0;right:0;overflow:hidden;transform:translateY(-50%)}.marquee-track{width:max-content;animation:80s linear infinite marquee;display:flex}.marquee-track span{font-family:var(--ff-moul);white-space:nowrap;color:var(--paper);padding-right:.8em;font-size:clamp(56px,13vw,150px);line-height:1.9}html[data-lang=en] .marquee-track span{font-family:var(--ff-script)}@keyframes marquee{to{transform:translate(-50%)}}.lite .marquee-track,.reduced .marquee-track{animation:none}.cd-grid{perspective:700px;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,2.6vw,22px);max-width:620px;margin:0 auto;display:grid;position:relative}.cd-tile{background:color-mix(in srgb, var(--cream) 80%, white);border:1px solid color-mix(in srgb, var(--f2) 45%, transparent);border-radius:14px;flex-direction:column;align-items:center;padding:clamp(10px,2.4vw,20px) 4px clamp(8px,2vw,14px);display:flex;box-shadow:inset 0 1px #fffc,0 12px 26px -16px #461e1473}.cd-num{font-family:var(--ff-moul);font-variant-numeric:tabular-nums;font-size:clamp(26px,8vw,54px);font-weight:400;line-height:1.5}html[data-lang=en] .cd-num{font-family:var(--ff-serif);font-weight:600}.cd-tile small{color:var(--ink-soft);font-size:clamp(11px,3vw,14px)}.cd-date{color:var(--ink-soft);margin-top:22px;position:relative}.prog-wrap{max-width:560px;margin:0 auto;position:relative}.thread{width:20px;height:100%;position:absolute;top:0;bottom:0;left:30px;overflow:visible;transform:translate(-50%)}.thread path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}.thread-bg{stroke:color-mix(in srgb, var(--f2) 25%, transparent);stroke-width:1px}.thread-fg{stroke:url(#g-foil-v);stroke-width:2px}.rites{gap:clamp(28px,6vh,52px);margin:0;padding:0;list-style:none;display:grid}.rite{text-align:left;grid-template-columns:60px 1fr;align-items:center;gap:16px;display:grid}.rite-node{z-index:1;background:var(--bg);border:1px solid color-mix(in srgb, var(--f2) 50%, transparent);width:60px;height:60px;transition:background .8s var(--ease-silk), box-shadow .8s var(--ease-silk), border-color .8s;border-radius:50%;place-items:center;display:grid;position:relative}.rite .ico{width:34px;overflow:visible}.rite .ico *{fill:none;stroke:url(#g-foil);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.rite.lit .rite-node{background:var(--paper);border-color:var(--b2);box-shadow:0 0 0 5px color-mix(in srgb, var(--bg) 100%, transparent), 0 0 0 6px color-mix(in srgb, var(--f2) 40%, transparent), 0 10px 26px -8px #6e1f2b99}.rite.lit .ico *{stroke:url(#g-foil-b)}.rite-time{font-family:var(--ff-moul);color:var(--paper);font-size:clamp(14px,3.8vw,17px);line-height:1.9}html[data-lang=en] .rite-time{font-family:var(--ff-serif);letter-spacing:.12em;font-weight:600}.rite-name{color:var(--ink);font-size:clamp(16px,4.4vw,20px);font-weight:500;line-height:1.85}html[data-lang=en] .rite-name{font-family:var(--ff-serif);font-size:clamp(19px,5vw,23px);line-height:1.4}.story{--sky1:#f4ead8;--sky2:#efdcc4;background:linear-gradient(180deg, var(--sky1), var(--sky2));padding:0}.story-pin{min-height:100svh;padding:calc(var(--topbar-h) + 10px) 0 32px;flex-direction:column;justify-content:center;display:flex}.story .sec-head{margin-bottom:clamp(16px,3vh,32px)}.story .sec-title .foil{transition:filter .6s}.story-card{color:var(--ink)}.story-track{will-change:transform;gap:clamp(16px,4vw,40px);width:max-content;padding:0 calc(50vw - min(39vw,170px));display:flex}.story-card{background-color:var(--cream);background-blend-mode:soft-light;border:1px solid color-mix(in srgb, var(--f2) 45%, transparent);background-image:url(/textures/card.png);background-size:220px;border-radius:200px 200px 14px 14px;flex-direction:column;flex:none;align-items:center;width:min(78vw,340px);padding:26px 22px 30px;display:flex;position:relative;box-shadow:0 2px 2px #461e141f,0 30px 50px -30px #3c14148c}.story-no{font-family:var(--ff-serif);letter-spacing:.3em;color:var(--f1);margin-top:14px;font-size:13px;font-weight:600}.story-art{width:78%;margin:8px 0 14px;overflow:visible}.story-art *{fill:none;stroke:url(#g-foil);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.story-l1{font-family:var(--ff-moul);color:var(--paper);font-size:clamp(15px,4.2vw,19px);line-height:1.9}.story-l2{color:var(--ink);font-size:clamp(14.5px,3.9vw,17px);line-height:1.9}html[data-lang=en] .story-l1{font-family:var(--ff-serif);font-size:22px;font-weight:600;line-height:1.4}html[data-lang=en] .story-l2{font-family:var(--ff-serif);font-size:19px;font-style:italic;line-height:1.45}.reduced .story-track{flex-wrap:wrap;justify-content:center;width:auto;padding:0 16px}.candlelight{touch-action:pan-y;cursor:pointer;-webkit-user-select:none;user-select:none;background:#120a0b;height:100svh;min-height:420px;position:relative;overflow:hidden}.water{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.candle-copy{top:auto;bottom:0;left:16px;right:16px;top:calc(var(--topbar-h) + 4svh);text-align:center;pointer-events:none;position:absolute}.candle-title{font-family:var(--ff-moul);margin:0;font-size:clamp(22px,6vw,40px);font-weight:400;line-height:1.9}html[data-lang=en] .candle-title{font-family:var(--ff-script);font-size:clamp(36px,9vw,64px);line-height:1.4}.candle-hint{color:color-mix(in srgb, var(--cream) 80%, transparent);font-size:14px;transition:opacity .8s}.candlelight.touched .candle-hint{opacity:.45}.masonry{columns:2 160px;column-gap:10px;max-width:1100px;margin:0 auto}@media (min-width:900px){.masonry{columns:3;column-gap:14px}}.g-item{break-inside:avoid;background-size:cover;border-radius:10px;width:100%;margin:0 0 10px;display:block;overflow:hidden}.g-item img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease-silk)}.g-item:hover img{transform:scale(1.04)}.viewer{z-index:120;touch-action:pan-y;background:#0e0808f0;place-items:center;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.viewer.open{display:grid}.viewer img{object-fit:contain;border-radius:6px;max-width:94vw;max-height:86svh}.viewer button{color:var(--b3);width:48px;height:48px;font-size:34px;position:absolute}.v-close{top:12px;right:12px}.v-prev{top:50%;left:6px}.v-next{top:50%;right:6px}.venue-name{font-family:var(--ff-moul);color:var(--paper);text-wrap:balance;max-width:28em;margin:-10px auto 22px;font-size:clamp(15px,4.2vw,21px);line-height:1.9}html[data-lang=en] .venue-name{font-family:var(--ff-serif);font-size:clamp(19px,5vw,25px);font-weight:600}.map-frame{background:var(--foil);border-radius:18px;max-width:860px;margin:0 auto;padding:6px;overflow:hidden;box-shadow:0 24px 50px -30px #461e1499}.map-frame iframe{filter:sepia(.22)saturate(.85);background:var(--bg-deep);border:0;border-radius:13px;width:100%;height:clamp(260px,52svh,440px);display:block}.btn-row{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px;display:flex}.btn{border:1px solid var(--f2);min-height:48px;color:var(--paper);background:color-mix(in srgb, var(--cream) 70%, transparent);transition:transform .3s var(--ease-silk), box-shadow .3s;border-radius:999px;align-items:center;gap:.55em;padding:0 22px;font-weight:500;line-height:1.6;text-decoration:none;display:inline-flex}.btn svg{fill:currentColor;flex:none;width:18px}.btn:active{transform:scale(.97)}.btn-solid{background:var(--paper);color:var(--b3);border-color:var(--paper);box-shadow:0 12px 24px -14px #6e1f2be6}.btn-solid svg{fill:var(--b3)}.gift-body{max-width:30em;color:var(--ink);text-wrap:pretty;margin:-8px auto 26px;line-height:1.95}html[data-lang=en] .gift-body{font-family:var(--ff-serif);font-size:19px;line-height:1.55}.qr-card{background:var(--foil);border-radius:22px;width:min(84vw,340px);margin:0 auto 24px;padding:10px;box-shadow:0 30px 60px -30px #461e14a6}.qr-card img{border-radius:14px;width:100%;height:auto}.thanks{text-align:center;background-color:var(--paper-deep);background-blend-mode:normal, soft-light;background-image:radial-gradient(70% 50% at 50% 18%,#ffbe7829,#0000 70%),url(/textures/paper.png);background-size:100% 100%,256px 256px;padding:clamp(80px,13vh,130px) 16px 28px;position:relative;overflow:hidden}.candles{justify-content:center;align-items:flex-end;gap:clamp(10px,4vw,28px);margin-bottom:18px;display:flex}.candle{width:clamp(24px,6.4vw,38px);overflow:visible}.candle:nth-child(2),.candle:nth-child(4){width:clamp(20px,5.4vw,32px)}.candle:first-child,.candle:nth-child(5){width:clamp(16px,4.4vw,26px)}.candle .wax{fill:var(--cream)}.candle .drip{fill:none;stroke:#966e3c59;stroke-width:1.4px}.candle .wick{stroke:#3a2418;stroke-width:1.6px}.candle .glow{fill:#ffc47847}.candle .flame{fill:#ffbe6a}.candle .flame-core{fill:#fff3d6}.candle .flame-wrap{transform-box:fill-box;animation:2.4s ease-in-out infinite flicker}.candle:nth-child(2n) .flame-wrap{animation-delay:-1.1s}@keyframes flicker{0%,to{opacity:1}40%{opacity:.88}55%{opacity:.97}70%{opacity:.9}}.lite .candle .flame-wrap{animation:none}.thanks-title{font-family:var(--ff-moul);margin:0;font-size:clamp(34px,10vw,64px);font-weight:400;line-height:1.8}html[data-lang=en] .thanks-title{font-family:var(--ff-script);font-size:clamp(50px,13vw,90px);line-height:1.3}.thanks-body{color:color-mix(in srgb, var(--cream) 88%, transparent);max-width:26em;margin:0 auto}html[data-lang=en] .thanks-body{font-family:var(--ff-serif);font-size:20px;font-style:italic}.share{max-width:560px;margin:36px auto 0}.share-title{color:var(--b2);margin-bottom:12px;font-size:14px}.share-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (min-width:640px){.share-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.share-btn{border:1px solid color-mix(in srgb, var(--b2) 35%, transparent);min-height:52px;color:var(--cream);text-align:left;background:#fff5e112;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-size:13.5px;line-height:1.5;text-decoration:none;display:flex}.share-btn svg{flex:none;width:24px;height:24px}.share-btn:active{transform:scale(.97)}.thanks .namelogo{width:min(64vw,260px);margin:40px auto 0}.credit{margin-top:36px;font-size:12px}.credit a{color:color-mix(in srgb, var(--cream) 60%, transparent);font-family:var(--ff-serif);letter-spacing:.08em;text-decoration:none}.credit a:hover{color:var(--b3)}.toast{left:50%;bottom:max(20px, env(safe-area-inset-bottom));opacity:0;z-index:130;background:var(--ink);color:var(--cream);pointer-events:none;transition:.4s var(--ease-silk);border-radius:999px;padding:10px 18px;font-size:14px;position:fixed;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}@media (orientation:landscape) and (max-height:500px){.story-pin{padding:calc(var(--topbar-h) - 8px) 0 14px}.story .sec-crest,.story .sec-div{display:none}.story .sec-head{margin-bottom:8px}.story .sec-title{font-size:20px}.story-card{text-align:left;border-radius:120px 18px 18px 120px;grid-template-rows:auto auto;grid-template-columns:34% 1fr;align-items:center;gap:0 14px;width:min(62vw,420px);padding:14px 20px;display:grid}.story-no{display:none}.story-art{grid-row:1/3;width:100%;margin:0}.story-card .story-l1{align-self:end}.story-card .story-l2{align-self:start}.story-track{padding:0 calc(50vw - min(31vw,210px))}.sec:not(.story){padding-block-start:64px;padding-block-end:64px}}
