:root{--sp-cream:#fff9f3;--sp-paper:#fff;--sp-ink:#2b1b2f;--sp-ink-2:#5e4d63;--sp-ink-3:#8f8094;--sp-line:#2b1b2f1a;--sp-line-strong:#2b1b2f2e;--sp-rose:#f2447a;--sp-rose-deep:#d92d66;--sp-rose-soft:#ffe4ec;--sp-violet:#7a5af8;--sp-violet-soft:#ece7ff;--sp-sun:#ffc43d;--sp-sun-soft:#fff2cc;--sp-mint:#2fcb9b;--sp-mint-soft:#dcf7ec;--sp-sky:#4cb4ff;--sp-sky-soft:#dff1ff;--sp-peach:#ff8a65;--sp-peach-soft:#ffe6dc;--sp-lilac:#c9b6ff;--sp-gradient-brand:linear-gradient(100deg, #f2447a 0%, #ff8a65 50%, #ffc43d 100%);--sp-gradient-cta:linear-gradient(135deg, #f2447a 0%, #7a5af8 100%);--sp-shadow-sm:0 1px 2px #2b1b2f0f;--sp-shadow-card:0 1px 2px #2b1b2f0a, 0 8px 24px #2b1b2f14;--sp-shadow-float:0 2px 4px #2b1b2f0d, 0 16px 40px #f2447a24;--sp-shadow-modal:0 24px 64px #2b1b2f38;--sp-r-sm:10px;--sp-r-md:16px;--sp-r-lg:24px;--sp-r-xl:32px;--sp-r-pill:999px;--sp-font-sans:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sp-font-serif:"Instrument Serif", Georgia, "Times New Roman", serif;--sp-font-hand:"Caveat", "Segoe Script", "Bradley Hand", cursive;--sp-text-display:clamp(2.75rem, 7vw, 5.25rem);--sp-text-h2:clamp(2rem, 4.2vw, 3rem);--sp-text-h3:1.5rem;--sp-ease-out:cubic-bezier(.22, 1, .36, 1);--sp-ease-spring:cubic-bezier(.34, 1.56, .64, 1);--sp-ease-std:cubic-bezier(.4, 0, .2, 1);--sp-dur-fast:.15s;--sp-dur:.32s;--sp-dur-slow:.7s;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-container:1180px;--sp-gutter:clamp(16px, 5vw, 48px);--sp-section:clamp(4rem, 10vw, 7rem)}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-regular-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-regular-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-italic-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-italic-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-variable-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-variable-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-variable-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-variable-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--sp-font-sans);color:var(--sp-ink);background:var(--sp-cream);-webkit-font-smoothing:antialiased;font-synthesis:none;margin:0;font-size:1rem;line-height:1.6;overflow-x:clip}img,svg,video{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit}p{margin:0 0 1em}ul{margin:0;padding:0;list-style:none}h1,h2,h3,h4{font-family:var(--sp-font-serif);letter-spacing:-.01em;text-wrap:balance;margin:0;font-weight:400;line-height:1.05}h1{font-size:var(--sp-text-display);line-height:1}h2{font-size:var(--sp-text-h2)}h3{font-size:var(--sp-text-h3);line-height:1.15}em{font-style:italic}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--sp-rose-deep);margin:0 0 var(--sp-4);font-size:.75rem;font-weight:700;display:inline-block}.gradient-text{background:var(--sp-gradient-brand);color:#0000;-webkit-background-clip:text;background-clip:text}.lead{color:var(--sp-ink-2);font-size:1.125rem;line-height:1.65}.muted{color:var(--sp-ink-2)}.tiny{color:var(--sp-ink-3);font-size:.75rem}:focus-visible{outline:3px solid var(--sp-violet);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:var(--sp-container);padding-inline:var(--sp-gutter);margin-inline:auto}.section{padding-block:var(--sp-section);position:relative}.section-tight{padding-block:calc(var(--sp-section) * .6)}.section-head{max-width:640px;margin-bottom:clamp(2rem,5vw,3.5rem)}.section-head.is-centered{text-align:center;margin-inline:auto}.section-head p{margin-top:var(--sp-4)}.grid{gap:var(--sp-5);grid-template-columns:repeat(var(--cols,1), minmax(0, 1fr));display:grid}@media (width>=640px){.grid-sm-2{--cols:2}}@media (width>=900px){.grid-md-3{--cols:3}.grid-md-4{--cols:4}}.row{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{border-radius:var(--sp-r-pill);white-space:nowrap;cursor:pointer;min-height:48px;transition:transform var(--sp-dur-fast) var(--sp-ease-std), box-shadow var(--sp-dur-fast) var(--sp-ease-std), background-color var(--sp-dur-fast) var(--sp-ease-std), border-color var(--sp-dur-fast) var(--sp-ease-std);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:.9375rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;pointer-events:none}.btn-primary{background:var(--sp-rose);color:#fff;box-shadow:0 8px 20px #f2447a47}.btn-primary:hover{background:var(--sp-rose-deep);transform:translateY(-1px);box-shadow:0 12px 26px #f2447a57}.btn-cta{background:var(--sp-gradient-cta);color:#fff;box-shadow:0 10px 24px #7a5af847}.btn-cta:hover{transform:translateY(-1px);box-shadow:0 14px 30px #7a5af85c}.btn-ghost{border-color:var(--sp-line-strong);color:var(--sp-ink);background:#ffffffb3}.btn-ghost:hover{border-color:var(--sp-ink);background:#fff}.btn-sm{min-height:40px;padding:0 16px;font-size:.875rem}.btn-lg{min-height:56px;padding:0 28px;font-size:1.0625rem}.chips{flex-wrap:wrap;gap:10px;display:flex}.chips-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:6px;overflow-x:auto}.chips-scroll::-webkit-scrollbar{display:none}.chip{border-radius:var(--sp-r-pill);border:1px solid var(--sp-line);background:var(--sp-paper);white-space:nowrap;min-height:40px;color:var(--sp-ink);cursor:pointer;transition:background-color var(--sp-dur-fast) var(--sp-ease-std), border-color var(--sp-dur-fast) var(--sp-ease-std), transform var(--sp-dur-fast) var(--sp-ease-std);align-items:center;gap:8px;padding:0 14px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--sp-line-strong);transform:translateY(-1px)}.chip.is-active{background:var(--sp-ink);border-color:var(--sp-ink);color:#fff}.badge{border-radius:var(--sp-r-pill);letter-spacing:.08em;text-transform:uppercase;background:var(--sp-rose-soft);color:var(--sp-rose-deep);align-items:center;gap:6px;padding:4px 10px;font-size:.6875rem;font-weight:800;display:inline-flex}.badge-soon{color:var(--sp-ink-3);background:#2b1b2f0f}.badge-new{background:var(--sp-violet-soft);color:var(--sp-violet)}.card{background:var(--sp-paper);border:1px solid var(--sp-line);border-radius:var(--sp-r-md);box-shadow:var(--sp-shadow-card);overflow:hidden}.card-hover{transition:transform var(--sp-dur) var(--sp-ease-out), box-shadow var(--sp-dur) var(--sp-ease-out)}.card-hover:hover{box-shadow:var(--sp-shadow-float);transform:translateY(-4px)}.brand{letter-spacing:-.02em;color:var(--sp-ink);align-items:center;gap:10px;font-size:1.25rem;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:var(--sp-gradient-brand);color:#fff;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid;box-shadow:0 4px 12px #f2447a4d}.brand-mark svg{width:16px;height:16px}.nav{z-index:50;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--sp-line);background:#fff9f3d1;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:var(--sp-4);min-height:68px;display:flex}.nav-links{color:var(--sp-ink-2);gap:28px;font-size:.9375rem;font-weight:600;display:none}.nav-links a{transition:color var(--sp-dur-fast) var(--sp-ease-std);text-decoration:none}.nav-links a:hover{color:var(--sp-ink)}.nav-actions{align-items:center;gap:10px;display:flex}@media (width>=820px){.nav-links{display:flex}}.footer{border-top:1px solid var(--sp-line);padding-block:var(--sp-12) var(--sp-8);color:var(--sp-ink-2);font-size:.875rem}.footer-grid{gap:var(--sp-8);grid-template-columns:1fr;display:grid}@media (width>=720px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}.footer h4{font-family:var(--sp-font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--sp-ink-3);margin-bottom:var(--sp-3);font-size:.75rem;font-weight:800}.footer li+li{margin-top:8px}.footer a{text-decoration:none}.footer a:hover{color:var(--sp-ink)}.footer-bottom{margin-top:var(--sp-10);padding-top:var(--sp-5);border-top:1px solid var(--sp-line);justify-content:space-between;gap:var(--sp-3);color:var(--sp-ink-3);flex-wrap:wrap;font-size:.75rem;display:flex}.phone{--phone-w:300px;width:var(--phone-w);aspect-ratio:9/19.2;border-radius:calc(var(--phone-w) * .15);max-width:100%;padding:calc(var(--phone-w) * .03);box-shadow:0 0 0 2px #2d2233, var(--sp-shadow-float);background:#1b1320;position:relative}.phone-lg{--phone-w:340px}.phone-screen{inset:calc(var(--phone-w) * .03);border-radius:calc(var(--phone-w) * .12);background:var(--sp-paper);isolation:isolate;position:absolute;overflow:hidden}.phone-notch{top:calc(var(--phone-w) * .035);width:calc(var(--phone-w) * .3);height:calc(var(--phone-w) * .075);border-radius:var(--sp-r-pill);z-index:6;background:#1b1320;position:absolute;left:50%;transform:translate(-50%)}.sticker{font-family:var(--sp-font-hand);background:var(--sp-sun-soft);color:var(--sp-ink);box-shadow:var(--sp-shadow-sm);transform:rotate(var(--tilt,-6deg));white-space:nowrap;border-radius:14px;padding:8px 14px;font-size:1.125rem;font-weight:700;line-height:1.1;display:inline-block}.sticker-rose{background:var(--sp-rose-soft)}.sticker-mint{background:var(--sp-mint-soft)}.sticker-sky{background:var(--sp-sky-soft)}.reveal{opacity:0;transition:opacity var(--sp-dur-slow) var(--sp-ease-out), transform var(--sp-dur-slow) var(--sp-ease-out);transition-delay:var(--delay,0s);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:none}.float{animation:6s ease-in-out infinite sp-float;animation-delay:var(--delay,0s)}.float-slow{animation-duration:9s}@keyframes sp-float{0%,to{transform:translateY(0) rotate(var(--tilt,0deg))}50%{transform:translateY(-10px) rotate(var(--tilt,0deg))}}@keyframes sp-twinkle{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}@keyframes sp-reveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.blob{filter:blur(70px);opacity:.75;pointer-events:none;background:var(--blob,var(--sp-rose-soft));border-radius:50%;position:absolute}.glass{-webkit-backdrop-filter:blur(12px);background:#ffffffb8;border:1px solid #ffffffb3}@media (prefers-reduced-motion:reduce){.reveal{transform:none}.float{animation:none}}.field{gap:8px;display:grid}.field label{font-size:.875rem;font-weight:700}.field-hint{color:var(--sp-ink-3);font-size:.8125rem}.input,.textarea{border:1px solid var(--sp-line-strong);border-radius:var(--sp-r-sm);background:var(--sp-paper);width:100%;min-height:50px;transition:border-color var(--sp-dur-fast) var(--sp-ease-std), box-shadow var(--sp-dur-fast) var(--sp-ease-std);padding:12px 14px}.input:focus,.textarea:focus{border-color:var(--sp-rose);outline:none;box-shadow:0 0 0 4px #f2447a26}.textarea{resize:vertical;min-height:140px;line-height:1.6}.field-row{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.counter{color:var(--sp-ink-3);font-variant-numeric:tabular-nums;font-size:.75rem}.counter.is-over{color:var(--sp-rose-deep);font-weight:700}.notice{border-radius:var(--sp-r-sm);background:var(--sp-sun-soft);color:#6b4a00;padding:12px 14px;font-size:.875rem}.notice-error{background:var(--sp-rose-soft);color:var(--sp-rose-deep)}.notice-ok{background:var(--sp-mint-soft);color:#137a5a}.faq{border-top:1px solid var(--sp-line)}.faq details{border-bottom:1px solid var(--sp-line)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--sp-4);padding:18px 0;font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--sp-rose);transition:transform var(--sp-dur) var(--sp-ease-out);font-size:1.5rem;line-height:1}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{color:var(--sp-ink-2);max-width:60ch;margin:0 0 18px}.hero{padding-block:clamp(2.5rem,6vw,5rem) clamp(3rem,8vw,6rem);position:relative;overflow:visible}.hero-grid{align-items:center;gap:clamp(2rem,6vw,4rem);display:grid}@media (width>=900px){.hero-grid{grid-template-columns:1.1fr .9fr}}.hero-copy h1{margin-bottom:var(--sp-5)}.hero-copy .lead{max-width:460px;margin-bottom:var(--sp-8)}.hero-actions{gap:var(--sp-3);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.hero-proof{color:var(--sp-ink-2);flex-wrap:wrap;gap:8px 18px;font-size:.8125rem;display:flex}.hero-proof span:before{content:"✓";color:var(--sp-mint);margin-right:6px;font-weight:800}.hero-visual{place-items:center;min-height:560px;display:grid;position:relative}.hero-visual .phone{--phone-w:310px;z-index:2}.hero-visual .blob{z-index:0}.hero-sticker{z-index:3;position:absolute}.hero-sticker-1{--tilt:-8deg;top:8%;left:2%}.hero-sticker-2{--tilt:7deg;bottom:14%;right:0}.hero-sticker-3{--tilt:4deg;top:48%;right:-2%}.hero-card{z-index:3;border-radius:var(--sp-r-md);width:150px;box-shadow:var(--sp-shadow-card);color:var(--sp-ink-2);transform:rotate(var(--tilt,-5deg));background:#fff;padding:12px;font-size:.75rem;position:absolute}.hero-card strong{color:var(--sp-ink);font-size:.8125rem;display:block}.hero-card-1{--tilt:-6deg;bottom:18%;left:0}@media (width<=899px){.hero-visual{min-height:520px}.hero-sticker-1{top:2%;left:0}.hero-sticker-3{display:none}}.occasions{padding-block:0 var(--sp-section)}.occasions-row{scrollbar-width:none;gap:10px;padding:4px 4px 10px;display:flex;overflow-x:auto}.occasions-row::-webkit-scrollbar{display:none}.occasion{border-radius:var(--sp-r-pill);background:var(--sp-paper);border:1px solid var(--sp-line);transition:transform var(--sp-dur-fast) var(--sp-ease-std), box-shadow var(--sp-dur-fast) var(--sp-ease-std);flex:none;align-items:center;gap:10px;padding:10px 16px 10px 10px;font-size:.9375rem;font-weight:700;text-decoration:none;display:flex}.occasion:hover{box-shadow:var(--sp-shadow-card);transform:translateY(-2px)}.occasion-icon{background:var(--occasion-soft,var(--sp-sun-soft));border-radius:50%;place-items:center;width:36px;height:36px;font-size:1.125rem;display:grid}.occasion .badge{margin-left:2px}.occasion.is-soon{color:var(--sp-ink-3)}.steps{counter-reset:step}.step{padding:var(--sp-6);border-radius:var(--sp-r-lg);background:var(--step-bg,var(--sp-rose-soft));gap:var(--sp-3);flex-direction:column;min-height:220px;display:flex;position:relative}.step-num{font-family:var(--sp-font-serif);color:var(--sp-ink);opacity:.9;font-size:2.5rem;line-height:1}.step h3{font-family:var(--sp-font-sans);font-size:1.125rem;font-weight:800}.step p{color:var(--sp-ink-2);margin:0;font-size:.9375rem}.step-art{margin-top:auto;font-size:2rem;line-height:1}.look-grid{gap:var(--sp-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=900px){.look-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.look-card{flex-direction:column;display:flex}.look-preview{background:var(--g-bg);place-items:center;height:300px;padding:22px 16px 0;display:grid;position:relative;overflow:hidden}.look-preview .phone{--phone-w:190px;transition:transform var(--sp-dur-slow) var(--sp-ease-out);margin-bottom:-120px;box-shadow:0 0 0 2px #2d2233,0 20px 40px #2b1b2f40}.look-card:hover .look-preview .phone{transform:translateY(-10px)}.look-body{padding:var(--sp-4) var(--sp-4) var(--sp-5);flex-direction:column;flex:1;gap:10px;display:flex}.look-body h3{font-family:var(--sp-font-sans);justify-content:space-between;align-items:center;gap:8px;font-size:1.0625rem;font-weight:800;display:flex}.look-body p{color:var(--sp-ink-2);margin:0;font-size:.875rem}.look-swatches{gap:6px;display:flex}.look-swatches i{width:16px;height:16px;box-shadow:0 0 0 1px var(--sp-line);background:var(--g-accent);border:2px solid #fff;border-radius:50%}.look-swatches i:nth-child(2){background:var(--g-accent-2)}.look-swatches i:nth-child(3){background:var(--g-c1)}.look-actions{gap:8px;margin-top:auto;padding-top:6px;display:flex}.look-actions .btn{flex:1;padding-inline:10px}@media (width<=640px){.look-grid{gap:12px}.look-preview{height:220px;padding-top:16px}.look-preview .phone{--phone-w:150px;margin-bottom:-90px}.look-actions{flex-direction:column}}.feature{padding:var(--sp-6);gap:var(--sp-3);flex-direction:column;display:flex}.feature-icon{background:var(--feature-bg,var(--sp-sun-soft));border-radius:14px;place-items:center;width:48px;height:48px;font-size:1.375rem;display:grid}.feature h3{font-family:var(--sp-font-sans);font-size:1.0625rem;font-weight:800}.feature p{color:var(--sp-ink-2);margin:0;font-size:.9375rem}.plans{gap:var(--sp-5);max-width:820px;margin-inline:auto;display:grid}@media (width>=720px){.plans{grid-template-columns:1fr 1fr}}.plan{padding:var(--sp-8) var(--sp-6);gap:var(--sp-4);flex-direction:column;display:flex;position:relative}.plan.is-featured{border-color:var(--sp-violet);box-shadow:0 16px 40px #7a5af82e}.plan-ribbon{position:absolute;top:18px;right:18px}.plan-name{color:var(--sp-ink-2);font-size:1rem;font-weight:800}.plan-price{font-family:var(--sp-font-serif);font-size:3.25rem;line-height:1}.plan-price small{font-family:var(--sp-font-sans);color:var(--sp-ink-3);margin-left:6px;font-size:.875rem}.plan-list{gap:10px;font-size:.9375rem;display:grid}.plan-list li{align-items:flex-start;gap:10px;display:flex}.plan-list li:before{content:"✓";color:var(--sp-mint);flex:none;font-weight:800}.plan .btn{margin-top:auto}.cta-band{border-radius:var(--sp-r-xl);text-align:center;background:radial-gradient(60% 80% at 10% 10%,#ffc43d8c,#0000 60%),radial-gradient(60% 80% at 90% 90%,#7a5af859,#0000 60%),linear-gradient(135deg,#ffe4ec 0%,#fff1e4 50%,#ece7ff 100%);padding:clamp(2.5rem,7vw,5rem) clamp(1.5rem,6vw,4rem);position:relative;overflow:hidden}.cta-band h2{margin-bottom:var(--sp-4)}.cta-band .lead{max-width:520px;margin:0 auto var(--sp-6)}.cta-band .sticker{position:absolute}.cta-band .sticker-a{--tilt:-10deg;top:18px;left:6%}.cta-band .sticker-b{--tilt:8deg;bottom:22px;right:6%}@media (width<=640px){.cta-band .sticker{display:none}}.catalog-head{justify-content:space-between;align-items:flex-end;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.catalog-count{color:var(--sp-ink-3);font-size:.875rem}.demo-stage{background:radial-gradient(70% 50% at 20% 0%, #ffe4ece6, transparent 70%), radial-gradient(60% 50% at 90% 100%, #ece7ffe6, transparent 70%), var(--sp-cream);place-items:center;min-height:100dvh;padding:84px 16px 32px;display:grid}.demo-stage .phone{--phone-w:min(390px, 100%)}.demo-bar{z-index:60;pointer-events:none;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex;position:fixed;top:0;left:0;right:0}.demo-bar>*{pointer-events:auto}.demo-pill{border-radius:var(--sp-r-pill);min-height:40px;color:var(--sp-ink);box-shadow:var(--sp-shadow-card);align-items:center;gap:8px;padding:0 14px;font-size:.8125rem;font-weight:700;text-decoration:none;display:inline-flex}@media (width<=640px){.demo-stage{background:#120b1e;padding:0;display:block}.demo-stage .phone{--phone-w:100vw;aspect-ratio:auto;width:100%;height:100dvh;box-shadow:none;border-radius:0;padding:0}.demo-stage .phone-screen{border-radius:0;inset:0}.demo-stage .phone-notch{display:none}.demo-stage .gift{--g-safe-top:52px}}.editor{gap:var(--sp-6);padding-block:var(--sp-6) 120px;align-items:start;display:grid}@media (width>=960px){.editor{padding-bottom:var(--sp-16);grid-template-columns:minmax(0,1fr) 380px}}.editor-head{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.editor-head h1{font-size:clamp(1.9rem,4vw,2.6rem)}.editor-form{gap:var(--sp-5);display:grid}.editor-section{padding:var(--sp-5);gap:var(--sp-4);display:grid}.editor-section-head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.editor-section-head h2{font-family:var(--sp-font-sans);font-size:1rem;font-weight:800}.look-picker{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.look-option{border-radius:var(--sp-r-md);background:var(--sp-cream);text-align:center;cursor:pointer;transition:border-color var(--sp-dur-fast) var(--sp-ease-std);border:2px solid #0000;gap:8px;padding:8px;font-size:.75rem;font-weight:700;display:grid}.look-option.is-active{border-color:var(--sp-ink);background:#fff}.look-option-swatch{background:var(--g-bg);border-radius:10px;height:56px}.photo-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.photo-slot{aspect-ratio:1;border-radius:var(--sp-r-sm);border:1.5px dashed var(--sp-line-strong);color:var(--sp-ink-3);background:var(--sp-cream);place-items:center;font-size:1.5rem;display:grid}.editor-preview{display:none}.editor-preview-inner{justify-items:center;gap:var(--sp-3);display:grid}.editor-preview .phone{--phone-w:320px}@media (width>=960px){.editor-preview{display:block;position:sticky;top:90px}}.editor-preview.is-open{z-index:70;background:#120b1eeb;padding:16px;display:block;position:fixed;inset:0;overflow:auto}.editor-preview.is-open .editor-preview-inner{align-content:center;min-height:100%}.editor-preview.is-open .phone{--phone-w:min(360px, 100%)}.editor-bar{z-index:65;padding:12px var(--sp-gutter);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--sp-line);background:#fff9f3eb;position:fixed;bottom:0;left:0;right:0}.editor-bar-inner{max-width:var(--sp-container);justify-content:space-between;align-items:center;gap:var(--sp-3);margin-inline:auto;display:flex}.editor-status{color:var(--sp-ink-2);font-size:.8125rem}@media (width>=960px){.editor-bar .btn-preview{display:none}}.auth{min-height:calc(100dvh - 69px);padding-block:var(--sp-10);place-items:center;display:grid;position:relative;overflow:hidden}.auth-card{width:100%;max-width:440px;padding:var(--sp-8) var(--sp-6);z-index:1;position:relative}.auth-card h1{margin:var(--sp-3) 0 var(--sp-2);font-size:clamp(2rem,5vw,2.75rem)}.auth-card form{gap:var(--sp-4);margin-top:var(--sp-5);display:grid}.auth-actions{flex-direction:column;gap:10px;display:flex}.code-input{letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.5rem}[data-look=bloom]{--g-bg:linear-gradient(180deg, #ffe9f0 0%, #fff6ee 55%, #f3eeff 100%);--g-ink:#3a2240;--g-muted:#3a2240a3;--g-accent:#f2447a;--g-accent-2:#ff8a65;--g-accent-ink:#fff;--g-paper:#fff;--g-paper-ink:#3a2240;--g-box:#ff7aa2;--g-ribbon:#ffc43d;--g-btn-bg:#3a2240;--g-btn-ink:#fff;--g-c1:#ff9fbd;--g-c2:#ffd166;--g-c3:#c9b6ff;--g-c4:#8ad7c0;--g-c5:#ff8a65}[data-look=candy]{--g-bg:linear-gradient(180deg, #e8f6ff 0%, #fff8e6 50%, #ffe8f1 100%);--g-ink:#2b1b2f;--g-muted:#2b1b2fa3;--g-accent:#7a5af8;--g-accent-2:#2fcb9b;--g-accent-ink:#fff;--g-paper:#fff;--g-paper-ink:#2b1b2f;--g-box:#4cb4ff;--g-ribbon:#f2447a;--g-btn-bg:#2b1b2f;--g-btn-ink:#fff;--g-c1:#f2447a;--g-c2:#ffc43d;--g-c3:#2fcb9b;--g-c4:#4cb4ff;--g-c5:#7a5af8}[data-look=midnight]{--g-bg:radial-gradient(120% 80% at 50% 0%, #3a2560 0%, #1f1430 60%, #120b1e 100%);--g-ink:#fff6e8;--g-muted:#fff6e8b3;--g-accent:#f5c76a;--g-accent-2:#c9b6ff;--g-accent-ink:#1f1430;--g-paper:#fff8ec;--g-paper-ink:#2b1b2f;--g-box:#7a5af8;--g-ribbon:#f5c76a;--g-btn-bg:#f5c76a;--g-btn-ink:#1f1430;--g-c1:#f5c76a;--g-c2:#c9b6ff;--g-c3:#ff7aa2;--g-c4:#8ad7c0;--g-c5:#fff}[data-look=marigold]{--g-bg:linear-gradient(180deg, #fff3d6 0%, #ffe1c2 50%, #ffd6e4 100%);--g-ink:#4a1f2a;--g-muted:#4a1f2aa8;--g-accent:#ff4d8d;--g-accent-2:#ff9f1c;--g-accent-ink:#fff;--g-paper:#fff;--g-paper-ink:#4a1f2a;--g-box:#ff9f1c;--g-ribbon:#ff4d8d;--g-btn-bg:#4a1f2a;--g-btn-ink:#fff;--g-c1:#ff9f1c;--g-c2:#ff4d8d;--g-c3:#2f9e6b;--g-c4:#ffd166;--g-c5:#fff}.gift{--g-safe-top:0px;background:var(--g-bg);color:var(--g-ink);font-family:var(--sp-font-sans);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:absolute;inset:0;overflow:hidden;container:gift/size}.phone-screen>.gift{--g-safe-top:calc(var(--phone-w) * .11)}.gift-scene{padding:calc(var(--g-safe-top) + 14cqw) 7cqw 26cqw;text-align:center;animation:sp-scene-in .55s var(--sp-ease-out) both;scrollbar-width:none;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden auto}.gift-scene::-webkit-scrollbar{display:none}.gift-scene-inner{z-index:2;flex-direction:column;align-items:center;width:100%;margin:auto;display:flex;position:relative}.gift-top{top:var(--g-safe-top);z-index:5;padding:4cqw 6cqw 0;position:absolute;left:0;right:0}.gift-progress{gap:1.5cqw;display:flex}.gift-progress i{opacity:.16;height:3px;transition:opacity var(--sp-dur) var(--sp-ease-std);background:currentColor;border-radius:99px;flex:1}.gift-progress i.is-done{opacity:.7}.gift-progress i.is-current{opacity:1;background:var(--g-accent)}.gift-foot{z-index:5;justify-content:center;align-items:center;gap:3cqw;padding:4cqw 6cqw 7cqw;display:flex;position:absolute;bottom:0;left:0;right:0}.gift-foot.is-end{justify-content:flex-start}.gift-back{width:max(36px,11cqw);height:max(36px,11cqw);color:var(--g-ink);-webkit-backdrop-filter:blur(8px);transition:transform var(--sp-dur-fast) var(--sp-ease-spring);background:#ffffff8c;border-radius:50%;place-items:center;font-size:1.25rem;line-height:1;display:grid}.gift[data-look=midnight] .gift-back{background:#ffffff24}.gift-back:active{transform:scale(.9)}.gift-next,.gift-btn{background:var(--g-btn-bg);min-height:max(42px,12cqw);color:var(--g-btn-ink);white-space:nowrap;transition:transform var(--sp-dur-fast) var(--sp-ease-spring), opacity var(--sp-dur-fast);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 7cqw;font-size:clamp(13px,4.2cqw,16px);font-weight:700;line-height:1;display:inline-flex;box-shadow:0 10px 24px #0000002e}.gift-btn{background:var(--g-accent);color:var(--g-accent-ink);box-shadow:0 12px 26px #0000002e;box-shadow:0 12px 26px color-mix(in srgb, var(--g-accent) 40%, transparent)}.gift-next:active,.gift-btn:active{transform:scale(.96)}.gift-next:disabled,.gift-btn:disabled{opacity:.45}.gift-link{color:var(--g-muted);text-underline-offset:3px;background:0 0;margin-top:4cqw;font-size:clamp(12px,3.6cqw,14px);font-weight:600;text-decoration:underline}.gift-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--g-accent);margin-bottom:3cqw;font-size:clamp(10px,3cqw,12px);font-weight:800}.gift-title{font-family:var(--sp-font-serif);letter-spacing:-.01em;text-wrap:balance;margin:0 0 3cqw;font-size:clamp(30px,12cqw,64px);font-weight:400;line-height:1}.gift-title em{color:var(--g-accent);font-style:italic}.gift-name{background:linear-gradient(100deg, var(--g-accent), var(--g-accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;padding-bottom:.08em;display:block}.gift-text{color:var(--g-muted);max-width:82cqw;margin:0 auto;font-size:clamp(14px,4.3cqw,18px);line-height:1.55}.gift-hint{color:var(--g-muted);margin-top:4cqw;font-size:clamp(11px,3.4cqw,13px)}.gift-cover .gift-name{font-size:clamp(34px,15cqw,76px)}.gift-ambient{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.sparkle{left:var(--x);top:var(--y);font-size:clamp(10px, calc(var(--s,1) * 4cqw), 26px);color:var(--c,var(--g-accent-2));animation:sp-twinkle 2.6s ease-in-out var(--delay,0s) infinite;line-height:1;position:absolute}.balloon{bottom:-22%;left:var(--x,50%);aspect-ratio:.82;background:radial-gradient(circle at 32% 26%, #ffffffc7, #fff0 40%), var(--c,var(--g-accent));opacity:.95;width:clamp(26px,14cqw,64px);animation:sp-rise var(--d,10s) linear var(--delay,0s) infinite;border-radius:50%/55% 55% 45% 45%;position:absolute}.balloon:before{content:"";background:inherit;clip-path:polygon(50% 0,100% 100%,0 100%);width:18%;height:12%;position:absolute;top:100%;left:50%;transform:translate(-50%,-30%)}.balloon:after{content:"";background:#00000038;width:1px;height:130%;position:absolute;top:100%;left:50%}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{top:-4%;left:var(--x);background:var(--c);opacity:0;width:clamp(5px,2.4cqw,10px);height:clamp(8px,4cqw,16px);animation:sp-fall var(--d,3.4s) cubic-bezier(.3, .6, .5, 1) var(--delay,0s) infinite;border-radius:2px;position:absolute}.confetti i:nth-child(3n){border-radius:50%}.confetti.is-burst i{animation:sp-burst 1.4s var(--sp-ease-out) var(--delay,0s) 1 forwards;top:50%;left:50%}.petal{top:-6%;left:var(--x);background:var(--c,var(--g-c1));opacity:.85;width:clamp(8px,3.4cqw,14px);height:clamp(8px,3.4cqw,14px);animation:sp-petal var(--d,9s) linear var(--delay,0s) infinite;border-radius:80% 0;position:absolute}.giftbox{aspect-ratio:1;filter:drop-shadow(0 18px 22px #0000002e);cursor:pointer;width:44cqw;max-width:210px;margin:5cqw auto 8cqw;animation:2.6s ease-in-out infinite sp-breathe;position:relative}.giftbox-body{background:var(--g-box);border-radius:8%/10%;height:60%;position:absolute;bottom:0;left:6%;right:6%;overflow:hidden}.giftbox-body:before{content:"";background:var(--g-ribbon);width:16%;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.giftbox-body:after{content:"";background:linear-gradient(90deg,#0000001a,#0000 30% 70%,#0000001f);position:absolute;inset:0}.giftbox-lid{background:var(--g-box);background:color-mix(in srgb, var(--g-box) 88%, #fff);transform-origin:90% 100%;height:20%;transition:transform .9s var(--sp-ease-spring), opacity .5s var(--sp-ease-std) .3s;border-radius:6%/24%;position:absolute;top:24%;left:0;right:0;overflow:hidden}.giftbox-lid:before{content:"";background:var(--g-ribbon);width:14%;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.giftbox-bow{transform-origin:50% 100%;width:40%;height:22%;transition:transform .9s var(--sp-ease-spring), opacity .5s var(--sp-ease-std) .3s;position:absolute;top:6%;left:50%;transform:translate(-50%)}.giftbox-bow:before,.giftbox-bow:after{content:"";background:var(--g-ribbon);border-radius:60% 60% 50% 50%/100% 100% 60% 60%;width:50%;height:100%;position:absolute;top:0}.giftbox-bow:before{left:0;transform:rotate(-16deg)}.giftbox-bow:after{right:0;transform:rotate(16deg)}.giftbox-glow{width:70%;height:50%;transition:transform .9s var(--sp-ease-out) .2s;background:radial-gradient(circle,#fffffff2,#fff0 70%);border-radius:50%;position:absolute;top:36%;left:50%;transform:translate(-50%)scale(0)}.giftbox.is-open{animation:none}.giftbox.is-open .giftbox-lid{opacity:0;transform:translate(22%,-110%)rotate(26deg)}.giftbox.is-open .giftbox-bow{opacity:0;transform:translate(-30%,-140%)rotate(26deg)}.giftbox.is-open .giftbox-glow{transform:translate(-50%)scale(1.6)}.polaroids{aspect-ratio:.84;width:72cqw;max-width:290px;margin:2cqw auto 5cqw;position:relative}.polaroid{transform:rotate(var(--r,0deg)) translate(var(--tx,0), var(--ty,0)) scale(var(--s,1));transition:transform .65s var(--sp-ease-spring), opacity .4s var(--sp-ease-std);cursor:pointer;background:#fff;border-radius:6px;flex-direction:column;padding:4% 4% 12%;display:flex;position:absolute;inset:0;box-shadow:0 16px 32px #00000029}.polaroid-img{aspect-ratio:1;background:var(--art-bg,#eee);border-radius:3px;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.polaroid-img img{object-fit:cover;width:100%;height:100%}.polaroid-caption{font-family:var(--sp-font-hand);color:#5a4a5e;text-align:center;margin-top:4%;font-size:clamp(14px,5.4cqw,22px);font-weight:600;line-height:1.1}.art{width:100%;height:100%;position:relative;overflow:hidden}.art span{filter:drop-shadow(0 6px 10px #00000026);font-size:clamp(28px,16cqw,72px);line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.art-sunset{background:linear-gradient(#ffb4a2 0%,#ffd6a5 56%,#6d597a 56.5%,#4a3a5e 100%)}.art-sunset:before{content:"";aspect-ratio:1;background:radial-gradient(circle,#fff3b0,#ffb347);border-radius:50%;width:36%;position:absolute;top:56%;left:50%;transform:translate(-50%,-100%);box-shadow:0 0 30px 6px #ffb34780}.art-party{background:radial-gradient(circle at 20% 30%,#f2447a 0 6%,#0000 7%),radial-gradient(circle at 70% 20%,#ffc43d 0 5%,#0000 6%),radial-gradient(circle at 80% 70%,#4cb4ff 0 7%,#0000 8%),radial-gradient(circle at 30% 78%,#2fcb9b 0 5%,#0000 6%),linear-gradient(#ece7ff,#fff1e4)}.art-garden{background:radial-gradient(circle at 15% 85%,#ff9fbd 0 8%,#0000 9%),radial-gradient(circle at 85% 80%,#ffd166 0 7%,#0000 8%),radial-gradient(circle at 50% 95%,#8ad7c0 0 10%,#0000 11%),linear-gradient(#dff1ff 0%,#fff 50%,#dcf7ec 100%)}.art-night{background:radial-gradient(circle at 25% 25%,#fff 0 1.5%,#0000 2%),radial-gradient(circle at 70% 15%,#fff 0 1%,#0000 1.6%),radial-gradient(circle at 85% 45%,#fff 0 1.2%,#0000 1.8%),radial-gradient(circle at 40% 55%,#fff 0 .8%,#0000 1.4%),linear-gradient(#2a1a4a,#5b3b8a)}.art-chai{background:linear-gradient(#fff3c4 0%,#ffe1c2 60%,#c48a5a 60.5%,#8a5a3a 100%)}.note-stage{place-items:center;width:100%;min-height:62cqw;margin:2cqw 0 4cqw;display:grid;position:relative}.note-balloon{aspect-ratio:.82;background:radial-gradient(circle at 32% 26%, #ffffffbf, #fff0 40%), var(--c,var(--g-accent));color:#fff;width:46cqw;max-width:190px;font-family:var(--sp-font-serif);cursor:pointer;border-radius:50%/55% 55% 45% 45%;place-items:center;font-size:clamp(28px,13cqw,60px);animation:3.2s ease-in-out infinite sp-float;display:grid;position:relative;box-shadow:0 16px 30px #00000029}.note-balloon:after{content:"";background:#00000040;width:1px;height:40%;position:absolute;top:100%;left:50%}.note-balloon.is-popped{animation:sp-pop .45s var(--sp-ease-out) forwards;pointer-events:none}.note-card{background:var(--g-paper);color:var(--g-paper-ink);font-family:var(--sp-font-serif);animation:sp-scene-in .5s var(--sp-ease-spring) both;border-radius:14px;padding:6cqw 5cqw;font-size:clamp(17px,6cqw,28px);line-height:1.25;position:absolute;inset:auto 4cqw;box-shadow:0 16px 36px #00000024}.note-dots{justify-content:center;gap:6px;margin-top:3cqw;display:flex}.note-dots i{opacity:.25;background:currentColor;border-radius:50%;width:8px;height:8px}.note-dots i.is-done{opacity:1;background:var(--g-accent)}.letter{background:var(--g-paper);width:88cqw;max-width:360px;color:var(--g-paper-ink);text-align:left;border-radius:14px;margin:3cqw auto 2cqw;padding:8cqw 6cqw 6cqw;position:relative;box-shadow:0 18px 40px #00000024}.letter:before{content:"";background:var(--g-accent);background:color-mix(in srgb, var(--g-accent) 70%, #fff);opacity:.85;border-radius:2px;width:36%;height:18px;position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-2deg)}.letter-head{font-family:var(--sp-font-serif);margin-bottom:3cqw;font-size:clamp(18px,6.4cqw,28px);line-height:1.1}.letter-body{white-space:pre-wrap;overflow-wrap:anywhere;min-height:3em;font-size:clamp(13px,4.1cqw,16px);line-height:1.65}.letter-sign{font-family:var(--sp-font-hand);color:var(--g-accent);text-align:right;margin-top:4cqw;font-size:clamp(18px,6.6cqw,28px);font-weight:700}.caret{vertical-align:-.15em;background:currentColor;width:2px;height:1em;margin-left:2px;animation:1s steps(2,end) infinite sp-caret;display:inline-block}.cake{aspect-ratio:1/.92;cursor:pointer;width:58cqw;max-width:240px;margin:6cqw auto 7cqw;position:relative}.cake-plate{background:#ffffffbf;border-radius:50%;height:8%;position:absolute;bottom:0;left:-5%;right:-5%;box-shadow:0 10px 20px #0000001f}.cake-layer{left:var(--inset);right:var(--inset);bottom:var(--b);height:var(--h);background:var(--c);border-radius:10px 10px 8px 8px;position:absolute;box-shadow:inset 0 -8px #00000014}.cake-layer:before{content:"";background:var(--icing);-webkit-mask-composite:source-over;border-radius:10px 10px 0 0;height:38%;position:absolute;top:-2px;left:0;right:0;-webkit-mask:linear-gradient(#000 60%,#0000 60%),radial-gradient(10px at 12% 100%,#000 98%,#0000) 0 0/25% 100% repeat-x;mask:linear-gradient(#000 60%,#0000 60%),radial-gradient(10px at 12% 100%,#000 98%,#0000) 0 0/25% 100% repeat-x}.cake-layer:after{content:"";border-radius:inherit;opacity:.8;background:radial-gradient(circle at 20% 60%,#fff 0 2px,#0000 3px),radial-gradient(circle at 48% 72%,#fff 0 2px,#0000 3px),radial-gradient(circle at 76% 58%,#fff 0 2px,#0000 3px);position:absolute;inset:0}.candle{background:repeating-linear-gradient(135deg, #fff 0 4px, var(--g-accent) 4px 8px);border-radius:3px;width:7%;height:16%;position:absolute;bottom:84%;left:50%;transform:translate(-50%)}.candle:before{content:"";background:#4a3a3a;width:2px;height:14%;position:absolute;top:-8%;left:50%;transform:translate(-50%)}.flame{aspect-ratio:.62;transform-origin:50% 100%;width:190%;transition:transform .4s var(--sp-ease-spring);background:radial-gradient(circle at 50% 72%,#fff6c2,#ffb13d 55%,#ff6b2c 100%);border-radius:50%/60% 60% 40% 40%;position:absolute;bottom:104%;left:50%;transform:translate(-50%)scale(0);box-shadow:0 0 24px 8px #ffb13d73}.cake.is-lit .flame{animation:.5s ease-in-out infinite alternate sp-flame;transform:translate(-50%)scale(1)}.cake.is-blown .flame{animation:none;transform:translate(-50%)scale(0)}.smoke{opacity:0;filter:blur(3px);background:#78787873;border-radius:50%;width:10px;height:10px;position:absolute;bottom:110%;left:50%}.cake.is-blown .smoke{animation:1.6s ease-out forwards sp-smoke}.cake-glow{opacity:0;width:120%;height:90%;transition:opacity .6s var(--sp-ease-std);pointer-events:none;background:radial-gradient(circle,#ffc43d73,#0000 65%);border-radius:50%;position:absolute;bottom:60%;left:50%;transform:translate(-50%)}.cake.is-lit .cake-glow{opacity:1}.wish{font-family:var(--sp-font-hand);color:var(--g-accent);animation:sp-scene-in .6s var(--sp-ease-spring) both;font-size:clamp(22px,8cqw,36px);font-weight:700}@keyframes sp-scene-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@keyframes sp-breathe{0%,to{transform:scale(1)rotate(-1deg)}50%{transform:scale(1.04)rotate(1deg)}}@keyframes sp-rise{0%{transform:translateY(0)translate(0)rotate(-4deg)}50%{transform:translateY(-70cqh)translate(12px)rotate(4deg)}to{transform:translateY(-150cqh)translate(-8px)rotate(-3deg)}}@keyframes sp-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{transform:translateY(115cqh) translateX(var(--sway,20px)) rotate(540deg);opacity:.9}}@keyframes sp-burst{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}to{transform:translate(var(--tx,40cqw), var(--ty,-40cqw)) rotate(420deg) scale(.6);opacity:0}}@keyframes sp-petal{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:.85}to{transform:translateY(115cqh) translateX(var(--sway,30px)) rotate(300deg);opacity:.6}}@keyframes sp-pop{0%{opacity:1;transform:scale(1)}40%{opacity:.9;transform:scale(1.22)}to{opacity:0;transform:scale(1.5)}}@keyframes sp-flame{0%{transform:translate(-50%)scale(1)rotate(-3deg)}to{transform:translate(-52%)scale(1.08)rotate(3deg)}}@keyframes sp-smoke{0%{opacity:.7;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-30%,-60px)scale(3)}}@keyframes sp-caret{to{opacity:0}}@media (prefers-reduced-motion:reduce){.balloon,.confetti i,.petal,.sparkle,.giftbox,.note-balloon{animation:none}.confetti i{opacity:.8;top:auto;bottom:10%}.balloon{bottom:4%}}
