/* Open layout: recommendations live above the map, never over its pins. */
body {--header-h:72px;--location-h:56px;--featured-h:172px;}
.header {height:var(--header-h);padding:0 28px;}
.location-bar {height:var(--location-h);padding:0 28px;}
.featured-section {height:var(--featured-h);padding:13px 28px 17px;background:#f4f6ef;border-top:1px solid #e6ebdf;border-bottom:1px solid #e0e7d8;}
.featured-section-heading {display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:10px;}
.featured-section-heading>div {display:flex;align-items:center;gap:11px;}
.featured-section-heading span {font-size:8px;letter-spacing:1.7px;color:#8c957f;}
.featured-section-heading h2 {font-size:14px;font-weight:650;}
.featured-section-heading>p {font-size:11px;color:#85917d;margin-left:auto;}
.featured-section-heading .text-button {font-size:11px;margin-left:auto;}
#toggleFeatured {font-size:10px;color:#839177;white-space:nowrap;padding:4px 0 4px 8px;}
body.featured-collapsed {--featured-h:46px;}
body.featured-collapsed .featured-section {height:46px;padding-top:12px;padding-bottom:10px;}
body.featured-collapsed .featured-section-heading {margin-bottom:0;}
body.featured-collapsed .featured-projects {display:none;}
.featured-projects {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.featured-card {height:112px;width:100%;position:relative;display:block;border-radius:12px;overflow:hidden;text-align:left;color:white;border:1px solid #d5dfd0;box-shadow:0 3px 10px #30462a08;}
.featured-cover {width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.featured-shade {position:absolute;inset:0;background:linear-gradient(90deg,#102f2bdd,#163c2d93 65%,#163c2d1c);}
.featured-order {position:absolute;top:10px;left:14px;z-index:1;font-size:8px;letter-spacing:1.1px;font-weight:650;}
.featured-copy {position:absolute;left:14px;right:14px;bottom:13px;display:flex;gap:10px;align-items:center;}
.featured-copy>span {min-width:0;flex:1;}
.featured-copy small {font-size:9px;display:block;opacity:.8;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.featured-copy strong {font-size:17px;font-weight:650;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.featured-copy em {font-size:11px;font-style:normal;display:block;margin-top:6px;opacity:.85;}
.featured-copy>svg {width:18px;flex-shrink:0;}
.project-logo {display:block;object-fit:contain;width:54px;height:54px;flex-shrink:0;background:#fffefb;border:1px solid #e3e8df;border-radius:11px;padding:6px;}
.project-logo-placeholder {display:grid;place-items:center;color:#5f8269;background:#eff4ec;}
.featured-copy .project-logo {width:43px;height:43px;border-radius:9px;}
.featured-empty {background:#e7eee3;padding:38px 18px 13px;color:#41634d;}
.featured-empty.slot-2 {background:#ecece0;color:#686b4d;}
.featured-empty.slot-3 {background:#e2ebe7;color:#426357;}
.featured-empty>strong {display:block;font-size:18px;font-weight:550;}
.featured-empty>small {display:block;font-size:10px;margin-top:7px;opacity:.65;}
.featured-empty-art {position:absolute;right:24px;bottom:7px;opacity:.14;transform:rotate(-8deg);}
.featured-empty-art svg {width:87px;height:87px;stroke-width:.9;}
.workspace {height:calc(100dvh - var(--header-h) - var(--location-h) - var(--featured-h));grid-template-columns:minmax(330px,28vw) minmax(0,1fr);min-height:360px;}
.sidebar-top {padding:23px 22px 17px;}
.sidebar h1 {font-size:26px;line-height:1.4;}
.sidebar .intro {font-size:11px;line-height:1.8;}
.sidebar .eyebrow {font-size:8px;}
.results-header {padding-left:22px;padding-right:22px;}
.listings {padding-left:20px;padding-right:20px;}
.card-image {height:185px;}
.card-specs {font-size:10px;gap:8px;flex-wrap:wrap;}
.card-content {padding:17px;}
.map-heading {top:21px;left:24px;}
.map-heading h2 {font-size:27px;margin-top:9px;}
.map-legend {left:24px;top:117px;font-size:9px;gap:10px;}
.map-sector-panel {left:24px;top:156px;}
.map-sector-filters {gap:6px;}
.map-sector-filters .sector-button {width:34px;min-width:34px;height:34px;padding:7px;border-radius:9px;gap:0;}
.map-sector-filters .sector-button>svg {width:18px;height:18px;}
.map-sector-filters .sector-button>span {display:none;}
.map-sector-panel>p {font-size:9px;margin-top:6px;}
.map-tools {top:21px;right:20px;}
.map-tools .compass-toggle {min-width:95px;min-height:35px;font-size:10px;}
.map-tools button {width:35px;height:35px;}
.map-tip {bottom:20px;max-width:310px;padding:12px 14px;}
.map-tip strong {font-size:11px;}
.map-tip p {font-size:9px;}
.admin-dialog {width:1180px;max-width:calc(100vw - 44px);}
.admin-dialog .dialog-body {padding:32px 36px;}
.admin-heading h2 {font-size:24px;}
.admin-tabs {gap:22px;overflow:auto;white-space:nowrap;}
.admin-tabs button {font-size:12px;}
.workspace-privacy {margin:18px 0;padding:14px 18px;}
.admin-table td {font-size:12px;padding:17px 14px;}
.admin-table td small {font-size:10px;line-height:1.7;}
.catalog-intro {display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 22px;padding:18px 20px;border:1px solid #dfe7d9;background:#f4f7ef;border-radius:12px;}
.catalog-intro h3 {font-size:17px;margin:0 0 7px;}
.catalog-intro p {color:#73826f;line-height:1.9;font-size:12px;}
.catalog-intro .button {flex-shrink:0;}
.catalog-admin-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.catalog-admin-card {display:flex;gap:15px;padding:21px;border:1px solid #e1e6dd;border-radius:12px;background:#fffefa;}
.catalog-admin-card>div {min-width:0;}
.catalog-admin-card h4 {font-size:16px;margin:4px 0 8px;overflow-wrap:anywhere;}
.catalog-admin-card p,.catalog-admin-card small {font-size:11px;color:#82907c;line-height:1.8;}
.catalog-card-actions {display:flex;gap:16px;margin-top:10px;}
.catalog-card-actions button {font-size:11px;}
.catalog-section-heading {margin:32px 0 15px;}
.catalog-section-heading h3 {font-size:18px;}
.catalog-empty {padding:30px;color:#7a8b73;font-size:13px;}
.catalog-muted {font-size:11px;line-height:1.8;color:#83907b;}
.form-error.upload-success {color:#4c7958;}
.catalog-edit-dialog {width:940px;}
.catalog-form-intro {line-height:1.8;margin:12px 0 24px;font-size:13px;}
.catalog-edit-dialog label small {font-size:10px;font-weight:400;margin-top:5px;color:#8a947f;}
.catalog-upload-section {margin-top:22px;padding:18px;border:1px solid #e1e7db;border-radius:12px;background:#f7f9f3;}
.catalog-upload-heading {display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px;}
.catalog-upload-heading>strong {font-size:13px;}
.catalog-upload-previews {display:flex;gap:10px;flex-wrap:wrap;}
.catalog-upload-thumb {position:relative;width:150px;height:105px;border:1px solid #d8e1d0;border-radius:9px;background:white;overflow:hidden;}
.catalog-upload-thumb img,.catalog-upload-thumb video {width:100%;height:100%;object-fit:cover;}
.catalog-upload-thumb.logo-thumb {width:90px;height:90px;}
.catalog-upload-thumb.logo-thumb img {object-fit:contain;padding:6px;}
.catalog-upload-thumb button {position:absolute;right:4px;top:4px;width:23px;height:23px;border-radius:50%;background:#fffefa;color:#725547;box-shadow:0 1px 5px #0003;}
.catalog-doc-editor {display:flex;gap:10px;align-items:center;width:100%;padding:10px;background:white;border:1px solid #e1e7dc;border-radius:8px;}
.catalog-doc-editor input {margin:0!important;flex:1;min-width:0;font-size:12px;}
.catalog-doc-editor>a {font-size:11px;white-space:nowrap;}
.catalog-doc-editor button {font-size:20px;}
.featured-admin-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.featured-admin-grid label {font-size:13px;}
.featured-admin-grid select {width:100%;margin-bottom:13px;}
.featured-admin-grid .featured-card {height:150px;}
.project-map-pin {position:relative;transform:translate(-50%,-100%);display:flex;align-items:center;flex-direction:column;width:144px;}
.project-map-pin .project-logo {width:64px;height:64px;border:2px solid #ac966d;border-radius:15px;box-shadow:0 4px 16px #173f3038;padding:6px;}
.project-map-pin>strong {margin-top:5px;max-width:144px;border:1px solid #d7d4b9;border-radius:5px;padding:4px 8px;background:#fffef8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#5c5d3f;box-shadow:0 2px 8px #173f3010;}
.project-map-pin.compass-selected .project-logo,.project-map-pin.highlight .project-logo {border-color:#675086;box-shadow:0 0 0 3px #d6c9e8;}
.language-picker {display:flex;align-items:center;gap:5px;margin-left:auto;border:1px solid #dce2d3;border-radius:8px;padding:7px 8px;background:#fffefa;flex-shrink:0;}
.language-picker svg {width:16px;height:16px;}
.language-picker select {border:0;background:transparent;font-size:12px;color:#214f45;cursor:pointer;max-width:80px;outline-offset:4px;}
.header .main-nav {margin-left:auto;}
.header {gap:20px;}
.header .brand-name>b {font-size:27px;letter-spacing:-.8px;}
.nav-link .favorites-icon {display:none;background:none;padding:0;margin:0;}
.nav-link .favorites-label {font:inherit;background:none;padding:0;margin:0;}
.listing-kind-filters {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:16px;}
.listing-kind-button {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 1px;border:1px solid #dfe5d7;border-radius:8px;color:#73816a;background:#fafbf6;min-width:0;}
.listing-kind-button svg {width:19px;height:19px;}
.listing-kind-button span {font-size:11px;font-weight:600;white-space:nowrap;}
.listing-kind-button:hover {background:#eff3e7;}
.listing-kind-button.active {color:#214f45;background:#e9efdf;border-color:#96aa83;box-shadow:inset 0 0 0 1px #96aa8333;}
.listing-kind-button[data-listing-kind="project"].active {background:#f2efdf;border-color:#b0a274;color:#6b603e;}
html[lang="en"] .transaction-tabs button span,html[lang="en"] .sector-button small {display:none;}
html[lang="en"] .listing-kind-button span {font-size:10px;letter-spacing:-.1px;}
html[lang="en"] .sidebar-top h1 {font-size:24px;line-height:1.3;margin:8px 0;}
html[lang="en"] .results-header p {line-height:1.6;}
html[lang="en"] .compass-panel {width:290px;}
@media(min-width:761px) {
  html[lang="zh-Hans"] .sidebar h1 {font-size:clamp(22px,1.85vw,26px);}
}
@media(max-width:760px) {
  .header {gap:9px;}
  .header .brand {font-size:19px;gap:6px;}
  .header .brand-name>b {font-size:21px;}
  .header .brand-mark {width:32px;height:36px;}
  .language-picker {margin-left:0;gap:0;padding:6px 3px;}
  .language-picker svg {display:none;}
  .language-picker select {font-size:10px;max-width:67px;}
  .header .main-nav {gap:0;}
  .header .main-nav .favorites-icon {display:inline-flex;align-items:center;}
  .header .main-nav .favorites-icon svg {width:17px;height:17px;}
  .header .main-nav .favorites-label {display:none;}
  .header .team-button {padding:8px;}
  .header .brand small {font-size:5.5px;letter-spacing:.8px;}
  .project-map-pin .project-logo {width:58px;height:58px;}
  html[lang="en"] .header .brand {font-size:0;gap:5px;letter-spacing:0;}
  html[lang="en"] .header .brand-name>b {font-size:21px;}
  html[lang="en"] .header .brand small {font-size:5.5px;}
}
@media(max-width:360px) {
  .header {padding:0 10px;gap:6px;}
  .header .brand-name>b,html[lang="en"] .header .brand-name>b {font-size:18px;}
  .header .brand-mark {width:28px;height:33px;}
  .header .brand small {letter-spacing:.4px;}
  .header .team-button {padding:7px;}
}
.project-card .card-image {position:relative;}
.project-card .card-image>.project-logo {position:absolute;bottom:12px;left:15px;width:47px;height:47px;}
.project-card-tag {position:absolute;left:14px;top:14px;padding:5px 8px;background:#fffdf1ed;border:1px solid #dbd4b7;border-radius:5px;color:#726b43;font-size:9px;}
.project-developer-name {display:block;color:#8a937b;font-size:10px;margin-bottom:7px;}
.project-card .card-price {font-size:22px;margin-top:12px;}
.project-card-footer {display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e9ece1;margin-top:14px;padding-top:12px;font-size:10px;color:#7c876f;}
.project-card-footer svg {width:13px;height:13px;}
.project-detail-dialog {width:1160px;max-width:calc(100vw - 48px);}
.project-detail-dialog>.dialog-close {z-index:5;background:#fffefaee;}
.project-hero {height:360px;position:relative;background:#e7ede2;}
#projectGallery {height:100%;}
#projectGallery .detail-main-image,#projectGallery .detail-main-video {width:100%;height:100%;object-fit:cover;}
#projectGallery .detail-thumbs {position:absolute;right:26px;bottom:24px;z-index:2;max-width:48%;}
#projectGallery .card-badges,#projectGallery .illustration-label {display:none;}
.project-hero:after {content:'';position:absolute;inset:45% 0 0;background:linear-gradient(0deg,#16362bd9,transparent);pointer-events:none;}
.project-hero-caption {display:flex;gap:20px;align-items:center;position:absolute;left:38px;right:25px;bottom:32px;z-index:1;color:white;pointer-events:none;}
.project-hero-caption>.project-logo {width:74px;height:74px;border-radius:14px;padding:9px;}
.project-hero-caption span {font-size:11px;opacity:.8;}
.project-hero-caption h2 {font-size:32px;letter-spacing:-.6px;margin:8px 0 6px;font-family:Georgia,"Microsoft Yahei",serif;}
.project-hero-caption p {font-size:12px;opacity:.85;}
.project-detail-body {display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:44px;padding:34px 38px 40px;}
.project-story {min-width:0;}
.project-story section {margin:30px 0 0;}
.project-story h3,.developer-detail-dialog h3 {font-size:19px;margin-bottom:17px;}
.project-long-copy {font-size:14px;line-height:2.05;color:#67755e;white-space:pre-line;overflow-wrap:anywhere;}
.project-stat-row {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-bottom:25px;border-bottom:1px solid #e2e8d9;}
.project-stat-row small {display:block;color:#929c86;font-size:10px;margin-bottom:8px;}
.project-stat-row strong {font-size:15px;}
.project-demo-note {font-size:11px;line-height:1.8;background:#f4f0df;color:#a38c56;border-radius:8px;padding:10px 13px;margin-bottom:20px;}
.project-enquiry {align-self:start;border:1px solid #dfe7d8;background:#f5f8f0;border-radius:13px;padding:24px;position:sticky;top:20px;}
.project-enquiry>small {font-size:11px;color:#8d977f;}
.project-enquiry>strong {font-size:27px;display:block;margin:13px 0;}
.project-enquiry>p {font-size:11px;line-height:1.8;color:#8c967f;margin-bottom:20px;}
.project-enquiry .button {margin:12px 0 0;font-size:11px;}
.project-enquiry>.text-button {font-size:11px;margin:20px 0 0;display:block;}
.project-location-line {display:flex;gap:9px;align-items:center;font-size:12px;color:#7a896d;line-height:1.8;}
.project-location-line svg {flex-shrink:0;width:17px;}
.project-highlights {padding-left:20px;margin:0;color:#64785a;font-size:14px;line-height:2.1;}
.brochure-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;}
.brochure-card {display:flex;gap:13px;align-items:center;padding:16px;border:1px solid #dfe7d8;border-radius:10px;background:#f9fbf5;}
.brochure-card>span {flex:1;min-width:0;}
.brochure-card strong {display:block;font-size:12px;overflow-wrap:anywhere;line-height:1.6;}
.brochure-card small {display:block;font-size:9px;color:#9aa28c;margin-top:6px;}
.brochure-card>svg {width:23px;color:#6b8760;flex-shrink:0;}
.brochure-card>b {font-weight:400;color:#8c9d7d;}
.developer-profile-snippet {display:flex;gap:18px;padding:23px;border:1px solid #e1e7d9;border-radius:12px;background:#f7f9f2;}
.developer-profile-snippet>div {min-width:0;}
.developer-profile-snippet h3 {margin:6px 0 12px;}
.developer-profile-snippet p {font-size:12px;color:#8a967c;line-height:1.9;white-space:pre-line;}
.developer-profile-snippet small {font-size:10px;color:#98a28b;}
.developer-profile-snippet .text-button {font-size:11px;margin-top:15px;}
.developer-detail-dialog {width:900px;max-width:calc(100vw - 48px);}
.developer-detail-dialog .dialog-body {padding:38px;}
.developer-profile-header {display:flex;align-items:center;gap:22px;margin-bottom:32px;padding-bottom:26px;border-bottom:1px solid #e1e8d8;}
.developer-profile-header .project-logo {width:86px;height:86px;}
.developer-profile-header h2 {font-size:29px;margin:10px 0;}
.developer-profile-header a {font-size:11px;color:#789069;}
.developer-detail-dialog section {margin-top:28px;}
.developer-project-list {display:grid;gap:12px;}
.developer-project-list button {display:flex;align-items:center;text-align:left;gap:15px;padding:16px;border:1px solid #e0e6d8;border-radius:10px;background:#fbfcf7;}
.developer-project-list button>span {flex:1;}
.developer-project-list strong {font-size:14px;}
.developer-project-list small {display:block;margin-top:7px;font-size:11px;color:#8b977e;}
.project-mobile-price {display:none;}
@media(min-width:761px) and (max-height:760px) {.featured-section {--featured-h:150px;padding-top:10px;padding-bottom:11px;}body {--featured-h:150px;} .featured-card {height:100px;} .featured-copy strong {font-size:15px;} .featured-copy {bottom:11px;} .workspace {min-height:340px;}}
@media(min-width:761px) and (max-height:660px) {body {overflow:auto;} .workspace {min-height:360px;}}
@media(max-width:1100px) and (min-width:761px) {.workspace {grid-template-columns:330px minmax(0,1fr);} .featured-section {padding-left:20px;padding-right:20px;} .featured-projects {gap:12px;} .featured-copy>.project-logo {display:none;} .featured-copy strong {font-size:15px;} .project-detail-body {grid-template-columns:minmax(0,1fr) 260px;gap:24px;padding:28px;} .brochure-grid {grid-template-columns:1fr;}}
@media(max-width:760px) {
  body {--header-h:68px;--location-h:54px;}
  .header {height:68px;padding:0 17px;}
  .location-bar {height:54px;top:68px;padding:0 14px;}
  .featured-section {height:auto;padding:16px 18px 20px;overflow:hidden;}
  .featured-section-heading {margin-bottom:12px;flex-wrap:wrap;}
  .featured-section-heading>div {display:block;}
  .featured-section-heading span {font-size:7px;}
  .featured-section-heading h2 {font-size:17px;margin-top:6px;}
  .featured-section-heading>p {display:none;}
  .featured-projects {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:3px;}
  .featured-projects .featured-card {flex:0 0 84%;height:135px;scroll-snap-align:start;}
  .featured-copy strong {font-size:18px;}
  .featured-section-heading .text-button {font-size:10px;}
  .workspace {height:auto;min-height:0;display:block;}
  .sidebar {min-height:calc(100dvh - 122px);}
  .sidebar-top {padding:23px 20px 18px;}
  .map-panel {height:calc(100dvh - 122px);}
  body.mobile-map .featured-section {display:none;}
  .map-heading {left:18px;top:20px;}
  .map-legend {left:18px;top:114px;}
  .map-sector-panel {left:18px;top:154px;}
  .map-sector-filters .sector-button {width:36px;height:36px;min-width:36px;padding:8px;}
  .sidebar-sector-filters .sector-button {padding:8px 5px;}
  .map-tip {bottom:93px;max-width:calc(100% - 80px);}
  .admin-dialog {max-width:calc(100vw - 16px);}
  .admin-dialog .dialog-body {padding:28px 20px;}
  .admin-heading h2 {font-size:20px;}
  .admin-tabs {gap:19px;}
  .admin-tabs button {font-size:11px;}
  .catalog-intro {display:block;padding:16px;}
  .catalog-intro .button {margin-top:14px;}
  .catalog-intro h3 {font-size:16px;}
  .catalog-admin-grid,.featured-admin-grid {grid-template-columns:1fr;}
  .catalog-admin-card {padding:17px;}
  .catalog-upload-heading {align-items:flex-start;flex-direction:column;}
  .catalog-upload-section {padding:14px;}
  .catalog-doc-editor {gap:7px;padding:8px;}
  .catalog-doc-editor>svg {display:none;}
  .project-detail-dialog,.developer-detail-dialog {max-width:calc(100vw - 16px);}
  .project-hero {height:290px;}
  .project-hero-caption {left:22px;bottom:25px;gap:13px;}
  .project-hero-caption>.project-logo {width:58px;height:58px;}
  .project-hero-caption h2 {font-size:25px;overflow-wrap:anywhere;}
  .project-hero-caption span {font-size:10px;}
  #projectGallery .detail-thumbs {right:15px;top:18px;bottom:auto;max-width:65%;}
  .project-detail-body {display:block;padding:25px 22px;}
  .project-mobile-price {display:block;font-size:28px;font-weight:650;margin-bottom:24px;}
  .project-mobile-price small {font-size:13px;margin-left:6px;}
  .project-stat-row {gap:12px;}
  .project-stat-row strong {font-size:13px;}
  .project-enquiry {position:static;margin-top:30px;padding:22px;}
  .brochure-grid {grid-template-columns:1fr;}
  .project-long-copy {font-size:13px;line-height:2.1;}
  .developer-profile-snippet {padding:17px;gap:14px;}
  .developer-detail-dialog .dialog-body {padding:31px 23px;}
  .developer-profile-header {gap:15px;}
  .developer-profile-header h2 {font-size:24px;}
  .developer-profile-header .project-logo {width:65px;height:65px;}
}
