--- a/source/pages/pages.py	2026-10-05 10:05:41.071944045 +0000
+++ b/source/pages/pages.py	2026-10-05 10:05:41.075068646 +0000
@@ -42,7 +42,7 @@
 .nav.dark-top .links a,.nav.dark-top .lang{color:#fff}.nav.dark-top .logo-img path[fill="#04132c"]{fill:#fff}
 .nav-in{width:100%;max-width:1320px;margin:0 auto;padding:0 clamp(18px,4vw,48px);display:flex;align-items:center;gap:28px}
 .logo-img{height:30px;width:auto;display:block}
-.links{margin-left:auto;display:flex;gap:26px;font-size:14.5px}.links a{text-decoration:none;color:var(--ink2);transition:color .3s}.links a:hover,.links a.on{color:var(--blue)}
+.links{margin-left:8px;display:flex;gap:26px;font-size:14.5px}.nav-in>.btn{margin-left:auto}.links a,.nav-in>.btn,.nav-in>.lang{white-space:nowrap}@media (max-width:1100px){.nav-in>.lang{display:none}.nav-in,.links{gap:20px}}.links a{text-decoration:none;color:var(--ink2);transition:color .3s}.links a:hover,.links a.on{color:var(--blue)}
 .lang{font-size:13.5px;color:var(--mute)}.lang b{color:var(--ink);font-weight:600}
 .nav .btn{height:42px;padding:0 20px;font-size:14px}
 .burger{display:none;margin-left:auto;width:42px;height:42px;border-radius:50%;border:0;background:#fff;box-shadow:0 6px 16px -8px rgba(11,21,48,.4);cursor:pointer}
@@ -53,6 +53,66 @@
 .hero{position:relative;min-height:min(92vh,880px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#060c1d}
 .hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:kb 18s ease-out forwards}
 @keyframes kb{to{transform:scale(1)}}
+/* About hero: three diagonal city panels side by side; click one to open its story (owner, 2026-10-04) */
+.hero.tri{display:block;height:100vh;height:100svh;min-height:620px;max-height:none;background:#050a18}
+.hero.tri::after{display:none}
+.tri-row{position:absolute;inset:0 -9vw;display:flex}
+.tri-p{position:relative;flex:1 1 0;min-width:0;overflow:hidden;transform:skewX(-9deg);cursor:pointer;transition:flex-grow .9s cubic-bezier(.2,.7,.2,1);box-shadow:-1px 0 0 rgba(255,255,255,.28);outline:0}
+.tri-bg{position:absolute;inset:0 -22%;transform:skewX(9deg) scale(1.04);background-size:cover;background-position:var(--bp,75%) 50%;transition:transform 1.4s cubic-bezier(.2,.7,.2,1),filter .6s}
+.tri-p::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,8,22,.82),rgba(4,8,22,.05) 55%,rgba(4,8,22,.45));transition:opacity .6s;pointer-events:none}
+.tri-p:hover .tri-bg,.tri-p:focus-visible .tri-bg{transform:skewX(9deg) scale(1.1)}
+.tri-in{position:absolute;inset:0;z-index:2;transform:skewX(9deg);color:#fff}
+.tri-lab{position:absolute;left:50%;bottom:9vh;transform:translateX(-50%);text-align:center;white-space:nowrap;transition:opacity .4s}
+.tri-lab small,.tri-det small{display:block;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72)}
+.tri-lab b{display:block;margin-top:8px;font:300 clamp(24px,2.6vw,38px)/1.05 Sora,system-ui,sans-serif;letter-spacing:-.03em}
+.tri-lab span{display:inline-block;margin-top:12px;padding:7px 14px;border-radius:999px;font-size:12.5px;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .3s}
+.tri-p:hover .tri-lab span{background:rgba(255,255,255,.28)}
+.tri-det{position:absolute;left:max(14vw,150px);bottom:12vh;width:min(520px,60vw);opacity:0;transform:translateY(26px);transition:opacity .5s,transform .7s cubic-bezier(.2,.7,.2,1);pointer-events:none}
+.tri-det .h1{margin:14px 0 0;font-size:clamp(40px,5.4vw,84px);line-height:1}.tri-det .h1 em{font-style:normal}
+.tri-det p{margin:18px 0 0;font-size:16.5px;line-height:1.6;color:rgba(255,255,255,.88)}
+.tri-x{margin-top:22px;padding:9px 16px;border:0;border-radius:999px;cursor:pointer;font:500 13px Inter,system-ui,sans-serif;color:#fff;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
+.tri-x:hover{background:rgba(255,255,255,.28)}
+.tri.has .tri-p{flex-grow:.16}.tri.has .tri-p.on{flex-grow:6;cursor:default}
+.tri.has .tri-p:not(.on) .tri-lab{opacity:0}.tri.has .tri-p:not(.on) .tri-bg{filter:brightness(.55)}
+.tri-p.on .tri-lab{opacity:0}.tri-p.on .tri-det{opacity:1;transform:none;pointer-events:auto;transition-delay:.35s}
+.tri-p.on::after{background:linear-gradient(90deg,rgba(4,8,22,.88) 0%,rgba(4,8,22,.5) 42%,rgba(4,8,22,0) 68%),linear-gradient(0deg,rgba(4,8,22,.6),rgba(4,8,22,0) 40%)}
+.tri-p.on .tri-bg{background-position:72% 50%}
+.tri-head{position:absolute;z-index:3;left:0;right:0;top:clamp(88px,12vh,130px);padding:0 20px;text-align:center;color:#fff;pointer-events:none;transition:opacity .4s,transform .6s}
+.tri-head .h1{margin-top:12px;font-size:clamp(26px,3.2vw,48px);line-height:1.08;text-shadow:0 2px 30px rgba(4,8,22,.7)}.tri-head .h1 br{display:none}
+.tri-head p{margin:12px 0 0;color:rgba(255,255,255,.82);font-size:15px;text-shadow:0 1px 14px rgba(4,8,22,.7)}
+.tri.has .tri-head{opacity:0;transform:translateY(-12px)}
+.hero.tri::before{content:"";position:absolute;z-index:2;inset:0 0 auto 0;height:38vh;background:linear-gradient(180deg,rgba(4,8,22,.86),rgba(4,8,22,0));pointer-events:none;transition:opacity .5s}.tri.has::before{opacity:.35}
+.tri-bg{background-position-y:70%}
+@media (max-width:760px){
+ .tri-row{inset:176px 0 -5vh;flex-direction:column;transition:inset .7s cubic-bezier(.2,.7,.2,1)}.tri.has .tri-row{inset:-5vh 0}
+ .tri-p{transform:skewY(-5deg);box-shadow:0 -1px 0 rgba(255,255,255,.28)}
+ .tri-bg{inset:-18% 0;transform:skewY(5deg) scale(1.04);background-position:var(--bp,75%) 40%}.tri-p:hover .tri-bg{transform:skewY(5deg) scale(1.04)}
+ .tri-in{transform:skewY(5deg)}
+ .tri-lab{left:20px;bottom:auto;top:50%;transform:translateY(-10%);text-align:left}.tri-lab span{margin-top:8px;padding:5px 11px;font-size:11.5px}
+ .tri-det{left:20px;right:20px;width:auto;bottom:11vh}.tri-det .h1{font-size:40px}.tri-det p{font-size:15px;margin-top:12px}
+ .tri.has .tri-p{flex-grow:.12}.tri.has .tri-p.on{flex-grow:9}
+ .tri-p.on::after{background:linear-gradient(0deg,rgba(4,8,22,.92) 0%,rgba(4,8,22,.55) 50%,rgba(4,8,22,0) 78%)}
+ .tri-head{top:78px}.tri-head .h1{font-size:23px;margin-top:8px}.tri-head p{font-size:13px;margin-top:6px}
+ .hero.tri::before{height:34vh}
+}
+@media (prefers-reduced-motion:reduce){.tri-p,.tri-bg,.tri-det{transition:none}}
+/* light theme (owner, 2026-10-04): daylight skylines in the home page's white + pastel-aurora palette */
+.hero.tri{background:#eef3fb;color:#0b1530}
+.tri-p{box-shadow:-2px 0 0 rgba(255,255,255,.95)}
+.tri-p::after{background:linear-gradient(0deg,rgba(246,249,255,.94),rgba(246,249,255,0) 48%,rgba(246,249,255,.5))}
+.tri-in{color:#0b1530}
+.tri-lab small,.tri-det small{color:#5d6984}
+.tri-lab span{background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px rgba(255,255,255,.95),0 10px 24px -14px rgba(11,21,48,.4)}
+.tri-p:hover .tri-lab span{background:#0e1a3a;color:#fff}
+.tri-det p{color:#4a5673}
+.tri-x{color:#fff;background:#0e1a3a;box-shadow:none}.tri-x:hover{background:#1b2a52}
+.tri.has .tri-p:not(.on) .tri-bg{filter:saturate(.3) brightness(1.12)}
+.tri-p.on::after{background:linear-gradient(90deg,rgba(246,249,255,.96) 0%,rgba(246,249,255,.8) 44%,rgba(246,249,255,0) 74%),linear-gradient(0deg,rgba(246,249,255,.7),rgba(246,249,255,0) 36%)}
+.tri-head{color:#0b1530}.tri-head .h1{text-shadow:0 1px 24px rgba(255,255,255,.9)}.tri-head p{color:#4a5673;text-shadow:0 1px 14px rgba(255,255,255,.9)}
+.hero.tri::before{height:50vh;background:linear-gradient(180deg,rgba(246,249,255,.98) 0%,rgba(246,249,255,.9) 45%,rgba(246,249,255,0) 100%)}
+.tri-p:nth-child(2) .tri-bg{inset:0 -2% 0 -42%}.tri-p:nth-child(3) .tri-bg{inset:0 0 0 -44%}
+@media (max-width:760px){.tri-p{box-shadow:0 -2px 0 rgba(255,255,255,.95)}.tri-p:nth-child(n) .tri-bg{inset:-18% 0}.tri-p.on::after{background:linear-gradient(0deg,rgba(246,249,255,.97) 0%,rgba(246,249,255,.84) 55%,rgba(246,249,255,.1) 100%)}}
+
 .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,8,22,.82) 0%,rgba(4,8,22,.55) 45%,rgba(4,8,22,.1) 80%),linear-gradient(0deg,rgba(4,8,22,.7),rgba(4,8,22,0) 45%)}
 .hero .in{position:relative;z-index:2;width:100%;padding-bottom:110px}
 .hero .lead{color:rgba(255,255,255,.82)}
@@ -70,8 +130,8 @@
 /* dark band */
 .dark{background:#050a1a;color:#fff;overflow:hidden}
 .dark .h2{color:#fff}.dark .lead{color:rgba(255,255,255,.72)}
-.dark::before{content:"";position:absolute;width:60vw;height:60vw;right:-10vw;top:-20vw;border-radius:50%;background:radial-gradient(closest-side,rgba(47,107,255,.35),transparent);filter:blur(40px);animation:drift 24s ease-in-out infinite alternate}
-.dark::after{content:"";position:absolute;width:44vw;height:44vw;left:-12vw;bottom:-18vw;border-radius:50%;background:radial-gradient(closest-side,rgba(138,125,255,.28),transparent);filter:blur(40px);animation:drift 30s ease-in-out infinite alternate-reverse}
+section.dark::before{content:"";position:absolute;width:60vw;height:60vw;right:-10vw;top:-20vw;border-radius:50%;background:radial-gradient(closest-side,rgba(47,107,255,.35),transparent);filter:blur(40px);animation:drift 24s ease-in-out infinite alternate}
+section.dark::after{content:"";position:absolute;width:44vw;height:44vw;left:-12vw;bottom:-18vw;border-radius:50%;background:radial-gradient(closest-side,rgba(138,125,255,.28),transparent);filter:blur(40px);animation:drift 30s ease-in-out infinite alternate-reverse}
 @keyframes drift{to{transform:translate(-6vw,6vh) scale(1.12)}}
 .dark .in{position:relative;z-index:1}
 .gcard{padding:26px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px)}
@@ -79,6 +139,7 @@
 /* forms */
 .form{padding:40px;border-radius:30px;background:#fff;box-shadow:inset 0 0 0 1px var(--line),0 50px 100px -60px rgba(11,21,48,.45)}
 .frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}.frow+.frow,.ff+.ff,.frow+.ff,.ff+.frow{margin-top:16px}
+.frow>.ff+.ff{margin-top:0}
 .ff label{display:block;margin-bottom:7px;font:500 13px "Inter",system-ui,sans-serif;color:var(--ink2)}.ff label i{color:#d6453d;font-style:normal}
 .ff input,.ff select,.ff textarea{width:100%;height:52px;padding:0 16px;border-radius:14px;border:1px solid #dfe5f0;background:#fbfcfe;font:400 15.5px "Inter",system-ui,sans-serif;color:var(--ink);outline:none;transition:border-color .3s,box-shadow .3s,background .3s;appearance:none}
 .ff select{background-image:linear-gradient(45deg,transparent 50%,#7b86a0 50%),linear-gradient(135deg,#7b86a0 50%,transparent 50%);background-position:calc(100% - 22px) 23px,calc(100% - 17px) 23px;background-size:5px 5px;background-repeat:no-repeat}
@@ -111,8 +172,17 @@
 @media (max-width:640px){.pad{padding:96px 0}.grid3,.grid4,.frow{grid-template-columns:1fr}.form{padding:26px 20px}.ft-grid{grid-template-columns:1fr}.hero .in{padding-bottom:80px}}
 '''
 
+CSS += '''/* top menu, one design on every page (owner, 2026-10-05): full width, logo in the left corner, language + Log in in the right corner, 16px links */
+.nav-in{max-width:none;padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px)}
+@media (max-width:860px){.nav-in{padding-left:20px;padding-right:14px}}
+.nav-in .links{font-size:16px}
+.nav-in>.lang{margin-left:auto!important}
+.nav-in>.lang~a{margin-left:0!important}
+@media (max-width:1180px) and (min-width:861px){.nav-in .links{font-size:14.5px}}
+'''
+
 def nav(active, dark_top=True):
-    L = [(H, 'Home'), (H + '#how', 'How it works'), (H + '#evidence', 'Analyze Property'), (P, 'For Partners'), (A, 'About')]
+    L = [(H, 'Home'), ('/how-it-works' if H == '/' else H + '#how', 'How it works'), ('/analyze' if H == '/' else H + '#evidence', 'Analyze Property'), (P, 'For Partners'), (A, 'About')]
     on = ' class="on"'
     links = ''.join(f'<a href="{u}"{on if n == active else ""}>{n}</a>' for u, n in L)
     sheet = ''.join(f'<a href="{u}">{n}</a>' for u, n in L) + f'<a href="{C}">Contact us</a><a href="{H}#login">Log in / Sign up</a>'
@@ -124,7 +194,7 @@
     stores = S['stores'] + '<div class="lx-soon">Coming soon</div>'
     return f'''<footer class="ft"><div class="in"><div class="ft-grid">
 <div class="ft-brand">{S['wl']}<p>Smarter Property Decisions.</p><span class="ft-get">Get the app</span>{stores}</div>
-<div><h4>Platform</h4><a href="{H}#how">How it works</a><a href="{H}#evidence">Analyze Property</a><a href="{H}#plan">AI Coach</a><a href="{H}#learn">Knowledge portal</a></div>
+<div><h4>Platform</h4><a href="{'/how-it-works' if H == '/' else H + '#how'}">How it works</a><a href="{'/analyze' if H == '/' else H + '#evidence'}">Analyze Property</a><a href="{H}#plan">AI Coach</a><a href="{H}#learn">Knowledge portal</a></div>
 <div><h4>Company</h4><a href="{A}">About</a><a href="{P}">For Partners</a><a href="{C}?type=careers">Careers</a><a href="{C}?type=media">Press</a></div>
 <div><h4>Support</h4><a href="{C}?type=support">Help centre</a><a href="{C}">Contact us</a><a href="{H}#login">Log in / Sign up</a></div>
 </div><div class="ft-bottom"><span>© 2026 PropertyLab Technology Sdn Bhd · PropertyLab Global Limited</span><nav><a href="#privacy">Privacy</a><a href="#terms">Terms</a><a href="#pdpa">PDPA notice</a><span><b style="color:#fff">EN</b> / 中文</span></nav>{S['socs']}</div>
@@ -137,6 +207,7 @@
 const io=new IntersectionObserver(es=>es.forEach(e=>{if(e.isIntersecting){e.target.classList.add('in');io.unobserve(e.target);}}),{threshold:.15});
 document.querySelectorAll('.rv').forEach(el=>io.observe(el));
 document.querySelectorAll('.lx-store').forEach(a=>a.addEventListener('click',e=>e.preventDefault()));
+document.querySelectorAll('[data-ai-yes]').forEach(a=>a.addEventListener('click',()=>{const r=document.querySelector('input[name=ai_interest][value=yes]');if(r)r.checked=true;}));
 /* forms: POST to the form's action (Laravel route); in the preview there is no server, so the thank-you state is shown */
 document.querySelectorAll('form[data-ajax]').forEach(f=>f.addEventListener('submit',async e=>{e.preventDefault();
   if(!f.reportValidity())return;const box=f.closest('.form'),btn=f.querySelector('button[type=submit]');btn.disabled=true;btn.textContent='Sending…';
@@ -204,8 +275,6 @@
   <div class="eyebrow light">PropertyLab Partners</div><h1 class="h1">The right buyer,<br><em {GRAD}>connected to you.</em></h1>
   <p class="lead">Join the PropertyLab ecosystem. When a buyer needs your expertise, their PropertyLab consultant brings you in.</p>
   <div class="acts"><a class="btn white" href="#apply">Apply to partner</a><a class="btn ghost" href="#app">The Partner app</a></div></div>
-  <div class="match rv" aria-hidden="true"><div class="m-top"><i></i>New introduction</div><b>Renovation &amp; interior design</b><span>Kuala Lumpur · 2-bed, 649 sq ft · handover Mar 2027</span>
-   <div class="m-tags"><em>Plan ready</em><em>Budget set</em><em>Consultant: Aisha</em></div><div class="m-cta">View introduction <span>→</span></div></div>
  </div></section>
 
 <section class="trust"><div class="in"><span class="eyebrow">Partners in our ecosystem include</span><span class="trust-logo">Anserve</span><span class="trust-more">and a growing network across Malaysia, Hong Kong and the UAE</span></div></section>
@@ -252,11 +321,22 @@
    <img class="ph4-frame" src="{M['img']['phone3d']}" alt="" aria-hidden="true"></div><i class="ph4-glow"></i></div>
 </div></section>
 
-<section class="pad dark" id="ai"><div class="in ai-in">
- <div class="rv"><div class="eyebrow light">Custom AI for partners</div><h2 class="h2">AI built around<br><em {GRAD}>your business.</em></h2>
-  <p class="lead">We build customised AI solutions for PropertyLab partners: less admin, faster replies and more time for the work only you can do.</p>
-  <ul class="feat light"><li><b>AI enquiry assistant</b><span>Answers your enquiries around the clock in English, Chinese and Malay.</span></li><li><b>Automated follow-ups</b><span>Timely, personal messages on WhatsApp, email and LINE.</span></li><li><b>Proposals in minutes</b><span>Quotes, listings and proposals drafted from your own templates.</span></li><li><b>Business dashboard</b><span>Your pipeline and performance in one clear view.</span></li></ul></div>
- <div class="rv ai-img"><img src="{M['img']['pt-ai']}" alt="AI data visualised above a laptop"></div>
+<section class="pad dark" id="ai"><div class="in">
+ <div class="ai-head rv"><div><div class="eyebrow light">Custom AI for partners</div><h2 class="h2">AI built around<br><em {GRAD}>your business.</em></h2></div>
+  <div><p class="lead">We build customised AI solutions for PropertyLab partners: less admin, faster replies and more time for the work only you can do.</p>
+   <div class="ai-acts"><a class="btn white" href="#apply" data-ai-yes>Talk to us about custom AI <span aria-hidden="true">→</span></a></div></div></div>
+ <div class="ai-body mt">
+  <div class="ai-vis rv"><img src="{M['img']['pt-ai']}" alt="AI data visualised above a laptop">
+   <div class="ai-chat" aria-hidden="true"><div class="c-top"><span><i></i>AI enquiry assistant</span><span>2:14 am</span></div>
+    <div class="c-q">Can you quote a full renovation for a 2&#8209;bed, 649&nbsp;sq&nbsp;ft?</div>
+    <div class="c-a">Yes. I have drafted a quote from your template. Shall I book a site visit for Saturday?</div>
+    <div class="c-lang"><em>English</em><em>中文</em><em>Bahasa Melayu</em></div></div></div>
+  <ul class="ai-cards">
+   <li class="rv">{ic(IC['msg'])}<h3>AI enquiry assistant</h3><p>Answers your enquiries around the clock in English, Chinese and Malay.</p></li>
+   <li class="rv">{ic(IC['mail'])}<h3>Automated follow&#8209;ups</h3><p>Timely, personal messages on WhatsApp, email and LINE.</p></li>
+   <li class="rv">{ic(IC['doc'])}<h3>Proposals in minutes</h3><p>Quotes, listings and proposals drafted from your own templates.</p></li>
+   <li class="rv">{ic(IC['chart'])}<h3>Business dashboard</h3><p>Your pipeline and performance in one clear view.</p></li>
+  </ul></div>
 </div></section>
 
 <section class="pad" id="apply" style="background:var(--bg)"><div class="in apply-in">
@@ -335,16 +415,36 @@
 .s-tab{position:absolute;left:10px;right:10px;bottom:10px;height:70px;display:flex;justify-content:space-around;align-items:center;background:#fff;border-radius:26px;box-shadow:0 -6px 20px -12px rgba(15,27,51,.25);font-size:18px;color:#6b7690}
 .s-tab span{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border-radius:16px}.s-tab small{font-size:11px}.s-tab .on{color:#2f6bff;background:#e6efff}
 .s-tab .msg i{position:absolute;top:-4px;right:2px;font-style:normal;font-size:10px;font-weight:700;color:#fff;background:#d6453d;border-radius:999px;padding:2px 6px}
-.ai-in{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.ai-img img{border-radius:28px;box-shadow:0 60px 100px -50px rgba(0,0,0,.8)}
+/* the reveal script adds class "in", which is also the container class (auto margins + side padding): undo it here */
+.ai-head,.ai-vis,.ai-cards li{margin:0;max-width:none}.ai-head,.ai-vis{padding:0}
+.ai-head{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:end}.ai-head .lead{margin:0}.ai-acts{margin-top:28px}
+.ai-acts .btn span{transition:transform .3s}.ai-acts .btn:hover span{transform:translateX(4px)}
+.ai-body{display:grid;grid-template-columns:.95fr 1.05fr;gap:20px;align-items:stretch}
+.ai-vis{position:relative;min-height:460px;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 60px 100px -50px rgba(0,0,0,.8)}
+.ai-vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
+.ai-vis::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(5,10,26,.8))}
+.ai-chat{position:absolute;z-index:1;left:22px;right:22px;bottom:22px;max-width:380px;padding:18px;border-radius:22px;background:rgba(9,16,38,.86);border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 60px -30px rgba(0,0,0,.8);font-size:14px;line-height:1.5;color:#fff}
+.c-top{display:flex;justify-content:space-between;align-items:center;font:500 11px "Sora",system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.62)}
+.c-top span:first-child{display:flex;align-items:center;gap:8px;color:#fff}.c-top i{width:7px;height:7px;border-radius:50%;background:#3ddc97;box-shadow:0 0 0 4px rgba(61,220,151,.18)}
+.c-q{margin:14px 0 0 auto;max-width:86%;padding:10px 14px;border-radius:16px 16px 4px 16px;background:rgba(255,255,255,.12)}
+.c-a{margin-top:10px;max-width:92%;padding:10px 14px;border-radius:16px 16px 16px 4px;background:linear-gradient(135deg,#2f6bff,#7a6dff)}
+.c-lang{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.c-lang em{font-style:normal;font-size:11.5px;padding:4px 10px;border-radius:999px;color:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.18)}
+.ai-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}
+.ai-cards li{display:flex;flex-direction:column;padding:28px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.1);transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1),border-color .4s}
+.ai-cards li:hover{border-color:rgba(159,208,255,.4)}
+.ai-cards li:nth-child(2){transition-delay:.08s}.ai-cards li:nth-child(3){transition-delay:.16s}.ai-cards li:nth-child(4){transition-delay:.24s}
+.ai-cards h3{margin:26px 0 0;font:400 21px/1.25 "Sora",system-ui,sans-serif;letter-spacing:-.015em;color:#fff}
+.ai-cards p{margin:8px 0 0;font-size:15px;line-height:1.55;color:rgba(255,255,255,.66)}
 .apply-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}.apply-intro{position:sticky;top:110px}
 @media (max-width:980px){
- .hero-grid,.appx-in,.ai-in,.apply-in{grid-template-columns:1fr}.match{justify-self:start;margin-top:8px}
+ .hero-grid,.appx-in,.ai-head,.ai-body,.apply-in{grid-template-columns:1fr}.ai-head{gap:22px}.ai-vis{min-height:420px}.match{justify-self:start;margin-top:8px}
  .why{grid-template-columns:1fr;gap:28px}.steps{grid-template-columns:1fr 1fr;row-gap:36px}.steps::before{display:none}
  .apply-intro{position:static}.ph4{width:min(280px,72vw)}
 }
 @media (max-width:640px){
  .hero.ph{min-height:auto;align-items:stretch}.hero.ph .in{padding-top:118px;padding-bottom:48px}.h1{font-size:44px}.h2{font-size:36px}.lead{font-size:16.5px}
  .hero .acts .btn{flex:1 1 auto;justify-content:center}.match{width:100%}
+ .ai-cards{grid-template-columns:1fr;gap:14px}.ai-cards li{display:grid;grid-template-columns:50px 1fr;column-gap:16px;padding:20px}.ai-cards .ic{grid-row:1/3}.ai-cards h3{margin:2px 0 0;font-size:19px}.ai-cards p{margin-top:4px}.ai-vis{min-height:360px}.ai-chat{left:14px;right:14px;bottom:14px;padding:16px}.ai-acts .btn{width:100%;justify-content:center}
  .why h3{font-size:26px}.pl{height:52px;padding:0 22px;font-size:16px}
  .steps{grid-template-columns:1fr}.steps li{display:grid;grid-template-columns:60px 1fr;column-gap:18px;align-items:start}.steps li span{grid-row:1/3}.steps h3{margin:6px 0 0}
  .ff input,.ff select,.ff textarea{font-size:16px}  /* no iOS zoom on focus */
@@ -353,10 +453,47 @@
 """
 # ------------------------------------------------------------------ ABOUT
 L = M['logo']
+# Leadership tile: a photo when one exists (served from the app's committed public/main/images), else initials.
+LEAD_PHOTOS = {'Cheng Wai Kit': '/main/images/about/cheng-wai-kit.webp'}
+def lead_tile(i, n):
+    if n in LEAD_PHOTOS:
+        return f'<img src="{LEAD_PHOTOS[n]}" alt="{n}" width="64" height="64" loading="lazy" style="display:block;width:64px;height:64px;border-radius:20px;object-fit:cover;box-shadow:0 14px 28px -16px rgba(11,21,48,.55)">'
+    return f'<span style="display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#0b1530,#2f4a8f);color:#fff;font:500 20px Sora,system-ui,sans-serif">{i}</span>'
+
+# The people in the team photo, LEFT TO RIGHT: (centre x %, top of head %, name, role, one line). The hover card
+# shows name / role / line. Positions are the photo's; names and roles as given by the owner (2026-10-05).
+TEAM = [
+    (14.0, 9, 'Zhang You Chen', 'AI Software Engineer (International Market)', ''),
+    (23.7, 16, 'Zen Chua', 'Chief Client Officer (Malaysia)', ''),
+    (32.7, 13, 'Liew Ke Xin', 'Client Success Manager', ''),
+    (42.3, 14, 'Cheng Wai Kit', 'Founder &amp; CEO', ''),
+    (50.3, 7, 'Shawn Ku', 'AI Business Development Manager', ''),
+    (60.2, 15, 'Teh Lee Jie', 'Chief Technical Officer', ''),
+    (69.0, 14, 'Mei Xin', 'Marketing Support', ''),
+    (77.5, 15, 'Dylan Ngan', 'Chief Revenue Officer (International)', ''),
+    (86.4, 9, 'Boon', 'Property Management Manager', ''),
+]
+
+ABOUT_CS_JS = "(function(){var s=document.getElementById('cs');if(!s)return;var n=5,t=false;function u(){t=false;var r=s.getBoundingClientRect(),h=s.offsetHeight-innerHeight,p=Math.min(1,Math.max(0,-r.top/h));s.style.setProperty('--p',p.toFixed(4));var c=String(Math.min(n-1,Math.floor(p*n*0.999)));if(s.dataset.c!==c)s.dataset.c=c;}addEventListener('scroll',function(){if(!t){t=true;requestAnimationFrame(u);}},{passive:true});addEventListener('resize',u);u();})();"
+
 about_body = f'''
-<section class="hero"><img class="bg" src="{M['img']['ab-hero']}" alt="Kuala Lumpur, Hong Kong and Dubai skylines connected by aurora light">
- <div class="in"><div class="eyebrow light">About PropertyLab</div><h1 class="h1">Smarter property decisions,<br><em style="background:linear-gradient(90deg,#9fd0ff,#c9bfff);-webkit-background-clip:text;background-clip:text;color:transparent">across borders.</em></h1>
- <p class="lead">We help people buy property on evidence, not on pressure: AI that checks every number, people who walk you through it, and partners who take you to the keys.</p></div></section>
+<section class="cs" id="cs" data-c="0" aria-label="The PropertyLab story, from Kuala Lumpur to three markets">
+ <div class="cs-stage">
+  <div class="cs-bg b1" style="background-image:image-set(url(/main/images/about/day-kl-2k.webp?v=2) 1x,url(/main/images/about/day-kl-4k.webp?v=2) 2x)"></div>
+  <div class="cs-bg b2" style="background-image:image-set(url(/main/images/about/day-hk-2k.webp?v=2) 1x,url(/main/images/about/day-hk-4k.webp?v=2) 2x)"></div>
+  <div class="cs-bg b3" style="background-image:image-set(url(/main/images/about/day-ae-2k.webp?v=2) 1x,url(/main/images/about/day-ae-4k.webp?v=2) 2x)"></div>
+  <div class="cs-veil"></div>
+  <div class="cs-copy">
+   <div class="cs-ch"><div class="eyebrow">About PropertyLab</div><h1 class="h1">Smarter property decisions, <br><em style="background:linear-gradient(90deg,#2f6bff,#8a7dff 55%,#e06ac0);-webkit-background-clip:text;background-clip:text;color:transparent">across borders.</em></h1><p>One engineer's question in Kuala Lumpur became a platform in three markets, in two and a half years.</p><span class="cs-hint">Scroll to follow the story <i></i></span></div>
+   <div class="cs-ch"><small>01 &middot; Kuala Lumpur &middot; 2024</small><h2 class="h1">It began in<br><em style="background:linear-gradient(90deg,#2f6bff,#8a7dff 55%,#e06ac0);-webkit-background-clip:text;background-clip:text;color:transparent">Kuala Lumpur.</em></h2><ul class="cs-ms"><li><b>Jan 2024</b><span>PropertyLab Technology Sdn Bhd is founded.</span></li><li><b>Jun 2024</b><span>Top 10 of the MYStartup Accelerator, Cohort 3.</span></li><li><b>Jul 2024</b><span>Cradle CIP Spark grant to build the decision engine.</span></li></ul></div>
+   <div class="cs-ch"><small>02 &middot; Malaysia &middot; 2025 to 2026</small><h2 class="h1">Recognised<br><em style="background:linear-gradient(90deg,#2f6bff,#8a7dff 55%,#e06ac0);-webkit-background-clip:text;background-clip:text;color:transparent">at home.</em></h2><ul class="cs-ms"><li><b>Dec 2025</b><span>Malaysia Digital status, awarded by MDEC.</span></li><li><b>Jan 2026</b><span>Cradle CIP Sprint funding to expand the platform.</span></li></ul></div>
+   <div class="cs-ch"><small>03 &middot; Hong Kong &middot; 2026</small><h2 class="h1">Then came<br><em style="background:linear-gradient(90deg,#2f6bff,#8a7dff 55%,#e06ac0);-webkit-background-clip:text;background-clip:text;color:transparent">Hong Kong.</em></h2><ul class="cs-ms"><li><b>Jul 2026</b><span>PropertyLab Global Limited is established, to serve buyers across Greater China.</span></li></ul></div>
+   <div class="cs-ch"><small>04 &middot; Dubai &middot; Today</small><h2 class="h1">And now,<br><em style="background:linear-gradient(90deg,#2f6bff,#8a7dff 55%,#e06ac0);-webkit-background-clip:text;background-clip:text;color:transparent">Dubai.</em></h2><ul class="cs-ms"><li><b>Today</b><span>Serving buyers in Dubai together with licensed local partners.</span></li></ul></div>
+  </div>
+  <ol class="cs-rail" aria-hidden="true"><li>Start</li><li>2024</li><li>2025&ndash;26</li><li>Hong Kong</li><li>Dubai</li></ol>
+ </div>
+ <script>{ABOUT_CS_JS}</script>
+</section>
 
 <section class="pad"><div class="in" style="display:grid;grid-template-columns:1fr 1fr;gap:18px">
  <div class="card rv" style="padding:44px"><div class="eyebrow" style="color:var(--blue)">Our mission</div><h2 class="h2" style="font-size:clamp(28px,3vw,42px)">Make every property decision an informed one.</h2></div>
@@ -387,47 +524,211 @@
   <div class="rv" style="border-top:1px solid var(--ink);padding-top:22px"><h3 style="margin:0;font:400 22px Sora,system-ui,sans-serif">Better together</h3><p style="color:#6b7690">We grow with partners who share our standards for service and integrity.</p></div>
  </div></div></section>
 
-<section class="pad dark"><div class="in">
- <div class="head rv"><div class="eyebrow light">Milestones</div><h2 class="h2">From Kuala Lumpur<br>to three markets.</h2></div>
- <div style="margin-top:64px;display:grid;gap:0">
-  {''.join(f'<div class="rv" style="display:grid;grid-template-columns:160px 1fr;gap:28px;padding:26px 0;border-top:1px solid rgba(255,255,255,.12)"><span style="font:300 22px Sora,system-ui,sans-serif;color:#9fd0ff">{d}</span><div><h3 style="margin:0;font:400 21px Sora,system-ui,sans-serif">{h}</h3><p style="margin:6px 0 0;color:rgba(255,255,255,.62)">{p}</p></div></div>' for d,h,p in [
-   ('Jan 2024','PropertyLab founded','PropertyLab Technology Sdn Bhd is incorporated in Kuala Lumpur.'),
-   ('Jun 2024','Top 10 finalist, MYStartup Accelerator','Selected among the top ten startups of Cohort 3.'),
-   ('Jul 2024','Cradle CIP Spark grant','Grant support to build the PropertyLab decision engine.'),
-   ('Dec 2025','Malaysia Digital status','Awarded MD status by MDEC, under the Ministry of Digital.'),
-   ('Jan 2026','Cradle CIP Sprint','Funding to expand in Malaysia and develop the platform further.'),
-   ('Jul 2026','PropertyLab Global Limited, Hong Kong','Our Hong Kong company is established to serve buyers across Greater China.')])}
- </div></div></section>
-
-<section class="pad"><div class="in">
- <div class="head center rv"><div class="eyebrow">Recognition</div><h2 class="h2">Proven in three markets.<br><em>Backed by government and industry.</em></h2></div>
- <div class="grid3 mt">
-  <div class="card rv"><span class="eyebrow" style="color:var(--blue)">Malaysia</span><div style="display:flex;gap:10px;margin-top:18px"><span class="lg"><img src="{L['malaysia-digital']}" alt="Malaysia Digital"></span><span class="lg"><img src="{L['cradle']}" alt="Cradle"></span></div><h3>Malaysia Digital status company</h3><p>Awarded by MDEC, under the Ministry of Digital. Grant-backed by Cradle, under the Ministry of Science, Technology and Innovation.</p></div>
-  <div class="card rv" data-cred="cyberport"><span class="eyebrow" style="color:var(--blue)">Hong Kong</span><div style="display:flex;gap:10px;margin-top:18px"><span class="lg"><img src="{L['cyberport']}" alt="Cyberport"></span></div><h3>Cyberport Creative Micro Fund</h3><p>PropertyLab Global Limited is supported by Cyberport, Hong Kong's digital technology community.</p></div>
-  <div class="card rv" data-cred="reach"><span class="eyebrow" style="color:var(--blue)">United Arab Emirates (UAE)</span><div style="display:flex;gap:10px;margin-top:18px"><span class="lg"><img src="{L['reach']}" alt="REACH Middle East"></span><span class="lg"><img src="{L['second-century-ventures']}" alt="Second Century Ventures"></span></div><h3>REACH Middle East accelerator</h3><p>Backed by Second Century Ventures, the strategic investment arm of the U.S. National Association of REALTORS&reg;.</p></div>
+<section class="pad ab-rec"><div class="in">
+ <div class="ab-rec-grid">
+  <div class="rv"><div class="eyebrow">Recognition</div><h2 class="h2">Backed by government<br><em>and industry.</em></h2>
+   <p class="lead">PropertyLab holds Malaysia Digital status and is grant-backed by Cradle.</p>
+   <p class="ab-press">As featured in <b>Bernama</b> &times; <b>Oriental Daily (东方日报)</b></p></div>
+  <div class="ab-rec-cards">
+   <div class="ab-rc rv"><span class="lg"><img src="{L['malaysia-digital']}" alt="Malaysia Digital"></span><div><small>Malaysia · MDEC</small><h3>Malaysia Digital status company</h3><p>Awarded by MDEC, under the Ministry of Digital.</p></div></div>
+   <div class="ab-rc rv"><span class="lg"><img src="{L['cradle']}" alt="Cradle"></span><div><small>Malaysia · Cradle</small><h3>CIP Spark and CIP Sprint grants</h3><p>Grant-backed by Cradle, under the Ministry of Science, Technology and Innovation.</p></div></div>
+   <div class="ab-rc rv" data-cred="cyberport" hidden style="display:none"><span class="lg"><img src="{L['cyberport']}" alt="Cyberport"></span><div><small>Hong Kong</small><h3>Cyberport Creative Micro Fund</h3><p>PropertyLab Global Limited is supported by Cyberport, Hong Kong's digital technology community.</p></div></div>
+   <div class="ab-rc rv" data-cred="reach" hidden style="display:none"><span class="lg"><img src="{L['reach']}" alt="REACH Middle East"></span><div><small>United Arab Emirates</small><h3>REACH Middle East accelerator</h3><p>Backed by Second Century Ventures, the strategic investment arm of the U.S. National Association of REALTORS&reg;.</p></div></div>
+  </div>
  </div>
- <p class="rv" style="text-align:center;margin-top:34px;color:var(--mute)">As featured in Bernama &times; Oriental Daily (东方日报).</p>
 </div></section>
 
-<section class="pad" style="background:var(--bg)"><div class="in">
- <div class="head rv"><div class="eyebrow">Leadership</div><h2 class="h2">The team behind<br><em>PropertyLab.</em></h2></div>
- <div class="grid4 mt">{''.join(f'<div class="card rv" style="text-align:left"><span style="display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#0b1530,#2f4a8f);color:#fff;font:500 20px Sora,system-ui,sans-serif">{i}</span><h3>{n}</h3><p>{r}</p></div>' for i,n,r in [('WK','Cheng Wai Kit','Founder &amp; Chief Executive Officer'),('LJ','Teh Lee Jie','Chief Technology Officer'),('DN','Dylan Ngan','Chief Revenue Officer'),('NT','Nicsman Tay','Chief Marketing Officer')])}</div>
+<section class="ab-team" aria-label="The team"><div class="in">
+ <div class="head center rv"><div class="eyebrow">Our team</div><h2 class="h2">The people behind<br><em>PropertyLab.</em></h2>
+  <p class="lead" style="margin-left:auto;margin-right:auto">Engineers, analysts and property people, building one platform together in Kuala Lumpur.</p></div>
+ <figure class="ab-team-ph rv" id="teamPh"><picture><source srcset="/main/images/about/team.webp" type="image/webp"><img src="/main/images/about/team.jpg" alt="The PropertyLab team, nine people in PropertyLab T-shirts" width="2200" height="1238" loading="lazy"></picture>
+  {''.join(f'<button type="button" class="tm" style="--x:{x};--t:{y}" aria-label="{n}, {r}"><i></i><span class="tm-card"><b>{n}</b><small>{r}</small>{("<em>"+d+"</em>") if d else ""}</span></button>' for x,y,n,r,d in TEAM)}
+ </figure>
+ <p class="ab-team-hint rv">Point at someone to meet them.</p>
+ <div class="ab-tcards" aria-label="The team">{''.join(f'<figure class="ab-tc"><img src="/main/images/about/team/{k+1}.webp?v=2" alt="{n}" width="960" height="1200" loading="lazy"><figcaption><b>{n}</b><small>{r}</small></figcaption></figure>' for k,(x,y,n,r,d) in enumerate(TEAM))}</div>
 </div></section>
 
-<section class="pad"><div class="in">
- <div class="head rv"><div class="eyebrow">Where we are</div><h2 class="h2">Close to the markets<br>we serve.</h2></div>
- <div class="grid3 mt">
-  <div class="card rv">{ic(IC['pin'])}<h3>Kuala Lumpur</h3><p>Headquarters · PropertyLab Technology Sdn Bhd<br>Level 23, Exchange 106, Tun Razak Exchange, 55188 Kuala Lumpur</p></div>
-  <div class="card rv">{ic(IC['pin'])}<h3>Hong Kong</h3><p>PropertyLab Global Limited<br>Central, Hong Kong</p></div>
-  <div class="card rv">{ic(IC['pin'])}<h3>United Arab Emirates</h3><p>Serving buyers in Dubai together with licensed local partners.</p></div>
- </div></div></section>
-
-<section class="pad dark"><div class="in" style="display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center">
- <div class="rv"><h2 class="h2">Build the future of<br><em style="background:linear-gradient(90deg,#9fd0ff,#c9bfff);-webkit-background-clip:text;background-clip:text;color:transparent">property decisions.</em></h2></div>
- <div class="rv" style="display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end"><a class="btn white" href="{C}?type=careers">Join our team</a><a class="btn ghost" href="{C}">Contact us</a></div>
+<section class="pad ab-loc"><div class="in">
+ <div class="head rv"><div class="eyebrow">Our offices</div><h2 class="h2">Visit us.</h2></div>
+ <div class="ab-locs two">
+  <article class="ab-lc rv"><div class="lc-map"><iframe title="Map: PropertyLab Kuala Lumpur office" loading="lazy" referrerpolicy="no-referrer-when-downgrade" src="https://www.google.com/maps?q=V+Office+1+Sunway+Velocity+Kuala+Lumpur&z=16&output=embed"></iframe><span>Headquarters</span></div><div class="lc-tx"><h3>Kuala Lumpur</h3><b>PropertyLab Technology Sdn Bhd (1547842-D)</b><p>13-16, V Office 1, Lingkaran Sunway Velocity,<br>Sunway Velocity, 55100 Kuala Lumpur</p><a class="lc-go" href="https://www.google.com/maps/search/?api=1&query=V+Office+1+Sunway+Velocity+Kuala+Lumpur" target="_blank" rel="noopener">Open in Google Maps &rarr;</a></div></article>
+  <article class="ab-lc rv"><div class="lc-map"><iframe title="Map: PropertyLab Hong Kong office" loading="lazy" referrerpolicy="no-referrer-when-downgrade" src="https://www.google.com/maps?q=Universal+Trade+Centre%2C+3+Arbuthnot+Road%2C+Central%2C+Hong+Kong&z=16&output=embed"></iframe><span>Hong Kong office</span></div><div class="lc-tx"><h3>Hong Kong</h3><b>PropertyLab Global Limited</b><p>Unit 2904-05, 29/F, Universal Trade Centre,<br>3 Arbuthnot Road, Central, Hong Kong</p><a class="lc-go" href="https://www.google.com/maps/search/?api=1&query=Universal+Trade+Centre%2C+3+Arbuthnot+Road%2C+Central%2C+Hong+Kong" target="_blank" rel="noopener">Open in Google Maps &rarr;</a></div></article>
+ </div>
 </div></section>
+
+<section class="ab-cta"><div class="in"><div class="ab-cta-card rv">
+ <div><div class="eyebrow">Careers</div><h2 class="h2">Build the future of<br><em>property decisions.</em></h2></div>
+ <div class="ab-cta-act"><a class="btn dark" href="{C}?type=careers">Join our team</a><a class="btn line" href="{C}">Contact us</a></div>
+</div></div></section>
 '''
-about_css = '.lg{display:inline-flex;align-items:center;justify-content:center;height:72px;flex:1 1 0;max-width:150px;padding:0 12px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px #e3e8f2}.lg img{max-height:44px;max-width:112px;width:auto}'
+about_css = r'''
+/* ── Cinematic scroll hero (owner, 2026-10-05): the three cities and the milestones are ONE pinned scene. Five
+   chapters over 520vh — intro, Kuala Lumpur 2024, Malaysia 2025–26, Hong Kong, Dubai; the script sets data-c
+   (chapter) and --p (progress); pictures cross-fade and push in slowly. ── */
+.cs{position:relative;height:520vh;background:#f6f9ff}
+.cs-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
+.cs-bg{position:absolute;inset:0;background-size:cover;background-position:72% 50%;opacity:0;transition:opacity 1.1s ease;transform:scale(calc(1.03 + var(--p,0)*.1));transform-origin:70% 60%;will-change:transform,opacity}
+.cs-bg.b2{background-position:88% 50%}.cs-bg.b3{background-position:58% 50%}
+.cs[data-c="0"] .b1,.cs[data-c="1"] .b1,.cs[data-c="2"] .b1,.cs[data-c="3"] .b2,.cs[data-c="4"] .b3{opacity:1}
+.cs-veil{position:absolute;inset:0;background:linear-gradient(90deg,#f6f9ff 0%,#f6f9ff 30%,rgba(246,249,255,.9) 44%,rgba(246,249,255,.45) 56%,rgba(246,249,255,0) 70%),linear-gradient(180deg,rgba(246,249,255,.9) 0,rgba(246,249,255,0) 16%)}
+.cs-copy{position:absolute;left:max(clamp(22px,5vw,56px),calc((100vw - 1200px)/2 + 56px));top:0;bottom:0;width:min(560px,46vw)}
+.cs-ch{position:absolute;left:0;right:0;top:50%;opacity:0;transform:translateY(calc(-50% + 34px));transition:opacity .55s ease,transform .8s cubic-bezier(.2,.7,.2,1);pointer-events:none}
+.cs[data-c="0"] .cs-ch:nth-child(1),.cs[data-c="1"] .cs-ch:nth-child(2),.cs[data-c="2"] .cs-ch:nth-child(3),.cs[data-c="3"] .cs-ch:nth-child(4),.cs[data-c="4"] .cs-ch:nth-child(5){opacity:1;transform:translateY(-50%);pointer-events:auto;transition-delay:.18s}
+.cs-ch small{display:block;font:500 12px "Sora",system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--blue)}
+.cs-ch .h1{margin:14px 0 0;color:var(--ink)}
+.cs-ch>p{margin:20px 0 0;max-width:440px;font-size:17px;line-height:1.6;color:var(--ink2)}
+.cs-hint{display:inline-flex;align-items:center;gap:10px;margin-top:30px;font-size:13.5px;color:var(--mute)}
+.cs-hint i{width:1px;height:34px;background:linear-gradient(180deg,var(--ink),rgba(11,21,48,0));animation:cshint 1.8s ease-in-out infinite;transform-origin:top}
+@keyframes cshint{0%{transform:scaleY(0)}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
+.cs-ms{list-style:none;margin:28px 0 0;padding:0;max-width:470px}
+.cs-ms li{display:grid;grid-template-columns:96px 1fr;gap:18px;padding:14px 0;border-top:1px solid rgba(11,21,48,.12)}
+.cs-ms li:last-child{border-bottom:1px solid rgba(11,21,48,.12)}
+.cs-ms b{font:500 12px/1.9 "Sora",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
+.cs-ms span{font-size:16px;line-height:1.5;color:var(--ink2)}
+.cs-rail{position:absolute;left:max(clamp(22px,5vw,56px),calc((100vw - 1200px)/2 + 56px));right:max(clamp(22px,5vw,56px),calc((100vw - 1200px)/2 + 56px));bottom:34px;margin:0;padding:14px 0 0;list-style:none;display:grid;grid-template-columns:repeat(5,1fr);font:500 11px "Sora",system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(11,21,48,.45)}
+.cs-rail::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;border-radius:2px;background:rgba(11,21,48,.14)}
+.cs-rail::after{content:"";position:absolute;left:0;top:0;height:2px;border-radius:2px;width:calc(var(--p,0)*100%);background:linear-gradient(90deg,#2f6bff,#8a7dff 60%,#e06ac0)}
+.cs-rail li{transition:color .4s}
+.cs[data-c="0"] .cs-rail li:nth-child(1),.cs[data-c="1"] .cs-rail li:nth-child(2),.cs[data-c="2"] .cs-rail li:nth-child(3),.cs[data-c="3"] .cs-rail li:nth-child(4),.cs[data-c="4"] .cs-rail li:nth-child(5){color:var(--ink)}
+@media (max-width:860px){
+  .cs-bg{background-position:74% 0;background-size:auto 62%;background-repeat:no-repeat;transform-origin:70% 30%}.cs-bg.b2{background-position:90% 0}.cs-bg.b3{background-position:69% 0}
+  .cs-veil{background:linear-gradient(0deg,#f6f9ff 0%,#f6f9ff 44%,rgba(246,249,255,.75) 54%,rgba(246,249,255,0) 68%),linear-gradient(180deg,rgba(246,249,255,.9) 0,rgba(246,249,255,0) 14%)}
+  .cs-copy{left:22px;right:22px;width:auto}
+  .cs-ch{top:auto;bottom:86px;transform:translateY(30px)}
+  .cs[data-c="0"] .cs-ch:nth-child(1),.cs[data-c="1"] .cs-ch:nth-child(2),.cs[data-c="2"] .cs-ch:nth-child(3),.cs[data-c="3"] .cs-ch:nth-child(4),.cs[data-c="4"] .cs-ch:nth-child(5){transform:none}
+  .cs-ch .h1{font-size:34px}.cs-ch>p{font-size:15px;margin-top:12px}.cs-hint{margin-top:16px}
+  .cs-ms{margin-top:16px}.cs-ms li{grid-template-columns:78px 1fr;gap:12px;padding:10px 0}.cs-ms span{font-size:14px}.cs-ms b{font-size:10.5px}
+  .cs-rail{left:22px;right:22px;bottom:22px;font-size:8.5px;letter-spacing:.08em}
+}
+@media (prefers-reduced-motion:reduce){.cs-bg{transform:none;transition:none}.cs-ch{transition:none}}
+@media (max-width:860px){
+  section.pad>.in[style*="grid-template-columns"]{grid-template-columns:1fr!important;gap:22px!important}
+  section.pad>.in[style*="grid-template-columns"] .h2{font-size:clamp(32px,9vw,40px)}
+  section.pad>.in[style*="grid-template-columns"] p{font-size:16px;line-height:1.65}
+  .pad{padding:84px 0}
+}
+
+/* ── About, lower half rebuilt (owner, 2026-10-05: "still not world class"): one dark band (the timeline), then light
+   sections — recognition, the team photo, offices with their city, a soft aurora call to action. ── */
+.ab-ms{padding:130px 0 120px;background:radial-gradient(120% 90% at 85% 0%,#16306b 0%,#0a1330 46%,#050a1a 100%);color:#fff;overflow:hidden}
+.ab-ms .h2{color:#fff}
+.ab-ms-head{display:grid;grid-template-columns:1.7fr 1fr;gap:40px;align-items:end}
+.ab-ms-head p{margin:0;max-width:420px;justify-self:end;color:rgba(255,255,255,.66);font-size:16px;line-height:1.6}
+.ab-tl{list-style:none;margin:84px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);position:relative}
+.ab-tl::before{content:"";position:absolute;left:0;right:0;top:57px;height:1px;background:rgba(255,255,255,.16)}
+.ab-tl::after{content:"";position:absolute;left:0;top:56px;height:3px;width:0;border-radius:3px;background:linear-gradient(90deg,#5aa2ff,#b9a8ff 60%,#ff9ad5);transition:width 2.4s cubic-bezier(.2,.7,.2,1) .3s}
+.ab-tl.in::after{width:100%}
+.ab-tl li{position:relative;padding:0 18px 0 0;opacity:0;transform:translateY(16px);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--n)*.22s + .4s)}
+.ab-tl.in li{opacity:1;transform:none}
+.ab-tl .yr{display:block;height:40px;font:200 30px/1 "Sora",system-ui,sans-serif;letter-spacing:-.03em;color:rgba(255,255,255,.34)}
+.ab-tl li:nth-child(1) .yr,.ab-tl li:nth-child(4) .yr,.ab-tl li:nth-child(5) .yr{color:#fff}
+.ab-tl li:nth-child(2) .yr,.ab-tl li:nth-child(3) .yr,.ab-tl li:nth-child(6) .yr{visibility:hidden}
+.ab-tl i{display:block;width:13px;height:13px;margin:10px 0 22px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(120,160,255,.22),0 0 22px 4px rgba(120,160,255,.55)}
+.ab-tl b{display:block;font:500 11.5px "Sora",system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#9fc0ff}
+.ab-y{display:none}
+.ab-tl h3{margin:10px 0 0;font:400 18px/1.3 "Sora",system-ui,sans-serif;letter-spacing:-.01em;color:#fff}
+.ab-tl p{margin:8px 0 0;font-size:14px;line-height:1.55;color:rgba(255,255,255,.6)}
+.ab-rec-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center}
+.ab-press{margin:28px 0 0;padding-top:22px;border-top:1px solid var(--line);font-size:14.5px;color:var(--mute)}.ab-press b{color:var(--ink);font-weight:600}
+.ab-rec-cards{display:grid;gap:14px}
+.ab-rc{display:flex;align-items:center;gap:22px;padding:22px 26px;border-radius:24px;background:linear-gradient(180deg,#fff,#f6f8fd);box-shadow:inset 0 0 0 1px var(--line),0 30px 60px -46px rgba(11,21,48,.35)}
+.ab-rc .lg{flex:none;width:132px;height:84px;max-width:none}
+.ab-rc small{font:500 11px "Sora",system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
+.ab-rc h3{margin:6px 0 0;font:400 19px/1.3 "Sora",system-ui,sans-serif;color:var(--ink)}.ab-rc p{margin:6px 0 0;font-size:14.5px;line-height:1.5;color:var(--ink2)}
+.ab-team{padding:130px 0 120px;background:#faf8f7}
+.ab-team-ph{position:relative;margin:30px 0 0}
+.ab-team-ph img{display:block;width:100%;height:auto}
+.ab-team-ph::after{content:"";position:absolute;inset:-1px;box-shadow:inset 0 0 46px 34px #faf8f7;pointer-events:none}
+/* point at a person → the others fade and a card with their details appears above them (pure CSS, :has) */
+.ab-team-ph::before{content:"";position:absolute;z-index:1;inset:0;opacity:0;transition:opacity .35s;pointer-events:none;
+  background:linear-gradient(90deg,rgba(250,248,247,.78) 0,rgba(250,248,247,.78) calc(var(--cx,50)*1% - 7.5%),rgba(250,248,247,0) calc(var(--cx,50)*1% - 4%),rgba(250,248,247,0) calc(var(--cx,50)*1% + 4%),rgba(250,248,247,.78) calc(var(--cx,50)*1% + 7.5%),rgba(250,248,247,.78) 100%)}
+.ab-team-ph:has(.tm:hover)::before,.ab-team-ph:has(.tm:focus)::before{opacity:1}
+.tm{position:absolute;z-index:2;left:calc(var(--x)*1% - 4.7%);width:9.4%;top:calc(var(--t)*1% - 2%);bottom:5%;padding:0;border:0;background:none;cursor:pointer;outline:0;-webkit-tap-highlight-color:transparent}
+.tm i{position:absolute;left:50%;bottom:-14px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:#2f6bff;box-shadow:0 0 0 4px rgba(47,107,255,.18);animation:tmp 2.6s ease-in-out infinite;animation-delay:calc(var(--x)*.03s)}
+@keyframes tmp{0%,100%{box-shadow:0 0 0 4px rgba(47,107,255,.18)}50%{box-shadow:0 0 0 9px rgba(47,107,255,0)}}
+.tm:hover i,.tm:focus i{animation:none;background:#0e1a3a;box-shadow:0 0 0 5px rgba(14,26,58,.14)}
+.tm-card{position:absolute;left:50%;bottom:calc(100% + 16px);min-width:190px;max-width:260px;padding:14px 18px;border-radius:18px;text-align:left;white-space:normal;
+  background:#fff;box-shadow:0 0 0 1px rgba(11,21,48,.06),0 30px 60px -24px rgba(11,21,48,.45);opacity:0;transform:translate(-50%,8px);transition:opacity .3s,transform .4s cubic-bezier(.2,.7,.2,1);pointer-events:none}
+.tm-card::after{content:"";position:absolute;left:50%;top:100%;width:12px;height:12px;margin:-6px 0 0 -6px;background:#fff;transform:rotate(45deg);box-shadow:3px 3px 6px -3px rgba(11,21,48,.25)}
+.tm:hover .tm-card,.tm:focus .tm-card{opacity:1;transform:translate(-50%,0)}
+.tm-card b{display:block;font:500 16px/1.25 "Sora",system-ui,sans-serif;color:var(--ink)}
+.tm-card small{display:block;margin-top:3px;font:500 11px "Sora",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
+.tm-card em{display:block;margin-top:8px;font-style:normal;font-size:13.5px;line-height:1.5;color:var(--ink2)}
+.tm:nth-of-type(1) .tm-card,.tm:nth-of-type(2) .tm-card{left:0;transform:translate(0,8px)}.tm:nth-of-type(1):hover .tm-card,.tm:nth-of-type(1):focus .tm-card,.tm:nth-of-type(2):hover .tm-card,.tm:nth-of-type(2):focus .tm-card{transform:none}
+.tm:nth-of-type(1) .tm-card::after,.tm:nth-of-type(2) .tm-card::after{left:26px}
+.tm:nth-last-of-type(1) .tm-card,.tm:nth-last-of-type(2) .tm-card{left:auto;right:0;transform:translate(0,8px)}.tm:nth-last-of-type(1):hover .tm-card,.tm:nth-last-of-type(1):focus .tm-card,.tm:nth-last-of-type(2):hover .tm-card,.tm:nth-last-of-type(2):focus .tm-card{transform:none}
+.tm:nth-last-of-type(1) .tm-card::after,.tm:nth-last-of-type(2) .tm-card::after{left:auto;right:20px}
+.ab-team-ph:has(.tm:nth-of-type(1):hover),.ab-team-ph:has(.tm:nth-of-type(1):focus){--cx:14.0}
+.ab-team-ph:has(.tm:nth-of-type(2):hover),.ab-team-ph:has(.tm:nth-of-type(2):focus){--cx:23.7}
+.ab-team-ph:has(.tm:nth-of-type(3):hover),.ab-team-ph:has(.tm:nth-of-type(3):focus){--cx:32.7}
+.ab-team-ph:has(.tm:nth-of-type(4):hover),.ab-team-ph:has(.tm:nth-of-type(4):focus){--cx:42.3}
+.ab-team-ph:has(.tm:nth-of-type(5):hover),.ab-team-ph:has(.tm:nth-of-type(5):focus){--cx:50.3}
+.ab-team-ph:has(.tm:nth-of-type(6):hover),.ab-team-ph:has(.tm:nth-of-type(6):focus){--cx:60.2}
+.ab-team-ph:has(.tm:nth-of-type(7):hover),.ab-team-ph:has(.tm:nth-of-type(7):focus){--cx:69.0}
+.ab-team-ph:has(.tm:nth-of-type(8):hover),.ab-team-ph:has(.tm:nth-of-type(8):focus){--cx:77.5}
+.ab-team-ph:has(.tm:nth-of-type(9):hover),.ab-team-ph:has(.tm:nth-of-type(9):focus){--cx:86.4}
+/* phones (owner, 2026-10-05: "our team on mobile becomes very small"): the group photo stays as the overview, and
+   a swipeable row of individual portraits (one studio photo each, 2026-10-05) puts a readable face, name and role on screen. */
+.ab-tcards{display:none}
+@media (max-width:760px){
+  .ab-team .tm,.ab-team-hint{display:none!important}
+  .ab-team-ph::before{display:none}
+  .ab-tcards{display:flex;gap:12px;margin:22px -22px 0;padding:4px 22px 18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:22px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
+  .ab-tcards::-webkit-scrollbar{display:none}
+  .ab-tc{flex:0 0 62%;margin:0;scroll-snap-align:start;border-radius:22px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px rgba(11,21,48,.06),0 22px 44px -30px rgba(11,21,48,.45)}
+  .ab-tc img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:#f6f5f4}
+  .ab-tc figcaption{padding:14px 16px 16px}
+  .ab-tc b{display:block;font:500 17px/1.25 "Sora",system-ui,sans-serif;color:var(--ink)}
+  .ab-tc small{display:block;margin-top:4px;font-size:13px;line-height:1.4;color:var(--mute)}
+  .ab-team{padding:84px 0 70px}
+  .ab-team .lead{font-size:15px}
+}
+.ab-team-hint{margin:6px 0 0;text-align:center;font-size:13.5px;color:var(--mute)}
+.ab-team-hint.in{padding:0;max-width:none}
+@media (max-width:760px){.tm-card{min-width:150px;padding:10px 12px;border-radius:14px}.tm-card b{font-size:13.5px}.tm-card small{font-size:9.5px}.tm-card em{display:none}.tm i{width:7px;height:7px;margin-left:-3.5px}}
+.ab-leads{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px;position:relative}
+.ab-lead{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.82);box-shadow:inset 0 0 0 1px rgba(11,21,48,.06),0 26px 50px -36px rgba(11,21,48,.4)}
+.ab-lead>img,.ab-lead>span{flex:none;width:56px!important;height:56px!important;border-radius:18px!important}
+.ab-lead h3{margin:0;font:500 16.5px/1.25 "Sora",system-ui,sans-serif;color:var(--ink)}.ab-lead p{margin:3px 0 0;font-size:13px;line-height:1.4;color:var(--mute)}
+.ab-locs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px}
+.ab-lc{border-radius:28px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px var(--line),0 40px 70px -50px rgba(11,21,48,.4);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
+.ab-lc:hover{transform:translateY(-6px);box-shadow:inset 0 0 0 1px var(--line),0 50px 80px -44px rgba(11,21,48,.5)}
+.ab-lc .lc-ph{position:relative;height:250px;background-size:cover;background-position:78% 50%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
+.ab-lc:hover .lc-ph{transform:scale(1.05)}
+.ab-lc .lc-ph span{position:absolute;left:18px;top:18px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.86);font:500 11px "Sora",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
+.ab-lc .lc-tx{position:relative;padding:24px 26px 28px;background:#fff}
+.ab-lc h3{margin:0;font:300 26px/1.1 "Sora",system-ui,sans-serif;letter-spacing:-.03em;color:var(--ink)}
+.ab-lc b{display:block;margin-top:10px;font-size:14px;font-weight:600;color:var(--ink)}.ab-lc p{margin:6px 0 0;font-size:14.5px;line-height:1.55;color:var(--ink2)}
+/* a revealed element gets the class `in`, which is also the page's container class (max-width + side padding): undo that here */
+.ab-lc.in,.ab-team-ph.in{padding:0;max-width:none}
+.ab-lc.in,.ab-lead.in,.ab-rc.in{margin:0}
+.ab-tl.in{padding:0;max-width:none;margin-left:0;margin-right:0}
+@media (max-width:1000px){.ab-tl.in{padding:0 0 0 28px}}
+.ab-locs.two{grid-template-columns:repeat(2,1fr)}
+.lc-map{position:relative;height:300px;background:#eef2f9}
+.lc-map iframe{display:block;width:100%;height:100%;border:0}
+.lc-map span{position:absolute;right:16px;top:16px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 6px 16px -8px rgba(11,21,48,.4);font:500 11px "Sora",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);pointer-events:none}
+.lc-go{display:inline-flex;margin-top:16px;padding:10px 18px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-size:14px;font-weight:500}
+.lc-go:hover{background:#1b2a52}
+.ab-lc:hover{transform:none}
+@media (max-width:1000px){.ab-locs.two{grid-template-columns:1fr}.lc-map{height:240px}}
+.ab-cta{padding:0 0 130px}
+.ab-cta-card{display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap;padding:64px clamp(28px,5vw,72px);border-radius:36px;background:linear-gradient(120deg,rgba(255,255,255,.82),rgba(255,255,255,.55)),url(/cinematic/market/aurora.jpg) center/cover;box-shadow:inset 0 0 0 1px rgba(255,255,255,.9),0 50px 90px -60px rgba(11,21,48,.5)}
+.ab-cta-card .h2{margin-top:12px}
+.ab-cta-act{display:flex;gap:12px;flex-wrap:wrap}
+@media (max-width:1000px){
+  .ab-ms-head,.ab-rec-grid{grid-template-columns:1fr;gap:24px}.ab-ms-head p{justify-self:start}
+  .ab-tl{grid-template-columns:1fr;margin-top:48px;padding-left:28px;gap:30px}
+  .ab-tl::before{left:6px;right:auto;top:6px;bottom:6px;width:1px;height:auto}
+  .ab-tl::after{left:5px;top:6px;width:3px;height:0;transition:height 2.4s cubic-bezier(.2,.7,.2,1) .3s}.ab-tl.in::after{width:3px;height:calc(100% - 12px)}
+  .ab-y{display:inline}
+  .ab-tl .yr{display:none}.ab-tl i{position:absolute;left:-28px;top:2px;margin:0}
+  
+  .ab-leads{grid-template-columns:1fr 1fr;margin-top:14px}.ab-locs{grid-template-columns:1fr}
+  .ab-ms,.ab-team{padding:90px 0}.ab-cta{padding-bottom:90px}
+}
+@media (max-width:560px){.ab-leads{grid-template-columns:1fr}.ab-rc{flex-direction:column;align-items:flex-start;gap:14px}.ab-cta-card{padding:40px 24px}}
+''' + '.lg{display:inline-flex;align-items:center;justify-content:center;height:72px;flex:1 1 0;max-width:150px;padding:0 12px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px #e3e8f2}.lg img{max-height:44px;max-width:112px;width:auto}'
 
 # ------------------------------------------------------------------ CONTACT
 TYPES = [('support','Customer service','Questions about your account, a property or a booking.','person'),
@@ -452,8 +753,8 @@
  <div class="rv" style="position:sticky;top:110px"><div class="eyebrow">Send an enquiry</div><h2 class="h2">We'll get back<br><em>to you.</em></h2>
   <p class="lead">We aim to reply within one business day.</p>
   <div style="margin-top:30px;display:grid;gap:18px;font-size:15px;color:var(--ink2)">
-   <div><b style="color:var(--ink)">Kuala Lumpur</b><br>Level 23, Exchange 106, Tun Razak Exchange, 55188 Kuala Lumpur</div>
-   <div><b style="color:var(--ink)">Hong Kong</b><br>PropertyLab Global Limited, Central, Hong Kong</div>
+   <div><b style="color:var(--ink)">Kuala Lumpur</b><br>PropertyLab Technology Sdn Bhd (1547842-D)<br>13-16, V Office 1, Lingkaran Sunway Velocity,<br>Sunway Velocity, 55100 Kuala Lumpur</div>
+   <div><b style="color:var(--ink)">Hong Kong</b><br>PropertyLab Global Limited<br>Unit 2904-05, 29/F, Universal Trade Centre,<br>3 Arbuthnot Road, Central, Hong Kong</div>
    <div><b style="color:var(--ink)">Email</b><br><a href="mailto:support@propertylab.tech" style="color:var(--blue)">support@propertylab.tech</a></div></div></div>
  <div class="form rv"><form class="fbody" data-ajax action="/contact" method="post" enctype="multipart/form-data">
   <div class="ff"><label>Topic <i>*</i></label><select name="type" id="ctype" required><option value="">Select a topic</option>{''.join(f'<option value="{k}">{v}</option>' for k,v in TYPE_TXT.items() if k!='partner')}</select></div>
@@ -489,7 +790,7 @@
 
 pages = {
  'partners': page('PropertyLab Partners | The right buyer, connected to you', 'Join the PropertyLab ecosystem and serve buyers who have already decided on evidence. Custom AI solutions for partners.', 'For Partners', partners_body).replace('</style>', partners_css.replace('PHONEMASK', M['img']['phonemask']) + '</style>').replace('</body>', partners_js + '</body>'),
- 'about': page('About PropertyLab | Smarter Property Decisions', 'PropertyLab helps people buy property on evidence across Malaysia, Hong Kong and the UAE.', 'About', about_body).replace('</style>', about_css + '</style>'),
+ 'about': page('About PropertyLab | Smarter Property Decisions', 'PropertyLab helps people buy property on evidence across Malaysia, Hong Kong and the UAE.', 'About', about_body, dark_top=False).replace('</style>', about_css + '</style>'),
  'contact': page('Contact PropertyLab', 'Customer service, portal technical support, business collaboration, careers, media and investor enquiries.', '', contact_body).replace('</body>', contact_js + '</body>'),
 }
 for k, html in pages.items():
