New Projects   /   Kayana Heights @ Ayuria Place

About This Project

/* ========================================================= 1. DESIGN SYSTEM & RESET ========================================================= */

.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 at Ayuria Place, Alamesra, Kota Kinabalu

Residential Living · Kota Kinabalu

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.

Starting Price
RM392,000

Confirm current pricing and availability
Built-up Area
650–900
Square feet
Bedrooms
2–3
Across the supplied unit types
Tenure
99 Years
Review the relevant title documents

The Development

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.


Compare the unit types

Kayana Heights development image

Kayana Heights @ Ayuria Place
Alamesra, Sabah

Find Your Layout

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.


Request Floor Plans


Type B

Type B

900 sq ft

Bedrooms
3 Rooms

Bathrooms
2 Baths

Built-up
900 sq ft

Unit Details
Ask for Availability


Enquire About Type B


Type C

Type C

650 sq ft

Bedrooms
2 Rooms

Bathrooms
2 Baths

Built-up
650 sq ft

Unit Details
Ask for Availability


Enquire About Type C

Community & Lifestyle

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.

Kayana Heights development and lifestyle facilities

Development image. Refer to the developer’s
official materials for facility details and
availability.

Facilities

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.

Project Location

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.

Project Address

Ayuria Place, Alamesra,
Kota Kinabalu, Sabah


Open Location in Maps

Kayana Heights
Ayuria Place, Alamesra

Your Next Step

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

Kayana Heights

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.


Make an Enquiry

Pricing, availability and purchase arrangements
should be confirmed before making a decision.

Frequently Asked Questions

What would you like to know?

Review the supplied project information and
request confirmation of any details you need
before proceeding.


Ask about the project

Where is Kayana Heights located?
Kayana Heights is located at Ayuria Place,
Alamesra, Kota Kinabalu, Sabah.
What unit sizes are available?
The supplied project details list Type B
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?
The supplied project information states
RM392,000. Please confirm the latest price,
applicable unit selection and any additional
purchase costs before making a decision.
What is the tenure?
The supplied project information states a
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?
The supplied information lists meeting,
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?
Enquire to request information about
show-unit visits and the available
appointment arrangements.
How can I obtain the official floor plans?
Use the enquiry section to request the
official floor plans for Type B and Type C.
The floor-plan areas above are placeholders
until the correct drawings are inserted.

Kayana Heights @ Ayuria Place

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.