/* Final rhythm and motion. Scrolling remains entirely native. */
:root{--motion-duration:800ms;--motion-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:104px}
.journal{padding-top:var(--section-half-space)}
.journal>.journal-heading{margin-bottom:0}
.journal .journal-controls{top:calc(var(--section-half-space) - 52px)}
.collection .sale-grid.carousel .reference-photo,.collection .sale-grid.carousel .photo,
.rentals .rental-grid.carousel .reference-photo,.rentals .rental-grid.carousel .photo{aspect-ratio:1.48!important}
.section-heading h2{color:#303633}
.seller-copy h2{font-family:Avenir,'Avenir Next',var(--sans);letter-spacing:0;line-height:1.22}
.seller-copy h2 .seller-line:first-child{font-size:.84em;letter-spacing:.055em;margin-bottom:5px}
.home-page .seller-copy{text-align:center;padding-inline:clamp(28px,4vw,80px)}
.home-page .seller-copy .seller-aside,.home-page .seller-copy>.line{margin-inline:auto}
.seller.is-revealed .seller-line{animation:none}
.seller-image.reference-photo{overflow:hidden}
.island-description{max-width:440px;margin-left:auto;margin-right:auto;line-height:1.85}
.island-divider{color:#747b75}
.hero-gallery{transform:translate3d(0,var(--hero-drift,0px),0) scale(1.035);transform-origin:center;will-change:transform}
.reveal-ready{opacity:0;transform:translate3d(0,20px,0);transition:opacity 800ms var(--motion-ease),transform 1000ms var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.reveal-ready.is-visible{opacity:1;transform:none}
.seller-image img{transform:scale(1.025);transition:transform 1.4s var(--motion-ease)}
.seller-image.is-visible img{transform:scale(1)}
.property-card .real-photo img,.property-card .photo img{transition:transform 1.1s var(--motion-ease)}
.guide-grid .editorial-photo>img{transition:transform 1.1s var(--motion-ease)}
.guide-card:hover .editorial-photo>img,.guide-card:focus-visible .editorial-photo>img{transform:scale(1.035)}
.site-header nav a,.site-header nav button:not(.language-toggle){position:relative}
.site-header nav a::after,.site-header nav button:not(.language-toggle)::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;opacity:.55;transition:transform .3s ease}
.site-header nav a:hover::after,.site-header nav a:focus-visible::after,.site-header nav a[aria-current]::after,.site-header nav button:not(.language-toggle):hover::after{transform:scaleX(1)}
.site-header.is-sticky{height:68px;animation-duration:.28s;background:rgba(32,37,35,.98)}
.site-header.is-sticky .original-logo{width:34px}
.has-sticky-menu #mobile-nav{top:68px}
.button{transition:background .3s ease,color .3s ease,border-color .3s ease}
.carousel{scroll-snap-type:x proximity}
.carousel-controls button{min-height:44px}
.carousel:focus-visible{outline:1px solid #747d76;outline-offset:6px}
@media(max-width:1000px) and (min-width:701px){
 .site-header{display:flex;justify-content:center}
 .site-header nav{display:none}
 .site-header .menu-toggle{display:block;position:absolute;right:var(--content-edge);top:36px;color:inherit;font-size:12px;letter-spacing:.1em}
 .site-header.is-sticky .menu-toggle{top:25px}
 #mobile-nav{right:var(--content-edge)}
}
@media(max-width:1000px){
 #mobile-nav{background:#202523;color:#f1f3ee;box-shadow:0 16px 40px #0002;min-width:220px;padding:30px;gap:24px;border:1px solid #ffffff12}
 #mobile-nav a,#mobile-nav button{font:400 13px/1.5 Avenir,'Avenir Next',var(--sans);letter-spacing:.1em}
}
@media(max-width:700px){
 html{scroll-padding-top:88px}
 .site-header.is-sticky{height:64px}
 .has-sticky-menu #mobile-nav{top:64px}
 .hero-gallery{transform:none;will-change:auto}
 .seller-copy{padding-top:56px;padding-bottom:56px}
 .seller-copy h2{font-size:34px}
 .island-description{max-width:440px}
 .journal{padding-top:var(--section-half-space);row-gap:30px}
 .journal .journal-controls{top:var(--section-half-space)}
 .journal-heading h2{max-width:250px;padding-right:12px}
 .journal-heading p{max-width:320px}
 .journal .guide-grid .guide-card .reference-photo,.journal .guide-grid .guide-card:first-child .reference-photo{aspect-ratio:.78!important}
 .reference-footer .footer-inner{gap:32px}
}
@media(prefers-reduced-motion:reduce){
 html,.carousel{scroll-behavior:auto}
 .hero-gallery{transform:none;will-change:auto}
 .reveal-ready{opacity:1;transform:none;transition:none}
 .seller-image img,.property-card img,.guide-grid .editorial-photo>img{transition:none;transform:none!important}
 .site-header.is-sticky{animation:none}
}

/* A full-width rental invitation, matched to the island silhouettes. */
.ownership-banner{width:100%;margin:var(--section-half-space) 0;background:#505651;color:#fff}
.ownership-inner.wrap{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;justify-items:center;text-align:center;gap:28px;padding-top:clamp(48px,4.4vw,72px);padding-bottom:clamp(48px,4.4vw,72px)}
.ownership-copy h2{margin:0 0 20px;font:400 clamp(22px,2vw,30px)/1.35 Avenir,'Avenir Next',var(--sans);letter-spacing:.09em;text-transform:uppercase;color:#fff}
.ownership-copy p{margin:0 auto;font:400 15px/1.75 Avenir,'Avenir Next',var(--sans);color:#f1f2ef;max-width:780px}
.ownership-banner .button{min-width:190px;min-height:50px;padding:15px 24px;background:#fff;border:1px solid #fff;color:#303633;white-space:nowrap;font:400 12px/1.5 Avenir,'Avenir Next',var(--sans);letter-spacing:.08em;text-transform:uppercase}
.ownership-banner .button:hover,.ownership-banner .button:focus-visible{background:transparent;color:#fff}
@media(max-width:900px){.ownership-banner .button{justify-self:center}.ownership-copy p{max-width:680px}}
@media(max-width:700px){.ownership-copy h2{font-size:22px;letter-spacing:.07em}.ownership-copy p{font-size:14px;line-height:1.8}.ownership-inner.wrap{padding-top:44px;padding-bottom:44px}}

.island-maps .islands-heading h2{font:300 28px/1.4 Avenir,'Avenir Next',var(--sans);letter-spacing:.07em;text-transform:uppercase;color:#303633}
@media(max-width:700px){.island-maps .islands-heading h2{font-size:22px}}

main>.brand-ribbon{position:relative;inset:auto;width:100%;max-width:100%;height:clamp(80px,8vw,112px);transform:none;margin:0}
.journal{padding-bottom:var(--section-space)}

:root{--footer-surface:#202523;--footer-button:#3d4540}
.ownership-banner,.reference-footer{background:var(--footer-surface)}
.ownership-banner .button,.reference-footer .subscribe button{background:var(--footer-button);border-color:var(--footer-button);color:#f1f2ef}
.ownership-banner .button:hover,.ownership-banner .button:focus-visible,.reference-footer .subscribe button:hover,.reference-footer .subscribe button:focus-visible{background:#505a53;border-color:#505a53;color:#fff}

.ownership-copy p{font-size:16px;line-height:1.85;font-weight:400;color:#f1f2ef}
.ownership-banner .button{min-width:220px;min-height:56px;padding:17px 30px;font-size:14px;background:#fff;border-color:#fff;color:#303633}
.ownership-banner .button:hover,.ownership-banner .button:focus-visible{background:#e9ece8;border-color:#e9ece8;color:#202523}
@media(max-width:700px){.ownership-copy p{font-size:15px;line-height:1.85}}

/* Consistent controls and supporting typography across the homepage. */
.seller-copy .button,.island-maps .island-link.button{box-sizing:border-box;min-height:52px;padding:14px 26px;display:inline-flex;align-items:center;justify-content:center;font:400 12px/1.8 Avenir,'Avenir Next',var(--sans);letter-spacing:.1em}
.ownership-copy h2{font-size:28px;font-weight:300;line-height:1.4;letter-spacing:.07em}
.journal-heading p{font-size:16px;line-height:1.85;font-weight:400}
@media(max-width:700px){.ownership-copy h2{font-size:22px}.journal-heading p{font-size:15px}}
