.bloom-orbit-garden{position:relative;isolation:isolate;min-height:100%;padding:35px 8px 25px;overflow:hidden;background:var(--bloom-bg)}.bloom-orbit-wash{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,var(--bloom-wash),transparent 62%),radial-gradient(ellipse at 10% 95%,var(--bloom-wash),transparent 50%);opacity:.8}.bloom-orbit-intro{text-align:center;position:relative;padding:0 15px}.bloom-orbit-intro .bloom-eyebrow{font-size:8px;margin-bottom:14px}.bloom-orbit-intro h1{font-size:clamp(30px,6vw,49px);line-height:1.13;margin:0 0 16px}.bloom-orbit-intro h1 em{color:var(--bloom-accent);font-weight:400}.bloom-orbit-intro>p:last-child{font-size:12px;line-height:1.9;color:var(--bloom-muted);margin:0}.bloom-orbit-stage{container-type:inline-size;width:min(100%,640px);margin:12px auto 5px}.bloom-orbit-world{--orbit-radius:36cqw;position:relative;width:100%;aspect-ratio:1;isolation:isolate}.bloom-orbit-track{position:absolute;inset:14%;border:1px dashed var(--bloom-soft);border-radius:50%;opacity:.55;pointer-events:none;transform:rotate(-15deg)}.bloom-orbit-track-inner{inset:23%;border-style:solid;opacity:.22;transform:rotate(15deg)}.bloom-orbit-center{position:absolute;left:28%;top:29%;width:44%;height:44%;padding:0;background:none;border:0;border-radius:50%;color:var(--bloom-accent);z-index:2}.bloom-orbit-bouquet-art{display:block;position:absolute;inset:0;transform-origin:50% 85%;animation:bloom-bouquet-dance 5s ease-in-out infinite alternate}.bloom-orbit-bouquet{position:absolute;width:128%;max-width:none;height:128%;object-fit:contain;left:-14%;top:-31%;transform:rotate(-12deg);pointer-events:none;filter:drop-shadow(0 5px 4px #493d3910)}.bloom-orbit-center-leaf{position:absolute;width:88%;height:88%;left:-30%;top:0;transform-origin:60% 94%;animation:bloom-orbit-leaf 4s ease-in-out infinite alternate;opacity:.82;pointer-events:none}.bloom-orbit-wrap{position:absolute;left:23%;top:37%;width:61%;height:65%;clip-path:polygon(0 0,100% 9%,66% 100%,39% 97%);background:linear-gradient(112deg,#eadac5 12%,#fff9ec 50%,#dac5a9 51%,#f7ebd9 70%);transform:rotate(-12deg);box-shadow:0 8px 16px #493d3920}.bloom-orbit-bow{position:absolute;left:42%;top:64%;width:27%;height:13%;background:var(--bloom-soft);clip-path:polygon(0 0,45% 28%,100% 0,95% 85%,52% 63%,22% 100%);transform:rotate(-13deg);animation:bloom-bow-flutter 3s ease-in-out infinite alternate}.bloom-orbit-bouquet-tag{position:absolute;left:37%;top:83%;font-family:var(--font-caveat),cursive;font-size:clamp(14px,5cqw,24px);line-height:1;transform:rotate(-11deg);white-space:nowrap}.bloom-orbit-ring{position:absolute;inset:0;pointer-events:none;animation:bloom-orbit-revolve 110s linear infinite;z-index:3}.bloom-orbit-anchor{position:absolute;left:50%;top:50%;width:0;height:0;transform:rotate(var(--angle)) translateX(var(--orbit-radius)) rotate(calc(-1 * var(--angle)))}.bloom-orbit-counterturn{width:0;height:0;animation:bloom-orbit-counter 110s linear infinite}.bloom-orbit-token{--token-size:clamp(64px,22cqw,110px);position:absolute;width:var(--token-size);height:calc(var(--token-size) + 26px);left:calc(var(--token-size) / -2);top:calc((var(--token-size) + 26px) / -2);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;border:0;border-radius:16px;background:none;color:var(--bloom-ink);pointer-events:auto;animation:bloom-token-bob 4s ease-in-out infinite alternate;animation-delay:calc(var(--item) * -.6s)}.bloom-orbit-token-art{display:grid;place-items:center;width:100%;height:var(--token-size);flex-shrink:0;transition:transform .2s}.bloom-orbit-token:active .bloom-orbit-token-art{transform:scale(.93)}.bloom-orbit-token .bloom-flower{width:90%;height:90%}.bloom-orbit-token-label{position:relative;max-width:100%;flex-shrink:0;line-height:1.35;font-size:clamp(10px,2.8cqw,12px);background:var(--bloom-paper);border:1px solid var(--bloom-line);box-shadow:0 3px 8px #493d3908;border-radius:12px;padding:4px 7px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bloom-orbit-discovered{position:absolute;top:6%;right:0;display:grid;place-items:center;border-radius:50%;width:19px;height:19px;font-size:12px;background:var(--bloom-paper);border:1px solid var(--bloom-line);color:var(--bloom-accent)}.bloom-orbit-envelope-art{position:relative;display:block;width:86%;height:58%;border:1px solid #d4bba855;border-radius:3px;box-shadow:0 7px 12px #493d391a;background:linear-gradient(145deg,transparent 49%,#dbc4b45c 50%,transparent 51%),linear-gradient(215deg,transparent 49%,#dbc4b45c 50%,transparent 51%),var(--bloom-paper);transform:rotate(-8deg)}.bloom-orbit-envelope-art>span{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 60%);background:linear-gradient(150deg,#fffdf8,#ead8c8);transform-origin:50% 0;animation:bloom-mini-flap 4s ease-in-out infinite alternate}.bloom-orbit-envelope-art>i{position:absolute;left:calc(50% - 10px);top:calc(50% - 10px);width:20px;height:20px;display:grid;place-items:center;background:var(--bloom-accent);color:#fff9eb;font-style:normal;border-radius:50%;font-size:13px;box-shadow:0 2px 3px #493d3920}.bloom-orbit-photo-art{display:block;background:var(--bloom-paper);padding:5px 5px 12px;width:68%;height:90%;border:1px solid var(--bloom-line);box-shadow:0 7px 12px #493d391a;transform:rotate(10deg)}.bloom-orbit-photo-art img,.bloom-orbit-photo-art svg{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.bloom-orbit-drifting{position:absolute;inset:16%;pointer-events:none}.bloom-orbit-drifting>span{position:absolute;left:calc(10% + var(--i)*15%);top:calc(15% + var(--i)*10%);width:8px;height:13px;background:var(--bloom-soft);border-radius:85% 15% 75% 25%;opacity:.45;animation:bloom-petal-drift 6s ease-in-out infinite;animation-delay:calc(var(--i) * -1s)}.bloom-orbit-burst{position:absolute;inset:0;pointer-events:none}.bloom-orbit-burst img{position:absolute;left:43%;top:40%;width:25px;height:25px;animation:bloom-orbit-burst .9s ease-out both;--direction:calc(var(--i)*51deg)}.bloom-orbit-caption{text-align:center;padding:10px 18px 0;position:relative}.bloom-orbit-caption .bloom-handwriting{font-size:clamp(22px,5vw,30px);margin:0 auto 10px;max-width:500px}.bloom-orbit-caption .bloom-small{margin:0;font-size:10px}.bloom-orbit-caption .bloom-text-button{font-size:10px!important;margin:5px 0 0}.bloom-orbit-garden[data-orbit-paused=true] .bloom-orbit-world *{animation-play-state:paused!important}.bloom-orbit-world:has(:focus-visible) .bloom-orbit-counterturn,.bloom-orbit-world:has(:focus-visible) .bloom-orbit-ring,.bloom-orbit-world:has(:focus-visible) .bloom-orbit-token{animation-play-state:paused}.bloom-orbit-dialog{position:fixed;inset:0;margin:auto;width:min(94vw,780px);max-width:calc(100% - 20px);height:min(92dvh,960px);max-height:calc(100dvh - 20px);padding:0;border:1px solid var(--bloom-line);border-radius:12px;overflow:hidden;background:var(--bloom-bg);color:var(--bloom-ink);box-shadow:0 24px 90px #35252c40;animation:bloom-orbit-dialog-in .4s ease-out both}.bloom-orbit-dialog[open]{display:flex;flex-direction:column}.bloom-orbit-dialog::backdrop{background:#44313b85;backdrop-filter:blur(5px)}.bloom-orbit-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;flex-shrink:0;border-bottom:1px solid var(--bloom-line);background:var(--bloom-paper)}.bloom-orbit-dialog-toolbar button{min-height:44px;font-size:11px;border:0;background:none;padding:8px 5px;color:var(--bloom-accent)}.bloom-orbit-dialog-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.bloom-orbit-dialog .bloom-reader{padding:18px 10px}.bloom-orbit-dialog .bloom-paper{box-shadow:none}.bloom-orbit-feeling-view,.bloom-orbit-photo-view{max-width:540px;margin:0 auto;padding:32px clamp(20px,5vw,45px);text-align:center;animation:bloom-paper-enter .45s ease-out both}.bloom-orbit-feeling-view h2,.bloom-orbit-photo-view h2{font-size:clamp(28px,5vw,40px);margin:0 0 25px}.bloom-orbit-photo-view .bloom-photo{max-width:320px;margin:0 auto 20px;transform:rotate(-2deg)}.bloom-orbit-photo-view .bloom-photo img{max-height:48dvh}.bloom-orbit-photo-view .bloom-photo figcaption{font-size:26px;line-height:1.45}.bloom-orbit-feeling-art{position:relative;isolation:isolate;width:180px;height:180px;margin:5px auto 25px}.bloom-orbit-feeling-art>.bloom-flower{position:absolute;inset:0;width:180px;height:180px;animation:bloom-feeling-unfurl .65s cubic-bezier(.2,.7,.3,1) both}.bloom-orbit-feeling-art>img{position:absolute;inset:20% 0 auto 8%;width:160px;height:160px;transform:rotate(30deg);z-index:-1;opacity:.65}.bloom-orbit-feeling-view .bloom-note-paper{text-align:left;padding:24px;font-size:16px;background:var(--bloom-paper)}.bloom-orbit-feeling-view .bloom-note-paper p{font-size:16px}.bloom-orbit-feeling-view>.bloom-handwriting{color:var(--bloom-accent);font-size:25px;margin-top:25px}@keyframes bloom-orbit-revolve{to{transform:rotate(1turn)}}@keyframes bloom-orbit-counter{to{transform:rotate(-1turn)}}@keyframes bloom-bouquet-dance{0%{transform:translateY(2px) rotate(-3deg)}to{transform:translateY(-6px) rotate(3deg)}}@keyframes bloom-orbit-leaf{0%{transform:rotate(-15deg)}to{transform:rotate(0)}}@keyframes bloom-bow-flutter{0%{transform:rotate(-17deg) scaleY(.95)}to{transform:rotate(-9deg) scaleY(1.05)}}@keyframes bloom-token-bob{0%{transform:translateY(-3px) rotate(-3deg)}to{transform:translateY(3px) rotate(3deg)}}@keyframes bloom-mini-flap{0%{transform:perspective(200px) rotateX(0)}to{transform:perspective(200px) rotateX(28deg)}}@keyframes bloom-petal-drift{0%,to{transform:translate(0) rotate(0);opacity:0}40%,70%{opacity:.5}90%{transform:translate(18px,-38px) rotate(130deg)}}@keyframes bloom-orbit-burst{0%{transform:rotate(var(--direction)) translateX(0) scale(.3);opacity:0}20%{opacity:.9}to{transform:rotate(var(--direction)) translateX(95px) rotate(50deg) scale(.8);opacity:0}}@keyframes bloom-orbit-dialog-in{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bloom-feeling-unfurl{0%{transform:scale(.6) rotate(-25deg)}to{transform:scale(1) rotate(0)}}@media(hover:hover){.bloom-orbit-world:hover .bloom-orbit-counterturn,.bloom-orbit-world:hover .bloom-orbit-ring{animation-play-state:paused}.bloom-orbit-token:hover .bloom-orbit-token-art{transform:scale(1.08)}}@media(min-width:768px){.bloom-orbit-garden{padding-top:42px}.bloom-orbit-stage{margin-top:0;margin-bottom:-8px;max-width:570px}.bloom-orbit-intro>p:last-child{font-size:13px}.bloom-orbit-intro h1{font-size:43px}.bloom-orbit-dialog .bloom-reader{padding:25px}}@media(max-width:359px){.bloom-orbit-intro h1{font-size:29px}.bloom-orbit-intro>p:last-child{font-size:11px}.bloom-orbit-intro .bloom-eyebrow{font-size:7px}.bloom-orbit-garden{padding-top:25px}.bloom-orbit-dialog-toolbar{padding:6px 8px}.bloom-orbit-dialog-toolbar button{font-size:10px}.bloom-orbit-dialog .bloom-paper{padding-left:18px;padding-right:18px}}@media(prefers-reduced-motion:reduce){.bloom-experience:not([data-motion=full]) .bloom-orbit-burst{display:none}}.bloom-experience[data-motion=reduced] .bloom-orbit-burst{display:none}.bloom-experience[data-paused=true] *{transition:none!important}.bloom-experience .bloom-orbit-intro h1:focus,.bloom-experience [data-orbit-title]:focus{outline:none}.bloom-experience .bloom-orbit-intro h1{font-size:clamp(30px,6vw,43px);line-height:1.13}.bloom-experience .bloom-orbit-dialog-toolbar button{font-size:11px}@media(min-width:1100px){.bloom-orbit-garden{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(400px,1.15fr);align-items:center;align-content:center;padding:30px max(35px,calc((100vw - 1240px)/2))}.bloom-orbit-intro{grid-column:1;grid-row:1;align-self:end;text-align:left;padding:0 25px}.bloom-experience .bloom-orbit-intro h1{font-size:clamp(38px,3.6vw,52px)}.bloom-orbit-stage{grid-column:2;grid-row:1/span 2;max-width:640px;margin:0}.bloom-orbit-caption{grid-column:1;grid-row:2;align-self:start;text-align:left;padding:25px 25px 0}.bloom-orbit-caption .bloom-handwriting{margin-left:0}}.bloom-experience{--bloom-bg:#f5efe8;--bloom-paper:#fffcf6;--bloom-ink:#493d39;--bloom-muted:#75635c;--bloom-accent:#8a4c59;--bloom-soft:#dcb5b6;--bloom-wash:#ecd0cb;--bloom-line:#dccac1;position:relative;isolation:isolate;display:flex;flex-direction:column;height:100dvh;min-height:0;width:100%;overflow:hidden;background:var(--bloom-bg);color:var(--bloom-ink);font-family:var(--font-inter),Arial,sans-serif;font-size:16px;line-height:1.65;color-scheme:light}.bloom-theme-lavender-haze{--bloom-bg:#f1edf3;--bloom-paper:#fffdfb;--bloom-ink:#453d50;--bloom-muted:#6c6078;--bloom-accent:#6d5281;--bloom-soft:#c5b4d5;--bloom-wash:#ded1e8;--bloom-line:#d6cbdc}.bloom-theme-daisy-morning{--bloom-bg:#f5f1e3;--bloom-paper:#fffef7;--bloom-ink:#454736;--bloom-muted:#696951;--bloom-accent:#657044;--bloom-soft:#cfca97;--bloom-wash:#eee2b7;--bloom-line:#d7d4b9}.bloom-experience *{box-sizing:border-box}.bloom-experience a,.bloom-experience button,.bloom-experience input{font:inherit}.bloom-experience a,.bloom-experience button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.bloom-experience button{cursor:pointer}.bloom-experience button:disabled{cursor:default;opacity:.62}.bloom-experience :focus-visible{outline:2px solid var(--bloom-accent);outline-offset:5px}.bloom-experience h1,.bloom-experience h2{font-family:var(--font-playfair),Georgia,serif;font-weight:400;line-height:1.2;overflow-wrap:anywhere}.bloom-experience p{overflow-wrap:anywhere}.bloom-experience h1{font-size:clamp(2rem,6vw,3.8rem);letter-spacing:-.04em}.bloom-experience h2{font-size:clamp(1.8rem,4vw,2.6rem);letter-spacing:-.025em}.bloom-toolbar{z-index:10;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;padding:12px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--bloom-line);background:var(--bloom-bg)}.bloom-brand{font-family:var(--font-playfair),Georgia,serif;font-size:19px;line-height:1.1;letter-spacing:-.03em}.bloom-brand>span{display:block;font-family:var(--font-inter),sans-serif;font-size:7px;letter-spacing:.18em;line-height:2.4}.bloom-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bloom-tools button{min-height:44px;padding:8px;font-size:11px;color:var(--bloom-muted);border:1px solid transparent;border-radius:30px;background:transparent}.bloom-tools button:hover{border-color:var(--bloom-line)}.bloom-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--bloom-line) transparent}.bloom-cover{position:relative;display:grid;place-items:center;min-height:100%;overflow:hidden;padding:48px 22px 32px}.bloom-cover-content{position:relative;z-index:2;max-width:510px;width:100%;text-align:center}.bloom-eyebrow{font-size:9px;font-weight:500;letter-spacing:.22em;line-height:1.8;color:var(--bloom-muted);margin:0 0 18px}.bloom-cover h1{max-width:470px;margin:0 auto 18px}.bloom-cover-intro{max-width:320px;margin:0 auto;font-size:13px;line-height:1.9;color:var(--bloom-muted)}.bloom-wash{position:absolute;pointer-events:none;inset:0;background:radial-gradient(ellipse at 12% 68%,var(--bloom-wash),transparent 55%),radial-gradient(ellipse at 95% 15%,var(--bloom-wash),transparent 42%);opacity:.65}.bloom-bouquet,.bloom-leaf{position:absolute;pointer-events:none;user-select:none;height:auto;z-index:1}.bloom-bouquet{width:clamp(220px,40vw,560px)}.bloom-bouquet-left{bottom:-85px;left:-140px;transform:rotate(16deg)}.bloom-bouquet-right{top:-70px;right:-170px;transform:rotate(191deg)}.bloom-leaf{width:clamp(170px,24vw,340px);transform-origin:50% 90%;opacity:.85}.bloom-leaf-left{bottom:5%;left:-105px;--lean:28deg;animation:bloom-sway 5.5s ease-in-out infinite alternate}.bloom-leaf-right{top:12%;right:-115px;--lean:-145deg;animation:bloom-sway 6s ease-in-out -2s infinite alternate}.bloom-envelope{position:relative;width:min(290px,94%);height:174px;perspective:900px;margin:42px auto 30px;transform:rotate(-3deg);animation:bloom-settle .8s ease-out both}.bloom-envelope-back,.bloom-envelope-front,.bloom-flap{position:absolute;inset:0;border-radius:3px;background:var(--bloom-paper);box-shadow:0 13px 32px -15px #6c4e4360}.bloom-envelope-back{background:#e5d9ce}.bloom-envelope-front{z-index:4;clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);background:linear-gradient(148deg,transparent 49.6%,#cab9aa40 50%,transparent 50.6%),linear-gradient(212deg,transparent 49.6%,#cab9aa40 50%,transparent 50.6%),linear-gradient(5deg,#f1e8df,var(--bloom-paper))}.bloom-flap{z-index:5;clip-path:polygon(0 0,100% 0,50% 61%);background:linear-gradient(160deg,var(--bloom-paper),#e9dacf);transform-origin:50% 0;backface-visibility:visible}.bloom-sheet{inset:12px 13px 8px;border:1px solid var(--bloom-line);z-index:2}.bloom-sheet,.bloom-sheet>span{position:absolute;background:var(--bloom-paper)}.bloom-sheet>span{inset:0;transform-origin:50% 50%;border-top:1px solid #dccac14a}.bloom-sheet>span:first-child{inset:0 0 50%;transform-origin:50% 100%}.bloom-sheet>span:last-child{inset:50% 0 0;transform-origin:50% 0}.bloom-ribbon{position:absolute;top:52%;width:51%;height:20px;background:linear-gradient(0deg,var(--bloom-soft),#ffffff50 35%,var(--bloom-soft));box-shadow:0 2px 2px #493d3910;z-index:6;transform-origin:100% 50%}.bloom-ribbon-left{left:0;animation:bloom-ribbon-breathe 4.5s ease-in-out infinite alternate}.bloom-ribbon-right{right:0;transform-origin:0 50%;animation:bloom-ribbon-breathe 4.5s ease-in-out -2s infinite alternate}.bloom-seal{position:absolute;left:calc(50% - 27px);top:calc(52% - 17px);width:54px;height:54px;border-radius:47% 53% 50% 46%;z-index:7;display:grid;place-items:center;background:radial-gradient(circle at 32% 24%,#ffffff38,transparent 70%),var(--bloom-accent);color:#f6e0ce;box-shadow:inset 0 0 0 3px #ffffff24,inset 0 0 0 5px #593d3924,1px 5px 8px #493d392d}.bloom-seal svg{width:34px;height:34px}.bloom-envelope-name{position:absolute;bottom:14px;left:18px;right:18px;z-index:6;font-family:var(--font-caveat),cursive;font-size:21px;line-height:1.1;overflow-wrap:anywhere;max-height:47px;overflow:hidden;color:var(--bloom-muted)}.bloom-pin-form{max-width:320px;margin:auto}.bloom-pin-form>label{font-family:var(--font-playfair),Georgia,serif;font-size:17px}.bloom-pin-row{display:flex;gap:8px;margin:14px 0 8px}.bloom-pin-row input{min-width:0;width:100%;height:52px;border:1px solid var(--bloom-line);border-radius:4px;background:#fffaf470;color:var(--bloom-ink);font-size:23px;letter-spacing:.4em;text-align:center;padding:8px 10px 8px 18px}.bloom-pin-row button{padding:8px;font-size:11px;min-width:55px;border:0;background:transparent;color:var(--bloom-accent)}.bloom-small{display:block;font-size:11px;line-height:1.7;color:var(--bloom-muted)}.bloom-pin-form>.bloom-small{margin:8px 0 18px}.bloom-primary{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:50px;padding:13px 24px;border-radius:3px;border:1px solid var(--bloom-accent);background:var(--bloom-accent);color:#fffaf4;font-size:13px!important;line-height:1.5!important;transition:transform .18s,box-shadow .18s;max-width:100%;overflow-wrap:anywhere}.bloom-primary:active:not(:disabled){transform:translateY(2px)}.bloom-primary:hover:not(:disabled){box-shadow:0 4px 14px #493d3925}.bloom-pin-form>.bloom-primary{width:100%}.bloom-error{font-size:12px;color:#90353b;margin:10px 0}.bloom-from{font-size:10px;color:var(--bloom-muted);margin:24px auto 0;max-width:300px}.bloom-from strong{font-weight:500}.bloom-opening-status{min-height:174px;font-size:13px;padding:20px 0}.bloom-text-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:var(--bloom-accent);text-decoration:underline;text-underline-offset:5px;background:none;border:0;font-size:12px!important;padding:10px 5px}.bloom-experience[data-phase=opening] .bloom-seal{animation:bloom-unseal .4s ease-in both}.bloom-experience[data-phase=opening] .bloom-ribbon-left{animation:bloom-untie-left .55s ease-in .12s both}.bloom-experience[data-phase=opening] .bloom-ribbon-right{animation:bloom-untie-right .55s ease-in .12s both}.bloom-experience[data-phase=opening] .bloom-flap{animation:bloom-unfold .65s ease-in-out .22s both}.bloom-experience[data-phase=opening] .bloom-sheet{animation:bloom-lift .7s ease-in-out .62s both}.bloom-experience[data-phase=opening] .bloom-sheet>span:first-child{animation:bloom-fold-top .45s ease-out .82s both}.bloom-experience[data-phase=opening] .bloom-sheet>span:last-child{animation:bloom-fold-bottom .45s ease-out .95s both}.bloom-reader{padding:34px 16px 22px;min-height:100%;background:radial-gradient(ellipse at 0 0,var(--bloom-wash),transparent 65%)}.bloom-paper{position:relative;max-width:740px;margin:0 auto;padding:65px clamp(24px,6vw,80px) 20px;background:var(--bloom-paper);border:1px solid #c9b4a638;box-shadow:0 15px 45px -30px #493d3966,2px 2px 0 0 var(--bloom-paper),3px 3px 0 0 var(--bloom-line);animation:bloom-paper-enter .65s ease-out both;overflow:hidden}.bloom-paper:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Cpath d='M2 3h1m20 17h1m35 21h1M9 65h1m55-56h1m9 62h1' stroke='%23968171' stroke-opacity='.7'/%3E%3C/svg%3E")}.bloom-paper-floral{position:absolute;width:210px;right:-100px;top:-75px;transform:rotate(160deg);pointer-events:none;opacity:.55}.bloom-letter-heading{text-align:center;position:relative;margin-bottom:40px}.bloom-letter-heading h1{font-size:clamp(2rem,5vw,3rem);margin:20px 0}.bloom-letter-heading .bloom-eyebrow{font-size:8px}.bloom-ornament{font-size:32px;color:var(--bloom-accent)}.bloom-letter-text{position:relative;font-size:16px;line-height:2.05}.bloom-letter-text p{white-space:pre-wrap;margin:0 0 26px}.bloom-letter-text .bloom-greeting{font-family:var(--font-playfair),Georgia,serif;font-size:22px;line-height:1.6}.bloom-signoff{margin:36px 0}.bloom-signoff p{margin-bottom:8px}.bloom-handwriting,.bloom-signature{font-family:var(--font-caveat),cursive;font-size:28px;line-height:1.3}.bloom-signature{font-size:36px!important;color:var(--bloom-accent)}.bloom-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));align-items:start;gap:24px;margin:45px 0}.bloom-photo{padding:10px 10px 14px;background:#fffdf8;border:1px solid var(--bloom-line);box-shadow:0 8px 14px -10px #493d3950;transition:transform .25s;min-width:0;margin:0}.bloom-photo:nth-child(2){transform:rotate(2deg)}.bloom-photo[data-open=true]{transform:translateY(-4px) rotate(-1deg)}.bloom-photo-button{padding:0;border:0;background:none;width:100%;color:var(--bloom-muted)}.bloom-photo-button img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.bloom-photo .bloom-small{margin:12px 0 0}.bloom-photo figcaption{font-size:24px;margin:14px 4px 0;overflow-wrap:anywhere;white-space:pre-wrap}.bloom-photo-fallback{display:grid;place-items:center;min-height:180px;padding:24px;text-align:center;background:var(--bloom-bg);font-size:12px;width:100%;border:0;color:var(--bloom-muted)}.bloom-flower-section{scroll-margin:25px}.bloom-flower-section:has(.bloom-note){border-top:1px solid var(--bloom-line);padding:40px 0 20px;margin-top:30px}.bloom-flower-section>.bloom-eyebrow{font-size:8px;margin-bottom:15px}.bloom-flower-section h2{margin:0 0 15px}.bloom-section-intro{font-size:12px;color:var(--bloom-muted);margin:0 0 20px}.bloom-note{margin:15px 0;border-bottom:1px solid var(--bloom-line);padding-bottom:12px}.bloom-note-trigger{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:none;color:var(--bloom-ink);padding:8px 0}.bloom-note-trigger>span:last-child{flex:1;min-width:0;overflow-wrap:anywhere}.bloom-note-trigger .bloom-handwriting{display:block;font-size:27px;margin-bottom:6px}.bloom-flower{display:block;width:90px;height:90px;position:relative;flex-shrink:0}.bloom-flower-center,.bloom-petal{position:absolute;width:100%;height:100%;inset:0;pointer-events:none}.bloom-petal{transform:rotate(var(--petal-angle)) translateY(9px) rotate(calc(-1 * var(--petal-angle))) scale(.7);transition:transform .5s cubic-bezier(.2,.65,.2,1);transition-delay:calc(var(--petal) * 18ms);transform-origin:50% 50%}.bloom-flower[data-open=true] .bloom-petal{transform:rotate(var(--petal-angle)) translateY(0) rotate(calc(-1 * var(--petal-angle))) scale(1)}.bloom-flower-center{clip-path:circle(16% at 50% 50%)}.bloom-note-paper{padding:18px 20px;background:var(--bloom-bg);border-left:2px solid var(--bloom-soft);transform-origin:50% 0;animation:bloom-note-open .45s ease-out both}.bloom-note-paper p{font-size:14px;line-height:1.9;white-space:pre-wrap;margin:0}.bloom-ending{text-align:center;position:relative;margin-top:35px;padding:20px 0 15px}.bloom-ending h2{margin:0 0 20px}.bloom-ending>p:not(.bloom-eyebrow){font-size:13px;line-height:1.9;margin:15px 0 25px;white-space:pre-wrap}.bloom-ending>.bloom-small{font-size:10px!important;margin-bottom:8px!important}.bloom-ending-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.bloom-bookmark{position:relative;width:130px;height:150px;margin:0 auto 20px;pointer-events:none}.bloom-bookmark>span{left:calc(50% - 15px);top:30px;width:30px;height:100px;background:var(--bloom-soft);clip-path:polygon(0 0,100% 0,100% 100%,50% 85%,0 100%);transform:scaleY(0);transform-origin:50% 0}.bloom-bookmark img,.bloom-bookmark>span{position:absolute;transition:transform .65s}.bloom-bookmark img{inset:0;width:130px;height:130px}.bloom-ending[data-saved=true] .bloom-bookmark>span{transform:scaleY(1)}.bloom-ending[data-saved=true] .bloom-bookmark img{transform:translateY(-24px) rotate(14deg) scale(.7)}.bloom-reader-footer{text-align:center;font-size:10px;color:var(--bloom-muted);padding:20px 10px 4px;max-width:600px;margin:auto}.bloom-music{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 12px;padding:6px 16px max(6px,env(safe-area-inset-bottom));background:var(--bloom-bg);border-top:1px solid var(--bloom-line);z-index:10}.bloom-music button{display:inline-flex;align-items:center;gap:8px;border:0;background:none;min-height:44px;color:var(--bloom-accent);font-size:12px}.bloom-music .bloom-small{font-size:10px;margin-bottom:5px}.bloom-preview-notice{text-align:center;font-size:10px;line-height:1.5;color:var(--bloom-muted);margin:0 0 18px}.bloom-demo{height:100dvh;display:flex;flex-direction:column}.bloom-demo>.bloom-experience{flex:1;height:auto}.bloom-demo-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#493d39;color:#fff8ed;font-size:11px;padding:4px 16px;flex-shrink:0}.bloom-demo-bar a{display:flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}.bloom-preview-dialog{width:min(100%,760px);height:94dvh;max-height:94dvh;padding:0;border:0;border-radius:12px;overflow:hidden;margin:auto}.bloom-preview-dialog[open]{display:flex;flex-direction:column}.bloom-preview-dialog::backdrop{background:#231923b3}.bloom-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;border-bottom:1px solid #dccac1;flex-shrink:0}.bloom-preview-body{flex:1;min-height:0}.bloom-preview-body>.bloom-experience{height:100%}@keyframes bloom-sway{0%{transform:rotate(calc(var(--lean) - 3deg))}to{transform:rotate(calc(var(--lean) + 3deg))}}@keyframes bloom-ribbon-breathe{0%{transform:rotate(-1deg) translateY(0)}to{transform:rotate(1deg) translateY(-2px)}}@keyframes bloom-settle{0%{opacity:0;transform:translateY(15px) rotate(-6deg)}to{opacity:1;transform:translateY(0) rotate(-3deg)}}@keyframes bloom-unseal{to{transform:translateY(-25px) rotate(-18deg) scale(.88);opacity:0}}@keyframes bloom-untie-left{to{transform:translateX(-60px) rotate(15deg);opacity:0}}@keyframes bloom-untie-right{to{transform:translateX(60px) rotate(-15deg);opacity:0}}@keyframes bloom-unfold{0%{transform:rotateX(0);z-index:5}60%{z-index:5}to{transform:rotateX(178deg);z-index:1}}@keyframes bloom-lift{to{transform:translateY(-75px);box-shadow:0 8px 15px #493d3920}}@keyframes bloom-fold-top{0%{transform:rotateX(80deg)}to{transform:rotateX(0)}}@keyframes bloom-fold-bottom{0%{transform:rotateX(-80deg)}to{transform:rotateX(0)}}@keyframes bloom-paper-enter{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes bloom-note-open{0%{opacity:0;transform:perspective(600px) rotateX(-20deg)}to{opacity:1;transform:perspective(600px) rotateX(0)}}.bloom-experience[data-paused=true] *{animation-play-state:paused!important}.bloom-experience[data-motion=reduced] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.bloom-experience[data-motion=reduced] .bloom-leaf{transform:rotate(var(--lean))}@media(prefers-reduced-motion:reduce){.bloom-experience:not([data-motion=full]) *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(min-width:768px){.bloom-toolbar{padding:16px 32px}.bloom-cover{padding:65px 40px 45px}.bloom-bouquet-left{left:-90px;bottom:-85px}.bloom-bouquet-right{right:-90px;top:-80px}.bloom-leaf-left{left:-70px}.bloom-leaf-right{right:-80px}.bloom-reader{padding:50px 40px 25px}.bloom-cover-content h1{font-size:52px}.bloom-letter-text{font-size:16px}.bloom-paper{padding-top:78px}.bloom-paper-floral{width:290px;right:-110px;top:-100px}.bloom-tools button{font-size:12px}}@media(max-width:359px){.bloom-toolbar{padding:8px 12px}.bloom-brand{font-size:16px}.bloom-tools{gap:0}.bloom-tools button{font-size:10px;padding:6px}.bloom-cover{padding:32px 20px 28px}.bloom-cover h1{font-size:32px}.bloom-cover .bloom-eyebrow{font-size:8px}.bloom-envelope{margin:30px auto 26px;height:160px}.bloom-reader{padding:20px 10px}.bloom-paper{padding:50px 22px 18px}.bloom-flower{width:65px;height:65px}.bloom-note-trigger .bloom-handwriting{font-size:24px}}.bloom-recipient{font-family:var(--font-caveat),cursive;font-size:23px;line-height:1.4;margin:-8px 0 22px;overflow-wrap:anywhere}.bloom-bookmark{transition:transform .65s}.bloom-ending[data-saved=true] .bloom-bookmark{transform:translateX(min(70px,12vw))}.bloom-demo-pin{margin:10px auto 4px;max-width:290px;padding:8px 12px;border:1px solid var(--bloom-line);border-radius:4px;background:var(--bloom-paper);color:var(--bloom-accent);font-size:12px;line-height:1.5}.bloom-demo-pin strong{font-size:18px;letter-spacing:.14em;white-space:nowrap}