/*
Theme Name: KL Expat Property Hub
Template: astra
Version: 0.4.0
Description: Lightweight Astra child theme for KL Expat Property Hub.
*/
:root{--ink:#0b2348;--muted:#566575;--paper:#faf8f3;--cream:#efede7;--line:#d8dce1;--accent:#d8b464;--white:#ffffff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:4px}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--ink);line-height:1.12}h1{font-size:clamp(44px,6vw,82px);letter-spacing:-.045em;margin:20px 0 26px}h2{font-size:clamp(34px,4vw,52px);letter-spacing:-.035em;margin:12px 0 24px}h3{font-size:27px;margin:12px 0 16px}p{margin:0 0 20px}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b88736;outline-offset:5px}.kep-wrap{width:min(1240px,calc(100% - 80px));margin:auto}.kep-header{border-bottom:1px solid var(--line);background:var(--paper)}.kep-header-inner{min-height:100px;display:flex;align-items:center;gap:32px;justify-content:space-between}.kep-brand{display:flex;align-items:center;gap:13px;text-decoration:none;line-height:1.2}.kep-monogram{width:44px;height:48px;border:1px solid var(--ink);display:grid;place-items:center;font:23px Georgia,serif}.kep-brand strong{font:21px Georgia,serif;display:block}.kep-brand small{display:block;font-size:10px;letter-spacing:.18em;margin-top:5px}.kep-nav{display:flex;gap:26px;align-items:center}.kep-nav a{text-decoration:none;font-size:14px}.kep-nav a:hover{text-decoration:underline}.kep-nav .kep-button{font-size:13px;padding:12px 19px}.kep-button{display:inline-flex;gap:26px;align-items:center;justify-content:center;background:var(--ink);color:var(--white);border:1px solid var(--ink);padding:16px 25px;text-decoration:none;font-weight:500;line-height:1.5;cursor:pointer;border-radius:0}.kep-button:hover{background:#173a5c;color:white}.kep-button-light{background:transparent;color:var(--ink)}.kep-button-light:hover{background:var(--cream);color:var(--ink)}.kep-button span{font-size:21px}.kep-eyebrow{font-size:11px;letter-spacing:.18em;font-weight:600;text-transform:uppercase;margin:0 0 16px}.kep-hero{display:grid;grid-template-columns:1.04fr 1fr;gap:72px;align-items:center;padding:58px 0 64px}.kep-hero p:not(.kep-eyebrow){color:var(--muted);max-width:460px;font-size:17px}.kep-hero em{font-weight:400;color:#185064}.kep-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:30px}.kep-text-link{font-size:14px;font-weight:500}.kep-hero-art{min-width:0;position:relative;align-self:stretch;display:flex;align-items:center}.kep-hero-art img{width:100%;height:540px;object-fit:cover;border-radius:180px 180px 0 0}.kep-art-note{position:absolute;bottom:24px;left:-24px;background:var(--paper);border:1px solid var(--line);padding:17px 24px;font-size:12px;line-height:1.6;max-width:250px}.kep-art-note strong{font-family:Georgia,serif;font-size:21px;font-weight:400;display:block}.kep-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.kep-strip-inner{display:grid;grid-template-columns:repeat(3,1fr);padding:25px 0;gap:24px}.kep-strip span{font-size:13px}.kep-strip b{font-size:12px;letter-spacing:.1em;color:#795c23;margin-right:14px}.kep-section{padding:80px 0}.kep-section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:30px}.kep-section-head h2{margin-bottom:0}.kep-section-head>p{max-width:350px;color:var(--muted);margin:0}.kep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.kep-card{background:var(--white);border:1px solid var(--line);min-width:0}.kep-card img{width:100%;height:240px;object-fit:cover;display:block}.kep-card-body{padding:28px}.kep-card h3 a{text-decoration:none}.kep-card p{color:var(--muted);font-size:14px}.kep-card .kep-price{color:var(--ink);font-size:18px}.kep-empty{border:1px solid var(--line);padding:40px;background:var(--white);display:grid;grid-template-columns:1fr auto;column-gap:50px}.kep-empty h3{grid-column:1}.kep-empty p{max-width:620px;grid-column:1;color:var(--muted)}.kep-empty .kep-button{grid-column:2;grid-row:1/3;align-self:center}.kep-areas{background:var(--cream)}.kep-area-card{border-top:1px solid #c6cdd3;padding:25px 0;display:flex;gap:25px;align-items:baseline}.kep-area-card .kep-number{color:#795c23;font-size:12px}.kep-area-card h3{margin:0 0 15px}.kep-area-card p{font-size:14px;color:var(--muted);max-width:300px}.kep-area-card a{text-decoration:none}.kep-process{display:grid;grid-template-columns:1fr 1.3fr;gap:100px}.kep-steps{border-top:1px solid var(--line)}.kep-step{display:grid;grid-template-columns:45px 1fr;border-bottom:1px solid var(--line);padding:25px 0}.kep-step>span{font-size:12px;color:var(--muted);padding-top:7px}.kep-step h3{font-size:24px;margin:0 0 10px}.kep-step p{font-size:14px;color:var(--muted);margin:0}.kep-banner{background:var(--ink);color:var(--paper);padding:60px;display:flex;align-items:center;justify-content:space-between;gap:30px}.kep-banner h2{color:var(--paper);max-width:650px;margin-bottom:14px}.kep-banner p{max-width:630px;color:#d2dfe6}.kep-banner .kep-button{background:var(--paper);color:var(--ink);white-space:nowrap}.kep-footer{margin-top:80px;border-top:1px solid var(--line);padding:44px 0 24px}.kep-footer-top{display:flex;justify-content:space-between;gap:30px}.kep-footer-links{display:flex;gap:24px;flex-wrap:wrap;font-size:13px}.kep-footer-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}.kep-footer p{font-size:13px;color:var(--muted);max-width:370px;margin-top:14px}.kep-page{max-width:1000px;padding-top:65px;min-height:50vh}.kep-page h1{font-size:clamp(40px,5vw,65px);max-width:900px}.kep-page>.kep-intro{max-width:700px;font-size:19px;color:var(--muted)}.kep-page-content{margin-top:40px}.kep-page-content h2{margin-top:50px}.kep-enquiry{background:var(--white);border:1px solid var(--line);padding:42px;margin-top:45px}.kep-enquiry h2{font-size:36px}.kep-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.kep-enquiry label{display:block;font-size:13px;margin-bottom:20px}.kep-enquiry input:not([type=checkbox]),.kep-enquiry select,.kep-enquiry textarea{display:block;width:100%;padding:12px;background:#fcfcf8;color:var(--ink);border:1px solid #929fae;border-radius:0;margin-top:7px}.kep-enquiry textarea{resize:vertical}.kep-enquiry .kep-consent{display:flex;align-items:start;gap:10px;max-width:650px}.kep-consent input{margin-top:5px}.kep-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.kep-small{font-size:12px;color:var(--muted);margin:18px 0 0}.kep-notice{padding:20px;border:1px solid #356376;background:#eef4f6}.kep-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin:40px 0}.kep-facts>div{border-bottom:1px solid var(--line);padding:16px 0}.kep-facts dt{font-size:12px;color:var(--muted)}.kep-facts dd{margin:5px 0 0}.kep-skip{position:absolute;left:15px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:999}.kep-skip:focus{top:10px}.kep-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.kep-guide{border-top:1px solid var(--line);padding-top:25px}.kep-guide h3{font-size:25px}.kep-guide p{font-size:14px;color:var(--muted)}
@media(max-width:1000px){.kep-wrap{width:calc(100% - 48px)}.kep-nav{gap:15px}.kep-nav a{font-size:12px}.kep-hero{gap:36px}.kep-hero-art img{height:500px}.kep-process{gap:50px}.kep-banner{padding:40px}.kep-brand strong{font-size:18px}}
@media(max-width:760px){.kep-wrap{width:calc(100% - 36px)}.kep-header-inner{flex-wrap:wrap;padding:20px 0;gap:20px}.kep-brand strong{font-size:21px}.kep-nav{width:100%;gap:20px;overflow:auto;padding-bottom:4px}.kep-nav a{font-size:13px;white-space:nowrap}.kep-nav .kep-button{padding:8px 12px}.kep-hero{grid-template-columns:1fr;padding:36px 0 45px;gap:35px}.kep-hero h1{font-size:53px;max-width:580px}.kep-hero-art{padding-left:16px}.kep-hero-art img{height:380px;border-radius:140px 140px 0 0}.kep-art-note{left:0;bottom:20px}.kep-strip-inner{grid-template-columns:1fr;gap:9px;padding:20px 0}.kep-section{padding:52px 0}.kep-section-head{display:block}.kep-section-head>p{margin-top:24px}.kep-grid,.kep-guide-grid{grid-template-columns:1fr}.kep-process{grid-template-columns:1fr;gap:20px}.kep-empty{display:block;padding:28px}.kep-banner{display:block;padding:30px}.kep-banner .kep-button{margin-top:15px}.kep-form-grid,.kep-facts{grid-template-columns:1fr}.kep-enquiry{padding:25px 20px}.kep-enquiry h2{font-size:31px}.kep-footer{margin-top:50px}.kep-footer-top,.kep-footer-bottom{display:block}.kep-footer-links{margin:25px 0}.kep-page{padding-top:35px}.kep-page h1{font-size:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.kep-site{background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body.kep-site .kep-enquiry .kep-button{border-radius:0;background:var(--ink);color:var(--white)}
.kep-project-highlights{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:24px;padding:26px 0;margin:35px 0}.kep-project-highlights span{display:block;font-size:10px;letter-spacing:.12em;margin-bottom:10px}.kep-project-highlights strong{font-weight:500;font-size:16px}.kep-project-price{background:var(--cream);padding:30px;margin:35px 0}.kep-project-price h2{font-size:clamp(25px,3.5vw,40px);margin:10px 0 20px}.kep-facility-columns,.kep-project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px}.kep-project-gallery{margin:30px 0}.kep-project-gallery figure{margin:0}.kep-project-gallery img{width:100%;height:250px;object-fit:cover}.kep-project-gallery figcaption{font-size:11px;color:var(--muted);margin-top:8px}.kep-contact-panel{padding:32px;background:var(--cream);margin:40px 0}.kep-contact-panel h2{font-size:32px;margin-top:0}.single-kep_project .kep-page>img{display:block;width:100%;height:470px;object-fit:cover;object-position:center 45%}.single-kep_project .kep-page h1{font-size:clamp(40px,5vw,63px)}@media(max-width:760px){.kep-project-highlights{grid-template-columns:1fr 1fr}.kep-facility-columns,.kep-project-gallery{grid-template-columns:1fr}.single-kep_project .kep-page>img{height:390px}.kep-project-price,.kep-contact-panel{padding:24px}.kep-contact-panel h2{font-size:28px}}

.kep-agent-intro{display:grid;grid-template-columns:300px 1fr;gap:65px;align-items:center}.kep-agent-mark{background:var(--ink);color:var(--paper);min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:92px Georgia,serif;border-radius:150px 150px 0 0}.kep-agent-mark span{font:11px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.2em;margin-top:25px}.kep-insight-card{display:flex;flex-direction:column;padding:28px;background:var(--white);border:1px solid var(--line);min-width:0}.kep-insight-card h3{font-size:27px;line-height:1.2}.kep-insight-card h3 a{text-decoration:none}.kep-insight-card>p:not(.kep-eyebrow){color:var(--muted);font-size:14px}.kep-insight-card .kep-text-link{margin-top:auto}.kep-faq-list{border-top:1px solid var(--line)}.kep-faq{border-bottom:1px solid var(--line);padding:22px 0}.kep-faq summary{font-size:18px;cursor:pointer;line-height:1.5;padding-right:15px}.kep-faq summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.kep-faq p{color:var(--muted);margin:18px 0 0;max-width:850px}.kep-article-meta{font-size:13px;color:var(--muted)}.single-post .kep-page{max-width:850px}.single-post .kep-page-content>h2{font-size:34px;margin-top:40px}.single-post .kep-page-content>p,.single-post .kep-page-content>ul{max-width:720px}.kep-article-next,.kep-credentials{padding:30px;background:var(--cream);margin:35px 0}.kep-article-next h2{font-size:32px;margin-top:10px}.kep-credentials p{margin:12px 0 0}@media(max-width:760px){.kep-agent-intro{grid-template-columns:1fr;gap:30px}.kep-agent-mark{min-height:220px;max-width:300px;width:100%;margin:auto;font-size:72px}.kep-insight-card{padding:25px}.kep-faq summary{font-size:17px}.single-post .kep-page-content>h2{font-size:29px}.kep-article-next{padding:24px}}
.kep-page-content .kep-insight-card h2{font-size:27px;line-height:1.2;margin:12px 0 16px;letter-spacing:-.02em}.kep-insight-card h2 a{text-decoration:none}
@media(max-width:480px){.kep-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;overflow:visible}.kep-nav>a{padding:6px 0}.kep-nav .kep-button{padding:8px 12px;justify-content:center}.kep-header-inner{gap:16px}}

.kep-breadcrumb{font-size:12px;color:var(--muted);margin:0 0 24px;display:flex;gap:8px;flex-wrap:wrap}.kep-page-content .kep-card h2{font-size:27px;margin:12px 0 20px;line-height:1.2}.kep-project-top-cta{margin:25px 0 35px}.kep-card-body{height:100%}.kep-facts:empty{display:none}

.kep-agent-portrait{width:100%;max-width:340px;margin:auto}.kep-agent-photo{display:block;width:100%;height:420px;object-fit:cover;object-position:50% 40%;border-radius:150px 150px 0 0}.kep-agent-about{grid-template-columns:310px 1fr;gap:45px;align-items:start}.kep-agent-about .kep-agent-photo{height:440px}.kep-agent-about p:first-child{margin-top:8px}@media(max-width:760px){.kep-agent-about{grid-template-columns:1fr;gap:30px}.kep-agent-portrait{max-width:300px}.kep-agent-photo,.kep-agent-about .kep-agent-photo{height:390px}}
.kep-nav a[aria-current=page]:not(.kep-button){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.kep-card h2 a{text-decoration:none}.kep-page-content .kep-card h2{font-size:27px;margin:12px 0 16px;line-height:1.2}
.kep-grid-single{grid-template-columns:1fr}.kep-grid-single .kep-card{display:grid;grid-template-columns:1fr 1.15fr}.kep-grid-single .kep-card>a{display:block;min-height:360px}.kep-grid-single .kep-card>a img{height:100%;min-height:360px;max-height:470px;object-position:center 40%}.kep-grid-single .kep-card-body{padding:38px;align-self:center}.kep-grid-single .kep-card-body h2,.kep-grid-single .kep-card-body h3{font-size:34px}.kep-grid-single .kep-card-body p{max-width:440px}@media(max-width:760px){.kep-grid-single .kep-card{grid-template-columns:1fr}.kep-grid-single .kep-card>a{min-height:0}.kep-grid-single .kep-card>a img{height:280px;min-height:0}.kep-grid-single .kep-card-body{padding:26px}.kep-grid-single .kep-card-body h2,.kep-grid-single .kep-card-body h3{font-size:28px}}

/* Brand palette: navy identity, teal depth, gold actions, warm-white reading surfaces. */
:root{--teal:#103444;--gold:#d8b464;--gold-hover:#e5c887}
.kep-brand-logo{width:72px;height:72px;object-fit:contain;flex:0 0 72px;border-radius:50%}.kep-header-inner{min-height:112px}.kep-brand strong{font-size:22px}.kep-brand small{letter-spacing:.13em;font-size:9px}
body.kep-site .kep-button,body.kep-site .kep-enquiry .kep-button,.kep-banner .kep-button{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:600}
body.kep-site .kep-button:hover,body.kep-site .kep-enquiry .kep-button:hover{background:var(--gold-hover);border-color:var(--gold-hover);color:var(--ink)}
body.kep-site .kep-button-light{background:transparent;border-color:var(--ink);color:var(--ink)}
.kep-banner{background:var(--teal);border-top:3px solid var(--gold)}.kep-banner h2{color:var(--paper)}.kep-banner .kep-eyebrow{color:var(--gold)}
.kep-footer{background:var(--teal);color:#ffffff;border-top:3px solid var(--gold);padding-top:48px}.kep-footer .kep-brand strong,.kep-footer .kep-brand small,.kep-footer a{color:#ffffff}.kep-footer p,.kep-footer-bottom{color:#d1dce2}.kep-footer-bottom{border-top-color:#48626e}.kep-footer .kep-brand-logo{width:64px;height:64px;flex-basis:64px}
.kep-contact-panel,.kep-article-next{background:#edf2f4;border-left:3px solid var(--gold)}.kep-project-price{background:#f3eddf;border-left:3px solid var(--gold)}
.kep-header .kep-brand:hover{color:var(--ink)}.kep-hero-art img{background:#e9eff1}.kep-faq summary::marker{color:#795c23}
@media(max-width:1000px){.kep-brand strong{font-size:19px}.kep-brand-logo{width:62px;height:62px;flex-basis:62px}}
@media(max-width:760px){.kep-header-inner{min-height:0}.kep-brand strong{font-size:21px}.kep-brand small{font-size:8px;letter-spacing:.11em}.kep-footer .kep-brand{align-items:center}.kep-footer .kep-brand strong{font-size:19px}}
@media(max-width:360px){.kep-brand strong{font-size:18px}.kep-brand-logo{width:54px;height:54px;flex-basis:54px}.kep-brand{gap:10px}.kep-brand small{font-size:7px}}
