/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.block{display:block}.table{display:table}.resize{resize:both}}:root{--night:#030713;--indigo:#0a1233;--violet:#2a1b54;--gold:#e4c887;--warm-white:#f8f2e8;--mist:#afaac0;--line:#e4c88740;--serif:"Songti SC", "STSong", "Noto Serif CJK SC", Georgia, serif;--sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html{background:var(--night);scroll-behavior:smooth}body{color:var(--warm-white);background:var(--night);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}button{color:inherit;font:inherit}button:focus-visible{outline:2px solid var(--warm-white);outline-offset:7px}.birthday-site{background:radial-gradient(circle at 72% 12%,#54378b52,#0000 28%),radial-gradient(circle at 18% 38%,#1b3f7833,#0000 30%),linear-gradient(150deg,#030713 0%,#07102c 50%,#0b0820 100%);min-height:100vh;position:relative;overflow:hidden}.birthday-site:before{content:"";pointer-events:none;opacity:.16;mix-blend-mode:screen;background-image:repeating-linear-gradient(112deg,#0000 0 3px,#ffffff05 3px 4px);position:absolute;inset:0}.star-field{pointer-events:none;z-index:1;height:105vh;position:absolute;inset:0 0 auto}.star-field i{left:var(--x);top:var(--y);width:var(--size);height:var(--size);animation:twinkle 3.4s var(--delay) ease-in-out infinite;background:#fff8dc;border-radius:50%;position:absolute;box-shadow:0 0 9px 2px #e4c8878c}.hero{z-index:2;grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr);align-items:center;gap:clamp(30px,5vw,90px);min-height:100svh;padding:9vh max(6vw,24px) 8vh;display:grid;position:relative}.hero-copy{max-width:760px;padding-left:clamp(20px,3.2vw,54px);position:relative}.hero-copy:before{content:"";background:linear-gradient(#0000,#e4c887bf 18%,#e4c88733 82%,#0000);width:1px;position:absolute;top:-32px;bottom:-40px;left:0}.kicker,.section-number{color:var(--gold);letter-spacing:.34em;margin:0;font-size:11px;font-weight:500}.kicker{align-items:center;gap:14px;display:flex}.kicker span{background:currentColor;width:34px;height:1px}.tiny-wish{color:#f8f2e8ad;letter-spacing:.2em;margin:clamp(42px,6vh,68px) 0 15px;font-size:clamp(12px,1.1vw,15px)}.hero h1{font-family:var(--serif);letter-spacing:-.08em;text-shadow:0 10px 42px #0000004d;margin:0;font-size:clamp(68px,8vw,126px);font-weight:400;line-height:.98}.hero h1 em,.section-heading h2 em,.final-wish h2 em{color:var(--gold);text-shadow:0 0 32px #e4c8873d;font-style:normal}.hero-note{color:#f8f2e8a3;max-width:500px;font-family:var(--serif);letter-spacing:.08em;margin:clamp(30px,5vh,52px) 0 0;font-size:clamp(16px,1.5vw,20px);line-height:1.95}.gift-button{aspect-ratio:1;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-self:center;place-items:center;width:min(42vw,510px);display:grid;position:relative}.gift-aura{filter:blur(2px);background:radial-gradient(circle,#e4c88730,#5e409d1a 42%,#0000 69%);border-radius:50%;animation:4.4s ease-in-out infinite breathe;position:absolute;inset:12%}.gift-orbit,.hero-orbit{border:1px solid #e4c88738;border-radius:50%;position:absolute}.gift-orbit{width:82%;height:52%;animation:13s linear infinite orbit;transform:rotate(-18deg)}.gift-orbit:after{content:"";border-radius:inherit;border:1px solid #b9a7ff33;position:absolute;inset:17%}.gift-orbit i{background:var(--gold);border-radius:50%;width:5px;height:5px;position:absolute;box-shadow:0 0 13px 4px #e4c88780}.gift-orbit i:first-child{top:20%;left:9%}.gift-orbit i:nth-child(2){top:12%;right:15%}.gift-orbit i:nth-child(3){bottom:-2px;right:30%}.gift-box{filter:drop-shadow(0 30px 28px #00000061);width:185px;height:170px;animation:4s ease-in-out infinite giftFloat;position:relative}.gift-body{background:linear-gradient(90deg,#0000 42%,#e4c887c7 42% 58%,#0000 58%),linear-gradient(145deg,#6d57a0,#2e205d 55%,#15143c);border:1px solid #f5e0b18c;border-radius:3px 3px 12px 12px;height:125px;position:absolute;bottom:0;left:13px;right:13px;box-shadow:inset 14px 0 30px #ffffff14,inset -14px -12px 25px #0003}.gift-body i{border:1px solid #ffffff0f;position:absolute;inset:12px}.gift-lid{z-index:3;transform-origin:82% 100%;background:linear-gradient(90deg,#0000 42%,#d8bd7f 42% 58%,#0000 58%),linear-gradient(135deg,#806bb3,#39266e 65%,#20154b);border:1px solid #f5e0b1b3;border-radius:8px;width:100%;height:48px;transition:transform .8s cubic-bezier(.2,.84,.3,1),opacity .6s;position:absolute;top:24px;left:0;box-shadow:0 12px 24px #0000004d,inset 0 7px 14px #ffffff1a}.bow-left,.bow-right{background:#e4c88714;border:7px solid #d7bd80;width:54px;height:38px;position:absolute;bottom:31px}.bow-left{border-radius:70% 34% 58% 35%;right:51%;transform:rotate(18deg)}.bow-right{border-radius:34% 70% 35% 58%;left:51%;transform:rotate(-18deg)}.knot{background:#e4c887;border-radius:50%;width:25px;height:25px;position:absolute;bottom:31px;left:50%;transform:translate(-50%);box-shadow:0 0 18px #e4c88773}.gift-light{z-index:2;filter:blur(14px);transform-origin:top;opacity:0;background:linear-gradient(#ffebb99e,#0000);width:60px;height:100px;transition:all .7s .18s;position:absolute;top:42px;left:50%;transform:translate(-50%)scaleY(.1)}.gift-label{white-space:nowrap;color:#f8f2e8b8;letter-spacing:.2em;font-size:12px;transition:color .3s;position:absolute;bottom:3%;left:50%;transform:translate(-50%)}.gift-label:before{content:"";border:1px solid var(--gold);width:4px;height:4px;position:absolute;top:50%;left:-23px;transform:rotate(45deg)translateY(-50%)}.gift-button:hover .gift-label{color:var(--warm-white)}.gift-button:hover .gift-box{animation-play-state:paused;transform:translateY(-6px)scale(1.025)}.gift-opened .gift-lid{opacity:.75;transform:translate(52px,-70px)rotate(24deg)}.gift-opened .gift-light{opacity:1;transform:translate(-50%)scaleY(1.25)}.hero-orbit{pointer-events:none;opacity:.25}.orbit-one{width:45vw;height:13vw;top:8vh;right:-11vw;transform:rotate(-19deg)}.orbit-two{width:34vw;height:9vw;bottom:8vh;left:-12vw;transform:rotate(13deg)}.scroll-cue{color:#f8f2e857;letter-spacing:.25em;writing-mode:vertical-rl;align-items:center;gap:14px;font-size:9px;display:flex;position:absolute;bottom:6vh;right:max(3vw,20px)}.scroll-cue i{background:linear-gradient(var(--gold), transparent);width:1px;height:52px}.reveal-wrap{z-index:3;opacity:0;visibility:hidden;max-height:0;transition:opacity 1s .3s,transform 1s .3s;position:relative;overflow:hidden;transform:translateY(100px)}.gift-opened .reveal-wrap{opacity:1;visibility:visible;max-height:none;overflow:visible;transform:translateY(0)}.section-shell{width:min(1160px,100% - 48px);margin-inline:auto}.memories{padding:clamp(100px,13vw,180px) 0 150px}.section-heading{grid-template-columns:1.2fr .8fr;align-items:end;gap:30px 8vw;margin-bottom:80px;display:grid}.section-heading .section-number{grid-column:1/-1}.section-heading h2,.letter-card h2,.cake-copy h2,.final-wish h2{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:clamp(42px,5.5vw,74px);font-weight:400;line-height:1.24}.section-heading>p:last-child{color:#f8f2e88c;font-family:var(--serif);margin:0 0 8px;font-size:16px;line-height:2}.memory-wall{grid-template-columns:repeat(12,1fr);align-items:start;gap:clamp(18px,2.4vw,34px);display:grid}.memory-card{color:#171526;background:#f1ede6;padding:12px 12px 25px;transition:transform .35s,box-shadow .35s;position:relative;box-shadow:0 26px 60px #00000052}.memory-card:hover{transform:translateY(-8px)rotate(0);box-shadow:0 34px 70px #0000006b}.memory-1{grid-column:1/7;transform:rotate(-2.4deg)}.memory-2{grid-column:8/13;margin-top:90px;transform:rotate(2deg)}.memory-3{grid-column:2/6;margin-top:-12px;transform:rotate(1.8deg)}.memory-4{grid-column:7/12;margin-top:60px;transform:rotate(-1.6deg)}.memory-photo{isolation:isolate;place-items:center;height:clamp(240px,31vw,390px);display:grid;position:relative;overflow:hidden}.memory-photo:before,.memory-photo:after{content:"";filter:blur(1px);border-radius:50%;position:absolute}.memory-photo:before{aspect-ratio:1;border:1px solid #ffffff59;width:70%;top:20%;left:-18%;box-shadow:0 0 55px #ffffff1f}.memory-photo:after{background:#fff8d9;width:6px;height:6px;top:21%;right:17%;box-shadow:0 0 13px 5px #fff1be80,-66px 72px 0 -2px #fff,42px 122px 0 -2px #fff}.tone-rose{background:radial-gradient(circle at 72% 24%,#f0b7b1,#0000 24%),linear-gradient(145deg,#8f4968,#31274d 56%,#151c39)}.tone-violet{background:radial-gradient(circle at 35% 32%,#d5bbff,#0000 18%),linear-gradient(160deg,#304c83,#6c4c8e 52%,#e78da7)}.tone-amber{background:radial-gradient(circle at 72% 35%,#fff0c0,#0000 19%),linear-gradient(155deg,#e4a878,#754d75 48%,#24264b)}.tone-blue{background:radial-gradient(circle at 50% 26%,#fff7d5,#0000 13%),linear-gradient(175deg,#122f5d,#315b88 45%,#b17b92)}.memory-photo b{z-index:2;color:#ffffffb8;font-family:var(--serif);text-shadow:0 6px 30px #0003;font-size:clamp(46px,6vw,86px);font-weight:400;position:relative}.photo-moon{aspect-ratio:1;background:#fff4d324;border-radius:50%;width:36%;position:absolute;bottom:-6%;right:-12%;box-shadow:0 0 40px #fff0c824}.photo-glow{background:linear-gradient(90deg,#0000,#ffffff8c,#0000);height:1px;position:absolute;inset:auto 7% 9%}.memory-caption{padding:18px 10px 0}.memory-caption span{color:#8a7451;letter-spacing:.2em;font-size:9px;display:block}.memory-caption h3{font-family:var(--serif);margin:8px 0 4px;font-size:clamp(21px,2vw,29px);font-weight:400}.memory-caption p{color:#77717e;font-family:var(--serif);margin:0;font-size:13px}.letter-section{padding:110px 0 190px;position:relative}.letter-section:before{content:"";pointer-events:none;border:1px solid #e4c88717;border-radius:50%;width:72vw;max-width:900px;height:72vw;max-height:900px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 130px #5e3d971f,inset 0 0 130px #5e3d9714}.letter-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(145deg,#1b1b41d1,#0a0c24b8);border:1px solid #e4c8874d;width:min(760px,100%);margin:auto;padding:clamp(42px,7vw,84px);position:relative;box-shadow:0 38px 90px #00000057,inset 0 0 80px #ffffff05}.letter-card:before,.letter-card:after{content:"";border-color:var(--gold);opacity:.72;border-style:solid;width:34px;height:34px;position:absolute}.letter-card:before{border-width:1px 0 0 1px;top:13px;left:13px}.letter-card:after{border-width:0 1px 1px 0;bottom:13px;right:13px}.letter-card h2{margin:38px 0 34px;font-size:clamp(40px,5vw,62px)}.letter-body{color:#f8f2e8b5;font-family:var(--serif);letter-spacing:.045em;gap:18px;font-size:clamp(15px,1.45vw,18px);line-height:2.05;display:grid}.letter-body p{margin:0}.letter-card footer{color:var(--gold);font-family:var(--serif);letter-spacing:.12em;border-top:1px solid #e4c88729;justify-content:flex-end;align-items:center;gap:15px;margin-top:46px;padding-top:24px;font-size:15px;display:flex}.letter-card footer strong{font-size:24px;font-weight:400}.letter-star{color:var(--gold);font-size:22px;animation:3s ease-in-out infinite twinkle;position:absolute;top:20%;left:9%}.cake-section{background:radial-gradient(circle at 50% 58%,#47337e38,#0000 32%),linear-gradient(#0000,#01030cb8);flex-direction:column;justify-content:center;min-height:100svh;padding:120px 0 100px;display:flex;position:relative;overflow:hidden}.cake-copy{text-align:center;z-index:2;position:relative}.cake-copy h2{margin-top:22px}.cake-copy>p:last-child{color:#f8f2e885;font-family:var(--serif);letter-spacing:.08em;margin:16px 0 0}.cake-stage{z-index:2;flex-direction:column;align-items:center;padding-top:70px;display:flex;position:relative}.cake{filter:drop-shadow(0 30px 35px #0000006b);width:320px;height:300px;position:relative}.candles{z-index:4;justify-content:space-around;align-items:flex-end;width:220px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.candle{background:repeating-linear-gradient(45deg,#f1d492 0 5px,#ad7b6e 5px 9px);border-radius:3px 3px 0 0;width:8px;height:50px;display:block;box-shadow:inset 2px 0 3px #ffffff59}.candle:nth-child(2),.candle:nth-child(4){height:43px}.flame{transform-origin:50% 100%;background:radial-gradient(circle at 50% 68%,#fff9bd 0 18%,#ffb13b 45%,#dc6a55 75%);border-radius:50% 50% 45% 45%;width:14px;height:24px;margin-left:-3px;transition:opacity .35s,transform .35s;animation:.75s ease-in-out infinite alternate flame;position:absolute;top:-25px;box-shadow:0 0 15px 5px #ffb2426b,0 0 34px 9px #ffcf772b}.candle:nth-child(2n) .flame{animation-delay:-.36s}.cake-top{z-index:3;background:linear-gradient(145deg,#f4e7d7,#c8acd0 70%);border-radius:50%;width:250px;height:66px;position:absolute;top:46px;left:35px;box-shadow:0 7px #ab83af,inset 0 8px 15px #ffffff57}.cake-top i{filter:blur(2px);background:#6238682e;border-radius:50%;width:42px;height:18px;position:absolute}.cake-top i:first-child{top:22px;left:24px}.cake-top i:nth-child(2){width:30px;top:11px;left:106px}.cake-top i:nth-child(3){top:33px;right:30px}.cake-layer{color:#442b539e;letter-spacing:.42em;place-items:center;width:250px;font-family:Georgia,serif;font-size:10px;font-weight:700;display:grid;position:absolute;left:35px}.cake-layer-one{clip-path:polygon(0 0,100% 0,100% 82%,94% 96%,86% 83%,76% 98%,65% 84%,52% 100%,40% 84%,29% 98%,17% 82%,8% 96%,0 82%);background:linear-gradient(90deg,#b790b8,#dec3d0 48%,#a27aaa);height:92px;top:78px}.cake-layer-two{background:linear-gradient(90deg,#dfc9d9,#f0dfdd 46%,#bb9abd);border-radius:2px 2px 18px 18px;width:280px;height:96px;top:155px;left:20px;box-shadow:inset 0 -12px 18px #71497d29}.cake-plate{background:linear-gradient(#e4c88742,#e4c8870d);border:1px solid #e4c88780;border-radius:50%;width:320px;height:25px;position:absolute;bottom:35px;left:0}.cake-stars i{color:var(--gold);font-style:normal;animation:2.3s ease-in-out infinite twinkle;position:absolute}.cake-stars i:first-child{font-size:22px;top:120px;left:calc(50% - 230px)}.cake-stars i:nth-child(2){font-size:26px;top:230px;left:calc(50% + 205px)}.cake-stars i:nth-child(3){font-size:17px;top:74px;left:calc(50% + 185px)}.cake-stars i:nth-child(4){font-size:22px;top:255px;left:calc(50% - 195px)}.wish-button{min-width:230px;color:var(--warm-white);cursor:pointer;letter-spacing:.12em;background:#e4c88714;border:1px solid #e4c8878a;border-radius:999px;justify-content:space-between;align-items:center;gap:28px;margin-top:5px;padding:15px 21px 15px 25px;font-size:13px;transition:background .3s,transform .3s,border-color .3s;display:flex}.wish-button:hover:not(:disabled){border-color:var(--gold);background:#e4c8872e;transform:translateY(-2px)}.wish-button:disabled{cursor:default;opacity:.72}.wish-button i{color:var(--gold);font-size:18px;font-style:normal}.candles-out .flame{opacity:0;animation:none;transform:translateY(10px)scale(0)}.final-wish{z-index:5;text-align:center;width:min(800px,100% - 48px);margin:80px auto 0;animation:1s cubic-bezier(.2,.8,.2,1) both finalReveal;position:relative}.final-wish>p{color:var(--gold);letter-spacing:.48em;margin:0 0 20px;font-size:10px}.final-wish>span{color:#f8f2e8ad;font-family:var(--serif);letter-spacing:.09em;margin-top:24px;display:block}.site-footer{z-index:3;color:#f8f2e857;letter-spacing:.25em;text-transform:uppercase;border-top:1px solid #e4c8871a;justify-content:center;gap:17px;padding:36px 24px 44px;font-family:Georgia,serif;font-size:10px;display:flex;position:relative}.site-footer i{color:var(--gold);font-style:normal}.fireworks,.confetti-layer{z-index:50;pointer-events:none;position:fixed;inset:0}.fireworks{opacity:0;transition:opacity .25s}.fireworks.is-active{opacity:1}.confetti-layer{overflow:hidden}.confetti-layer i{left:var(--x);background:var(--color);width:8px;height:16px;transform:rotate(var(--tilt));animation:confetti var(--fall) var(--delay) linear infinite;position:absolute;top:-30px}@keyframes twinkle{0%,to{opacity:.18;transform:scale(.8)}50%{opacity:1;transform:scale(1.28)}}@keyframes breathe{0%,to{opacity:.65;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}@keyframes orbit{to{transform:rotate(342deg)}}@keyframes giftFloat{0%,to{transform:translateY(5px)rotate(-1deg)}50%{transform:translateY(-13px)rotate(1deg)}}@keyframes flame{0%{transform:rotate(-4deg)scaleX(.94)}to{transform:rotate(5deg)scaleX(1.05)scaleY(.94)}}@keyframes confetti{0%{transform:translate3d(0, -5vh, 0) rotate(var(--tilt));opacity:0}8%{opacity:1}to{transform:translate3d(70px, 110vh, 0) rotate(calc(var(--tilt) + 720deg));opacity:.8}}@keyframes finalReveal{0%{opacity:0;transform:translateY(34px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=800px){.hero{text-align:center;grid-template-rows:auto auto;grid-template-columns:1fr;gap:15px;min-height:100svh;padding:11vh 24px 6vh}.hero-copy{margin:auto;padding-left:0}.hero-copy:before{display:none}.kicker{letter-spacing:.26em;justify-content:center;font-size:9px}.tiny-wish{margin-top:28px}.hero h1{letter-spacing:-.075em;font-size:clamp(54px,17vw,82px)}.hero-note{margin-top:23px;font-size:15px;line-height:1.75}.desktop-break{display:none}.gift-button{width:min(92vw,390px);margin-top:-5px}.gift-box{transform:scale(.82)}.gift-button:hover .gift-box{transform:translateY(-5px)scale(.84)}.gift-label{bottom:1%}.scroll-cue{display:none}.orbit-one{width:90vw;height:28vw;top:4vh}.orbit-two{width:80vw;height:20vw;bottom:3vh}.section-shell{width:min(100% - 36px,600px)}.memories{padding-top:100px;padding-bottom:100px}.section-heading{text-align:center;grid-template-columns:1fr;gap:25px;margin-bottom:52px}.section-heading>p:last-child{font-size:15px;line-height:1.85}.memory-wall{scroll-snap-type:x mandatory;scrollbar-width:none;gap:18px;width:calc(100vw - 18px);margin-left:0;padding:10px 24px 42px 4px;display:flex;overflow-x:auto}.memory-wall::-webkit-scrollbar{display:none}.memory-card{scroll-snap-align:center;min-width:min(78vw,330px);margin:0;transform:rotate(-1deg)}.memory-card:nth-child(2n){transform:rotate(1deg)}.memory-photo{height:310px}.memory-card:hover{transform:translateY(-5px)rotate(0)}.letter-section{padding:70px 0 130px}.letter-card{padding:42px 28px}.letter-card h2{margin:30px 0 28px}.letter-body{font-size:15px;line-height:1.95}.letter-card footer{flex-wrap:wrap;font-size:13px}.cake-section{padding:100px 0 70px}.cake-stage{padding-top:55px}.cake{margin:-15px 0;transform:scale(.88)}.cake-stars i:first-child{left:8%}.cake-stars i:nth-child(2){left:89%}.cake-stars i:nth-child(3){left:83%}.cake-stars i:nth-child(4){left:13%}.final-wish{margin-top:62px}.final-wish h2{font-size:clamp(42px,12vw,60px)}.final-wish>span{line-height:1.8}}@media (width<=380px){.hero{padding-top:8vh}.hero h1{font-size:51px}.tiny-wish{margin-top:20px}.gift-button{width:88vw}.gift-box{transform:scale(.74)}.gift-label{bottom:0}.memory-photo{height:270px}.cake{margin:-28px 0;transform:scale(.8)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
