/* A lightweight, decorative opening announcement in the lounge's own colours. */
.opening-celebration{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:188px;padding:25px 180px 28px;background:radial-gradient(ellipse at 50% 125%,#705b303b,transparent 65%),#142030;border-block:1px solid #d6b77770}
.opening-message{position:relative;z-index:2;text-align:center}
.opening-message .opening-kicker{color:#e0c58e;text-transform:uppercase;letter-spacing:.23em;font-size:.6875rem;font-weight:600;line-height:1.5;margin-bottom:7px}
.opening-message h2{font-family:var(--sans);font-size:clamp(2rem,3.5vw,3rem);font-weight:650;line-height:1.12;letter-spacing:-.035em;color:#fff5df;margin:0 0 14px;text-wrap:balance}
.opening-message .opening-date{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:4px 9px;padding:6px 18px;border:1px solid #d6b77780;border-radius:30px;color:#f8e3b7;background:#d6b7770c;font-size:.875rem;line-height:1.4}
.opening-date time{font-weight:700}
.opening-balloons{position:absolute;top:17px;width:210px;height:220px;pointer-events:none;z-index:1;animation:opening-float 4s ease-in-out 1}
.opening-balloons-left{left:max(16px,calc(50% - 540px));transform:rotate(-9deg)}
.opening-balloons-right{right:max(16px,calc(50% - 540px));transform:rotate(9deg);animation-delay:.2s}
.opening-balloon{position:absolute;display:block;width:72px;height:91px;border-radius:49% 49% 47% 47%;box-shadow:inset -9px -8px 16px #624b332b,0 8px 25px #0002;border:1px solid #ffffff30}
.opening-balloon:before{content:'';position:absolute;left:calc(50% - 5px);top:calc(100% - 2px);width:10px;height:9px;background:inherit;clip-path:polygon(50% 0,100% 100%,0 100%)}
.opening-balloon:after{content:'';position:absolute;top:calc(100% + 6px);left:50%;width:21px;height:104px;border-left:1px solid #ddc79399;border-radius:50%;transform:rotate(-8deg)}
.opening-balloon-cream{background:radial-gradient(ellipse at 29% 22%,#fffef2 0,#efdfb6 34%,#b8a273 100%)}
.opening-balloon-gold{background:radial-gradient(ellipse at 29% 22%,#fff1b2 0,#d9b363 38%,#99702e 100%)}
.opening-balloon-bronze{background:radial-gradient(ellipse at 29% 22%,#e8cb8b 0,#a77c46 42%,#674c2d 100%)}
.opening-balloon:nth-child(1){left:4px;top:31px;transform:rotate(-17deg)}
.opening-balloon:nth-child(2){left:64px;top:0;z-index:2;transform:rotate(6deg)}
.opening-balloon:nth-child(3){left:126px;top:43px;transform:rotate(21deg)}
.opening-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.opening-confetti i{position:absolute;left:var(--x);top:var(--y);width:5px;height:11px;background:#d3af65;opacity:.75;transform:rotate(var(--r));animation:opening-glimmer 3s ease-in-out 1}
.opening-confetti i:nth-child(3n){width:5px;height:5px;border-radius:50%;background:#f3dfae}
.opening-confetti i:nth-child(1){--x:5%;--y:15%;--r:25deg}.opening-confetti i:nth-child(2){--x:24%;--y:69%;--r:-34deg}.opening-confetti i:nth-child(3){--x:29%;--y:25%;--r:0deg}.opening-confetti i:nth-child(4){--x:35%;--y:13%;--r:38deg}.opening-confetti i:nth-child(5){--x:19%;--y:16%;--r:-25deg}.opening-confetti i:nth-child(6){--x:32%;--y:84%;--r:0deg}.opening-confetti i:nth-child(7){--x:67%;--y:78%;--r:-30deg}.opening-confetti i:nth-child(8){--x:73%;--y:23%;--r:22deg}.opening-confetti i:nth-child(9){--x:80%;--y:14%;--r:0deg}.opening-confetti i:nth-child(10){--x:95%;--y:77%;--r:46deg}.opening-confetti i:nth-child(11){--x:64%;--y:12%;--r:-28deg}.opening-confetti i:nth-child(12){--x:92%;--y:14%;--r:0deg}
@keyframes opening-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes opening-glimmer{0%,100%{opacity:.75}50%{opacity:.35}}
@media(max-width:800px){.opening-celebration{min-height:174px;padding:23px 110px}.opening-balloons{scale:.72;transform-origin:top left;top:26px}.opening-balloons-left{left:-16px}.opening-balloons-right{right:-76px}.opening-message h2{font-size:2rem}.opening-message .opening-date{font-size:.8125rem;padding-inline:12px}}
@media(max-width:480px){.opening-celebration{padding:24px 58px;min-height:184px}.opening-message h2{font-size:1.8rem;margin-bottom:12px}.opening-message .opening-kicker{font-size:.5625rem;letter-spacing:.16em}.opening-message .opening-date{gap:1px 6px;padding:7px 12px;line-height:1.5}.opening-date span,.opening-date time{display:block;flex-basis:100%}.opening-balloons{scale:.53;top:39px}.opening-balloons-left{left:-62px}.opening-balloons-right{right:-160px}.opening-confetti i:nth-child(3n+1){display:none}}
@media(prefers-reduced-motion:reduce){.opening-balloons,.opening-confetti i{animation:none}}
