@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-normal-Czevyj-6.woff2)format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-normal-CJcjJNj7.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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-normal-DihXLNYH.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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-italic-DxWqP7Ku.woff2)format("woff2-variations");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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-italic-CGbN9UgK.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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-italic-lSdLDfvT.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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.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}:root{--blush:#f9e4e1;--rose:#efa9b4;--berry:#8e2a4b;--gold:#c9a24b;--pine:#2f4a3a;--ink:#4a1228;--night:#070b1a;--teal:#1e7f6b;--aurora:#5cf2a5;--candle:#ffc46b;--snow:#f5f1e8;--plum:#5a2a5e;--mist:#c4d8cf;--display:"Fraunces Variable", "Iowan Old Style", Georgia, serif;--text:"Figtree Variable", system-ui, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--gutter:clamp(1rem, 4vw, 4rem);--fg:var(--ink);--accent:var(--berry);--focus:var(--berry);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scrollbar-color:var(--berry) transparent;-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--blush);color:var(--fg);font:400 clamp(1.0625rem, .98rem + .3vw, 1.25rem) / 1.65 var(--text);-webkit-font-smoothing:antialiased;margin:0;overflow-x:clip}::selection{background:var(--berry);color:var(--blush)}img,video,canvas{max-width:100%;display:block}p{text-wrap:pretty;margin:0}h1,h2{font-family:var(--display);font-optical-sizing:auto;text-wrap:balance;margin:0;font-weight:340}button{font:inherit;color:inherit}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.night,.opening,.finale,.lightbox{--fg:var(--snow);--accent:var(--snow);--focus:var(--aurora);color:var(--fg)}.night ::selection{background:var(--aurora);color:var(--night)}.opening ::selection{background:var(--aurora);color:var(--night)}.finale ::selection{background:var(--aurora);color:var(--night)}.ground,.ground-stars,.cinema{pointer-events:none;position:fixed;inset:0}.ground{z-index:-3;background:var(--blush)}.ground-stars{z-index:-2;opacity:0;background-image:radial-gradient(1.2px 1.2px at 8% 14%, var(--snow), transparent), radial-gradient(1px 1px at 23% 61%, var(--snow), transparent), radial-gradient(1.6px 1.6px at 37% 27%, var(--snow), transparent), radial-gradient(1px 1px at 52% 83%, var(--snow), transparent), radial-gradient(1.3px 1.3px at 66% 9%, var(--snow), transparent), radial-gradient(1px 1px at 74% 48%, var(--snow), transparent), radial-gradient(1.8px 1.8px at 88% 71%, var(--snow), transparent), radial-gradient(1px 1px at 95% 31%, var(--snow), transparent), radial-gradient(1.1px 1.1px at 14% 92%, var(--snow), transparent), radial-gradient(1px 1px at 46% 6%, var(--snow), transparent);background-size:560px 480px}.cinema{z-index:-1;opacity:0;background:#010207}.sky-still,.sky-gl{position:absolute;inset:0}.sky-still{background:radial-gradient(1.4px 1.4px at 12% 18%, var(--snow), transparent), radial-gradient(1px 1px at 31% 9%, var(--snow), transparent), radial-gradient(1.6px 1.6px at 58% 22%, var(--snow), transparent), radial-gradient(1px 1px at 77% 12%, var(--snow), transparent), radial-gradient(1.2px 1.2px at 89% 34%, var(--snow), transparent), radial-gradient(1px 1px at 44% 38%, var(--snow), transparent), radial-gradient(ellipse 70% 22% at 30% 38%, #5cf2a56b, transparent 70%), radial-gradient(ellipse 60% 18% at 72% 28%, #1e7f6b8c, transparent 70%), radial-gradient(ellipse 90% 30% at 50% 12%, #5a2a5e8c, transparent 75%), linear-gradient(var(--night), var(--night))}.sky-gl{opacity:0;transition:opacity 1.6s var(--ease)}.sky-gl.is-ready{opacity:1}.sky-gl canvas{width:100%!important;height:100%!important}.opening{min-height:100svh;padding:var(--gutter);background:var(--night);isolation:isolate;align-items:end;padding-bottom:clamp(5rem,16svh,10rem);display:grid;position:relative}.opening:after{content:"";background:linear-gradient(transparent, #5a2a5e8c 45%, var(--rose) 82%, var(--blush));pointer-events:none;height:9rem;position:absolute;inset:auto 0 0}.opening__text{z-index:1;max-width:64rem;position:relative}.opening h1{letter-spacing:-.025em;flex-wrap:wrap;column-gap:.25em;font-size:clamp(3.25rem,9vw,7.5rem);font-weight:300;line-height:.95;display:flex}.mask{padding-bottom:.1em;display:block;overflow:clip}.mask>span{display:block}.opening__sub{letter-spacing:-.01em;color:var(--mist);margin-top:.4rem;font-size:clamp(1.5rem,3.4vw,2.75rem);font-style:italic;font-weight:300}.opening h1 .mask:nth-child(3){flex-basis:100%}.opening__by{letter-spacing:.01em;color:var(--mist);margin-top:1.75rem;font-size:1.0625rem}.begin{cursor:pointer;transition:background-color .15s var(--ease), border-color .15s var(--ease), transform .15s var(--ease);background:#070b1a59;border:1px solid #f5f1e88c;border-radius:999px;align-items:center;gap:.6rem;margin-top:2.25rem;padding:.8rem 1.4rem .8rem 1.6rem;display:inline-flex}.begin:hover{border-color:var(--snow);background:#f5f1e81f;transform:translateY(-1px)}.begin:active{transform:translateY(1px)scale(.985)}.rail{z-index:20;background:var(--blush);color:var(--berry);opacity:0;visibility:hidden;transition:opacity .24s var(--ease), translate .24s var(--ease), visibility 0s linear .24s;border:1px solid #8e2a4b38;border-radius:999px;padding:.45rem 1.1rem;font-size:.875rem;position:fixed;bottom:1rem;left:50%;translate:-50% .5rem;box-shadow:0 6px 24px -10px #4a122859}.rail.is-on{opacity:1;visibility:visible;transition:opacity .24s var(--ease), translate .24s var(--ease);translate:-50%}.rail ol{white-space:nowrap;align-items:center;margin:0;padding:0;list-style:none;display:flex}.rail li+li:before{content:"";vertical-align:middle;background:#8e2a4b59;width:1.5rem;height:1px;margin:0 .6rem;display:inline-block}.rail a{align-items:center;gap:.45rem;padding:.15rem 0;text-decoration:none;display:inline-flex}.rail a:hover{color:var(--ink)}.rail__dot{width:.5rem;height:.5rem;transition:background-color .24s var(--ease);border:1px solid;border-radius:50%}.rail .is-here a{color:var(--ink);font-weight:600}.rail .is-here .rail__dot{background:var(--berry)}.rail__time{font-variant-numeric:tabular-nums;color:var(--berry);font-style:italic;font-weight:500}.scene{position:relative}.scene h2{letter-spacing:-.025em;color:var(--accent);font-size:clamp(2.75rem,6vw,5.5rem);line-height:.98}.day h2{color:var(--berry)}.lead{font-family:var(--display);letter-spacing:-.01em;font-size:clamp(1.4rem,1.1rem + 1vw,1.95rem);font-weight:360;line-height:1.38}.say{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;font-size:clamp(2rem,1.2rem + 3.2vw,3.6rem);font-style:italic;font-weight:320;line-height:1.12}.day .say{color:var(--berry)}.beat{padding-inline:var(--gutter);grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(2rem,5vw,6rem);display:grid}.beat--flip{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.steps{grid-area:1/2;max-width:34rem;padding-block:24svh 34svh}.beat--flip .steps{grid-column:1;justify-self:end}.steps>*+*{margin-top:30svh}.steps>h2+*{margin-top:2.5rem}.beat>.fig{flex-direction:column;grid-area:1/1;justify-content:center;align-self:start;height:100svh;padding-block:2rem 5rem;display:flex;position:sticky;top:0}.beat--flip>.fig{grid-column:2}.fig{margin:0}.fig__row{align-items:flex-start;gap:clamp(.75rem,1.5vw,1.5rem);display:flex}.fig figcaption{font-family:var(--display);color:var(--accent);margin-top:1rem;font-size:1.0625rem;font-style:italic;line-height:1.4}.day .fig figcaption{color:var(--ink)}.photo{aspect-ratio:var(--r);cursor:zoom-in;background:#8e2a4b1f;border:0;border-radius:3px;padding:0;display:block;overflow:hidden;box-shadow:0 18px 40px -22px #4a12288c}.night .photo,.finale .photo{background:#f5f1e80f;box-shadow:0 18px 50px -24px #000000e6}.photo img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}@media (hover:hover) and (pointer:fine){.photo:hover img{transform:scale(1.03)}}.beat .fig--single{align-items:center}.beat .fig--single .photo{width:auto;height:min(72svh,100svh - 11rem)}.beat .fig--pair .photo{flex:0 calc(50% - .75rem);max-height:64svh}.beat .fig--pair .photo:nth-child(2){margin-top:10svh}.beat--flip .fig--pair .fig__row{justify-content:flex-end}.beat--flip .fig figcaption{text-align:right}.beat .fig--single figcaption{align-self:center}.interlude{max-width:38rem;padding:18svh var(--gutter);box-sizing:content-box;margin-inline:auto}.interlude>*+*{margin-top:1.4em}.interlude>h2+*{margin-top:2.5rem}.interlude>.say{margin-block:2.2em}.strip{position:relative}.strip__pin{align-items:center;height:100svh;display:flex;position:sticky;top:0;overflow:clip}.strip__pin:before,.strip__pin:after{content:"";background:repeating-linear-gradient(90deg,#8e2a4b2e 0 14px,#0000 14px 34px);height:14px;position:absolute;inset-inline:0}.strip__pin:before{top:2rem}.strip__pin:after{bottom:5.5rem}.years{padding:0 12vw 0 var(--gutter);gap:8vw;width:max-content;margin:0;list-style:none;display:flex}.year{grid-template-rows:auto 1fr;grid-template-columns:22rem auto;align-items:start;column-gap:clamp(2rem,4vw,4rem);display:grid}.year__body{display:contents}.year__n{font-family:var(--display);letter-spacing:-.04em;color:var(--berry);font-variant-numeric:lining-nums;grid-area:1/1;font-size:clamp(5rem,11vw,9.5rem);font-weight:200;line-height:.85}.year__body>p{grid-area:2/1;margin-top:2rem}.year .fig{grid-area:1/2/span 2}.years .fig--pair .photo{width:auto;height:min(56svh,34rem)}.years .fig--pair .photo:nth-child(2){margin-top:6svh}.years--still{width:auto;padding:4rem var(--gutter);display:block}.years--still .year{grid-template-columns:minmax(0,22rem) minmax(0,1fr);max-width:72rem;margin-inline:auto}.years--still .fig--pair .photo{flex:1 1 0;height:auto;max-height:70svh}.years--still .year+.year{margin-top:6rem}.fig--trio{max-width:76rem;padding:0 var(--gutter) 4rem;box-sizing:content-box;margin:0 auto}.fig--trio .photo{flex:1 1 0}.fig--trio .photo:nth-child(2){margin-top:8svh}.fig--trio figcaption{text-align:center}.dusk{height:100svh}#walk .interlude{padding-top:40svh}.film{width:min(100% - 2 * var(--gutter), 76rem);margin:0 auto;padding-block:12svh}.film__frame{transform-origin:50%;position:relative}.film video{aspect-ratio:16/9;background:#000;border-radius:4px;width:100%;height:auto;box-shadow:0 40px 120px -40px #5cf2a540}.film figcaption{text-align:center;font-family:var(--display);color:var(--mist);margin-top:1.25rem;font-style:italic}.sound{color:var(--snow);cursor:pointer;transition:background-color .15s var(--ease);background:#070b1ad1;border:1px solid #f5f1e899;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1.1rem;display:inline-flex;position:absolute;top:1rem;left:1rem}.sound:hover{background:var(--night)}.finale{background:var(--night);isolation:isolate;position:relative}.finale__sky{z-index:0;height:100svh;margin-bottom:-100svh;position:sticky;top:0;overflow:hidden}.finale__sky:after{content:"";background:#070b1a61;position:absolute;inset:0}.finale .scene,.foot{z-index:1}.finale p,.finale figcaption{text-shadow:0 1px 14px #070b1ad9}.candles{z-index:1;opacity:0;width:100%;height:100%;transition:opacity .6s var(--ease);position:absolute;inset:0}.candles.is-lit{opacity:1}.fig--wide{max-width:62rem;padding:22svh var(--gutter) 0;box-sizing:content-box;margin:0 auto}.fig--wide figcaption{color:var(--mist)}.ask{height:230svh}.ask__pin{height:100svh;padding-inline:var(--gutter);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2.75rem;display:flex;position:sticky;top:0}.ask--still{height:auto}.ask--still .ask__pin{height:auto;padding-block:20svh;position:static}.say--ask{max-width:15ch;font-size:clamp(2.6rem,1rem + 6vw,6rem);font-style:normal;font-weight:300;line-height:1.04}.yes{border:1px solid var(--candle);min-width:9rem;color:var(--candle);font-family:var(--display);cursor:pointer;transition:background-color .15s var(--ease), color .15s var(--ease), transform .15s var(--ease), box-shadow .6s var(--ease);background:0 0;border-radius:999px;padding:.85rem 2.75rem;font-size:1.6rem;line-height:1.2}.yes:hover{background:#ffc46b24;transform:translateY(-1px)}.yes:active{transform:translateY(1px)scale(.985)}.yes[aria-pressed=true]{background:var(--candle);color:var(--night);box-shadow:0 10px 50px -8px #ffc46b99}.yes:focus-visible{outline-color:var(--candle)}.say--reply{padding:16svh var(--gutter);text-align:center;color:var(--candle);box-sizing:content-box;max-width:22ch;margin-inline:auto}.say--end{padding:4svh var(--gutter) 10svh;text-align:center;box-sizing:content-box;max-width:20ch;margin-inline:auto}.forever{max-width:72rem;padding:0 var(--gutter) 14svh;box-sizing:content-box;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(2rem,6vw,6rem);margin:0 auto;display:grid}.forever .fig--pair .photo{flex:1 1 0;max-height:64svh}.forever .fig{max-width:40rem}.forever .fig--pair .photo:nth-child(2){margin-top:10svh}.forever figcaption{color:var(--mist)}.days{justify-items:start;gap:.5rem;display:grid}.days__n{font-family:var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums lining-nums;color:var(--candle);font-size:clamp(4.5rem,10vw,8.5rem);font-weight:250;line-height:.9}.days__l{color:var(--mist);font-size:1.0625rem}.foot{padding:3rem var(--gutter) 4rem;color:var(--mist);border-top:1px solid #f5f1e824;flex-wrap:wrap;justify-content:center;gap:.5rem 2rem;font-size:.9375rem;display:flex;position:relative}.lightbox{background:0 0;border:0;max-width:96vw;max-height:96svh;padding:0;overflow:visible}.lightbox::backdrop{background:#070b1aed}.lightbox img{border-radius:3px;width:auto;max-width:96vw;height:auto;max-height:calc(96svh - 4.5rem);margin-inline:auto}.lightbox__bar{justify-content:center;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.lightbox__bar form{margin:0}.lightbox__bar button{color:var(--snow);cursor:pointer;transition:background-color .15s var(--ease);background:0 0;border:1px solid #f5f1e880;border-radius:999px;padding:.5rem 1.1rem;font-size:.9375rem}.lightbox__bar button:hover{background:#f5f1e81f}.lightbox__count{text-align:center;font-variant-numeric:tabular-nums;min-width:5.5rem;color:var(--mist);font-size:.9375rem}@media (width<=767px){.rail{display:none}.beat,.beat--flip{padding-block:5rem 1rem;display:block}.steps{max-width:none;padding:0}.steps>*+*{margin-top:1.4em}.beat>.fig{height:auto;padding:2.5rem 0 0;position:static}.beat .fig--single .photo{width:100%;height:auto;max-height:none}.beat .fig--pair .photo,.years .fig--pair .photo{flex:1 1 0;width:auto;height:auto;max-height:none}.beat .fig--pair .photo:nth-child(2),.years .fig--pair .photo:nth-child(2),.fig--trio .photo:nth-child(2),.forever .fig--pair .photo:nth-child(2){margin-top:0}.beat--flip .fig figcaption{text-align:left}.interlude{padding-block:4.5rem}.year,.years--still .year{display:block}.year__body>p{margin-top:1rem}.year .fig{margin-top:1.5rem}.years--still .year+.year{margin-top:4rem}.fig--trio .fig__row{gap:.5rem}.film{padding-block:2rem}.forever{grid-template-columns:1fr}.sound{padding:.45rem .9rem;font-size:.9375rem;top:.5rem;left:.5rem}.lightbox__bar{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.photo:hover img,.begin:hover,.yes:hover{transform:none}}
