/* Site-wide light (white) theme. Loaded after site.css. Colours only: no layout, URL or content changes. */
:root { --ink: #14202E; --gold-txt: #86692A; --line: rgba(20,32,46,0.12); --alt: #F7F5F0; }
body { background: #fff; }
/* header */
header.site.scrolled { background: rgba(255,255,255,0.96); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); box-shadow: 0 6px 24px rgba(20,32,46,0.06); }
.wordmark { color: #0B1B2B; }
.wordmark span { color: var(--gold-txt); }
nav.primary a { color: rgba(20,32,46,0.75); }
nav.primary a:hover { color: #0B1B2B; }
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after { background: #0B1B2B; }
.btn.gold { color: #0B1B2B; }
.btn.ghost { color: #0B1B2B; border-color: rgba(134,105,42,0.55); }
.btn.ghost:hover { background: rgba(201,169,97,0.14); }
/* hero */
.hero { background: linear-gradient(180deg,#fff 0%,#F7F5F0 100%); color: #0B1B2B; }
.hero-bg-overlay { background: linear-gradient(90deg, #fff 0%, #fff 32%, rgba(255,255,255,0.93) 46%, rgba(255,255,255,0.55) 68%, rgba(255,255,255,0.15) 100%); }
h1.hero-headline em { color: var(--gold-txt); }
.hero-sub { color: rgba(20,32,46,0.72); }
.hero-portrait { border-color: rgba(134,105,42,0.4); box-shadow: 0 30px 60px rgba(20,32,46,0.18); }
.hero-portrait-caption { color: #fff; }
.scroll-cue { color: rgba(20,32,46,0.5); }
.eyebrow.on-dark { color: var(--gold-txt); }
/* strip */
.strip { background: var(--alt); color: #0B1B2B; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.strip-item { border-left-color: var(--line); }
.strip-figure { color: var(--gold-txt); }
.strip-label { color: rgba(20,32,46,0.62); }
/* listings */
.collection-section { background: #fff; color: #14202E; }
.collection-section .block-note, .youtube-section .block-note, .enquiry-section .block-note { color: rgba(20,32,46,0.6); }
.properties-banner-overlay { background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.35) 50%, #fff 96%); }
.properties-banner-content, .properties-banner-content h2 { color: #0B1B2B; }
.search-bar input, .sort-select { background: #fff; border-color: var(--line); color: #14202E; }
.search-bar input::placeholder { color: rgba(20,32,46,0.45); }
.search-bar .search-clear { color: rgba(20,32,46,0.5); }
.filter-bar { border-bottom-color: var(--line); }
.filter-chip { border-color: var(--line); color: rgba(20,32,46,0.7); background: #fff; }
.filter-chip:hover { border-color: var(--gold-txt); color: #0B1B2B; }
.filter-chip.active { color: #0B1B2B; }
.listing-card { background: #fff; border: 1px solid var(--line); box-shadow: 0 2px 10px rgba(20,32,46,0.05); }
.listing-card:hover { border-color: rgba(134,105,42,0.5); box-shadow: 0 24px 48px rgba(20,32,46,0.14); }
.listing-card.featured { box-shadow: 0 0 0 1px var(--gold), 0 12px 32px rgba(201,169,97,0.22); }
.listing-badge, .area-count, .youtube-badge { background: rgba(255,255,255,0.94); color: var(--gold-txt); border-color: rgba(134,105,42,0.6); }
.listing-badge.featured-badge { background: var(--gold); color: #0B1B2B; }
.listing-location { color: var(--gold-txt); }
.listing-price { color: var(--gold-txt); font-weight: 500; }
.listing-specs { color: rgba(20,32,46,0.6); }
.listing-note { color: rgba(20,32,46,0.75); }
.listing-developer { color: rgba(20,32,46,0.6); }
.listing-empty { color: rgba(20,32,46,0.55); }
/* trust / journal */
.trust-section { background: var(--alt); }
.journal-section { background: #fff; }
/* youtube */
.youtube-section { background: var(--alt); color: #14202E; }
.youtube-card { background: #fff; border-color: var(--line); box-shadow: 0 10px 30px rgba(20,32,46,0.07); }
.youtube-card-body .channel-desc { color: rgba(20,32,46,0.7); }
/* enquiry */
.enquiry-section { background: var(--alt); color: #14202E; }
.form-field label { color: var(--gold-txt); }
.form-field input, .form-field select, .form-field textarea { background: #fff; border-color: var(--line); color: #14202E; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--gold-txt); }
/* footer */
footer.site { background: #0B1B2B; }
header.site { background: rgba(255,255,255,0.94); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.hero { padding-top: 150px; }

/* v4: photo hero stays dark-text-on-photo, clear background; rest of page white */
body:has(section.hero) header.site:not(.scrolled) { background: linear-gradient(180deg, rgba(8,20,32,0.55) 0%, rgba(8,20,32,0) 100%); backdrop-filter: none; border-bottom-color: transparent; }
body:has(section.hero) header.site:not(.scrolled) .wordmark { color: #F6F3EC; }
body:has(section.hero) header.site:not(.scrolled) .wordmark span { color: var(--gold); }
body:has(section.hero) header.site:not(.scrolled) nav.primary a { color: rgba(246,243,236,0.85); }
body:has(section.hero) header.site:not(.scrolled) nav.primary a:hover { color: #fff; }
body:has(section.hero) header.site:not(.scrolled) .menu-toggle span, body:has(section.hero) header.site:not(.scrolled) .menu-toggle span::before, body:has(section.hero) header.site:not(.scrolled) .menu-toggle span::after { background: #F6F3EC; }
header.site.scrolled { background: rgba(255,255,255,0.96); }
.hero { background: #0B1B2B; color: #F6F3EC; }
.hero-bg img { content: url(hero-klcc-sunset.webp); object-position: center center; transform: none; animation: none; }
.hero-bg-overlay { background: linear-gradient(90deg, rgba(8,20,32,0.82) 0%, rgba(8,20,32,0.6) 32%, rgba(8,20,32,0.15) 62%, rgba(8,20,32,0) 100%); }
h1.hero-headline em { color: var(--gold-bright); }
.hero-sub { color: rgba(246,243,236,0.9); }
.hero .eyebrow.on-dark { color: var(--gold-bright); }
.hero .btn.ghost { color: #F6F3EC; border-color: rgba(228,199,132,0.7); }
.hero .btn.ghost:hover { background: rgba(228,199,132,0.16); }
.hero-portrait { border-color: rgba(228,199,132,0.55); box-shadow: 0 30px 60px rgba(4,10,18,0.4); }
.scroll-cue { color: rgba(246,243,236,0.8); }
@media (max-width: 900px) {
  .hero-bg-overlay { background: linear-gradient(180deg, rgba(8,20,32,0.7) 0%, rgba(8,20,32,0.55) 100%); }
}
/* v5: grade the photo navy/gold to match the portrait, solid scrim behind the text */
.hero-bg img { filter: saturate(0.55) contrast(1.05) brightness(0.95); }
.hero-bg::after { content: ''; position: absolute; inset: 0; background: #0B1B2B; mix-blend-mode: soft-light; opacity: 0.85; z-index: 1; pointer-events: none; }
.hero-bg-overlay { z-index: 2; background: linear-gradient(90deg, rgba(8,20,32,0.96) 0%, rgba(8,20,32,0.92) 34%, rgba(8,20,32,0.6) 52%, rgba(8,20,32,0.2) 75%, rgba(8,20,32,0.1) 100%); }
.hero-sub { color: #F6F3EC; font-size: 17px; }
h1.hero-headline { text-shadow: 0 2px 24px rgba(4,10,18,0.5); }
@media (max-width: 900px) {
  .hero-bg-overlay { background: linear-gradient(180deg, rgba(8,20,32,0.9) 0%, rgba(8,20,32,0.85) 100%); }
}
/* v6: KLCC sits in the gap between the text and the portrait */
@media (min-width: 901px) {
  .hero-grid { grid-template-columns: 440px 340px; justify-content: space-between; gap: 0; }
  h1.hero-headline { font-size: clamp(32px, 3.5vw, 48px); }
  .hero-bg img { position: absolute; top: 0; height: 100%; width: auto; max-width: none; min-width: 100%; aspect-ratio: 1702 / 924; left: calc(50% + 40px); transform: translateX(-57.5%); object-fit: cover; }
  .hero-bg-overlay { background: linear-gradient(90deg, rgba(8,20,32,0.95) 0%, rgba(8,20,32,0.88) 30%, rgba(8,20,32,0.25) 42%, rgba(8,20,32,0) 52%, rgba(8,20,32,0.1) 70%, rgba(8,20,32,0.55) 100%); }
}
/* "Find the project" banner: make the words clear */
.properties-banner-overlay { background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 22%, rgba(255,255,255,0.9) 58%, #fff 82%); }
.properties-banner-content .eyebrow { color: var(--gold-txt); }
.properties-banner-content h2 { color: #0B1B2B; }
.properties-banner-content .block-note { color: rgba(20,32,46,0.8); }
@media (min-width: 901px) { .hero-sub { max-width: 400px; } .hero-content { max-width: 440px; } }

/* ---------- Inner pages (project, area, developer, insight) ---------- */
.project-hero { background: #fff; color: #14202E; }
.project-hero-head h1 { color: #0B1B2B; }
.project-hero-head .location-line { color: rgba(20,32,46,0.72); }
.article-meta-line { color: rgba(20,32,46,0.6); }
.breadcrumb { color: rgba(20,32,46,0.55); }
.breadcrumb a { color: rgba(20,32,46,0.8); }
.breadcrumb a:hover { color: var(--gold-txt); }
.project-fact-strip { background: var(--alt); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.fact-item { border-left-color: var(--line); }
.fact-label { color: var(--gold-txt); }
.fact-value { color: #0B1B2B; }
.enquiry-card { box-shadow: 0 24px 50px rgba(11,27,43,0.18); }
.gallery-main, .photo-grid figure { background: var(--alt); }
.gallery-thumb { opacity: 0.6; }
.gallery-thumb.active { border-color: var(--gold-txt); }
.fp-toggle-btn.active { color: #fff; }
.related-link-card .arrow { color: var(--gold-txt); }
.journal-card:hover .journal-title { color: var(--gold-txt); }
.area-card .area-link, .trust-title, .quote-attr, .journal-cat, .floorplan-card .fp-meta { color: var(--gold-txt); }
.credentials strong { color: var(--gold-txt); }
/* mobile menu overlay */
@media (max-width: 860px) {
  nav.primary { background: #fff; }
  nav.primary a { color: #0B1B2B; }
  body:has(section.hero) header.site:not(.scrolled) .menu-toggle.open span::before,
  body:has(section.hero) header.site:not(.scrolled) .menu-toggle.open span::after { background: #0B1B2B; }
}
/* footer stays navy */
footer.site .wordmark { color: #F6F3EC; }
footer.site .wordmark span { color: var(--gold); }
/* ghost buttons sitting on navy (footer, enquiry card) */
footer.site .btn.ghost, .enquiry-card .btn.ghost { color: #F6F3EC; border-color: rgba(201,169,97,0.5); }

/* ---------- Readability pass: every small text at 4.5:1 or better ---------- */
:root { --gold-dim: #74592A; --gold-txt: #7A6027; }
.breadcrumb { color: rgba(20,32,46,0.75); }
.listing-developer, .listing-specs, .listing-specs span { color: rgba(20,32,46,0.72); }
.listing-note { color: rgba(20,32,46,0.82); }
.journal-date { opacity: 1; color: rgba(20,32,46,0.7); }
.about-bio p, .credentials li, .area-card .area-desc, .project-copy p, .project-copy ul li, .faq-item p { opacity: 1; color: rgba(20,32,46,0.86); }
.block-note { color: rgba(20,32,46,0.72); }
.strip-label { color: rgba(20,32,46,0.75); }
footer.site { color: rgba(246,243,236,0.85); }
.footer-lede { color: rgba(246,243,236,0.75); }
.footer-col a, .footer-col p { color: rgba(246,243,236,0.82); }
.footer-enquiry-link { color: rgba(246,243,236,0.78); }
.footer-bottom { color: rgba(246,243,236,0.68); }
.enquiry-card p { color: rgba(246,243,236,0.85); }
.enquiry-facts div { color: rgba(246,243,236,0.85); }
.wechat-hint { color: rgba(28,30,34,0.72); }
.collection-section .block-note, .youtube-section .block-note, .enquiry-section .block-note { color: rgba(20,32,46,0.78); }
.gallery-nav { background: rgba(11,27,43,0.78); border-color: rgba(246,243,236,0.7); color: #fff; }
.gallery-counter { background: rgba(11,27,43,0.82); color: #fff; }
.article-meta-line { color: rgba(20,32,46,0.75); }
/* inline small print that used a faded opacity */
p[style*="opacity"]:not(.enquiry-card *):not(footer *), figcaption[style*="opacity"] { opacity: 1 !important; color: rgba(20,32,46,0.76); }
.fp-toggle-btn { opacity: 0.85; }
