/* Original occasion collection: paper, illustration and typography share each palette. */
.invitation-card.occasion-design{background:var(--occasion-paper);color:var(--occasion-ink);border:1px solid var(--occasion-accent);outline:1px solid color-mix(in srgb,var(--occasion-accent) 45%,transparent);outline-offset:-12px;border-radius:180px 180px 6px 6px;box-shadow:0 20px 55px #30231b10;overflow:hidden;padding:20px 28px 42px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}
.occasion-design:before,.occasion-design:after{display:none!important}.occasion-design .occasion-illustration{display:block;width:100%;max-width:330px;height:190px;object-fit:contain;margin:0 auto 12px}.occasion-category{font-size:11px;letter-spacing:2px;color:var(--occasion-ink);margin-bottom:17px;opacity:.8}.occasion-design .ornament{display:none}.occasion-design .card-kicker{font-size:12px;line-height:2;max-width:300px;color:inherit;opacity:.85}.occasion-design h3{font-size:43px;line-height:1.6;color:inherit;overflow-wrap:anywhere;margin:15px 0}.occasion-design .card-divider{background:var(--occasion-accent);width:52px;margin:12px auto}.occasion-design .card-date,.occasion-design .card-place{color:inherit;line-height:1.9;font-size:14px}.occasion-design .card-message{color:inherit;opacity:.88;line-height:2.1;max-width:330px;font-size:15px;margin-top:25px;white-space:pre-line}
.template-art .occasion-design{min-height:350px;width:235px;padding:10px 18px 25px;border-radius:110px 110px 3px 3px}.template-art .occasion-design .occasion-illustration{height:118px;margin-bottom:0}.template-art .occasion-design h3{font-size:28px;margin:8px 0}.template-art .occasion-design .card-kicker{font-size:9px}.template-art .occasion-design .occasion-category{font-size:8px;margin-bottom:8px}.template-art .occasion-design .card-date,.template-art .occasion-design .card-place{font-size:10px}.template-art .occasion-design .card-divider{margin:8px auto}.template-art:has(.occasion-design){padding-block:25px}
.public-shell.occasion-public{max-width:720px;background:var(--occasion-paper);padding:38px 24px 55px;color:var(--occasion-ink);border-radius:220px 220px 0 0}.occasion-public>.occasion-design{min-height:760px;box-shadow:none;padding-top:25px}.occasion-public .occasion-illustration{height:230px;max-width:360px}.occasion-public .legacy-details{border-color:var(--occasion-accent);background:transparent;color:inherit;padding-block:35px}.occasion-public .legacy-details h2,.occasion-public .event-calendar h3,.occasion-public .closing-custom,.occasion-public .rsvp-section h2{color:inherit}.occasion-public .legacy-countdown{color:inherit;border-block:1px solid var(--occasion-accent);padding:25px 8px;margin:35px 0}.occasion-public .selected-day{background:var(--occasion-ink)!important;color:var(--occasion-paper)!important}.occasion-public .rsvp-section{background:#fffdf8;color:#423b35;border:1px solid var(--occasion-accent);border-radius:16px}.occasion-public .closing-custom{font-family:var(--serif);font-size:25px;text-align:center;line-height:1.9;margin:40px auto}.occasion-public .personal-cover{max-height:240px;object-fit:cover;border-radius:110px 110px 10px 10px}.occasion-public .legacy-gallery img{border-radius:12px}.intro-overlay.occasion-design{background:var(--env-paper);color:var(--env-ink)}.intro-overlay.occasion-design .intro-still{opacity:.12;filter:blur(8px)}
@media(max-width:600px){.public-shell.occasion-public{width:100%;padding:20px 18px 40px;border-radius:180px 180px 0 0}.occasion-public>.occasion-design{min-height:760px;padding-inline:22px}.occasion-design h3{font-size:38px}.occasion-public .occasion-illustration{height:210px}.occasion-public .legacy-details{padding-inline:5px}.occasion-public .rsvp-section{padding:25px 18px}.occasion-design .card-kicker{font-size:12px}.occasion-public .event-calendar{width:100%;max-width:350px}.occasion-public .event-calendar h3{font-size:24px}}
@media(prefers-reduced-motion:no-preference){.occasion-design .occasion-illustration{animation:occasion-float 7s ease-in-out infinite}@keyframes occasion-float{50%{transform:translateY(-7px)}}}

.occasion-design h3:focus{outline:none}.occasion-public .calendar-week{color:var(--occasion-accent)}
