1import{c as m,r as l,j as e,m as p,L as f,l as v,X as w}from"./index-DW1iHL1o.js";import{p as j,s as k,a as N,b as _,c as A}from"./pool-rendering-full.jpg.asset-BT8qcIG6.js";import{A as I}from"./arrow-left-CwEHPl5Z.js";import{Z as g,a as b}from"./zoom-out-BUyIFviA.js";/** 2 * @license lucide-react v0.462.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const $=m("Dumbbell",[["path",{d:"M14.4 14.4 9.6 9.6",key:"ic80wn"}],["path",{d:"M18.657 21.485a2 2 0 1 1-2.829-2.828l-1.767 1.768a2 2 0 1 1-2.829-2.829l6.364-6.364a2 2 0 1 1 2.829 2.829l-1.768 1.767a2 2 0 1 1 2.828 2.829z",key:"nnl7wr"}],["path",{d:"m21.5 21.5-1.4-1.4",key:"1f1ice"}],["path",{d:"M3.9 3.9 2.5 2.5",key:"1evmna"}],["path",{d:"M6.404 12.768a2 2 0 1 1-2.829-2.829l1.768-1.767a2 2 0 1 1-2.828-2.829l2.828-2.828a2 2 0 1 1 2.829 2.828l1.767-1.768a2 2 0 1 1 2.829 2.829z",key:"yhosts"}]]);/** 7 * @license lucide-react v0.462.0 - ISC 8 * 9 * This source code is licensed under the ISC license. 10 * See the LICENSE file in the root directory of this source tree. 11 */const M=m("Map",[["path",{d:"M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",key:"169xi5"}],["path",{d:"M15 5.764v15",key:"1pn4in"}],["path",{d:"M9 3.236v15",key:"1uimfh"}]]);/** 12 * @license lucide-react v0.462.0 - ISC 13 * 14 * This source code is licensed under the ISC license. 15 * See the LICENSE file in the root directory of this source tree. 16 */const S=m("Music",[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]);/** 17 * @license lucide-react v0.462.0 - ISC 18 * 19 * This source code is licensed under the ISC license. 20 * See the LICENSE file in the root directory of this source tree. 21 */const z=m("Waves",[["path",{d:"M2 6c.6.5 1.2 1 2.5 1C7 7 7 5 9.5 5c2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"knzxuh"}],["path",{d:"M2 12c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"2jd2cc"}],["path",{d:"M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1",key:"rd2r6e"}]]),K=1,R="adfdb8be-2b65-4886-a5ee-1572ba6fe713",E="3a45053e-b14d-400c-9c97-aa7cd5455638",D="/__l5e/assets-v1/adfdb8be-2b65-4886-a5ee-1572ba6fe713/kingston-south-pool.jpeg",Z="a/v1/3a45053e-b14d-400c-9c97-aa7cd5455638/adfdb8be-2b65-4886-a5ee-1572ba6fe713/kingston-south-pool.jpeg",F="kingston-south-pool.jpeg",C=1093642,T="image/jpeg",L="2026-08-15T12:20:08Z",V={version:K,asset_id:R,project_id:E,url:D,r2_key:Z,original_filename:F,size:C,content_type:T,created_at:L},P=1,W="b6243c3a-eae7-4733-b937-90c5dc548641",q="3a45053e-b14d-400c-9c97-aa7cd5455638",B="/__l5e/assets-v1/b6243c3a-eae7-4733-b937-90c5dc548641/kingston-south-hero.jpg",O="a/v1/3a45053e-b14d-400c-9c97-aa7cd5455638/b6243c3a-eae7-4733-b937-90c5dc548641/kingston-south-hero.jpg",Q="kingston-south-hero.jpg",X=660084,G="image/jpeg",H="2026-08-15T12:20:05Z",J={version:P,asset_id:W,project_id:q,url:B,r2_key:O,original_filename:Q,size:X,content_type:G,created_at:H},U=1,Y="67875787-b8bf-4301-af9f-51e74b22f20d",ee="3a45053e-b14d-400c-9c97-aa7cd5455638",te="/__l5e/assets-v1/67875787-b8bf-4301-af9f-51e74b22f20d/kingston-south-amenity-site-map.jpeg",ae="a/v1/3a45053e-b14d-400c-9c97-aa7cd5455638/67875787-b8bf-4301-af9f-51e74b22f20d/kingston-south-amenity-site-map.jpeg",se="kingston-south-amenity-site-map.jpeg",ie=11564329,ne="image/jpeg",oe="2026-08-15T12:20:02Z",re={version:U,asset_id:Y,project_id:ee,url:te,r2_key:ae,original_filename:se,size:ie,content_type:ne,created_at:oe},le=_.url,ce=A.url,de=re.url,me=[{title:"Resort-Style Pool",description:"An impressive pool with a waterfall grotto, slide tower, shaded lounging, and social spaces arranged around a tropical waterfront setting.",image:V.url,icon:z,modalImage:j.url,detailDescription:["A resort-style amenity designed to deliver a vibrant, all-day leisure experience within a lush, tropical setting. An impressive pool blends relaxation, recreation, and social gathering into a destination that feels like a private resort.","The expansive pool complex features freeform lagoons, a signature rock grotto with cascading waterfalls, integrated
21water features, and a prominent slide tower for a family-friendly attraction.","Surrounding the water, thoughtfully arranged loungers, umbrellas, cabana-style areas, and winding pathways connect amenity nodes including an outdoor bar, café and ice cream shop, and full-service restaurant and saloon.","Set against a scenic waterfront backdrop and framed by lush landscaping and palms, the experience is more than a pool. It is a centerpiece destination for recreation, relaxation, and social connection."]},{title:"Saloon",description:"A signature indoor and outdoor social venue for dining, live music, casual celebrations, and neighborhood gatherings.",image:k,icon:S,modalImage:le,detailDescription:["A high-energy indoor and outdoor saloon and live music venue designed as a signature nightlife and entertainment anchor for Kingston South.","At the heart of the venue is a live performance stage with flexible table seating, lounge-style booths, and bar seating so every guest stays connected to the music and atmosphere.","Rich wood tones, textured wall treatments, layered lighting, branded feature walls, and neon-style signage create a refined western-inspired destination for dining, social events, and memorable nights out."]},{title:"Sports Complex",description:"Court sports, indoor play, fitness-forward recreation, and club-style hospitality designed for active everyday living.",image:N,icon:$,modalImage:ce,detailDescription:["A dynamic indoor sport and social destination where pickleball meets elevated hospital
21ity in a vibrant, connected setting.","The venue centers on a play, sip, socialize lifestyle with multiple indoor courts, a central bar, comfortable lounge seating, and entertainment woven into the experience.","Warm wood finishes, modern industrial details, greenery accents, large screens, and branded moments help create a community-driven social club for casual play, leagues, private events, and everyday gathering."]}],ue=({amenity:i,onClose:n})=>{const[o,u]=l.useState(!1),t=l.useRef(null),c=l.useRef(null);return l.useEffect(()=>{const a=window.setTimeout(()=>{var s;return(s=c.current)==null?void 0:s.focus()},50),r=s=>{if(s.key==="Escape"&&n(),s.key!=="Tab"||!t.current)return;const d=Array.from(t.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')).filter(y=>!y.hasAttribute("disabled"));if(d.length===0)return;const h=d[0],x=d[d.length-1];s.shiftKey&&document.activeElement===h?(s.preventDefault(),x.focus()):!s.shiftKey&&document.activeElement===x&&(s.preventDefault(),h.focus())};return document.addEventListener("keydown",r),()=>{window.clearTimeout(a),document.removeEventListener("keydown",r)}},[n]),e.jsx("div",{role:"dialog","aria-modal":"true","aria-label":`${i.title} details`,className:"fixed inset-0 z-50 flex items-center justify-center bg-navy/90 p-4 backdrop-blur-sm",onClick:n,children:e.jsxs(p.div,{ref:t,initial:{opacity:0,scale:.96},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.96},transition:{duration:.25},className:"relative grid max-h-[92vh] w-full max-w-7xl overflow-hidden bg-navy shadow-2xl lg:grid-cols-[minmax(0,1.55fr)_minmax(340px,0.45fr)]",onClick:a=>a.stopPropagation(),children:[e.jsxs("div",{className:"relative min-h-[45vh] overflow-auto bg-navy",children:[e.jsxs("button",{type:"button",onClick:()=>u(a=>!a),className:"absolute left-4 top-4 z-10 inline-flex items-center gap-2 bg-primary-foreground px-4 py-3 font-body text-xs font-semibold uppercase tracking-widest text-primary transition-colors duration-300 hover:bg-butterball focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-butterball",children:[o?e.jsx(b,{className:"h-4 w-4","aria-hidden":"true"}):e.jsx(g,{className:"h-4 w-4","aria-hidden":"true"}),o?"Fit":"Zoom"]}),e.jsx("img",{src:i.modalImage,alt:`${i.title} rendering`,className:`mx-auto block origin-top-left bg-navy transition-all duration-300 ${o?"h-auto max-w-none w-[1600px]":"h-full max-h-[92vh] w-full object-contain"}`})]}),e.jsxs("div",{className:"flex max-h-[92vh] flex-col overflow-y-auto bg-navy p-6 text-primary-foreground sm:p-8",children:[e.jsx("button",{ref:c,type:"button","aria-label":"Close amenity details",onClick:n,className:"ml-auto inline-flex h-10 w-10 items-center justify-center bg-primary-foreground text-primary transition-colors duration-300 hover:bg-butterball focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-butterball",children:e.jsx(w,{className:"h-5 w-5","aria-hidden":"true"})}),e.jsx("span",{className:"mt-8 font-body text-xs uppercase tracking-widest text-butterball",children:"Kingston South"}),e.jsx("h3",{className:"heading-display mt-3 text-3xl md:text-4xl",children:i.title}),e.jsx("div",{className:"my-6 h-1 w-16 bg-butterball"}),e.jsx("div",{className:"space-y-4 font-body text-sm leading-relaxed text-primary-foreground/78",children:i.detailDescription.map(a=>e.jsx("p",{children:a},a))})]})]})})},fe=()=>{const[i,n]=l.useState(null),[o,u]=l.useState(!1);return e.jsxs(p.main,{initial:{opacity:0}
21,animate:{opacity:1},transition:{duration:.7,ease:"easeOut"},className:"min-h-screen bg-warm-white text-primary",children:[e.jsx("header",{className:"fixed left-0 right-0 top-0 z-50 bg-navy/95 px-6 py-4 backdrop-blur-md md:px-12",children:e.jsxs("div",{className:"mx-auto flex max-w-7xl items-center justify-between gap-6",children:[e.jsx(f,{to:"/","aria-label":"Return to Kingston home",children:e.jsx("img",{src:v,alt:"Kingston",className:"h-9 brightness-0 invert md:h-11"})}),e.jsxs(f,{to:"/#amenities",className:"inline-flex items-center gap-2 font-body text-xs font-semibold uppercase tracking-widest text-primary-foreground/80 transition-colors duration-300 hover:text-primary-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-butterball",children:[e.jsx(I,{className:"h-4 w-4","aria-hidden":"true"}),"Return to main page"]})]})}),e.jsxs("section",{className:"relative h-[70vh] min-h-[480px] w-full overflow-hidden bg-navy text-primary-foreground",children:[e.jsx("img",{src:J.url,alt:"Kingston South aerial resort pool view",className:"absolute inset-0 h-full w-full object-cover"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-navy/80 via-navy/30 to-navy/40"}),e.jsxs("div",{className:"relative z-10 mx-auto flex h-full max-w-7xl flex-col justify-end px-6 pb-16 md:px-12 md:pb-20 lg:px-20",children:[e.jsx("p",{className:"mb-4 font-body text-sm uppercase tracking-widest text-butterball",children:"Kingston South"}),e.jsx("h1",{className:"heading-display text-4xl md:text-6xl lg:text-7xl max-w-3xl",children:"Experience Kingston South"})]})]}),e.jsx("section",{className:"section-padding",children:e.jsxs("div",{className:"mx-auto max-w-7xl",children:[e.jsx("p",{className:"mb-4 font-body text-sm uppercase tracking-widest text-heritage",children:"Amenities"}),e.jsx("h2",{className:"heading-display mb-12 max-w-3xl text-4xl md:text-5xl",children:"Resort energy, neighborhood convenience."}),e.jsx("div",{className:"grid gap-4 md:grid-cols-3",children:me.map((t,c)=>{const a=t.icon;return e.jsxs(p.article,{initial:{opacity:0,y:40},whileInView:{opacity:1,y:0},transition:{duration:.75,delay:c*.08,ease:[.22,1,.36,1]},viewport:{once:!0,margin:"-80px"},role:"button",tabIndex:0,onClick:()=>n(t),onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),n(t))},className:"group relative aspect-[4/5] cursor-pointer overflow-hidden bg-navy focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-butterball focus-visible:ring-offset-2 focus-visible:ring-offset-warm-white",children:[e.jsx("img",{src:t.image,alt:t.title,className:"absolute inset-0 h-full w-full object-cover transition-transform duration-700 group-hover:scale-105"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-navy via-navy/55 to-transparent"}),e.jsxs("div",{className:"absolute inset-x-0 bottom-0 p-6",children:[e.jsx("div",{className:"mb-5 inline-flex h-11 w-11 items-center justify-center bg-butterball text-primary",children:e.jsx(a,{className:"h-5 w-5","aria-hidden":"true"})}),e.jsx("h3",{className:"heading-display mb-3 text-2xl text-primary-foreground",children:t.title}),e.jsx("p",{className:"font-body text-sm leading-relaxed text-primary-foreground/90",children:t.description}),e.jsxs("span",{className:"mt-4 inline-flex items-center gap-2 font-body text-xs font-semibold uppercase tracking-widest text-butterball",children:["View rendering",e.jsx(g,{className:"h-4 w-4","aria-hidden":"true"})]})]})]},t.title)})})]})}),e.jsx("section",{className:"section-padding bg-warm-white",children:e.jsxs("div",{className:"mx-auto max-w-7xl",children:[e.jsx("h2",{className:"heading-display mb-8 text-4xl md:text-5xl",children:"Kingston South Amenities Video"}),e.jsx("div",{className:"relative aspect-video w-full overflow-hidden bg-navy shadow-2xl",children:e.jsx("iframe",{src:"https://www.youtube.com/embed/rz-pPggLj0Q",title:"Kingston South Video",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,className:"absolute inset-0 h-full w-full"})})]})}),e.jsx("section",{className:"bg-primary section-padding text-primary-foreground",children:e.jsxs("div",{className:"mx-auto grid max-w-7xl gap-8 lg:grid-cols-[0.35fr_0.65fr] lg:items-start",children:[e.jsxs("div",{children:[e.jsx("div",{className:"mb-8 inl
21ine-flex h-12 w-12 items-center justify-center bg-butterball text-primary",children:e.jsx(M,{className:"h-6 w-6","aria-hidden":"true"})}),e.jsx("p",{className:"mb-4 font-body text-sm uppercase tracking-widest text-butterball",children:"Amenity Map"}),e.jsx("h2",{className:"heading-display text-4xl md:text-5xl",children:"Kingston South"}),e.jsx("p",{className:"mt-5 font-body text-sm leading-relaxed text-primary-foreground/68",children:"Explore planned amenities."})]}),e.jsx("div",{className:"bg-primary-foreground p-2 shadow-2xl",children:e.jsxs("div",{className:"relative max-h-[78vh] overflow-auto bg-primary-foreground",children:[e.jsxs("button",{type:"button",onClick:()=>u(t=>!t),className:"absolute left-4 top-4 z-10 inline-flex items-center gap-2 bg-primary px-4 py-3 font-body text-xs font-semibold uppercase tracking-widest text-primary-foreground transition-colors duration-300 hover:bg-heritage focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-butterball",children:[o?e.jsx(b,{className:"h-4 w-4","aria-hidden":"true"}):e.jsx(g,{className:"h-4 w-4","aria-hidden":"true"}),o?"Fit":"Zoom"]}),e.jsx("img",{src:de,alt:"Kingston South amenity site map",className:`block origin-top-left object-contain transition-all duration-300 ${o?"max-w-none w-[1600px]":"w-full"}`})]})})]})}),i&&e.jsx(ue,{amenity:i,onClose:()=>n(null)})]})};export{fe as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.