/*
Theme Name: Johor Bahru Real Estate Pro
Theme URI: https://johorbahru-realestate.com
Author: Johor Bahru Real Estate
Description: Editorial property theme for Johor projects, industrial assets and land.
Version: 1.2.0
Text Domain: johorbahru-realestate
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&family=Noto+Serif+SC:wght@600;700&display=swap');
:root{--night:#17201d;--forest:#40583a;--forest-dark:#263b2e;--signal:#d75d38;--paper:#f5f4ef;--white:#fff;--ink:#191f1c;--muted:#68706a;--line:#dfe2dc;--max:1240px;--radius:16px;--serif:'Noto Serif SC',serif;--sans:'Noto Sans SC',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(calc(100% - 48px),var(--max));margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{height:74px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:800}.brand b{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--night);color:#fff;font-size:17px}.brand span{line-height:1.25}.brand small{display:block;margin-top:3px;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.08em}.nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.nav a:hover{color:var(--signal)}.nav-cta{padding:10px 17px;border-radius:10px;background:var(--forest);color:#fff!important}.menu-toggle{display:none;background:transparent;border:0;color:var(--night);font-size:24px}
.hero{background:#ecebe6}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;min-height:620px}.hero-copy{padding:78px 7vw 66px 0;align-self:center}.eyebrow{margin:0 0 18px;color:var(--signal);font-size:13px;font-weight:800}.hero h1{font-family:var(--serif);font-size:clamp(46px,5vw,70px);line-height:1.2;letter-spacing:-.045em;margin:0 0 24px}.hero-lead{max-width:560px;margin:0 0 30px;color:#535c56;font-size:17px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 23px;border:1px solid var(--signal);border-radius:10px;background:var(--signal);color:#fff;font:700 14px var(--sans);cursor:pointer;transition:transform .2s,background .2s}.button:hover{background:#b94727;transform:translateY(-1px)}.button:active{transform:translateY(1px)}.button-outline{background:#fff;color:var(--forest);border-color:#9ba69c}.button-outline:hover{background:#eef1ec;color:var(--forest)}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;padding-top:24px;border-top:1px solid #d1d4cf}.trust-row span{color:var(--muted);font-size:11px}.trust-row strong{display:block;color:var(--forest-dark);font-size:13px}.hero-portrait{position:relative;min-height:620px;overflow:hidden}.hero-portrait:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(236,235,230,.18),transparent 24%);z-index:1}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 24%}.agent-card{position:absolute;z-index:2;right:28px;bottom:28px;width:220px;padding:20px;border-radius:14px;background:rgba(38,59,46,.92);color:#fff;box-shadow:0 18px 40px rgba(38,59,46,.2)}.agent-card strong,.agent-card span,.agent-card a{display:block}.agent-card strong{font-size:20px}.agent-card span,.agent-card a{margin-top:2px;color:#e1e8df;font-size:12px}.agent-card a:hover{color:#fff}
.section{padding:84px 0}.section-tight{padding:30px 0}.section-white{background:#fff}.pathway-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px}.pathway{position:relative;min-height:190px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:transform .2s,border-color .2s}.pathway:hover{transform:translateY(-3px);border-color:#aab4aa}.pathway-main{background:#e7ebe2}.pathway-kicker{color:var(--signal);font-size:12px;font-weight:800}.pathway h2{font-size:22px;margin:20px 0 6px}.pathway p{max-width:31ch;margin:0 0 18px;color:var(--muted);font-size:13px}.pathway strong{color:var(--signal);font-size:13px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:32px;gap:24px}.section-head h2{font-family:var(--serif);font-size:34px;line-height:1.25;margin:0}.section-head p{margin:7px 0 0;color:var(--muted)}.text-link{font-weight:700;color:var(--forest)}
.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.project-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:transform .2s}.project-card:hover{transform:translateY(-3px)}.project-cover{overflow:hidden;background:#d8ddda}.project-image{aspect-ratio:4/3;object-fit:cover;width:100%;background:#d8ddda;transition:transform .35s}.project-card:hover .project-image{transform:scale(1.025)}.project-placeholder{display:grid;place-items:center;color:var(--muted);font-size:12px}.project-body{padding:20px}.card-labels{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.card-labels span,.tag{display:inline-block;padding:3px 8px;border-radius:6px;background:#edf1ea;color:var(--forest);font-size:10px;font-weight:800}.project-card h3{font-size:17px;line-height:1.4;margin:0 0 7px}.location{font-size:12px;color:var(--muted)}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border-top:1px solid var(--line);margin-top:16px;padding-top:14px;font-size:11px;color:var(--muted)}.facts:empty{display:none}.facts strong{display:block;color:var(--ink);font-size:13px}.price{color:var(--forest);font-size:16px;font-weight:800;margin-top:14px}.empty{padding:44px;border:1px dashed #b9c0b9;border-radius:var(--radius);color:var(--muted);display:flex;flex-direction:column;gap:8px}.empty-wide{grid-column:1/-1}.empty strong{color:var(--ink);font-size:18px}
.owner-band{background:var(--forest-dark);color:#fff;padding:64px 0}.owner-inner{display:flex;align-items:center;justify-content:space-between;gap:36px}.owner-band h2{font-family:var(--serif);font-size:36px;margin:0 0 8px}.owner-band p{margin:0;color:#cbd5cc}.owner-band .eyebrow{color:#f18a69;margin-bottom:12px}
.insight-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:22px}.article-card{overflow:hidden;border-radius:var(--radius);background:#fff;border:1px solid var(--line)}.article-card img{aspect-ratio:16/9;object-fit:cover;width:100%}.article-card a{display:block;padding-bottom:22px}.article-card time,.article-card h3,.article-card p,.article-card strong{display:block;margin-left:22px;margin-right:22px}.article-card time{margin-top:18px;font-size:11px;color:var(--signal)}.article-card h3{font-family:var(--serif);font-size:19px;line-height:1.45;margin-top:7px;margin-bottom:8px}.article-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:var(--muted);font-size:13px}.article-card strong{color:var(--forest);font-size:12px}
.enquiry{background:#e8ebe5}.enquiry-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:58px;align-items:start}.enquiry h2{font-family:var(--serif);font-size:40px;line-height:1.35;margin:0 0 14px}.enquiry-intro>p:not(.eyebrow){color:var(--muted)}.contact-card{display:flex;flex-direction:column;margin-top:28px;padding:22px;border-left:4px solid var(--signal);background:#fff;border-radius:0 var(--radius) var(--radius) 0}.contact-card strong{font-size:20px}.contact-card span,.contact-card a{color:var(--muted);font-size:13px}.enquiry-form{background:#fff;padding:30px;border-radius:var(--radius);display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px}.field-full{grid-column:1/-1}.field label{font-size:12px;font-weight:700}.field input,.field select,.field textarea{width:100%;padding:13px;border:1px solid #cfd5ce;border-radius:8px;background:#fff;color:var(--ink);font:14px var(--sans)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #768a72;outline-offset:1px}.field textarea{min-height:110px;resize:vertical}.success{padding:14px;background:#fff;border-radius:10px;color:var(--forest)!important}
.site-footer{background:var(--night);color:#fff;padding:58px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px}.footer-title{font-weight:800;font-size:23px}.footer-grid p,.footer-grid a{color:#b4beb8;font-size:13px}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:22px;color:#89938d;font-size:11px}.page-hero{padding:90px 0 60px;background:var(--night);color:#fff}.page-hero h1{font-family:var(--serif);font-size:52px;margin:0}.content-area{padding:70px 0}.content-area article{max-width:820px}.entry-content{font-size:17px}.entry-content h2,.entry-content h3{font-family:var(--serif)}
.property-detail{background:var(--paper)}.property-heading{padding:56px 0 34px;background:#fff}.property-heading-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:50px}.property-heading h1{max-width:820px;margin:10px 0 9px;font-family:var(--serif);font-size:clamp(34px,4.5vw,58px);line-height:1.2;letter-spacing:-.035em}.property-labels,.card-labels{display:flex;gap:7px}.property-labels span{padding:5px 10px;border-radius:7px;background:#edf1ea;color:var(--forest);font-size:11px;font-weight:800}.property-location{margin:0;color:var(--muted)}.property-price{text-align:right}.property-price small,.property-price span{display:block;color:var(--muted);font-size:11px}.property-price strong{display:block;color:var(--forest-dark);font-size:clamp(24px,3vw,38px);line-height:1.25}.property-media{padding-top:28px}.property-slider{position:relative;overflow:hidden;border-radius:var(--radius);background:#d9ddd8;outline:none}.property-track{display:flex;transition:transform .45s cubic-bezier(.2,.7,.2,1)}.property-slide{min-width:100%;margin:0;aspect-ratio:16/9}.property-slide img{width:100%;height:100%;object-fit:cover}.slider-button{position:absolute;top:50%;width:46px;height:46px;border:0;border-radius:50%;background:rgba(23,32,29,.82);color:#fff;font-size:30px;line-height:1;cursor:pointer;transform:translateY(-50%)}.slider-button:hover{background:var(--forest-dark)}.slider-prev{left:18px}.slider-next{right:18px}.slider-counter{position:absolute;right:18px;bottom:18px;padding:6px 11px;border-radius:7px;background:rgba(23,32,29,.82);color:#fff;font-size:12px}.property-media-empty{display:grid;place-items:center;min-height:360px;border-radius:var(--radius);background:#d9ddd8;color:var(--muted)}.property-content{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:54px;padding-top:54px;padding-bottom:86px}.property-section{margin-bottom:52px}.property-section h2{margin:0 0 22px;font-family:var(--serif);font-size:30px}.spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.spec-item{min-height:104px;padding:18px;border-radius:12px;background:#fff;border:1px solid var(--line)}.spec-item span{display:block;color:var(--muted);font-size:11px}.spec-item strong{display:block;margin-top:7px;color:var(--ink);font-size:15px;line-height:1.4}.property-description .wp-block-gallery{display:none}.property-contact{position:sticky;top:100px;align-self:start;padding:26px;border-radius:var(--radius);background:var(--forest-dark);color:#fff}.property-contact p{margin:0 0 3px;color:#ced8d0;font-size:12px}.property-contact h2{margin:0;font-size:24px}.property-contact>span{display:block;color:#ced8d0;font-size:12px}.property-contact .button{width:100%;margin:22px 0 14px}.contact-phone{display:block;text-align:center;font-weight:700}.property-contact small{display:block;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15);color:#aebbb1;font-size:10px;line-height:1.5}
@media(max-width:980px){.nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;padding:24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-toggle{display:block}.hero-grid{grid-template-columns:1fr 1fr}.hero-copy{padding-right:38px}.trust-row{grid-template-columns:1fr}.hero-portrait{min-height:590px}.project-grid{grid-template-columns:1fr 1fr}.pathway-grid,.insight-grid{grid-template-columns:1fr 1fr}.pathway-main{grid-row:span 2}.enquiry-grid{grid-template-columns:1fr}.owner-inner{align-items:flex-start;flex-direction:column}.property-content{grid-template-columns:1fr}.property-contact{position:static}.spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.wrap{width:min(calc(100% - 30px),var(--max))}.header-inner{height:66px}.brand small{display:none}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:56px 0 42px}.hero h1{font-size:42px}.hero-lead{font-size:15px}.hero-actions{display:grid}.button{width:100%}.trust-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:32px}.trust-row span{font-size:10px}.trust-row strong{font-size:11px}.hero-portrait{min-height:500px;margin:0 -15px}.agent-card{right:18px;bottom:18px;width:205px}.section{padding:62px 0}.pathway-grid,.project-grid,.insight-grid,.footer-grid{grid-template-columns:1fr}.pathway-main{grid-row:auto}.section-head{align-items:flex-start;flex-direction:column}.owner-band{padding:52px 0}.owner-band h2{font-size:30px}.enquiry-grid{gap:28px}.enquiry h2{font-size:34px}.enquiry-form{grid-template-columns:1fr;padding:22px}.field-full{grid-column:auto}.page-hero h1{font-size:40px}.property-heading{padding:38px 0 24px}.property-heading-grid{grid-template-columns:1fr;gap:18px}.property-price{text-align:left}.property-media{width:100%;padding-top:0}.property-slider{border-radius:0}.property-slide{aspect-ratio:4/3}.slider-button{width:40px;height:40px}.property-content{gap:28px;padding-top:38px;padding-bottom:58px}.spec-grid{grid-template-columns:1fr 1fr}.spec-item{min-height:90px;padding:14px}.property-section h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.pathway,.project-card,.project-image,.property-track{transition:none}}
