.occasion-ribbon{--occasion-pointer:65%;isolation:isolate;color:var(--occasion-fg);background:var(--occasion-bg);border-bottom:3px solid var(--occasion-accent);transition:background-color .35s var(--motion-soft), color .35s, border-color .35s;position:relative;overflow:clip}.occasion-ribbon:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse at var(--occasion-pointer) 15%, color-mix(in srgb, var(--occasion-secondary) 40%, transparent), transparent 60%);position:absolute;inset:0}.occasion-ribbon-row{align-items:center;gap:1rem;display:flex;position:relative}.occasion-ribbon-trigger{text-align:left;cursor:pointer;border-radius:.5rem;flex:1;align-items:center;gap:1.5rem;min-width:0;min-height:7rem;padding:1rem 0;display:flex}.occasion-thumbnail{border:1px solid color-mix(in srgb, var(--occasion-fg) 25%, transparent);background:color-mix(in srgb, var(--occasion-bg) 65%, var(--occasion-secondary));width:11rem;height:5rem;transition:transform .35s var(--motion-soft);border-radius:.65rem;flex:none;place-items:center;display:grid;overflow:hidden;transform:rotate(-2deg);box-shadow:0 8px 25px #0003}.occasion-thumbnail-image{object-fit:cover;width:100%;height:100%}.occasion-ribbon-trigger:hover .occasion-thumbnail,.occasion-ribbon-trigger:focus-visible .occasion-thumbnail{transform:rotate(0)scale(1.04)}.occasion-ribbon-copy{gap:.3rem;min-width:0;display:grid}.occasion-ribbon-eyebrow{letter-spacing:.16em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.6rem;font-weight:750;display:flex}.occasion-ribbon-count{border:1px solid color-mix(in srgb, var(--occasion-fg) 35%, transparent);letter-spacing:.04em;border-radius:999px;padding:.25rem .5rem}.occasion-ribbon-heading{font-family:var(--font-display);overflow-wrap:anywhere;font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.1}.occasion-ribbon-date{overflow-wrap:anywhere;font-size:.75rem;line-height:1.5}.occasion-ribbon-action-label{flex:none;align-items:center;gap:.8rem;margin-left:auto;font-size:.8rem;font-weight:750;display:flex}.occasion-ribbon-action-label svg{border:1px solid color-mix(in srgb, var(--occasion-fg) 50%, transparent);width:2.7rem;height:2.7rem;transition:transform .35s var(--motion-soft), background .35s;border-radius:50%;padding:.65rem}.occasion-ribbon-trigger:hover .occasion-ribbon-action-label svg{background:color-mix(in srgb, var(--occasion-fg) 12%, transparent);transform:rotate(-35deg)}.occasion-ribbon[data-expanded=true] .occasion-ribbon-action-label svg{transform:rotate(90deg)}.occasion-ribbon-trigger:focus-visible,.occasion-close-details:focus-visible{outline:2px solid var(--occasion-fg);outline-offset:4px}.occasion-ribbon-reveal{opacity:0;transition:grid-template-rows .52s var(--motion-soft), opacity .32s;grid-template-rows:0fr;display:grid}.occasion-ribbon[data-expanded=true] .occasion-ribbon-reveal{opacity:1;grid-template-rows:1fr}.occasion-ribbon-clip{min-height:0;overflow:hidden}.occasion-ribbon-panel{max-width:72rem;transition:transform .52s var(--motion-soft);margin-inline:auto;padding-bottom:1.5rem;transform:translateY(-.75rem)}.occasion-ribbon[data-expanded=true] .occasion-ribbon-panel{transform:translateY(0)}.occasion-ribbon-panel-top{justify-content:flex-end;align-items:center;gap:.5rem;padding-bottom:.5rem;display:flex}.occasion-tabs{overscroll-behavior-inline:contain;scrollbar-width:thin;flex:1;gap:.5rem;min-width:0;margin-left:-.35rem;padding:.35rem;display:flex;overflow-x:auto}.occasion-tab{border:1px solid color-mix(in srgb, var(--occasion-fg) 35%, transparent);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:.5rem;max-width:18rem;min-height:2.75rem;padding:.5rem .9rem;font-size:.75rem;font-weight:650;transition:background-color .25s,color .25s,border-color .25s;display:inline-flex}.occasion-tab[aria-selected=true]{color:var(--occasion-accent-fg);background:var(--occasion-accent);border-color:var(--occasion-accent)}.occasion-tab:hover{border-color:var(--occasion-fg)}.occasion-tab:focus-visible,[role=tabpanel]:focus-visible{outline-offset:2px;outline:2px solid}.occasion-tab-dot{background:var(--occasion-accent);width:.5rem;height:.5rem;box-shadow:0 0 0 2px var(--occasion-bg);border-radius:50%;flex:none}.occasion-tab-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.occasion-tab-content{opacity:1;transition:opacity .32s, transform .4s var(--motion-soft);transform:translateY(0)}@starting-style{.occasion-tab-content{opacity:0;transform:translateY(.4rem)}}.occasion-close-details{cursor:pointer;border-radius:.3rem;flex:none;align-items:center;gap:.6rem;min-height:2.75rem;padding:0 .5rem;font-size:.75rem;display:inline-flex}.occasion-close-details:hover{text-decoration:underline}.occasion-close-details span{font-size:1.2rem}.occasion-card{color:var(--occasion-fg);background:var(--occasion-bg);border:1px solid color-mix(in srgb, var(--occasion-fg) 22%, transparent);border-radius:1rem;overflow:hidden;box-shadow:0 16px 40px #0002}.occasion-card-artwork{background:color-mix(in srgb, var(--occasion-bg) 75%, var(--occasion-secondary));place-items:center;display:grid;overflow:hidden}.occasion-poster-image{object-fit:contain;width:100%;height:auto;max-height:27rem;transition:transform .65s var(--motion-soft);display:block}.occasion-card-artwork:hover .occasion-poster-image{transform:scale(1.015)}.occasion-art{width:min(100%,25rem);height:auto;color:var(--occasion-fg);padding:1.5rem;display:block}.occasion-art-sun{fill:var(--occasion-accent)}.occasion-art-halo{fill:var(--occasion-accent);opacity:.2}.occasion-card-content{background:linear-gradient(115deg, color-mix(in srgb, var(--occasion-secondary) 10%, transparent), transparent);grid-template-columns:minmax(0,1.6fr) minmax(13rem,.7fr);gap:2rem;padding:1.4rem 1.6rem;display:grid}.occasion-card-story{min-width:0}.occasion-card-eyebrow{letter-spacing:.15em;text-transform:uppercase;font-size:.6rem;font-weight:750}.occasion-card-title{overflow-wrap:anywhere;margin-top:.4rem;font-size:1.6rem;line-height:1.15}.occasion-card-message{overflow-wrap:anywhere;margin-top:.6rem;font-size:.9rem;font-weight:600;line-height:1.6}.occasion-card-details{white-space:pre-line;overflow-wrap:anywhere;margin-top:.5rem;font-size:.8rem;line-height:1.7}.occasion-card-actions{flex-direction:column;justify-content:center;align-items:flex-start;gap:.7rem;display:flex}.occasion-card-date{font-size:.8rem;font-weight:650;line-height:1.5}.occasion-card-location{overflow-wrap:anywhere;align-items:baseline;gap:.5rem;font-size:.75rem;line-height:1.6;display:flex}.occasion-location-dot{border:1.5px solid;border-radius:50%;flex:none;width:.4rem;height:.4rem}.occasion-primary-action{color:var(--occasion-accent-fg);background:var(--occasion-accent);border:1px solid var(--occasion-accent);box-shadow:none;gap:.8rem}.occasion-primary-action:hover{color:var(--occasion-accent-fg);background:var(--occasion-accent);border-color:var(--occasion-accent);box-shadow:0 6px 22px #0003}.occasion-primary-action:focus-visible{outline:2px solid var(--occasion-fg);outline-offset:3px}.occasion-widget{z-index:35;right:max(.85rem, env(safe-area-inset-right));bottom:calc(1.5rem + env(safe-area-inset-bottom));width:17.5rem;max-width:calc(100vw - 2rem);color:var(--occasion-fg);filter:drop-shadow(0 12px 25px #10231f30);transform:translateY(calc(-1 * var(--occasion-widget-lift,0px)));transition:width .38s var(--motion-soft), right .38s var(--motion-soft), transform .48s var(--motion-soft), opacity .38s;position:fixed}@starting-style{.occasion-widget{opacity:0;transform:translate(1.5rem, calc(-1 * var(--occasion-widget-lift,0px)))}}.occasion-widget[data-footer-constrained=true]{opacity:0;visibility:hidden;pointer-events:none;transition:transform .48s var(--motion-soft), opacity .25s, visibility 0s .25s}.occasion-widget-trigger{text-align:left;border:1px solid var(--occasion-accent);background:var(--occasion-bg);background-image:radial-gradient(ellipse at 90% 0%, color-mix(in srgb, var(--occasion-secondary) 35%, transparent), transparent 75%);width:100%;height:5.75rem;box-shadow:0 0 0 2px color-mix(in srgb, var(--occasion-accent) 18%, transparent);cursor:pointer;border-radius:1.3rem;align-items:center;gap:.85rem;padding:.65rem;transition:box-shadow .3s;display:flex;position:relative;overflow:hidden}.occasion-widget-trigger:hover{box-shadow:0 0 0 6px color-mix(in srgb, var(--occasion-accent) 28%, transparent)}.occasion-widget-trigger:focus-visible,.occasion-widget-controls button:focus-visible{outline:3px solid var(--occasion-accent);outline-offset:4px}.occasion-widget-artwork{border:1px solid color-mix(in srgb, var(--occasion-fg) 25%, transparent);background:color-mix(in srgb, var(--occasion-bg) 65%, var(--occasion-secondary));width:3.75rem;height:3.75rem;transition:transform .38s var(--motion-soft);border-radius:.85rem;flex:none;place-items:center;display:grid;position:relative;overflow:hidden;transform:rotate(-4deg)}.occasion-widget-artwork .occasion-art{width:100%;height:100%;padding:0}.occasion-widget-trigger:hover .occasion-widget-artwork,.occasion-widget-trigger:focus-visible .occasion-widget-artwork{transform:rotate(3deg)scale(1.04)}.occasion-widget-copy{flex:1;gap:.25rem;min-width:0;transition:opacity .2s;display:grid}.occasion-widget-eyebrow{letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.4rem;font-size:.55rem;font-weight:750;display:flex}.occasion-widget-eyebrow:before{content:"";background:var(--occasion-accent);border-radius:50%;flex:none;width:.45rem;height:.45rem}.occasion-widget-title{-webkit-line-clamp:2;font-family:var(--font-display);overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:1.15rem;line-height:1.15;display:-webkit-box;overflow:hidden}.occasion-widget-hint{max-width:100%;min-height:1.4rem;color:var(--occasion-accent-fg);background:var(--occasion-accent);white-space:nowrap;border-radius:999px;justify-self:start;align-items:center;gap:.5rem;padding:.1rem .5rem;font-size:.65rem;font-weight:750;display:inline-flex}.occasion-widget-hint svg{flex:none;width:1rem;height:1rem;transition:transform .3s}.occasion-widget-trigger:hover .occasion-widget-hint svg{transform:translate(3px)}.occasion-widget-count{min-width:1.15rem;height:1.15rem;color:var(--occasion-accent-fg);background:var(--occasion-accent);border-radius:50%;place-items:center;padding:0 .2rem;font-size:.6rem;font-weight:750;display:grid;position:absolute;top:.4rem;left:.4rem}.occasion-widget-controls{gap:.3rem;display:flex;position:absolute;top:-1.1rem;right:.35rem}.occasion-widget-controls button{border:1px solid color-mix(in srgb, var(--occasion-fg) 45%, transparent);width:2.25rem;height:2.25rem;color:var(--occasion-fg);background:var(--occasion-bg);cursor:pointer;border-radius:50%;place-items:center;transition:background-color .25s;display:grid}.occasion-widget-controls svg{width:1rem;height:1rem}.occasion-widget-controls button:hover{background:color-mix(in srgb, var(--occasion-bg) 75%, var(--occasion-secondary))}.occasion-widget[data-minimized=true]{width:5.2rem}.occasion-widget[data-minimized=true] .occasion-widget-copy{opacity:0;pointer-events:none}.occasion-widget[data-minimized=true]:not([data-hidden=true]):has(.occasion-widget-trigger:focus-visible){width:17.5rem}.occasion-widget[data-minimized=true]:has(.occasion-widget-trigger:focus-visible) .occasion-widget-copy{opacity:1}@media (hover:hover) and (pointer:fine){.occasion-widget[data-minimized=true]:not([data-hidden=true]):hover{width:17.5rem}.occasion-widget[data-minimized=true]:hover .occasion-widget-copy{opacity:1}}.occasion-widget[data-hidden=true]{width:1.5rem;right:env(safe-area-inset-right,0px);filter:drop-shadow(0 3px 8px #10231f25)}.occasion-widget-edge{border:1px solid color-mix(in srgb, var(--occasion-fg) 30%, transparent);width:100%;height:6rem;color:var(--occasion-fg);background:var(--occasion-bg);opacity:.75;cursor:pointer;border-right:0;border-radius:.6rem 0 0 .6rem;align-content:center;justify-items:center;gap:.6rem;padding:.2rem;transition:opacity .2s;display:grid;position:relative}.occasion-widget-edge:before{content:"";position:absolute;inset:-.5rem 0 -.5rem -.75rem}.occasion-widget-edge:hover,.occasion-widget-edge:focus-visible{opacity:1}.occasion-widget-edge:focus-visible{outline:2px solid var(--occasion-accent);outline-offset:2px}.occasion-widget-edge-grip{opacity:.55;background:currentColor;border-radius:999px;width:3px;height:1.6rem}.occasion-widget-edge svg{width:1rem;height:1rem}.occasion-invitation-dialog::backdrop{-webkit-backdrop-filter:blur(12px);background:#10231f80}.occasion-invitation-dialog>section{background:var(--occasion-bg);box-shadow:0 30px 100px #10231f60}.occasion-invitation-dialog .action-dialog-close{border:1px solid color-mix(in srgb, var(--occasion-fg) 35%, transparent);width:2.5rem;height:2.5rem;color:var(--occasion-fg);background:var(--occasion-bg);border-radius:50%;padding:.55rem;position:absolute;top:.4rem;right:.4rem;box-shadow:0 2px 8px #0002}.occasion-invitation-dialog .action-dialog-close:hover{color:var(--occasion-accent-fg);background:var(--occasion-accent)}.occasion-invitation-dialog .action-dialog-close:focus-visible{outline:2px solid var(--occasion-accent);outline-offset:2px}.occasion-invitation-dialog .action-dialog-close svg{width:100%;height:100%}.occasion-invitation-content{color:var(--occasion-fg);background:var(--occasion-bg);transition:background-color .3s;position:relative}.occasion-invitation-content>.occasion-tabs{min-height:3.3rem;margin:0 3.2rem 0 0;padding:.35rem .5rem}.occasion-invitation-content .occasion-card{box-shadow:none;border:0;border-radius:0}.occasion-invitation-content .occasion-card-title{font-size:clamp(1.6rem,3vw,2.2rem)}.occasion-invitation-content .occasion-poster-image{max-height:min(36dvh,24rem)}.occasion-invitation-content .occasion-art{max-height:30dvh}@media (max-width:639px){.occasion-ribbon-row{gap:.25rem}.occasion-ribbon-trigger{gap:.8rem;min-height:7rem}.occasion-thumbnail{width:5rem;height:4.5rem}.occasion-ribbon-eyebrow{letter-spacing:.1em;font-size:.5rem}.occasion-ribbon-heading{font-size:1.3rem}.occasion-ribbon-date{font-size:.65rem}.occasion-ribbon-action-label{gap:0;font-size:0}.occasion-ribbon-action-label svg{width:2rem;height:2rem;padding:.45rem}.occasion-tab{max-width:12rem}.occasion-card-content{grid-template-columns:minmax(0,1fr);gap:1rem;padding:1rem}.occasion-card-title{font-size:1.4rem}.occasion-card-actions{gap:.5rem}.occasion-primary-action{margin-top:.3rem}.occasion-widget{width:15.5rem;right:max(.75rem, env(safe-area-inset-right));bottom:calc(1rem + env(safe-area-inset-bottom))}.occasion-widget-title{font-size:1rem}.occasion-widget[data-minimized=true]:not([data-hidden=true]):has(.occasion-widget-trigger:focus-visible){width:15.5rem}}@media (max-width:639px) and (hover:hover) and (pointer:fine){.occasion-widget[data-minimized=true]:not([data-hidden=true]):hover{width:15.5rem}}@media (prefers-reduced-motion:reduce){.occasion-ribbon,.occasion-ribbon *,.occasion-ribbon :before,.occasion-card *,.occasion-widget,.occasion-widget *,.occasion-invitation-content,.occasion-invitation-content *{transition:none!important;animation:none!important}}
