/* Owner-supplied artwork: display without cropping or text overlays. */
.monthly-pick.monthly-banner{padding:30px 16px 32px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 0 0,#d9efec80,transparent 65%),linear-gradient(135deg,#fffdf6,#f7edd6);border-top:1px solid #c9ad71;border-bottom:1px solid #c9ad71}
.monthly-banner-art{display:block;line-height:0;border:1px solid #c9ad71;border-radius:20px;overflow:hidden;touch-action:manipulation;box-shadow:0 8px 22px #6c572d20,0 2px 0 #b99a5e;background:#fffdf6}
.monthly-banner-art img{display:block;width:100%;height:auto;object-fit:contain}
.monthly-banner-art:focus-visible{outline:4px solid #007e91;outline-offset:-4px}
.monthly-banner-heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#monthly-menu{scroll-margin-top:var(--november-coupon-offset,88px)}

/* Keep the full moon above the heading, without clipping it at section edges. */
.popular-section{padding-top:34px}
.popular-section .lunar-gallery-art{height:auto;aspect-ratio:420/720}

.monthly-banner-art{position:relative}
.monthly-banner-cta{position:absolute;left:2.5%;right:2.5%;bottom:1.6%;height:29.8%;display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 14px;color:#fff9df;text-decoration:none;line-height:1.2;overflow:hidden;border:2px solid #efd994;border-radius:999px;background:linear-gradient(180deg,#48c8c7 0%,#138c95 14%,#006476 52%,#003e52 100%);box-shadow:inset 0 2px 2px #ffffffe0,inset 0 -5px 0 #002e40a0,0 5px 0 #a88a46,0 8px 12px #002d4540;animation:monthly-cta-breathe 3s ease-in-out infinite;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:filter .15s,box-shadow .15s,transform .15s}
.monthly-banner-cta::after{content:"";position:absolute;inset:-30% auto -30% -70%;width:32%;background:linear-gradient(90deg,transparent,#ffffff45,transparent);transform:skewX(-22deg);animation:monthly-cta-shine 4.8s ease-in-out infinite;pointer-events:none}
.monthly-cta-ticket{width:clamp(28px,8vw,45px);height:auto;flex:none;color:#ffe9a7;filter:drop-shadow(0 2px 2px #00374b)}
.monthly-cta-copy{display:grid;gap:5px;text-align:center;position:relative;z-index:1}
.monthly-cta-copy strong{font-family:var(--serif,serif);font-size:clamp(21px,6.5vw,34px);font-weight:800;white-space:nowrap;color:#ffedb3;text-shadow:0 2px 2px #002e4a}
.monthly-cta-copy small{font-family:var(--sans,sans-serif);font-size:clamp(9px,2.4vw,12px);color:#fffdf5;letter-spacing:.02em;white-space:nowrap}
.monthly-cta-arrow{display:grid;place-items:center;width:clamp(30px,8vw,44px);height:clamp(30px,8vw,44px);flex:none;border-radius:50%;background:linear-gradient(#fff6ce,#eacb82);color:#005366;font:700 36px/1 sans-serif;box-shadow:0 2px 5px #00334755;animation:monthly-cta-arrow 3s ease-in-out infinite}
.monthly-banner-cta:focus-visible{outline:3px solid #fff;outline-offset:-7px}
.monthly-banner-cta:hover{filter:brightness(1.08)}
.monthly-banner-cta:active,.monthly-banner-cta.is-pressed{animation:none;transform:translateY(4px) scale(.985);filter:brightness(.88);box-shadow:inset 0 3px 7px #00293999,0 1px 0 #a88a46}
@keyframes monthly-cta-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes monthly-cta-arrow{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
@keyframes monthly-cta-shine{0%,60%{left:-70%}90%,100%{left:140%}}
@media(prefers-reduced-motion:reduce){.monthly-banner-cta,.monthly-cta-arrow,.monthly-banner-cta::after{animation:none}}
