#season-screen.beach-choice{background:#12394a;overflow-y:auto;color:#fff}
.beach-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.beach-film[hidden]{display:none}
.beach-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#092b4655,transparent 30%,#072b40e6)}
#beach-season-switch{position:absolute;z-index:3;top:140px;right:4%;display:flex;gap:4px;padding:5px;border:1px solid #ffffff77;border-radius:40px;background:#153c4bd9;backdrop-filter:blur(12px)}
#beach-season-switch button{font:inherit;font-size:13px;padding:10px 20px;border:0;border-radius:30px;color:white;background:transparent;cursor:pointer;min-height:44px}
#beach-season-switch button[aria-pressed=true]{background:#c4e9df;color:#133c48}
.beach-content{position:relative;z-index:2;padding:240px 4% 40px;max-width:1100px;margin:auto;pointer-events:none}
.beach-content h2{font:400 clamp(32px,4vw,58px) 'Cormorant Garamond',Georgia,serif;margin:10px 0}
.beach-content>p{font-size:14px;line-height:1.6;text-shadow:0 1px 8px #12394a}
#beach-experiences{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 18px;pointer-events:auto}
.beach-expedition{display:flex;flex-direction:column;gap:8px;flex:1 1 190px;padding:16px 20px;border:1px solid #bce5e57a;border-radius:16px;background:#103b4bd9;backdrop-filter:blur(10px);color:#fff;text-decoration:none;transition:background .2s,transform .2s}
a.beach-expedition:hover{background:#185d6ce8;transform:translateY(-3px)}
.beach-expedition strong{font-size:16px}.beach-expedition span{font-size:12px;color:#c1ece3}.beach-expedition.sold-out span{font-size:18px;font-weight:700;color:#ffd7ad}
#beach-all,#beach-play{pointer-events:auto;color:#d5f5ea;font:inherit;font-size:13px;display:inline-block;padding:12px 0}
#beach-play{border:1px solid #fff8;border-radius:30px;background:#12394a;padding:12px 20px}#beach-play[hidden],#beach-media-status[hidden]{display:none}
@media(max-width:850px){#beach-season-switch{top:95px}.beach-content{padding-top:180px}.beach-expedition{flex-basis:150px;padding:12px 15px}.beach-expedition strong{font-size:14px}}
@media(max-width:550px){#season-screen.beach-choice{height:100%;min-height:700px}.world.in-seasons{height:980px}.beach-film,.beach-shade{position:fixed;height:100%}#back-to-world{top:95px;left:16px;font-size:11px}#beach-season-switch{top:92px;right:16px}#beach-season-switch button{padding:8px 12px;font-size:11px}.beach-content{padding:170px 20px 32px}.beach-content h2{font-size:37px}.beach-expedition{flex-basis:140px;min-width:0}.beach-content>p{font-size:13px}}

.world.in-seasons .atlas-label,.world.in-seasons #start-flight{visibility:hidden!important}.beach-expedition:focus-visible,#beach-season-switch button:focus-visible{outline:3px solid #c4e9df;outline-offset:4px}@media(prefers-reduced-motion:reduce){a.beach-expedition:hover{transform:none}}

#world.in-seasons #season-screen.beach-choice{animation:none}

/* The interface follows the transition's media clock, including buffering. */
#world #season-screen.beach-arriving{background:transparent!important}
#world #season-screen.beach-arriving .beach-film{opacity:var(--beach-blend,0)}
#world #season-screen.beach-arriving .beach-shade{opacity:calc(.35 + var(--arrival-progress,0)*.65)}
#world #season-screen.beach-arriving .beach-content>.eyebrow{opacity:clamp(0,calc((var(--arrival-progress,0) - .05)*3),1)}
#world #season-screen.beach-arriving #season-title{opacity:clamp(0,calc((var(--arrival-progress,0) - .12)*3),1)}
#world #season-screen.beach-arriving #beach-description{opacity:clamp(0,calc((var(--arrival-progress,0) - .22)*3),1)}
#world #season-screen.beach-arriving #beach-experiences{opacity:clamp(0,calc((var(--arrival-progress,0) - .32)*1.5),1);transform:translateY(clamp(0px,calc((1 - var(--arrival-progress,0))*18px),18px));pointer-events:none}
#world #season-screen.beach-arriving #beach-all{opacity:clamp(0,calc((var(--arrival-progress,0) - .55)*2.3),1);pointer-events:none}
#world #season-screen.beach-arriving #beach-season-switch{opacity:clamp(0,calc((var(--arrival-progress,0) - .2)*2),1);pointer-events:none}
#world #season-screen.beach-arriving #back-to-world{opacity:clamp(0,calc(var(--arrival-progress,0)*3),1)}
