@font-face{font-family:Pinyon Script;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/pinyon-script-vietnamese-400-normal.D9IEVGR9.woff2)format("woff2"),url(/_astro/pinyon-script-vietnamese-400-normal.DsnOr8jX.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Pinyon Script;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/pinyon-script-latin-ext-400-normal.DzUoH_k9.woff2)format("woff2"),url(/_astro/pinyon-script-latin-ext-400-normal.Cu_llAZZ.woff)format("woff");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:Pinyon Script;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/pinyon-script-latin-400-normal.HCoaxbyT.woff2)format("woff2"),url(/_astro/pinyon-script-latin-400-normal.3W0BoeAr.woff)format("woff");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:Prata;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/prata-cyrillic-ext-400-normal.Bx7zt7J5.woff2)format("woff2"),url(/_astro/prata-cyrillic-ext-400-normal.CZKl2ISA.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Prata;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/prata-cyrillic-400-normal.CW5LVkdR.woff2)format("woff2"),url(/_astro/prata-cyrillic-400-normal.DdkJ869o.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Prata;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/prata-vietnamese-400-normal.BloiTr7W.woff2)format("woff2"),url(/_astro/prata-vietnamese-400-normal.cdHED1vq.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Prata;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/prata-latin-400-normal.DtyCfkTi.woff2)format("woff2"),url(/_astro/prata-latin-400-normal.C4yJuFIr.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/be-vietnam-pro-vietnamese-400-normal.CRcqvyg1.woff2)format("woff2"),url(/_astro/be-vietnam-pro-vietnamese-400-normal.BuGn0gnm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/be-vietnam-pro-latin-ext-400-normal.CiZNW1ec.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-ext-400-normal.DYBYyMQr.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/be-vietnam-pro-latin-400-normal.PpnXBOrz.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-400-normal.bXgqVju9.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/be-vietnam-pro-vietnamese-500-normal.DREgrEoJ.woff2)format("woff2"),url(/_astro/be-vietnam-pro-vietnamese-500-normal.CfdwVo8-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/be-vietnam-pro-latin-ext-500-normal.h0Fp6aX0.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-ext-500-normal.CK0UkkKf.woff)format("woff");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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/be-vietnam-pro-latin-500-normal.B6LVzGNe.woff2)format("woff2"),url(/_astro/be-vietnam-pro-latin-500-normal.BJkVuMHw.woff)format("woff");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}:root,:root[data-theme=hong]{--bg:#fdf6f4;--bg-edge:#f6e2e2;--ink:#4b2a33;--text:#6b4c54;--accent:#a8345c;--accent-soft:#f7dfe5;--line:#e6bccb;--surface:#ffffffb8;--letterbox:#24161a;--flora-opacity:1;--glow:0 1.2cqw 3cqw -1.6cqw #a8345c59}:root[data-theme=do]{--bg:#9a1e20;--bg-edge:#6c1012;--ink:#fff3dc;--text:#f6e1c2;--accent:#ecc77f;--accent-soft:#ecc77f24;--line:#ecc77f8c;--surface:#3c060847;--letterbox:#160405;--flora-opacity:.92;--glow:0 1.2cqw 3cqw -1.6cqw #00000080}:root{--script:"Pinyon Script", cursive;--serif:"Prata", Georgia, serif;--sans:"Be Vietnam Pro", system-ui, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--letterbox);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;place-items:center;transition:background-color .5s;display:grid;overflow:hidden}h1,h2,h3,p,ol,ul{margin:0}ol,ul{padding:0;list-style:none}button{font:inherit;color:inherit}.stage{aspect-ratio:16/9;background:radial-gradient(ellipse 75% 70% at 50% 45%, var(--bg) 55%, var(--bg-edge) 100%);user-select:none;-webkit-tap-highlight-color:transparent;width:min(100vw,177.78dvh);transition:background .5s;position:relative;overflow:hidden;container-type:size}html:not(.is-awake) .stage{cursor:none}.slide{opacity:0;visibility:hidden;transition:opacity .7s var(--ease), visibility 0s linear .7s;place-items:center;display:grid;position:absolute;inset:0}.slide.is-active{opacity:1;visibility:visible;transition:opacity .7s var(--ease), visibility 0s}.slide:before,.slide:after{content:"";pointer-events:none;border:1.5px solid var(--line);border-radius:1.4cqw;position:absolute}.slide:before{inset:1.8cqw}.slide:after{opacity:.55;border-width:1px;border-radius:1cqw;inset:2.3cqw}.rise{opacity:0;translate:0 1.6cqw}.is-ready .is-active .rise{opacity:1;transition:opacity .9s var(--ease), translate .9s var(--ease);transition-delay:calc(var(--i,0) * .14s + .15s);translate:0}@media (prefers-reduced-motion:reduce){.rise{translate:none}.is-ready .is-active .rise{transition-duration:.3s;transition-delay:0s}}.kicker{font:400 1.15cqw/1.4 var(--serif);letter-spacing:.32em;text-transform:uppercase;color:var(--accent)}.title{z-index:1;font:400 5.6cqw/1.25 var(--script);color:var(--accent);text-align:center;position:relative}.title--xl{font-size:6.6cqw}.title--top{position:absolute;top:5.4cqw;left:0;right:0}.lead{max-width:60cqw;font:400 1.9cqw/1.75 var(--serif);color:var(--ink);text-align:center;text-wrap:balance}.center{z-index:1;justify-items:center;gap:2cqw;display:grid;position:relative}.ornament{align-items:center;gap:1cqw;display:flex}.ornament span{background:linear-gradient(90deg, transparent, var(--accent));width:7cqw;height:1.5px}.ornament span:last-child{background:linear-gradient(90deg, var(--accent), transparent)}.ornament i{border:1.5px solid var(--accent);width:.8cqw;height:.8cqw;rotate:45deg}.ornament--sm span{width:3.4cqw}.ornament--sm i{width:.6cqw;height:.6cqw}.sample{z-index:3;border:1px dashed var(--accent);font:500 .85cqw/1.4 var(--sans);color:var(--accent);letter-spacing:.04em;border-radius:9999px;padding:.35cqw 1cqw;position:absolute;top:3.2cqw;right:3.6cqw}.flora{z-index:0;pointer-events:none;height:auto;opacity:var(--flora-opacity);position:absolute}.fl-tl{width:23cqw;top:-1.4cqw;left:-1.4cqw}.fl-tl--sm{width:15cqw}.fl-br{width:23cqw;bottom:-1.4cqw;right:-1.4cqw;scale:-1}.fl-br--sm{width:15cqw}.fl-col{width:auto;height:50cqw;top:50%;translate:0 -50%}.fl-col--left{left:.5cqw}.fl-col--right{right:.5cqw;scale:-1 1}.cover{z-index:1;text-align:center;justify-items:center;display:grid;position:relative}.cover .kicker{margin-bottom:1.2cqw;font-size:1.5cqw}.cover__names{font:400 8.4cqw/1.05 var(--script);color:var(--accent);justify-items:center;display:grid}.cover__amp{font:400 3.4cqw/1 var(--serif);color:var(--ink);opacity:.75;margin:.6cqw 0}.cover .ornament{margin:2.4cqw 0 2cqw}.cover__date{font:400 2.8cqw/1.2 var(--serif);letter-spacing:.12em;color:var(--ink);font-variant-numeric:lining-nums tabular-nums}.cover__lunar{font:400 1.35cqw/1.4 var(--serif);color:var(--text);margin-top:.6cqw;font-style:italic}.cover__place{font:400 1.4cqw/1.4 var(--sans);letter-spacing:.06em;color:var(--text);margin-top:1.2cqw}.slide .center:has(.lead){margin-top:4cqw}.family{z-index:1;text-align:center;justify-items:center;display:grid;position:relative}.family--left{translate:8cqw}.family--right{translate:-8cqw}.family .title{margin-top:.4cqw}.family .ornament{margin:1.4cqw 0 2.2cqw}.family__parents{font:400 2.4cqw/1.35 var(--serif);color:var(--ink);gap:.6cqw;display:grid}.family__home{font:400 1.4cqw/1.4 var(--sans);letter-spacing:.06em;color:var(--text);margin-top:1.4cqw}.family__child{border-top:1px solid var(--line);justify-items:center;min-width:30cqw;margin-top:3cqw;padding-top:2cqw;display:grid}.family__role{font:400 1.1cqw/1.4 var(--serif);letter-spacing:.32em;text-transform:uppercase;color:var(--text)}.family__name{font:400 4.6cqw/1.3 var(--script);color:var(--accent)}.couple{z-index:1;grid-template-columns:1fr 1fr;gap:14cqw;margin-top:5cqw;display:grid;position:relative}.person{text-align:center;justify-items:center;width:30cqw;display:grid}.person__arch{border:1.5px solid var(--line);background:var(--accent-soft);width:13cqw;height:17cqw;box-shadow:var(--glow);border-radius:9999px 9999px 1.2cqw 1.2cqw;place-items:center;margin-bottom:1.6cqw;display:grid}.person__arch span{font:400 10cqw/1 var(--script);color:var(--accent);translate:0 .8cqw}.person__name{font:400 2.5cqw/1.3 var(--serif);color:var(--ink);margin-top:.4cqw}.person__intro{font:400 1.4cqw/1.65 var(--sans);color:var(--text);text-wrap:pretty;margin-top:1cqw}.couple__amp{font:400 4cqw/1 var(--serif);color:var(--accent);opacity:.75;position:absolute;top:6cqw;left:50%;translate:-50%}.timeline{z-index:1;grid-template-columns:repeat(var(--n), 1fr);width:84cqw;margin-top:6cqw;display:grid;position:relative}.timeline:before{content:"";top:4.25cqw;left:calc(100% / var(--n) / 2);right:calc(100% / var(--n) / 2);background:var(--line);height:1.5px;position:absolute}.milestone{text-align:center;align-content:start;justify-items:center;padding:0 1.4cqw;display:grid}.milestone__date{height:3cqw;font:400 1.6cqw/3cqw var(--serif);color:var(--accent);font-variant-numeric:lining-nums}.milestone__dot{background:var(--accent);width:1.4cqw;height:1.4cqw;box-shadow:0 0 0 .45cqw var(--bg), 0 0 0 .6cqw var(--line);border-radius:50%;margin:.6cqw 0 1.6cqw;position:relative}.milestone__title{font:400 2cqw/1.35 var(--serif);color:var(--ink)}.milestone__text{font:400 1.3cqw/1.65 var(--sans);color:var(--text);text-wrap:pretty;margin-top:.8cqw}.program{z-index:1;justify-items:center;display:grid;position:relative;translate:-6cqw}.steps{gap:1.5cqw;width:54cqw;margin-top:2cqw;display:grid}.step{grid-template-columns:auto 1fr;align-items:center;gap:2cqw;display:grid}.step__num{border:1.5px solid var(--line);background:var(--accent-soft);width:3.6cqw;height:3.6cqw;font:400 1.6cqw/1 var(--serif);color:var(--accent);border-radius:50%;place-items:center;display:grid}.step__title{font:400 2cqw/1.3 var(--serif);color:var(--ink)}.step__time{color:var(--accent);font-variant-numeric:lining-nums tabular-nums;margin-right:1cqw}.step__detail{font:400 1.3cqw/1.5 var(--sans);color:var(--text);margin-top:.2cqw}.upcoming{z-index:1;grid-template-columns:repeat(3,24cqw);gap:3cqw;margin-top:6cqw;display:grid;position:relative}.event{border:1.5px solid var(--line);background:var(--surface);box-shadow:var(--glow);text-align:center;border-radius:11.5cqw 11.5cqw 1.4cqw 1.4cqw;align-content:start;justify-items:center;gap:1cqw;padding:4.4cqw 1.8cqw 3cqw;display:grid}.event__title{font:400 3.1cqw/1.2 var(--script);color:var(--accent);white-space:nowrap}.event__date{font:400 2cqw/1.3 var(--serif);color:var(--ink);letter-spacing:.06em;font-variant-numeric:lining-nums tabular-nums}.event__place{font:400 1.2cqw/1.55 var(--sans);color:var(--text);display:grid}.signature{font:400 4.2cqw/1.2 var(--script);color:var(--accent);margin-top:1cqw}.signature .amp{font:400 .6em/1 var(--serif);opacity:.8;margin:0 .4em}.progress{pointer-events:none;height:3px;position:fixed;bottom:0;left:0;right:0}.progress span{background:var(--accent);transform-origin:0;height:100%;transition:scale .6s var(--ease);display:block;scale:0 1}.controls{backdrop-filter:blur(8px);color:#fff;opacity:0;pointer-events:none;background:#140a0c8c;border-radius:9999px;align-items:center;gap:4px;padding:4px;transition:opacity .4s;display:flex;position:fixed;bottom:16px;right:16px}.is-awake .controls,.controls:focus-within{opacity:1;pointer-events:auto}.ctl{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;transition:background .2s;display:grid}@media (hover:hover){.ctl:hover{background:#ffffff29}}.ctl:focus-visible{outline-offset:-2px;outline:2px solid #fff}.ctl svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.ctl__count{min-width:56px;font:500 14px/1 var(--sans);text-align:center;font-variant-numeric:tabular-nums}.ctl__sep{background:#ffffff4d;width:1px;height:22px;margin:0 4px}.ctl__swatch{background:linear-gradient(135deg,#f2b8c8 50%,#b3191c 50%);border:2px solid #fff;border-radius:50%;width:20px;height:20px}.hint{color:#fff;font:400 14px/1.4 var(--sans);white-space:nowrap;pointer-events:none;background:#140a0cb3;border-radius:9999px;padding:10px 18px;transition:opacity .6s;position:fixed;bottom:24px;left:50%;translate:-50%}.hint.is-gone{opacity:0}.hint kbd{font:inherit;border:1px solid #ffffff80;border-radius:4px;padding:1px 6px}@media (width<=640px){.hint{display:none}}
