













About This Project
.yp-kayana-landing { –yp-green: #234B4A; –yp-green-dark: #1D403F; –yp-green-light: #647A72; –yp-ivory: #F7F3EB; –yp-white: #FFFDFC; –yp-gold: #C79A38; –yp-gold-dark: #AE8228; –yp-text: #344847; –yp-muted: #74716D; –yp-border: #E3DDD3; –yp-soft-green: #E9EFEB;
width: 100%; max-width: 100%; margin: 0; padding: 0; overflow: clip; background: var(–yp-white); color: var(–yp-text); font-family: “Montserrat”, “Helvetica Neue”, Arial, sans-serif; font-size: 15px; line-height: 1.75; font-weight: 400; -webkit-font-smoothing: antialiased; box-sizing: border-box; }
.yp-kayana-landing *, .yp-kayana-landing *::before, .yp-kayana-landing *::after { box-sizing: border-box; }
.yp-kayana-landing img { display: block; max-width: 100%; height: auto; }
.yp-kayana-landing a { color: inherit; text-decoration: none; }
.yp-kayana-landing button, .yp-kayana-landing input, .yp-kayana-landing textarea, .yp-kayana-landing select { font: inherit; }
.yp-kayana-landing button, .yp-kayana-landing a { -webkit-tap-highlight-color: transparent; }
.yp-kayana-landing button:focus-visible, .yp-kayana-landing a:focus-visible, .yp-kayana-landing input:focus-visible, .yp-kayana-landing textarea:focus-visible, .yp-kayana-landing select:focus-visible { outline: 3px solid var(–yp-gold); outline-offset: 4px; }
.yp-kayana-landing h1, .yp-kayana-landing h2, .yp-kayana-landing h3, .yp-kayana-landing h4, .yp-kayana-landing p { margin-top: 0; }
.yp-kayana-landing h1, .yp-kayana-landing h2, .yp-kayana-landing h3, .yp-kayana-landing h4 { color: var(–yp-green-dark); font-weight: 500; letter-spacing: -0.035em; line-height: 1.2; }
.yp-kayana-landing p:last-child { margin-bottom: 0; }
.yp-kayana-landing .ypk-container { width: min(1180px, calc(100% – 64px)); margin-inline: auto; }
.yp-kayana-landing .ypk-section { padding-block: 100px; }
.yp-kayana-landing .ypk-eyebrow { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 20px; color: var(–yp-green-light); font-size: 10px; font-weight: 700; letter-spacing: 0.19em; line-height: 1.5; text-transform: uppercase; }
.yp-kayana-landing .ypk-eyebrow::before { content: “”; display: inline-block; width: 28px; height: 1px; background: var(–yp-gold); flex: 0 0 auto; }
.yp-kayana-landing .ypk-section-title { max-width: 760px; margin-bottom: 22px; font-size: clamp(32px, 4vw, 48px); font-weight: 500; }
.yp-kayana-landing .ypk-section-intro { max-width: 660px; color: var(–yp-muted); font-size: 14px; line-height: 1.95; }
.yp-kayana-landing .ypk-center { text-align: center; }
.yp-kayana-landing .ypk-center .ypk-eyebrow { justify-content: center; }
.yp-kayana-landing .ypk-center .ypk-section-title, .yp-kayana-landing .ypk-center .ypk-section-intro { margin-inline: auto; }
.yp-kayana-landing .ypk-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding: 15px 24px; border: 1px solid var(–yp-green); border-radius: 2px; background: var(–yp-green); color: var(–yp-white); font-size: 11px; font-weight: 700; letter-spacing: 0.075em; line-height: 1.5; text-align: center; text-transform: uppercase; cursor: pointer; transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease; }
.yp-kayana-landing .ypk-button:hover { background: var(–yp-green-dark); border-color: var(–yp-green-dark); color: var(–yp-white); transform: translateY(-2px); }
.yp-kayana-landing .ypk-button–gold { background: var(–yp-gold); border-color: var(–yp-gold); color: #172D2B; }
.yp-kayana-landing .ypk-button–gold:hover { background: #D4AA50; border-color: #D4AA50; color: #172D2B; }
.yp-kayana-landing .ypk-button–outline { background: transparent; border-color: rgba(255,255,255,.65); color: var(–yp-white); }
.yp-kayana-landing .ypk-button–outline:hover { background: var(–yp-white); border-color: var(–yp-white); color: var(–yp-green-dark); }
.yp-kayana-landing .ypk-arrow { display: inline-block; font-size: 17px; font-weight: 400; line-height: 1; transition: transform 180ms ease; }
.yp-kayana-landing .ypk-button:hover .ypk-arrow { transform: translateX(4px); }
/* ========================================================= 2. HERO ========================================================= */
.yp-kayana-landing .ypk-hero { position: relative; min-height: 660px; display: flex; align-items: center; background: var(–yp-green-dark); color: var(–yp-white); isolation: isolate; }
.yp-kayana-landing .ypk-hero-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.yp-kayana-landing .ypk-hero::before { content: “”; position: absolute; z-index: -1; inset: 0; background: linear-gradient( 90deg, rgba(20, 45, 43, .94) 0%, rgba(20, 45, 43, .84) 38%, rgba(20, 45, 43, .42) 70%, rgba(20, 45, 43, .12) 100% ), linear-gradient( 0deg, rgba(20, 45, 43, .36), transparent 45% ); }
.yp-kayana-landing .ypk-hero-content { width: min(1180px, calc(100% – 64px)); margin-inline: auto; padding-block: 100px 105px; }
.yp-kayana-landing .ypk-hero-copy { max-width: 680px; }
.yp-kayana-landing .ypk-hero .ypk-eyebrow { color: #E7D6A7; }
.yp-kayana-landing .ypk-hero h1 { max-width: 680px; margin-bottom: 24px; color: var(–yp-white); font-size: clamp(42px, 6.2vw, 76px); font-weight: 500; letter-spacing: -0.055em; line-height: 1.05; }
.yp-kayana-landing .ypk-hero h1 span { display: block; margin-top: 10px; color: #E4C77F; font-size: .49em; font-weight: 400; letter-spacing: -.015em; line-height: 1.5; }
.yp-kayana-landing .ypk-hero-description { max-width: 510px; margin-bottom: 32px; color: rgba(255,255,255,.84); font-size: 15px; line-height: 1.9; }
.yp-kayana-landing .ypk-hero-location { display: flex; align-items: center; gap: 10px; margin-bottom: 28px; color: rgba(255,255,255,.9); font-size: 12px; letter-spacing: .035em; }
.yp-kayana-landing .ypk-location-mark { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; color: #E4C77F; flex: 0 0 auto; }
.yp-kayana-landing .ypk-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.yp-kayana-landing .ypk-hero-note { margin-top: 22px; color: rgba(255,255,255,.64); font-size: 11px; line-height: 1.7; }
.yp-kayana-landing .ypk-hero-bottom { position: absolute; right: 0; bottom: 0; left: 0; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.18); background: rgba(20,45,43,.22); }
.yp-kayana-landing .ypk-hero-bottom-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.yp-kayana-landing .ypk-hero-bottom-label { color: rgba(255,255,255,.7); font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.yp-kayana-landing .ypk-hero-bottom-value { color: var(–yp-white); font-size: 13px; font-weight: 600; }
/* ========================================================= 3. QUICK FACTS ========================================================= */
.yp-kayana-landing .ypk-facts { position: relative; z-index: 2; background: var(–yp-white); border-bottom: 1px solid var(–yp-border); }
.yp-kayana-landing .ypk-facts-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.yp-kayana-landing .ypk-fact { min-width: 0; padding: 31px 25px; border-right: 1px solid var(–yp-border); }
.yp-kayana-landing .ypk-fact:first-child { border-left: 1px solid var(–yp-border); }
.yp-kayana-landing .ypk-fact-label { display: block; margin-bottom: 8px; color: var(–yp-muted); font-size: 10px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.yp-kayana-landing .ypk-fact-value { display: block; color: var(–yp-green-dark); font-size: clamp(18px, 2vw, 25px); font-weight: 500; letter-spacing: -.035em; line-height: 1.35; }
.yp-kayana-landing .ypk-fact-detail { display: block; margin-top: 6px; color: var(–yp-muted); font-size: 11px; line-height: 1.65; }
/* ========================================================= 4. INTRODUCTION ========================================================= */
.yp-kayana-landing .ypk-intro { background: var(–yp-ivory); }
.yp-kayana-landing .ypk-intro-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; gap: clamp(42px, 7vw, 96px); }
.yp-kayana-landing .ypk-intro-copy { padding-block: 15px; }
.yp-kayana-landing .ypk-intro-copy .ypk-section-title { max-width: 520px; }
.yp-kayana-landing .ypk-intro-copy p { color: var(–yp-muted); font-size: 14px; line-height: 2; }
.yp-kayana-landing .ypk-intro-media { position: relative; min-width: 0; }
.yp-kayana-landing .ypk-intro-image { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; background: #D9DFD9; }
.yp-kayana-landing .ypk-image-caption { display: flex; justify-content: space-between; gap: 18px; margin-top: 13px; color: var(–yp-muted); font-size: 10px; line-height: 1.6; }
.yp-kayana-landing .ypk-intro-accent { position: absolute; top: -18px; right: -18px; width: 94px; height: 94px; border-top: 2px solid var(–yp-gold); border-right: 2px solid var(–yp-gold); pointer-events: none; }
.yp-kayana-landing .ypk-inline-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 18px; padding-bottom: 5px; border-bottom: 1px solid var(–yp-gold); color: var(–yp-green-dark); font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
/* ========================================================= 5. UNIT TYPES ========================================================= */
.yp-kayana-landing .ypk-units { background: var(–yp-white); }
.yp-kayana-landing .ypk-units-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }
.yp-kayana-landing .ypk-units-header .ypk-section-title { margin-bottom: 0; }
.yp-kayana-landing .ypk-unit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.yp-kayana-landing .ypk-unit-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(–yp-border); background: var(–yp-white); transition: border-color 180ms ease, box-shadow 180ms ease; }
.yp-kayana-landing .ypk-unit-card:hover { border-color: #B9C7BE; box-shadow: 0 14px 35px rgba(29,64,63,.07); }
.yp-kayana-landing .ypk-unit-image-wrap { position: relative; display: flex; align-items: center; justify-content: center; min-height: 250px; padding: 25px; background: var(–yp-ivory); overflow: hidden; }
.yp-kayana-landing .ypk-unit-image { width: 100%; max-height: 310px; object-fit: contain; mix-blend-mode: multiply; }
.yp-kayana-landing .ypk-unit-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px; width: 100%; min-height: 220px; border: 1px dashed #B7B9AC; color: var(–yp-muted); text-align: center; }
.yp-kayana-landing .ypk-unit-placeholder svg { width: 38px; height: 38px; stroke: var(–yp-green-light); }
.yp-kayana-landing .ypk-unit-placeholder strong { color: var(–yp-green-dark); font-size: 12px; font-weight: 600; }
.yp-kayana-landing .ypk-unit-placeholder span { max-width: 230px; font-size: 10px; line-height: 1.6; }
.yp-kayana-landing .ypk-unit-type-label { position: absolute; top: 18px; left: 18px; padding: 7px 11px; background: var(–yp-green); color: var(–yp-white); font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.yp-kayana-landing .ypk-unit-body { display: flex; flex: 1; flex-direction: column; padding: 29px; }
.yp-kayana-landing .ypk-unit-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 23px; }
.yp-kayana-landing .ypk-unit-heading h3 { margin-bottom: 5px; font-size: 25px; }
.yp-kayana-landing .ypk-unit-size { color: var(–yp-green-light); font-size: 12px; font-weight: 600; }
.yp-kayana-landing .ypk-unit-specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-bottom: 25px; border-top: 1px solid var(–yp-border); }
.yp-kayana-landing .ypk-unit-spec { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 16px 8px 16px 0; border-bottom: 1px solid var(–yp-border); }
.yp-kayana-landing .ypk-unit-spec:nth-child(odd) { border-right: 1px solid var(–yp-border); }
.yp-kayana-landing .ypk-unit-spec:nth-child(even) { padding-left: 15px; }
.yp-kayana-landing .ypk-unit-spec svg { width: 20px; height: 20px; flex: 0 0 auto; stroke: var(–yp-green-light); }
.yp-kayana-landing .ypk-unit-spec-label { display: block; color: var(–yp-muted); font-size: 9px; line-height: 1.5; }
.yp-kayana-landing .ypk-unit-spec-value { display: block; margin-top: 3px; color: var(–yp-green-dark); font-size: 12px; font-weight: 600; line-height: 1.5; }
.yp-kayana-landing .ypk-unit-card .ypk-button { width: 100%; margin-top: auto; }
/* ========================================================= 6. FACILITIES & LIFESTYLE ========================================================= */
.yp-kayana-landing .ypk-lifestyle { background: var(–yp-green-dark); color: var(–yp-white); }
.yp-kayana-landing .ypk-lifestyle h2, .yp-kayana-landing .ypk-lifestyle h3 { color: var(–yp-white); }
.yp-kayana-landing .ypk-lifestyle .ypk-eyebrow { color: #E4C77F; }
.yp-kayana-landing .ypk-lifestyle .ypk-section-title { max-width: 650px; }
.yp-kayana-landing .ypk-lifestyle .ypk-section-intro { color: rgba(255,255,255,.7); }
.yp-kayana-landing .ypk-lifestyle-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: start; gap: clamp(42px, 7vw, 100px); }
.yp-kayana-landing .ypk-lifestyle-feature { margin-top: 35px; }
.yp-kayana-landing .ypk-lifestyle-feature-image { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; background: rgba(255,255,255,.08); }
.yp-kayana-landing .ypk-lifestyle-feature-caption { margin-top: 12px; color: rgba(255,255,255,.58); font-size: 10px; line-height: 1.7; }
.yp-kayana-landing .ypk-facility-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 16px; border-top: 1px solid rgba(255,255,255,.2); }
.yp-kayana-landing .ypk-facility { display: flex; align-items: flex-start; gap: 13px; min-width: 0; padding: 22px 14px 22px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.yp-kayana-landing .ypk-facility:nth-child(even) { padding-left: 15px; border-left: 1px solid rgba(255,255,255,.2); }
.yp-kayana-landing .ypk-facility-mark { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; flex: 0 0 auto; border: 1px solid rgba(228,199,127,.5); color: #E4C77F; font-size: 13px; }
.yp-kayana-landing .ypk-facility-name { color: var(–yp-white); font-size: 11px; font-weight: 500; line-height: 1.65; }
/* ========================================================= 7. GALLERY ========================================================= */
.yp-kayana-landing .ypk-gallery { background: var(–yp-ivory); }
.yp-kayana-landing .ypk-gallery-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 35px; }
.yp-kayana-landing .ypk-gallery-header .ypk-section-title { margin-bottom: 0; }
.yp-kayana-landing .ypk-gallery-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; grid-auto-rows: 210px; gap: 12px; }
.yp-kayana-landing .ypk-gallery-item { position: relative; display: block; min-width: 0; min-height: 0; padding: 0; border: 0; background: #E2E5DE; overflow: hidden; cursor: zoom-in; }
.yp-kayana-landing .ypk-gallery-item:first-child { grid-row: span 2; }
.yp-kayana-landing .ypk-gallery-item:nth-child(5) { grid-column: span 2; }
.yp-kayana-landing .ypk-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 350ms ease; }
.yp-kayana-landing .ypk-gallery-item:hover img { transform: scale(1.045); }
.yp-kayana-landing .ypk-gallery-overlay { position: absolute; inset: auto 0 0; padding: 35px 14px 13px; background: linear-gradient(0deg, rgba(18,40,38,.65), transparent); color: var(–yp-white); font-size: 9px; font-weight: 600; letter-spacing: .08em; text-align: left; text-transform: uppercase; opacity: 0; transition: opacity 180ms ease; }
.yp-kayana-landing .ypk-gallery-item:hover .ypk-gallery-overlay, .yp-kayana-landing .ypk-gallery-item:focus-visible .ypk-gallery-overlay { opacity: 1; }
.yp-kayana-landing .ypk-gallery-note { margin-top: 18px; color: var(–yp-muted); font-size: 10px; line-height: 1.8; }
/* ========================================================= 8. LOCATION ========================================================= */
.yp-kayana-landing .ypk-location { background: var(–yp-white); }
.yp-kayana-landing .ypk-location-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(42px, 7vw, 90px); }
.yp-kayana-landing .ypk-location-copy .ypk-section-title { max-width: 500px; }
.yp-kayana-landing .ypk-location-copy > p { color: var(–yp-muted); font-size: 14px; line-height: 2; }
.yp-kayana-landing .ypk-location-address { display: flex; align-items: flex-start; gap: 14px; margin-top: 28px; padding: 20px 0; border-top: 1px solid var(–yp-border); border-bottom: 1px solid var(–yp-border); }
.yp-kayana-landing .ypk-location-address svg { width: 22px; height: 22px; flex: 0 0 auto; stroke: var(–yp-green-light); }
.yp-kayana-landing .ypk-location-address strong { display: block; margin-bottom: 4px; color: var(–yp-green-dark); font-size: 11px; }
.yp-kayana-landing .ypk-location-address span { display: block; color: var(–yp-muted); font-size: 12px; line-height: 1.8; }
.yp-kayana-landing .ypk-map-card { min-width: 0; padding: 24px; border: 1px solid var(–yp-border); background: var(–yp-ivory); }
.yp-kayana-landing .ypk-map-visual { display: flex; align-items: center; justify-content: center; min-height: 300px; padding: 30px; background: linear-gradient(135deg, rgba(35,75,74,.08), rgba(199,154,56,.09)), repeating-linear-gradient( 45deg, transparent, transparent 22px, rgba(35,75,74,.035) 22px, rgba(35,75,74,.035) 23px ); text-align: center; }
.yp-kayana-landing .ypk-map-marker { display: flex; flex-direction: column; align-items: center; gap: 15px; }
.yp-kayana-landing .ypk-map-marker svg { width: 42px; height: 42px; fill: var(–yp-green); stroke: var(–yp-white); stroke-width: 1.4; }
.yp-kayana-landing .ypk-map-marker strong { display: block; color: var(–yp-green-dark); font-size: 15px; font-weight: 600; }
.yp-kayana-landing .ypk-map-marker span { display: block; margin-top: 4px; color: var(–yp-muted); font-size: 11px; }
.yp-kayana-landing .ypk-map-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 20px; }
.yp-kayana-landing .ypk-map-footer p { color: var(–yp-muted); font-size: 10px; line-height: 1.7; }
/* ========================================================= 9. BUYER INFORMATION / LEAD GENERATION ========================================================= */
.yp-kayana-landing .ypk-buyer { position: relative; background: var(–yp-ivory); overflow: hidden; }
.yp-kayana-landing .ypk-buyer-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); align-items: center; gap: clamp(45px, 8vw, 105px); }
.yp-kayana-landing .ypk-buyer-copy .ypk-section-title { max-width: 570px; }
.yp-kayana-landing .ypk-buyer-copy > p { max-width: 540px; color: var(–yp-muted); font-size: 14px; line-height: 2; }
.yp-kayana-landing .ypk-buyer-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 20px; margin-top: 28px; }
.yp-kayana-landing .ypk-buyer-list-item { display: flex; align-items: flex-start; gap: 10px; color: var(–yp-green-dark); font-size: 11px; line-height: 1.75; }
.yp-kayana-landing .ypk-check { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex: 0 0 auto; border-radius: 50%; background: var(–yp-soft-green); color: var(–yp-green); font-size: 11px; font-weight: 700; }
.yp-kayana-landing .ypk-buyer-card { position: relative; padding: 38px; background: var(–yp-green); color: var(–yp-white); }
.yp-kayana-landing .ypk-buyer-card::before { content: “”; position: absolute; top: 0; right: 0; width: 80px; height: 80px; border-top: 2px solid var(–yp-gold); border-right: 2px solid var(–yp-gold); }
.yp-kayana-landing .ypk-buyer-card h3 { margin-bottom: 14px; color: var(–yp-white); font-size: 27px; }
.yp-kayana-landing .ypk-buyer-card > p { margin-bottom: 25px; color: rgba(255,255,255,.74); font-size: 12px; line-height: 1.9; }
.yp-kayana-landing .ypk-buyer-card .ypk-button { width: 100%; }
.yp-kayana-landing .ypk-buyer-card-note { margin-top: 16px; color: rgba(255,255,255,.62); font-size: 10px; line-height: 1.8; text-align: center; }
/* ========================================================= 10. FAQ ========================================================= */
.yp-kayana-landing .ypk-faq { background: var(–yp-white); }
.yp-kayana-landing .ypk-faq-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(42px, 8vw, 110px); }
.yp-kayana-landing .ypk-faq-intro { position: sticky; top: 35px; align-self: start; }
.yp-kayana-landing .ypk-faq-intro > p { color: var(–yp-muted); font-size: 13px; line-height: 1.9; }
.yp-kayana-landing .ypk-faq-list { border-top: 1px solid var(–yp-border); }
.yp-kayana-landing .ypk-faq-item { border-bottom: 1px solid var(–yp-border); }
.yp-kayana-landing .ypk-faq-item summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 23px 0; color: var(–yp-green-dark); font-size: 13px; font-weight: 600; line-height: 1.7; list-style: none; cursor: pointer; }
.yp-kayana-landing .ypk-faq-item summary::-webkit-details-marker { display: none; }
.yp-kayana-landing .ypk-faq-item summary::after { content: “+”; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex: 0 0 auto; border: 1px solid var(–yp-border); border-radius: 50%; color: var(–yp-green); font-size: 18px; font-weight: 400; line-height: 1; }
.yp-kayana-landing .ypk-faq-item[open] summary::after { content: “−”; border-color: var(–yp-gold); }
.yp-kayana-landing .ypk-faq-answer { max-width: 620px; padding: 0 42px 23px 0; color: var(–yp-muted); font-size: 12px; line-height: 1.95; }
/* ========================================================= 11. FINAL CTA ========================================================= */
.yp-kayana-landing .ypk-final-cta { position: relative; background: var(–yp-green-dark); color: var(–yp-white); overflow: hidden; }
.yp-kayana-landing .ypk-final-cta::before, .yp-kayana-landing .ypk-final-cta::after { content: “”; position: absolute; width: 300px; height: 300px; border: 1px solid rgba(228,199,127,.17); border-radius: 50%; pointer-events: none; }
.yp-kayana-landing .ypk-final-cta::before { top: -170px; left: -110px; }
.yp-kayana-landing .ypk-final-cta::after { right: -120px; bottom: -190px; width: 380px; height: 380px; }
.yp-kayana-landing .ypk-final-cta-inner { position: relative; z-index: 1; max-width: 800px; margin-inline: auto; text-align: center; }
.yp-kayana-landing .ypk-final-cta .ypk-eyebrow { color: #E4C77F; }
.yp-kayana-landing .ypk-final-cta .ypk-eyebrow::before { background: #E4C77F; }
.yp-kayana-landing .ypk-final-cta h2 { margin-bottom: 22px; color: var(–yp-white); font-size: clamp(34px, 4.8vw, 56px); }
.yp-kayana-landing .ypk-final-cta p { max-width: 600px; margin: 0 auto 30px; color: rgba(255,255,255,.76); font-size: 13px; line-height: 1.95; }
.yp-kayana-landing .ypk-final-cta-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.yp-kayana-landing .ypk-final-note { margin-top: 23px; color: rgba(255,255,255,.55); font-size: 10px; line-height: 1.8; }
/* ========================================================= 12. DISCLOSURE ========================================================= */
.yp-kayana-landing .ypk-disclaimer { padding-block: 22px; background: var(–yp-ivory); }
.yp-kayana-landing .ypk-disclaimer p { max-width: 1050px; margin: 0 auto; color: var(–yp-muted); font-size: 10px; line-height: 1.85; text-align: center; }
/* ========================================================= 13. GALLERY LIGHTBOX ========================================================= */
.yp-kayana-landing .ypk-lightbox { position: fixed; z-index: 999999; inset: 0; display: none; align-items: center; justify-content: center; padding: 30px; background: rgba(10,20,19,.94); }
.yp-kayana-landing .ypk-lightbox.is-open { display: flex; }
.yp-kayana-landing .ypk-lightbox-content { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.yp-kayana-landing .ypk-lightbox-image { max-width: min(1100px, 88vw); max-height: 82vh; object-fit: contain; }
.yp-kayana-landing .ypk-lightbox-close { position: absolute; top: 0; right: 0; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: transparent; color: #fff; font-size: 25px; cursor: pointer; }
.yp-kayana-landing .ypk-lightbox-prev, .yp-kayana-landing .ypk-lightbox-next { position: absolute; top: 50%; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; font-size: 24px; transform: translateY(-50%); cursor: pointer; }
.yp-kayana-landing .ypk-lightbox-prev { left: 0; }
.yp-kayana-landing .ypk-lightbox-next { right: 0; }
.yp-kayana-landing .ypk-lightbox-count { position: absolute; bottom: 0; left: 50%; color: rgba(255,255,255,.75); font-size: 11px; letter-spacing: .1em; transform: translateX(-50%); }
/* ========================================================= 14. MOBILE STICKY ENQUIRY BAR ========================================================= */
.yp-kayana-landing .ypk-mobile-cta { display: none; }
/* ========================================================= 15. RESPONSIVE — TABLET ========================================================= */
@media (max-width: 1024px) { .yp-kayana-landing .ypk-section { padding-block: 78px; }
.yp-kayana-landing .ypk-hero { min-height: 620px; }
.yp-kayana-landing .ypk-intro-grid, .yp-kayana-landing .ypk-lifestyle-layout, .yp-kayana-landing .ypk-location-grid, .yp-kayana-landing .ypk-buyer-grid { gap: 42px; }
.yp-kayana-landing .ypk-gallery-grid { grid-auto-rows: 175px; }
.yp-kayana-landing .ypk-fact { padding: 25px 18px; }
.yp-kayana-landing .ypk-unit-body { padding: 23px; } }
/* ========================================================= 16. RESPONSIVE — MOBILE ========================================================= */
@media (max-width: 767px) { .yp-kayana-landing { font-size: 14px; padding-bottom: 72px; }
.yp-kayana-landing .ypk-container { width: calc(100% – 40px); }
.yp-kayana-landing .ypk-section { padding-block: 62px; }
.yp-kayana-landing .ypk-section-title { margin-bottom: 17px; font-size: clamp(29px, 8vw, 38px); }
.yp-kayana-landing .ypk-eyebrow { margin-bottom: 15px; font-size: 9px; letter-spacing: .15em; }
.yp-kayana-landing .ypk-section-intro { font-size: 13px; }
/* Hero */ .yp-kayana-landing .ypk-hero { min-height: 650px; align-items: flex-end; }
.yp-kayana-landing .ypk-hero-image { object-position: 57% center; }
.yp-kayana-landing .ypk-hero::before { background: linear-gradient( 0deg, rgba(20,45,43,.98) 0%, rgba(20,45,43,.92) 32%, rgba(20,45,43,.64) 59%, rgba(20,45,43,.16) 100% ); }
.yp-kayana-landing .ypk-hero-content { width: calc(100% – 40px); padding-block: 105px 100px; }
.yp-kayana-landing .ypk-hero h1 { margin-bottom: 19px; font-size: clamp(39px, 11vw, 55px); line-height: 1.04; }
.yp-kayana-landing .ypk-hero h1 span { margin-top: 12px; font-size: .48em; line-height: 1.45; }
.yp-kayana-landing .ypk-hero-description { margin-bottom: 23px; font-size: 13px; line-height: 1.85; }
.yp-kayana-landing .ypk-hero-location { align-items: flex-start; font-size: 11px; line-height: 1.7; }
.yp-kayana-landing .ypk-hero-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
.yp-kayana-landing .ypk-hero-actions .ypk-button { width: 100%; }
.yp-kayana-landing .ypk-hero-note { font-size: 10px; }
.yp-kayana-landing .ypk-hero-bottom { padding: 13px 0; }
.yp-kayana-landing .ypk-hero-bottom-inner { gap: 12px; }
.yp-kayana-landing .ypk-hero-bottom-label { font-size: 8px; letter-spacing: .1em; }
.yp-kayana-landing .ypk-hero-bottom-value { font-size: 10px; text-align: right; }
/* Facts */ .yp-kayana-landing .ypk-facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.yp-kayana-landing .ypk-fact { padding: 20px 15px; border-bottom: 1px solid var(–yp-border); }
.yp-kayana-landing .ypk-fact:first-child { border-left: 0; }
.yp-kayana-landing .ypk-fact:nth-child(odd) { border-left: 0; }
.yp-kayana-landing .ypk-fact:nth-child(even) { border-right: 0; }
.yp-kayana-landing .ypk-fact-value { font-size: 21px; }
.yp-kayana-landing .ypk-fact-label { font-size: 9px; }
.yp-kayana-landing .ypk-fact-detail { font-size: 10px; }
/* Introduction */ .yp-kayana-landing .ypk-intro-grid { grid-template-columns: 1fr; gap: 34px; }
.yp-kayana-landing .ypk-intro-copy { padding-block: 0; }
.yp-kayana-landing .ypk-intro-image { aspect-ratio: 4 / 3; }
.yp-kayana-landing .ypk-intro-accent { top: -10px; right: -8px; width: 55px; height: 55px; }
/* Units */ .yp-kayana-landing .ypk-units-header, .yp-kayana-landing .ypk-gallery-header { align-items: flex-start; flex-direction: column; gap: 18px; margin-bottom: 27px; }
.yp-kayana-landing .ypk-unit-grid { grid-template-columns: 1fr; gap: 20px; }
.yp-kayana-landing .ypk-unit-image-wrap { min-height: 220px; padding: 20px; }
.yp-kayana-landing .ypk-unit-image { max-height: 250px; }
.yp-kayana-landing .ypk-unit-body { padding: 22px 20px; }
.yp-kayana-landing .ypk-unit-heading h3 { font-size: 23px; }
.yp-kayana-landing .ypk-unit-spec { gap: 9px; }
.yp-kayana-landing .ypk-unit-spec:nth-child(even) { padding-left: 10px; }
/* Lifestyle */ .yp-kayana-landing .ypk-lifestyle-layout { grid-template-columns: 1fr; gap: 30px; }
.yp-kayana-landing .ypk-lifestyle-feature { margin-top: 25px; }
.yp-kayana-landing .ypk-lifestyle-feature-image { aspect-ratio: 4 / 3; }
.yp-kayana-landing .ypk-facility-list { grid-template-columns: 1fr; }
.yp-kayana-landing .ypk-facility { padding: 16px 0; }
.yp-kayana-landing .ypk-facility:nth-child(even) { padding-left: 0; border-left: 0; }
/* Gallery */ .yp-kayana-landing .ypk-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 145px; gap: 8px; }
.yp-kayana-landing .ypk-gallery-item:first-child { grid-column: span 2; grid-row: span 1; height: 225px; }
.yp-kayana-landing .ypk-gallery-item:nth-child(5) { grid-column: span 2; }
.yp-kayana-landing .ypk-gallery-overlay { opacity: 1; font-size: 8px; }
/* Location */ .yp-kayana-landing .ypk-location-grid { grid-template-columns: 1fr; gap: 30px; }
.yp-kayana-landing .ypk-map-card { padding: 13px; }
.yp-kayana-landing .ypk-map-visual { min-height: 235px; padding: 20px; }
.yp-kayana-landing .ypk-map-footer { align-items: flex-start; flex-direction: column; gap: 10px; padding: 16px 5px 5px; }
/* Buyer lead section */ .yp-kayana-landing .ypk-buyer-grid { grid-template-columns: 1fr; gap: 30px; }
.yp-kayana-landing .ypk-buyer-list { grid-template-columns: 1fr; gap: 13px; }
.yp-kayana-landing .ypk-buyer-card { padding: 28px 23px; }
.yp-kayana-landing .ypk-buyer-card h3 { font-size: 24px; }
/* FAQ */ .yp-kayana-landing .ypk-faq-layout { grid-template-columns: 1fr; gap: 28px; }
.yp-kayana-landing .ypk-faq-intro { position: static; }
.yp-kayana-landing .ypk-faq-item summary { padding: 20px 0; font-size: 12px; }
.yp-kayana-landing .ypk-faq-answer { padding-right: 5px; font-size: 11px; }
/* Final CTA */ .yp-kayana-landing .ypk-final-cta-actions { display: grid; grid-template-columns: 1fr; }
.yp-kayana-landing .ypk-final-cta-actions .ypk-button { width: 100%; }
.yp-kayana-landing .ypk-disclaimer p { font-size: 9px; text-align: left; }
/* Lightbox */ .yp-kayana-landing .ypk-lightbox { padding: 15px; }
.yp-kayana-landing .ypk-lightbox-image { max-width: 100%; max-height: 72vh; }
.yp-kayana-landing .ypk-lightbox-prev, .yp-kayana-landing .ypk-lightbox-next { top: auto; bottom: 4px; transform: none; }
.yp-kayana-landing .ypk-lightbox-prev { left: 4px; }
.yp-kayana-landing .ypk-lightbox-next { right: 4px; }
.yp-kayana-landing .ypk-lightbox-close { top: 0; right: 0; }
.yp-kayana-landing .ypk-lightbox-count { bottom: 17px; }
/* Mobile sticky enquiry */ .yp-kayana-landing .ypk-mobile-cta { position: fixed; z-index: 99990; right: 0; bottom: 0; left: 0; display: block; padding: 10px 15px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,255,255,.12); background: var(–yp-green-dark); box-shadow: 0 -5px 24px rgba(0,0,0,.12); }
.yp-kayana-landing .ypk-mobile-cta .ypk-button { width: 100%; min-height: 48px; padding: 12px 16px; font-size: 10px; } }
@media (prefers-reduced-motion: reduce) { .yp-kayana-landing *, .yp-kayana-landing *::before, .yp-kayana-landing *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

Kayana Heights
@ Ayuria Place
Discover apartment living in Alamesra, Kota Kinabalu.
Explore the available layouts, compare unit sizes and
find out more about the facilities and lifestyle at
Kayana Heights.
Alamesra, Kota Kinabalu, Sabah
Request current pricing, floor plans and unit information.
A development by
KTI Development Sdn. Bhd.
RM392,000
Confirm current pricing and availability
650–900
Square feet
2–3
Across the supplied unit types
99 Years
Review the relevant title documents
A considered approach to everyday living.
Located at Ayuria Place in Alamesra, Kota Kinabalu,
Kayana Heights offers residential apartment options
designed around different household needs.
With two-bedroom and three-bedroom configurations,
residents can explore layouts suited to their
space requirements, lifestyle and future plans.
The development also features a range of community
and recreational facilities, including a central
park, clubhouse, indoor playroom and outdoor gym.

Alamesra, Sabah
Two layouts to explore.
Compare the supplied residential configurations
to understand which layout may suit your needs.
Request the official floor plans for a closer look.
Type B
Type B Floor Plan
Replace with the official 900 sq ft
floor plan before publishing.
Type B
900 sq ft
3 Rooms
2 Baths
900 sq ft
Ask for Availability
Type C
Type C Floor Plan
Replace with the official 650 sq ft
floor plan before publishing.
Type C
650 sq ft
2 Rooms
2 Baths
650 sq ft
Ask for Availability
Unit configurations are based on the supplied project information.
Request official floor plans and confirm the current availability
and specifications of each unit before making a purchase decision.
Spaces for everyday life.
Kayana Heights includes a selection of shared
community, recreational and practical facilities.
Explore the features that form part of the
development’s proposed living environment.

Development image. Refer to the developer’s
official materials for facility details and
availability.
Everyday convenience, shared spaces.
Meeting / Discussion / Tuition Rooms
Parcel Room
Food Delivery Stations
Indoor Playroom
Outdoor Gym
Jogging Track
1.2-Acre Central Park
Clubhouse
Refer to the developer’s latest materials for
facility specifications, access arrangements
and management provisions.
Take a closer look.
Browse the available project images and visualise
the development. Request the official floor plans
to explore the unit layouts in greater detail.
Images are provided for project illustration. Refer to the
developer’s official materials and contractual documents
for final specifications and actual delivered finishes.
Discover the Alamesra address.
Kayana Heights is located within Ayuria Place
in Alamesra, Kota Kinabalu, Sabah.
Explore the location on the map and assess
its suitability for your daily travel,
household needs and preferred neighbourhood.
Ayuria Place, Alamesra,
Kota Kinabalu, Sabah
Ayuria Place, Alamesra
Make an informed property decision.
Whether you are exploring your first home or
comparing property options, start by understanding
the available layouts, current pricing and
purchase arrangements.
Request the information you need to evaluate
Kayana Heights before deciding on your next step.
Current price information
Official floor plans
Available unit configurations
Purchase and viewing arrangements
Let’s explore your options.
Enquire about the project to request the latest
pricing, available units, official floor plans
and arrangements for a show-unit visit.
Pricing, availability and purchase arrangements
should be confirmed before making a decision.
What would you like to know?
Review the supplied project information and
request confirmation of any details you need
before proceeding.
Where is Kayana Heights located?
Alamesra, Kota Kinabalu, Sabah.
What unit sizes are available?
at 900 sq ft with 3 rooms and 2 bathrooms,
and Type C at 650 sq ft with 2 rooms and
2 bathrooms. Confirm current availability
and obtain the official floor plans.
What is the starting price?
RM392,000. Please confirm the latest price,
applicable unit selection and any additional
purchase costs before making a decision.
What is the tenure?
tenure of 99 years. Buyers should review
the relevant title documents and sale and
purchase documentation to confirm the
applicable terms.
What facilities are listed for the development?
discussion and tuition rooms, a parcel room,
food delivery stations, an indoor playroom,
an outdoor gym, a jogging track, a 1.2-acre
central park and a clubhouse. Confirm the
final facility specifications and arrangements
with the developer.
Can I arrange to visit the show unit?
show-unit visits and the available
appointment arrangements.
How can I obtain the official floor plans?
official floor plans for Type B and Type C.
The floor-plan areas above are placeholders
until the correct drawings are inserted.
Your next property decision starts with the right information.
Explore the unit options, request current pricing
and obtain the details you need to evaluate
Kayana Heights in Alamesra.
Current pricing, unit availability and purchase
arrangements are subject to confirmation.
Project information is based on the details supplied for this
page and is provided for general information. Prices, availability,
specifications, facilities, images and purchase arrangements
should be verified with the developer before any purchase decision.
Images may include illustrative representations of the development.
Nothing on this page constitutes a guarantee of investment returns
or future property performance.
(function () { “use strict”;
var root = document.querySelector(“.yp-kayana-landing”);
if (!root || root.dataset.ypkInitialized === “true”) { return; }
root.dataset.ypkInitialized = “true”;
/* —————————————– Gallery lightbox —————————————– */
var galleryButtons = Array.prototype.slice.call( root.querySelectorAll(“[data-ypk-gallery]”) );
var lightbox = root.querySelector(“.ypk-lightbox”); var lightboxImage = root.querySelector(“.ypk-lightbox-image”); var lightboxClose = root.querySelector(“.ypk-lightbox-close”); var lightboxPrev = root.querySelector(“.ypk-lightbox-prev”); var lightboxNext = root.querySelector(“.ypk-lightbox-next”); var lightboxCount = root.querySelector(“.ypk-lightbox-count”);
var activeIndex = 0; var previousFocus = null;
function getGalleryImage(index) { var button = galleryButtons[index];
if (!button) { return null; }
return button.querySelector(“img”); }
function updateLightbox(index) { if (!galleryButtons.length) { return; }
activeIndex = (index + galleryButtons.length) % galleryButtons.length;
var image = getGalleryImage(activeIndex);
if (!image) { return; }
lightboxImage.src = image.currentSrc || image.src; lightboxImage.alt = image.alt || “Kayana Heights project image”;
lightboxCount.textContent = (activeIndex + 1) + ” / ” + galleryButtons.length; }
function openLightbox(index) { if (!lightbox || !galleryButtons.length) { return; }
previousFocus = document.activeElement;
updateLightbox(index);
lightbox.classList.add(“is-open”); lightbox.setAttribute(“aria-hidden”, “false”);
document.documentElement.style.overflow = “hidden”;
lightboxClose.focus(); }
function closeLightbox() { if (!lightbox) { return; }
lightbox.classList.remove(“is-open”); lightbox.setAttribute(“aria-hidden”, “true”);
document.documentElement.style.overflow = “”;
if (previousFocus && typeof previousFocus.focus === “function”) { previousFocus.focus(); } }
galleryButtons.forEach(function (button, index) { button.addEventListener(“click”, function () { openLightbox(index); }); });
if (lightboxClose) { lightboxClose.addEventListener(“click”, closeLightbox); }
if (lightboxPrev) { lightboxPrev.addEventListener(“click”, function () { updateLightbox(activeIndex – 1); }); }
if (lightboxNext) { lightboxNext.addEventListener(“click”, function () { updateLightbox(activeIndex + 1); }); }
if (lightbox) { lightbox.addEventListener(“click”, function (event) { if (event.target === lightbox) { closeLightbox(); } }); }
document.addEventListener(“keydown”, function (event) { if (!lightbox || !lightbox.classList.contains(“is-open”)) { return; }
if (event.key === “Escape”) { closeLightbox(); } else if (event.key === “ArrowLeft”) { updateLightbox(activeIndex – 1); } else if (event.key === “ArrowRight”) { updateLightbox(activeIndex + 1); } });
/* —————————————– Smooth scrolling for local section links —————————————– */
root.querySelectorAll(‘a[href^=”#”]’).forEach(function (link) { link.addEventListener(“click”, function (event) { var targetId = link.getAttribute(“href”);
if (!targetId || targetId === “#”) { return; }
var target = root.querySelector(targetId);
if (!target) { /* * The existing WordPress enquiry form can be placed * outside this wrapper. Look for a matching ID on the * document before allowing the default anchor behaviour. */ target = document.getElementById(targetId.substring(1)); }
if (!target) { return; }
event.preventDefault();
target.scrollIntoView({ behavior: window.matchMedia(“(prefers-reduced-motion: reduce)”).matches ? “auto” : “smooth”, block: “start” }); }); });
/* —————————————– Unit type context for the enquiry flow —————————————– */
root.querySelectorAll(“[data-ypk-unit]”).forEach(function (button) { button.addEventListener(“click”, function () { var selectedUnit = button.getAttribute(“data-ypk-unit”);
if (!selectedUnit) { return; }
/* * If the WordPress enquiry form supports a unit-type field, * the site owner can connect this event to that form. */ root.dataset.selectedUnit = selectedUnit;
var event;
try { event = new CustomEvent(“ypkUnitSelected”, { bubbles: true, detail: { project: “Kayana Heights @ Ayuria Place”, unitType: selectedUnit } });
root.dispatchEvent(event); } catch (error) { /* The page remains usable without custom event support. */ } }); });
})();
Interested in Kayana Heights @ Ayuria Place?
Leave your details and your enquiry will be recorded in the Yeoh Properties enquiry dashboard, provided the Yeoh Properties Enquiry plugin is active.