@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Noto+Serif+SC:wght@400;500;600;700&display=swap');
:root{--wine:#250e15;--wine-light:#34161e;--gold:#c9a56e;--gold-light:#ebd5a7;--ivory:#f2e8d8;--muted:#b6a297;--serif:'Noto Serif SC','Songti SC',SimSun,serif;--english:'Cormorant Garamond',Georgia,serif;--sans:'Microsoft YaHei','PingFang SC',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--wine);color:var(--ivory);font-family:var(--sans);font-size:14px;line-height:1.8}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold-light);outline-offset:7px}button{color:inherit}::selection{background:#bf9b62;color:#230e15}.grain{position:fixed;inset:0;pointer-events:none;z-index:7;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.progress{height:2px;width:0;background:var(--gold);position:fixed;top:0;left:0;z-index:30}.skip{position:fixed;top:-70px;left:20px;z-index:100;background:var(--gold);color:var(--wine);padding:10px}.skip:focus{top:10px}.header{position:absolute;inset:0 0 auto;height:108px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;z-index:5;border-bottom:1px solid #e3ba7520}.brand{display:flex;align-items:center;gap:13px;font-family:var(--serif);letter-spacing:4px;font-size:18px}.brand-mark{display:grid;place-items:center;width:41px;height:45px;border:1px solid #cfac7180;color:var(--gold-light);font-size:25px;letter-spacing:0;position:relative}.brand-mark:after{content:'';position:absolute;inset:3px;border:1px solid #cfac7135}.brand small{font-family:var(--english);display:block;font-size:13px;letter-spacing:1.5px;line-height:1.4;color:var(--gold)}.header nav{display:flex;gap:42px;font-size:12px;color:#d7c6b7;letter-spacing:2px}.header nav a{transition:color .2s}.header nav a:hover{color:var(--gold-light)}.music-button{display:flex;align-items:center;gap:11px;border:1px solid #d4b37b50;border-radius:30px;padding:9px 18px;background:#260f1630;letter-spacing:1px;font-size:11px}.music-bars{height:14px;display:flex;gap:3px;align-items:center}.music-bars i{height:4px;width:2px;background:var(--gold)}.music-bars i:nth-child(2){height:12px}.music-bars i:nth-child(3){height:8px}.music-button[aria-pressed=true] i{animation:equalize .9s ease-in-out infinite alternate}.music-button[aria-pressed=true] i:nth-child(2){animation-delay:-.3s}.music-button[aria-pressed=true] i:nth-child(3){animation-delay:-.7s}@keyframes equalize{to{height:14px}from{height:3px}}.hero{height:880px;min-height:720px;max-height:1100px;position:relative;isolation:isolate;overflow:hidden;background:#1d0c11}.hero-image{position:absolute;inset:0;background:url('assets/hero.jpg') center 55%/cover no-repeat;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#1e0b12e8 0%,#250e1590 35%,#250e1500 70%),linear-gradient(0deg,#250e15 0%,transparent 22%,transparent 80%,#1c0a1240)}.hero-frame{position:absolute;inset:132px 34px 31px;pointer-events:none;opacity:.55}.hero-frame i{position:absolute;width:28px;height:28px;border-color:var(--gold);border-style:solid}.hero-frame i:nth-child(1){top:0;left:0;border-width:1px 0 0 1px}.hero-frame i:nth-child(2){top:0;right:0;border-width:1px 1px 0 0}.hero-frame i:nth-child(3){bottom:0;left:0;border-width:0 0 1px 1px}.hero-frame i:nth-child(4){bottom:0;right:0;border-width:0 1px 1px 0}.hero-content{position:relative;padding-top:206px;margin-left:12%;max-width:650px;animation:arrive 1.1s both}.dedication{font-size:11px;letter-spacing:4px;display:flex;align-items:center;gap:15px;color:var(--gold-light)}.dedication span{width:37px;height:1px;background:var(--gold)}.hero-script{font-family:var(--english);font-size:43px;font-style:italic;color:var(--gold);margin:27px 0 8px;line-height:1.2;font-weight:400}.hero h1{font-family:var(--serif);font-weight:500;letter-spacing:9px;font-size:clamp(56px,5.4vw,85px);line-height:1.36;margin:10px 0 22px;text-shadow:0 3px 25px #210a12}.title-dot{color:var(--gold);letter-spacing:0}.hero-copy{color:#cebdaf;line-height:2.2;font-size:14px;letter-spacing:2px;margin-bottom:30px}.gold-button{background:linear-gradient(110deg,#e4c28c,#b99055);color:#30171b;border:1px solid #f0d19e;display:inline-flex;justify-content:center;align-items:center;gap:42px;min-height:53px;padding:13px 27px;font-size:12px;letter-spacing:2px;box-shadow:0 4px 26px #bf8a3820;transition:box-shadow .25s,filter .25s}.gold-button:hover{filter:brightness(1.1);box-shadow:0 4px 32px #c0903c40}.gold-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.3}.hero-footnote{font-size:10px;color:#bda98f;letter-spacing:3px;margin-top:23px;display:flex;gap:11px;align-items:center}.tiny-star{font-size:18px}.vertical-note{position:absolute;right:30px;top:43%;writing-mode:vertical-rl;font-family:var(--english);letter-spacing:4px;font-size:10px;color:#dec18b9c}.scroll-cue{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:16px;font-size:10px;letter-spacing:3px;color:#c7b29a}.scroll-cue i{width:1px;height:32px;background:linear-gradient(var(--gold),transparent)}.hero-edition{position:absolute;bottom:60px;right:7%;font-family:var(--english);font-style:italic;font-size:19px;line-height:1.3;color:var(--gold-light);text-align:right}.hero-edition span{font-size:13px;color:var(--gold)}@keyframes arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.wish-ribbon{min-height:82px;border-top:1px solid #b28a4f40;border-bottom:1px solid #b28a4f40;background:#2c1119;display:flex;align-items:center;justify-content:center;gap:6vw;font-family:var(--serif);color:var(--gold);font-size:13px;letter-spacing:5px}.wish-ribbon b{font-weight:400;font-size:20px;opacity:.5}.section-wrap{max-width:1200px;margin:0 auto;padding-left:55px;padding-right:55px}.letter-section{padding-top:130px;padding-bottom:135px;display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.memory-composition{position:relative;padding:13px 0 0 13px}.memory-border{border:1px solid #c6a76b70;position:relative;padding:10px}.memory-border:before{content:'';position:absolute;inset:12px -12px -12px 12px;border:1px solid #c6a76b25;z-index:-1}.memory-border img{display:block;width:100%;height:415px;object-fit:cover;filter:sepia(.12)}.memory-tag{position:absolute;left:-14px;top:45px;writing-mode:vertical-rl;letter-spacing:4px;font-family:var(--serif);font-size:12px;background:var(--wine);padding:15px 5px;color:var(--gold-light)}.memory-seal{position:absolute;right:-22px;bottom:69px;background:#682530;border:1px solid #bc8f60;border-radius:50%;outline:4px solid var(--wine);width:75px;height:75px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#e6cfa9;font-family:var(--serif);font-size:12px;line-height:1.8;transform:rotate(9deg);box-shadow:0 4px 16px #14050a55}.memory-caption{font-family:var(--serif);font-size:11px;letter-spacing:2px;color:#bdab96;margin-top:23px;padding-left:9px}.memory-caption small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:1px;color:#9e877d;margin-top:6px}.section-kicker{font-size:10px;letter-spacing:3px;color:var(--gold);margin:0 0 20px}h2{font-family:var(--serif);font-size:34px;line-height:1.7;font-weight:400;letter-spacing:3px;margin:0}.fine-rule{width:52px;height:1px;background:var(--gold);margin:26px 0}.letter-intro>p:not(.section-kicker){color:var(--muted);font-size:12px;line-height:2.5;letter-spacing:1px;margin:15px 0}.letter-link{margin-top:18px;padding:17px 0;display:flex;align-items:center;gap:15px;background:none;border:0;border-top:1px solid #c9a56e35;border-bottom:1px solid #c9a56e35;color:var(--gold-light);font-size:12px;letter-spacing:1px;width:100%;text-align:left}.letter-link svg{width:24px;height:21px;fill:none;stroke:var(--gold);stroke-width:1}.letter-link>span:last-child{margin-left:auto;font-size:18px}.handwritten{display:block;margin-top:24px;color:#b88d70;font-family:var(--serif);font-size:11px;letter-spacing:3px;transform:rotate(-3deg)}.wishes-section{background:#1d0b11;padding:97px 0 80px;position:relative;border-top:1px solid #c9a56e18;border-bottom:1px solid #c9a56e18}.section-heading{text-align:center;position:relative;z-index:1}.ornament{font-size:35px;line-height:1;color:var(--gold);display:block;margin-bottom:26px}.section-heading .section-kicker{margin-bottom:18px}.section-heading h2{font-size:35px;line-height:1.65}.wishes-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px}.wish-card{text-align:center;position:relative;padding:0 25px 33px}.wish-card+.wish-card{border-left:1px solid #c9a56e28}.wish-art{height:133px;margin-bottom:27px;display:flex;align-items:center;justify-content:center}.wish-art svg{height:118px;width:118px;fill:none;stroke:var(--gold);stroke-width:1;opacity:.8}.wish-art.botanical svg{fill:#bc91500e}.wish-category{font-size:10px;color:var(--gold);letter-spacing:4px}.wish-card h3{font-family:var(--serif);font-size:20px;font-weight:400;letter-spacing:1px;margin:19px 0 17px}.wish-card p{font-size:11px;color:#ac9789;line-height:2.5;letter-spacing:1px}.wish-bottom{text-align:center;font-family:var(--serif);color:#c1aa8c;letter-spacing:2px;font-size:12px;margin:38px 0 0;line-height:2.5}.wish-bottom span{display:block;color:#9e8674;font-size:11px}.celebrate-section{padding:110px 25px 76px;text-align:center;overflow:hidden;position:relative;background:radial-gradient(ellipse at 50% 55%,#65352435,transparent 55%)}.celebrate-section .section-heading h2{font-size:39px;line-height:1.6}.celebrate-subtitle{color:#b09a8a;font-size:12px;line-height:2.2;letter-spacing:1.5px;margin-top:21px}.celebration-orbit{position:absolute;border:1px solid #c9a56e16;border-radius:50%;pointer-events:none;left:50%;top:100px;transform:translateX(-50%)}.orbit-one{width:710px;height:710px}.orbit-two{width:760px;height:760px;top:75px;border-style:dashed;border-color:#c9a56e0c}.celebration-stars{position:absolute;top:285px;left:calc(50% - 220px);color:var(--gold);font-size:24px}.celebration-stars span{position:absolute;left:419px;top:95px;font-size:16px}.celebration-stars i{position:absolute;left:370px;top:-90px;font-style:normal;font-size:18px}.cake-scene{width:280px;height:255px;position:relative;margin:12px auto 23px}.cake-glow{position:absolute;width:270px;height:200px;background:radial-gradient(ellipse,#e3ae4f1f,transparent 70%);top:0;transition:opacity 1s}.candles{display:flex;gap:22px;position:absolute;bottom:141px;left:50%;transform:translateX(-50%);align-items:flex-end;z-index:3;height:75px}.candles i{width:6px;height:49px;background:repeating-linear-gradient(135deg,#dcc493 0 5px,#b29666 5px 8px);position:relative;border-radius:2px 2px 0 0}.candles i:nth-child(2),.candles i:nth-child(4){height:60px}.candles i:nth-child(3){height:67px}.candles b{position:absolute;width:10px;height:19px;bottom:calc(100% + 5px);left:-2px;background:radial-gradient(ellipse at 50% 80%,#fffbea 4%,#ffe191 36%,#df9c3f 70%,transparent 75%);border-radius:55% 45% 50% 50%;box-shadow:0 0 16px 3px #e8b35070;transform-origin:bottom;animation:flicker 2s ease-in-out infinite alternate}.candles i:nth-child(2n) b{animation-delay:-1.3s}@keyframes flicker{0%{transform:rotate(-4deg) scale(.93)}100%{transform:rotate(5deg) scale(1.04)}}.cake-top{position:absolute;width:220px;height:46px;border-radius:50%;bottom:117px;left:30px;background:linear-gradient(#f0ddae,#d8bc83);border:1px solid #f8e8c5;z-index:2;box-shadow:inset 0 0 0 8px #d7b77c,inset 0 0 0 10px #f1deb0}.cake-body{position:absolute;bottom:50px;left:30px;width:220px;height:88px;background:linear-gradient(90deg,#b2935d,#edd9a5 35%,#dfc48b 65%,#ad8a52);border-radius:0 0 50% 50%/0 0 24% 24%;box-shadow:inset 0 -9px 0 #8b683749}.cake-body>span{font-family:var(--english);font-style:italic;position:absolute;top:34px;left:0;width:100%;color:#725029;font-size:20px;text-shadow:0 1px #fff2c766}.cake-piping{position:absolute;left:0;right:0;bottom:7px;height:9px;background:radial-gradient(ellipse at center,#ead29e 45%,transparent 50%) 0 0/13px 9px}.cake-base{position:absolute;bottom:36px;left:10px;width:260px;height:31px;border-radius:50%;background:linear-gradient(#d6b777,#97703d);box-shadow:0 4px 0 #72512a;z-index:-0}.cake-body{z-index:1}.cake-stand{position:absolute;bottom:3px;left:110px;width:60px;height:35px;background:linear-gradient(90deg,#684721,#cfaa6a,#806035);clip-path:polygon(20% 0,80% 0,60% 70%,100% 90%,100% 100%,0 100%,0 90%,40% 70%)}.cake-scene.blown .candles b{animation:none;opacity:0;transition:opacity .6s;transform:translateY(-15px)}.cake-scene.blown .cake-glow{opacity:0}.wish-button{position:relative;gap:25px;min-width:280px}.wish-status{font-size:10px;letter-spacing:2px;color:#a38a76;min-height:25px;margin:19px 0 10px}.fireworks-link{background:none;border:0;color:var(--gold);font-size:11px;letter-spacing:2px;padding:12px;border-bottom:1px solid #c9a56e35}.fireworks-link span{margin-left:8px}.closing-section{text-align:center;padding-top:62px;padding-bottom:95px}.closing-line{height:64px;width:1px;background:linear-gradient(transparent,#c9a56e70);margin:0 auto 35px}.closing-small{font-size:10px;color:#a58d79;letter-spacing:4px}.closing-section h2{font-size:30px;line-height:1.9;margin-top:24px;color:#e7d4b4}.closing-section>p{font-size:11px;color:#bba38e;letter-spacing:2px;margin-top:21px}.closing-signature{display:flex;justify-content:center;align-items:baseline;gap:14px;margin:36px 0 26px}.closing-signature>span:first-child{font-size:11px;color:#a28a7a;letter-spacing:2px}.closing-signature strong{font-family:var(--serif);font-size:24px;font-weight:400;color:var(--gold-light);letter-spacing:4px}.signature-heart{font-size:32px;color:var(--gold);line-height:1}.edit-button{font-size:10px;color:#9d8674;letter-spacing:2px;border:0;border-bottom:1px solid #c9a56e30;background:none;padding:8px}.edit-button span{margin-left:5px}footer{border-top:1px solid #c9a56e25;padding:31px 6%;display:flex;justify-content:space-between;align-items:center;color:#9a806e;font-size:10px;letter-spacing:2px}.footer-brand{font-family:var(--serif);color:var(--gold);font-size:15px;letter-spacing:4px}footer>span{font-family:var(--english);font-style:italic;font-size:15px;letter-spacing:1px}dialog{padding:0;border:1px solid #c5a17180;max-height:85vh;max-height:85dvh;overscroll-behavior:contain;box-shadow:0 30px 120px #0009}dialog::backdrop{background:#10050be0;backdrop-filter:blur(9px)}.close-dialog{position:absolute;right:15px;top:11px;border:0;background:none;color:#957344;font-size:28px;line-height:1;padding:8px;z-index:2}.letter-dialog{max-width:650px;width:calc(100% - 32px);background:#eee3cb;color:#523a2e}.letter-paper{padding:55px 60px 65px;background:repeating-linear-gradient(0deg,transparent,transparent 33px,#ad8c4c08 33px,#ad8c4c08 34px);position:relative}.paper-date{font-size:10px;letter-spacing:4px;color:#97774a}.letter-paper h2{font-size:24px;margin:30px 0 23px;letter-spacing:2px}.letter-body{font-family:var(--serif);font-size:14px;line-height:2.6;white-space:pre-wrap;overflow-wrap:anywhere}.letter-ending{font-family:var(--serif);font-size:14px;line-height:2.4;margin-top:28px}.paper-signature{text-align:right;font-family:var(--serif);font-size:13px;margin-top:35px}.paper-signature strong{font-size:21px;font-weight:400;margin-left:7px}.letter-stamp{display:block;border:2px solid #a3433b90;color:#a3433b90;line-height:1.5;font-family:var(--serif);font-size:13px;padding:5px;width:45px;text-align:center;transform:rotate(-9deg);margin-top:20px}.edit-dialog{width:calc(100% - 32px);max-width:620px;padding:43px 40px;background:#2e141d;color:var(--ivory)}.edit-dialog .close-dialog{color:var(--gold)}.edit-dialog h2{font-size:27px}.edit-description{font-size:11px;color:var(--muted);margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;color:#d7bc94;font-size:12px;letter-spacing:1px;margin:0 0 20px}input,textarea{display:block;width:100%;border:1px solid #c9a56e45;background:#1c0b1250;color:#f3e3c9;padding:11px 13px;margin-top:8px;outline:0;border-radius:0;font-size:13px}input:focus,textarea:focus{border-color:var(--gold)}textarea{resize:vertical;line-height:1.9;min-height:160px}.edit-dialog .gold-button{width:100%}#save-status{font-size:11px;min-height:18px;color:var(--gold)}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,15px);background:#eddbb8;color:#3d2521;border:1px solid #d3b07a;padding:13px 25px;font-size:12px;letter-spacing:1px;box-shadow:0 4px 25px #0004;z-index:60;opacity:0;pointer-events:none;transition:.3s;max-width:90vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}#fireworks-canvas{position:fixed;inset:0;pointer-events:none;z-index:50;width:100%;height:100%}body.modal-open{overflow:hidden}
@media(min-width:1600px){.hero-content{margin-left:calc((100vw - 1200px)/2 + 40px)}.hero{height:950px}.hero-content{padding-top:240px}}@media(max-width:1050px){.hero-content{margin-left:9%;padding-top:220px}.hero{height:850px}.hero h1{font-size:65px}.hero-image{background-position:59% center}.letter-section{gap:55px}.section-wrap{padding-left:40px;padding-right:40px}.memory-border img{height:375px}.letter-intro h2{font-size:27px}.wish-card{padding-left:15px;padding-right:15px}.wish-card h3{font-size:18px}.header nav{gap:26px}.dedication{letter-spacing:2px}}@media(max-width:700px){html{scroll-padding-top:20px}.header{height:86px;padding:0 6%}.brand{font-size:15px;gap:10px;letter-spacing:3px}.brand-mark{width:34px;height:38px;font-size:23px}.brand small{font-size:11px;letter-spacing:1px}.header nav{display:none}.music-button{padding:8px 12px;font-size:10px;gap:8px}.hero{height:850px;min-height:780px;max-height:none}.hero-image{background-position:67% center;opacity:.77}.hero-shade{background:linear-gradient(90deg,#200b12e0,#250e1550 75%),linear-gradient(0deg,#250e15 0%,transparent 35%,#220b1220)}.hero-content{margin-left:9%;padding-top:178px;max-width:84%}.hero-frame{inset:107px 17px 23px}.hero-script{font-size:35px;margin:28px 0 13px}.hero h1{font-size:58px;line-height:1.45;letter-spacing:5px;margin:10px 0 27px}.dedication{font-size:9px;letter-spacing:1.5px;gap:10px}.dedication span{width:24px}.hero-copy{font-size:12px;letter-spacing:1px;line-height:2.4;margin-bottom:31px}.gold-button{min-height:50px;gap:28px;padding:12px 24px;font-size:11px}.hero-footnote{margin-top:23px;font-size:9px;letter-spacing:2px}.vertical-note{display:none}.hero-edition{bottom:48px;right:9%;font-size:15px}.hero-edition span{font-size:11px}.scroll-cue{left:9%;transform:none;align-items:flex-start;bottom:47px;font-size:9px}.scroll-cue i{margin-left:5px;height:26px}.wish-ribbon{gap:18px;min-height:67px;font-size:10px;letter-spacing:2px;overflow:hidden;white-space:nowrap}.wish-ribbon span:nth-last-child(1),.wish-ribbon b:nth-last-child(2){display:none}.wish-ribbon b{font-size:15px}.section-wrap{padding-left:28px;padding-right:28px}.letter-section{grid-template-columns:1fr;gap:65px;padding-top:72px;padding-bottom:77px}.memory-composition{max-width:420px;margin:auto;width:100%;padding-left:12px;padding-right:10px}.memory-border img{height:335px}.memory-seal{right:-7px;bottom:65px;width:64px;height:64px;font-size:11px}.memory-caption{font-size:10px;letter-spacing:1px}.letter-intro{padding:0 9px}.letter-intro h2{font-size:28px}.letter-intro>p:not(.section-kicker){font-size:12px}.section-kicker{font-size:9px;letter-spacing:2px}.handwritten{font-size:10px}.wishes-section{padding:68px 0 54px}.section-heading h2{font-size:27px;letter-spacing:2px}.ornament{font-size:29px;margin-bottom:22px}.wishes-grid{grid-template-columns:1fr;margin-top:35px}.wish-card{display:grid;grid-template-columns:100px 1fr;grid-template-rows:auto auto auto;text-align:left;padding:29px 0;column-gap:23px;align-items:center}.wish-card+.wish-card{border-left:0;border-top:1px solid #c9a56e28}.wish-art{grid-column:1;grid-row:1/4;height:100px;margin:0}.wish-art svg{height:94px;width:94px}.wish-category{font-size:9px;letter-spacing:3px}.wish-card h3{font-size:18px;margin:8px 0 10px}.wish-card p{font-size:10px;margin:0;line-height:2.2;letter-spacing:.5px}.wish-bottom{font-size:11px;letter-spacing:1px;margin-top:28px}.wish-bottom span{font-size:10px;letter-spacing:0}.celebrate-section{padding:75px 20px 50px}.celebrate-section .section-heading h2{font-size:30px;letter-spacing:2px}.celebrate-subtitle{font-size:11px;letter-spacing:1px}.orbit-one{width:440px;height:640px;top:75px}.orbit-two{width:480px;height:680px;top:55px}.celebration-stars{left:calc(50% - 150px);top:280px}.celebration-stars span{left:280px}.celebration-stars i{left:260px;top:-120px}.wish-status{font-size:9px;letter-spacing:1px}.closing-section{padding-top:40px;padding-bottom:62px}.closing-line{height:50px;margin-bottom:28px}.closing-section h2{font-size:27px;letter-spacing:2px}.closing-small{letter-spacing:2px;font-size:9px}.closing-section>p{font-size:10px;letter-spacing:1px}.closing-signature{margin-top:28px}footer{padding:25px 6%;flex-wrap:wrap;gap:15px}footer>span{flex-basis:100%;font-size:13px}footer>p{margin:0;font-size:9px}.footer-brand{font-size:13px}.letter-paper{padding:40px 26px}.letter-paper h2{font-size:22px}.letter-body,.letter-ending{font-size:13px}.edit-dialog{padding:39px 22px}.form-row{gap:13px}.edit-dialog h2{font-size:25px}}@media(max-width:360px){.hero h1{font-size:49px}.hero-script{font-size:30px}.dedication{font-size:8px}.wish-card{grid-template-columns:77px 1fr;gap:16px}.wish-art svg{width:76px}.wish-card h3{font-size:16px}.wish-ribbon{gap:13px}.hero{height:800px}.hero-content{padding-top:162px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.scroll-cue i{height:30px}}
