@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&family=Playfair+Display:ital,wght@1,600&display=swap";:root{color:#33242c;font-synthesis:none;text-rendering:optimizelegibility;--ink:#33242c;--pink:#e65e78;--cream:#fffaf7;--rose-mist:#f9e9e6;--serif:"DM Serif Display", Georgia, serif;--script:"Playfair Display", Georgia, serif;background:#fffaf7;font-family:DM Sans,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #e65e7838}.shell{width:min(1180px,100% - 48px);margin-inline:auto}main{isolation:isolate;min-height:100vh;position:relative}main>.home-page,main>.form-page,main>.wish-page,main>.wish-load-state{z-index:1;position:relative}.home-page{background:radial-gradient(circle at 84% 16%,#f8e2dcc7 0,#0000 30%),#fffaf7d1;min-height:100vh;overflow:hidden}.nav{z-index:20;justify-content:space-between;align-items:center;height:84px;display:flex;position:relative}.brand{font:400 31px var(--serif);cursor:pointer;letter-spacing:-.7px;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.brand>span:last-child{color:var(--pink);margin-left:-7px}.brand-mark{background:var(--pink);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;transform:rotate(-7deg)}.brand-mark svg{width:22px;height:22px}.nav-cta,.edit-link,.share-link,.copy-link,.whatsapp-link{cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:6px 0;font-size:13px;font-weight:700}.nav-cta{color:#a44256}.hero{grid-template-columns:1.03fr .97fr;align-items:center;gap:82px;min-height:calc(100vh - 140px);padding:60px 0 95px;display:grid;position:relative}.hero-copy{z-index:2;position:relative}.eyebrow{color:#b14c61;letter-spacing:2px;align-items:center;gap:9px;margin-bottom:23px;font-size:11px;font-weight:800;display:flex}.hero h1,.form-aside h1{font:400 clamp(52px, 5.4vw, 82px)/.98 var(--serif);letter-spacing:-3.5px;max-width:680px;margin:0}.hero h1 em,.form-aside h1 em{color:var(--pink);font-weight:400}.hero-subtitle{color:#6d5c65;max-width:570px;margin:26px 0 31px;font-size:17px;line-height:1.7}.hero-actions{align-items:center;gap:24px;display:flex}.button{cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:0 23px;font-size:13px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#fff;background:var(--pink);box-shadow:0 12px 26px #da4d6933}.button-primary:hover{box-shadow:0 16px 32px #da4d694d}.tiny-note{color:#88767e;align-items:center;gap:6px;font-size:12px;display:flex}.tiny-note span{color:var(--pink);font-size:19px}.love-proof{align-items:center;gap:15px;margin-top:48px;display:flex}.avatar-stack{display:flex}.avatar-stack span{background:#ead9d3;border:2px solid #fffaf7;border-radius:50%;place-items:center;width:34px;height:34px;margin-left:-8px;font-size:19px;display:grid;overflow:hidden}.avatar-stack span:first-child{margin-left:0}.love-proof strong,.love-proof small{display:block}.love-proof strong{margin-bottom:3px;font-size:11px}.love-proof small{color:#9a8890;font-size:10px}.hero-art{place-items:center;height:650px;display:grid;position:relative}.hero-art:before{content:"";background:#f4cbc7;border-radius:50%;width:510px;height:510px;position:absolute;top:45px;left:50%;transform:translate(-50%)}.hero-art:after{content:"";filter:blur(16px);background:#5b34401f;border-radius:50%;width:380px;height:42px;position:absolute;bottom:37px}.preview-card{z-index:2;text-align:center;background:#fffefa;width:340px;min-height:510px;padding:25px 28px 20px;position:relative;transform:rotate(3.2deg);box-shadow:0 28px 60px #4a2d392e}.preview-card:before{content:"";pointer-events:none;border:1px solid #eddbd5;position:absolute;inset:10px}.preview-ribbon{z-index:3;color:#fff;letter-spacing:1.8px;background:#e95f79;padding:9px 22px;font-size:8px;font-weight:800;position:absolute;top:-17px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 5px 12px #6e293a2e}.preview-photo-wrap{height:240px;margin-bottom:14px;position:relative;overflow:hidden}.preview-photo-wrap img{object-fit:cover;object-position:center 38%;filter:saturate(.82)sepia(.06);width:100%;height:100%}.mini-sticker{color:#864554;background:#f1bd61;border:2px solid #fff;border-radius:50%;place-items:center;width:44px;height:44px;font-size:10px;font-weight:900;display:grid;position:absolute;bottom:10px;right:10px;transform:rotate(9deg)}.script-word,.wish-script{font:600 italic 35px/1 var(--script);color:var(--pink);margin:9px 0 8px}.preview-card h2{font:400 20px var(--serif);letter-spacing:.5px;margin:0}.preview-divider{color:#e7607a;align-items:center;gap:9px;width:95px;margin:9px auto;display:flex}.preview-divider:before,.preview-divider:after{content:"";background:#e8c8c4;flex:1;height:1px}.preview-card>p:not(.script-word){color:#7d6a72;width:84%;margin:0 auto;font:italic 11px/1.5 Georgia,serif}.preview-footer{color:#a78f97;letter-spacing:1.3px;justify-content:space-between;margin-top:13px;font-size:7px;font-weight:800;display:flex}.preview-footer span:last-child{color:var(--pink);font-size:11px}.float-pill{z-index:5;color:#795c67;font:600 10px var(--script);background:#fff;border-radius:20px;align-items:center;gap:7px;padding:11px 16px;animation:3.2s ease-in-out infinite float;display:flex;position:absolute;box-shadow:0 10px 25px #462f381f}.float-pill svg{color:var(--pink)}.pill-one{top:180px;left:-20px;transform:rotate(-6deg)}.pill-two{animation-delay:.8s;bottom:120px;right:-30px;transform:rotate(5deg)}.doodle{z-index:3;color:#dc6c80;font-family:Georgia,serif;font-size:40px;position:absolute}.doodle-star{top:74px;right:10px;transform:rotate(20deg)}.doodle-heart{bottom:83px;left:25px;transform:rotate(-14deg)}.steps-strip{background:#ffffff7a;border-top:1px solid #eadfd9}.steps{grid-template-columns:repeat(3,1fr);padding-block:27px;display:grid}.steps>div{border-right:1px solid #eadfd9;align-items:center;gap:15px;padding:0 28px;display:flex}.steps>div:last-child{border:0}.steps span{font:italic 25px var(--serif);color:#e993a3}.steps p,.steps strong,.steps small{margin:0;display:block}.steps strong{font:400 14px var(--serif);margin-bottom:3px}.steps p{color:#9a8990;font-size:10px}.site-copyright{z-index:3;color:#806f76;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffaf7b8;border-top:1px solid #6d4b581a;place-items:center;min-height:58px;display:grid;position:relative}.copyright-mark{color:inherit;letter-spacing:1.15px;text-align:center;justify-content:center;align-items:center;gap:9px;margin:0;font-size:9px;font-weight:700;display:flex}.copyright-mark span{color:var(--theme-accent,var(--pink));font-weight:800}.form-page{--form-accent:#a63d55;--form-tint:#f8ebe7;--pink:var(--form-accent);background:radial-gradient(circle at 86% 18%, color-mix(in srgb, var(--form-accent) 18%, transparent), transparent 31%), linear-gradient(115deg, #fffaf7d1 0 42%, color-mix(in srgb, var(--form-tint) 82%, transparent) 42% 100%);min-height:100vh;transition:background .55s}.form-theme-friend{--form-accent:#c26735;--form-tint:#f5eddf}.form-theme-family{--form-accent:#8b5d39;--form-tint:#f1ebe2}.form-theme-sister{--form-accent:#986184;--form-tint:#f3eaf0}.form-theme-brother{--form-accent:#315f78;--form-tint:#e7edef}.form-theme-wife{--form-accent:#9d5c54;--form-tint:#f4eae5}.form-theme-husband{--form-accent:#3f6258;--form-tint:#e8eeea}.form-page .eyebrow,.form-page .form-heading p,.form-page .secure-note svg{color:var(--form-accent)}.form-page .form-icon,.form-page .upload-icon{color:var(--form-accent);background:color-mix(in srgb, var(--form-accent) 11%, white)}.form-page .form-promise>span{color:var(--form-accent);border-color:color-mix(in srgb, var(--form-accent) 45%, white)}.form-page .form-aside blockquote{border-color:var(--form-accent)}.form-page input:focus,.form-page textarea:focus{border-color:color-mix(in srgb, var(--form-accent) 70%, white);box-shadow:0 0 0 4px color-mix(in srgb, var(--form-accent) 9%, transparent)}.form-page .tab-switcher button.active{color:var(--form-accent)}.form-page .button-primary{background:var(--form-gradient,var(--form-accent));box-shadow:0 12px 26px color-mix(in srgb, var(--form-accent) 22%, transparent)}.form-nav{border-bottom:1px solid #805b661a}.secure-note{color:#9c7b84;align-items:center;gap:6px;font-size:10px;display:flex}.secure-note svg{color:var(--pink)}.form-shell{grid-template-columns:.78fr 1.22fr;align-items:start;gap:95px;padding-top:66px;padding-bottom:90px;display:grid}.form-aside{padding:0 8px;position:sticky;top:30px}.back-link{color:#7d6971;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-bottom:65px;padding:0;font-size:11px;display:flex}.form-aside h1{max-width:450px;font-size:clamp(47px,4.3vw,65px)}.form-aside>p{color:#7c6871;max-width:410px;margin:23px 0 38px;font-size:14px;line-height:1.7}.form-promise{align-items:flex-start;gap:12px;margin:18px 0;display:flex}.form-promise>span{width:25px;height:25px;color:var(--pink);border:1px solid #e59bac;border-radius:50%;flex:none;place-items:center;display:grid}.form-promise p,.form-promise strong,.form-promise small{margin:0;display:block}.form-promise strong{font:400 14px var(--serif)}.form-promise small{color:#9a858d;margin-top:3px;font-size:10px}.form-aside blockquote{color:#957780;border-left:2px solid #e88da0;max-width:365px;margin:48px 0 0;padding:4px 0 4px 18px;font:italic 13px/1.6 Georgia,serif}.wish-form{background:#fffdfa;border:1px solid #f1e3de;width:100%;max-width:660px;padding:42px 50px 32px;box-shadow:0 20px 60px #5d3d4817}.form-heading{border-bottom:1px solid #eee0db;align-items:center;gap:14px;margin-bottom:25px;padding-bottom:25px;display:flex}.form-icon{width:42px;height:42px;color:var(--pink);background:#f9e4e2;border-radius:50%;place-items:center;display:grid}.form-heading p{letter-spacing:1.7px;color:#bb5e72;margin:0 0 4px;font-size:8px;font-weight:800}.form-heading h2{font:400 25px var(--serif);margin:0}.field-label,fieldset legend{margin:21px 0 9px;font-size:11px;font-weight:700;display:block}.field-label span{color:var(--pink)}.field-label small{color:#ab9a9f;font-weight:400}.form-detail-grid{grid-template-columns:.8fr 1.2fr;gap:14px;display:grid}.form-detail-grid .field-label{margin-top:16px}fieldset{border:0;min-width:0;margin:0;padding:0}fieldset legend small{color:#ab9a9f;font-weight:400}input,textarea{color:#49363e;background:#fff;border:1px solid #e8dcd7;border-radius:3px;width:100%;padding:13px 14px;transition:border .2s,box-shadow .2s}input::placeholder,textarea::placeholder{color:#bbaeb1}input:focus,textarea:focus{border-color:#e38ba0;outline:0;box-shadow:0 0 0 4px #e38ba014}textarea{resize:vertical;min-height:115px;line-height:1.6}.relationship-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.relationship{cursor:pointer;background:#fff;border:1px solid #e7dad5;border-radius:3px;justify-content:center;align-items:center;gap:5px;height:39px;font-size:10px;display:flex}.relationship span{color:var(--pink)}.relationship.active{color:#b24c62;background:#fcebed;border-color:#e77e93;box-shadow:inset 0 0 0 1px #e77e93}.form-page .relationship.active{color:var(--form-accent);border-color:color-mix(in srgb, var(--form-accent) 70%, white);background:color-mix(in srgb, var(--form-accent) 9%, white);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--form-accent) 70%, white)}.theme-selection-note{color:var(--form-accent);letter-spacing:1.4px;text-transform:uppercase;align-items:center;gap:8px;margin-top:10px;font-size:8px;font-weight:800;animation:.38s both themeNoteIn;display:flex}.theme-selection-note span{background:currentColor;width:22px;height:1px}.tab-switcher{background:#f5eeeb;border-radius:4px;width:max-content;margin-bottom:9px;padding:3px;display:flex}.tab-switcher button{cursor:pointer;background:0 0;border:0;border-radius:3px;align-items:center;gap:6px;padding:7px 13px;font-size:9px;display:flex}.tab-switcher button.active{color:#b34f63;background:#fff;box-shadow:0 2px 5px #52364014}.upload-box{cursor:pointer;background:#fffaf9;border:1px dashed #dfcbc6;border-radius:3px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:74px;display:flex}.upload-box img{object-fit:cover;border-radius:4px;width:54px;height:54px}.upload-box>span:not(.upload-icon){text-align:left}.upload-box strong,.upload-box small{display:block}.upload-box strong{font-size:10px}.upload-box small{color:#ad9ca1;margin-top:3px;font-size:8px}.upload-icon{color:#d76c82;background:#f8e6e4;border-radius:50%;place-items:center;width:35px;height:35px;display:grid}.uploaded-photo-grid{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:9px;display:grid}.uploaded-photo{aspect-ratio:1;background:#f7efec;border:1px solid #eadbd6;border-radius:5px;margin:0;position:relative;overflow:hidden}.uploaded-photo img{object-fit:cover;width:100%;height:100%}.uploaded-photo>span{color:#fff;background:#281d21b8;border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:7px;display:grid;position:absolute;bottom:4px;left:4px}.uploaded-photo button{color:#fff;cursor:pointer;background:#281d21c2;border:0;border-radius:50%;place-items:center;width:21px;height:21px;padding:0;display:grid;position:absolute;top:4px;right:4px}.uploaded-photo button:hover{background:#a83f55}.upload-order-note{color:#9a858d;margin:9px 0 0;font-size:8px;line-height:1.5}.upload-order-note strong{color:var(--form-accent)}.character-count{text-align:right;color:#b6a5aa;margin-top:4px;font-size:8px}.form-options{grid-template-columns:1fr 1.2fr;align-items:end;gap:20px;margin-top:3px;display:grid}.color-row{flex-wrap:wrap;align-items:center;gap:9px;min-height:38px;display:flex}.color-swatch{background:var(--swatch-gradient);cursor:pointer;border:3px solid #fff;border-radius:50%;outline:1px solid #0000;width:30px;height:30px;transition:transform .2s,box-shadow .2s;box-shadow:0 3px 8px #36262d1f}.color-swatch:hover{transform:translateY(-2px);box-shadow:0 6px 13px #36262d2e}.color-swatch.active{outline:2px solid var(--swatch-accent);outline-offset:2px;transform:scale(1.08)}.music-option{background:#fff;border:1px solid #e8dcd7;min-height:51px;padding:11px}.music-option-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.music-option-head>span{min-width:0;color:var(--form-accent);align-items:center;gap:8px;display:flex}.music-option-head>span>span{min-width:0}.music-option strong,.music-option small{color:#49363e;display:block}.music-option strong{font-size:9px}.music-option small{color:#a9969c;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:7px;overflow:hidden}.music-picker{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;display:grid}.music-picker button{color:#77656c;cursor:pointer;background:#faf7f5;border:1px solid #eaded9;border-radius:4px;justify-content:center;align-items:center;gap:5px;min-height:31px;padding:0 8px;font-size:8px;display:flex}.music-picker button.active{border-color:color-mix(in srgb, var(--form-accent) 55%, #ddd);color:var(--form-accent);background:color-mix(in srgb, var(--form-accent) 7%, #fff);box-shadow:0 0 0 1px color-mix(in srgb, var(--form-accent) 12%, transparent)}.selected-music{min-width:0;color:var(--form-accent);background:color-mix(in srgb, var(--form-accent) 7%, #fff);border-radius:4px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;margin-top:7px;padding:7px 8px;display:grid}.selected-music span{min-width:0}.selected-music strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-music>button{color:#846f76;cursor:pointer;background:#fffc;border:0;border-radius:50%;place-items:center;width:23px;height:23px;padding:0;display:grid}.music-link-field{color:var(--form-accent);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;margin-top:8px;display:grid;position:relative}.music-link-field input{min-width:0;height:34px;padding:7px 9px;font-size:8px}.music-link-field small{white-space:normal;grid-column:1/-1;line-height:1.45}.background-music-player{z-index:-1;opacity:0;pointer-events:none;border:0;width:200px;height:200px;position:fixed;bottom:0;left:-10000px}.toggle{cursor:pointer;background:#d7cacb;border:0;border-radius:20px;width:35px;height:20px;padding:2px;transition:background .2s}.toggle i{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;display:block}.toggle.active{background:var(--pink)}.toggle.active i{transform:translate(15px)}.form-error{color:#b43b51;background:#fff0f1;margin:16px 0 -5px;padding:9px 12px;font-size:10px}.submit-button{width:100%;margin-top:23px}.form-footnote{text-align:center;color:#ad9ba1;margin:10px 0 0;font-size:8px}.wish-page{--accent:#e75b73;background:radial-gradient(circle at 75% 40%, color-mix(in srgb, var(--accent) 20%, #fff) 0, transparent 33%), linear-gradient(120deg, #fffaf6 0 58%, color-mix(in srgb, var(--accent) 13%, #fff9f3) 58%);min-height:100vh;position:relative;overflow:hidden}.wish-nav{z-index:15;justify-content:space-between;align-items:center;height:76px;display:flex;position:relative}.wish-brand .brand-mark{background:var(--accent)}.wish-nav-actions{align-items:center;gap:18px;display:flex}.icon-button{border:1px solid color-mix(in srgb, var(--accent) 35%, #ddd);width:36px;height:36px;color:var(--accent);cursor:pointer;background:#ffffff8c;border-radius:50%;place-items:center;display:grid}.edit-link{border-bottom:0;align-items:center;gap:6px;display:flex}.share-link{color:color-mix(in srgb, var(--accent) 76%, #47313b);border-bottom:0;align-items:center;gap:6px;display:flex}.whatsapp-link{color:#117a42;background:#25d3661a;border:1px solid #128c4a47;border-radius:999px;align-items:center;gap:6px;min-height:38px;padding:0 13px;display:flex}.copy-link{color:#fff;background:var(--theme-ink,#4b373f);border:0;border-radius:999px;align-items:center;gap:6px;min-height:38px;padding:0 14px;display:flex}.copy-link:disabled,.share-link:disabled,.whatsapp-link:disabled,.closing-share:disabled{cursor:wait;opacity:.7}.wish-layout{z-index:4;grid-template-columns:.95fr 1.05fr;align-items:center;gap:70px;min-height:calc(100vh - 122px);padding-top:20px;padding-bottom:60px;display:grid;position:relative}.wish-kicker{color:color-mix(in srgb, var(--accent) 77%, #74384a);letter-spacing:2.3px;justify-content:center;align-items:center;gap:12px;font-size:9px;font-weight:800;display:flex}.wish-kicker span{background:currentColor;width:28px;height:1px}.wish-script{color:var(--accent);margin:30px 0 0;font-size:clamp(40px,5vw,67px);transform:rotate(-2deg)}.wish-copy h1{font:400 clamp(68px, 7.5vw, 115px)/.82 var(--serif);letter-spacing:-5px;margin:8px 0 26px}.wish-copy h1 em{color:var(--accent)}.heart-rule{color:var(--accent);justify-content:center;align-items:center;gap:11px;display:flex}.heart-rule i{background:color-mix(in srgb, var(--accent) 45%, #eee);width:75px;height:1px}.typing-caret{background:var(--accent);vertical-align:-3px;width:1px;height:17px;margin-left:2px;animation:.7s step-end infinite blink;display:inline-block}.relationship-note{letter-spacing:2px;color:#a08a92;font-size:8px;font-weight:800}.wish-actions{justify-content:center;gap:12px;margin-top:29px;display:flex}.wish-page .button-primary{background:var(--accent)}.replay-button{color:#715e65;background:0 0;border:1px solid #d9c8c4}.celebration-art{isolation:isolate;place-items:center;height:650px;display:grid;position:relative}.scroll-invitation{z-index:8;color:#9a858c;letter-spacing:1.7px;flex-direction:column;align-items:center;gap:6px;font-size:7px;font-weight:800;text-decoration:none;animation:2s ease-in-out infinite scrollNudge;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.wish-keepsake{z-index:8;background:#fffaf6e6;border-top:1px solid #f0e1db;padding:105px 0 120px;position:relative;overflow:hidden}.wish-keepsake:before{content:"♡";color:color-mix(in srgb, var(--accent) 10%, transparent);font:400 300px Georgia,serif;position:absolute;top:220px;left:-40px;transform:rotate(-18deg)}.wish-keepsake:after{content:"✦";color:color-mix(in srgb, var(--accent) 22%, transparent);font-size:72px;position:absolute;top:90px;right:5%;transform:rotate(13deg)}.keepsake-heading{text-align:center;z-index:2;position:relative}.keepsake-heading .eyebrow{color:color-mix(in srgb, var(--accent) 75%, #803a4f);justify-content:center;margin-bottom:17px}.keepsake-heading h2{font:400 clamp(45px, 5vw, 70px)/1.05 var(--serif);letter-spacing:-2px;margin:0}.keepsake-heading>p{color:#947f87;margin:14px 0 0;font:italic 14px Georgia,serif}.blessing-grid{z-index:2;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px;display:grid;position:relative}.blessing-card{background:#fff;border:1px solid #eee0da;min-height:290px;padding:31px 31px 27px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 15px 42px #4a2f390f}.blessing-card:hover{transform:translateY(-5px)rotate(-.4deg);box-shadow:0 22px 50px #4a2f391c}.blessing-card:nth-child(2):hover{transform:translateY(11px)rotate(.4deg)}.blessing-number{color:#c7b6ba;font:italic 12px var(--serif);position:absolute;top:20px;right:23px}.blessing-icon{background:color-mix(in srgb, var(--accent) 11%, #fff);width:55px;height:55px;color:var(--accent);border-radius:50%;place-items:center;font:400 28px Georgia,serif;display:grid}.blessing-card h3{font:400 23px var(--serif);margin:27px 0 11px}.blessing-card p{color:#806d74;max-width:260px;margin:0;font-size:12px;line-height:1.7}.blessing-card>i{background:var(--accent);width:38px;height:3px;position:absolute;bottom:25px;left:31px}.keepsake-note{background:color-mix(in srgb, var(--accent) 7%, #fffaf5);border:1px solid color-mix(in srgb, var(--accent) 17%, #edddd7);z-index:2;grid-template-columns:230px 1fr;align-items:center;gap:75px;min-height:370px;margin-top:100px;padding:55px 80px;display:grid;position:relative}.keepsake-note:before,.keepsake-note:after{content:"";z-index:4;background:#edcdaea6;width:72px;height:24px;position:absolute}.keepsake-note:before{top:-6px;left:32%;transform:rotate(-5deg)}.keepsake-note:after{bottom:-7px;right:22%;transform:rotate(4deg)}.note-decoration span{color:color-mix(in srgb, var(--accent) 50%, #c98b97);font-family:Georgia,serif;position:absolute}.note-decoration span:first-child{font-size:31px;top:26px;right:35px}.note-decoration span:last-child{font-size:38px;bottom:20px;left:30px;transform:rotate(-12deg)}.note-copy{max-width:650px}.note-overline{letter-spacing:2px;color:var(--accent)!important;margin:0 0 16px!important;font:800 8px DM Sans,sans-serif!important}.note-copy blockquote{font:400 clamp(29px, 3.1vw, 43px)/1.2 var(--serif);color:#49363e;max-width:720px;margin:0 0 22px}.note-copy>p{color:#806a73;max-width:590px;font:italic 13px/1.75 Georgia,serif}.note-signature{color:var(--accent);font:italic 19px var(--script);margin-top:18px;display:block;transform:rotate(-1deg)}.wish-closing{text-align:center;z-index:8;color:#fff;background:radial-gradient(circle at 50% 48%, color-mix(in srgb, var(--accent) 84%, #bd6576eb), color-mix(in srgb, var(--accent) 92%, #321f28ed) 70%);place-items:center;min-height:650px;display:grid;position:relative;overflow:hidden}.wish-closing:before{content:"";border:1px solid #ffffff26;border-radius:50%;width:650px;height:650px;position:absolute;box-shadow:0 0 0 80px #ffffff06,0 0 0 160px #ffffff05}.closing-content{z-index:2;padding:100px 20px;position:relative}.closing-kicker{letter-spacing:3px;opacity:.7;font-size:8px;font-weight:800}.closing-content h2{font:400 clamp(52px, 6.4vw, 86px)/1 var(--serif);letter-spacing:-2.5px;margin:20px 0}.closing-content h2 em{color:#ffe0ae;font-weight:400}.closing-content>p{color:#ffffffc7;max-width:570px;margin:0 auto;font:italic 14px/1.7 Georgia,serif}.closing-actions{justify-content:center;gap:12px;margin-top:31px;display:flex}.closing-share{color:color-mix(in srgb, var(--accent) 76%, #4e2637);background:#fffaf5}.closing-replay{color:#fff;background:0 0;border:1px solid #ffffff73}.closing-heart{color:#ffe2ae;justify-content:center;align-items:center;gap:11px;margin-top:48px;display:flex}.closing-heart i{background:#ffffff59;width:62px;height:1px}.closing-stars span{color:#fff6;font-family:Georgia,serif;animation:2.2s ease-in-out infinite alternate twinkle;position:absolute}.closing-stars span:first-child{font-size:39px;top:22%;left:13%}.closing-stars span:nth-child(2){font-size:31px;animation-delay:.6s;top:18%;right:14%}.closing-stars span:nth-child(3){font-size:52px;animation-delay:1s;bottom:18%;left:20%;transform:rotate(-16deg)}.closing-stars span:nth-child(4){font-size:25px;animation-delay:.3s;bottom:21%;right:18%}.wish-footer{color:#9c8990;z-index:12;border-top:1px solid #6d4b581f;justify-content:space-between;align-items:center;min-height:46px;padding:0 max(24px,50vw - 590px);font-size:9px;display:flex;position:relative}.wish-footer button{color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;display:flex}.wish-footer .copyright-mark{color:inherit}.share-toast{z-index:70;color:#fff;background:#3f3036;border-radius:3px;align-items:center;gap:8px;padding:12px 17px;font-size:11px;font-weight:700;animation:.3s both toastIn;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 15px 40px #2b1b224d}.share-result{z-index:69;color:#403138;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffcf9f7;border:1px solid #44313824;border-radius:12px;width:min(540px,100% - 48px);padding:14px;animation:.3s both toastIn;position:fixed;bottom:72px;right:24px;box-shadow:0 18px 50px #1f151938}.share-result-heading{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11px;font-weight:800;display:flex}.share-result-heading span{color:var(--accent);align-items:center;gap:7px;display:flex}.share-result-heading>button{color:#77656d;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:27px;height:27px;padding:0;display:grid}.share-result-row{grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:7px;display:grid}.share-result-row input{color:#65545b;background:#fff;border:1px solid #e1d5d1;border-radius:7px;min-width:0;height:39px;padding:0 11px;font-size:10px}.share-result-row button,.share-result-row a{color:#fff;background:var(--theme-ink,#49343d);cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:6px;height:39px;padding:0 12px;font-size:10px;font-weight:800;text-decoration:none;display:flex}.share-result-row .whatsapp-now{background:#168b4c}.share-result-row a{width:39px;padding:0}.wish-load-state{text-align:center;color:#4d3740;background:radial-gradient(circle at 50% 35%,#fff 0,#f9e8ec 70%);place-content:center;justify-items:center;gap:18px;min-height:100vh;padding:28px;font:600 15px/1.6 Arial,sans-serif;display:grid}.wish-load-state>span{border:3px solid #9e354b2e;border-top-color:#9e354b;border-radius:50%;width:38px;height:38px;animation:.75s linear infinite spin}.wish-load-state h1{margin:0;font:400 clamp(36px,6vw,64px)/1.05 Georgia,serif}.wish-load-state p{color:#806872;margin:-7px 0 8px}@keyframes spin{to{transform:rotate(360deg)}}.confetti{z-index:30;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti i{top:-25px;left:var(--left);background:var(--color);width:8px;height:15px;transform:rotate(var(--rotate));animation:confettiFall var(--duration) var(--delay) ease-in both;position:absolute}.celebration-background{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.cursor-background{z-index:0;opacity:0;filter:saturate(1.25);pointer-events:none;transition:opacity .25s;position:fixed;inset:0;overflow:hidden}.cursor-background.active{opacity:1}.cursor-head{will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.cursor-glow{background:radial-gradient(circle, color-mix(in srgb, var(--theme-accent) 66%, transparent) 0, color-mix(in srgb, var(--theme-secondary) 32%, transparent) 27%, #efc46b26 45%, transparent 70%);filter:blur(5px);border-radius:50%;width:520px;height:520px;animation:2.8s ease-in-out infinite cursorGlowPulse;position:absolute;top:0;left:0;translate:-50% -50%}.cursor-ring{border:2px solid color-mix(in srgb, var(--theme-accent) 55%, transparent);box-shadow:0 0 18px color-mix(in srgb, var(--theme-accent) 32%, transparent);border-radius:50%;animation:2.2s ease-out infinite cursorRingPulse;position:absolute;top:0;left:0;translate:-50% -50%}.cursor-ring-one{width:62px;height:62px}.cursor-ring-two{width:100px;height:100px;animation-delay:-1.1s}.cursor-orbit-spark{background:color-mix(in srgb, var(--theme-secondary) 75%, white);width:7px;height:7px;box-shadow:0 0 12px var(--theme-secondary);animation:cursorSparkOrbit 3.4s var(--spark-delay) linear infinite;border-radius:50%;position:absolute;top:-3px;left:-3px}.cursor-trail-dot{width:var(--trail-size);height:var(--trail-size);opacity:min(1, calc(var(--trail-opacity) + .28));background:color-mix(in srgb, var(--theme-accent) 88%, white);box-shadow:0 0 18px color-mix(in srgb, var(--theme-accent) 68%, transparent);will-change:transform;border-radius:50%;position:absolute;top:0;left:0}.cursor-trail-dot:nth-of-type(2n){background:color-mix(in srgb, var(--theme-secondary) 82%, white)}.background-balloons{position:absolute;inset:0}.celebration-balloon{left:var(--balloon-left);width:calc(66px * var(--balloon-size));height:calc(82px * var(--balloon-size));opacity:.48;filter:saturate(1.05);animation:balloonFlight var(--balloon-duration) var(--balloon-delay) linear infinite;position:absolute;bottom:-180px}.celebration-balloon:before{content:"";background:radial-gradient(circle at 30% 25%, #ffffffb8 0 8%, transparent 19%), linear-gradient(145deg, color-mix(in srgb, var(--balloon-color) 72%, white), var(--balloon-color));border-radius:52% 48% 48% 52%/57% 57% 43% 43%;position:absolute;inset:0;box-shadow:inset -8px -10px 15px #381f2821,0 9px 22px #3d282f1a}.celebration-balloon:after{content:"";border-left:5px solid #0000;border-right:5px solid #0000;border-top:10px solid var(--balloon-color);position:absolute;bottom:-8px;left:50%;translate:-50%}.celebration-balloon>i{transform-origin:top;background:linear-gradient(#523e4466,#0000);width:1px;height:112px;animation:2.4s ease-in-out infinite alternate balloonString;position:absolute;top:calc(100% + 7px);left:50%}.skyshot{left:var(--shot-left);top:var(--shot-top);width:4px;height:4px;color:var(--shot-color);position:absolute}.skyshot-trail{opacity:0;transform-origin:top;background:linear-gradient(to bottom, currentColor, color-mix(in srgb, currentColor 25%, transparent) 28%, transparent 80%);width:2px;height:48vh;animation:skyshotTrail var(--shot-duration) var(--shot-delay) ease-out infinite;position:absolute;top:2px;left:1px}.skyshot-burst{opacity:0;animation:skyshotFlash var(--shot-duration) var(--shot-delay) ease-out infinite;position:absolute;inset:0}.skyshot-burst:before{content:"";border:2px solid;border-radius:50%;position:absolute;inset:-7px;box-shadow:0 0 24px}.skyshot-burst>i{width:6px;height:6px;transform:rotate(var(--spark-angle)) translateX(0);animation:skyshotSpark var(--shot-duration) var(--shot-delay) ease-out infinite;background:currentColor;border-radius:50%;position:absolute;top:0;left:0;box-shadow:0 0 11px}.party-popper{opacity:.68;width:76px;height:76px;animation:4.8s ease-in-out infinite partyPop;position:absolute;bottom:7%}.party-popper b{filter:saturate(.8);font-size:60px;line-height:1;display:block}.party-popper>i{border:2px dotted color-mix(in srgb, var(--theme-secondary) 70%, transparent);border-radius:50%;animation:2.4s ease-out infinite popperRing;position:absolute;inset:-18px}.party-popper-left{left:2%;transform:rotate(-16deg)}.party-popper-right{animation-delay:-2.4s;right:2%;transform:scaleX(-1)rotate(-16deg)}.party-popper-upper-left{animation-delay:-1.2s;top:18%;bottom:auto;left:20%;transform:rotate(14deg)scale(.72)}.party-popper-upper-right{animation-delay:-3.6s;top:24%;bottom:auto;right:20%;transform:scaleX(-1)rotate(14deg)scale(.72)}.countdown-intro{background:color-mix(in srgb, var(--accent) 93%, #6e3850);color:#fff;z-index:50;pointer-events:none;place-items:center;animation:.45s 2.35s both introOut;display:grid;position:fixed;inset:0}.countdown-intro span,.countdown-intro strong{opacity:0;position:absolute}.countdown-intro span{font:400 150px var(--serif)}.countdown-intro .count-3{animation:.65s countPop}.countdown-intro .count-2{animation:.65s .65s countPop}.countdown-intro .count-1{animation:.65s 1.3s countPop}.countdown-intro strong{font:italic 55px var(--script);letter-spacing:-1px;animation:.75s 1.9s both wishPop}.popup-backdrop{z-index:60;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#341f2a9e;place-items:center;padding:20px;animation:.25s both fadeIn;display:grid;position:fixed;inset:0}.surprise-popup{text-align:center;background:#fffaf5;border:7px solid #fff;outline:1px solid #ecd8d2;width:min(470px,100%);padding:48px 40px 38px;animation:.4s cubic-bezier(.2,.8,.2,1.1) both popupIn;position:relative;box-shadow:0 30px 90px #24141b59}.surprise-popup:before{content:"";pointer-events:none;border:1px solid #ecd8d2;position:absolute;inset:12px}.popup-close{z-index:2;cursor:pointer;color:#927f86;background:0 0;border:0;position:absolute;top:18px;right:18px}.popup-sparkle{color:var(--accent);position:absolute;top:70px;left:55px;transform:rotate(-16deg)}.popup-emoji{font-size:60px;animation:.8s ease-in-out infinite alternate wiggle}.surprise-popup>p{color:var(--accent);letter-spacing:2px;margin:13px 0;font-size:9px;font-weight:800}.surprise-popup h2{font:400 39px/1.12 var(--serif);margin:0}.surprise-popup h2 em{color:var(--accent)}.popup-caption{color:#8b777e;margin:18px auto 25px;font:italic 12px Georgia,serif;display:block}.wish-page{--theme-accent:#9e354b;--theme-secondary:#d99a85;--theme-ink:#3b2429;--accent:color-mix(in srgb, var(--theme-accent) 82%, var(--personal-accent,var(--theme-accent)));color:#211b18;background:#f3efe9}.wish-page.theme-love{--theme-accent:#a63d55;--theme-secondary:#d89a86;--theme-ink:#45262d;background:radial-gradient(circle at 16% 42%,#be5c711a,#0000 32%),#f4efeb}.wish-page.theme-friend{--theme-accent:#c26735;--theme-secondary:#d9a63f;--theme-ink:#493126;background:radial-gradient(circle at 11% 44%,#e0a9421f,#0000 29%),#f4f0e8}.wish-page.theme-family{--theme-accent:#8b5d39;--theme-secondary:#78836b;--theme-ink:#3e322a;background:radial-gradient(circle at 12%,#896f481f,#0000 34%),#f2eee7}.wish-page.theme-sister{--theme-accent:#986184;--theme-secondary:#baa0c7;--theme-ink:#402c3c;background:radial-gradient(circle at 14% 43%,#a467931f,#0000 31%),#f4eff2}.wish-page.theme-brother{--theme-accent:#315f78;--theme-secondary:#b07a4e;--theme-ink:#233945;background:radial-gradient(circle at 14% 48%,#36637c1c,#0000 32%),#eef1f1}.wish-page.theme-wife{--theme-accent:#9d5c54;--theme-secondary:#c8a260;--theme-ink:#452b29;background:radial-gradient(circle at 15% 45%,#a861551c,#0000 33%),#f5f0ea}.wish-page.theme-husband{--theme-accent:#3f6258;--theme-secondary:#b4804b;--theme-ink:#293b36;background:radial-gradient(circle at 13% 46%,#43665b1c,#0000 32%),#eef1ed}.wish-page.has-custom-palette{background:radial-gradient(circle at 14% 44%, color-mix(in srgb, var(--theme-accent) 14%, transparent), transparent 34%), linear-gradient(145deg, color-mix(in srgb, var(--theme-surface) 82%, transparent), color-mix(in srgb, var(--theme-secondary) 12%, #f3efe9d1))}.wish-page:before{content:"";pointer-events:none;background:linear-gradient(90deg,#ffffffad,#ffffff1f 62%,#0000),repeating-linear-gradient(0deg,#44342a05 0 1px,#0000 1px 4px);height:100vh;position:absolute;inset:0 0 auto}.theme-ambient{z-index:1;pointer-events:none;height:calc(100vh - 84px);position:absolute;inset:84px 0 auto;overflow:hidden}.theme-ambient span{color:var(--theme-accent);opacity:.08;animation:ambientPulse 6s calc(var(--i) * -.75s) ease-in-out infinite;font:400 30px Georgia,serif;position:absolute;top:18%;left:4%}.theme-ambient span:nth-child(2){top:74%;left:18%}.theme-ambient span:nth-child(3){top:9%;left:42%}.theme-ambient span:nth-child(4){top:78%;left:63%}.theme-ambient span:nth-child(5){top:15%;left:82%}.theme-ambient span:nth-child(6){top:58%;left:94%}.theme-friend .theme-ambient span{opacity:.11;animation-name:friendDrift}.theme-family .theme-ambient span{font-size:42px;animation-name:familyBreathe}.theme-sister .theme-ambient span{opacity:.1;animation-name:sisterFloat}.theme-brother .theme-ambient span{font-family:DM Sans,sans-serif;font-weight:700;animation-name:brotherSweep}.theme-wife .theme-ambient span{animation-name:wifeGlow}.theme-husband .theme-ambient span{animation-name:husbandRise}.wish-page .shell{width:min(1320px,100% - 64px)}.wish-nav{border-bottom:1px solid #2c221c1c;height:84px}.wish-brand .brand-mark{background:var(--theme-ink);border-radius:8px;transform:none}.wish-nav-actions{gap:10px}.icon-button,.share-link,.copy-link,.edit-link{color:#4f4239;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff80;border:1px solid #30272129;border-radius:999px;min-height:38px;padding:0 14px}.icon-button{width:38px;color:var(--accent);padding:0}.wish-nav .copy-link{color:#fff;background:var(--theme-ink,#4b373f);border-color:#0000}.wish-layout{grid-template-columns:.82fr 1.18fr;gap:clamp(42px,6vw,92px);min-height:calc(100vh - 84px);padding-top:42px;padding-bottom:82px}.wish-copy{text-align:left;max-width:560px;margin:0}.wish-kicker{color:#7a685b;letter-spacing:2.7px;justify-content:flex-start;font-size:9px}.wish-kicker span:last-child{display:none}.wish-kicker span:first-child{background:var(--accent);width:40px}.wish-script{color:var(--accent);letter-spacing:3.8px;text-transform:uppercase;margin:46px 0 13px;font:600 12px/1 DM Sans,sans-serif;transform:none}.wish-copy h1{max-width:520px;font:400 clamp(68px, 6.6vw, 106px)/.89 var(--serif);letter-spacing:-4px;margin:0 0 30px}.wish-personal-details{color:color-mix(in srgb, var(--accent) 72%, #5f5148);letter-spacing:1.2px;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:9px;margin:-16px 0 24px;font-size:10px;font-weight:800;display:flex}.wish-personal-details i{background:currentColor;border-radius:50%;width:4px;height:4px}.heart-rule{color:var(--accent);justify-content:flex-start}.heart-rule i{background:#46362d40;width:54px}.heart-rule i:last-child{display:none}.typed-message{color:#5f5148;max-width:500px;min-height:88px;margin:28px 0 18px;font:400 17px/1.75 Georgia,serif}.relationship-note{color:#8a776b;letter-spacing:2.4px}.wish-actions{justify-content:flex-start;margin-top:31px}.wish-page .button-primary{background:var(--theme-gradient,#2c241f);box-shadow:0 14px 34px color-mix(in srgb, var(--theme-accent) 25%, transparent);border-radius:999px}.replay-button{color:#51443b;background:#ffffff59;border-color:#3c2f2740;border-radius:999px}.celebration-art{background:radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--accent) 64%, transparent) 0, transparent 35%), radial-gradient(circle at 82% 74%, color-mix(in srgb, var(--theme-accent) 56%, transparent) 0, transparent 38%), var(--theme-gradient,linear-gradient(135deg, color-mix(in srgb, var(--theme-ink) 86%, #302236), color-mix(in srgb, var(--theme-ink) 58%, #81566e)));background-size:145% 145%;border-radius:18px;height:min(670px,100vh - 150px);min-height:570px;animation:13s ease-in-out infinite alternate sceneGradient;overflow:hidden;box-shadow:0 30px 80px #2b1f183d,inset 0 2px #ffffffa6}.celebration-art:before,.celebration-art:after{content:"";z-index:1;filter:blur(12px);opacity:.35;pointer-events:none;border-radius:50%;width:280px;height:280px;display:block;position:absolute}.celebration-art:before{background:color-mix(in srgb, var(--accent) 75%, #fff);animation:10s ease-in-out infinite alternate sceneOrbOne;top:-110px;right:-70px}.celebration-art:after{border:1px dashed color-mix(in srgb, var(--accent) 42%, transparent);background:color-mix(in srgb, var(--theme-accent) 70%, #fff);animation:12s ease-in-out infinite alternate sceneOrbTwo;bottom:-135px;left:-65px}.scene-media{z-index:0;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.scene-photo-blur{object-fit:cover;filter:blur(34px)saturate(1.25)brightness(.58);opacity:.82;width:118%;height:118%;animation:14s ease-in-out infinite alternate scenePhotoDrift;position:absolute;inset:-9%;transform:scale(1.12)}.scene-photo-stage{z-index:2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#140f1247;border:1px solid #ffffff42;border-radius:14px;place-items:center;animation:7s ease-in-out infinite scenePhotoFloat;display:grid;position:absolute;inset:68px 38px 52px;overflow:hidden;box-shadow:0 24px 60px #0c080a52,inset 0 1px #fff3}.scene-photo-stage:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(118deg,#ffffff29,#0000 26% 72%,#ffffff14);position:absolute;inset:0}.scene-photo{object-fit:contain;object-position:center;filter:saturate(1.02)contrast(1.02);width:100%;min-width:0;height:100%;min-height:0;animation:.65s both scenePhotoIn;display:block;position:absolute;inset:0}.scene-lights{z-index:2;pointer-events:none;position:absolute;inset:0}.scene-lights i{width:7px;height:7px;box-shadow:0 0 18px 5px color-mix(in srgb, var(--accent) 62%, transparent);background:#ffffffe6;border-radius:50%;animation:3.4s ease-in-out infinite alternate sceneTwinkle;position:absolute}.scene-lights i:first-child{top:21%;right:8%}.scene-lights i:nth-child(2){animation-delay:-1.2s;bottom:19%;left:7%}.scene-lights i:nth-child(3){animation-delay:-2.1s;top:53%;right:5%}.scene-shade{z-index:3;border-radius:inherit;pointer-events:none;background:linear-gradient(#130e1485,#0000 25% 72%,#100b107a);position:absolute;inset:0}.theme-love .scene-shade{background:linear-gradient(#421b258a,#0000 36% 64%,#27121773)}.theme-friend .scene-shade{background:linear-gradient(145deg,#522c126b,#0000 48%,#23140c5c)}.theme-family .scene-shade{background:linear-gradient(#3e2f2078,#0000 38% 63%,#281d1470)}.theme-sister .scene-shade{background:linear-gradient(145deg,#48234175,#0000 48%,#2a16245e)}.theme-brother .scene-shade{background:linear-gradient(145deg,#112b3a87,#0000 49%,#0d1d256b)}.theme-wife .scene-shade{background:linear-gradient(#4d231f80,#0000 42%,#30191461)}.theme-husband .scene-shade{background:linear-gradient(145deg,#15342b80,#0000 48%,#12231e6b)}.scene-label{z-index:4;color:#fff;text-shadow:0 2px 16px #00000059;position:absolute;top:30px;left:32px}.scene-label span,.scene-label strong{display:block}.scene-label span{letter-spacing:2.8px;opacity:.72;margin-bottom:7px;font-size:8px}.scene-label strong{font:400 18px var(--serif)}.scene-credit{z-index:4;color:#ffffffc7;letter-spacing:2.1px;align-items:center;gap:9px;font-size:7px;display:flex;position:absolute;bottom:25px;right:28px}.scene-credit i{background:var(--accent);width:28px;height:1px}.scroll-invitation{color:#7c6c61}.memories-section{z-index:7;background:radial-gradient(circle at 8% 16%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 29%), radial-gradient(circle at 92% 78%, color-mix(in srgb, var(--theme-accent) 9%, transparent), transparent 32%), color-mix(in srgb, var(--theme-surface,#f5f1eb) 82%, transparent);border-top:1px solid #372a2217;padding:112px 0 120px;position:relative;overflow:hidden}.memories-heading{text-align:center}.memories-heading .eyebrow{color:var(--accent);justify-content:center;margin-bottom:18px}.memories-heading h2{color:#2c241f;font:400 clamp(43px, 5vw, 68px)/1.05 var(--serif);letter-spacing:-2px;margin:0}.memories-heading h2 em{color:var(--accent);font-weight:400}.memories-heading>p{color:#807068;margin:15px 0 0;font:italic 14px/1.6 Georgia,serif}.memories-grid{columns:3 280px;column-gap:20px;margin-top:58px}.memory-card{break-inside:avoid;background:#fffdf9;border:1px solid #372a221c;border-radius:10px;width:100%;margin:0 0 20px;padding:10px 10px 0;transition:transform .3s,box-shadow .3s;display:inline-block;overflow:hidden;box-shadow:0 18px 44px #2d211a17}.memory-card:hover{transform:translateY(-5px);box-shadow:0 25px 55px #2d211a26}.memory-card img{object-fit:contain;background:color-mix(in srgb, var(--accent) 6%, #f5f1eb);border-radius:6px;width:100%;height:auto;display:block}.memory-card figcaption{color:#917f74;justify-content:space-between;align-items:center;min-height:48px;padding:0 5px;display:flex}.memory-card figcaption span{letter-spacing:2px;font-size:7px;font-weight:800}.memory-card figcaption strong{color:var(--accent);font:italic 16px var(--serif)}.wish-keepsake{background:#ece7dfd1;border-top-color:#372a221f;padding:120px 0 130px}.has-custom-palette .wish-keepsake{background:color-mix(in srgb, var(--theme-surface) 82%, transparent)}.wish-keepsake:before,.wish-keepsake:after{display:none}.keepsake-heading .eyebrow{color:#816d60}.keepsake-heading h2{color:#27201c}.keepsake-heading>p{color:#796a61;font-style:normal}.blessing-grid{gap:20px;margin-top:64px}.blessing-card{background:#faf8f4bf;border:1px solid #372a221f;border-radius:12px;min-height:280px;padding:34px;box-shadow:0 18px 45px #2d211a12}.blessing-card:nth-child(2){transform:none}.blessing-card:hover,.blessing-card:nth-child(2):hover{transform:translateY(-5px)}.blessing-icon{border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);background:0 0;border-radius:10px;width:48px;height:48px;font-size:23px}.blessing-card h3{color:#302720}.blessing-card p{color:#716158}.keepsake-note{background:#29221e;border:0;border-radius:16px;box-shadow:0 28px 70px #2b201929}.keepsake-note.no-photo{text-align:center;grid-template-columns:1fr}.keepsake-note.no-photo .note-copy{max-width:760px;margin-inline:auto}.keepsake-note.no-photo .note-copy>p{margin-inline:auto}.keepsake-note:before,.keepsake-note:after,.note-decoration{display:none}.note-copy blockquote{color:#f7f2ea}.note-copy>p{color:#bfb2a8}.wish-closing{background:linear-gradient(145deg, color-mix(in srgb, var(--theme-ink) 91%, transparent), color-mix(in srgb, var(--theme-accent) 88%, transparent))}.wish-closing:before{display:none}.closing-content h2 em{color:#e8b88d}.closing-stars{display:none}.wish-footer{color:#ad9f95;background:#211b18;border-top:0}.countdown-intro{background:#211a16}.countdown-intro strong{font:400 48px var(--serif);letter-spacing:7px}.confetti{opacity:.6}.confetti i{border-radius:2px;width:5px;height:10px}.confetti-friend i{border-radius:50%;width:8px;height:8px}.confetti-family i{width:7px;height:7px;transform:rotate(45deg)}.confetti-sister i{border-radius:70% 20%;width:9px;height:13px}.confetti-brother i{border-radius:1px;width:11px;height:3px}.confetti-wife i{border-radius:50% 50% 45% 45%;width:6px;height:12px}.confetti-husband i{border-radius:4px;width:9px;height:4px}.popup-monogram{border:1px solid color-mix(in srgb, var(--accent) 38%, #ddd);width:68px;height:68px;color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, #fff);font:400 31px var(--serif);border-radius:50%;place-items:center;margin:0 auto;animation:.7s cubic-bezier(.2,.8,.2,1.1) both monogramIn;display:grid}@keyframes float{0%,to{translate:0}50%{translate:0 -9px}}@keyframes blink{50%{opacity:0}}@keyframes confettiFall{0%{opacity:1;translate:0 -20px}to{opacity:.15;translate:80px 110vh;rotate:720deg}}@keyframes balloonFlight{0%{opacity:0;transform:translate(0,0)rotate(-4deg)}10%{opacity:.48}50%{transform:translate(28px,-62vh)rotate(5deg)}90%{opacity:.44}to{opacity:0;transform:translate(-18px,-125vh)rotate(-3deg)}}@keyframes balloonString{to{transform:rotate(5deg)translate(4px)}}@keyframes skyshotTrail{0%,17%{opacity:0;transform:scaleY(0)}20%{opacity:.8;transform:scaleY(1)}34%{opacity:0;transform:scaleY(.12)}to{opacity:0}}@keyframes skyshotFlash{0%,32%{opacity:0;transform:scale(.1)}36%{opacity:.95;transform:scale(1)}49%{opacity:.28;transform:scale(1.3)}55%,to{opacity:0;transform:scale(1.45)}}@keyframes skyshotSpark{0%,33%{opacity:0;transform:rotate(var(--spark-angle)) translateX(0) scale(1)}37%{opacity:1}52%{opacity:.2;transform:rotate(var(--spark-angle)) translateX(72px) scale(.45)}56%,to{opacity:0;transform:rotate(var(--spark-angle)) translateX(80px) scale(.2)}}@keyframes partyPop{0%,72%,to{opacity:.3;scale:.82}80%{opacity:.82;scale:1.08}88%{opacity:.62;scale:.96}}@keyframes popperRing{0%,68%{opacity:0;transform:scale(.3)}80%{opacity:.6}to{opacity:0;transform:scale(1.55)}}@keyframes cursorGlowPulse{0%,to{opacity:.72;scale:.92}50%{opacity:1;scale:1.08}}@keyframes cursorRingPulse{0%{opacity:.8;scale:.35}75%,to{opacity:0;scale:1.45}}@keyframes cursorSparkOrbit{0%{transform:rotate(var(--spark-start)) translateX(48px) scale(.65)}50%{scale:1.2}to{transform:rotate(calc(var(--spark-start) + 360deg)) translateX(48px) scale(.65)}}@keyframes countPop{0%{opacity:0;scale:.3}30%,70%{opacity:1;scale:1}to{opacity:0;scale:1.5}}@keyframes wishPop{0%{opacity:0;scale:.6}40%,to{opacity:1;scale:1}}@keyframes introOut{to{opacity:0;visibility:hidden}}@keyframes fadeIn{0%{opacity:0}}@keyframes popupIn{0%{opacity:0;transform:translateY(25px)scale(.92)}}@keyframes wiggle{0%{transform:rotate(-6deg)}to{transform:rotate(7deg)}}@keyframes scrollNudge{0%,to{translate:0}50%{translate:0 5px}}@keyframes twinkle{0%{opacity:.25;transform:scale(.85)rotate(-5deg)}to{opacity:.8;transform:scale(1.1)rotate(5deg)}}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}}@keyframes ambientPulse{0%,to{opacity:.04;transform:scale(.8)}50%{opacity:.13;transform:scale(1.15)}}@keyframes friendDrift{0%{opacity:0;transform:translate(-12px,30px)rotate(0)}45%{opacity:.16}to{opacity:0;transform:translate(45px,-75px)rotate(130deg)}}@keyframes familyBreathe{0%,to{opacity:.035;transform:scale(.75)}50%{opacity:.1;transform:scale(1.28)}}@keyframes sisterFloat{0%{opacity:0;transform:translateY(45px)rotate(-20deg)}40%{opacity:.14}to{opacity:0;transform:translateY(-90px)rotate(65deg)}}@keyframes brotherSweep{0%{opacity:0;transform:translate(-40px)}35%,65%{opacity:.12}to{opacity:0;transform:translate(75px)}}@keyframes wifeGlow{0%,to{opacity:.03;filter:blur(1px);transform:scale(.8)}50%{opacity:.15;filter:blur();transform:scale(1.2)rotate(8deg)}}@keyframes husbandRise{0%{opacity:0;transform:translate(-20px,35px)}50%{opacity:.11}to{opacity:0;transform:translate(25px,-65px)}}@keyframes monogramIn{0%{opacity:0;transform:scale(.6)rotate(-12deg)}}@keyframes themeNoteIn{0%{opacity:0;transform:translate(-10px)}}@keyframes sceneGradient{0%{background-position:0 20%}to{background-position:100% 80%}}@keyframes scenePhotoDrift{0%{transform:scale(1.12)translate(-1.5%,-1%)}to{transform:scale(1.2)translate(1.5%,1%)}}@keyframes scenePhotoFloat{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-5px)scale(1.006)}}@keyframes scenePhotoIn{0%{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes sceneOrbOne{0%{transform:translate(0,0)scale(.9)}to{transform:translate(-70px,85px)scale(1.16)}}@keyframes sceneOrbTwo{0%{transform:translate(0,0)scale(1)}to{transform:translate(80px,-60px)scale(.82)}}@keyframes sceneTwinkle{0%{opacity:.2;transform:scale(.65)}to{opacity:1;transform:scale(1.2)}}@media (width<=980px){.hero{grid-template-columns:1fr 1fr;gap:25px}.hero h1{font-size:58px}.hero-art{transform:scale(.86)}.steps>div{padding:0 14px}.form-shell{grid-template-columns:.7fr 1.3fr;gap:40px}.wish-form{padding:36px 35px}.wish-layout{gap:20px}.celebration-art{transform:scale(.88)}.keepsake-note{gap:45px;padding:50px}}@media (width<=760px){.shell{width:min(100% - 32px,620px)}.nav{height:70px}.hero{text-align:center;grid-template-columns:1fr;padding:45px 0 40px}.hero h1{letter-spacing:-2.8px;font-size:clamp(48px,13vw,70px)}.eyebrow{justify-content:center}.hero-subtitle{margin-inline:auto;font-size:15px}.hero-actions,.love-proof{justify-content:center}.hero-art{width:100%;margin:-30px auto -40px;transform:scale(.83)}.steps{grid-template-columns:1fr;gap:16px}.steps>div{border-bottom:1px solid #eadfd9;border-right:0;padding:0 6px 16px}.steps>div:last-child{border-bottom:0}.form-page{background:#fffaf7d6}.secure-note{display:none}.form-shell{grid-template-columns:1fr;gap:35px;padding-top:35px}.form-aside{text-align:center;position:static}.form-aside .eyebrow{justify-content:center}.back-link{margin-bottom:35px}.form-aside h1{margin-inline:auto;font-size:50px}.form-aside>p{margin-inline:auto}.form-promise,.form-aside blockquote{display:none}.wish-form{margin-inline:auto;padding:32px 24px}.relationship-grid{grid-template-columns:repeat(3,1fr)}.wish-page{background:radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--accent) 17%, #ffffffd6) 0, transparent 36%), color-mix(in srgb, var(--theme-surface,#fffaf6) 84%, transparent)}.wish-layout{grid-template-columns:1fr;padding-top:45px}.wish-copy{order:2}.celebration-art{order:1;margin:-75px 0 -80px;transform:scale(.72)}.wish-copy h1{font-size:clamp(65px,19vw,100px)}.wish-actions{margin-bottom:40px}.scroll-invitation{display:none}.wish-keepsake{padding:82px 0 85px}.blessing-grid{grid-template-columns:1fr;gap:12px;max-width:520px}.blessing-card,.blessing-card:nth-child(2){min-height:220px;transform:none}.blessing-card:nth-child(2):hover{transform:translateY(-5px)}.keepsake-note{text-align:center;grid-template-columns:1fr;gap:38px;max-width:560px;padding:55px 35px}.note-copy blockquote{font-size:34px}.closing-content h2{letter-spacing:-1.5px}.wish-footer{padding:12px 16px}.wish-footer span{display:none}}@media (width<=480px){.hero-actions{flex-direction:column;gap:15px}.nav-cta{font-size:11px}.hero-art{margin:-90px auto -100px;transform:scale(.7)}.form-options{grid-template-columns:1fr;gap:2px}.relationship-grid{grid-template-columns:repeat(2,1fr)}.uploaded-photo-grid{grid-template-columns:repeat(4,1fr)}.wish-nav .brand{font-size:0}.wish-nav-actions{gap:10px}.share-link,.copy-link,.whatsapp-link{border-radius:50%;place-items:center;width:34px;height:34px;min-height:34px;padding:0;font-size:0;display:grid}.share-link{border:1px solid color-mix(in srgb, var(--accent) 30%, #ddd)}.edit-link{border:1px solid #e3d4d0;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;font-size:0;display:grid}.celebration-art{margin:-110px 0 -130px;transform:scale(.62)}.wish-actions{flex-direction:column;align-items:stretch;padding-inline:20px}.keepsake-heading h2{font-size:43px}.keepsake-heading>p{padding-inline:18px}.blessing-card{padding:27px 25px}.keepsake-note{padding:48px 23px}.note-copy blockquote{font-size:29px}.closing-content{padding:90px 8px}.closing-content h2{font-size:48px}.closing-actions{margin-inline:auto;flex-direction:column;align-items:stretch;max-width:270px;margin-top:30px}.share-toast{justify-content:center;bottom:20px;left:20px;right:20px}.share-result{width:auto;bottom:70px;left:16px;right:16px}.share-result-row{grid-template-columns:minmax(0,1fr) auto auto auto}.share-result-row .whatsapp-now,.share-result-row .share-now{width:39px;padding:0;font-size:0}.share-result-row a{display:none}.countdown-intro strong{font-size:39px}.surprise-popup{padding:42px 22px 32px}.surprise-popup h2{font-size:32px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=980px){.wish-page .shell{width:min(100% - 40px,920px)}.wish-layout{grid-template-columns:.9fr 1.1fr;gap:42px}.celebration-art{min-height:540px;transform:none}}@media (width<=760px){.form-page{background:radial-gradient(circle at 90% 12%, color-mix(in srgb, var(--form-accent) 15%, transparent), transparent 28%), #fffaf7d6}.wish-page{background:radial-gradient(circle at 20% 48%, color-mix(in srgb, var(--theme-accent) 15%, transparent), transparent 34%), color-mix(in srgb, var(--theme-surface,#f3efe9) 84%, transparent)}.celebration-background{inset:0}.celebration-balloon:nth-child(3n),.skyshot:nth-of-type(3n){display:none}.party-popper{opacity:.5;bottom:3%;transform:scale(.72)rotate(-16deg)}.party-popper-right{transform:scaleX(-1)scale(.72)rotate(-16deg)}.party-popper-upper-left{top:22%;bottom:auto;left:6%}.party-popper-upper-right{top:28%;bottom:auto;right:6%;transform:scaleX(-1)scale(.72)rotate(14deg)}.wish-page .shell{width:min(100% - 32px,620px)}.wish-layout{grid-template-columns:minmax(0,1fr);gap:46px;padding-top:28px}.wish-copy{text-align:left;order:2}.wish-kicker{justify-content:flex-start}.wish-script{margin-top:8px}.wish-copy h1{font-size:clamp(65px,19vw,94px)}.wish-actions{justify-content:flex-start;margin-bottom:32px}.celebration-art{background-position:63%;order:1;width:100%;max-width:100%;height:min(72vh,600px);min-height:0;margin:0;transform:none}.scene-photo-stage{inset:64px 24px 48px}.scene-label{top:22px;left:22px}.scene-credit{bottom:20px;right:20px}.memories-section{padding:82px 0 88px}.memories-grid{columns:2 180px;margin-top:42px}.blessing-card,.blessing-card:nth-child(2){transform:none}}@media (hover:none),(pointer:coarse){.cursor-background{display:none}}@media (prefers-reduced-motion:reduce){.cursor-background{display:none}}@media (width<=480px){.wish-nav{min-width:0}.wish-nav-actions{flex:none;gap:6px}.wish-nav .icon-button,.wish-nav .share-link,.wish-nav .copy-link,.wish-nav .edit-link{place-items:center;width:34px;height:34px;min-height:34px;padding:0;font-size:0;display:grid}.wish-script{margin-top:0}.wish-copy h1{letter-spacing:-3px}.typed-message{font-size:15px}.wish-actions{padding-inline:0}.celebration-art{height:500px;margin:0;transform:none}.scene-photo-stage{inset:60px 14px 45px}.memories-heading h2{letter-spacing:-1.2px;font-size:42px}.memories-grid{columns:1}.scene-label strong{font-size:15px}.countdown-intro strong{letter-spacing:4px;font-size:30px}}html{width:100%;max-width:100%;overflow-x:clip}body,#root,main,.home-page,.form-page,.wish-page{width:100%;min-width:0;max-width:100%}img,video,canvas{max-width:100%}.shell,.hero,.hero-copy,.hero-art,.form-shell,.form-aside,.wish-form,.wish-layout,.wish-copy,.celebration-art,.keepsake-note,.note-copy{min-width:0}.hero{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr)}.form-shell{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}.wish-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}.relationship-grid,.music-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.form-options{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}@media (width<=980px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.form-shell{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.wish-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}.wish-message-card{border:1px solid color-mix(in srgb, var(--theme-accent) 24%, #ffffffc7);background:color-mix(in srgb, var(--theme-surface) 75%, #ffffffe0);width:min(100%,520px);min-height:138px;box-shadow:0 18px 45px color-mix(in srgb, var(--theme-ink) 12%, transparent), 0 1px 0 #ffffffe6 inset;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:18px;margin:26px 0 18px;padding:24px 25px 17px;position:relative;overflow:hidden}.wish-message-card:before{content:"";background:var(--theme-gradient,var(--accent));width:4px;position:absolute;inset:0 auto 0 0}.message-card-heart{color:var(--accent);opacity:.28;animation:2.2s ease-in-out infinite messageHeartBeat;position:absolute;top:18px;right:20px}.wish-message-card .typed-message{max-width:none;min-height:70px;margin:0;padding-right:18px}.wish-from{border-top:1px solid color-mix(in srgb, var(--theme-accent) 14%, #e2d9d2);color:#817067;letter-spacing:1px;text-transform:uppercase;margin:13px 0 0;padding-top:12px;font-size:10px}.wish-from strong{color:var(--accent);font-weight:800}.music-url-button{width:auto;color:var(--accent);white-space:nowrap;align-items:center;gap:7px;font-size:10px;font-weight:800;display:inline-flex}.scene-photo-stage{aspect-ratio:1;outline:1px solid color-mix(in srgb, var(--theme-accent) 42%, #ffffff80);outline-offset:7px;background:color-mix(in srgb, var(--theme-ink) 38%, transparent);border:7px solid #ffffffc7;border-radius:16px;width:min(70%,440px);height:auto;animation:7s ease-in-out infinite squarePhotoFloat;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 28px 70px #0c080a61,0 0 0 18px #ffffff14}.scene-photo-stage:after{border-radius:inherit}.scene-photo{object-fit:contain;background:#ffffff14;border-radius:12px;padding:8px}.wish-floating-hearts{z-index:5;pointer-events:none;position:absolute;inset:0;overflow:hidden}.wish-floating-hearts span{left:calc(8% + var(--heart-index) * 16%);color:color-mix(in srgb, var(--theme-secondary) 76%, #fff);font:700 calc(14px + var(--heart-index) * 1px) Georgia, serif;text-shadow:0 4px 16px #1e121838;animation:wishHeartFloat 6s calc(var(--heart-index) * -.8s) ease-in infinite;position:absolute;bottom:-30px}.animated-cake{z-index:7;filter:drop-shadow(0 15px 18px #160d1147);width:112px;height:138px;animation:3s ease-in-out infinite cakeBounce;position:absolute;bottom:62px;right:5%}.cake-flame{z-index:4;transform-origin:50% 100%;background:radial-gradient(circle at 48% 68%,#fff7b2 0 18%,#0000 19%),linear-gradient(#ffdf55,#f27232 72%);border-radius:70% 30% 65% 35%;width:14px;height:21px;animation:.7s ease-in-out infinite alternate candleFlicker;position:absolute;top:0;left:calc(50% - 7px);box-shadow:0 0 16px 5px #ffbf4173}.cake-candle{z-index:3;background:repeating-linear-gradient(135deg, #fff 0 5px, var(--theme-secondary) 5px 10px);border-radius:4px 4px 1px 1px;width:10px;height:31px;position:absolute;top:20px;left:calc(50% - 5px)}.cake-icing{z-index:2;width:92px;height:29px;box-shadow:inset 0 -7px 0 color-mix(in srgb, var(--theme-secondary) 30%, #fff);background:#fff4e9;border-radius:50% 50% 40% 40%;position:absolute;top:48px;left:10px}.cake-icing i{background:#fff4e9;border-radius:0 0 10px 10px;width:12px;height:18px;position:absolute;bottom:-9px}.cake-icing i:first-child{left:14px}.cake-icing i:nth-child(2){height:13px;left:40px}.cake-icing i:nth-child(3){height:16px;right:12px}.cake-layer{color:#ffffffe0;background:var(--theme-gradient,linear-gradient(135deg, var(--theme-accent), var(--theme-secondary)));border-radius:10px 10px 17px 17px;place-items:center;width:102px;height:57px;font-size:24px;display:grid;position:absolute;top:61px;left:5px;box-shadow:inset 0 -10px 18px #3f1b2324}.cake-layer b{animation:1.8s ease-in-out infinite messageHeartBeat}.cake-plate{background:#ffffffe6;border-radius:50%;width:112px;height:10px;position:absolute;bottom:8px;left:0;box-shadow:0 5px #ffffff47}@keyframes squarePhotoFloat{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,calc(-50% - 7px))scale(1.012)}}@keyframes wishHeartFloat{0%{opacity:0;transform:translate(0,0)rotate(-12deg)scale(.7)}18%{opacity:.78}to{opacity:0;transform:translate(22px,-580px)rotate(18deg)scale(1.35)}}@keyframes cakeBounce{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-9px)rotate(2deg)}}@keyframes candleFlicker{0%{transform:rotate(-5deg)scale(.94)}to{transform:rotate(6deg)scale(1.08)}}@keyframes messageHeartBeat{0%,to{transform:scale(1)}45%{transform:scale(1.18)}}@media (width<=760px){.scene-photo-stage{width:min(70%,390px)}.animated-cake{transform-origin:100% 100%;bottom:48px;right:4%;scale:.86}.music-url-button span{display:none}.music-url-button{justify-content:center;width:34px;padding:0}}@media (width<=480px){.wish-message-card{border-radius:14px;padding:21px 19px 15px}.scene-photo-stage{outline-offset:5px;border-width:5px;width:min(74%,330px)}.animated-cake{bottom:35px;right:2%;scale:.72}.wish-floating-hearts span{font-size:13px}}@media (prefers-reduced-motion:reduce){.message-card-heart,.scene-photo-stage,.wish-floating-hearts span,.animated-cake,.cake-flame,.cake-layer b{animation:none!important}}@media (width<=760px){.hero,.form-shell,.wish-layout{grid-template-columns:minmax(0,1fr)}.hero-copy,.hero h1,.hero-subtitle,.form-aside,.wish-form{width:100%;max-width:100%}.hero h1,.form-aside h1,.wish-copy h1,.memories-heading h2,.closing-content h2{overflow-wrap:break-word;text-wrap:balance}.hero-art{width:100%;max-width:100%}.wish-form{justify-self:center}}@media (width<=480px){.shell,.wish-page .shell{width:calc(100% - 28px)}.nav{gap:12px}.brand{flex:none;font-size:23px}.brand-mark{width:36px;height:36px}.nav-cta{white-space:nowrap;flex:0 auto;min-width:0}.hero{padding-top:30px}.eyebrow{letter-spacing:1.45px;flex-wrap:wrap;justify-content:center;max-width:100%;font-size:9px;line-height:1.5}.hero h1{letter-spacing:-2px;font-size:clamp(39px,12vw,52px);line-height:1}.hero-subtitle{margin:22px auto 27px;font-size:14px;line-height:1.6}.hero-actions{width:100%}.hero-actions .button{width:min(100%,300px)}.love-proof{text-align:center;flex-direction:column;gap:9px;width:100%;margin-top:36px}.hero-art{height:540px;margin:10px auto -45px;transform:none}.hero-art:before{width:min(450px,128vw);height:min(450px,128vw)}.hero-art:after{width:min(330px,86vw)}.preview-card{width:min(310px,100% - 18px);min-height:480px;padding-inline:24px}.preview-photo-wrap{height:215px}.pill-one{left:-2px}.pill-two{right:-2px}.form-shell{gap:28px;padding-top:24px}.back-link{margin-bottom:28px}.form-aside h1{letter-spacing:-2px;font-size:clamp(40px,12vw,50px);line-height:1}.form-aside>p{font-size:13px}.wish-form{padding:28px 18px}.form-heading{gap:11px}.form-heading h2{font-size:22px}.relationship-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tab-switcher{width:100%}.tab-switcher button{flex:1;justify-content:center}.upload-box{padding:10px}.uploaded-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.music-picker{grid-template-columns:minmax(0,1fr)}.wish-copy h1{font-size:clamp(54px,18vw,78px)}.celebration-art{height:min(132vw,500px);min-height:420px}.scene-photo-stage{inset:56px 12px 42px}.keepsake-note{width:100%;padding-inline:20px}}@media (width<=360px){.shell,.wish-page .shell{width:calc(100% - 22px)}.brand{font-size:21px}.nav-cta{font-size:10px}.hero h1{font-size:40px}.preview-card{width:min(292px,100% - 12px)}.form-heading h2{font-size:20px}.wish-form{padding-inline:14px}.wish-nav-actions{gap:4px}}.form-page{isolation:isolate;background-size:140% 140%;animation:16s ease-in-out infinite alternate formBackdropDrift;position:relative;overflow:hidden}.form-page:before,.form-page:after{content:"";z-index:-1;pointer-events:none;filter:blur(6px);opacity:.16;border-radius:50%;width:360px;height:360px;position:absolute}.form-page:before{background:var(--form-accent);animation:13s ease-in-out infinite alternate formOrbFloat;top:12%;right:-150px}.form-page:after{background:color-mix(in srgb, var(--form-accent) 45%, #f4b45f);animation:17s ease-in-out -4s infinite alternate-reverse formOrbFloat;bottom:4%;left:-180px}.form-nav,.form-shell{z-index:3;position:relative}.form-nav{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffaf7d1;width:100%;max-width:none;padding-inline:max(16px,50% - 590px);position:sticky;top:0;box-shadow:0 1px #805b6614}.form-ambient{z-index:1;pointer-events:none;position:absolute;inset:84px 0 0;overflow:hidden}.form-ambient span{color:var(--form-accent);opacity:.12;animation:formSparkleDrift 8s calc(var(--i) * -1.3s) ease-in-out infinite;font:400 27px Georgia,serif;position:absolute}.form-ambient span:first-child{top:8%;left:5%}.form-ambient span:nth-child(2){font-size:43px;top:31%;right:4%}.form-ambient span:nth-child(3){font-size:20px;top:58%;left:3%}.form-ambient span:nth-child(4){top:73%;right:7%}.form-ambient span:nth-child(5){font-size:18px;top:88%;left:35%}.wish-form{z-index:2;border-color:color-mix(in srgb, var(--form-accent) 14%, #eee3de);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdfaf0;border-radius:18px;animation:.7s cubic-bezier(.2,.75,.25,1) both formCardIn;position:relative;overflow:hidden;box-shadow:0 26px 80px #4b303b1f,inset 0 1px #ffffffe6}.wish-form:before{content:"";background:var(--form-gradient,var(--form-accent));height:5px;position:absolute;inset:0 0 auto}.wish-form:after{content:"";z-index:-1;background:color-mix(in srgb, var(--form-accent) 10%, transparent);border-radius:50%;width:290px;height:290px;position:absolute;top:-130px;right:-110px}.form-heading{animation:.55s 80ms both formElementIn;position:relative}.form-icon{box-shadow:0 7px 18px color-mix(in srgb, var(--form-accent) 17%, transparent);animation:3.2s ease-in-out infinite formIconBreathe;position:relative}.form-ready-badge{border:1px solid color-mix(in srgb, var(--form-accent) 22%, #eee);color:var(--form-accent);background:color-mix(in srgb, var(--form-accent) 6%, #fff);letter-spacing:.7px;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;margin-left:auto;padding:7px 10px;font-size:8px;font-weight:800;display:inline-flex}.form-progress{margin:-5px 0 26px;animation:.55s .15s both formElementIn}.form-progress-track{background:#f2e9e5;border-radius:999px;height:5px;overflow:hidden}.form-progress-track>span{border-radius:inherit;background:var(--form-gradient,var(--form-accent));height:100%;box-shadow:0 0 16px color-mix(in srgb, var(--form-accent) 35%, transparent);transition:width .55s cubic-bezier(.2,.8,.2,1);display:block}.form-progress-steps{justify-content:space-between;gap:8px;margin-top:9px;display:flex}.form-progress-steps>span{color:#a59499;align-items:center;gap:5px;font-size:8px;transition:color .3s;display:flex}.form-progress-steps i{background:#fff;border:1px solid #e6d9d5;border-radius:50%;place-items:center;width:16px;height:16px;font-size:7px;font-style:normal;transition:background .3s,border-color .3s,transform .3s;display:grid}.form-progress-steps>span.complete{color:var(--form-accent)}.form-progress-steps>span.complete i{color:#fff;border-color:var(--form-accent);background:var(--form-accent);transform:scale(1.06)}.required-mark{color:var(--form-accent);font-weight:800}.form-live-preview{color:#fff;background:var(--form-gradient,var(--form-accent));max-width:390px;box-shadow:0 18px 42px color-mix(in srgb, var(--form-accent) 24%, transparent);border-radius:16px;margin:8px 0 34px;padding:18px;animation:.55s cubic-bezier(.2,.8,.2,1) both livePreviewIn;position:relative;overflow:hidden}.form-live-preview:after{content:"";border:1px solid #ffffff40;border-radius:50%;width:145px;height:145px;position:absolute;top:-55px;right:-35px;box-shadow:0 0 0 24px #ffffff0a,0 0 0 48px #ffffff06}.live-preview-topline{z-index:2;color:#fffc;letter-spacing:1.8px;justify-content:space-between;align-items:center;font-size:7px;font-weight:800;display:flex;position:relative}.live-preview-topline span{align-items:center;gap:7px;display:flex}.live-preview-topline i{background:#fff;border-radius:50%;width:6px;height:6px;animation:1.8s ease-in-out infinite liveDotPulse;box-shadow:0 0 0 5px #ffffff26}.live-preview-person{z-index:2;align-items:center;gap:13px;margin-top:22px;display:flex;position:relative}.live-preview-avatar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff24;border:1px solid #ffffff4d;border-radius:13px;flex:none;place-items:center;width:43px;height:43px;display:grid}.live-preview-person p,.live-preview-person small,.live-preview-person strong{margin:0;display:block}.live-preview-person small{color:#ffffffb3;margin-bottom:2px;font-size:8px}.live-preview-person strong{text-overflow:ellipsis;white-space:nowrap;max-width:255px;font:400 21px var(--serif);text-transform:capitalize;overflow:hidden}.live-preview-details{z-index:2;color:#ffffffc7;letter-spacing:.5px;align-items:center;gap:8px;margin:10px 0 -7px 56px;font-size:8px;display:flex;position:relative}.live-preview-details i{background:#fff9;border-radius:50%;width:3px;height:3px}.live-preview-theme{z-index:2;color:#ffffffbf;letter-spacing:1px;text-transform:uppercase;border-top:1px solid #ffffff2e;align-items:center;gap:8px;margin-top:18px;padding-top:12px;font-size:7px;display:flex;position:relative}.live-preview-theme i{background:#ffffffa6;border-radius:50%;width:3px;height:3px}.wish-form>.field-label,.wish-form>fieldset,.wish-form>.form-options,.wish-form>.character-count,.wish-form>textarea,.wish-form>input{animation:.5s both formElementIn}.wish-form>.field-label:first-of-type,.wish-form>input{animation-delay:.2s}.wish-form>fieldset:first-of-type{animation-delay:.26s}.wish-form>fieldset:nth-of-type(2){animation-delay:.32s}.wish-form>textarea,.wish-form>.character-count{animation-delay:.38s}.wish-form>.form-options{animation-delay:.44s}.form-page input,.form-page textarea{background:#ffffffd6;border-radius:10px;transition:border-color .25s,box-shadow .25s,transform .25s,background .25s}.form-page input:hover,.form-page textarea:hover{border-color:color-mix(in srgb, var(--form-accent) 35%, #ded3ce);background:#fff}.form-page input:focus,.form-page textarea:focus{box-shadow:0 0 0 4px color-mix(in srgb, var(--form-accent) 9%, transparent), 0 10px 24px #49313912;background:#fff;transform:translateY(-1px)}.relationship{border-radius:9px;transition:transform .22s,border-color .22s,box-shadow .22s,background .22s;position:relative;overflow:hidden}.relationship:after{content:"";background:color-mix(in srgb, var(--form-accent) 8%, transparent);border-radius:50%;height:45px;transition:transform .3s;position:absolute;inset:auto -35% -35px}.relationship:hover{z-index:1;border-color:color-mix(in srgb, var(--form-accent) 45%, #ddd);transform:translateY(-2px);box-shadow:0 8px 18px #412b3314}.relationship:hover:after,.relationship.active:after{transform:translateY(-18px)}.relationship.active{transform:translateY(-1px);box-shadow:0 8px 20px color-mix(in srgb, var(--form-accent) 13%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--form-accent) 55%, white)!important}.tab-switcher{border-radius:9px}.tab-switcher button{border-radius:7px;transition:color .2s,background .2s,transform .2s,box-shadow .2s}.tab-switcher button:hover{color:var(--form-accent)}.tab-switcher button.active{transform:translateY(-1px);box-shadow:0 5px 12px #5236401a}.upload-box{background:linear-gradient(135deg, #fffaf9, color-mix(in srgb, var(--form-accent) 4%, #fff));border-radius:12px;min-height:92px;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative;overflow:hidden}.upload-box:after{content:"";background:color-mix(in srgb, var(--form-accent) 8%, transparent);border-radius:50%;width:120px;height:120px;transition:transform .35s;position:absolute;bottom:-75px;right:-70px}.upload-box:hover{border-color:color-mix(in srgb, var(--form-accent) 55%, #ddd);transform:translateY(-2px);box-shadow:0 12px 26px #442d3514}.upload-box:hover:after{transform:scale(1.35)}.upload-box:hover .upload-icon{transform:translateY(-3px)rotate(-5deg)}.upload-icon{transition:transform .25s}.character-count{color:#a8969c;background:#f2e9e5;border-radius:999px;height:4px;margin:7px 0 24px;font-size:8px;line-height:18px;position:relative}.character-count>span{border-radius:inherit;background:var(--form-gradient,var(--form-accent));max-width:100%;transition:width .3s;position:absolute;inset:0 auto 0 0}.form-options{border:1px solid color-mix(in srgb, var(--form-accent) 13%, #eadfd9);background:color-mix(in srgb, var(--form-accent) 2.5%, #fff);border-radius:13px;padding:17px}.color-swatch{position:relative}.color-swatch:hover{transform:translateY(-4px)rotate(5deg)}.color-swatch.active{animation:2s ease-in-out infinite activeSwatchGlow}.music-option{border-radius:10px;transition:border-color .25s,box-shadow .25s}.music-option:focus-within,.music-option:hover{border-color:color-mix(in srgb, var(--form-accent) 35%, #ddd);box-shadow:0 8px 20px #442d350f}.music-picker button{border-radius:7px;transition:transform .2s,color .2s,border-color .2s,background .2s}.music-picker button:hover{color:var(--form-accent);transform:translateY(-2px)}.toggle{box-shadow:inset 0 1px 3px #32222826}.toggle.active{box-shadow:0 0 0 4px color-mix(in srgb, var(--form-accent) 9%, transparent)}.submit-button{letter-spacing:.1px;border-radius:11px;min-height:56px;font-size:14px;position:relative;overflow:hidden}.submit-button:before{content:"";background:linear-gradient(105deg,#0000 30%,#ffffff47 48%,#0000 66%);animation:3.6s ease-in-out 1s infinite submitShimmer;position:absolute;inset:0;transform:translate(-120%)}.submit-button:hover{box-shadow:0 18px 34px color-mix(in srgb, var(--form-accent) 30%, transparent);transform:translateY(-3px)scale(1.005)}.submit-button svg{transition:transform .25s}.submit-button:hover svg{transform:rotate(18deg)scale(1.12)}.form-footnote{animation:.5s .55s both formElementIn}@keyframes formBackdropDrift{0%{background-position:0 20%}to{background-position:100% 80%}}@keyframes formOrbFloat{0%{transform:translateY(-15px)scale(.92)}to{transform:translate(-70px,85px)scale(1.15)}}@keyframes formSparkleDrift{0%,to{opacity:.06;transform:translate(0,0)rotate(-10deg)scale(.85)}50%{opacity:.17;transform:translate(20px,-35px)rotate(18deg)scale(1.15)}}@keyframes formCardIn{0%{opacity:0;transform:translateY(28px)scale(.985)}}@keyframes formElementIn{0%{opacity:0;transform:translateY(12px)}}@keyframes formIconBreathe{0%,to{transform:rotate(-3deg)scale(1)}50%{transform:rotate(3deg)scale(1.06)}}@keyframes livePreviewIn{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes liveDotPulse{50%{transform:scale(.7);box-shadow:0 0 0 9px #fff0}}@keyframes activeSwatchGlow{0%,to{box-shadow:0 3px 8px #36262d1f}50%{box-shadow:0 5px 17px color-mix(in srgb, var(--swatch-accent) 34%, transparent)}}@keyframes submitShimmer{0%,58%{transform:translate(-120%)}82%,to{transform:translate(120%)}}@media (width<=760px){.form-live-preview{text-align:left;margin-inline:auto}.form-progress{margin-bottom:22px}}@media (width<=480px){.form-page:before,.form-page:after{opacity:.1;width:240px;height:240px}.form-ambient span{opacity:.07}.wish-form{border-radius:14px}.form-heading{flex-wrap:wrap}.form-ready-badge{width:max-content;margin:2px 0 0 53px}.form-progress-steps>span{gap:3px;font-size:7px}.form-progress-steps i{width:14px;height:14px}.form-detail-grid{grid-template-columns:1fr;gap:0}.form-live-preview{border-radius:13px;padding:16px}.live-preview-person strong{max-width:210px;font-size:19px}.upload-box{min-height:86px}.form-options{padding:14px}.submit-button{min-height:54px;font-size:13px}}@media (prefers-reduced-motion:reduce){.form-page,.form-page:before,.form-page:after,.form-ambient span,.wish-form,.form-heading,.form-progress,.form-icon,.form-live-preview,.live-preview-topline i,.wish-form>*,.color-swatch.active,.submit-button:before{animation:none!important}}@media (width<=760px){.scene-photo-stage{width:min(70%,390px);inset:50% auto auto 50%}}@media (width<=480px){.scene-photo-stage{width:min(74%,330px);inset:50% auto auto 50%}}
