/* Keep the deck independent of menu button and panel styles. */
.announcements{max-width:980px;min-width:0;margin:22px auto 30px;color:#edf4ef;container-type:inline-size}
.announcements .announcement-track{position:relative;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:16px;touch-action:pan-x pan-y}
.announcements .announcement-track::-webkit-scrollbar{display:none}
.announcements .announcement-card{box-sizing:border-box;flex:0 0 100%;min-width:0;display:flex;align-items:center;gap:18px;padding:24px;border:1px solid #739588;border-radius:16px;scroll-snap-align:start;overflow:hidden;isolation:isolate;position:relative;background-color:#203e39;color:#f6f1dc}
.announcements .badge-announcement{background-color:#203e39;background-image:radial-gradient(ellipse at top right,#3d6552,#203e39 85%)}
.announcements .costume-announcement{background-color:#393348;background-image:radial-gradient(ellipse at top right,#61516b,#393348 85%);border-color:#9c7d9e}
.announcements .originals-announcement{background-color:#29453f;background-image:radial-gradient(ellipse at top right,#536e5e,#29453f 85%)}
.announcements .leaderboard-announcement{background-color:#37334d;background-image:radial-gradient(ellipse at top right,#625a7b,#37334d 85%);border-color:#978aa7}
.announcements .levels-announcement{background-color:#e7d1a0;background-image:radial-gradient(ellipse at top right,#f1dcad,#e7d1a0 90%);color:#514326;border-color:#d1b87c}
.announcements .announcement-card>div:first-child{flex:1;min-width:0;z-index:1}
.announcements .announcement-card .eyebrow{font-size:9px;letter-spacing:1.2px;color:inherit;opacity:.8;line-height:1.5;margin:0 0 10px}
.announcements .announcement-card h2{font:500 28px/1.08 Georgia,serif;letter-spacing:-.5px;margin:0 0 12px;color:inherit}
.announcements .announcement-card p:not(.eyebrow){font-size:12px;line-height:1.6;max-width:340px;margin:0 0 14px;color:inherit}
.announcements .announcement-cta{font-size:12px;font-weight:650;min-height:38px;color:inherit;border:1px solid #c9d3af70;text-decoration:none;padding:9px 12px;border-radius:9px;display:inline-flex;align-items:center;line-height:1.4}
.announcements .announcement-cta:hover{background:#ffffff15}
.announcements .levels-announcement .announcement-cta{border-color:#a38b57}
.announcements .announcement-art{width:100px;height:100px;flex-shrink:0;filter:drop-shadow(0 5px 5px #0003)}
.announcements .announcement-art svg{width:100%;height:100%}
.announcements .costume-announcement,.announcements .originals-announcement{flex-direction:column;align-items:stretch;gap:8px}
.announcements .costume-announcement h2 br,.announcements .originals-announcement h2 br{display:none}
.announcements .costume-trio{display:flex;justify-content:center;align-items:flex-end;gap:8px;flex-shrink:0;width:100%;height:100px;opacity:1}
.announcements .costume-trio img{width:95px;height:100px;max-width:31%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 2px #0004);user-select:none;-webkit-user-drag:none}
.announcements .podium-art{width:100px;height:110px;display:flex;align-items:flex-end;gap:5px;flex-shrink:0}
.announcements .podium-art>span{width:29px;height:55px;background:#756b8b;border:1px solid #bdb0ce;border-radius:5px 5px 0 0;text-align:center;padding-top:9px;font-size:18px}
.announcements .podium-art>span:nth-child(2){height:92px;background:#deca8b;color:#655846}
.announcements .podium-art b{display:block;font-size:25px}
.announcements .podium-art>span:last-child{height:40px}
.announcements .levels-art{width:95px;flex-shrink:0;border:1px solid #bca268;border-radius:40px 40px 14px 14px;text-align:center;background:#f6e8c7;padding:12px 8px;transform:rotate(8deg)}
.announcements .levels-art>span{font-size:9px;letter-spacing:3px}.announcements .levels-art strong{font:500 46px/1 Georgia,serif;display:block}
.announcements .levels-art>div{display:flex;gap:3px;margin-top:9px;justify-content:center}.announcements .levels-art i{width:8px;height:5px;border-radius:2px;background:#b6a063}
.announcements .carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:4px}
.announcements .carousel-controls button,.announcements .carousel-arrows button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;width:auto;margin:0;padding:8px 12px;border:1px solid #6d8e91;border-radius:10px;background:#17394e;color:#e1efeb;box-shadow:none;font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;cursor:pointer}
.announcements .carousel-controls button:hover{background:#244f5e}.announcements .carousel-arrows{display:flex;gap:6px}.announcements .carousel-dots{display:flex;gap:0;align-items:center}
.announcements .carousel-controls .carousel-dots button{position:relative;flex:0 0 28px;width:28px;min-width:28px;height:40px;min-height:40px;padding:0;border:0;border-radius:20px;background:transparent;box-shadow:none}
.announcements .carousel-dots button:after{content:'';width:6px;height:6px;background:#8daaa8;border-radius:50%}
.announcements .carousel-dots button[aria-pressed=true]:after{background:#77e7c6;box-shadow:0 0 0 3px #467e72}
.announcements .carousel-position{font-size:11px;color:#c4dbd4;text-align:center;margin:6px 0 0;line-height:1.5}
.announcements .announcement-track.is-carousel{cursor:grab}.announcements .announcement-track.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.announcements[data-style=panorama] .announcement-track{display:block;height:360px;padding:0;perspective:1100px;overflow:clip;scroll-snap-type:none;scroll-padding:0;overflow-anchor:none;touch-action:pan-y;isolation:isolate}
.announcements[data-style=panorama] .announcement-card{position:absolute;left:50%;top:12px;width:72%;height:328px;min-height:0;scroll-snap-align:none;scroll-snap-stop:normal;overflow-anchor:none;transform:translateX(calc(-50% + var(--deck-x,0%))) rotateY(var(--deck-turn,0deg)) scale(var(--deck-scale,1));transform-origin:center;transition:transform .45s cubic-bezier(.2,.75,.25,1),filter .35s;filter:brightness(.72);box-shadow:0 7px 18px #061f3f55;backface-visibility:hidden;cursor:pointer}
.announcements[data-style=panorama] .announcement-card.is-active{filter:none;cursor:default}
.announcements[data-style=panorama] .announcement-card:not(.is-active) .announcement-cta{pointer-events:none}
.announcements[data-style=panorama] .announcement-track.dragging .announcement-card{transition:none}
.announcements[data-style=classic] .announcement-card{min-height:320px}
@media(max-width:700px){.announcements{margin-top:18px}.announcements[data-style=panorama] .announcement-track{height:350px;perspective:800px}.announcements[data-style=panorama] .announcement-card{width:84%;height:320px;padding:18px 16px;gap:10px}.announcements .announcement-card h2{font-size:24px;margin-bottom:10px}.announcements .announcement-card .eyebrow{font-size:8px;letter-spacing:.8px;margin-bottom:8px}.announcements .announcement-card p:not(.eyebrow){font-size:11px;margin-bottom:12px}.announcements .announcement-cta{font-size:11px;padding:8px 10px}.announcements .badge-announcement{flex-direction:column;align-items:flex-start}.announcements .announcement-art{width:65px;height:65px}.announcements .costume-trio{height:94px;gap:3px}.announcements .costume-trio img{height:94px;width:80px}.announcements .leaderboard-announcement,.announcements .levels-announcement{align-items:flex-start;flex-direction:column}.announcements .podium-art{height:75px;transform:scale(.75);transform-origin:left bottom;margin-top:-15px}.announcements .levels-art{width:65px;padding:5px}.announcements .levels-art strong{font-size:30px}.announcements .levels-art>div{display:none}.announcements .carousel-controls button{padding:8px;font-size:11px}.announcements .carousel-controls .carousel-dots button{flex-basis:25px;width:25px;min-width:25px}.announcements .carousel-controls{gap:4px}}
@media(prefers-reduced-motion:reduce){.announcements .announcement-card{transition:none!important}}

/* Navigation stays beside the banner on mouse and touch screens. */
.announcements .announcement-stage{position:relative;isolation:isolate}
.announcements .carousel-arrows{position:absolute;inset:0;z-index:20;pointer-events:none;display:block}
.announcements .carousel-arrows button{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;min-width:48px;min-height:48px;padding:0;border-radius:50%;border:1px solid #a2c8be;background:#102e40;color:#f0fff7;box-shadow:0 4px 16px #03172480;font-size:23px;pointer-events:auto}
.announcements #announcement-prev{left:10px}.announcements #announcement-next{right:10px}
.announcements .carousel-arrows button:hover{background:#285447;border-color:#a5f7da}.announcements .carousel-arrows button:active{transform:translateY(-50%) scale(.95)}
.announcements .carousel-controls{display:grid;grid-template-columns:1fr auto 1fr;gap:4px}
.announcements .carousel-dots{grid-column:2}.announcements #announcement-pause{grid-column:3;justify-self:end}
.announcements[data-style=classic] .announcement-card{padding-inline:66px}
@media(max-width:700px){.announcements .carousel-arrows button{width:40px;height:40px;min-width:40px;min-height:40px;font-size:20px}.announcements #announcement-prev{left:0}.announcements #announcement-next{right:0}.announcements[data-style=classic] .announcement-card{padding-inline:48px}}

.announcements[data-style=panorama] #announcement-prev{left:calc(14% - 24px)}.announcements[data-style=panorama] #announcement-next{right:calc(14% - 24px)}
@media(max-width:700px){.announcements[data-style=panorama] #announcement-prev{left:calc(8% - 20px)}.announcements[data-style=panorama] #announcement-next{right:calc(8% - 20px)}}

.announcements .collection-trio.costume-trio{height:108px;gap:7px}
.announcements .collection-trio .collection-portrait{width:104px;max-width:31%;height:auto;aspect-ratio:1}
.announcements .announcement-card .collection-prices{font-size:10px;line-height:1.4;margin-bottom:12px;color:#f5d991}
@media(max-width:700px){.announcements .collection-trio.costume-trio{height:96px;gap:4px}.announcements .collection-trio .collection-portrait{width:92px}.announcements .announcement-card .collection-prices{font-size:9px;margin-bottom:10px}.announcements .costume-announcement h2,.announcements .originals-announcement h2{font-size:23px}}

/* Keep the collection artwork balanced with the copy, away from the lower rim. */
.announcements .costume-announcement,.announcements .originals-announcement{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;align-items:center;gap:16px;padding-bottom:28px}
.announcements .costume-announcement>div:first-child,.announcements .originals-announcement>div:first-child{flex:initial}
.announcements .collection-trio.costume-trio{align-items:center;align-self:center;margin:0;justify-self:center}
@container(min-width:640px){.announcements .costume-announcement,.announcements .originals-announcement{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:20px;padding:26px 30px}.announcements .collection-trio.costume-trio{height:auto;min-height:112px}.announcements .collection-trio .collection-portrait{width:112px}.announcements .costume-announcement .announcement-cta,.announcements .originals-announcement .announcement-cta{max-width:100%}}
@media(max-width:700px){.announcements .collection-trio.costume-trio{height:90px}.announcements .costume-announcement,.announcements .originals-announcement{gap:12px;padding-bottom:24px}.announcements .costume-announcement p:not(.eyebrow),.announcements .originals-announcement p:not(.eyebrow){margin-bottom:9px}.announcements .costume-announcement h2,.announcements .originals-announcement h2{margin-bottom:8px}}

@media(max-width:380px){.announcements .costume-announcement,.announcements .originals-announcement{gap:10px}.announcements .collection-trio.costume-trio{height:80px}}
