/* The third floating action: burgundy mistletoe, above booking and the assistant. */
.seasonal-launch.floating-action{position:fixed;right:24px;top:auto;bottom:140px;z-index:35;display:flex;align-items:center;width:48px;height:48px;padding:0;border:1px solid #b3a17c;border-radius:50%;background:#751b32;color:#f3ead2;box-shadow:0 6px 24px #0002;cursor:pointer;touch-action:manipulation;transition:transform .2s ease,background .2s ease}
.seasonal-launch.floating-action>svg{width:32px;height:32px;flex:none;pointer-events:none}
.seasonal-launch .floating-action-label{background:#751b32;color:#f3ead2;border-color:#b3a17c}
.seasonal-launch:focus-visible{outline:2px solid #967343;outline-offset:5px}
.seasonal-launch.is-revealing{animation:mistletoe-reveal .24s ease-out both}
@media(hover:hover) and (pointer:fine){.seasonal-launch:hover{transform:scale(1.06);background:#84233b}}
@keyframes mistletoe-reveal{0%{transform:scale(1)}60%{transform:scale(1.12)}100%{transform:scale(1.04)}}
.seasonal-promo-open{overflow:hidden}
dialog.seasonal-promo{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;margin:0;padding:30px 24px;border:0;background:transparent;color:var(--ink,#171816);overflow:auto;overscroll-behavior:contain}
dialog.seasonal-promo[open]{display:flex;align-items:flex-start;justify-content:center}
.seasonal-promo::backdrop{background:#151310b8;backdrop-filter:blur(5px)}
.seasonal-promo-stage{position:relative;margin:auto 0;width:min(690px,calc((100dvh - 60px) * .800285));max-width:100%;flex-shrink:0;box-shadow:0 24px 90px #0006;transform-origin:center;isolation:isolate}
.seasonal-promo-artwork{display:block;width:100%;padding:0;border:0;background:#ede0cf;cursor:pointer}
.seasonal-promo-artwork img{display:block;width:100%;height:auto;max-height:calc(100dvh - 60px);object-fit:contain}
.seasonal-promo-artwork:focus-visible{outline:3px solid #c7b391;outline-offset:5px}
.seasonal-promo-close{position:absolute;right:-16px;top:-16px;z-index:3;display:grid;place-items:center;width:44px;height:44px;padding:11px;border:1px solid #c7b391;background:#f6f1e8;color:#171816;box-shadow:0 2px 12px #0002;border-radius:50%;cursor:pointer}
.seasonal-promo-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.seasonal-promo-close:hover{background:#e6d8c3}
.seasonal-promo-close:focus-visible,.seasonal-contact-link:focus-visible{outline:3px solid #b18d57;outline-offset:4px}
.seasonal-promo.is-contact .seasonal-promo-stage{width:min(860px,calc((100dvh - 60px) * 3),100%)}
.seasonal-contact{position:relative;background:#171310;color:#f6efe2}
.seasonal-contact h2:focus{outline:none}
.seasonal-contact-link{display:block;color:inherit;text-decoration:none;cursor:pointer}
.seasonal-contact-link img{display:block;width:100%;height:auto;object-fit:contain}
.seasonal-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:650px){.seasonal-launch.floating-action{right:14px;bottom:calc(130px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.seasonal-launch{transition:none}.seasonal-launch.is-revealing{animation:none}}
@media print{.seasonal-launch,dialog.seasonal-promo{display:none!important}}
