@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Source+Sans+3:wght@300;400;500;600&display=swap";:root{color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background-color:#fffdfc;color:#382028}.dissolve-card{position:relative;height:100%}.dissolve-layer{position:absolute;inset:0;border-radius:0;background:var(--theme-secondary, #fff7f9);display:flex;align-items:center;justify-content:center;padding:12px;transition:opacity .7s ease,filter .7s ease,clip-path .7s ease}.dissolve-layer.back{background:var(--theme-secondary, #ffffff);flex-direction:column;background-color:var(--theme-secondary, #ffffff);background-image:linear-gradient(var(--theme-secondary, #ffffff),var(--theme-secondary, #ffffff));background-blend-mode:normal;opacity:0;filter:blur(6px);clip-path:inset(0 0 100% 0)}.dissolve-card.is-flipped .dissolve-layer.front{opacity:0;filter:blur(6px);clip-path:inset(100% 0 0 0)}.dissolve-card.is-flipped .dissolve-layer.back{opacity:1;filter:blur(0);clip-path:inset(0 0 0 0)}.card{background:var(--theme-secondary, #ffffff);border-radius:16px;padding:12px;height:100%;box-shadow:0 8px 20px #00000014}.card-inner{display:flex;flex-direction:column;gap:12px}.heart-loader{position:relative;width:150px;height:150px;display:flex;align-items:center;justify-content:center}.heart-loader svg{width:130px;height:130px}.heart-loader .heart-outline{color:#c94a5a59}.heart-loader .heart-fill{position:absolute;color:#c94a5a;clip-path:inset(100% 0 0 0);animation:heartFill 1.6s ease-in-out forwards}.heart-loader.is-manual .heart-fill{animation:none;clip-path:inset(calc(100% - var(--heart-progress, 0%)) 0 0 0)}.heart-loader.is-complete .heart-fill{animation:none;clip-path:inset(0 0 0 0)}.intro-screen.is-opening{animation:introFade .6s ease-in forwards}.open-button{opacity:0}.open-button.is-visible{animation:openIn .6s ease forwards}.open-button.is-fading{animation:openOut .35s ease forwards}.opening-overlay{position:fixed;inset:0;pointer-events:none;z-index:30}.heart-burst{position:absolute;inset:0;pointer-events:none;opacity:0}.heart-burst.is-active{opacity:1}.heart-burst__item{position:absolute;left:50%;bottom:18%;transform:translate(-50%) scale(var(--s, .8));color:#c94a5a;opacity:0;filter:drop-shadow(0 8px 14px rgba(201,74,90,.25));animation:heartBurst var(--t, .9s) ease-out var(--d, 0ms) forwards}.heart-float{position:absolute;inset:0;pointer-events:none;opacity:0}.heart-float.is-active{opacity:1}.heart-float__item{position:absolute;left:var(--left, 50%);bottom:6%;font-size:var(--size, 20px);color:#c94a5ab3;opacity:0;animation:heartFloat var(--t, 1.6s) ease-in-out var(--d, 0ms) forwards}.site-reveal{animation:siteReveal .9s ease-out both}.section-reveal{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s ease;will-change:opacity,transform}.section-reveal.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.section-reveal{opacity:1;transform:none;transition:none}}@keyframes heartFill{0%{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes heartBurst{0%{opacity:0;transform:translate(-50%) scale(var(--s, .8)) rotate(0)}15%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--x, 0px)),calc(var(--y, 220px) * -1)) scale(calc(var(--s, .8) * 1.15)) rotate(var(--r, 8deg))}}@keyframes siteReveal{0%{opacity:0;transform:translateY(48px);clip-path:inset(25% 0 0 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}@keyframes introFade{to{opacity:0;transform:translateY(-18px) scale(.98)}}@keyframes openIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes openOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}@keyframes heartFloat{0%{opacity:0;transform:translateY(0) scale(.9)}20%{opacity:1}to{opacity:0;transform:translateY(-220px) scale(1.2)}}@media(max-width:768px){.flip-card:hover .flip-inner{transform:none}}
