/* Property detail improvements use the site's existing palette and typography. */
.lp-hero { padding:28px 0 56px; }
.lp-back { display:inline-flex; min-height:44px; align-items:center; margin-bottom:18px; color:var(--ink-soft); font:12px var(--sans); text-decoration:none; }
.lp-back:hover { color:var(--navy); }
.lp-hero-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr); gap:clamp(28px,4vw,64px); align-items:start; }
.lp-visual,.lp-summary { min-width:0; }
.lp-hero-layout .lc-frame { aspect-ratio:4/3; }
.lp-title-row { margin:0; display:block; }
.lp-title-row .listing-hood { display:block; margin:0 0 16px; font-size:10px; line-height:1.7; }
.lp-title-row h1 { font-size:clamp(32px,3.5vw,49px); line-height:1.1; margin:0; }
.lp-price-block { text-align:left; margin-top:24px; }
.lp-price { font-size:clamp(28px,2.6vw,36px); line-height:1.15; }
.lp-price-note { margin-top:9px; font-size:11px; letter-spacing:.08em; line-height:1.6; }
.lp-price-label { color:var(--ink-soft); font:11px var(--sans); margin-bottom:8px; }
.lp-facts { display:grid; grid-template-columns:1fr 1fr; gap:20px 14px; margin-top:24px; padding:20px 0; }
.lp-facts strong { font-size:23px; }
.lp-facts em { font-size:10px; line-height:1.5; letter-spacing:.04em; margin-top:6px; }
.lp-property-note { margin:12px 0 0; color:var(--ink-soft); font:12px/1.65 var(--sans); }
.lp-summary-actions { display:grid; gap:10px; margin-top:22px; }
.lp-summary-actions .btn { justify-content:center; min-height:46px; text-align:center; font-size:11px; letter-spacing:.05em; padding:14px 12px; }
.lp-quick-links { display:flex; flex-wrap:wrap; gap:0 20px; margin-top:15px; }
.lp-quick-links a { display:inline-flex; align-items:center; min-height:44px; color:var(--navy); font:12px var(--sans); text-underline-offset:4px; }
.lp-grid { gap:48px 64px; }
.lp-overview { grid-column:1 / -1; display:grid; grid-template-columns:1.45fr 1fr; gap:64px; align-items:start; min-width:0; }
.lp-overview > * { min-width:0; }
.lp-aside { top:24px; }
.lp-aside-contact .btn-primary { color:var(--paper); }
.lp-video { scroll-margin-top:24px; }
.lp-materials { grid-column:1 / -1; min-width:0; padding:32px 0 0; border-top:1px solid var(--rule); scroll-margin-top:24px; }
.lp-materials-title { margin:0 0 24px; color:var(--ink); font:400 clamp(28px,2.8vw,36px)/1.2 var(--serif); letter-spacing:-.005em; }
.lp-material-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.lp-material-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--rule); background:var(--paper); color:var(--ink); text-decoration:none; transition:border-color .2s; }
.lp-material-card:hover { border-color:var(--navy); }
.lp-material-preview { height:230px; overflow:hidden; background:var(--paper-deep); }
.lp-material-preview img { display:block; width:100%; height:100%; object-fit:cover; }
.lp-material-plan .lp-material-preview,
.lp-material-preview.lp-material-plan { background:#fff; }
.lp-material-plan .lp-material-preview img,
.lp-material-preview.lp-material-plan img,
.lp-material-preview img.lp-material-plan { object-fit:contain; background:#fff; padding:18px; box-sizing:border-box; }
.lp-material-copy { display:flex; flex:1; flex-direction:column; padding:24px 26px; }
.lp-material-copy h3 { margin:0 0 10px; color:var(--ink); font:400 26px/1.2 var(--serif); letter-spacing:-.005em; }
.lp-material-copy p { margin:0 0 20px; color:var(--ink-soft); font:14px/1.65 var(--sans); }
.lp-material-link { align-self:flex-start; margin-top:auto; padding-bottom:4px; border-bottom:1px solid var(--navy); color:var(--navy); font:500 12px/1.5 var(--sans); letter-spacing:.04em; }
.lp-mobile-contact { display:none; }
@media(max-width:900px) {
 .lp-overview { grid-template-columns:1fr; gap:32px; }
 .lp-overview .lp-desc { order:1; }
 .lp-overview .lp-aside { order:2; }
}
:where(button,a,select):focus-visible { outline:2px solid var(--navy); outline-offset:4px; }
@media(max-width:1000px) and (min-width:701px) {
 .lp-hero-layout { grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr); gap:28px; }
 .lp-title-row h1 { font-size:34px; }
 .lp-title-row .listing-hood { font-size:9px; }
 .lp-price { font-size:28px; }
}
@media(max-width:700px) {
 .lp-hero { padding:12px 0 32px; }
 .lp-back { margin-bottom:12px; font-size:11px; }
 .lp-hero-layout { grid-template-columns:1fr; gap:0; }
 .lp-summary { display:contents; }
 .lp-title-row { order:0; display:block; margin-bottom:24px; }
 .lp-title-row .listing-hood { font-size:9px; margin-bottom:10px; }
 .lp-title-row h1 { font-size:35px; }
 .lp-price-block { margin-top:16px; }
 .lp-price { font-size:28px; }
 .lp-price-note { font-size:10px; margin-top:6px; }
 .lp-visual { order:1; }
 .lp-facts { order:2; margin-top:24px; gap:20px; }
 .lp-property-note { order:2; }
 .lp-summary-actions { order:3; grid-template-columns:1.25fr 1fr; margin-top:18px; }
 .lp-summary-actions .btn { font-size:10px; padding:12px 8px; }
 .lp-quick-links { order:4; gap:0 22px; margin-top:12px; }
 .lp-grid { gap:32px; }
 .lp-aside { order:1; padding:26px; }
 .lp-desc { order:2; }
 .lp-materials { order:3; }
 .lp-materials-title { margin-bottom:20px; font-size:28px; }
 .lp-material-grid { grid-template-columns:1fr; gap:20px; }
 .lp-material-preview { height:180px; }
 .lp-material-copy { padding:22px; }
 .lp-material-copy h3 { font-size:24px; }
 .lp-grid .lp-video { order:4; }
 body { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
 .lp-mobile-contact { display:grid; grid-template-columns:1fr 1.65fr; gap:10px; position:fixed; bottom:0; left:0; right:0; z-index:100; padding:10px 20px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid var(--rule); background:var(--paper); box-shadow:0 -4px 20px rgba(20,24,31,.05); }
 .lp-mobile-contact .btn { min-height:46px; margin:0; justify-content:center; text-align:center; font-size:10px; letter-spacing:.03em; padding:12px 8px; line-height:1.4; }
 .lp-aside-contact .btn { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .lp-material-card { transition:none; } }
.lp-hero-layout .listing-carousel { margin-top:0; }

@media(min-width:901px) and (max-width:1100px) {
 #primary-nav { gap:18px; }
 #primary-nav > a { font-size:11px; letter-spacing:.12em; }
 #primary-nav .nav-cta { padding-inline:14px; }
}

/* English contact area fills the row when the Chinese-only WeChat control is hidden. */
html:not([lang="zh"]) .lp-summary-actions { grid-template-columns:1fr; }
