@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:400;src:url(/assets/cormorant-garamond-vietnamese-400-normal-6K-YXo6g.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-400-normal-4uxlocMh.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:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-vietnamese-400-italic-BoXDRTEW.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-400-italic-CJpMwFnN.woff)format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff)format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff)format("woff")}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{color:#675240;background:#fbf6ed;margin:0;font-family:Be Vietnam Pro,sans-serif;font-size:16px}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline-offset:5px;outline:2px solid #98713d}button{border:0}button:disabled{opacity:.4;cursor:default}::selection{color:#fffaf0;background:#cfad7e}img{max-width:100%;display:block}.serif{font-family:Cormorant Garamond,Georgia,serif}.loading{text-align:center;padding:40px}.demo-bar{color:#806a52;background:#f6edde;border-bottom:1px solid #b48b572e;justify-content:space-between;gap:16px;padding:12px 5%;font-size:12px;line-height:1.7;display:flex}.demo-bar button{color:#866438;background:0 0;padding:0;font-size:12px}.site-nav{z-index:2;justify-content:space-between;align-items:center;max-width:1440px;margin:auto;padding:28px 6%;display:flex;position:relative}.brand{letter-spacing:1px;color:#715a42;font-size:30px}.brand em{color:#a47b46}.links{color:#826d57;gap:30px;font-size:14px;display:flex}.hero{background:radial-gradient(at 83% 38%,#f1d3ab68,#0000 48%),radial-gradient(at 5% 95%,#e6c4bb50,#0000 55%),linear-gradient(135deg,#fffaf0,#f8f0e2 65%,#f3e5d4);position:relative;overflow:hidden}.hero-body{grid-template-columns:1fr 1fr;align-items:center;gap:30px;max-width:1320px;margin:auto;padding:55px 7% 85px;display:grid}.kicker{letter-spacing:3px;text-transform:uppercase;color:#907047;font-size:12px;line-height:2}.hero h1{white-space:pre-line;letter-spacing:-3px;color:#755941;margin:29px 0 25px;font-size:clamp(80px,8vw,120px);font-weight:400;line-height:.93}.hero-copy{white-space:pre-line;color:#87705a;max-width:430px;font-size:16px;line-height:2}.gold-button{color:#836039;background:#fffaf140;border:1px solid #b69664;justify-content:center;align-items:center;gap:30px;min-height:46px;padding:17px 23px;font-size:14px;transition:all .3s;display:inline-flex}.gold-button:hover{color:#fffaf0;background:#aa814c;box-shadow:0 8px 30px #ad895e2e}.hero .gold-button{margin-top:23px}.photo-universe{perspective:1000px;height:430px;transition:translate .6s;position:relative}.orbit-ring{border:1px solid #b48b5745;border-radius:50%;width:350px;height:350px;position:absolute;top:34px;left:calc(50% - 175px);transform:rotate(-25deg)scaleX(1.15)}.orbit-ring.second{border-color:#b48b572d;width:400px;height:230px;top:98px;left:calc(50% - 200px);transform:rotate(35deg)}.hero-photo{object-fit:cover;border:6px solid #fffdf6;position:absolute;box-shadow:0 20px 55px #99754d2e}.hero-photo.center{z-index:2;width:220px;height:300px;top:55px;left:calc(50% - 110px);transform:rotate(6deg)}.hero-photo.left{z-index:1;width:145px;height:190px;top:23px;left:0;transform:rotate(-15deg)}.hero-photo.right{z-index:3;width:145px;height:180px;bottom:5px;right:-5px;transform:rotate(15deg)}.universe-note{letter-spacing:3px;color:#92713e;font-size:12px;position:absolute;bottom:14px;left:8px}.large-star{color:#c09a58;font-size:46px;position:absolute;top:-2px;right:45px}.hero-foot{letter-spacing:2px;color:#8e7a61;border-top:1px solid #b48b5730;justify-content:space-between;align-items:center;max-width:1170px;margin:0 auto;padding:22px 0;font-size:12px;display:flex}.hero-foot .serif{letter-spacing:0;color:#997b56;font-size:22px;font-style:italic}.memories{background:radial-gradient(at 20% 20%,#eecdc03d,#0000 58%),#fcf7ee;padding:95px 7% 85px;overflow:hidden}.section-head{text-align:center}.section-head h2{letter-spacing:-1px;color:#705944;margin:17px 0 20px;font-size:clamp(45px,5vw,70px);font-weight:400;line-height:1.1}.section-head h2 em{color:#9b6751;font-weight:400}.section-head p:not(.kicker){color:#88705b;font-size:15px;line-height:2}.text-link{color:#8a663d;border-bottom:1px solid #b79b6e;width:fit-content;margin:45px auto 0;padding:12px;font-size:14px;display:block}.memory-quote{text-align:center;color:#99785a;max-width:640px;margin:75px auto 0;font-size:35px;font-style:italic;font-weight:400;line-height:1.5}.memory-quote:before{content:"✧";color:#b3945d;margin-bottom:26px;font-size:25px;display:block}.video-section{background:#f5eddf;padding:65px 7% 95px}.cinema{background:#ebe4cf;align-items:center;min-height:700px;display:flex;position:relative;overflow:hidden}.cinema-image{object-fit:cover;filter:brightness(1.08)saturate(.65);width:100%;height:100%;position:absolute;inset:0}.cinema:after{content:"";pointer-events:none;background:linear-gradient(90deg,#fcf4e5f2,#faf1dfd9 27%,#f6ead481 58%,#e9dbc820),linear-gradient(#0000 45%,#f5eadb8c);position:absolute;inset:0}.cinema-copy{z-index:2;width:100%;max-width:1440px;margin:auto;padding:80px 9%;position:relative}.cinema h2{letter-spacing:-2px;color:#675b47;margin:24px 0;font-size:clamp(70px,7.6vw,112px);font-weight:400;line-height:1}.cinema h2 em{color:#a47c58;font-weight:400}.cinema .gold-button{margin-top:28px}.cinema-note{z-index:2;color:#6c684f;font-size:25px;font-style:italic;position:absolute;bottom:35px;right:8%}.closing{text-align:center;background:#faf3e7;padding:65px 20px 40px}.closing .brand{font-size:35px}.closing p{letter-spacing:1px;color:#8d775e;margin-top:20px;font-size:12px;line-height:2}.letter-dialog{color:#68553d;text-align:center;background:#fffbf1;border:1px solid #c0a779;width:min(550px,100% - 36px);max-height:85dvh;padding:65px 55px;position:relative;overflow:auto;box-shadow:0 30px 100px #81613d3b}.letter-dialog h2{white-space:pre-line;margin:30px 0 25px;font-size:51px;font-weight:400;line-height:1.05}.letter-dialog p:not(.kicker){white-space:pre-line;color:#816c52;font-size:16px;line-height:2.1}.letter-dialog .signature{margin:28px 0 10px;font-style:italic;color:#977749!important;font-size:29px!important}.dialog-close{color:inherit;z-index:3;background:0 0;width:44px;height:44px;font-size:26px;position:absolute;top:9px;right:12px}dialog::backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#eee1cbd9}@media (width<=1000px){.hero-body{padding:55px 6% 65px}.hero h1{font-size:89px}.photo-universe{height:360px}.hero-photo.center{width:175px;height:250px;left:calc(50% - 87px)}.hero-photo.left{width:110px;height:150px}.hero-photo.right{width:110px;height:145px}.orbit-ring{width:270px;height:290px;left:calc(50% - 135px)}.orbit-ring.second{width:310px;height:200px;left:calc(50% - 155px)}.hero-foot{margin:0 6%}}@media (width<=650px){.demo-bar{padding:10px 18px;font-size:12px}.demo-bar button{min-height:30px;font-size:12px}.site-nav{padding:23px 25px}.brand{font-size:23px}.links{gap:15px;font-size:12px}.links a{padding:12px 0}.hero-body{grid-template-columns:1fr;gap:32px;padding:30px 28px 40px}.hero h1{letter-spacing:-2px;margin:24px 0;font-size:clamp(77px,23vw,90px)}.kicker{letter-spacing:2px;font-size:12px}.hero-copy{font-size:15px}.gold-button{padding:15px 19px;font-size:12px}.photo-universe{width:100%;max-width:355px;height:345px;margin:auto}.hero-photo.center{width:180px;height:250px;top:35px;left:calc(50% - 90px)}.hero-photo.left{width:118px;height:158px;top:15px;left:0}.hero-photo.right{width:118px;height:150px;bottom:0;right:-2px}.orbit-ring{width:250px;top:10px;left:calc(50% - 125px)}.orbit-ring.second{width:280px;top:80px;left:calc(50% - 140px)}.large-star{font-size:35px;top:-10px;right:35px}.universe-note{letter-spacing:2px;font-size:11px;bottom:0;left:6px}.hero-foot{letter-spacing:1px;margin:0 25px;padding:18px 0;font-size:11px}.hero-foot .serif{font-size:17px}.memories{padding:65px 23px}.section-head h2{font-size:47px}.section-head p:not(.kicker){font-size:14px}.memory-quote{margin-top:60px;font-size:28px}.video-section{padding:55px 25px}.cinema{min-height:680px}.cinema-copy{padding:70px 28px 100px}.cinema h2{letter-spacing:-1px;font-size:clamp(60px,17vw,74px);line-height:1.03}.cinema .kicker{max-width:240px}.cinema-image{object-position:56% center}.cinema:after{background:linear-gradient(90deg,#fcf4e5eb,#faf1dfb8 55%,#f6ead447),linear-gradient(#0000 35%,#f5eadbb3)}.cinema-note{text-align:right;font-size:18px;bottom:27px;left:25px;right:25px}.letter-dialog{padding:55px 27px 35px}.letter-dialog h2{font-size:43px}.letter-dialog p:not(.kicker){font-size:15px}.closing p{font-size:12px}}#album{max-width:850px;margin:60px auto 0}.album-shell{background:#fffdf6;border:1px solid #bfa57824;padding:15px 15px 0;position:relative;rotate:-1deg;box-shadow:0 25px 70px #a17d4b24}.album-shell:before{content:"";z-index:-1;background:#eee1c9;border:1px solid #c4a57325;position:absolute;inset:17px -9px -13px 9px;rotate:2deg}.tape{z-index:3;pointer-events:none;background:#c9b78e85;width:110px;height:30px;position:absolute;top:-15px;left:calc(50% - 55px);rotate:-5deg}.photo-surface{touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#eee7d8;width:100%;height:440px;padding:0;display:block;position:relative;overflow:hidden}.photo-stack{position:absolute;inset:0}.photo-stack img{object-fit:contain;opacity:0;width:100%;height:100%;transition:opacity .8s;position:absolute;inset:0}.photo-stack img.visible{opacity:1}.photo-surface.failed .photo-stack{opacity:.15}.photo-error{color:#775c3c;align-content:center;padding:45px;font-size:16px;line-height:1.9;position:absolute;inset:0}.photo-chapter{color:#fff9ed;letter-spacing:2px;text-align:left;background:linear-gradient(#0000,#2e271d8a);padding:20px 22px;font-size:12px;position:absolute;bottom:0;left:0;right:0}.photo-corner{color:#fff5dc;font-size:25px;position:absolute;bottom:15px;right:20px}.photo-note{text-align:center;overflow-wrap:anywhere;min-height:90px;padding:23px 22px 19px}.photo-note h3{color:#80613f;margin:0;font-size:34px;font-style:italic;font-weight:400}.photo-note p{color:#907452;margin:7px 0 0;font-size:14px}.album-tools{color:#80613f;justify-content:space-between;align-items:center;gap:12px;margin-top:30px;font-size:14px;display:flex}.album-controls{gap:7px;display:flex}.album-controls button{color:#80613f;background:#fffaf0;border:1px solid #b99a6545;min-width:44px;min-height:44px;padding:10px 14px;font-size:15px}.album-controls button:hover{background:#eddfc5}.album-controls .play-toggle{min-width:105px}.album-hint{font-size:12px}.album-status,.album-instructions{text-align:center;color:#89704d;margin:16px 0 0;font-size:12px;line-height:1.9}.thumbnails{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px;display:flex}.thumbnails button{color:#8d6d45;background:#fffaf0;border:1px solid #d3bea04d;width:44px;height:44px;font-size:14px}.thumbnails button[aria-pressed=true]{background:#e9d9ba;border-color:#a88350;translate:0 -3px}.empty-state{text-align:center;color:#8c7354;padding:45px;font-size:16px}.text-link{text-align:center;max-width:100%;line-height:1.8}.letter-dialog h2,.hero h1,.hero-copy{overflow-wrap:anywhere}.thumbnails button:has(img){padding:3px}.thumbnails img{object-fit:cover;width:100%;height:100%}.hero h1 em{color:#b37e66;font-weight:400}.focus-sentinel{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.modal-open{overflow:hidden}.video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:1080px;margin:28px auto 0;display:grid}.video-card{min-width:0}.video-poster{background:#fffcf3;width:100%;padding:8px;position:relative;box-shadow:0 12px 30px #98784a17}.video-poster img{object-fit:cover;filter:saturate(.8);width:100%;height:135px}.video-play{color:#6f5434;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff9e46e;border:1px solid #fff8e0b0;border-radius:50%;place-items:center;width:50px;height:50px;font-size:26px;transition:all .3s;display:grid;position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.video-poster:hover .video-play{background:#fff9e4d9;scale:1.08}.video-card h3{color:#806141;margin:19px 0 8px;font-size:24px;font-weight:400}.video-card p{color:#866d52;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.9}.more-videos{margin:35px auto 0;display:block}.more-videos[hidden]{display:none}.video-theater{background:#fffdf6;border:1px solid #b798663b;max-width:1080px;margin:45px auto 0;padding:12px;box-shadow:0 20px 55px #92704920}.video-screen{position:relative}.video-screen video{aspect-ratio:16/9;object-fit:contain;background:#ece4d5;width:100%;max-height:75svh;display:block}.inline-play{color:#705232;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffaf0e8;border:1px solid #d7bf98;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-width:170px;min-height:115px;padding:18px 25px;font-size:15px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 30px #53402c20}.inline-play span:first-child{font-size:45px;line-height:1}.inline-play:hover{background:#fffaf0}.inline-play[hidden],.video-playlist[hidden]{display:none}.video-now{padding:20px 20px 8px}.video-now h3{overflow-wrap:anywhere;margin:8px 0;font-size:36px;font-weight:400}.video-now .kicker{margin:0}.video-notice{color:#806344;font-size:14px;line-height:1.8}.video-notice:empty{display:none}.video-loading,.video-error{margin:16px 20px;font-size:15px}.video-caption{color:#8a7354;font-size:15px;line-height:1.9}.video-error{font-size:16px;line-height:1.9}.video-error[hidden]{display:none}.letter-dialog .dialog-close{float:right;background:#fffbf1;border-radius:50%;margin-top:-45px;margin-right:-27px;position:sticky;top:-45px;right:-12px}@media (width<=650px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.video-poster img{height:95px}.video-card h3{font-size:22px}.video-section{padding-left:16px;padding-right:16px}.video-theater{padding:7px}.video-now{padding:18px 12px 5px}.video-now h3{font-size:30px}.inline-play{min-width:140px;min-height:95px;padding:14px 20px;font-size:14px}.inline-play span:first-child{font-size:36px}.letter-dialog .dialog-close{margin-right:-12px;right:0}#album{margin-top:45px}.album-shell{padding:9px 9px 0;rotate:-.7deg}.photo-surface{height:365px}.photo-note{padding:20px 12px}.photo-note h3{font-size:29px}.photo-chapter{letter-spacing:1px;padding:18px 13px;font-size:11px}.album-hint{display:none}.album-tools{margin-top:25px}.album-controls{gap:5px}.album-controls button{min-width:44px;padding:9px}.album-controls .play-toggle{min-width:98px}.thumbnails{gap:4px}.thumbnails button{width:44px;min-width:44px;height:44px}.album-status,.album-instructions{font-size:12px}.photo-error{padding:24px;font-size:15px}}#light-canvas{pointer-events:none;z-index:4;width:100%;height:100%;position:fixed;inset:0}.gift-dialog{color:#795d40;text-align:center;background:radial-gradient(circle at 50% 35%,#edce9f5c,#0000 48%),radial-gradient(at 20% 80%,#f0d4cb44,#0000 60%),#fcf7ed;border:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:35px 20px;position:fixed;inset:0;overflow:auto}.gift-dialog[open]{place-items:center;display:grid}.gift-dialog::backdrop{background:#fcf7ed}.gift-inner{max-width:540px;position:relative}.gift-inner h2{white-space:pre-line;letter-spacing:-1px;color:#82644a;margin:27px 0 17px;font-size:60px;font-weight:400;line-height:1.05}.gift-copy{color:#8b7355;margin-bottom:27px;font-size:15px;line-height:1.9}.gift-hint{color:#927b5f;letter-spacing:1px;margin-top:25px;font-size:12px}.envelope-stage{perspective:700px;place-items:center;height:165px;margin:40px auto 20px;display:grid;position:relative}.envelope{width:190px;height:119px;transform-style:preserve-3d;background:#c4a575;animation:4s ease-in-out infinite envelopeFloat;position:relative;transform:rotate(-5deg);box-shadow:0 20px 65px #ae85513b}.envelope:before{content:"";clip-path:polygon(0 0,50% 57%,100% 0);transform-origin:top;z-index:3;background:#e0cba6;transition:transform .8s;position:absolute;inset:0}.envelope:after{content:"";clip-path:polygon(0 100%,0 8%,50% 63%,100% 8%,100% 100%);z-index:2;background:linear-gradient(120deg,#d6bd93,#bea176);position:absolute;inset:0}.seal{z-index:4;color:#efdfbc;background:#a37f50;border:1px solid #c5a572;border-radius:50%;place-items:center;width:28px;height:28px;font-family:Georgia,serif;transition:opacity .3s;display:grid;position:absolute;top:48px;left:calc(50% - 14px)}.envelope-paper{color:#a48961;z-index:1;background:#fffdf1;padding-top:20px;font-size:21px;font-style:italic;transition:transform .8s .15s;position:absolute;inset:12px 16px 0}.halo{border:1px solid #bfa36d40;border-radius:50%;width:290px;height:290px;animation:30s linear infinite orbitSpin;position:absolute;top:-62px}.halo:before,.halo:after{content:"✦";color:#b49154;font-size:18px;position:absolute;top:23px;left:40px}.halo:after{font-size:14px;inset:auto 40px 23px auto}.gift-dialog.opening .envelope:before{transform:rotateX(180deg)}.gift-dialog.opening .seal{opacity:0}.gift-dialog.opening .envelope-paper{transform:translateY(-65px)}.gift-dialog.opening .envelope{animation:none;transform:rotate(0)}.hero-photo.center{animation:7s ease-in-out infinite floatCenter}.large-star{animation:4s infinite twinkle}.cinema-image{animation:24s infinite alternate kenburns}.reveal-ready{opacity:0;transition:opacity 1.2s,translate 1.2s;translate:0 30px}.reveal-ready.in-view{opacity:1;translate:0}.hero.entered .hero-body>div{animation:1.2s both enterStory}.hero.entered .photo-universe{animation-delay:.2s}.letter-dialog[open]{animation:.9s cubic-bezier(.16,.8,.25,1) letterIn}.gold-button{position:relative;overflow:hidden}.gold-button:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#fffdf0a0,#0000);width:40%;animation:8s infinite gleam;position:absolute;inset:-40% auto -40% -70%;transform:rotate(25deg)}@keyframes envelopeFloat{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-8px)rotate(-2deg)}}@keyframes orbitSpin{to{rotate:360deg}}@keyframes floatCenter{0%,to{transform:translateY(0)rotate(6deg)}50%{transform:translateY(-13px)rotate(3deg)}}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:1}}@keyframes kenburns{0%{transform:scale(1.02)}to{transform:scale(1.13)translate(-1%,1%)}}@keyframes enterStory{0%{opacity:0;filter:blur(6px);transform:translateY(25px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes letterIn{0%{opacity:0;transform:perspective(900px)rotateX(-13deg)translateY(40px)scale(.9)}to{opacity:1;transform:perspective(900px)rotateX(0)translateY(0)scale(1)}}@keyframes gleam{0%,70%,to{left:-70%}90%{left:140%}}@media (width<=650px){.gift-inner h2{font-size:47px}.gift-inner .kicker{font-size:11px}.envelope-stage{margin-top:30px;margin-bottom:10px}.gift-copy{font-size:14px}.halo{width:260px;height:260px;top:-48px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.photo-universe{translate:0!important}.reveal-ready{opacity:1;translate:0}#light-canvas{display:none}}@media (width<=650px){.hero h1{font-size:clamp(65px,19vw,80px)}.site-nav{flex-wrap:wrap;gap:8px 16px;padding-left:20px;padding-right:20px}.links{flex-wrap:wrap;gap:16px}.universe-note{letter-spacing:1.8px;max-width:145px;line-height:1.6}.hero-foot{grid-template-columns:1fr auto;gap:12px;display:grid}.hero-foot .serif{text-align:center;grid-area:2/1/auto/-1;font-size:20px}.hero-foot>span:last-child{grid-area:1/2}}
