:root{--ink:#173d36;--ink-dark:#102c27;--sand:#f3efe7;--paper:#fffdf9;--clay:#db7158;--gold:#deb65e;--muted:#65716d;--line:#dedbd2}



*{box-sizing:border-box}



html{scroll-behavior:smooth}



body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}



button,input,select,textarea{font:inherit}



button{cursor:pointer}



.announcement{height:38px;background:var(--ink-dark);color:#f6f1e7;display:flex;align-items:center;justify-content:center;gap:28px;font-size:.76rem;letter-spacing:.03em}



.announcement button{border:0;background:transparent;color:#f6f1e7;font-weight:700}



.announcement button span{color:var(--gold);padding-left:4px}



header{height:86px;max-width:1220px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}



.brand{display:flex;gap:10px;align-items:center;color:var(--ink);text-decoration:none;line-height:.88;font-size:.78rem;letter-spacing:.02em}



.brand b{font-size:1rem;letter-spacing:-.02em}



.brand-mark{width:34px;height:34px;border-radius:50%;background:var(--ink);color:white;font-family:'Playfair Display';display:grid;place-items:center;font-size:.8rem}



nav{display:flex;gap:33px}



nav a,footer a{color:var(--ink);text-decoration:none;font-size:.86rem;font-weight:600}



.whatsapp-small{border:1px solid var(--ink);border-radius:999px;padding:10px 16px;color:var(--ink);text-decoration:none;font-size:.8rem;font-weight:700}



.hero{min-height:570px;background:var(--sand);display:grid;grid-template-columns:1.03fr .97fr;overflow:hidden}



.hero-copy{padding:84px max(5vw,56px) 62px max(5vw,56px);max-width:715px;justify-self:end}



.eyebrow{margin:0 0 12px;color:#c35d47;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:700}



.hero h1,h2{font-family:'Playfair Display',serif;letter-spacing:-.045em;line-height:.99;margin:0}



.hero h1{font-size:clamp(3.7rem,6vw,5.8rem)}



.hero h1 i{color:var(--clay);font-weight:600}



.intro{max-width:490px;color:#465752;line-height:1.65;font-size:1rem;margin:25px 0 29px}



.search-box{padding:17px;background:#fffdfa;box-shadow:0 10px 20px #7f77651f;display:grid;grid-template-columns:1.1fr 1fr auto;gap:10px;align-items:end}



.search-box label,.narrow label{display:flex;flex-direction:column;gap:6px;color:#65716d;font-size:.72rem;font-weight:700}



.search-box select{appearance:none;background:#f6f3ed;border:0;padding:12px 13px;color:var(--ink);font-size:.85rem}



.primary{border:0;border-radius:2px;background:var(--clay);color:#fff;padding:13px 17px;font-weight:700;font-size:.82rem;box-shadow:0 5px 11px #ad4b3630;white-space:nowrap}



.primary span{padding-left:8px}



.microcopy{font-size:.72rem;color:#68736f;margin:14px 0}



.hero-visual{background:linear-gradient(145deg,#accfbd 0%,#6eaa93 55%,#407662);position:relative;overflow:hidden;min-height:470px}



.sun{position:absolute;width:150px;height:150px;right:20%;top:12%;background:#f9d576;border-radius:50%;opacity:.9}



.building{position:absolute;bottom:0;background:#e9ddd0}



.building-front{width:49%;height:72%;right:14%;box-shadow:-25px 0 #d3c6b9}



.building-back{width:40%;height:53%;right:-6%;background:#c5b6a8}



.building-front span{display:inline-block;width:18%;height:8%;background:#477769;margin:12% 7% 0}



.plant{position:absolute;bottom:-20px;width:110px;height:205px;background:#1c5747;border-radius:100% 0 100% 0;transform:rotate(20deg)}



.plant-one{left:-20px}



.plant-two{left:93px;bottom:-48px;transform:rotate(-32deg);background:#285f4c}



.home-stamp{position:absolute;left:12%;bottom:9%;padding:13px 17px;background:#fffdf9;color:var(--ink);font-size:.76rem;line-height:1.55;box-shadow:0 8px 20px #123d3230}



.home-stamp span{color:#c65a44;font-weight:bold}



.trust-bar{max-width:1110px;margin:-34px auto 0;position:relative;z-index:2;background:#fff;box-shadow:0 12px 30px #263a3230;display:grid;grid-template-columns:repeat(4,1fr)}



.trust-bar div{padding:22px 26px;border-right:1px solid var(--line);display:flex;gap:13px;align-items:center;font-size:.76rem;line-height:1.35;color:#53615d}



.trust-bar b{font-family:'Playfair Display';font-size:1.7rem;color:var(--clay)}



.section{max-width:1110px;margin:0 auto;padding:110px 0}



.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}



.section-heading h2,.process h2,.cta h2{font-size:clamp(2.4rem,4vw,3.65rem)}



.section-heading>p{max-width:290px;margin:0;color:var(--muted);line-height:1.55;font-size:.87rem}



.location-grid{display:grid;grid-template-columns:1.05fr .95fr .95fr 1.05fr;gap:14px}



.location-card{height:255px;text-align:left;padding:20px;border:0;color:white;display:flex;flex-direction:column;align-items:start;justify-content:end;position:relative;overflow:hidden;background:#386d5e}



.location-card:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#102d26e8,transparent 65%)}



.location-card>*{position:relative}



.location-card span{font-family:'Playfair Display';font-size:1.65rem}



.location-card small{margin:4px 0 12px;opacity:.87}



.location-card b{font-size:.74rem}



.loc-westlands{background:linear-gradient(135deg,#365968,#162d39)}



.loc-ruiru{background:linear-gradient(135deg,#c77e5a,#77633f)}



.loc-southb{background:linear-gradient(135deg,#606a70,#314852)}



.homes{padding-top:40px}



.text-button{border:0;background:transparent;color:var(--clay);font-size:.8rem;font-weight:bold}



.listing-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:26px;font-size:.8rem}



.chips{display:flex;gap:7px}



.chip{border:1px solid var(--line);background:white;border-radius:99px;padding:7px 10px;font-size:.73rem;color:#53615d}



.chip.active{background:var(--ink);border-color:var(--ink);color:white}



.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}



.home-card{background:#fff;border:1px solid #e5e1da;transition:transform .2s,box-shadow .2s}



.home-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #183d3420}



.listing-visual{height:210px;position:relative;overflow:hidden;background:linear-gradient(130deg,#ddaf83,#697e77)}



.listing-visual:after{content:'';position:absolute;width:70%;height:50%;left:15%;bottom:0;background:#e5e0d6;border-radius:4px 4px 0 0;box-shadow:inset 0 0 0 8px #cfbeb0}



.listing-visual .window{position:absolute;z-index:1;width:22%;height:28%;top:31%;left:25%;background:#557878;box-shadow:116px 0 #557878}



.listing-visual.tone2{background:linear-gradient(130deg,#aabfc1,#517c6c)}



.listing-visual.tone3{background:linear-gradient(130deg,#e4c88c,#8e9878)}



.listing-visual.tone4{background:linear-gradient(130deg,#ba8e78,#4c7371)}



.listing-visual.tone5{background:linear-gradient(130deg,#b7ac9a,#506b6b)}



.listing-visual.tone6{background:linear-gradient(130deg,#e5b98c,#4b6e67)}



.tag{position:absolute;z-index:2;top:12px;left:12px;border-radius:99px;background:#fff;color:#244d43;padding:6px 9px;font-size:.65rem;font-weight:700}



.card-body{padding:16px}



.card-top{display:flex;justify-content:space-between;gap:10px;align-items:start}



.card-body h3{font-family:'Playfair Display';font-size:1.26rem;margin:0 0 4px;letter-spacing:-.02em}



.card-body p{margin:0;color:var(--muted);font-size:.77rem}



.rent{font-weight:700;color:var(--ink);white-space:nowrap;font-size:.84rem}



.features{display:flex;gap:11px;margin:15px 0;color:#6c7974;font-size:.7rem}



.card-action{padding:0;border:0;background:transparent;color:var(--clay);font-weight:700;font-size:.76rem}



.locked{color:var(--ink)}



.locked:before{content:'⌁';color:var(--clay);padding-right:5px}



.no-results{padding:40px;text-align:center;color:var(--muted);background:var(--sand)}



.process{background:var(--ink);color:#f9f4ea;padding:105px max(6vw,40px);display:grid;grid-template-columns:1fr 1fr;gap:90px}



.process .eyebrow{color:#e3b766}



.process h2{color:#fff}



.inline{display:inline-block;text-decoration:none;margin-top:29px}



.process ol{margin:0;padding:0;list-style:none}



.process li{display:flex;gap:20px;padding:0 0 27px;margin-bottom:27px;border-bottom:1px solid #ffffff2b}



.process li>span{font-family:'Playfair Display';font-size:1.8rem;color:#e3b766}



.process h3{margin:0 0 6px;font-size:1rem}



.process li p{margin:0;color:#c5d0cb;line-height:1.55;font-size:.83rem}



.cta{max-width:1110px;margin:90px auto;background:var(--gold);padding:58px 64px;display:flex;justify-content:space-between;align-items:center}



.cta .eyebrow{color:#8f4938}



.cta h2{font-size:3rem}



.cta p:not(.eyebrow){color:#3d514a;font-size:.9rem;max-width:480px}



.light{background:var(--ink);text-decoration:none;display:inline-block}



footer{max-width:1110px;margin:auto;padding:20px 0 32px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-top:1px solid var(--line);gap:10px}



footer p,footer small{color:var(--muted);font-size:.72rem}



footer div{display:flex;gap:17px;justify-content:end;align-items:center}



footer button{border:0;background:transparent;color:var(--ink);font-size:.8rem;font-weight:600}

.social-links{display:inline-flex;gap:9px;align-items:center;margin-left:4px}.social-link{width:38px;height:38px;border:0;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:transform .18s ease,filter .18s ease}.social-link svg{width:19px;height:19px;fill:currentColor;stroke:currentColor;stroke-width:1.8}.social-link svg rect,.social-link svg circle{fill:none}.social-link svg .instagram-dot{fill:currentColor;stroke:none}.facebook-link{background:#1877f2}.instagram-link{background:radial-gradient(circle at 28% 105%,#ffd66b 0 18%,#f65472 47%,#b632a8 68%,#6651d6 100%)}.social-link:hover,.social-link:focus-visible{color:#fff;outline:0;transform:translateY(-2px);filter:brightness(.9)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}



.whatsapp-float{position:fixed;bottom:22px;right:22px;border-radius:99px;background:#1f9b58;color:white;text-decoration:none;padding:12px 16px;display:flex;gap:7px;align-items:center;z-index:3;font-size:.78rem;font-weight:700;box-shadow:0 7px 18px #1c6d423d}



.whatsapp-float:first-letter{font-size:1.3rem}



dialog{border:0;padding:0;width:min(700px,calc(100% - 30px));box-shadow:0 16px 60px #102b2490;color:var(--ink)}



dialog::backdrop{background:#122e2780}



.close{position:absolute;top:12px;right:13px;width:30px;height:30px;border-radius:50%;border:0;background:#eff2ed;font-size:1.3rem;color:var(--ink);z-index:2}



.detail-layout{display:grid;grid-template-columns:1fr 1fr}



.detail-art{min-height:420px;background:linear-gradient(145deg,#8dad9e,#e1ad77);position:relative}



.detail-art:before{content:'';position:absolute;left:14%;right:14%;bottom:0;height:56%;background:#eee5d7;border-radius:5px 5px 0 0}



.detail-copy{padding:54px 35px 30px}



.detail-copy h2{font-size:2.5rem}



.detail-copy>p{color:var(--muted);line-height:1.6;font-size:.86rem}



.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:23px 0}



.detail-facts span{font-size:.72rem;color:var(--muted)}



.detail-facts b{display:block;font-size:.82rem;margin-top:3px}



.narrow{width:min(475px,calc(100% - 28px));padding:39px 30px}



.dialog-head h2{font-size:2.2rem}



.dialog-head>p:not(.eyebrow){font-size:.85rem;color:var(--muted);line-height:1.55}



.price-line{display:flex;justify-content:space-between;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:21px 0;font-size:.85rem}



.narrow form{display:flex;flex-direction:column;gap:13px}



.narrow input,.narrow select,.narrow textarea{border:1px solid #d9dcd5;border-radius:2px;padding:11px;color:var(--ink);background:white;outline-color:var(--clay)}



.narrow textarea{min-height:72px}



.label-title{font-size:.72rem;font-weight:700;color:var(--muted);margin-top:5px}



.pay-option{border:1px solid var(--line);padding:11px;flex-direction:row!important;align-items:center;gap:8px!important;color:var(--ink)!important}



.pay-option small{margin-left:auto;color:var(--muted);font-weight:400}



.pay-option i{width:22px;height:22px;display:inline-grid;place-items:center;border-radius:50%;font-style:normal;color:white;font-size:.72rem}



.mpesa{background:#4cae45}



.airtel{background:#df3527}



.full{width:100%;margin-top:6px}



.fine-print{font-size:.67rem;text-align:center;color:var(--muted);margin:0}



.admin-layout{display:grid;grid-template-columns:174px 1fr;min-height:510px}



.admin-layout aside{background:var(--ink);color:white;padding:28px 18px;display:flex;flex-direction:column;gap:21px}



.admin-layout aside .brand-mark{background:var(--gold);color:var(--ink)}



.admin-layout aside b{margin-bottom:19px}



.admin-layout aside a{font-size:.78rem;color:#c4d5cd;padding:8px}



.admin-layout aside .selected{background:#ffffff1b;color:#fff}



.admin-layout aside small{margin-top:auto;color:#92a9a0}



.admin-layout section{padding:43px 34px}



.admin-layout h2{font-size:2.4rem}



.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:30px 0}



.admin-stats div{background:#f4f3ee;padding:15px}



.admin-stats span{color:var(--muted);font-size:.68rem}



.admin-stats b{display:block;font-size:1.5rem;margin-top:8px}



.admin-demo{border:1px dashed #bdc8c1;padding:20px}



.admin-demo h3{margin:0}



.admin-demo p{font-size:.8rem;color:var(--muted);line-height:1.5}



.toast{position:fixed;z-index:10;bottom:26px;left:50%;transform:translate(-50%,120px);background:var(--ink);color:#fff;padding:13px 19px;box-shadow:0 8px 25px #08221944;font-size:.8rem;transition:.3s}



.toast.show{transform:translate(-50%,0)}




@media(max-width:800px){header{height:72px;padding:0 18px}



header nav{display:none}



.whatsapp-small{font-size:.72rem;padding:8px 11px}



.hero{grid-template-columns:1fr}



.hero-copy{padding:60px 23px 48px;max-width:none}



.hero-visual{min-height:285px}



.search-box{grid-template-columns:1fr 1fr}



.search-box .primary{grid-column:span 2}



.trust-bar{margin:0;grid-template-columns:1fr 1fr}



.trust-bar div{padding:15px;border-bottom:1px solid var(--line)}



.section{padding:68px 20px}



.section-heading{display:block}



.section-heading>p{margin-top:15px}



.location-grid,.listing-grid{grid-template-columns:1fr 1fr}



.location-card{height:180px}



.listing-toolbar{display:block}



.chips{margin-top:12px;overflow:auto}



.process{grid-template-columns:1fr;gap:45px;padding:65px 24px}



.cta{margin:45px 20px;padding:38px 28px;display:block}



.cta h2{font-size:2.6rem}



.cta .light{margin-top:14px}



footer{margin:0 20px;grid-template-columns:1fr 1fr}



footer p{display:none}



footer div{justify-content:end}



footer small{grid-column:span 2}



.detail-layout{grid-template-columns:1fr}



.detail-art{min-height:230px}



.detail-copy{padding:34px 24px}



.admin-layout{grid-template-columns:1fr}



.admin-layout aside{display:none}



.admin-layout section{padding:35px 22px}



.admin-stats{grid-template-columns:1fr}



.announcement{font-size:.65rem;gap:12px}



.whatsapp-float span{display:none}



.whatsapp-float{padding:13px}



.listing-visual{height:165px}



}




@media(max-width:430px){.hero h1{font-size:3.4rem}



.search-box{grid-template-columns:1fr}



.search-box .primary{grid-column:span 1}



.location-grid,.listing-grid{grid-template-columns:1fr}



.location-card{height:165px}



.listing-grid{gap:15px}



.section-heading h2{font-size:2.45rem}



.trust-bar div{font-size:.68rem;padding:13px}



.trust-bar b{font-size:1.35rem}



.cta h2{font-size:2.3rem}



}




.hero-visual{background:linear-gradient(90deg,#103c34a3,#103c3414),url('assets/landing/hero-home.jfif') center/cover}



.hero-visual .sun,.hero-visual .building,.hero-visual .plant{display:none}



.loc-kilimani{background:linear-gradient(0deg,#102d26e8,transparent 74%),url('assets/landing/kilimani.jfif') center/cover}



.loc-westlands{background:linear-gradient(0deg,#102d26e8,transparent 74%),url('assets/landing/westlands.jfif') center/cover}



.loc-ruiru{background:linear-gradient(0deg,#102d26e8,transparent 74%),url('assets/landing/ruiru.jfif') center/cover}



.loc-southb{background:linear-gradient(0deg,#102d26e8,transparent 74%),url('assets/landing/south-b.jfif') center/cover}




.location-card{text-decoration:none}



.announcement a{color:#f6f1e7;font-size:.76rem;font-weight:700;text-decoration:none}



.nav-active{color:var(--clay)!important}



.page-hero{background:var(--sand);padding:100px max(9vw,40px);min-height:390px}



.page-hero h1,.location-page-hero h1{font-family:'Playfair Display',serif;letter-spacing:-.05em;line-height:.97;font-size:clamp(3.8rem,7vw,6.2rem);margin:0}



.page-hero h1 i{color:var(--clay)}



.page-hero>p:last-child{max-width:520px;color:#53615d;line-height:1.65;margin:22px 0 0}



.compact{padding-top:75px;padding-bottom:90px}



.about-process{margin-top:0}



.location-page-hero{min-height:430px;padding:104px max(9vw,40px);display:flex;align-items:center;background:#315f52 center/cover;color:white}



.location-page-hero .eyebrow{color:#f1c978}



.location-page-hero h1{font-size:clamp(4.2rem,8vw,7rem)}



.location-page-hero>div>p:not(.eyebrow){max-width:460px;line-height:1.65;color:#e4ece7}



.area-listings{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}



.area-home{border:1px solid var(--line);padding:30px;background:#fff}



.area-home>span{font-size:.68rem;color:#c35d47;text-transform:uppercase;font-weight:700;letter-spacing:.12em}



.area-home h3{font-family:'Playfair Display',serif;font-size:1.7rem;margin:14px 0 5px}



.area-home p{color:var(--muted);font-size:.85rem;margin:0 0 22px}



@media(max-width:800px){.page-hero,.location-page-hero{padding:74px 24px;min-height:320px}



.area-listings{grid-template-columns:1fr}



}




.landing-only{min-height:600px}



.landing-links{max-width:1110px;margin:72px auto 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}



.landing-links a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;background:var(--sand);padding:25px 22px;color:var(--ink);text-decoration:none;transition:transform .2s,background .2s}



.landing-links a:hover{transform:translateY(-3px);background:#eee7da}



.landing-links> a>span{font-family:'Playfair Display',serif;color:var(--clay);font-size:1.55rem}



.landing-links h2{font-family:'Playfair Display',serif;font-size:1.35rem;margin:0}



.landing-links p{font-size:.75rem;color:var(--muted);margin:4px 0 0}



.landing-links b{font-size:1.25rem;color:var(--clay)}



@media(max-width:800px){.landing-only{min-height:auto}



.landing-links{margin:45px 20px;grid-template-columns:1fr}



.landing-links a{padding:20px}



}




.hero-refresh{background:#e9e4d7}



.hero-refresh .hero-copy{position:relative;z-index:1}



.hero-refresh .hero-visual{background:linear-gradient(180deg,#0d322338 5%,#0d3223b8 100%),url('https://images.unsplash.com/photo-1673350474055-e62f5818fcfe?auto=format&fit=crop&fm=jpg&q=85&w=1800') center/cover}



.hero-badge{position:absolute;left:9%;top:10%;background:#fffdf9e8;padding:15px 17px;color:var(--ink);box-shadow:0 12px 30px #102d2540}



.hero-badge span{display:block;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#6b7772;margin-bottom:4px}



.hero-badge b{font-family:'Playfair Display',serif;font-size:1rem}



.image-credit{position:absolute;right:14px;bottom:14px;color:#fff;font-size:.62rem;text-decoration:none;opacity:.88}



.image-credit:hover{text-decoration:underline}



.hero-refresh .home-stamp{display:none}




.admin-login-page{min-height:100vh;background:linear-gradient(135deg,#dbe7de,#f6efe6);display:grid;place-items:center;padding:28px}



.login-shell{width:min(470px,100%)}



.login-shell>.brand{margin:0 0 28px}



.login-card{background:#fffdf9;padding:38px;box-shadow:0 20px 55px #183d3428}



.login-card h1{font-family:'Playfair Display',serif;letter-spacing:-.05em;font-size:3rem;margin:0}



.login-card>p:not(.eyebrow){color:var(--muted);line-height:1.55;font-size:.86rem}



.login-card form{display:grid;gap:14px;margin:25px 0}



.login-card label{display:flex;flex-direction:column;gap:6px;color:#65716d;font-size:.72rem;font-weight:700}



.login-card input{border:1px solid #d9dcd5;background:#fff;padding:12px;color:var(--ink);outline-color:var(--clay)}



.login-status{min-height:20px;color:#a14c3a;font-size:.76rem;line-height:1.45}



.login-status.setup{background:#fff2e9;border-left:3px solid var(--clay);padding:12px}



.back-link{color:var(--ink);font-size:.78rem;font-weight:700}



.announcement #signOutBtn{border:0;background:transparent;color:#f6f1e7;font-weight:700;font-size:.76rem}




.login-card form[hidden]{display:none!important}




.setup-link{font-size:.76rem;color:var(--muted);margin:16px 0 19px}



.setup-link a{color:var(--clay);font-weight:700}




.admin-loading .admin-protected{visibility:hidden}




.brand{gap:13px;min-width:max-content}



.brand-mark{width:48px;height:48px;border-radius:15px 15px 15px 4px;background:linear-gradient(145deg,#153c34,#0b2621);border:1px solid #d8b35f;color:#fff8e9;font-size:1rem;letter-spacing:-.06em;box-shadow:0 5px 14px #102d2633;position:relative;overflow:hidden}



.brand-mark:after{content:'';position:absolute;inset:5px;border:1px solid #e2bf6e66;border-radius:10px 10px 10px 2px}



.brand>span:last-child{font-size:.76rem;line-height:.9;letter-spacing:.075em;text-transform:uppercase;font-weight:700;color:#40534d}



.brand b{display:block;margin-top:3px;font-family:'Playfair Display',serif;font-size:1.28rem;letter-spacing:-.055em;text-transform:none;color:var(--ink)}



header{height:96px}



@media(max-width:800px){header{height:78px}



.brand{gap:9px}



.brand-mark{width:40px;height:40px;border-radius:12px 12px 12px 3px;font-size:.84rem}



.brand>span:last-child{font-size:.62rem}



.brand b{font-size:1.02rem}



}




.tiktok-section{max-width:1110px;margin:48px auto 0;background:#1d2624;color:#fff;padding:56px 64px;display:flex;justify-content:space-between;align-items:center;gap:45px}



.tiktok-section .eyebrow{color:#e3b766}



.tiktok-section h2{font-family:'Playfair Display',serif;letter-spacing:-.045em;line-height:.98;font-size:clamp(2.5rem,4.4vw,4rem);margin:0}



.tiktok-section h2 i{color:#f18872}



.tiktok-section p:not(.eyebrow){max-width:460px;color:#cbd7d0;line-height:1.6;font-size:.9rem}



.tiktok-qr{background:#fffdf9;padding:14px;text-align:center;text-decoration:none;color:var(--ink);font-size:.72rem;font-weight:700;box-shadow:0 14px 30px #00000036}



.tiktok-qr img{display:block;width:190px;height:190px;margin-bottom:9px}



@media(max-width:800px){.tiktok-section{margin:38px 20px 0;padding:38px 28px;display:block}



.tiktok-qr{display:table;margin:28px auto 0}



.tiktok-qr img{width:170px;height:170px}



}




.search-box input,.results-search input,.results-search select{appearance:none;border:0;background:#f6f3ed;padding:12px 13px;color:var(--ink);font-size:.85rem;min-width:0}



.budget-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px}



.recent-section{padding-top:85px;padding-bottom:20px}



.listing-description{margin:14px 0!important;min-height:36px;line-height:1.45}



.results-search{display:grid;grid-template-columns:1.1fr 1fr 1fr auto;gap:10px;align-items:end;margin:-2px 0 30px}



.results-search label{display:flex;flex-direction:column;gap:6px;color:#65716d;font-size:.72rem;font-weight:700}



.browse-areas{padding-top:48px}



.check-option{flex-direction:row!important;align-items:center;gap:9px!important;color:var(--ink)!important;font-size:.8rem!important}



.check-option input{width:16px;height:16px;accent-color:var(--clay)}



@media(max-width:800px){.results-search{grid-template-columns:1fr 1fr}



.results-search .primary{grid-column:span 2}



.recent-section{padding-top:65px}



}



@media(max-width:430px){.results-search{grid-template-columns:1fr}



.results-search .primary{grid-column:span 1}



}




.media-page{background:#f6f3ed;min-height:calc(100vh - 124px);padding:70px max(7vw,25px)}



.media-shell{max-width:1080px;margin:auto}



.media-intro{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:35px}



.media-intro h1{font-family:'Playfair Display',serif;letter-spacing:-.05em;line-height:.98;font-size:clamp(3rem,5vw,5rem);margin:0}



.media-intro p{max-width:420px;line-height:1.6;color:var(--muted);font-size:.9rem}



.media-form{background:#fffdf9;padding:34px;box-shadow:0 14px 38px #1b3d3217;display:grid;grid-template-columns:1fr 1fr;gap:30px}



.media-fields{display:grid;gap:15px;align-content:start}



.media-fields label{display:flex;flex-direction:column;gap:6px;color:#65716d;font-size:.72rem;font-weight:700}



.media-fields input,.media-fields select,.media-fields textarea{border:1px solid #d9dcd5;background:#fff;padding:12px;color:var(--ink);outline-color:var(--clay)}



.media-fields textarea{min-height:82px;resize:vertical}



.upload-zone{border:1.5px dashed #b7c1bb;min-height:330px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:28px;background:#fafaf7;transition:.2s}



.upload-zone.dragover{border-color:var(--clay);background:#fff3ef}



.upload-zone strong{font-family:'Playfair Display',serif;font-size:1.65rem}



.upload-zone p{font-size:.8rem;color:var(--muted);max-width:270px;line-height:1.55}



.upload-zone input{display:none}



.upload-label{background:var(--ink);color:#fff;padding:11px 15px;font-size:.78rem;font-weight:700;cursor:pointer}



.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:100%;margin-top:18px}



.preview-grid img,.preview-grid video{width:100%;height:88px;object-fit:cover}



.media-note{grid-column:span 2;font-size:.72rem;color:var(--muted);margin:0}



.media-actions{display:flex;gap:10px}



.secondary{border:1px solid var(--ink);background:transparent;color:var(--ink);padding:12px 15px;font-weight:700;font-size:.78rem}



@media(max-width:800px){.media-page{padding:45px 20px}



.media-intro{display:block}



.media-form{grid-template-columns:1fr;padding:22px}



.media-note{grid-column:span 1}



.media-intro p{margin-top:18px}



.upload-zone{min-height:260px}



}




/* Mobile polish: preserve hierarchy and tap targets instead of squeezing desktop layouts. */
@media(max-width:800px){body{overflow-x:hidden}


.announcement{height:auto;min-height:38px;padding:8px 14px;gap:8px;line-height:1.25;text-align:center}


.announcement>span{min-width:0}


.announcement a,.announcement button{font-size:.68rem;flex-shrink:0}


.hero-copy{padding:52px 20px 38px}


.hero h1{font-size:clamp(2.85rem,12vw,4rem);line-height:1.02}


.intro{font-size:.94rem;margin:20px 0 24px}


.search-box{padding:14px;gap:9px}


.search-box select,.search-box input{min-height:44px}


.primary{min-height:44px}


.hero-visual{min-height:250px}


.hero-badge{left:16px;right:16px;top:16px;padding:12px 14px}


.hero-badge b{font-size:.9rem}


.home-stamp{left:20px;bottom:18px}


.trust-bar div{min-height:76px}


.section{padding:58px 20px}


.section-heading h2,.process h2,.cta h2{font-size:clamp(2.2rem,10vw,3rem)}


.page-hero,.location-page-hero{padding:62px 20px;min-height:280px}


.page-hero h1,.location-page-hero h1{font-size:clamp(2.8rem,13vw,3.7rem);line-height:1.02}


.page-hero>p:last-child,.location-page-hero>div>p:not(.eyebrow){font-size:.92rem}


.listing-toolbar{gap:12px}


.chips{padding-bottom:3px}


.process{padding:56px 20px}


.process li{gap:14px}


.cta{margin:40px 20px;padding:32px 24px}


.tiktok-section{margin:32px 20px 0;padding:32px 24px}


.tiktok-section h2{font-size:clamp(2.35rem,11vw,3.2rem)}


.tiktok-section p:not(.eyebrow){font-size:.86rem}


.tiktok-qr img{width:164px;height:164px}


.landing-links{margin:40px 20px 54px}


.landing-links a{gap:13px}


.media-actions{flex-wrap:wrap}


.media-actions .primary,.media-actions .secondary{flex:1 1 140px}


footer{margin:0 20px;padding:22px 0 30px;grid-template-columns:1fr}


footer p{display:block;grid-row:2;margin:0}


footer div{grid-row:3;justify-content:flex-start;flex-wrap:wrap;gap:10px 16px}


footer small{grid-column:span 1;grid-row:4}


.whatsapp-float{bottom:16px;right:16px}


}



@media(max-width:430px){header{height:72px;padding:0 14px}


.brand-mark{width:36px;height:36px;font-size:.78rem}


.brand>span:last-child{font-size:.57rem}


.brand b{font-size:.9rem}


.whatsapp-small{padding:8px 9px;font-size:.66rem}


.hero h1{font-size:2.8rem}


.search-box{padding:12px}


.budget-fields{gap:6px}


.trust-bar div{padding:12px 11px}


.trust-bar span{font-size:.65rem}


.listing-visual{height:190px}


.card-body{padding:15px}


.location-card{height:172px}


.detail-facts{gap:6px}


.detail-facts b{font-size:.76rem}


.narrow{padding:32px 20px}


.media-page{padding:35px 14px}


.media-form{padding:18px}


.preview-grid img,.preview-grid video{height:76px}


.whatsapp-float{padding:12px}


}



.listing-media-page{max-width:1110px;margin:0 auto;padding:40px 0 92px}

.back-link{display:inline-block;color:var(--ink);font-size:.78rem;font-weight:700;text-decoration:none;margin-bottom:34px}

.back-link:hover{color:var(--clay)}

.media-view-hero{background:var(--sand);padding:58px 64px;display:flex;align-items:end;justify-content:space-between;gap:32px}

.media-view-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,5vw,4.8rem);letter-spacing:-.05em;line-height:.98;margin:0}

.media-view-hero>div>p:not(.eyebrow){max-width:680px;color:#53615d;line-height:1.65;margin:18px 0 0}

.media-gallery-section{padding-top:72px}

.media-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}

.gallery-item{background:#edf0eb;margin:0;min-height:230px;position:relative;overflow:hidden}

.gallery-item-featured{grid-column:span 2;grid-row:span 2;min-height:476px}

.gallery-item img,.gallery-item video{display:block;width:100%;height:100%;min-height:230px;object-fit:cover;background:#d9ddd7}

.gallery-item-featured img,.gallery-item-featured video{min-height:476px}

.gallery-item video{object-fit:cover}

.gallery-item figcaption{position:absolute;left:12px;bottom:12px;background:#102c27d9;color:#fff;padding:6px 9px;font-size:.66rem;font-weight:700}

.media-gallery .no-results{grid-column:1/-1}


@media(max-width:800px){.listing-media-page{padding:28px 20px 58px}

.media-view-hero{padding:38px 28px;display:block}

.media-view-hero .primary{margin-top:24px}

.media-gallery-section{padding-top:54px}

.media-gallery{grid-template-columns:1fr 1fr;gap:10px}

.gallery-item{min-height:160px}

.gallery-item-featured{grid-column:span 2;grid-row:span 1;min-height:260px}

.gallery-item img,.gallery-item video{min-height:160px}

.gallery-item-featured img,.gallery-item-featured video{min-height:260px}

}


@media(max-width:430px){.listing-media-page{padding:22px 14px 48px}

.back-link{margin-bottom:22px}

.media-view-hero{padding:30px 20px}

.media-view-hero h1{font-size:2.65rem}

.media-gallery{grid-template-columns:1fr}

.gallery-item,.gallery-item-featured{grid-column:span 1;min-height:220px}

.gallery-item img,.gallery-item video,.gallery-item-featured img,.gallery-item-featured video{min-height:220px}

}


.listing-manager{margin-top:52px;padding:42px;background:#fffdf9;box-shadow:0 14px 38px #1b3d3217}
.listing-manager-head{display:flex;justify-content:space-between;align-items:end;gap:28px}
.listing-manager h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.7vw,3.2rem);letter-spacing:-.045em;line-height:1;margin:0}
.listing-manager-head p:not(.eyebrow){max-width:580px;margin:15px 0 0;color:var(--muted);font-size:.88rem;line-height:1.55}
.manager-status{margin:27px 0 14px;color:var(--muted);font-size:.78rem}
.admin-listing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.admin-listing-card{border:1px solid var(--line);padding:20px;background:#fff}
.admin-listing-top{display:flex;justify-content:space-between;gap:16px;align-items:start}
.admin-listing-card h3{font-family:'Playfair Display',serif;font-size:1.35rem;letter-spacing:-.02em;margin:0 0 6px}
.admin-listing-card p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.45}
.listing-status{border-radius:999px;padding:6px 9px;font-size:.65rem;font-weight:700;white-space:nowrap}
.status-published{background:#dcefe2;color:#23613c}
.status-draft{background:#eef0ed;color:#5d6964}
.status-archived{background:#f8e4d8;color:#9a4f36}
.listing-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.listing-action{border:1px solid var(--ink);background:#fff;color:var(--ink);padding:9px 11px;font-size:.71rem;font-weight:700;cursor:pointer}
.listing-action:hover{background:var(--ink);color:#fff}
.listing-action.positive{border-color:#2f7951;color:#23613c}
.listing-action.positive:hover{background:#2f7951}
.listing-action.warning{border-color:#c98738;color:#8d591b}
.listing-action.warning:hover{background:#c98738}
.listing-action.danger{border-color:#bc5147;color:#a63f36}
.listing-action.danger:hover{background:#bc5147}
.listing-action:disabled{opacity:.55;cursor:wait}
.admin-listing-grid .no-results{grid-column:1/-1}

@media(max-width:800px){.listing-manager{margin-top:34px;padding:28px 22px}
.listing-manager-head{display:block}
.listing-manager-head .secondary{margin-top:20px}
.admin-listing-grid{grid-template-columns:1fr}
}

@media(max-width:430px){.listing-manager{padding:26px 18px}
.admin-listing-top{display:block}
.listing-status{display:inline-block;margin-top:12px}
.listing-actions .listing-action{flex:1 1 135px}
}

.listing-visual.has-cover{background-size:cover;background-position:center}.listing-visual.has-cover:after{display:none}.cover-dialog{width:min(860px,calc(100% - 32px));padding:38px;background:#fffdf9}.cover-dialog h2{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.045em;line-height:1;margin:0}.cover-dialog-copy>p:not(.eyebrow){color:var(--muted);line-height:1.55;font-size:.86rem;max-width:590px}.cover-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cover-choice{position:relative;border:2px solid transparent;background:#e9eee9;padding:0;aspect-ratio:1.25;cursor:pointer;overflow:hidden}.cover-choice:hover,.cover-choice:focus-visible{border-color:var(--clay);outline:0}.cover-choice.selected{border-color:var(--ink)}.cover-choice img{width:100%;height:100%;display:block;object-fit:cover}.cover-choice span{position:absolute;left:8px;bottom:8px;background:var(--ink);color:#fff;padding:5px 7px;font-size:.65rem;font-weight:700}
@media(max-width:800px){.cover-dialog{padding:32px 24px}.cover-picker-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:430px){.cover-dialog{padding:30px 18px}.cover-picker-grid{grid-template-columns:1fr}}

.staff-manager{margin-top:28px;padding:42px;background:#eef3ef;border-top:4px solid var(--ink)}.staff-manager-layout{display:grid;grid-template-columns:minmax(280px,.88fr) 1.12fr;gap:30px;margin-top:28px;align-items:start}.staff-form,.staff-directory-wrap{background:#fffdf9;padding:26px}.staff-form h3,.staff-directory-wrap h3{font-family:'Playfair Display',serif;font-size:1.45rem;letter-spacing:-.03em;margin:0 0 20px}.staff-form label{display:block;margin:0 0 16px;font-size:.78rem;font-weight:700;color:var(--ink)}.staff-form input{display:block;width:100%;margin-top:7px;border:1px solid var(--line);background:#fff;padding:12px 13px;color:var(--ink);font:inherit;font-weight:400}.staff-form input:focus{outline:2px solid #d86d533b;border-color:var(--clay)}.staff-form-note{color:var(--muted);font-size:.75rem;line-height:1.5;margin:2px 0 18px}.staff-directory-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.staff-directory-head h3{margin:0}.staff-directory{display:grid;gap:9px}.staff-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 0;border-top:1px solid var(--line)}.staff-row strong,.staff-row span{display:block}.staff-row strong{font-size:.84rem}.staff-row>div>span{margin-top:4px;color:var(--muted);font-size:.73rem;word-break:break-word}.staff-role{flex:0 0 auto;border-radius:999px;background:#e3eee6;color:#25613e;padding:6px 9px;font-size:.64rem;font-weight:700}.staff-role.role-owner{background:#e8dfd0;color:#694d27}@media(max-width:800px){.staff-manager{padding:28px 22px}.staff-manager-layout{grid-template-columns:1fr;gap:16px}.staff-form,.staff-directory-wrap{padding:22px}}@media(max-width:430px){.staff-manager{padding:26px 18px}.staff-form,.staff-directory-wrap{padding:20px 18px}.staff-row{align-items:flex-start}.staff-role{margin-top:1px}}

.announcement{display:flex;justify-content:space-between;align-items:center;gap:14px}.announcement-actions{display:flex;align-items:center;gap:12px}.staff-access-link{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:1px solid #ffffff80;background:transparent;color:#fff;text-decoration:none;font:inherit;font-size:.72rem;font-weight:700;cursor:pointer}.staff-access-link:hover,.staff-access-link:focus-visible{background:#fff;color:var(--ink);outline:0}.staff-attention{animation:staff-attention 1.8s ease-out}@keyframes staff-attention{0%,55%{box-shadow:0 0 0 0 #dc7358;background:#fff5ed}100%{box-shadow:0 0 0 16px transparent}}@media(max-width:430px){.announcement{padding:8px 14px}.announcement-actions{gap:8px}.staff-access-link{padding:0 9px;font-size:.67rem}}

.staff-access-page{max-width:1080px;margin:0 auto;padding:68px 30px 84px}.staff-access-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);gap:48px;align-items:center;margin-bottom:44px}.staff-intro-copy h1{font-family:'Playfair Display',serif;font-size:clamp(3rem,5.4vw,5.25rem);letter-spacing:-.065em;line-height:.88;margin:12px 0 26px}.staff-intro-copy>p:last-child{max-width:530px;color:var(--muted);line-height:1.65;margin:0}.staff-visual{position:relative;min-height:332px;overflow:hidden;background:var(--ink);box-shadow:18px 18px 0 #e5d9c7}.staff-visual svg{display:block;width:100%;height:100%;min-height:332px}.staff-visual-base{fill:#123d36}.staff-visual-sun{fill:#dd7357}.staff-visual-roof{fill:none;stroke:#f9f6ef;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.staff-visual-house{fill:#236459}.staff-visual-windows{fill:#f7d49c}.staff-visual-door{fill:#e07256}.staff-visual-line{stroke:#f9f6ef;stroke-width:3;stroke-linecap:round}.staff-visual-chip{fill:#f8f4ec}.staff-visual-chip-dot{fill:#df7256}.staff-visual-chip-line{stroke:#163e37;stroke-width:3;stroke-linecap:round}.staff-visual-tag{fill:#f5cf8e}.staff-visual-ground{stroke:#f9f6ef;stroke-width:4;stroke-linecap:round}.staff-visual-caption{position:absolute;left:24px;bottom:21px;color:#fff;display:grid;gap:4px}.staff-visual-caption span{color:#f4c988;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.staff-visual-caption b{font-size:.84rem}.staff-access-page .staff-manager{margin-top:0}@media(max-width:800px){.staff-access-page{padding:44px 20px 60px}.staff-access-intro{grid-template-columns:1fr;gap:30px;margin-bottom:34px}.staff-intro-copy h1{max-width:520px}.staff-visual{min-height:270px}.staff-visual svg{min-height:270px}}@media(max-width:430px){.staff-access-page{padding:34px 14px 48px}.staff-visual{min-height:238px;box-shadow:11px 11px 0 #e5d9c7}.staff-visual svg{min-height:238px}.staff-visual-caption{left:18px;bottom:17px}}
.staff-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.staff-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,#082a24cc 100%)}.staff-visual-caption{z-index:1;text-shadow:0 1px 12px #082a24cc}

.staff-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.staff-remove{border:1px solid #d69b95;background:#fff;color:#9b352c;padding:6px 8px;font:inherit;font-size:.64rem;font-weight:700;cursor:pointer}.staff-remove:hover,.staff-remove:focus-visible{background:#9b352c;color:#fff;outline:0}.staff-remove:disabled{opacity:.6;cursor:wait}@media(max-width:430px){.staff-row-actions{justify-content:flex-start;margin-top:10px}.staff-row{display:block}}

/* Landing-page contact area */
.contact-section{max-width:1110px;margin:0 auto 64px;padding:62px 64px;background:#e9eee8;display:grid;grid-template-columns:.86fr 1.14fr;gap:74px;align-items:center;position:relative;overflow:hidden}.contact-section:before{content:"";position:absolute;width:340px;height:340px;right:-138px;top:-190px;border:1px solid #173d3628;border-radius:50%;box-shadow:0 0 0 28px #173d3609,0 0 0 56px #173d3606}.contact-intro,.contact-panel{position:relative;z-index:1}.contact-intro h2{font-family:'Playfair Display',serif;font-size:clamp(2.65rem,4.1vw,4rem);line-height:.94;letter-spacing:-.055em;margin:0}.contact-intro h2 i{color:var(--clay);font-weight:600}.contact-intro>p:last-child{max-width:380px;color:#52635e;line-height:1.65;font-size:.91rem;margin:22px 0 0}.contact-panel{background:#fffdf9;padding:8px 28px;box-shadow:0 18px 35px #173d3612}.contact-detail{min-height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:15px;color:var(--ink);text-decoration:none;padding:15px 0;transition:color .18s ease}.contact-detail:hover,.contact-detail:focus-visible{color:var(--clay);outline:0}.contact-icon{width:41px;height:41px;flex:0 0 41px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:1.1rem}.mail-icon{font-size:1rem}.contact-detail small{display:block;margin-bottom:5px;color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.contact-detail strong{display:block;font-size:.9rem;letter-spacing:-.015em}.contact-detail>b{margin-left:auto;font-size:1.2rem;font-weight:400}.contact-social{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 0}.contact-social>span{font-size:.76rem;font-weight:700;color:var(--muted)}.contact-social>div{display:flex;gap:10px}.contact-social-link{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:transform .18s ease,filter .18s ease}.contact-social-link svg{width:21px;height:21px;fill:currentColor;stroke:currentColor;stroke-width:1.8}.contact-social-link svg rect,.contact-social-link svg circle{fill:none}.contact-social-link svg .instagram-dot{fill:currentColor;stroke:none}.contact-social-link:hover,.contact-social-link:focus-visible{color:#fff;outline:0;transform:translateY(-2px);filter:brightness(.9)}
@media(max-width:800px){.contact-section{margin:0 20px 50px;padding:46px 34px;grid-template-columns:1fr;gap:34px}.contact-intro>p:last-child{max-width:500px}}
@media(max-width:430px){.contact-section{margin:0 14px 44px;padding:38px 22px;gap:27px}.contact-intro h2{font-size:2.65rem}.contact-panel{padding:6px 18px}.contact-detail{gap:12px}.contact-detail strong{font-size:.8rem;word-break:break-word}.contact-social{align-items:flex-start;flex-direction:column;gap:12px}}




