/* A small on-page invitation follows the visitor; no system notifications. */
.rose-share-float{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:30;max-width:calc(100vw - 32px);isolation:isolate}
.rose-share-float[hidden]{display:none}
.rose-share-float-link{font-family:Plex,Arial,sans-serif;text-decoration:none;display:flex;align-items:center;gap:5px;padding:10px 8px 0 0;color:#9c3157;border-radius:12px}
.rose-share-float-link>img{width:88px;height:132px;object-fit:contain;filter:drop-shadow(0 8px 12px #9c31572b);animation:rose-share-float-motion 4.8s ease-in-out infinite;flex-shrink:0;transform-origin:center}
.rose-share-float-bubble{position:relative;display:block;min-width:173px;background:#fff8fbe8;border:1px solid #edc5d7;border-radius:12px;padding:15px 23px 13px 17px;box-shadow:0 8px 28px #71334816;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:transform .2s,border-color .2s}
.rose-share-float-bubble:after{content:'';position:absolute;right:-6px;top:44%;width:10px;height:10px;background:#fff8fb;border-top:1px solid #edc5d7;border-right:1px solid #edc5d7;transform:rotate(45deg)}
.rose-share-float-bubble strong{display:block;font-size:15px;font-weight:500;line-height:1.3;letter-spacing:-.015em}
.rose-share-float-bubble small{display:block;color:#806071;font-size:11px;margin-top:6px;line-height:1.4}
.rose-share-float-dot{position:absolute;top:10px;right:10px;width:6px;height:6px;background:#d6336c;border-radius:50%;box-shadow:0 0 0 3px #fbe0eb}
.rose-share-float-link:hover .rose-share-float-bubble{transform:translateY(-3px);border-color:#d592ae}
.rose-share-float-link:focus-visible{outline:3px solid #00809c;outline-offset:4px}
body:has(dialog[open]) .rose-share-float,body:has(.navigation.open) .rose-share-float{visibility:hidden}
@keyframes rose-share-float-motion{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@media(max-width:720px){.rose-share-float{right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom))}.rose-share-float-link{gap:0;padding-right:7px}.rose-share-float-link>img{width:65px;height:98px}.rose-share-float-bubble{min-width:145px;padding:12px 20px 11px 13px}.rose-share-float-bubble strong{font-size:13px}.rose-share-float-bubble small{font-size:10px;margin-top:4px}.rose-share-float.is-typing{visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.rose-share-float-link>img{animation:none;transform:none}.rose-share-float-bubble{transition:none}}

/* Campaign opening invitation, shared by the public website. */
body.rose-welcome-open{overflow:hidden}
.rose-welcome{width:min(960px,calc(100vw - 40px));max-width:960px;max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid #f1c8d8;border-radius:20px;background:#fff9f7;color:#432636;box-shadow:0 32px 130px #310d244d;overflow:auto;overscroll-behavior:contain;font-family:Plex,Arial,sans-serif}
.rose-welcome:not([open]){display:none}
.rose-welcome[open]{animation:rose-welcome-enter .5s cubic-bezier(.2,.8,.2,1) both}
.rose-welcome::backdrop{background:#210f23b8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.rose-welcome-layout{display:grid;grid-template-columns:.9fr 1.1fr;min-height:570px}
.rose-welcome-art{position:relative;isolation:isolate;min-height:100%;overflow:hidden;background:#f2d7de}
.rose-welcome-flowers{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center bottom;animation:rose-welcome-bloom 1.4s ease-out both}
.rose-welcome-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#fff8f33b,transparent 55%,#4b152f70);pointer-events:none}
.rose-welcome-month{position:absolute;left:36px;top:40px;z-index:1;font-size:clamp(52px,5.5vw,78px);line-height:.98;letter-spacing:-.065em;color:#633149}
.rose-welcome-month em{font-family:Georgia,serif;font-weight:400;color:#bc1758}
.rose-welcome-brand{position:absolute;bottom:28px;left:32px;display:flex;align-items:center;gap:10px;z-index:1;color:white;font-size:23px;font-weight:500;letter-spacing:-.04em;text-shadow:0 2px 18px #52233744}
.rose-welcome-brand img{width:30px;height:30px;filter:drop-shadow(0 2px 8px #52233733)}
.rose-welcome-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:42px;background:radial-gradient(ellipse at 100% 0,#f8d9e68c,transparent 68%),#fff9f7}
.rose-welcome-ribbon{width:38px;height:57px;object-fit:contain;margin-bottom:22px;filter:drop-shadow(0 4px 7px #b412541a)}
.rose-welcome h2{margin:0;color:#432636;font-size:clamp(30px,3.5vw,43px);line-height:1.08;font-weight:500;letter-spacing:-.05em}
.rose-welcome h2 em{font-family:Georgia,serif;font-weight:400;color:#b41254}
.rose-welcome #rose-welcome-description{margin:22px 0 0;color:#7a5c6b;font-size:15px;line-height:1.75}
.rose-welcome-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.rose-welcome .rainbow-button.rainbow-button{--color-1:335 83% 39%;--color-2:331 83% 64%;--color-3:344 66% 83%;--color-4:342 68% 68%;--color-5:331 75% 75%;min-height:48px;padding:12px 22px;font-size:14px;border-radius:10px;line-height:1.4;white-space:nowrap}
.rose-welcome .rose-welcome-primary.rainbow-button.rainbow-button{--rainbow-fill:#b41254;color:#fff;--rainbow-ink:#fff}
.rose-welcome .rose-welcome-secondary.rainbow-button.rainbow-button{--rainbow-fill:#fff9f7;color:#8c3d5e;--rainbow-ink:#8c3d5e}
.rose-welcome .rose-welcome-secondary:before{opacity:.18}
.rose-welcome p.rose-welcome-signature{margin:28px 0 0;padding-top:20px;border-top:1px solid #ecd2dd;color:#947180;font-size:11px;line-height:1.6}
.rose-welcome .rose-welcome-close.rainbow-button.rainbow-button{position:absolute;right:14px;top:14px;z-index:2;display:grid;place-items:center;width:38px;height:38px;min-height:38px;padding:0;border-radius:50%;font-size:25px;font-weight:400;line-height:1;--rainbow-fill:#fff8fbe8;color:#85415f;box-shadow:0 2px 14px #71334812;--rainbow-ink:#85415f}
.rose-welcome .rose-welcome-close:before{display:none}
.rose-welcome a:focus-visible,.rose-welcome button:focus-visible{outline:3px solid #00809c;outline-offset:4px}
@keyframes rose-welcome-enter{from{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes rose-welcome-bloom{from{transform:scale(1.06)}to{transform:scale(1)}}
@media(max-width:680px){.rose-welcome{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:16px}.rose-welcome-layout{grid-template-columns:1fr;min-height:0}.rose-welcome-art{min-height:190px;height:190px}.rose-welcome-flowers{object-position:center 76%}.rose-welcome-art:after{background:linear-gradient(90deg,#fff7edc9,transparent 70%)}.rose-welcome-month{left:26px;top:26px;font-size:49px}.rose-welcome-brand{left:auto;right:22px;bottom:16px;font-size:17px}.rose-welcome-brand img{width:23px;height:23px}.rose-welcome-copy{padding:28px 26px}.rose-welcome-ribbon{display:none}.rose-welcome h2{font-size:clamp(29px,7vw,36px)}.rose-welcome #rose-welcome-description{margin-top:16px;font-size:14px;line-height:1.65}.rose-welcome-actions{margin-top:22px;gap:10px}.rose-welcome .rainbow-button.rainbow-button{padding-inline:17px;font-size:13px}.rose-welcome p.rose-welcome-signature{margin-top:22px;padding-top:16px;font-size:10px}.rose-welcome .rose-welcome-close.rainbow-button.rainbow-button{right:10px;top:10px}}
@media(max-width:360px){.rose-welcome-actions{flex-direction:column}.rose-welcome-art{height:155px;min-height:155px}}
@media(prefers-reduced-motion:reduce){.rose-welcome[open],.rose-welcome-flowers{animation:none}}

.rose-welcome.rose-receipt{width:min(590px,calc(100vw - 28px));background:radial-gradient(ellipse at 50% 0,#f9d9e8,transparent 65%),#fff9f7;text-align:center}
.rose-receipt-content{padding:30px 48px 42px}
.rose-receipt-art{position:relative;width:110px;height:165px;margin:0 auto 20px;isolation:isolate}
.rose-receipt-art>img{width:110px;height:165px;object-fit:contain;filter:drop-shadow(0 6px 12px #b412541f)}
.rose-receipt-art>span{position:absolute;right:-14px;bottom:20px;display:grid;place-items:center;width:43px;height:43px;border:4px solid #fff9f7;border-radius:50%;background:#b41254;color:white;box-shadow:0 5px 16px #b4125426}
.rose-receipt h2{font-size:clamp(30px,4vw,41px)}
.rose-receipt #rose-receipt-description{margin:22px auto 0;max-width:420px;color:#7a5c6b;font-size:15px;line-height:1.75}
.rose-receipt-note{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px 0;padding:17px 12px;border:1px solid #efd4df;border-radius:12px;background:#fff9fc99;text-align:left;color:#84445f;font-size:12px;line-height:1.5}
.rose-receipt-note>img{flex-shrink:0}
.rose-receipt-note small{display:block;margin-top:3px;color:#9b7686;font-size:11px}
.rose-receipt .rose-welcome-primary{width:100%}
@media(max-width:600px){.rose-receipt-content{padding:26px 25px 30px}.rose-receipt-art{width:90px;height:135px;margin-bottom:18px}.rose-receipt-art>img{width:90px;height:135px}.rose-receipt #rose-receipt-description{font-size:14px;margin-top:18px}.rose-receipt-note{margin-block:20px}}



/* Current campaign: blue invitation, October receipt keeps its original identity. */
.nav-campaign.rainbow-button.rainbow-button{--rainbow-fill:#164fa9;--color-1:220 80% 55%;--color-2:203 90% 62%;--color-3:225 70% 65%;--color-4:190 70% 68%;--color-5:213 85% 68%;color:#eef6ff;--rainbow-ink:#eef6ff}
.blue-campaign .rose-share-float-link{color:#224e91}.blue-campaign .rose-share-float-link>img{width:70px;height:105px;object-fit:cover;border-radius:16px;filter:drop-shadow(0 7px 13px #164fa930)}.blue-campaign .rose-share-float-bubble{background:#f3f8fff0;border-color:#bdd5f3;box-shadow:0 8px 28px #163f701c}.blue-campaign .rose-share-float-bubble:after{background:#f3f8ff;border-color:#bdd5f3}.blue-campaign .rose-share-float-dot{background:#397de5;box-shadow:0 0 0 4px #397de51a}
.blue-campaign-welcome{background:#f4f8ff;border-color:#abc8ea;--rainbow-fill:#194fbd;--color-1:217 80% 56%;--color-2:205 80% 63%;--color-3:225 80% 65%;--color-4:190 70% 67%;--color-5:219 75% 65%}.blue-campaign-welcome .rose-welcome-art{background:#06162a}.blue-campaign-welcome .rose-welcome-flowers{object-fit:contain;filter:none}.blue-campaign-welcome .rose-welcome-art:after{background:linear-gradient(0deg,#06162a,transparent 45%)}.blue-campaign-welcome .rose-welcome-copy{background:radial-gradient(ellipse at 100% 0,#d3e6ff88,transparent 80%),#f5f8ff}.blue-campaign-welcome #rose-welcome-title{color:#142f4b}.blue-campaign-welcome #rose-welcome-title em{color:#2259c4}.blue-campaign-welcome #rose-welcome-description{color:#48627b}.blue-campaign-welcome .rose-welcome-ribbon{border-radius:10px;object-fit:cover}.blue-campaign-welcome .rose-welcome-primary{--rainbow-fill:#194fbd;color:white;--rainbow-ink:white}.blue-campaign-welcome .rose-welcome-secondary{--rainbow-fill:#f4f8ff;color:#285582;--rainbow-ink:#285582}.blue-campaign-welcome .rose-welcome-signature{color:#617b97}.blue-campaign-welcome .rose-welcome-close{--rainbow-fill:#f4f8ff;color:#315b8f;--rainbow-ink:#315b8f}

.blue-campaign .rose-share-float-link>img{object-fit:contain;border-radius:0}.blue-campaign-welcome .rose-welcome-art{background:linear-gradient(145deg,#e1edff,#f1f7ff)}.blue-campaign-welcome .rose-welcome-flowers{object-fit:contain;object-position:center}.blue-campaign-welcome .rose-welcome-art:after{display:none}.blue-campaign-welcome .rose-welcome-ribbon{object-fit:contain;border-radius:0}.blue-campaign-welcome .rose-welcome-primary.rainbow-button.rainbow-button{--rainbow-fill:#194fbd;color:#fff;--rainbow-ink:#fff}.blue-campaign-welcome .rose-welcome-secondary.rainbow-button.rainbow-button{--rainbow-fill:#f5f8ff;color:#285582;--rainbow-ink:#285582}.blue-campaign-welcome .rose-welcome-close.rainbow-button.rainbow-button{--rainbow-fill:#f5f8ff;color:#285582;--rainbow-ink:#285582}
.blue-campaign-welcome .rose-welcome-brand{color:#101820;text-shadow:none}.blue-campaign-welcome::backdrop{background:#061e38bf;backdrop-filter:blur(10px)}.blue-campaign-welcome .rose-welcome-close{border-color:#bdd1ec}.blue-campaign .rose-share-float-bubble small{color:#547394}.blue-campaign .rose-share-float-bubble strong{color:#244e8b}.blue-campaign .rose-share-float-link:hover .rose-share-float-bubble{border-color:#83ade0}.blue-campaign-welcome .rose-welcome-secondary.rainbow-button:before{background:linear-gradient(90deg,#2664c9,#70b9ff,#b4d9ff)}

.blue-campaign-welcome .rainbow-button.rainbow-button{--color-1:217 80% 56%;--color-2:205 80% 63%;--color-3:225 80% 65%;--color-4:190 70% 67%;--color-5:219 75% 65%}.blue-campaign-welcome p.rose-welcome-signature{color:#617b97;border-color:#c9daed}.blue-campaign-welcome .rose-welcome-brand img{filter:drop-shadow(0 2px 8px #183f6c22)}
