.island-portals{padding-top:clamp(70px,7vw,110px);padding-bottom:0;font-family:Avenir,'Avenir Next',var(--sans);color:#262c2b}
.islands-heading{text-align:center;margin-bottom:36px}.islands-heading p{font:400 11px/1.5 Avenir,'Avenir Next',var(--sans);letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px}.islands-heading h2{font:400 27px/1.4 Avenir,'Avenir Next',var(--sans);letter-spacing:0;margin:0}
.islands-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(80px,12.5vw,160px) minmax(0,1fr);align-items:center}
.island-portal{display:block;text-decoration:none;color:inherit;text-align:center;min-width:0}.island-portal h3{font:400 clamp(30px,3.35vw,43px)/1.3 Avenir,'Avenir Next',var(--sans);letter-spacing:.08em;margin:0 0 20px;text-transform:none}
.island-photo{position:relative;overflow:hidden;aspect-ratio:470/510}.island-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s ease}.island-photo:after{content:'';position:absolute;inset:0;background:#000;opacity:.16;transition:opacity .7s ease}.island-portal:hover .island-photo:after,.island-portal:focus-visible .island-photo:after{opacity:0}.island-portal:hover img{transform:scale(1.025)}.island-portal:focus-visible{outline:1px solid #262c2b;outline-offset:8px}
.island-link{display:flex;align-items:center;gap:24px;width:max-content;margin:22px auto 0;padding-bottom:9px;border-bottom:1px solid #aaa;font:400 11px/1.4 Avenir,'Avenir Next',var(--sans);letter-spacing:.16em;text-transform:uppercase}.island-link span{font-size:21px;line-height:12px;letter-spacing:0}
.island-divider{text-align:center;font-size:12px;color:#858985;line-height:2.2;letter-spacing:.15em;text-transform:uppercase}.island-divider:before,.island-divider:after{content:'';display:block;width:1px;height:70px;background:#d2d5d0;margin:22px auto}
.rentals>.section-heading{flex-wrap:wrap}.rental-reset{font:400 11px Avenir,'Avenir Next',var(--sans);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #888;padding-bottom:5px;margin-left:auto}.rentals .carousel-controls{margin-left:auto}.rental-reset:not([hidden])~.carousel-controls{margin-left:14px}.rental-empty{padding:36px 0;border-top:1px solid #ddd}.rental-empty p{font-size:16px;line-height:1.7;margin-bottom:22px}.rental-empty .button{border:1px solid #999}.rentals [hidden]{display:none!important}
@media(max-width:700px){.island-portals{padding-top:65px}.islands-heading{margin-bottom:32px}.islands-heading h2{font-size:24px}.islands-grid{grid-template-columns:minmax(0,1fr);gap:0}.island-portal h3{font-size:32px;margin-bottom:18px}.island-photo{aspect-ratio:4/4.3}.island-divider{font-size:11px;display:flex;align-items:center;justify-content:center;gap:20px;padding:35px 0;line-height:1.8}.island-divider:before,.island-divider:after{width:40px;height:1px;margin:0}.rental-reset{margin-left:0}}
@media(prefers-reduced-motion:reduce){.island-photo img,.island-photo:after{transition:none}.island-portal:hover img{transform:none}}

/* Compact island selection: both destinations and actions fit below the sticky header. */
@media(min-width:701px){
 .island-portals{padding-top:36px;padding-bottom:32px;max-width:1120px}
 .islands-heading{margin-bottom:26px}
 .islands-grid{grid-template-columns:minmax(0,1fr) clamp(100px,10vw,140px) minmax(0,1fr);align-items:start}
 .island-photo{aspect-ratio:auto;height:clamp(220px,calc(100svh - 430px),440px)}
 .island-divider{align-self:center;transform:translateY(-34px)}
 .island-divider:before,.island-divider:after{height:clamp(35px,5vh,60px);margin:18px auto}
}
.island-photo h3{position:absolute;z-index:2;bottom:28px;left:12px;right:12px;margin:0;color:#fff;font-size:clamp(28px,2.65vw,36px);line-height:1.3;text-shadow:0 2px 20px #0005;pointer-events:none}
.island-photo:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(transparent 45%,rgba(0,0,0,.35));pointer-events:none}
.island-link.button{display:flex;justify-content:center;min-width:190px;min-height:48px;width:max-content;margin:20px auto 0;padding:14px 27px;border:1px solid #7a817b;color:#303735;background:transparent;font:400 11px/1.8 var(--sans);letter-spacing:.1em;text-transform:uppercase;transition:background .25s,color .25s}
.island-portal:hover .island-link.button,.island-portal:focus-visible .island-link.button{background:#252b2a;color:white}
@media(max-width:700px){.island-portals{padding-top:42px}.islands-heading{margin-bottom:26px}.island-photo{aspect-ratio:1.2}.island-photo h3{bottom:24px;font-size:30px;margin:0}.island-link.button{min-height:48px;margin-top:18px}.island-divider{padding:25px 0}}

/* Align the outer photograph edges with the page's content grid. */
.island-portals.wrap{max-width:1512px}
.islands-heading h2{font:400 11px/1.5 Avenir,'Avenir Next',var(--sans);letter-spacing:.18em;text-transform:uppercase;margin:0}
.island-photo .island-link.button{position:absolute;z-index:2;bottom:28px;left:50%;transform:translateX(-50%);margin:0;border-color:rgba(255,255,255,.7);color:#fff;background:rgba(0,0,0,.14)}
.island-portal:hover .island-link.button,.island-portal:focus-visible .island-link.button{background:#fff;color:#252b2a;border-color:#fff}
@media(min-width:701px){.island-divider{transform:none}.island-photo{height:clamp(250px,calc(100svh - 360px),470px)}.islands-heading{margin-bottom:30px}}
@media(max-width:700px){.island-photo .island-link.button{bottom:24px}.islands-heading{margin-bottom:28px}}
.island-divider{white-space:nowrap;font-size:clamp(11px,.9vw,12px);letter-spacing:.12em}

/* Wider landscape photographs with a quiet editorial paragraph per island. */
.island-destination{min-width:0}
.islands-heading h2{font-size:16px;line-height:1.5;letter-spacing:.17em}
.island-description{margin:24px 0 0;font:400 14px/1.75 Avenir,'Avenir Next',var(--sans);color:#68706b;text-align:justify;text-align-last:left;hyphens:auto;overflow-wrap:break-word}
.island-photo .island-link.button{background:#fff;border-color:#fff;color:#303735;min-width:190px;bottom:24px}
.island-portal:hover .island-link.button,.island-portal:focus-visible .island-link.button{background:#252b2a;border-color:#252b2a;color:#fff}
@media(min-width:701px){
 .islands-grid{grid-template-columns:minmax(0,1fr) clamp(90px,7vw,110px) minmax(0,1fr);align-items:start}
 .island-photo{height:min(24vw,calc(100svh - 470px),360px);min-height:190px}
 .island-divider{align-self:start;padding-top:0;height:min(24vw,calc(100svh - 470px),360px);min-height:190px;display:flex;flex-direction:column;justify-content:center;line-height:1.8;font-size:11px;letter-spacing:.08em}
 .island-divider:before,.island-divider:after{height:36px;flex-shrink:0;margin:16px auto}
 .islands-heading{margin-bottom:28px}
}
@media(max-width:700px){.islands-heading h2{font-size:14px}.island-photo{aspect-ratio:1.4}.island-description{font-size:13px;line-height:1.8;margin-top:20px}.island-divider{padding:28px 0}.island-photo .island-link.button{bottom:20px}}
/* Quiet, geographically accurate island outlines in place of property photos. */
.island-maps .island-photo{background:#f3f5f3;overflow:visible}
.island-maps .island-photo:before,.island-maps .island-photo:after{display:none}
.island-maps .island-photo img{object-fit:contain;transform:none!important;filter:none}
.island-maps .island-photo .island-link.button{bottom:16px;min-height:42px;padding:10px 22px;background:#fff;border:1px solid #d7dcd5}
.island-maps .island-portal:hover .island-link.button,.island-maps .island-portal:focus-visible .island-link.button{background:#252b2a;border-color:#252b2a;color:#fff}
/* Reliefs belong to the white page surface, without map tiles or frames. */
.island-maps .island-photo{background:transparent;overflow:visible}
.island-maps .island-photo img{object-fit:contain}
.island-maps .island-link.button{min-height:44px;margin:12px auto 0;padding:11px 26px;border-color:#969f96;color:#303735;background:transparent}
.island-maps .island-description{margin-top:25px}
@media(min-width:701px){.island-maps .island-photo,.island-maps .island-divider{height:min(24vw,calc(100svh - 525px),340px);min-height:190px}.island-maps .islands-heading{margin-bottom:18px}}
@media(max-width:700px){.island-maps .island-photo{aspect-ratio:1.55}.island-maps .island-link.button{margin-top:5px}}
