.island-explorer{padding:60px 0 30px;background:var(--sand);color:var(--ink)}.island-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:32px}.island-intro h2{font-size:clamp(36px,3.5vw,54px)}.island-intro h2 em{color:var(--wine);font-weight:400}.island-intro>p{font-size:13px;max-width:360px;line-height:1.8}
.island-stage{position:relative;max-width:1640px;margin:auto;background:#103044;isolation:isolate}.island-map{position:relative;aspect-ratio:1942/1086;overflow:hidden}.island-geography{position:absolute;inset:0}.island-aerial{width:100%;height:100%;object-fit:fill}.island-map:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#06223566,transparent 42%)}
.island-home{position:absolute;display:flex;align-items:center;gap:10px;transform:translate(-6px,-50%);pointer-events:none}.island-home>span{width:10px;height:10px;border:2px solid #fff6e9;border-radius:50%;background:#9b6941}.island-home img{width:145px;height:auto;filter:drop-shadow(0 2px 3px #162e39)}
.island-pin{position:absolute;transform:translate(-50%,-50%);width:clamp(52px,6vw,82px);height:clamp(28px,3vw,40px);padding:4px;background:none;border:0;border-radius:0;display:grid;place-items:center;z-index:1;transition:opacity .25s,transform .25s;filter:drop-shadow(0 2px 2px #102d3d)}.island-pin img{width:100%;height:100%;object-fit:contain;min-height:0;min-width:0}.island-pin:after{content:'';position:absolute;top:calc(100% + 2px);width:3px;height:3px;border-radius:50%;background:#fff7eb;opacity:.8}.island-pin:hover,.island-pin.is-selected{transform:translate(-50%,-50%) scale(1.09);z-index:2}.island-pin-number{display:none}
.island-directory{position:absolute;left:5%;top:38%;display:flex;flex-direction:column;width:24%;max-width:280px;z-index:2}.island-directory button{display:flex;align-items:center;gap:12px;color:#fff8e9;background:none;border:0;text-align:left;min-height:36px;padding:5px 0;font-size:12px;line-height:1.4}.island-directory-dot{width:4px;height:4px;border:1px solid #e7d2b6;border-radius:50%;flex-shrink:0}.island-directory button svg{width:16px;height:16px;margin-left:auto;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}.island-directory button:hover svg,.island-directory button.is-active svg,.island-directory button:focus-visible svg{opacity:1;transform:none}.island-directory button.is-active .island-directory-dot{background:#fff3d7}.island-directory button:hover,.island-directory button.is-active{color:#fff;font-weight:600}
.island-reveal{position:absolute;left:32%;bottom:7%;width:clamp(200px,20%,285px);aspect-ratio:4/5;z-index:4;overflow:hidden;animation:island-photo-in .35s cubic-bezier(.16,1,.3,1) both;box-shadow:0 12px 26px #03213630}.island-reveal-photo{width:100%;height:100%;object-fit:cover}.island-reveal-caption{position:absolute;inset:auto 0 0;padding:48px 20px 20px;background:linear-gradient(transparent,#082633cf);color:#fff9ee}.island-reveal-caption span{font-size:8px;letter-spacing:.08em}.island-reveal-caption h3{font-size:27px;margin-top:6px;line-height:1.1}.island-reveal-close{position:absolute;right:9px;top:9px;border:0;border-radius:50%;width:30px;height:30px;padding:6px;background:#fff8ebed;color:#35261f;display:grid;place-items:center}.island-reveal-close svg{width:17px;height:17px}.island-map-hint{position:absolute;left:5%;bottom:5%;color:#fff0d9cc;font-size:9px;letter-spacing:.06em;pointer-events:none}
@keyframes island-photo-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.island-context{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:13px 35px;padding-top:20px}.island-context p{font-size:12px;max-width:750px}.island-context a{font-size:11px;white-space:nowrap}.island-context a span{margin-left:8px}.island-context small{width:100%;font-size:9px;line-height:1.8;color:#755c4b}
@media(min-width:761px) and (max-width:1100px){.island-directory{top:33%;left:4%;width:25%}.island-directory button{font-size:10px;min-height:30px}.island-reveal{left:32%;width:185px;bottom:6%}.island-reveal-caption{padding:40px 15px 16px}.island-reveal-caption h3{font-size:23px}.island-home img{width:108px}}
@media(max-width:760px){.island-explorer{padding:38px 0 25px}.island-intro{display:block;margin-bottom:24px}.island-intro h2{font-size:37px}.island-intro>p{font-size:12px;margin-top:16px;max-width:330px}.island-stage{padding-bottom:235px}.island-map{height:370px;aspect-ratio:auto}.island-geography{width:660px;height:370px;left:calc(50% - 370px);right:auto}.island-map:after{background:linear-gradient(0deg,#082b40,transparent 35%)}.island-home{gap:5px}.island-home img{width:104px}.island-pin{width:28px;height:28px;padding:0;background:#fff7eb;color:#15354a;border:0;border-radius:50%;filter:none}.island-pin img{display:none}.island-pin-number{display:block;font-size:10px;font-weight:700}.island-pin:after{display:none}.island-pin.is-selected{background:#ead6b5}.island-directory{left:24px;right:24px;top:370px;width:auto;max-width:none;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.island-directory button{font-size:11px;min-height:44px;gap:8px}.island-directory button svg{width:14px;height:14px}.island-map-hint{left:24px;bottom:20px;font-size:9px}.island-reveal{left:50%;top:42px;bottom:auto;width:220px;aspect-ratio:4/5;transform:translateX(-50%);animation:island-photo-mobile .3s ease-out both;box-shadow:0 10px 35px #001c3d55}.island-reveal-caption h3{font-size:27px}.island-reveal-close{width:36px;height:36px}.island-context{gap:13px;padding-top:18px}.island-context p{font-size:11px}}
@keyframes island-photo-mobile{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){.island-reveal,.island-pin,.island-directory button svg{animation:none;transition:none}}

/* Legible map labels; markers remain anchored to the brochure reference points. */
.island-home{z-index:3;gap:0;transform:translate(-7px,-7px);align-items:flex-start}
.island-home .island-home-point{width:15px;height:15px;border:3px solid #fff6e9;background:#683c50;box-shadow:0 0 0 5px #683c5033;flex-shrink:0;border-radius:50%}
.island-home-label{position:relative;margin-left:20px;margin-top:-30px;display:flex;flex-direction:column;background:#fff8eb;color:#542c3e;padding:13px 20px;box-shadow:0 4px 12px #172c3729;white-space:nowrap}
.island-home-label:before{content:'';position:absolute;right:100%;top:37px;width:20px;height:1px;background:#fff8eb}
.island-home-label strong{font-family:var(--sans);font-size:21px;line-height:1.25;font-weight:600;letter-spacing:-.025em}
.island-home-label>span{font-size:10px;letter-spacing:.12em;line-height:1.7;margin-top:2px}
@media(min-width:761px){
.island-pin{width:24px;height:24px;border:0;border-radius:50%;filter:none;transform:translate(-50%,-50%);padding:0}
.island-pin:after{top:9px;left:9px;width:6px;height:6px;background:#fff7eb;box-shadow:0 1px 3px #152f39}
.island-pin:before{content:'';position:absolute;bottom:14px;left:11px;width:1px;height:24px;background:#fff7eb}
.island-logo-label{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);width:104px;height:46px;display:grid;place-items:center;background:#fff9ef;padding:8px 12px;box-shadow:0 3px 9px #082b4030;border-radius:2px}
.island-pin .island-logo-label img{display:block;width:100%;height:100%;max-height:30px;object-fit:contain;filter:brightness(0) saturate(100%);opacity:.88}
.island-pin:hover,.island-pin.is-selected{transform:translate(-50%,-50%)}
.island-pin:hover .island-logo-label,.island-pin.is-selected .island-logo-label{background:#fff;box-shadow:0 4px 12px #082b4055}
.island-pin[data-place="2"] .island-logo-label{bottom:calc(100% + 32px)}
.island-pin[data-place="2"]:before{height:44px}
.island-pin[data-place="0"] .island-logo-label{bottom:calc(100% - 4px)}
.island-pin[data-place="4"] .island-logo-label{left:calc(50% + 28px)}
}
@media(max-width:760px){.island-home-label{padding:10px 13px;margin-left:16px;margin-top:-26px}.island-home-label strong{font-size:17px}.island-home-label>span{font-size:9px}.island-home-label:before{width:16px;top:33px}.island-pin .island-logo-label{display:none}}
@media(max-width:760px){.island-home-label{position:absolute;bottom:24px;left:7px;margin:0;transform:translateX(-50%);text-align:center}.island-home-label:before{right:auto;left:50%;top:100%;width:1px;height:24px}}
.island-disney-announcement{display:flex;flex-direction:column;margin-top:14px;padding-top:12px;border-top:1px solid #fff4;color:#fff8e9;text-decoration:none;font-size:12px;line-height:1.7}.island-disney-announcement small{font-size:9px;color:#f3dfc0}@media(max-width:760px){.island-disney-announcement{grid-column:1/-1;margin-top:8px;padding-top:10px;font-size:11px}.island-stage{padding-bottom:295px}}@media(min-width:761px) and (max-width:1100px){.island-directory{top:27%}}
.island-home-label img{display:block;width:170px;height:auto;padding:0;background:none;filter:brightness(0) saturate(100%);opacity:.88}.island-home-label{padding:16px 20px;margin-top:-29px}.island-home-label:before{top:36px}@media(max-width:760px){.island-home-label{padding:12px 16px;margin:0}.island-home-label img{width:140px}.island-home-label:before{top:100%}}
.island-disney-region{position:absolute;left:5%;top:10%;z-index:3;color:#fff9eb;display:flex;flex-direction:column;max-width:300px;text-decoration:none;padding:0 0 10px;border-bottom:1px dashed #fff7;filter:drop-shadow(0 1px 3px #193b49)}.island-disney-region strong{font-size:15px;font-weight:600;line-height:1.6}.island-disney-region span{font-size:10px;line-height:1.8}.island-disney-region small{font-size:8px;line-height:1.8;color:#fff0d6}@media(max-width:760px){.island-disney-region{top:18px;left:20px;max-width:150px}.island-disney-region strong{font-size:11px}.island-disney-region span{font-size:8px}.island-disney-region small{font-size:7px}.island-home-label{bottom:auto;top:22px}.island-home-label:before{top:auto;bottom:100%;height:22px}}

/* Decluttered geographic labels. Lines preserve the original reference points. */
.island-stage{container-type:inline-size}
.island-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.island-leaders line{stroke:#fff5df;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.85}
.island-map-point,.island-home-anchor{position:absolute;width:6px;height:6px;background:#fff5df;border:1px solid #775d48;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.island-home-anchor{width:12px;height:12px;background:#683c50;border:3px solid #fff5df;z-index:2}
.island-home{transform:translate(-50%,-50%);display:block;z-index:3}
.island-home .island-home-label{position:static;margin:0;transform:none;padding:14px 18px;background:#fff8eb}
.island-home-label:before{display:none}
.island-home-label img{width:clamp(128px,11cqw,170px);height:auto;filter:brightness(0);opacity:1}
.island-disney-region{max-width:210px;top:7%;left:5%;filter:none}
.island-disney-logo{width:110px;height:auto;filter:brightness(0) invert(1);margin-bottom:7px}
.island-disney-region strong{font-size:11px}.island-disney-region span{font-size:9px}.island-disney-region small{font-size:8px}
@media(min-width:761px){
.island-pin{width:clamp(74px,8cqw,108px);height:clamp(38px,4.2cqw,52px)}
.island-pin:before,.island-pin:after{display:none}
.island-pin .island-logo-label{position:static;transform:none;left:auto;bottom:auto;width:100%;height:100%;padding:8px 11px}
.island-pin .island-logo-label img{max-height:36px;opacity:1}
.island-pin[data-place] .island-logo-label{left:auto;bottom:auto}
}
@media(max-width:760px){
.island-home .island-home-label{position:static;margin:0;transform:none;padding:10px 13px}.island-home-label img{width:120px}
.island-disney-region{left:18px;top:12px;max-width:128px}.island-disney-logo{width:76px;margin-bottom:4px}.island-disney-region strong{font-size:9px}.island-disney-region span{font-size:8px}.island-disney-region small{font-size:7px}
.island-map-point{width:4px;height:4px}.island-leaders line{opacity:.6}
}
@media(max-width:760px){.island-disney-region{top:230px;left:18px;max-width:140px}}

/* Disney is an explicitly approximate regional reference, without an outbound CTA. */
.island-disney-marker{position:absolute;z-index:3;transform:translate(-50%,-50%);pointer-events:none}
.island-disney-marker-label{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);width:142px;background:#fff9ef;padding:11px 12px 10px;text-align:center;color:#35261f;box-shadow:0 3px 9px #082b4030}
.island-disney-marker-label:after{content:'';position:absolute;top:100%;left:50%;height:25px;border-left:1px dashed #fff9ef}
.island-disney-marker-label img{width:90px;height:auto;margin:0 auto 6px;filter:brightness(0)}
.island-disney-marker-label>span{display:block;font-size:9px;line-height:1.5;font-weight:600}
.island-disney-marker-label small{display:block;font-size:7px;line-height:1.5;margin-top:4px;color:#654b3e}
.island-disney-marker-dot{display:block;width:14px;height:14px;border:1px dashed #fff9ef;border-radius:50%;background:#683c5055}
@media(max-width:760px){.island-disney-marker{left:31%!important;top:28%!important}.island-disney-marker-label{width:116px;padding:8px}.island-disney-marker-label img{width:72px}.island-disney-marker-label>span{font-size:8px}.island-disney-marker-label small{font-size:7px}.island-stage{padding-bottom:235px}}
.island-disney-marker .island-disney-marker-dot{display:none}.island-disney-marker-label{position:static;transform:none;left:auto;bottom:auto}.island-disney-marker-label:after{display:none}.island-disney-anchor{position:absolute;width:18px;height:18px;border:1px dashed #fff8eb;border-radius:50%;transform:translate(-50%,-50%);background:#683c5022;pointer-events:none}@media(max-width:760px){.island-disney-marker{left:45%!important;top:78%!important}.island-disney-anchor,.island-disney-leader{display:none}}

.island-directory-number,.island-disney-number{display:none}
button.island-disney-marker{border:0;padding:0;background:none;font:inherit;cursor:pointer;pointer-events:auto;color:inherit}
.island-disney-marker-label{display:block}.island-disney-marker-label>small{display:block}
.island-disney-marker:hover .island-disney-marker-label{background:#fff}
.island-reveal.is-disney{width:clamp(260px,29%,390px);aspect-ratio:auto;background:#fff9ef}
.island-reveal.is-disney .island-reveal-photo{height:auto;object-fit:contain;display:block}
.island-reveal.is-disney .island-reveal-caption{position:static;padding:15px 18px;background:none;color:#35261f}
.island-reveal.is-disney .island-reveal-caption h3{font-size:24px}.island-reveal.is-disney .island-reveal-caption>span{font-size:9px}
@media(max-width:760px){.island-directory-dot{display:none}.island-directory-number{display:grid;place-items:center;width:20px;height:20px;flex-shrink:0;border:1px solid #e6d2b699;border-radius:50%;font-size:9px}.island-disney-number{display:grid;place-items:center;position:absolute;right:-9px;top:-9px;width:26px;height:26px;background:#fff7eb;border:1px solid #cbbba4;border-radius:50%;font-size:10px;color:#15354a}.island-reveal.is-disney{width:calc(100% - 48px);max-width:350px}}
