
.amarena-property .opening-photograph{position:absolute;inset:0;width:100%;height:100%}
.amarena-property .opening-photograph video{width:100%;height:100%;object-fit:cover}
.amarena-property .villa-opening:after{pointer-events:none;background:linear-gradient(180deg,#10201860,transparent 27%,transparent 50%,#10201899)}
.amarena-property .suite-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.amarena-property .suite-card{padding:28px 0;border-top:1px solid #20392c35}
.amarena-property .suite-card .room-bed{font-size:20px;margin:18px 0 12px}
.amarena-property .suite-card p{font-size:18px}
.amarena-property .villa-facts{flex-wrap:wrap}
.amarena-property .villa-facts dd{font-size:clamp(23px,2vw,30px)}
.amarena-property .opening-copy{max-width:70%}
.amarena-property .hero-note{max-width:640px}
@media(max-width:760px){.amarena-property .suite-grid{grid-template-columns:1fr;gap:12px}.amarena-property .opening-copy{max-width:none;right:24px}.amarena-property .hero-note{font-size:18px;max-width:270px}.amarena-property .hero-gallery{font-size:15px}.amarena-property .villa-facts dd{font-size:23px}.amarena-property .suite-card p{font-size:18px}}
@media(prefers-reduced-motion:reduce){.amarena-property video{display:none}.amarena-property .opening-photograph{background:url('/assets/amarena/hero-poster.webp') center/cover}}

.amarena-property svg{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.3}
.amarena-property .hero-gallery{white-space:nowrap}

/* Viewport-anchored gallery: photograph aspect ratio never moves the controls. */
.amarena-property #photo-viewer{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;overflow:hidden}
.amarena-property #photo-viewer .viewer-top{position:absolute;inset:0 0 auto;height:84px;box-sizing:border-box;padding:16px 28px;z-index:4}
.amarena-property #viewer-caption{flex:1;min-width:0;max-width:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.amarena-property #photo-viewer .viewer-top>div{flex-shrink:0}
.amarena-property #photo-viewer .viewer-stage{position:absolute;inset:84px 76px 48px;width:auto;height:auto;padding:0;display:flex;align-items:center;justify-content:center}
.amarena-property #photo-viewer .viewer-stage>img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:scale-down}
.amarena-property #photo-viewer .viewer-arrow{position:fixed;top:50%;bottom:auto;transform:translateY(-50%);width:48px;height:48px;z-index:5;background:#101411b3}
.amarena-property #photo-viewer .viewer-prev{left:18px;right:auto}
.amarena-property #photo-viewer .viewer-next{right:18px;left:auto}
.amarena-property #photo-viewer .viewer-bottom{position:absolute;bottom:12px;left:20px;right:20px;height:24px;margin:0;text-align:center}
.amarena-property #photo-viewer .viewer-stage.is-zoomed{display:block;overflow:auto}
.amarena-property #photo-viewer .viewer-stage.is-zoomed>img{max-width:none;max-height:none;object-fit:contain}
@media(max-width:760px){
.amarena-property #photo-viewer .viewer-top{height:94px;padding:12px 16px;gap:12px}
.amarena-property #photo-viewer .viewer-top>div{gap:8px}
.amarena-property #photo-viewer .viewer-stage{inset:94px 10px 80px}
.amarena-property #photo-viewer .viewer-arrow{top:auto;bottom:16px;transform:none}
.amarena-property #photo-viewer .viewer-prev{left:20px}
.amarena-property #photo-viewer .viewer-next{right:20px}
.amarena-property #photo-viewer .viewer-bottom{bottom:23px;left:80px;right:80px;height:auto;font-size:12px}
}

/* Amarena: photographic chapters for an entire-property group stay. */
.amarena-property .retreat-amenities{padding:0;background:var(--paper);color:var(--ink)}
.amarena-property .retreat-pools,.amarena-property .retreat-dining,.amarena-property .retreat-beach{padding-block:clamp(70px,7vw,130px)}
.amarena-property .retreat-dining{padding-top:0}
.amarena-property .retreat-amenities .section-heading{align-items:center}
.amarena-property .retreat-amenities .section-heading>p{max-width:540px}
.amarena-property .retreat-amenities p{font-size:18px;line-height:1.7}
.amarena-property .retreat-amenities .eyebrow{font-size:14px;line-height:1.6}
.amarena-property .retreat-amenities .section-heading>p{font-size:20px}
.amarena-property .amenity-shortcuts{display:flex;gap:28px;margin:-12px 0 28px;font-size:16px}
.amarena-property .amenity-shortcuts a{color:var(--ink);text-underline-offset:6px;text-decoration-thickness:1px;min-height:44px;display:inline-flex;align-items:center}
.amarena-property .pool-panorama .photo{aspect-ratio:1.95}
.amarena-property .pool-panorama img{object-position:center 62%}
.amarena-property .pool-details{display:flex;gap:28px;justify-content:space-between;padding:24px 0 0}
.amarena-property .pool-details p{font-size:17px;margin:0;flex:1;padding-top:16px;border-top:1px solid var(--line)}
.amarena-property .dining-photographs{display:grid;grid-template-columns:1.8fr 1fr;gap:28px;align-items:start}
.amarena-property .dining-photographs .photo{height:clamp(340px,36vw,640px)}
.amarena-property .dining-photographs figure:last-child img{object-position:center 56%}
.amarena-property .dining-details{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;padding-top:30px;align-items:start}
.amarena-property .dining-details p{margin:0;max-width:600px}
.amarena-property .dining-details .service-note{font-size:16px}
.amarena-property .retreat-community{padding-block:clamp(70px,7vw,130px);background:#efeee8}
.amarena-property .community-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.amarena-property .community-grid .photo{aspect-ratio:1.65}
.amarena-property .community-copy{max-width:590px;padding:27px 0 0}
.amarena-property .community-copy h3{font-size:25px;margin:0 0 12px}
.amarena-property .community-copy p{margin:0}
.amarena-property .retreat-amenities .community-note{font-size:16px;max-width:880px;border-top:1px solid var(--line);padding-top:25px;margin-top:40px;color:#526156}
.amarena-property .beach-intro{text-align:center;max-width:850px;margin:0 auto 45px}
.amarena-property .beach-intro h2{margin-bottom:26px}
.amarena-property .beach-intro>p:last-child{font-size:20px}
.amarena-property .beach-panorama .photo{aspect-ratio:1.95}
.amarena-property .retreat-amenities .beach-note{font-size:16px;color:#526156;margin:20px 0 0;max-width:840px}
.amarena-property .retreat-planning{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-block:25px 100px;border-bottom:1px solid var(--line)}
.amarena-property .retreat-planning h2{margin-bottom:30px}
.amarena-property .planning-details>div{border-bottom:1px solid var(--line);padding:0 0 24px;margin-bottom:24px}
.amarena-property .planning-details h3{font-size:23px;margin:0 0 10px}
.amarena-property .planning-details p{margin:0}
.amarena-property .retreat-amenities figure figcaption{font-size:15px}
/* Content is visible without JavaScript; animations are added only when supported. */
@media(prefers-reduced-motion:no-preference){
 .amarena-property .arrival-ready{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform 1s cubic-bezier(.22,.61,.36,1)}
 .amarena-property .arrival-ready.arrived{opacity:1;transform:translateY(0)}
 .amarena-property .retreat-reveal.reveal-ready .photo{clip-path:inset(5% 2% 5% 2%);transition:clip-path 1.25s cubic-bezier(.22,.61,.36,1)}
 .amarena-property .retreat-reveal.reveal-ready.arrived .photo{clip-path:inset(0)}
}
@media(max-width:1000px){
 .amarena-property .retreat-amenities .section-heading{gap:5%;align-items:start}
 .amarena-property .retreat-amenities .section-heading>p{font-size:18px}
 .amarena-property .retreat-amenities h2{font-size:clamp(42px,5vw,62px)}
 .amarena-property .retreat-planning{gap:7%}
}
@media(max-width:760px){
 .amarena-property .retreat-pools,.amarena-property .retreat-dining,.amarena-property .retreat-beach,.amarena-property .retreat-community{padding-block:65px}
 .amarena-property .retreat-dining{padding-top:10px}
 .amarena-property .retreat-amenities .section-heading{display:block;margin-bottom:28px}
 .amarena-property .retreat-amenities .section-heading>p{margin-top:24px}
 .amarena-property .retreat-amenities h2{font-size:44px}
 .amarena-property .retreat-amenities .eyebrow{font-size:13px}
 .amarena-property .amenity-shortcuts{margin:-4px 0 20px}
 .amarena-property .pool-panorama .photo{aspect-ratio:1.12}
 .amarena-property .pool-details{flex-direction:column;gap:0;padding-top:10px}
 .amarena-property .pool-details p{padding-block:12px;font-size:16px}
 .amarena-property .dining-photographs{grid-template-columns:1.3fr 1fr;gap:14px}
 .amarena-property .dining-photographs .photo{height:260px}
 .amarena-property .retreat-amenities figure figcaption{font-size:14px}
 .amarena-property .dining-details{grid-template-columns:1fr;gap:16px;padding-top:24px}
 .amarena-property .community-grid{grid-template-columns:1fr;gap:38px}
 .amarena-property .community-grid .photo{aspect-ratio:1.4}
 .amarena-property .community-copy{padding-top:20px}
 .amarena-property .community-copy h3{font-size:23px}
 .amarena-property .retreat-amenities .community-note{margin-top:30px}
 .amarena-property .beach-intro{text-align:left;margin-bottom:28px}
 .amarena-property .beach-intro>p:last-child{font-size:18px}
 .amarena-property .beach-intro br{display:none}
 .amarena-property .beach-intro h2 br{display:block}
 .amarena-property .beach-panorama .photo{aspect-ratio:1.15}
 .amarena-property .beach-panorama img{object-position:54% center}
 .amarena-property .retreat-planning{grid-template-columns:1fr;gap:40px;padding-block:5px 65px}
 .amarena-property .retreat-planning h2{margin-bottom:20px}
}

.amarena-property .retreat-amenities [id]{scroll-margin-top:100px}
@media(max-width:760px){
 .amarena-property .dining-photographs{grid-template-columns:1fr;gap:24px}
 .amarena-property .dining-photographs .photo{height:auto;aspect-ratio:1.4}
 .amarena-property .dining-photographs figure:last-child img{object-position:center 48%}
}

.amarena-property .amenity-shortcuts{flex-wrap:wrap;column-gap:24px;row-gap:0}
/* Concise property copy: a single factual dining line, full amenity inventory nearby. */
.amarena-property .dining-details{display:block;max-width:820px}
.amarena-property .dining-details p{max-width:none}
.amarena-property .amenities-inventory-link{margin-top:30px}
