.destination-intro { padding: 128px 32px 38px; max-width: 1200px; margin: auto; }
.destination-intro h1 { color: #fff; font: 40px/1.15 'Archivo Black',sans-serif; text-transform: uppercase; margin: 12px 0; }
.destination-intro p { max-width: 720px; color: #ffffffad; line-height: 1.7; }
#view-selector .selector-hero { padding-top: 0; min-height: 620px; height: 75vh; }
.future-destinations { max-width: 1200px; margin: auto; padding: 64px 32px 80px; }
.future-destinations h2 { font: 28px/1.25 'Archivo Black',sans-serif; color: #fff; margin-bottom: 14px; }
.future-destinations p { color: #ffffffa6; line-height: 1.7; }
.future-destination-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 26px; }
.future-destination-grid article { padding: 24px; border: 1px solid #ffffff20; border-radius: 16px; background: #142635; }
.future-destination-grid h3 { color: #fff; margin-bottom: 10px; }
.future-destination-grid span { color: #89b8bd; font-size: 13px; }
#world.in-seasons { min-height: 720px; height: calc(100svh - 56px); aspect-ratio: auto; }
#world #season-screen .beach-content { max-width: 1260px; padding: 195px 32px 44px; }
#world #beach-experiences { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; align-items: stretch; }
#world .beach-expedition { padding: 0; gap: 0; min-width: 0; border-radius: 20px; overflow: hidden; background: #111e2cf5; border: 1px solid #ffffff24; display: flex; flex-direction: column; text-decoration: none; }
#world .beach-expedition .card-img { height: 190px; flex-shrink: 0; position: relative; overflow: hidden; }
#world .beach-expedition .card-img img { width: 100%; height: 100%; object-fit: cover; }
#world .beach-expedition .card-overlay-badge { position: absolute; top: 14px; left: 14px; border-radius: 30px; padding: 6px 12px; background: #206e70ed; font-size: 11px; color: #fff; }
#world .beach-expedition .card-body { padding: 24px; display: flex; flex-direction: column; flex: 1; }
#world .beach-expedition .card-name { font: 22px/1.2 'Archivo Black',sans-serif; color: white; text-transform: uppercase; margin: 0 0 12px; }
#world .beach-expedition .card-tagline { color: #ffffffad; font: 14px/1.6 'Source Serif 4',serif; margin: 0 0 18px; flex: 1; }
#world .beach-expedition .card-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
#world .beach-expedition .card-meta-tag { font: 11px/1.5 'DM Sans',sans-serif; color: #a5dadd; border: 1px solid #48999c66; border-radius: 30px; padding: 5px 10px; }
#world .beach-expedition .card-action { border-top: 1px solid #ffffff1c; padding-top: 16px; color: #79d0d4; font-size: 13px; }
#world .beach-expedition.sold-out .card-action { color: #ff8191; }
#world .beach-expedition.coming-soon { opacity: .7; }
@media(max-width:1000px){#world #beach-experiences{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:550px){
 .destination-intro{padding:110px 20px 30px;}.destination-intro h1{font-size:29px;}
 #view-selector .selector-hero{height:auto;min-height:0;}.future-destinations{padding:40px 20px;}.future-destination-grid{grid-template-columns:1fr;}
 #world.in-seasons{height:100svh;min-height:700px;}
 #world #season-screen .beach-content{padding:175px 20px 32px;}
 #world #beach-experiences{grid-template-columns:1fr;gap:18px;}
 #world .beach-expedition .card-img{height:200px;}
 #world .beach-expedition .card-body{padding:22px;}
}
.experience-beach-mode #world.in-seasons { position: fixed; top: 56px; left: 0; right: 0; bottom: 0; z-index: 40; margin: 0 !important; width: 100%; height: auto; min-height: 0; }
.experience-beach-mode #world #season-screen { overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; }
.experience-beach-mode #world .world-footer { display: none; }
#world #season-screen.beach-arriving #beach-experiences { opacity: clamp(0,calc((var(--arrival-progress,0) - .78)*4.55),1); transform: translateY(clamp(0px,calc((1 - var(--arrival-progress,0))*12px),12px)); }
#world #season-screen.beach-arriving #beach-season-switch { opacity: clamp(0,calc((var(--arrival-progress,0) - .7)*3.34),1); }
@media(max-width:900px){.experience-beach-mode #world.in-seasons{top:76px;}}
@media(max-width:550px){
 .experience-beach-mode #world .beach-film,.experience-beach-mode #world .beach-shade { position:absolute; }
 .experience-beach-mode #world #back-to-world { top:18px; }
 .experience-beach-mode #world #beach-season-switch { top:16px; }
 .experience-beach-mode #world #season-screen .beach-content { padding-top:100px; }
}
body.beach-transition { overflow: hidden; touch-action: none; }
#world #beach-season-label { position:absolute; z-index:4; top:202px; right:4%; margin:0; padding:7px 14px; border-radius:30px; background:#0d2336ed; border:1px solid #a7d9da80; color:#fff; font:600 12px/1.4 'DM Sans',sans-serif; letter-spacing:.07em; text-transform:uppercase; pointer-events:none; }
@media(max-width:850px){#world #beach-season-label{top:154px;}}
@media(max-width:550px){#world #beach-season-label{top:148px;right:20px;font-size:10px;}.experience-beach-mode #world #beach-season-label{top:74px;}.experience-beach-mode #world #season-screen .beach-content{padding-top:125px;}}
#world #beach-experiences { margin-top:clamp(175px,26vh,300px); }
@media(max-width:550px){#world #beach-experiences{margin-top:clamp(150px,24svh,230px);}}

/* Mobile winter beach: keep the breaching whale on the left in view. */
@media(max-width:550px){#world #beach-winter.beach-film{object-position:left center}}
