.xg{color:#2c2a29;background:#fdfbf7;place-items:center;min-height:100dvh;padding:1.25rem;font-family:Cormorant Garamond,Noto Serif Devanagari,Georgia,serif;display:grid;position:relative;overflow:hidden}.xg-bg{filter:blur(28px)saturate(1.1);opacity:.45;background-position:50%;background-size:cover;position:absolute;inset:-10%}.xg:after{content:"";pointer-events:none;background:radial-gradient(80% 60% at 50% 100%,#8a4f4c2e,#0000 70%);position:absolute;inset:0}.xg-petals{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.xg-petal{opacity:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='%23c9a227'%3E%3Cellipse cx='12' cy='5.4' rx='3' ry='5.1'/%3E%3Cellipse cx='12' cy='18.6' rx='3' ry='5.1'/%3E%3Cellipse cx='5.4' cy='12' rx='5.1' ry='3'/%3E%3Cellipse cx='18.6' cy='12' rx='5.1' ry='3'/%3E%3Cellipse cx='7.3' cy='7.3' rx='4.5' ry='2.7' transform='rotate(45 7.3 7.3)'/%3E%3Cellipse cx='16.7' cy='16.7' rx='4.5' ry='2.7' transform='rotate(45 16.7 16.7)'/%3E%3Cellipse cx='16.7' cy='7.3' rx='4.5' ry='2.7' transform='rotate(-45 16.7 7.3)'/%3E%3Cellipse cx='7.3' cy='16.7' rx='4.5' ry='2.7' transform='rotate(-45 7.3 16.7)'/%3E%3C/g%3E%3Ccircle cx='12' cy='12' r='2.9' fill='%23a8801a'/%3E%3C/svg%3E") 50%/contain no-repeat;animation-name:xgFall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-12%}.xg-petal-b{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.5C6.5 5.5 3.5 11 3.5 16.2c0 3.6 3.8 6.3 8.5 6.3s8.5-2.7 8.5-6.3C20.5 11 17.5 5.5 12 1.5z' fill='%23c98f88'/%3E%3Cpath d='M12 4.5c-1.6 4.4-2.4 9.4-2.4 14.5' stroke='%23a86a63' stroke-width='1' fill='none'/%3E%3C/svg%3E")}@keyframes xgFall{0%{opacity:0;top:-12%;transform:translate(0)rotate(0)}9%{opacity:var(--o)}86%{opacity:var(--o)}to{transform:translateX(var(--dx)) rotate(400deg);opacity:0;top:112%}}@media (prefers-reduced-motion:reduce){.xg-petals{display:none}}.xg-card{z-index:2;background:#ffffffeb;border:1px solid #d4af3773;border-radius:1.75rem;width:min(100%,420px);animation:.6s cubic-bezier(.23,1,.32,1) both xgIn;position:relative;overflow:hidden;box-shadow:0 30px 80px -30px #2c1e1673}@keyframes xgIn{0%{opacity:0;transform:translateY(12px)scale(.98)}}.xg-cover{aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;width:100%;display:block}.xg-body{text-align:center;padding:1.6rem 1.5rem 1.4rem}.xg-nocover .xg-body{padding-top:2.3rem}.xg-greet{color:#8a6d1f;letter-spacing:-.01em;overflow-wrap:anywhere;margin-bottom:.55rem;font-family:Playfair Display,Cormorant Garamond,serif;font-size:clamp(1.7rem,7vw,2.15rem);font-weight:600;line-height:1.18}.xg-line{color:#5a5552;max-width:30ch;margin:0 auto .9rem;font-size:1.05rem;font-style:italic;line-height:1.5}.xg-names{color:#2c2a29;letter-spacing:-.01em;font-family:Playfair Display,Cormorant Garamond,serif;font-size:clamp(1.9rem,7.5vw,2.5rem);font-weight:400;line-height:1.15}.xg-date{letter-spacing:.22em;text-transform:uppercase;color:#8a4f4c;margin-top:.5rem;font-family:Tenor Sans,sans-serif;font-size:.78rem}.xg-btn{color:#fff;letter-spacing:.2em;text-transform:uppercase;background:#8a4f4c;border-radius:999px;margin:1.4rem auto 0;padding:1rem 1.5rem;font-family:Tenor Sans,sans-serif;font-size:.85rem;text-decoration:none;transition:transform .16s cubic-bezier(.23,1,.32,1);display:block;box-shadow:0 10px 28px -10px #8a4f4cb3}.xg-btn:active{transform:scale(.97)}button.xg-btn{cursor:pointer;border:0;width:auto}.xg-foot{color:#8c8480;margin-top:1.1rem;font-size:.8rem}@media (prefers-reduced-motion:reduce){.xg-card{animation:none}}.xg-mini{border-radius:1.25rem;min-height:0;padding:0}.xg-mini .xg-card{width:100%;box-shadow:none;border-radius:1.25rem;animation:none}.xg-mini .xg-petals{display:none}.xg-mini .xg-cover{aspect-ratio:16/10}.xg-mini .xg-body{padding:1.15rem 1rem 1rem}.xg-mini .xg-greet{font-size:clamp(1.35rem,5.5vw,1.7rem)}.xg-mini .xg-line{margin-bottom:.7rem;font-size:.95rem}.xg-mini .xg-names{font-size:clamp(1.5rem,6vw,1.9rem)}.xg-mini .xg-btn{cursor:default;margin-top:1.1rem;padding:.8rem 1.2rem;font-size:.78rem}.xg-mini .xg-foot{margin-top:.85rem;font-size:.74rem}
