:root{--bg-base: #180005;--rose-glow: rgba(109, 32, 47, .4);--text-main: #e8d5d5;--text-muted: #bda1a1;--text-faint: #8a6565;--text-halo: 0 0 15px rgba(15, 0, 5, .95), 0 2px 4px rgba(15, 0, 5, .8), 0 0 2px rgba(15, 0, 5, .5)}html,body{margin:0;padding:0;height:100%;overflow:hidden;background-color:var(--bg-base);color:var(--text-main);font-family:Jost,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.noise[data-astro-cid-j7pv25f6]{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}.vignette[data-astro-cid-j7pv25f6]{position:fixed;inset:0;pointer-events:none;z-index:40;background:radial-gradient(circle at center,transparent 30%,rgba(15,8,8,.85) 100%)}.ambient-glow[data-astro-cid-j7pv25f6]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:100vw;height:100vh;background:radial-gradient(ellipse at center,var(--rose-glow) 0%,rgba(102,38,38,.15) 40%,transparent 70%);filter:blur(90px);z-index:-1;animation:breathe 8s ease-in-out infinite alternate}.hero-rose[data-astro-cid-j7pv25f6]{position:fixed;top:50%;transform:translateY(-50%);z-index:0;pointer-events:none;object-fit:contain;filter:drop-shadow(0 20px 30px rgba(0,0,0,.6))}@media(min-width:768px){.hero-rose[data-astro-cid-j7pv25f6]{right:10vw;height:85vh;opacity:.85}.stage[data-astro-cid-j7pv25f6]{padding-right:30vw}}@media(max-width:767px){.hero-rose[data-astro-cid-j7pv25f6]{left:50%;transform:translate(-50%,-50%);height:90vh;opacity:.25}}.stage[data-astro-cid-j7pv25f6]{position:relative;width:100vw;height:100vh;overflow:hidden;z-index:10;box-sizing:border-box}.scroll-indicator[data-astro-cid-j7pv25f6]{position:fixed;bottom:5vh;left:50%;transform:translate(-50%);z-index:60;opacity:0;transition:opacity 1s ease-in-out;pointer-events:none}.can-scroll[data-astro-cid-j7pv25f6] .scroll-indicator[data-astro-cid-j7pv25f6]{opacity:.7}.dried-petal[data-astro-cid-j7pv25f6]{width:200px;height:auto;object-fit:contain;filter:blur(1px) drop-shadow(0 0 8px rgba(166,124,124,.3));animation:petalDrift 4s cubic-bezier(.37,0,.63,1) infinite;transform-origin:center top}.frame[data-astro-cid-j7pv25f6]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;pointer-events:none;opacity:0;transform:translateY(15vh) scale(.9);filter:blur(16px);transition:opacity 1.6s cubic-bezier(.19,1,.22,1),transform 1.6s cubic-bezier(.19,1,.22,1),filter 1.6s cubic-bezier(.19,1,.22,1)}.frame[data-astro-cid-j7pv25f6].active{opacity:1;transform:translateY(0) scale(1);filter:blur(0);pointer-events:auto}.frame[data-astro-cid-j7pv25f6].exited{opacity:0;transform:translateY(-15vh) scale(.9);filter:blur(16px)}.font-display[data-astro-cid-j7pv25f6]{font-family:Playfair Display,serif}.italic[data-astro-cid-j7pv25f6]{font-style:italic}.quote[data-astro-cid-j7pv25f6]{font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.15;letter-spacing:-.01em;font-weight:400;color:var(--text-main);margin:0;text-shadow:var(--text-halo)}.quote-sub[data-astro-cid-j7pv25f6]{font-size:clamp(1.4rem,3.5vw,2.8rem);line-height:1.2;font-weight:400;color:var(--text-muted);margin:0;text-shadow:var(--text-halo)}.greeting[data-astro-cid-j7pv25f6]{font-size:clamp(.75rem,1.5vw,1rem);letter-spacing:.5em;text-transform:uppercase;font-weight:300;color:var(--text-muted);margin:0 0 3rem;text-shadow:var(--text-halo)}.joke[data-astro-cid-j7pv25f6]{font-size:clamp(.7rem,1.2vw,.85rem);letter-spacing:.15em;font-weight:200;color:var(--text-faint);margin:0;text-shadow:var(--text-halo)}@keyframes breathe{0%{transform:translate(-50%,-50%) scale(1);opacity:.8}to{transform:translate(-50%,-50%) scale(1.05);opacity:1}}@keyframes petalDrift{0%{transform:translateY(-20px) translate(-5px) rotate(-15deg);opacity:0}20%{opacity:1}50%{transform:translateY(10px) translate(5px) rotate(10deg)}80%{opacity:1}to{transform:translateY(40px) translate(-5px) rotate(-5deg);opacity:0}}
