:root{--sand:#f5ede0;--ocean:#2c7a8c;--ocean-dark:#1d5c6b;--ocean-light:#e8f4f7;--dune:#c4956a;--text:#2d2d2d;--text-light:#666;--white:#fff;--radius:12px}
body{background:var(--white);overflow-x:hidden}

.kv-hero{position:relative;height:72vh;min-height:520px;background:url("https://dqif0xfu9mg0a.cloudfront.net/imageCache/property/mh-pi-56799084_Crop_1200_630.webp") center top/cover no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;margin:0 calc(-50vw + 50%)}
.kv-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.15),rgba(0,0,0,.55))}
.kv-hero-inner{position:relative;z-index:1;color:#fff;padding:0 24px}
.kv-hero h1{font-size:clamp(2.8rem,7vw,5.5rem);font-weight:800;letter-spacing:-1px;margin:0 0 12px;text-shadow:0 2px 20px rgba(0,0,0,.4);line-height:1.05}
.kv-hero .subtitle{font-size:clamp(1.1rem,2.5vw,1.5rem);opacity:.95;margin:0 0 36px;font-weight:400;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.kv-btn{display:inline-block;background:var(--dune);color:#fff!important;padding:16px 40px;border-radius:50px;font-size:1.05rem;font-weight:700;text-decoration:none;letter-spacing:.5px;transition:all .25s ease;box-shadow:0 4px 20px rgba(0,0,0,.25)}
.kv-btn:hover{background:#b07d50;transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,0,0,.3)}
.kv-btn-outline{background:transparent;border:2px solid #fff;margin-left:12px}
.kv-btn-outline:hover{background:rgba(255,255,255,.15)}

.kv-stats{background:var(--ocean);display:flex;justify-content:center;flex-wrap:wrap;margin:0 calc(-50vw + 50%)}
.kv-stat{display:flex;align-items:center;gap:10px;padding:18px 36px;border-right:1px solid rgba(255,255,255,.2);font-size:1rem;font-weight:600;color:#fff}
.kv-stat:last-child{border-right:none}
.kv-stat .icon{font-size:1.5rem}

.kv-section{max-width:1100px;margin:0 auto;padding:80px 24px}
.kv-section-title{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;color:var(--ocean-dark);margin:0 0 16px;letter-spacing:-.5px}
.kv-section-sub{font-size:1.1rem;color:var(--text-light);margin:0 0 48px;max-width:600px}
.kv-divider{width:60px;height:4px;background:var(--dune);border-radius:2px;margin:12px 0 24px}

.kv-intro{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.kv-intro-text p{font-size:1.1rem;line-height:1.85;color:var(--text);margin:0 0 20px}
.kv-intro-img{border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.15);aspect-ratio:4/3}
.kv-intro-img img{width:100%;height:100%;object-fit:cover;display:block}

.kv-features-bg{background:var(--sand);margin:0 calc(-50vw + 50%);padding:0 calc(50vw - 50%)}
.kv-features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.kv-feature{background:#fff;border-radius:var(--radius);padding:28px 20px;text-align:center;box-shadow:0 2px 12px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s}
.kv-feature:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1)}
.kv-feature .icon{font-size:2.2rem;display:block;margin-bottom:12px}
.kv-feature .label{font-weight:700;color:var(--text);font-size:.95rem}
.kv-feature .desc{font-size:.82rem;color:var(--text-light);margin-top:4px}

.kv-gallery{columns:3;column-gap:12px}
.kv-gallery-item{break-inside:avoid;margin-bottom:12px;border-radius:8px;overflow:hidden;cursor:pointer;transition:opacity .2s}
.kv-gallery-item:hover{opacity:.88}
.kv-gallery-item img{width:100%;display:block}

.kv-lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);align-items:center;justify-content:center}
.kv-lightbox.open{display:flex}
.kv-lightbox img{max-width:90vw;max-height:90vh;border-radius:8px}
.kv-lightbox-close{position:absolute;top:20px;right:28px;color:#fff;font-size:2.5rem;cursor:pointer;line-height:1;background:none;border:none}
.kv-lightbox-prev,.kv-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:2.5rem;cursor:pointer;background:rgba(255,255,255,.1);border:none;padding:12px 20px;border-radius:8px}
.kv-lightbox-prev{left:16px}
.kv-lightbox-next{right:16px}

.kv-location{background:var(--ocean-dark);color:#fff;margin:0 calc(-50vw + 50%);padding:0 calc(50vw - 50%)}
.kv-location .kv-section-title{color:#fff}
.kv-location .kv-section-sub{color:rgba(255,255,255,.75)}
.kv-location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.kv-loc-item{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.08);border-radius:var(--radius);padding:20px}
.kv-loc-item .icon{font-size:2rem}
.kv-loc-item .info strong{display:block;font-size:1.1rem;font-weight:700}
.kv-loc-item .info span{font-size:.85rem;opacity:.75}

.kv-testimonial-bg{background:var(--ocean-light,#e8f4f7);margin:0 calc(-50vw + 50%);padding:0 calc(50vw - 50%)}
.kv-testimonial{max-width:900px;margin:0 auto;padding:60px 24px;text-align:center}
.kv-testimonial .kv-divider{margin-left:auto;margin-right:auto}
.kv-rating-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:32px 0 24px}
.kv-rating-item{background:#fff;border-radius:12px;padding:18px 12px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.kv-rating-stars{color:#ffb400;font-size:1.2rem;letter-spacing:2px;display:block;margin-bottom:6px}
.kv-rating-label{font-size:.92rem;color:var(--text,#2d2d2d);font-weight:600}
.kv-attribution{margin-top:20px;font-style:italic;color:var(--text-light,#666);font-size:.95rem}
.kv-attribution strong{color:var(--ocean-dark,#1d5c6b);font-style:normal}

.kv-cta{text-align:center;background:linear-gradient(135deg,var(--ocean),var(--ocean-dark));margin:0 calc(-50vw + 50%);padding:100px calc(50vw - 50%);color:#fff}
.kv-cta h2{font-size:clamp(1.8rem,4vw,3rem);font-weight:800;margin:0 0 16px}
.kv-cta p{font-size:1.15rem;opacity:.9;margin:0 0 40px}
.kv-cta .kv-btn{background:var(--dune);font-size:1.15rem;padding:18px 52px}

.kv-footer-info{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;padding:40px 24px;border-top:1px solid #eee;font-size:.9rem;color:var(--text-light);text-align:center}
.kv-footer-info a{color:var(--ocean);text-decoration:none}
.kv-footer-info a:hover{text-decoration:underline}

@media(max-width:768px){.kv-intro{grid-template-columns:1fr;gap:32px}.kv-stat{padding:14px 20px;font-size:.88rem}.kv-gallery{columns:2}.kv-hero{height:58vh}.kv-features-grid{grid-template-columns:repeat(2,1fr)}.kv-location-grid{grid-template-columns:1fr}.kv-loc-item{padding:14px}}
@media(max-width:600px){.kv-rating-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.kv-gallery{columns:1}.kv-features-grid{grid-template-columns:1fr}}
