.greeting-card{--card-bg:#f5d8ce;--card-ink:#73394a;--card-accent:#aa5663;isolation:isolate;background:var(--card-bg);width:100%;max-width:362px;min-height:490px;color:var(--card-ink);text-align:left;border-radius:4px;transition:background .4s,color .4s;position:relative;overflow:hidden;transform:rotate(-2deg);box-shadow:0 25px 40px -25px #4f463d75,0 3px 6px #4f463d12}.palette-cream{--card-bg:#f4e7c5;--card-ink:#665333;--card-accent:#ae7c47}.palette-sage{--card-bg:#c8d4be;--card-ink:#355446;--card-accent:#698467}.palette-lilac{--card-bg:#e0d6ec;--card-ink:#644574;--card-accent:#9575a5}.no-motion .greeting-card,.greeting-card.flat{transform:none}.card-grain{z-index:-1;opacity:.22;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.35' d='M0 0h160v160H0z'/%3E%3C/svg%3E");position:absolute;inset:0}.card-content{padding:27px 28px 25px;position:relative}.card-top{border-bottom:1px solid color-mix(in srgb, var(--card-ink) 19%, transparent);justify-content:space-between;align-items:center;padding-bottom:18px;display:flex}.card-eyebrow{letter-spacing:1.6px;font-size:8px;font-weight:600}.card-heading-wrap{padding:26px 0 19px;position:relative;overflow:visible}.card-to{font:italic 16px var(--serif);overflow-wrap:anywhere;margin-bottom:11px;display:block}.greeting-card h2{font:400 47px/.98 var(--serif);letter-spacing:-2.5px;z-index:1;overflow-wrap:anywhere;max-width:245px;margin:0;position:relative}.greeting-card h2 em{font-weight:400}.card-badge{object-fit:contain;z-index:2;filter:drop-shadow(0 5px 4px #73463c12);pointer-events:none;width:130px;height:130px;animation:.75s both badge-arrive;position:absolute;bottom:-16px;right:-26px;transform:rotate(10deg)}.look-star .card-badge{width:126px;height:126px;bottom:-20px;right:-25px;transform:rotate(11deg)}.look-star .card-heading-wrap{padding-bottom:35px}.look-star h2{font-size:49px;line-height:1.03}.look-garden .card-nature{display:block}.look-garden h2{font-size:44px;line-height:1.04}.look-garden .card-heading-wrap{padding-bottom:24px}.card-message{white-space:pre-wrap;overflow-wrap:anywhere;z-index:3;max-width:262px;margin:13px 0 22px;font-size:13.5px;line-height:1.75;position:relative}.card-bottom{border-top:1px solid color-mix(in srgb, var(--card-ink) 19%, transparent);justify-content:space-between;align-items:end;gap:15px;padding-top:18px;display:flex}.card-signature{overflow-wrap:anywhere;min-width:0;font-size:10px;line-height:1.4}.card-signature strong{font:italic 400 24px var(--serif);margin-top:2px;display:block}.card-sign{width:fit-content;max-width:100%;display:block;position:relative}.card-sign .signature-ink{width:160px;max-width:100%}.card-kiss{opacity:.8;mix-blend-mode:multiply;pointer-events:none;-webkit-user-select:none;user-select:none;width:62px;height:auto;position:absolute;bottom:-12px;right:-24px;transform:rotate(-14deg)}.card-kiss.is-waiting{opacity:0}.card-kiss.is-pressing{animation:kiss-press 1.15s cubic-bezier(.2, .8, .2, 1) var(--kiss-delay,0s) both}@keyframes kiss-press{0%{opacity:0;filter:blur(3px);transform:translate(16px,-22px)rotate(-3deg)scale(1.6)}55%{opacity:.95;filter:blur();transform:translate(0)rotate(-15deg)scale(.93)}75%{opacity:.86;transform:rotate(-13.5deg)scale(1.03)}to{opacity:.8;filter:blur();transform:rotate(-14deg)scale(1)}}@media (prefers-reduced-motion:reduce){.card-kiss.is-pressing{animation:none}.card-kiss.is-waiting{opacity:.8}}.card-footer-note{letter-spacing:1.4px;text-align:right;max-width:130px;font-size:7px;line-height:1.6}.card-nature{z-index:-1;background:linear-gradient(145deg,#e1e4c370,#0000 60%);display:none;position:absolute;inset:0;overflow:hidden}.card-nature span{filter:blur(4px);background:linear-gradient(60deg,#47735430,#8fac6c08);border-radius:50%;width:140px;height:300px;animation:7s ease-in-out infinite alternate leaf-light;position:absolute;top:-70px;right:-50px;transform:rotate(-30deg)}.card-nature span:nth-child(2){animation-delay:-2s;top:30px;right:5px;transform:rotate(35deg)}.card-nature span:nth-child(3){animation-delay:-5s;top:220px;left:-70px;transform:rotate(60deg)}.surprise-hint{color:var(--card-accent);align-items:center;gap:6px;margin-top:17px;padding-top:10px;font-size:10px;display:flex}.surprise-hint .emblem{width:17px;height:17px}.greeting-card.has-photo .card-heading-wrap{padding-bottom:8px}.greeting-card.has-photo h2{letter-spacing:-1.5px;font-size:35px}.greeting-card.has-photo .card-badge{width:93px;height:93px;bottom:-18px;right:-19px}.greeting-card.has-photo .card-message{margin:16px 0;font-size:13px}.greeting-card.font-sans h2{font-family:var(--sans);letter-spacing:-2.4px;font-size:42px;font-weight:650}.greeting-card.font-hand h2{font-family:var(--hand);letter-spacing:-.5px;font-size:48px;font-weight:500;line-height:1.12}.greeting-card.font-hand h2 em{font-style:normal;font-weight:500}.greeting-card.font-hand .card-message{font-family:var(--hand);letter-spacing:0;font-size:21px;font-weight:500;line-height:1.4}.greeting-card.font-hand.has-photo h2{font-size:39px}.greeting-card.font-hand.has-photo .card-message{font-size:19px}.greeting-card.font-hand .card-signature strong{font-family:var(--hand);font-size:28px;font-style:normal}.greeting-card.font-hand .card-badge{width:106px;height:106px;bottom:-4px;right:-23px}.card-photo{width:100%;margin:22px 0 18px;position:relative}.slide-frames{height:var(--gallery-height,260px);isolation:isolate;width:100%;position:relative;overflow:visible}.photo-print{box-sizing:content-box;opacity:0;pointer-events:none;background:linear-gradient(145deg,#fffef9,#f7efe4);border:1px solid #ffffffbd;margin:0;padding:8px 8px 26px;transition:opacity 1.25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 20px -13px #64483b70,0 1px 3px #76574515}.photo-print.is-current{opacity:1;z-index:1}.photo-print:after{content:"";pointer-events:none;border:1px solid #70564413;position:absolute;inset:7px 7px 25px}.photo-print img{object-fit:contain;width:100%;height:auto;display:block;position:relative}.photo-print figcaption{color:#a28d7e;line-height:1;font-family:var(--serif);justify-content:flex-end;align-items:center;font-size:10px;font-style:italic;display:flex;position:absolute;bottom:8px;left:9px;right:9px}.photo-print figcaption>span:last-child{font-family:var(--sans);letter-spacing:1px;font-size:7px;font-style:normal}.slide-nav{white-space:nowrap;border:1px solid color-mix(in srgb, var(--card-ink) 10%, transparent);background:color-mix(in srgb, var(--card-bg) 60%, #fff9ed);z-index:2;border-radius:20px;align-items:center;gap:9px;width:fit-content;margin:12px auto 0;padding:2px 8px;display:flex;position:relative}.slide-nav button{color:var(--card-ink);background:0 0;border:0;place-items:center;width:28px;height:28px;padding:0;font-size:18px;display:grid}.slide-nav .slide-pause{border-left:1px solid #b69d952f;padding-left:4px;font-size:11px}.slide-count{color:var(--card-ink);opacity:.7;font-size:10px}.fountain-writing{position:relative}.ink-line{white-space:pre;line-height:inherit;min-height:1em;display:block}.ink-line-text{white-space:pre;clip-path:inset(-15% 100% -20% 0);margin-left:-4px;padding-left:4px;display:inline-block}.fountain-pen{pointer-events:none;z-index:8;--lift:0;--tilt:0;--leave:0;width:0;height:0;translate:calc(var(--leave) * 70px) calc(var(--leave) * 90px);opacity:calc(1 - var(--leave));position:absolute;top:0;left:0}.fountain-pen-art{aspect-ratio:188/185;transform-origin:1.11% 1.18%;width:188px;translate:-1.11% -1.18%;rotate:calc(var(--tilt) * 1deg);animation:.5s cubic-bezier(.2,.7,.2,1) both pen-arrive;position:absolute;top:0;left:0}.fountain-pen-art img{-webkit-user-select:none;user-select:none;width:100%;max-width:none;height:100%;position:absolute;inset:0}.fountain-pen-body{translate:calc(var(--lift) * -2px) calc(var(--lift) * -5px)}.fountain-pen-shadow{translate:calc(var(--lift) * 8px) calc(var(--lift) * 2px);opacity:calc(1 - var(--lift) * .35)}@keyframes pen-arrive{0%{opacity:0;translate:calc(60px - 1.11%) calc(80px - 1.18%)}}.effect-layer{pointer-events:none;z-index:10;contain:layout paint;--metal-gold:linear-gradient(115deg, #8f6a26 0%, #d4a94c 22%, #f7e6b0 40%, #fffbe8 50%, #e3bd62 62%, #a77d33 80%, #7a5a20 100%);--metal-champagne:linear-gradient(115deg, #9c8458 0%, #d8c39a 25%, #f6ead0 42%, #fffdf6 50%, #e6d4ad 62%, #b49a6a 100%);--metal-berry:linear-gradient(115deg, #3a0d19 0%, #6e2a3c 26%, #a9566b 42%, #f2c9d2 50%, #8d3d54 60%, #4a1726 100%);--metal-pearl:linear-gradient(115deg, #b9ad9c 0%, #e8dfd1 24%, #faf6ee 42%, #fff 50%, #ece3d4 62%, #c3b5a1 100%);position:absolute;inset:0;overflow:hidden}.particle{top:-30px;left:var(--x);opacity:0;will-change:transform;perspective:240px;animation:gentle-fall var(--duration) var(--delay) linear forwards;line-height:1;position:absolute}.particle>i{background:var(--metal);animation:foil-flip var(--flip) linear infinite, foil-shine var(--shine) ease-in-out infinite;background-size:260% 260%;display:block}.particle.foil>i{width:var(--w);height:var(--h);border-radius:1px;box-shadow:0 1px 2px #5a3c1440,0 0 8px #fff3c966}.particle.heart>i{width:var(--size);height:var(--size);background:var(--sprite) center / contain no-repeat;animation:heart-tilt var(--flip) ease-in-out infinite alternate, heart-glint var(--shine) ease-in-out infinite;filter:drop-shadow(0 3px 4px #3b1a2238)}.sparkle{left:var(--x);top:var(--y);width:var(--size);height:var(--size);opacity:0;pointer-events:none;filter:blur(.4px);animation:twinkle var(--duration) var(--delay) ease-in-out var(--repeat) both;background:radial-gradient(circle,#fffcf0fa 0%,#fae6b2cc 22%,#ecc78061 46%,#e2b86e1a 62%,#0000 72%);border-radius:50%;position:absolute}.no-motion .particle,.no-motion .sparkle{display:none}@media (prefers-reduced-motion:reduce){.effect-layer{display:none}}@keyframes foil-flip{0%{transform:rotate3d(var(--ax), var(--ay), .25, 0deg)}to{transform:rotate3d(var(--ax), var(--ay), .25, 360deg)}}@keyframes foil-shine{0%,to{filter:brightness(.92);background-position:0 40%}50%{filter:brightness(1.28);background-position:100% 60%}}@keyframes heart-tilt{0%{transform:rotateY(-34deg)rotate(-9deg)}to{transform:rotateY(34deg)rotate(9deg)}}@keyframes heart-glint{0%,to{filter:drop-shadow(0 3px 4px #3b1a2238)brightness()}50%{filter:drop-shadow(0 3px 4px #3b1a2238)brightness(1.18)}}@keyframes twinkle{0%,to{opacity:0;transform:scale(.3)}45%{opacity:.95;transform:scale(1)}60%{opacity:.8;transform:scale(.9)}}@keyframes badge-arrive{0%{opacity:0;translate:0 10px;scale:.9}to{opacity:1;translate:0;scale:1}}@keyframes leaf-light{to{opacity:.6;translate:16px 15px;rotate:12deg}}@keyframes gentle-fall{0%{opacity:0;transform:translateY(-30px)rotate(0)}9%{opacity:var(--opacity,.55)}38%{transform:translate3d(var(--sway), calc(var(--travel) * .38), 0) rotate(calc(var(--spin) * .4))}70%{opacity:var(--opacity,.55);transform:translate3d(calc(var(--sway) * -.4), calc(var(--travel) * .7), 0) rotate(calc(var(--spin) * .7))}to{transform:translate3d(var(--drift), var(--travel), 0) rotate(var(--spin));opacity:0}}@media (max-width:420px){.card-content{padding:22px}.greeting-card{min-height:455px}.greeting-card h2{letter-spacing:-2px;font-size:40px}.look-star h2{font-size:42px}.look-garden h2{font-size:39px}.card-badge{width:111px;height:111px;right:-25px}.greeting-card.font-sans h2{font-size:35px}.greeting-card.font-hand h2{font-size:40px}.greeting-card.font-hand.has-photo h2{font-size:36px}.greeting-card.font-hand .card-message{font-size:19px}.greeting-card.font-hand .card-badge{width:86px;height:86px;bottom:0}.fountain-pen-art{width:164px}}.signature-ink{aspect-ratio:3;width:min(160px,100%);height:auto;color:inherit;margin-top:2px;display:block;overflow:visible}.signature-ink path{fill:none;stroke:currentColor;stroke-width:8px;stroke-linecap:round;stroke-linejoin:round}.signature-ink.is-waiting path,.signature-ink.is-writing path{stroke-dasharray:1;stroke-dashoffset:1px}.signature-ink.is-writing path{animation:ink-draw var(--ink-time) cubic-bezier(.45, .05, .4, 1) var(--ink-delay) forwards}@keyframes ink-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.signature-ink path{stroke-dashoffset:0!important;animation:none!important}}
