@font-face{font-family:Cormorant;src:url(/fonts/cormorant.ttf)format("truetype");font-style:normal;font-weight:300 700;font-display:swap}:root{color:#754356;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff5f3;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit}button:focus-visible{outline-offset:6px;outline:2px solid #a44567}[hidden]{display:none!important}.experience{background:radial-gradient(at 50% 39%,#fffaf4 0%,#fff4f1 47%,#f9dce5 100%);width:100%;height:100svh;min-height:320px;position:relative;overflow:hidden}#scene{opacity:0;transition:opacity 1.2s;position:absolute;inset:0}body.ready #scene{opacity:1}#scene canvas{width:100%;height:100%;display:block}.ambient{pointer-events:none;filter:blur(70px);opacity:.4;border-radius:50%;position:absolute}.ambient-left{background:#efb6d0;width:36vw;height:54vh;top:8%;left:-20%}.ambient-right{background:#edb4c0;width:36vw;height:50vh;bottom:0;right:-20%}.grain{pointer-events:none;z-index:3;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E");position:absolute;inset:0}.dedication{z-index:4;white-space:nowrap;letter-spacing:2px;color:#754356;align-items:center;gap:14px;font-size:14px;font-weight:600;display:flex;position:absolute;top:5.5%;left:50%;transform:translate(-50%)}.dedication i{background:#d9acb7;width:1px;height:19px}.tiny-flower{color:#bb7c8b;font-size:28px;font-weight:400;line-height:1}.caption{text-align:center;pointer-events:none;opacity:0;width:100%;padding:0 20px;transition:opacity .8s,transform .8s;position:absolute;bottom:9.2%;left:0;transform:translateY(8px)}body.ready .caption{opacity:1;transform:none}.meaning{letter-spacing:2.6px;color:#805064;margin:0 0 10px;font-size:13px;font-weight:600}.caption-title{color:#754356;margin:0;font-family:Cormorant,Georgia,serif;font-size:clamp(30px,3vw,40px);font-style:italic;font-weight:500;line-height:1.25}.sequence-details{white-space:nowrap;color:#805064;letter-spacing:1.4px;opacity:0;justify-content:center;align-items:center;gap:22px;font-size:12px;transition:opacity .8s;display:flex;position:absolute;bottom:3.5%;left:50%;transform:translate(-50%)}body.ready .sequence-details{opacity:1}.progress-track{background:#e9cbd2;width:100px;height:1px;overflow:hidden}#progress{transform-origin:0;background:#b16e86;height:100%;transform:scaleX(0)}.signature{letter-spacing:.5px;font-family:Cormorant,Georgia,serif;font-size:20px;font-style:italic}.signature span{margin-left:7px;font-size:22px;display:inline-block}.loading{z-index:6;background:#fff4f1;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading p{color:#9e6a7b;margin-top:36px;font-family:Cormorant,Georgia,serif;font-size:23px;font-style:italic}.loading-flower{width:36px;height:36px;animation:8s linear infinite spin;position:relative}.loading-flower span{transform-origin:50% 75%;background:#e6a3b6b0;border-radius:50%;width:15px;height:25px;position:absolute;top:0;left:11px}.loading-flower span:nth-child(2){transform:rotate(72deg)}.loading-flower span:nth-child(3){transform:rotate(144deg)}.loading-flower span:nth-child(4){transform:rotate(216deg)}.loading-flower span:nth-child(5){transform:rotate(288deg)}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fallback{z-index:7;text-align:center;background:radial-gradient(#fffaf4,#f8dce5);flex-direction:column;justify-content:center;align-items:center;padding:25px;display:flex;position:absolute;inset:0}.fallback-flower{color:#be6a87;margin-bottom:25px;font-size:90px}.fallback h2{margin:12px 0 20px;font-family:Cormorant,Georgia,serif;font-size:clamp(30px,5vw,58px);font-weight:400;line-height:1.2}.fallback h2 span{font-size:.8em}.fallback>p:not(.meaning){font-family:Cormorant,Georgia,serif;font-size:20px;line-height:1.5}.fallback .fallback-note{color:#a87b8c;margin-top:26px;line-height:1.6;font-family:Arial,sans-serif!important;font-size:11px!important}body[data-phase=fallback] .caption,body[data-phase=fallback] .sequence-details{display:none}@media (width<=640px){.dedication{letter-spacing:1.3px;gap:10px;font-size:12px;top:5%}.tiny-flower{font-size:25px}.caption{padding:0 22px;bottom:12%}.caption-title{font-size:32px}.meaning{letter-spacing:1.8px;font-size:12px}.sequence-details{flex-wrap:wrap;gap:12px;width:340px;max-width:90%;font-size:11px;bottom:4%}.progress-track{width:70px}.signature{text-align:center;flex-basis:100%;font-size:19px}.ambient-left,.ambient-right{width:70vw}}@media (height<=550px) and (width>=641px){.dedication{top:4%}.caption{bottom:8%}.caption-title{font-size:28px}.meaning{margin-bottom:5px}.sequence-details{bottom:2.7%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=640px){body[data-phase=final] .caption{bottom:15%}body[data-phase=final] .sequence-details{bottom:2.8%}body[data-phase=final] #count,body[data-phase=final] .progress-track{display:none}}.dedication{width:max-content;max-width:calc(100% - 40px)}.dedication>:not(.dedication-text){flex-shrink:0}.dedication-text{white-space:normal;overflow-wrap:anywhere;min-width:0;line-height:1.6}.sequence-details{width:max-content;max-width:calc(100% - 40px)}.signature{white-space:normal;overflow-wrap:anywhere}.signature #signature{font-size:inherit;margin-left:0}@media (width<=640px){.sequence-details{width:340px;max-width:90%}}
