/* Reference composition, with CityOn typography and palette. */
#amenities.amenity-collection{padding:76px 4%;background:linear-gradient(180deg,#eef1f7 0%,#fff 70%);position:relative}
#amenities>.container{max-width:1440px}
#amenities .amenity-heading{grid-template-columns:1.35fr 1fr;gap:64px;align-items:center;margin-bottom:36px}
#amenities h2{font-family:Livvic,Arial,sans-serif;font-size:clamp(36px,4.1vw,62px);line-height:1.1;letter-spacing:-1.4px}
#amenities h2 span{color:#278246}
#amenities .amenity-intro{max-width:470px;border-color:#7ad669;padding-left:28px}
#amenities .amenity-intro p{font-size:16px;line-height:1.8}
#amenities .amenity-explorer{border:0;border-radius:8px;overflow:hidden;box-shadow:0 18px 48px #1d1e4410}
#amenities .tabs{border:0;background:white}
#amenities .tabs button{padding:24px 28px;min-height:105px;border-bottom:0;transition:background .2s}
#amenities .tabs button[aria-selected=true]{background:#ff6fa5;color:#1d1e44;border-bottom:0}
#amenities .tabs button:hover{background:#eef1f7}
#amenities .tabs button[aria-selected=true]:hover{background:#ff6fa5}
#amenities .amenity-tab-number{font-size:48px;color:#278246}
#amenities .tabs button[aria-selected=true] .amenity-tab-number{color:#1d1e44}
#amenities .tabs strong{font-size:28px}#amenities .tabs small{font-size:12px}
#amenities .amenity-tab-arrow{color:#1d1e44}
#amenities .amenity-layout{grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);align-items:stretch;gap:0;padding:0;background:#1d1e44}
#amenities .amenity-scene{position:relative;min-height:520px;display:flex;flex-direction:column}
#amenities .amenity-scene button{flex:1;position:relative;min-height:100%;background:#1d1e44}
#amenities .amenity-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
#amenities .amenity-scene figcaption{position:absolute;bottom:0;left:0;right:0;pointer-events:none;padding:48px 24px 20px;background:linear-gradient(transparent,#1d1e44b3);color:#fff;font-size:11px}
#amenities .amenity-editorial{padding:38px 32px;align-self:center;color:#fff}
#amenities .amenity-editorial .amenity-kicker{color:#ffd677;font-size:10px}
#amenities .amenity-editorial h3{font:600 clamp(30px,2.7vw,42px)/1.13 Livvic,Arial,sans-serif;color:#fff;margin:20px 0 24px}
#amenities .amenity-editorial h3 em{color:#ff6fa5;font-style:normal}
#amenities .amenity-editorial ul{display:block;margin-bottom:20px}
#amenities .amenity-editorial li{gap:16px;border-color:#ffffff26;padding:17px 0}
#amenities .amenity-editorial li>span{display:flex;align-items:center;justify-content:center;flex:0 0 32px;height:32px;border:1px solid #7ad66966;border-radius:50%;color:#7ad669;font-size:11px;padding:0}
#amenities .amenity-editorial li p{color:#fff;font-size:13px;line-height:1.7}
#amenities .amenity-text-link{color:#ffd677;border-color:#ffd67766;font-size:12px}
#amenities .amenity-discovery{display:grid;grid-template-columns:minmax(0,4fr) minmax(220px,1fr);gap:16px;margin-top:16px}
#amenities .amenity-filmstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px;background:#fff;border:1px solid #1d1e4414;border-radius:8px}
#amenities .amenity-preview{position:relative;display:block;text-align:left;background:transparent;border:0;padding:0 0 10px;color:#1d1e44;cursor:pointer;min-width:0}
#amenities .amenity-preview img{width:100%;height:118px;object-fit:cover;border-radius:4px;display:block}
#amenities .amenity-preview>span{display:block;padding:12px 25px 0 6px}
#amenities .amenity-preview strong{display:block;font-size:12px;font-weight:600;line-height:1.5}
#amenities .amenity-preview small{display:block;font-size:10px;line-height:1.6;margin-top:4px}
#amenities .amenity-preview b{position:absolute;bottom:18px;right:4px;font-weight:400}
#amenities .amenity-preview:hover{background:#eef1f7}
#amenities .amenity-map-link{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:16px;margin:0;padding:22px;border:0;border-radius:8px;background:#ffd677}
#amenities .amenity-map-link p{font-size:11px;color:#1d1e44;font-weight:400}
#amenities .amenity-map-link p>span{display:block;font-size:10px;color:#1d1e44;margin-top:4px}
#amenities .amenity-map-link button{display:block;text-align:left;background:transparent;border:0;padding:0;font:600 25px/1.2 Livvic,Arial,sans-serif;color:#1d1e44;cursor:pointer}
#amenities .amenity-map-link button span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#1d1e44;color:#ffd677;border-radius:50%;margin-left:5px;font-size:20px}
#amenities .amenity-map-symbol{position:absolute;right:20px;top:8px;font-size:32px;opacity:.25}
#amenities button:focus-visible{outline:3px solid #247fff;outline-offset:-3px}
@media(max-width:1100px){#amenities .amenity-heading{gap:32px}#amenities .amenity-layout{grid-template-columns:1.4fr 1fr}#amenities .amenity-editorial{padding:28px 24px}#amenities .tabs button{padding:20px 18px;gap:12px}#amenities .amenity-tab-number{font-size:36px}#amenities .tabs strong{font-size:24px}#amenities .amenity-discovery{grid-template-columns:1fr}#amenities .amenity-map-link{flex-direction:row;align-items:center;justify-content:space-between}#amenities .amenity-map-symbol{display:none}}
@media(max-width:700px){#amenities.amenity-collection{padding:48px 20px}#amenities .amenity-heading{grid-template-columns:1fr;gap:24px}#amenities h2{font-size:36px;letter-spacing:-.7px}#amenities .amenity-intro p{font-size:14px}#amenities .tabs button{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 10px;min-height:135px}#amenities .amenity-tab-number{font-size:28px}#amenities .tabs strong{font-size:19px}#amenities .tabs small{font-size:10px}#amenities .amenity-tab-arrow{display:none}#amenities .amenity-layout{grid-template-columns:1fr}#amenities .amenity-scene{min-height:300px}#amenities .amenity-editorial{padding:28px 24px}#amenities .amenity-editorial h3{font-size:34px}#amenities .amenity-filmstrip{grid-template-columns:repeat(2,minmax(0,1fr))}#amenities .amenity-preview img{height:110px}#amenities .amenity-map-link{gap:16px;padding:20px}#amenities .amenity-map-link button{font-size:21px}}
@media(prefers-reduced-motion:reduce){#amenities .tabs button{transition:none}}
/* Compact mobile tabs keep each experience easy to scan. */
@media(max-width:700px){
 #amenities .tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
 #amenities .tabs button{flex-direction:row;align-items:center;justify-content:center;min-height:48px;padding:12px 6px;gap:0}
 #amenities .tabs strong{font-size:16px;line-height:1.3;white-space:nowrap}
 #amenities .tabs small,#amenities .amenity-tab-number{display:none}
 #amenities .amenity-scene{min-height:0;aspect-ratio:16/9}
 #amenities .amenity-scene button{min-height:0;width:100%;height:100%}
 #amenities .amenity-scene figcaption{padding:28px 12px 10px;font-size:9px;gap:8px}
 #amenities .amenity-editorial{padding:20px 18px}
 #amenities .amenity-editorial .amenity-kicker{font-size:9px;letter-spacing:1px}
 #amenities .amenity-editorial h3{font-size:27px;line-height:1.15;margin:10px 0 14px}
 #amenities .amenity-editorial h3 br{display:none}
 #amenities .amenity-editorial h3 em::before{content:' '}
 #amenities .amenity-editorial ul{margin:0 0 8px}
 #amenities .amenity-editorial li{padding:10px 0;gap:10px}
 #amenities .amenity-editorial li>span{flex-basis:24px;height:24px;font-size:9px}
 #amenities .amenity-editorial li p{font-size:13px;line-height:1.55}
 #amenities .amenity-text-link{min-height:44px;align-items:center;padding:10px 0}
 #amenities .amenity-filmstrip{display:flex;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding:8px;gap:10px}
 #amenities .amenity-preview{flex:0 0 156px;scroll-snap-align:start}
 #amenities .amenity-preview img{height:92px}
}
/* Mobile uses a continuous sequence of experiences instead of tabs. */
#amenities .amenity-mobile-stories{display:none}
@media(max-width:700px){
 #amenities .amenity-explorer>.tabs,#amenities #amenity-panel{display:none}
 #amenities .amenity-mobile-stories{display:block}
 #amenities .amenity-explorer{background:transparent;box-shadow:none;border-radius:0;overflow:visible}
 #amenities .amenity-mobile-story{overflow:hidden;border-radius:8px;background:#1d1e44}
 #amenities .amenity-mobile-story+.amenity-mobile-story{margin-top:24px}
 #amenities .amenity-story-label{display:flex;align-items:center;gap:12px;margin:0;padding:14px 18px;background:#ff6fa5;color:#1d1e44;font:600 22px/1.3 Livvic,Arial,sans-serif}
 #amenities .amenity-story-label>span{font-size:14px}
 #amenities .amenity-mobile-story:nth-child(2) .amenity-story-label{background:#7ad669}
 #amenities .amenity-mobile-story:nth-child(3) .amenity-story-label{background:#ffd677}
}
@media(max-width:700px){
 #amenities .amenity-filmstrip{display:none}
}
#amenities .amenity-gallery{position:relative;min-width:0;display:flex;flex-direction:column;background:#1d1e44}
#amenities .amenity-gallery-track{display:flex;flex:1;min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
#amenities .amenity-gallery-track::-webkit-scrollbar{display:none}
#amenities .amenity-gallery .amenity-scene{flex:0 0 100%;width:100%;scroll-snap-align:start;scroll-snap-stop:always;min-height:470px}
#amenities .amenity-gallery .amenity-scene button{min-height:0}
#amenities .amenity-gallery-controls{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:8px 16px;color:#fff;border-top:1px solid #ffffff20}
#amenities .amenity-gallery-controls button{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;background:transparent;border:1px solid #ffffff55;border-radius:50%;color:#fff;cursor:pointer;font-size:20px}
#amenities .amenity-gallery-controls button:hover{background:#ff6fa5;color:#1d1e44}
#amenities .amenity-gallery-count{font-size:12px;font-variant-numeric:tabular-nums}
#amenities .amenity-photo-pending{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:radial-gradient(circle at 30% 20%,#8184ff44,transparent 65%),#1d1e44;color:#fff}
#amenities .amenity-photo-pending>span{color:#ff6fa5;font:600 40px Livvic,Arial,sans-serif}
#amenities .amenity-photo-pending strong{font:600 24px/1.3 Livvic,Arial,sans-serif;max-width:320px;margin-top:16px}
#amenities .amenity-photo-pending p{font-size:12px;opacity:.75}
@media(max-width:700px){
 #amenities .amenity-gallery .amenity-scene{min-height:0;aspect-ratio:16/10}
 #amenities .amenity-gallery-controls{padding:6px 12px;gap:12px}
 #amenities .amenity-gallery-controls button{width:44px;height:44px}
 #amenities .amenity-photo-pending{padding:16px 20px 36px}
 #amenities .amenity-photo-pending>span{font-size:26px}
 #amenities .amenity-photo-pending strong{font-size:20px;margin-top:8px}
 #amenities .amenity-photo-pending p{margin:8px 0}
}
