@font-face{font-family:BirthdayHand;src:url('./assets/birthday-hand.ttf') format('truetype');font-display:swap}
:root{--paper:#f8f3e8;--ink:#514b3e;--muted:#8a8170;--line:#dcd6c7;--sage:#899477;--rose:#c58e7a;--serif:'Noto Serif SC','Songti SC','STSong','SimSun',serif;--hand:BirthdayHand,'STKaiti','KaiTi',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:15px;line-height:1.8}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.14;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='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23948968' opacity='.3' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--sage);outline-offset:5px}button[hidden],[hidden]{display:none!important}svg{display:block}button{border:0}h1,h2,h3,p{margin:0}h2{font-weight:400;font-size:clamp(29px,3.2vw,43px);letter-spacing:2px;line-height:1.5}h2>span{color:var(--rose)}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.section-wrap{max-width:1160px;margin:auto;padding-left:40px;padding-right:40px}.site-header{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;height:94px;padding:0 50px;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:10px;font-size:15px;letter-spacing:2px;white-space:nowrap}.brand svg{width:23px;height:23px;color:var(--sage)}.brand-dot{color:var(--rose);font-size:30px}.site-header nav{display:flex;gap:33px;margin-left:auto;margin-right:45px;font-size:13px;letter-spacing:1px}.site-header nav a{position:relative}.site-header nav a:after{content:'';position:absolute;bottom:-7px;left:0;width:0;height:1px;background:var(--rose);transition:width .25s}.site-header nav a:hover:after{width:100%}.music-toggle{border:1px solid #ccc5b5;background:transparent;border-radius:24px;display:flex;align-items:center;gap:9px;padding:5px 13px}.music-toggle>span:first-child{font-size:22px}.music-label{font:10px Georgia,serif;letter-spacing:1px}.hero{min-height:690px;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding-top:50px;padding-bottom:105px}.eyebrow{display:flex;align-items:center;gap:9px;font:10px Georgia,serif;letter-spacing:2.6px;color:var(--sage);margin-bottom:28px}.eyebrow>span{width:6px;height:6px;border-radius:50%;background:var(--sage)}.hero-prelude{font-size:14px;letter-spacing:2px;margin-bottom:18px;color:var(--muted)}h1{font-family:var(--hand);font-weight:400;line-height:1.15;letter-spacing:9px;position:relative;z-index:1}h1>span{display:block;font-size:clamp(52px,5.6vw,76px)}h1 strong{font-size:clamp(74px,8vw,108px);font-weight:400;display:block;position:relative;width:max-content;line-height:1.25}h1 i{position:absolute;right:-52px;top:24px;font:36px Georgia;color:var(--rose);transform:rotate(10deg)}.title-underline{width:265px;height:12px;border-top:3px solid #c7ad80;border-radius:50%;transform:rotate(-4deg);margin:0 0 23px 8px}.hero-description{font-size:14px;line-height:2.15;letter-spacing:1px;color:#7e7565;margin-bottom:29px}.button{display:inline-flex;justify-content:center;align-items:center;gap:32px;min-height:49px;padding:11px 24px;border-radius:3px;letter-spacing:1.5px;font-size:13px;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 6px 16px #514b3e18}.button-dark{background:var(--ink);color:#fff7e8}.button-dark:hover{background:#6a614f}.button>span{font-size:19px}.hand-note{display:flex;align-items:center;gap:10px;font-family:var(--hand);font-size:16px;letter-spacing:1px;color:#a68c6b;transform:rotate(-4deg);margin-left:54px;margin-top:13px}.hand-note svg{width:54px;height:25px;fill:none;stroke:#aa987a;stroke-width:1.6;transform:rotate(-15deg)}.hero-art{height:490px;position:relative;margin-left:5px}.art-orbit{position:absolute;width:440px;height:440px;left:0;top:24px;border:1px dashed #d7cfb9;border-radius:50%;transform:rotate(-15deg)}.birthday-paper{position:absolute;left:32px;top:62px;width:358px;height:357px;background:#fffcf3;box-shadow:4px 8px 22px #675b3610;border:1px solid #e5decc;transform:rotate(-7deg);padding:20px}.paper-tape{position:absolute;top:-15px;left:115px;width:115px;height:30px;background:#b6bea17a;transform:rotate(3deg);clip-path:polygon(3% 0,100% 4%,97% 22%,100% 43%,96% 67%,99% 100%,0 97%,4% 70%,0 50%,4% 22%)}.paper-topline{text-align:center;font:italic 15px Georgia,serif;color:#99866a;margin-top:9px}.hero-cake{width:100%;height:270px;margin-top:-17px}.paper-bottom{margin-top:-4px;text-align:center;font-family:var(--hand);font-size:17px;letter-spacing:1px}.paper-bottom span{color:var(--rose);margin-left:8px}.hero-bear{position:absolute;width:130px;height:149px;right:-8px;bottom:16px;transform:rotate(12deg);filter:drop-shadow(3px 5px 2px #52432b0e)}.special-stamp{width:94px;height:94px;position:absolute;right:1px;top:41px;border:1px solid var(--rose);border-radius:50%;outline:1px solid #c58e7a77;outline-offset:5px;transform:rotate(14deg);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--rose);font:10px/1.4 Georgia,serif;letter-spacing:2px;background:var(--paper)}.special-stamp b{font-size:21px;font-weight:400}.special-stamp span{position:absolute;left:8px;top:30px;font-size:15px}.art-spark{position:absolute;color:#ac9361}.spark-one{width:33px;height:33px;top:19px;left:10px;transform:rotate(14deg)}.spark-two{width:21px;height:21px;right:-12px;top:225px;color:var(--sage)}.art-small-star{position:absolute;top:373px;left:0;font-size:42px;color:#ba9b68}.tiny-flower{position:absolute;bottom:29px;left:54px;font-size:45px;color:var(--rose);transform:rotate(-15deg)}.art-caption{position:absolute;bottom:1px;left:100px;font:italic 13px Georgia,serif;color:#a18e70;transform:rotate(-3deg)}.balloon{position:absolute;width:42px;height:53px;border:1.5px solid #a1a889;border-radius:50%;background:#b6bfa36b;top:5px;right:106px;transform:rotate(10deg)}.balloon:after{content:'';position:absolute;width:3px;height:5px;background:#a1a889;left:20px;bottom:-4px}.balloon span{position:absolute;top:55px;left:20px;height:77px;width:20px;border-left:1px solid #b9ac8e;border-radius:40%}.balloon-two{top:36px;right:66px;width:32px;height:41px;background:#e1bdab66;border-color:#cba48b;transform:rotate(24deg)}.balloon-two span{top:44px;height:64px}.scroll-hint{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:5px;font-size:11px;color:#9e9380;letter-spacing:2px;white-space:nowrap}.scroll-hint>span:last-child{font-size:23px;line-height:1.3}.birthday-ribbon{display:flex;justify-content:center;align-items:center;gap:45px;padding:17px 25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#eeeadd;color:#7f806a;overflow:hidden;white-space:nowrap;font-size:12px;letter-spacing:2px}.birthday-ribbon span:nth-of-type(odd){font:11px Georgia,serif;letter-spacing:2px}.birthday-ribbon b{font-size:20px;color:#9a9f81;font-weight:400}.section-heading{text-align:center}.section-kicker{display:block;font:10px Georgia,serif;letter-spacing:2.7px;color:var(--sage);margin-bottom:18px}.section-heading>p{color:var(--muted);font-size:13px;letter-spacing:1px;margin-top:14px}.wish-section{padding-top:94px;padding-bottom:80px}.wish-stage{height:330px;position:relative;display:flex;align-items:center;justify-content:center}.interactive-cake{position:relative;width:370px;isolation:isolate;transition:filter .7s}.interactive-cake>svg{width:100%;height:330px;overflow:visible}.unlit .flame{opacity:0}.interactive-cake.unlit{filter:saturate(.85)}.candle-glow{position:absolute;z-index:-1;width:150px;height:150px;background:#f2cc6550;filter:blur(20px);border-radius:50%;top:0;left:110px;opacity:1;transition:opacity .7s}.unlit .candle-glow{opacity:0}.flame{transform-origin:210px 104px;animation:flicker 2s ease-in-out infinite}.wish-doodle{position:absolute;left:9%;top:119px;font:23px/1.8 var(--hand);transform:rotate(-9deg);color:#9d8b6a}.wish-doodle span{font-size:17px}.wish-aside{position:absolute;right:12%;top:110px;color:#8f987c;transform:rotate(5deg)}.wish-aside>span{font-size:34px}.wish-aside p{font-size:12px;letter-spacing:2px}.wish-controls{text-align:center}.wish-controls>p{font-size:13px;color:var(--muted);margin-bottom:18px;min-height:24px}.text-button{display:block;margin:15px auto 0;background:transparent;font-size:12px;letter-spacing:1px;border-bottom:1px solid #c3b59e;padding:3px 0;color:#84725c}.gifts-section{background:#edece0;border-block:1px solid #e1dfcf;padding:80px 0 30px}.gift-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px;margin-top:46px}.gift-card{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding:23px 20px 20px;background:#faf7ef;border:1px solid #dfd9c8;box-shadow:2px 3px 0 #dcd9c255;transition:transform .25s,box-shadow .25s}.gift-card:nth-child(1){transform:rotate(-2deg)}.gift-card:nth-child(3){transform:rotate(2deg)}.gift-card:hover{transform:translateY(-8px) rotate(0);box-shadow:3px 10px 20px #5d543414}.gift-number{align-self:flex-start;font:9px Georgia,serif;letter-spacing:1.8px;color:#a39881}.gift-illustration{width:115px;height:115px;margin:28px auto 14px;transition:transform .3s}.gift-card:hover .gift-illustration{transform:rotate(-5deg) scale(1.07)}.gift-card h3{font-weight:400;font-size:21px;letter-spacing:2px}.gift-card p{font-size:12px;color:var(--muted);margin:10px 0 23px}.gift-link{border-top:1px dashed #d9d1be;width:100%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;padding-top:13px}.gift-link b{font-size:17px;font-weight:400}.gift-footnote{text-align:center;margin:27px 0 0;color:#9b947e;font:16px var(--hand);letter-spacing:1px}.game-section{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center;padding-top:105px;padding-bottom:105px}.game-intro>p{font-size:13px;color:var(--muted);line-height:2.1;margin-top:22px}.game-instructions{display:grid;grid-template-columns:20px 1fr;gap:12px;margin-top:30px;font-size:12px;color:#797564;align-items:center}.game-instructions>span{font:italic 13px Georgia,serif;color:#a28c67}.small-note{font-size:11px!important;color:#a2957e!important;line-height:1.9!important;letter-spacing:.5px}.game-board{height:408px;position:relative;overflow:hidden;border:1px solid #d4d8c5;background:#e9ede0;border-radius:140px 140px 7px 7px;touch-action:pan-y}.game-top{position:absolute;top:40px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:center;font:9px Georgia,serif;letter-spacing:1px;color:#7f8b73;z-index:2}.game-top>span:last-child{font:12px var(--serif);letter-spacing:1px}.game-cloud{position:absolute;width:90px;height:22px;background:#f8f7ec;border-radius:35px;opacity:.8;top:97px;left:30px}.game-cloud:before{content:'';position:absolute;width:43px;height:40px;left:16px;top:-21px;background:inherit;border-radius:50%}.game-cloud:after{content:'';position:absolute;width:34px;height:33px;left:46px;top:-16px;background:inherit;border-radius:50%}.cloud-two{left:auto;right:28px;top:159px;transform:scale(.7)}.game-stars{position:absolute;left:80px;right:60px;top:106px;display:flex;justify-content:space-between;font-size:30px;color:#b9b183;pointer-events:none}.game-stars>span{position:relative;top:54px;font-size:19px}.basket{position:absolute;bottom:26px;left:50%;width:78px;height:51px;background:repeating-linear-gradient(0deg,transparent 0 7px,#a5815370 7px 9px),repeating-linear-gradient(90deg,#c5a273 0 9px,#b08c5f 9px 11px);border:2px solid #94734c;border-radius:4px 4px 20px 20px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;z-index:2}.basket:before{content:'';position:absolute;top:-27px;width:45px;height:33px;border:3px solid #94734c;border-radius:30px 30px 0 0;z-index:-1}.basket span{border-radius:50%;background:#f2e5c9;color:#956c4e;font-size:22px;width:28px;height:28px;display:grid;place-items:center;line-height:1}.game-overlay{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e9ede0dc;text-align:center;padding:26px;backdrop-filter:blur(2px)}.game-overlay-icon{font-size:49px;color:#a89966;margin-bottom:8px}.game-overlay h3{font-size:21px;font-weight:400;letter-spacing:1px}.game-overlay p{font-size:12px;color:#8a8c77;margin:12px 0 24px}.game-overlay .text-button{font-size:11px}.game-pause{position:absolute;bottom:10px;right:16px;z-index:4;background:transparent;color:#68765b;font-size:12px}.falling-item{position:absolute;top:0;left:0;font-size:29px;width:34px;height:36px;text-align:center;color:#b08e45;will-change:transform;line-height:36px}.letter-section{padding:70px 0 80px;background:#f0e7dc;border-block:1px solid #e4d8c9}.letter-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.letter-illustration{position:relative;height:300px}.envelope{position:absolute;width:300px;height:192px;background:#cbb692;left:50%;top:80px;transform:translateX(-50%) rotate(-8deg);box-shadow:3px 8px 17px #62472710;border:1px solid #b6a180}.envelope-front{position:absolute;inset:0;background:linear-gradient(32deg,#ddc9a9 50%,transparent 50%) left/51% 100% no-repeat,linear-gradient(-32deg,#e2cfb0 50%,transparent 50%) right/51% 100% no-repeat;z-index:1}.letter-peek{position:absolute;top:-54px;left:21px;right:21px;height:174px;background:#fff9eb;border:1px solid #e0d4ba;padding:26px 25px;font-family:var(--hand);font-size:23px;transform:rotate(3deg);line-height:1.8}.letter-peek span{font-size:15px;color:#a18c6a}.wax-seal{position:absolute;z-index:2;bottom:42px;left:calc(50% - 24px);width:48px;height:48px;background:#b77864;border:4px double #ce9680;border-radius:45%;display:grid;place-items:center;color:#edc1a6;font-size:26px;box-shadow:2px 3px 2px #67513622}.letter-spark{position:absolute;right:0;top:0;font-size:60px;line-height:1;color:#ba9d74}.letter-note{position:absolute;bottom:-4px;left:50px;font:italic 19px Georgia,serif;color:#a28b6b;transform:rotate(-6deg)}.letter-copy>p{font-size:13px;color:#8d7d6d;margin:20px 0 24px;line-height:2.1}.letter-copy .small-note{margin-top:16px;margin-bottom:0}.keepsake-section{text-align:center;padding-top:75px;padding-bottom:70px}.keepsake-section h2{font-size:27px}.keepsake-section>p{font-size:12px;color:var(--muted);margin-top:12px}.sticker-collection{display:flex;justify-content:center;gap:24px;margin:35px 0 24px}.sticker-collection>span{width:65px;height:68px;border:1px dashed #c4bcaa;border-radius:50%;font-size:31px;display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:1.2;color:#bbb4a4;transform:rotate(-7deg);transition:all .4s;background:#eee9dd}.sticker-collection>span:nth-child(even){transform:rotate(7deg)}.sticker-collection small{font-size:8px;margin-top:5px;letter-spacing:1px}.sticker-collection>span.collected{color:#96734f;background:#eee0bd;border:1px solid #ccb58a;box-shadow:2px 3px 0 #d6caae;transform:rotate(-7deg) scale(1.07)}.sticker-collection>span.collected:nth-child(even){color:#8e695a;background:#ead2c5;transform:rotate(7deg) scale(1.07)}footer{border-top:1px solid var(--line);padding:35px 25px 30px;text-align:center}footer .brand{justify-content:center;font-size:17px}footer .brand>span{color:var(--rose);font-size:22px}footer p{font-size:11px;color:#9b907c;margin:12px 0 19px;letter-spacing:1px}footer>span{font:8px Georgia,serif;letter-spacing:2.3px;color:#b0a58f}.modal{border:1px solid #d3c5ab;max-width:480px;width:calc(100% - 40px);padding:45px 36px 35px;background:#fcf8ed;color:var(--ink);text-align:center;box-shadow:0 20px 80px #3830232b;max-height:85dvh;overflow-y:auto}.modal::backdrop{background:#38332666;backdrop-filter:blur(5px)}.modal-close{position:absolute;top:7px;right:12px;background:transparent;font-size:29px;line-height:1.4;padding:0 7px;color:#96866d}.modal-eyebrow{font:9px Georgia,serif;color:#a68e68;letter-spacing:2px}.modal-icon{font-size:55px;color:#b68b69;margin:12px auto;line-height:1.4}.modal h2{font-family:var(--hand);font-size:32px;letter-spacing:1px}.modal-prose{margin-top:22px;margin-bottom:27px}.modal-prose p{font-size:14px;line-height:2.2;margin-top:14px;color:#82735f}.modal .button{margin:auto}.modal form{margin-top:24px}.modal label{display:block;font-size:13px;text-align:left;margin-bottom:8px;color:#8a7964}.modal input{display:block;width:100%;border:1px solid #cfc1a5;background:#fffcf5;padding:12px;font-size:13px;color:var(--ink);border-radius:2px}.form-message{text-align:left;font-size:12px;min-height:24px;margin:8px 0 20px;color:#b17a62}.letter-modal{text-align:left;background:repeating-linear-gradient(transparent 0 35px,#b9a38218 35px 36px),#fcf8ed;padding-top:49px}.letter-modal h2{margin-top:25px}.letter-modal .modal-prose p{font-size:14px;line-height:2.5}.letter-signature{text-align:right;font-family:var(--hand);font-size:18px;color:#988064}.letter-signature span{display:block;color:var(--rose);font-size:30px}.modal[open]{animation:modal-in .3s ease-out}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);z-index:100;background:#514b3e;color:#fff6e6;font-size:12px;padding:11px 23px;border-radius:4px;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;text-align:center;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}#confetti{position:fixed;inset:0;z-index:99;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:-20px;width:9px;height:16px;animation:confetti-fall 2.6s ease-in forwards}.confetti-piece:nth-child(3n){border-radius:50%;width:8px;height:8px}@keyframes confetti-fall{to{transform:translate(var(--drift),110vh) rotate(650deg);opacity:.2}}@keyframes flicker{0%,100%{transform:rotate(-3deg) scale(.98)}50%{transform:rotate(4deg) scale(1.03)}}@keyframes modal-in{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1450px){.hero{min-height:750px}.site-header{max-width:1380px}.section-wrap{max-width:1240px}.hero-art{margin-left:40px}.hero{gap:40px}}
@media(max-width:1000px){.section-wrap{padding-left:30px;padding-right:30px}.site-header{padding:0 30px}.site-header nav{gap:19px;margin-right:10px}.hero{min-height:650px;gap:0}.hero-art{transform:scale(.85);transform-origin:center center;margin-left:-28px;width:440px}.hero-copy{position:relative;z-index:1}.hero h1>span{font-size:61px}.hero h1 strong{font-size:86px}.eyebrow{font-size:9px;letter-spacing:1.7px}.hero-prelude{font-size:12px}.hero-description{font-size:12px}.birthday-ribbon{gap:25px}.game-section{gap:35px}.game-top{left:24px;right:24px;top:48px}.game-top>span:first-child{font-size:8px;letter-spacing:0}.letter-layout{gap:40px}.envelope{width:270px}.wish-doodle{left:5%}.wish-aside{right:7%}}
@media(max-width:720px){html{scroll-padding-top:20px}.section-wrap{padding-left:23px;padding-right:23px}.site-header{height:75px;padding:0 22px;gap:10px}.brand{font-size:13px;letter-spacing:1px;gap:7px}.brand svg{width:19px;height:19px}.brand-dot{display:none}.site-header nav{display:none}.music-toggle{padding:3px 10px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:40px;padding-bottom:65px;min-height:0}.hero-copy{padding-left:6px}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:20px}.hero-prelude{font-size:12px;letter-spacing:1.5px;margin-bottom:14px}.hero h1>span{font-size:66px;letter-spacing:7px}.hero h1 strong{font-size:90px;letter-spacing:10px}.hero h1 i{font-size:30px;top:25px;right:-37px}.title-underline{width:244px;margin-bottom:18px}.hero-description{font-size:12px;margin-bottom:22px;letter-spacing:.7px}.button{font-size:12px;min-height:47px;padding:10px 23px}.hand-note{font-size:15px;margin-left:48px}.hero-art{width:350px;height:370px;transform:scale(.83);transform-origin:top left;margin:27px auto -42px;align-self:center;left:calc(50% - 181px)}.birthday-paper{left:10px;top:55px;width:340px;height:345px}.art-orbit{left:-22px;top:19px;width:400px;height:400px}.hero-bear{right:-42px;bottom:-54px;width:120px;height:140px}.special-stamp{right:-31px;top:36px;width:82px;height:82px;font-size:8px}.special-stamp b{font-size:18px}.balloon-one{top:3px;right:82px}.balloon-two{right:43px;top:31px}.spark-one{left:-10px;top:17px}.spark-two{right:-55px;top:233px}.tiny-flower{left:8px;bottom:-32px}.art-small-star{left:-30px;top:330px}.art-caption{bottom:-68px;left:49px;white-space:nowrap}.scroll-hint{bottom:9px;font-size:9px;gap:0}.scroll-hint>span:last-child{font-size:17px}.birthday-ribbon{justify-content:flex-start;padding:12px 21px;gap:20px;font-size:10px}.birthday-ribbon span:nth-of-type(odd){font-size:9px}.birthday-ribbon b{font-size:16px}.section-kicker{font-size:8px;letter-spacing:2px;margin-bottom:15px}h2{font-size:29px;letter-spacing:1px}.section-heading>p{font-size:11px;letter-spacing:.5px;margin-top:12px}.wish-section{padding-top:62px;padding-bottom:55px}.wish-stage{height:310px}.interactive-cake{width:300px}.interactive-cake>svg{height:290px}.candle-glow{width:100px;height:100px;top:16px;left:100px}.wish-doodle{left:0;top:247px;font-size:15px;transform:rotate(-5deg);z-index:2;line-height:1.4}.wish-doodle span{font-size:12px}.wish-aside{top:28px;right:0;transform:rotate(6deg)}.wish-aside>span{font-size:27px}.wish-aside p{font-size:9px;letter-spacing:1px}.wish-controls>p{font-size:11px}.gifts-section{padding:57px 0 26px}.gift-grid{gap:14px;margin-top:32px;grid-template-columns:1fr}.gift-card{display:grid;grid-template-columns:95px 1fr;grid-template-rows:22px 35px 26px 36px;padding:21px 21px;text-align:left;min-height:168px}.gift-card:nth-child(1){transform:rotate(-1deg)}.gift-card:nth-child(3){transform:rotate(1deg)}.gift-number{grid-column:2;grid-row:1;font-size:8px;letter-spacing:1px}.gift-illustration{grid-row:1/5;grid-column:1;width:80px;height:90px;margin:0}.gift-card h3{font-size:20px;grid-column:2;grid-row:2;letter-spacing:1px;align-self:end}.gift-card p{font-size:10px;grid-column:2;grid-row:3;align-self:center;margin:5px 0 0}.gift-link{grid-column:2;grid-row:4;font-size:10px;padding-top:6px;align-self:end}.gift-footnote{font-size:14px;margin-top:23px}.game-section{grid-template-columns:1fr;gap:30px;padding-top:64px;padding-bottom:60px}.game-intro>p{margin-top:16px;font-size:12px}.game-instructions{gap:7px 12px;margin-top:20px;font-size:11px}.game-intro .small-note{font-size:10px!important}.game-board{height:390px;border-radius:130px 130px 7px 7px;max-width:470px;width:100%;justify-self:center}.game-top{left:30px;right:30px;top:45px}.game-top>span:first-child{font-size:8px}.game-overlay h3{font-size:20px}.game-overlay p{font-size:11px}.letter-section{padding:30px 0 51px}.letter-layout{grid-template-columns:1fr;gap:30px}.letter-illustration{height:260px;max-width:350px;width:100%;margin:auto}.envelope{width:258px;height:168px;top:85px}.letter-peek{font-size:21px;top:-45px;height:150px;left:19px;right:19px;padding:20px}.letter-peek span{font-size:13px}.wax-seal{bottom:34px;width:43px;height:43px}.letter-note{font-size:16px;bottom:-12px;left:43px}.letter-spark{top:20px;right:8px;font-size:45px}.letter-copy{padding:5px 5px 0}.letter-copy h2 br{display:none}.letter-copy>p{font-size:12px;margin-top:17px;margin-bottom:20px}.letter-copy .small-note{font-size:10px!important}.keepsake-section{padding-top:54px;padding-bottom:48px}.keepsake-section h2{font-size:22px;letter-spacing:.5px}.keepsake-section>p{font-size:10px}.sticker-collection{gap:10px;flex-wrap:wrap;max-width:270px;margin:28px auto 22px}.sticker-collection>span{width:65px;height:65px;margin:3px 5px}.keepsake-section #collection-status{font-size:10px}footer{padding:27px 16px}footer .brand{font-size:15px}footer p{font-size:10px;letter-spacing:0}footer>span{font-size:7px}.modal{padding:39px 25px 30px}.modal h2{font-size:29px}.modal-prose p{font-size:13px}.modal-eyebrow{font-size:8px;letter-spacing:1.4px}.modal input{font-size:12px}.letter-modal .modal-prose p{font-size:13px}.letter-signature{font-size:16px}}
@media(max-width:360px){.hero h1>span{font-size:58px}.hero h1 strong{font-size:80px}.hero-art{transform:scale(.74);margin-bottom:-70px;left:calc(50% - 160px)}.brand{font-size:12px}.music-label{font-size:8px}.gift-card{grid-template-columns:80px 1fr;padding:18px 15px}.gift-card h3{font-size:18px}.section-heading h2{font-size:25px}.game-top{left:23px;right:23px}.letter-copy h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.confetti-piece{display:none}}

/* Inherited variables also reach artwork inside SVG use shadow trees. */
.flame{opacity:var(--flame-opacity,1)}.unlit{--flame-opacity:0}
