@import url('https://api.fontshare.com/v2/css?f[]=general-sans@200,300,400,500,600,700&display=swap');

/* ============================================================
   THEME LIGHT — Warm Ivory + Ink, Editorial Minimalism
   Paper: #F7F4EC   Ink: #14110C   Muted: #5A5348   Accent: none
   Typeface: General Sans (Fontshare, single family, 5 weights)
   Opt-in via <body class="theme-light">.
   ============================================================ */

/* 1. Token remap */
body.theme-light {
  --midnight: #F7F4EC;
  --slate: #F7F4EC;
  --slate-light: #F7F4EC;
  --warm-white: #14110C;
  --white: #14110C;
  --silver: #5A5348;
  --charcoal: #14110C;
  --gold: #14110C;
  --gold-light: #14110C;
  --gold-dim: rgba(20,17,12,0.06);
  --overlay: rgba(247,244,236,0.88);
  --font-display: 'General Sans', 'General Sans', Georgia, serif;
  --font-body: 'General Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;

  background: #F7F4EC;
  color: #14110C;
  font-family: 'General Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* 2. Typography overrides */
body.theme-light p,
body.theme-light li,
body.theme-light .t-body,
body.theme-light span { color: #14110C; font-family: 'General Sans', system-ui, sans-serif; }

body.theme-light h1, body.theme-light h2, body.theme-light h3,
body.theme-light h4, body.theme-light h5, body.theme-light h6,
body.theme-light .t-display, body.theme-light .t-hero,
body.theme-light .t-h1, body.theme-light .t-h2, body.theme-light .t-h3 {
  color: #14110C;
  font-family: 'General Sans', Georgia, serif;
  font-weight: 500;
  letter-spacing: -0.01em;
}

body.theme-light .t-label,
body.theme-light .section-header__label .t-label {
  color: #5A5348;
  font-family: 'General Sans', sans-serif;
  letter-spacing: 0.15em;
}

/* 3. NAV - dark chrome on light pages */
body.theme-light .nav {
  background: rgba(20,17,12,0.98);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 1px 0 rgba(247,244,236,0.08);
}
body.theme-light .nav__link { color: rgba(247,244,236,0.85); font-family: 'General Sans', sans-serif; }
body.theme-light .nav__link:hover { color: #F7F4EC; }
body.theme-light .nav__link::after { background: #F7F4EC; }
body.theme-light .nav__cta {
  color: #F7F4EC;
  border-color: rgba(247,244,236,0.40);
  font-family: 'General Sans', sans-serif;
}
body.theme-light .nav__cta:hover { background: #F7F4EC; color: #14110C; }
body.theme-light .nav__hamburger span { background: #F7F4EC; }

/* 4. Sections */
body.theme-light .section--dark { background: #F7F4EC; color: #14110C; }
body.theme-light .section--slate { background: #F7F4EC; color: #14110C; }
body.theme-light .section--light { background: #F7F4EC; color: #14110C; }

/* 5. Buttons - all pure black */
body.theme-light .btn { font-family: 'General Sans', sans-serif; letter-spacing: 0.08em; }
body.theme-light .btn--primary { background: #14110C; color: #F7F4EC; }
body.theme-light .btn--primary:hover {
  background: #14110C;
  color: #F7F4EC;
  box-shadow: 0 8px 24px rgba(20,17,12,0.18);
}
body.theme-light .btn--outline {
  background: transparent; color: #14110C;
  border: 1px solid #14110C;
}
body.theme-light .btn--outline:hover { background: #14110C; color: #F7F4EC; }
body.theme-light .btn--outline-gold {
  background: transparent; color: #14110C;
  border: 1px solid #14110C;
}
body.theme-light .btn--outline-gold:hover { background: #14110C; color: #F7F4EC; }

/* 6. Cards */
body.theme-light .property-card,
body.theme-light .service-card,
body.theme-light .neighborhood-card {
  background: #F7F4EC;
  border: 1px solid rgba(20,17,12,0.12);
}
body.theme-light .property-card:hover { box-shadow: 0 24px 60px rgba(20,17,12,0.10); }
body.theme-light .property-card__price,
body.theme-light .property-card__address { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .property-card__location { color: #5A5348; }
body.theme-light .property-card__details { border-top-color: rgba(20,17,12,0.12); }
body.theme-light .property-card__detail { color: #5A5348; }
body.theme-light .property-card__detail svg { fill: #14110C; opacity: 0.85; }
body.theme-light .property-card__badge { background: #14110C; color: #F7F4EC; }
body.theme-light .property-card__image-placeholder {
  color: #5A5348;
  border: 1px dashed rgba(20,17,12,0.18);
}

/* 7. Stats */
body.theme-light .stats {
  background: #F7F4EC;
  border-top-color: rgba(20,17,12,0.12);
  border-bottom-color: rgba(20,17,12,0.12);
}
body.theme-light .stats__grid { background: rgba(20,17,12,0.12); }
body.theme-light .stats__item { background: #F7F4EC; }
body.theme-light .stats__number { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .stats__label { color: #5A5348; }

/* 8. Services */
body.theme-light .services__grid { background: rgba(20,17,12,0.12); }
body.theme-light .service-card { background: #F7F4EC; }
body.theme-light .service-card:hover { background: #F7F4EC; }
body.theme-light .service-card__number { color: rgba(20,17,12,0.10); font-family: 'General Sans', serif; }
body.theme-light .service-card__title { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .service-card__body { color: #5A5348; }
body.theme-light .service-card__link { color: #14110C; }
body.theme-light .service-card__icon svg { stroke: #14110C; }

/* 9. Section headers */
body.theme-light .section-header__label-line { background: #14110C; }
body.theme-light .section-header__body { color: #5A5348; }

/* 10. Forms */
body.theme-light .form-group label { color: #5A5348; font-family: 'General Sans', sans-serif; }
body.theme-light .form-group input,
body.theme-light .form-group select,
body.theme-light .form-group textarea {
  background: #F7F4EC;
  border: 1px solid rgba(20,17,12,0.18);
  color: #14110C;
  font-family: 'General Sans', sans-serif;
}
body.theme-light .form-group input::placeholder,
body.theme-light .form-group textarea::placeholder { color: #5A5348; }
body.theme-light .form-group input:focus,
body.theme-light .form-group select:focus,
body.theme-light .form-group textarea:focus {
  border-color: #14110C;
  background: #F7F4EC;
}

/* 11. CTA banner */
body.theme-light .cta-banner { background: #F7F4EC; }
body.theme-light .cta-banner::before { background: transparent; }
body.theme-light .cta-banner__title { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .cta-banner__title em { color: #14110C; font-style: italic; }
body.theme-light .cta-banner__sub { color: #5A5348; }
body.theme-light .cta-banner__line-accent {
  background: linear-gradient(to bottom, transparent, #14110C, transparent);
}

/* 12. Page header */
body.theme-light .page-header { background: #F7F4EC; }
body.theme-light .page-header::before { background: transparent; }
body.theme-light .page-header__title { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .page-header__sub { color: #5A5348; }

/* 13. Press bar */
body.theme-light .press-bar {
  border-top-color: rgba(20,17,12,0.12);
  border-bottom-color: rgba(20,17,12,0.12);
}
body.theme-light .press-bar__label { color: #5A5348; }
body.theme-light .press-bar__logo { color: #5A5348; font-family: 'General Sans', serif; }
body.theme-light .press-bar__logo:hover { color: #14110C; }

/* 14. About credentials */
body.theme-light .about__credentials { border-top-color: rgba(20,17,12,0.12); }
body.theme-light .about__credential-item strong { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .about__credential-item span { color: #5A5348; }

/* ============================================================
   15. INLINE <style> BLOCK OVERRIDES - BLOG TEMPLATE
   Higher specificity (body.theme-light X = 0-2-1) beats the
   per-page inline rules (X = 0-1-0) regardless of document order.
   ============================================================ */

body.theme-light .article-hero { background: #F7F4EC; color: #14110C; }
body.theme-light .article-title { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .article-meta__tag { color: #14110C; background: #F7F4EC; }
body.theme-light .article-meta__date,
body.theme-light .article-meta__read { color: #5A5348; }
body.theme-light .article-body { color: #14110C; font-family: 'General Sans', sans-serif; }
body.theme-light .article-body h2,
body.theme-light .article-body h3,
body.theme-light .article-body h4 { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .article-body p,
body.theme-light .article-body li { color: #14110C; font-family: 'General Sans', sans-serif; }
body.theme-light .article-body strong { color: #14110C; }
body.theme-light .article-body blockquote {
  border-left: 3px solid #14110C;
  background: #F7F4EC;
}
body.theme-light .article-body blockquote p {
  color: #14110C;
  font-style: italic;
  font-family: 'General Sans', serif;
}
body.theme-light .article-body blockquote footer,
body.theme-light .article-body blockquote cite { color: #5A5348; font-family: 'General Sans', sans-serif; }
body.theme-light .article-body a {
  color: #14110C;
  text-decoration: underline;
  text-decoration-color: rgba(20,17,12,0.18);
  text-underline-offset: 3px;
}
body.theme-light .article-body a:hover { color: #14110C; text-decoration-color: #14110C; }

/* Article tables — !important beats inline style="color:#e0e0e0" on td/th elements */
body.theme-light .article-body table { color: #14110C !important; }
body.theme-light .article-body td {
  border: 1px solid rgba(20,17,12,0.12) !important;
  color: #14110C !important;
  background: transparent !important;
}
body.theme-light .article-body th {
  background: rgba(20,17,12,0.05) !important;
  color: #14110C !important;
  border: 1px solid rgba(20,17,12,0.18) !important;
  font-family: 'General Sans', sans-serif;
}
body.theme-light .article-body tr { border-bottom-color: rgba(20,17,12,0.12) !important; }
body.theme-light .article-body tr:nth-child(even) { background: rgba(20,17,12,0.03) !important; }

/* Stat highlight */
body.theme-light .stat-highlight { background: #F7F4EC; border: 1px solid rgba(20,17,12,0.12); }
body.theme-light .stat-highlight__number { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .stat-highlight__label { color: #5A5348; }

/* Author card */
body.theme-light .article-author { background: #F7F4EC; border: 1px solid rgba(20,17,12,0.12); }
body.theme-light .article-author__avatar { border: 2px solid rgba(20,17,12,0.18); }
body.theme-light .article-author__name { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .article-author__role { color: #5A5348; }

/* Article CTA */
body.theme-light .article-cta { border-top: 1px solid rgba(20,17,12,0.12); }
body.theme-light .article-cta__title,
body.theme-light .article-cta h2 { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .article-cta__text,
body.theme-light .article-cta p { color: #5A5348; }
body.theme-light .article-cta__btn,
body.theme-light .article-cta a,
body.theme-light .article-cta a.btn-primary {
  background: #14110C;
  color: #F7F4EC;
}
body.theme-light .article-cta__btn:hover,
body.theme-light .article-cta a:hover,
body.theme-light .article-cta a.btn-primary:hover {
  background: #14110C;
  color: #F7F4EC;
}

/* Checklist */
body.theme-light .checklist { background: #F7F4EC; border: 1px solid rgba(20,17,12,0.12); }
body.theme-light .checklist h3 { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .checklist li { color: #14110C; }
body.theme-light .checklist li::before { color: #14110C; }

/* SEO / LLM retrofit blocks */
body.theme-light .answer-block {
  background: #F7F4EC;
  border-left: 3px solid #14110C;
  color: #14110C;
}
body.theme-light .answer-block p { color: #14110C; }
body.theme-light .answer-block strong { color: #14110C; }

body.theme-light .pull-quote {
  border-left: 3px solid #14110C;
  background: #F7F4EC;
  color: #14110C;
  font-family: 'General Sans', serif;
}
body.theme-light .pull-quote__attribution { color: #5A5348; font-family: 'General Sans', sans-serif; }

body.theme-light .faq-block { border-top: 1px solid rgba(20,17,12,0.12); }
body.theme-light .faq-block__title { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .faq-item { border-bottom: 1px solid rgba(20,17,12,0.12); }
body.theme-light .faq-item__q,
body.theme-light .faq-item h3 { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .faq-item__a { color: #14110C; }
body.theme-light .citation { color: #14110C; border-bottom: 1px dotted rgba(20,17,12,0.18); }

/* ============================================================
   16. DISCOVERED SELECTORS from Step 1 scan
   ============================================================ */

/* --- BUILDING pages (EN + ES + PT share same classes) --- */
body.theme-light .building-hero { background: #F7F4EC; color: #14110C; }
body.theme-light .building-hero__badge {
  border: 1px solid #14110C;
  color: #14110C;
  background: #F7F4EC;
  font-family: 'General Sans', sans-serif;
}
body.theme-light .building-hero__breadcrumb { color: #5A5348; font-family: 'General Sans', sans-serif; }
body.theme-light .building-hero__breadcrumb a { color: #14110C; }
body.theme-light .building-hero__title { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .building-hero__subtitle { color: #5A5348; font-family: 'General Sans', sans-serif; }
body.theme-light .building-hero__image-placeholder {
  background: #F7F4EC;
  color: #5A5348;
  border: 1px dashed rgba(20,17,12,0.18);
}
body.theme-light .building-hero__overlay {
  background: linear-gradient(to top, rgba(247,244,236,0.95) 0%, rgba(247,244,236,0.3) 60%, transparent 100%);
}

/* Amenity list */
body.theme-light .amenity-item {
  background: #F7F4EC;
  border: 1px solid rgba(20,17,12,0.12);
  color: #14110C;
  font-family: 'General Sans', sans-serif;
}
body.theme-light .amenity-item::before { color: #14110C; }

/* Deposit table */
body.theme-light .deposit-table th {
  background: #F7F4EC;
  color: #14110C;
  font-family: 'General Sans', sans-serif;
}
body.theme-light .deposit-table td {
  border-bottom: 1px solid rgba(20,17,12,0.12);
  color: #14110C;
}
body.theme-light .deposit-table .deposit-table__milestone { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .deposit-table .deposit-table__pct { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .deposit-table tr:last-child td { border-bottom: none; }

/* Features grid */
body.theme-light .features-grid__category h3 { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .features-grid__list li {
  border-bottom: 1px solid rgba(20,17,12,0.12);
  color: #14110C;
}

/* Floor plan cards */
body.theme-light .floor-plan-card {
  background: #F7F4EC;
  border: 1px solid rgba(20,17,12,0.12);
}
body.theme-light .floor-plan-card:hover { border-color: #14110C; }
body.theme-light .floor-plan-card__image-placeholder {
  background: #F7F4EC;
  border-bottom: 1px dashed rgba(20,17,12,0.18);
  color: #5A5348;
}
body.theme-light .floor-plan-card__name { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .floor-plan-card__price { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .floor-plan-card__details { color: #5A5348; }

/* Investment metrics */
body.theme-light .invest-metric {
  background: #F7F4EC;
  border: 1px solid rgba(20,17,12,0.12);
}
body.theme-light .invest-metric__label { color: #5A5348; }
body.theme-light .invest-metric__value { color: #14110C; font-family: 'General Sans', serif; }

/* Lead capture (on building pages) */
body.theme-light .lead-capture {
  background: #F7F4EC;
  border: 1px solid rgba(20,17,12,0.12);
}
body.theme-light .lead-capture__title { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .lead-capture__body { color: #5A5348; }
body.theme-light .lead-capture__label { color: #5A5348; font-family: 'General Sans', sans-serif; }
body.theme-light .lead-capture__input {
  background: #F7F4EC;
  border: 1px solid rgba(20,17,12,0.18);
  color: #14110C;
  font-family: 'General Sans', sans-serif;
}
body.theme-light .lead-capture__input::placeholder { color: #5A5348; }
body.theme-light .lead-capture__input:focus { border-color: #14110C; }

/* Quick facts */
body.theme-light .quick-facts { background: #F7F4EC; border: 1px solid rgba(20,17,12,0.12); }
body.theme-light .quick-facts__title {
  border-bottom: 1px solid rgba(20,17,12,0.12);
  color: #14110C;
  font-family: 'General Sans', serif;
}
body.theme-light .quick-facts__item {
  border-right: 1px solid rgba(20,17,12,0.12);
  border-bottom: 1px solid rgba(20,17,12,0.12);
}
body.theme-light .quick-facts__label { color: #5A5348; }
body.theme-light .quick-facts__value { color: #14110C; font-family: 'General Sans', serif; }

/* Related buildings */
body.theme-light .related-building-card { background: #F7F4EC; border: 1px solid rgba(20,17,12,0.12); }
body.theme-light .related-building-card:hover { border-color: #14110C; }
body.theme-light .related-building-card__name { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .related-building-card__neighborhood { color: #14110C; }
body.theme-light .related-building-card__meta { color: #5A5348; }

/* Timeline */
body.theme-light .timeline::before { background: rgba(20,17,12,0.12); }
body.theme-light .timeline__item::before {
  background: #14110C;
  border: 2px solid #F7F4EC;
}
body.theme-light .timeline__item.timeline__item--future::before {
  background: transparent;
  border-color: rgba(20,17,12,0.18);
}
body.theme-light .timeline__date { color: #14110C; font-family: 'General Sans', sans-serif; }
body.theme-light .timeline__label { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .timeline__note { color: #5A5348; }

/* Building FAQ variant (double-underscore BEM) */
body.theme-light .faq__item { border-bottom: 1px solid rgba(20,17,12,0.12); }
body.theme-light .faq__item:first-child { border-top: 1px solid rgba(20,17,12,0.12); }
body.theme-light .faq__question { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .faq__answer { color: #14110C; }

body.theme-light .section-divider { border-top: 1px solid rgba(20,17,12,0.12); }

/* --- COMPARISON pages --- */
body.theme-light .faq-toggle { border-top: 1px solid rgba(20,17,12,0.12); }
body.theme-light .faq-toggle summary { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .faq-toggle summary::before { color: #14110C; }
body.theme-light .faq-toggle p { color: #14110C; }

/* --- PRICE RANGE byline --- */
body.theme-light .byline-text { color: #5A5348; }
body.theme-light .byline-text strong { color: #14110C; font-family: 'General Sans', serif; }

/* --- GUIDE step numbers --- */
body.theme-light .step-number {
  background: #14110C;
  color: #F7F4EC;
  font-family: 'General Sans', serif;
}

/* --- REPORT pages: comparison-table, project-card, toc --- */
body.theme-light .comparison-table thead th {
  background: #F7F4EC;
  color: #14110C;
  font-family: 'General Sans', sans-serif;
}
body.theme-light .comparison-table tbody td {
  border-bottom: 1px solid rgba(20,17,12,0.12);
  color: #14110C;
}
body.theme-light .comparison-table tbody td:first-child { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .comparison-table tbody tr:hover { background: #F7F4EC; }

body.theme-light .project-card {
  background: #F7F4EC;
  border: 1px solid rgba(20,17,12,0.12);
}
body.theme-light .project-card:hover { border-color: #14110C; }
body.theme-light .project-card__name { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .project-card__detail { color: #5A5348; }

body.theme-light .toc {
  background: #F7F4EC;
  border: 1px solid rgba(20,17,12,0.12);
}
body.theme-light .toc__title { color: #14110C; font-family: 'General Sans', serif; }
body.theme-light .toc a { color: #14110C; font-family: 'General Sans', sans-serif; }
body.theme-light .toc a:hover { color: #14110C; }

/* 17. Focus + misc utility overrides */
body.theme-light *:focus-visible { outline: 2px solid #14110C; outline-offset: 2px; }
body.theme-light .grain-overlay { opacity: 0; }
body.theme-light .gold-divider { background: #14110C; }
body.theme-light .text-gold,
body.theme-light .text-white { color: #14110C; }
body.theme-light .text-silver { color: #5A5348; }

/* 18. Inline content links — exclude links with their own background or button-like class */
body.theme-light main a:not(.btn):not(.nav__link):not(.nav__cta):not(.footer__link):not(.service-card__link):not(.article-cta__btn):not([class*="btn"]):not([class*="cta"]):not([class*="button"]):not([style*="background"]) {
  color: #14110C;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(20,17,12,0.18);
  text-underline-offset: 3px;
}
body.theme-light main a:not(.btn):not([class*="btn"]):not([class*="cta"]):not([style*="background"]):hover {
  color: #14110C;
  text-decoration-color: #14110C;
}
/* Restore CTA-style links to ink button + ivory text (the previous rule was forcing them to ink-on-ink) */
body.theme-light .cta-panel a,
body.theme-light .lead-capture a.btn,
body.theme-light .article-cta a,
body.theme-light .article-cta__btn {
  background: #14110C !important;
  color: #F7F4EC !important;
  border: 0 !important;
  text-decoration: none !important;
  border-radius: 0 !important;
}
body.theme-light .cta-panel a:hover,
body.theme-light .article-cta a:hover {
  background: #2A251B !important;
  color: #F7F4EC !important;
}

/* Footer stays DARK (brand bookend), no overrides. */

/* ============================================================
   19. EDITORIAL INK BLOCKS — added Apr 23 2026
   The "more black" the brand needs. Paper dominates, ink punctuates.
   ============================================================ */

/* ---- HERO: no overlay wash, full video, ivory text with shadow ---- */
body.theme-light .hero__overlay { background: transparent !important; }
body.theme-light .hero__bg { background: transparent !important; }
body.theme-light .hero .hero__title,
body.theme-light .hero .hero__title em,
body.theme-light .hero .hero__subtitle,
body.theme-light .hero .hero__eyebrow .t-label {
  color: #F7F4EC !important;
  text-shadow: 0 2px 24px rgba(0,0,0,0.45), 0 1px 3px rgba(0,0,0,0.35);
}
body.theme-light .hero .hero__title em {
  font-style: italic !important;
  font-weight: 400 !important;
  color: rgba(247,244,236,0.92) !important;
}
body.theme-light .hero .hero__subtitle { color: rgba(247,244,236,0.92) !important; }
body.theme-light .hero .hero__eyebrow-line { background: #F7F4EC !important; }
body.theme-light .hero .hero__scroll span { color: #F7F4EC !important; text-shadow: 0 1px 4px rgba(0,0,0,0.5); }
body.theme-light .hero .hero__scroll-line { background: linear-gradient(to bottom, #F7F4EC, transparent) !important; }
body.theme-light .hero .btn--primary { background: #F7F4EC !important; color: #14110C !important; }
body.theme-light .hero .btn--primary:hover { background: #FFFFFF !important; color: #14110C !important; }
body.theme-light .hero .btn--outline { color: #F7F4EC !important; border-color: rgba(247,244,236,0.6) !important; }
body.theme-light .hero .btn--outline:hover { border-color: #F7F4EC !important; background: rgba(247,244,236,0.12) !important; color: #F7F4EC !important; }

/* ---- ABOUT: portrait with solid ink offset block behind (editorial) ---- */
body.theme-light .about__image {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  position: relative !important;
}
body.theme-light .about__photo,
body.theme-light .about__photo--oval {
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  aspect-ratio: 3 / 4 !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 2 !important;
  filter: grayscale(0.06) contrast(1.03);
}
body.theme-light .about__image-accent {
  background: #14110C !important;
  border: 0 !important;
  width: 75% !important;
  height: 75% !important;
  bottom: -32px !important;
  right: -32px !important;
  top: auto !important;
  left: auto !important;
  z-index: 1 !important;
  border-radius: 0 !important;
}

/* ---- COMPASS BADGE: outlined, no fill ---- */
body.theme-light .compass-badge { border: 1px solid #14110C; color: #14110C; background: transparent; }
body.theme-light .compass-badge__dot { background: #14110C; }

/* ---- STATS: no card fill, hairlines only ---- */
body.theme-light .stats {
  background: #F7F4EC;
  border-top: 1px solid #14110C;
  border-bottom: 1px solid #14110C;
}
body.theme-light .stats__grid { background: transparent; gap: 0; }
body.theme-light .stats__item {
  background: #F7F4EC;
  border-right: 1px solid rgba(20,17,12,0.15);
}
body.theme-light .stats__item:last-child { border-right: 0; }
body.theme-light .stats-bar {
  background: #F7F4EC !important;
  border-top: 1px solid #14110C !important;
  border-bottom: 1px solid #14110C !important;
}
body.theme-light .stats-bar div[style*="color:var(--gold-light)"],
body.theme-light .stats-bar div[style*="color: var(--gold-light)"] { color: #14110C !important; }
body.theme-light .stats-bar div[style*="color:var(--silver)"],
body.theme-light .stats-bar div[style*="color: var(--silver)"] { color: #5A5348 !important; }

/* ---- PROPERTY CARDS: ink border, paper fill, sharp corners ---- */
body.theme-light .property-card {
  background: #F7F4EC;
  border: 1px solid #14110C;
  border-radius: 0;
}
body.theme-light .property-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgba(20,17,12,0.12);
}
body.theme-light .property-card__image { background: #14110C; }
body.theme-light .property-card__badge {
  background: #14110C; color: #F7F4EC;
  border-radius: 0;
}
body.theme-light .property-card__details { border-top: 1px solid rgba(20,17,12,0.15); }
body.theme-light .property-card__detail svg { fill: #14110C; opacity: 0.7; }

/* ---- PRECON CARDS: keep dark image treatment, flat corners ---- */
body.theme-light .precon-card { border-radius: 0; }
body.theme-light .precon-card__badge {
  background: #F7F4EC;
  border: 0;
  color: #14110C;
  border-radius: 0;
}

/* ---- SERVICES: FULL INK SECTION (the page's "dark chapter") ---- */
body.theme-light section[aria-label="Services"],
body.theme-light section[aria-label="Servicios"],
body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"],
body.theme-light section[aria-label="Services & Expertise"] {
  background: #14110C !important;
  color: #F7F4EC !important;
}
body.theme-light section[aria-label="Services"] .section-header__title,
body.theme-light section[aria-label="Servicios"] .section-header__title,
body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"] .section-header__title,
body.theme-light section[aria-label="Services"] h1, body.theme-light section[aria-label="Services"] h2,
body.theme-light section[aria-label="Servicios"] h1, body.theme-light section[aria-label="Servicios"] h2,
body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"] h1, body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"] h2,
body.theme-light section[aria-label="Services"] p, body.theme-light section[aria-label="Services"] span,
body.theme-light section[aria-label="Servicios"] p, body.theme-light section[aria-label="Servicios"] span,
body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"] p, body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"] span {
  color: #F7F4EC !important;
}
body.theme-light section[aria-label="Services"] .section-header__body,
body.theme-light section[aria-label="Servicios"] .section-header__body,
body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"] .section-header__body { color: rgba(247,244,236,0.72) !important; }
body.theme-light section[aria-label="Services"] .t-label,
body.theme-light section[aria-label="Servicios"] .t-label,
body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"] .t-label { color: rgba(247,244,236,0.85) !important; }
body.theme-light section[aria-label="Services"] .section-header__label-line,
body.theme-light section[aria-label="Servicios"] .section-header__label-line,
body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"] .section-header__label-line { background: #F7F4EC !important; opacity: 0.6; }
body.theme-light .services__grid { background: #14110C !important; gap: 1px; }
body.theme-light .service-card {
  background: #14110C !important;
  border: 0 !important;
  box-shadow: inset 0 0 0 1px rgba(247,244,236,0.15);
}
body.theme-light .service-card:hover { background: #1E1A14 !important; }
body.theme-light .service-card__number { color: rgba(247,244,236,0.12) !important; }
body.theme-light .service-card__icon svg { stroke: #F7F4EC !important; }
body.theme-light .service-card__title { color: #F7F4EC !important; font-family: 'General Sans', sans-serif; }
body.theme-light .service-card__body { color: rgba(247,244,236,0.70) !important; }
body.theme-light .service-card__link { color: #F7F4EC !important; }

/* ---- NEIGHBORHOOD CARDS: image-based, flat corners, ink fallback ---- */
body.theme-light .neighborhood-card { background: #14110C; border-radius: 0; }
body.theme-light .neighborhood-card__bg { background: #14110C; }
body.theme-light .neighborhood-card__overlay { background: linear-gradient(to top, rgba(20,17,12,0.82) 0%, rgba(20,17,12,0.0) 55%); }
body.theme-light .neighborhood-card__name { color: #F7F4EC; font-family: 'General Sans', sans-serif; }
body.theme-light .neighborhood-card__sub { color: #F7F4EC; opacity: 0.9; }

/* ---- TESTIMONIALS: FULL INK ---- */
body.theme-light .testimonials { background: #14110C !important; }
body.theme-light .testimonials .testimonial-card__quote { color: #F7F4EC !important; font-family: 'General Sans', sans-serif; font-style: italic; }
body.theme-light .testimonials .testimonial-card__quote::before { color: rgba(247,244,236,0.18) !important; }
body.theme-light .testimonials .testimonial-card__author { color: #B8AC95 !important; font-family: 'General Sans', sans-serif; }
body.theme-light .testimonials .testimonial-card__detail { color: rgba(247,244,236,0.6) !important; }
body.theme-light .testimonials .testimonial-card__stars { color: #F7F4EC !important; }
body.theme-light .testimonials__dot { background: rgba(247,244,236,0.3); }
body.theme-light .testimonials__dot.active { background: #F7F4EC; }
body.theme-light .testimonials__arrow { border-color: rgba(247,244,236,0.3); }
body.theme-light .testimonials__arrow:hover { border-color: #F7F4EC; background: rgba(247,244,236,0.08); }
body.theme-light .testimonials__arrow svg { stroke: #F7F4EC; }

/* ---- CTA BANNER: FULL INK ---- */
body.theme-light .cta-banner { background: #14110C !important; color: #F7F4EC !important; }
body.theme-light .cta-banner::before { background: radial-gradient(ellipse 80% 60% at 50% 100%, rgba(247,244,236,0.08) 0%, transparent 70%) !important; }
body.theme-light .cta-banner__title { color: #F7F4EC !important; font-family: 'General Sans', sans-serif; }
body.theme-light .cta-banner__title em { color: #B8AC95 !important; font-style: italic; }
body.theme-light .cta-banner__sub { color: rgba(247,244,236,0.7) !important; }
body.theme-light .cta-banner__line-accent { background: linear-gradient(to bottom, transparent, rgba(247,244,236,0.4), transparent) !important; }
body.theme-light .cta-banner .btn--primary { background: #F7F4EC !important; color: #14110C !important; }
body.theme-light .cta-banner .btn--primary:hover { background: #FFFFFF !important; color: #14110C !important; box-shadow: 0 8px 24px rgba(0,0,0,0.25) !important; }
body.theme-light .cta-banner .btn--outline { color: #F7F4EC !important; border-color: rgba(247,244,236,0.35) !important; }
body.theme-light .cta-banner .btn--outline:hover { border-color: #F7F4EC !important; background: rgba(247,244,236,0.08) !important; color: #F7F4EC !important; }

/* ---- FOOTER: FULL INK (brand bookend) ---- */
body.theme-light .footer { background: #14110C !important; color: #F7F4EC !important; border-top: 1px solid rgba(247,244,236,0.10) !important; }
body.theme-light .footer__brand-name { color: #F7F4EC !important; font-family: 'General Sans', sans-serif; }
body.theme-light .footer__brand-name span { color: #F7F4EC !important; }
body.theme-light .footer__brand-tagline { color: rgba(247,244,236,0.65) !important; }
body.theme-light .footer__brand-body { color: rgba(247,244,236,0.65) !important; }
body.theme-light .footer__compass { color: rgba(247,244,236,0.7) !important; }
body.theme-light .footer__compass-dot { background: #F7F4EC !important; }
body.theme-light .footer__col-title { color: #F7F4EC !important; }
body.theme-light .footer__link { color: rgba(247,244,236,0.65) !important; }
body.theme-light .footer__link:hover { color: #F7F4EC !important; }
body.theme-light .footer__grid { border-bottom: 1px solid rgba(247,244,236,0.08) !important; }
body.theme-light .footer__contact-icon svg { stroke: #F7F4EC !important; }
body.theme-light .footer__contact-text { color: rgba(247,244,236,0.65) !important; }
body.theme-light .footer__legal { color: rgba(247,244,236,0.55) !important; }
body.theme-light .footer__social-link { border: 1.5px solid rgba(247,244,236,0.25) !important; }
body.theme-light .footer__social-link:hover { border-color: #F7F4EC !important; background: rgba(247,244,236,0.08) !important; }
body.theme-light .footer__social-link svg { color: rgba(247,244,236,0.65) !important; stroke: rgba(247,244,236,0.65) !important; }
body.theme-light .footer__social-link:hover svg { color: #F7F4EC !important; stroke: #F7F4EC !important; }
body.theme-light .footer__logo--realtor { filter: invert(1) !important; opacity: 0.82 !important; }
body.theme-light .footer p, body.theme-light .footer span, body.theme-light .footer li,
body.theme-light .footer h4 { color: inherit !important; }

/* ---- INLINE STYLE KILL LIST: kill leftover gold from inline styles ---- */
body.theme-light [style*="rgba(201,169,110"] { background-color: transparent !important; border-color: rgba(20,17,12,0.15) !important; color: #14110C !important; }
body.theme-light [style*="#c9a96e"], body.theme-light [style*="#C9A96E"],
body.theme-light [style*="#d4af37"], body.theme-light [style*="#D4AF37"] { color: #14110C !important; }

/* ---- HAIRLINES ---- */
body.theme-light hr { border-top: 1px solid rgba(20,17,12,0.12); }
body.theme-light .gold-divider { background: #14110C; }

/* ---- FONT UNIFICATION — single family across entire page ---- */
body.theme-light,
body.theme-light *:not(i):not(.fa):not([class*="fa-"]) {
  font-family: 'General Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
body.theme-light em, body.theme-light i.em, body.theme-light .hero__title em,
body.theme-light .cta-banner__title em, body.theme-light .section-header__title em {
  font-style: italic !important;
  font-weight: 400 !important;
}

/* ============================================================
   20. FIXES (Apr 23 Round 2) — visibility & contrast repairs
   Addresses: dark-on-dark, light-on-light, unreadable hero, burger
   menu, blog/building cards, neighborhood overlays.
   ============================================================ */

/* ---- HERO: subtle left-biased darkening so text reads over video ---- */
body.theme-light .hero__overlay {
  background: linear-gradient(
    105deg,
    rgba(20,17,12,0.70) 0%,
    rgba(20,17,12,0.45) 35%,
    rgba(20,17,12,0.15) 65%,
    transparent 90%
  ) !important;
}
body.theme-light .hero .hero__title,
body.theme-light .hero .hero__title em,
body.theme-light .hero .hero__subtitle,
body.theme-light .hero .hero__eyebrow .t-label {
  text-shadow: 0 2px 18px rgba(0,0,0,0.55), 0 1px 3px rgba(0,0,0,0.45) !important;
}

/* ---- MOBILE NAV (BURGER): invert to ink bg + ivory text ---- */
body.theme-light .nav-mobile {
  background: rgba(20,17,12,0.98) !important;
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
}
body.theme-light .nav-mobile__link { color: #F7F4EC !important; }
body.theme-light .nav-mobile__link:hover { color: rgba(247,244,236,0.75) !important; }
body.theme-light .nav-mobile__divider { background: rgba(247,244,236,0.30) !important; }
body.theme-light .nav-mobile__close svg { stroke: #F7F4EC !important; }
body.theme-light .nav-mobile__lang { color: #F7F4EC !important; }
body.theme-light .nav-mobile__cta {
  color: #F7F4EC !important;
  border-color: rgba(247,244,236,0.4) !important;
}
body.theme-light .nav-mobile__cta:hover {
  background: #F7F4EC !important;
  color: #14110C !important;
}
/* Hamburger icon — nav chrome is ink in theme-light, so bars are ivory */
body.theme-light .nav__hamburger span { background: #F7F4EC !important; }

/* ---- BLOG CARDS (.blog-card): visible ink border on paper ---- */
body.theme-light .blog-card {
  background: #F7F4EC !important;
  border: 1px solid #14110C !important;
  border-radius: 0 !important;
}
body.theme-light .blog-card:hover {
  border-color: #14110C !important;
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(20,17,12,0.12) !important;
}
body.theme-light .blog-card__cat { color: #5A5348 !important; }
body.theme-light .blog-card__title { color: #14110C !important; font-family: 'General Sans', sans-serif; }
body.theme-light .blog-card__excerpt { color: #5A5348 !important; }
body.theme-light .blog-card__meta { color: #5A5348 !important; }
body.theme-light .blog-card__meta-date,
body.theme-light .blog-card__meta-read { color: #5A5348 !important; }

/* ---- BUILDING CARDS (.bldg-card): visible ink border, paper bg ---- */
body.theme-light .bldg-card {
  background: #F7F4EC !important;
  border: 1px solid #14110C !important;
  border-radius: 0 !important;
}
body.theme-light .bldg-card:hover {
  transform: translateY(-4px);
  border-color: #14110C !important;
  box-shadow: 0 20px 40px rgba(20,17,12,0.15) !important;
}
body.theme-light .bldg-card__img-wrap { background: #14110C !important; }
body.theme-light .bldg-card__body { background: #F7F4EC !important; }
body.theme-light .bldg-card__hood { color: #5A5348 !important; }
body.theme-light .bldg-card__name { color: #14110C !important; font-family: 'General Sans', sans-serif; }
body.theme-light .bldg-card__price { color: #14110C !important; }
body.theme-light .bldg-card__price strong { color: #14110C !important; }
body.theme-light .bldg-card__cta { color: #14110C !important; }
body.theme-light .bldg-card__badge {
  background: #14110C !important;
  color: #F7F4EC !important;
  border: 0 !important;
}

/* ---- NEIGHBORHOOD CARDS: darker overlay + text shadow for readability ---- */
body.theme-light .neighborhood-card__overlay {
  background: linear-gradient(
    to top,
    rgba(20,17,12,0.92) 0%,
    rgba(20,17,12,0.55) 35%,
    rgba(20,17,12,0.20) 65%,
    transparent 100%
  ) !important;
}
body.theme-light .neighborhood-card__name {
  color: #F7F4EC !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.55), 0 1px 2px rgba(0,0,0,0.4) !important;
}
body.theme-light .neighborhood-card__sub {
  color: rgba(247,244,236,0.92) !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.5) !important;
}

/* ---- INK SECTIONS: force children to inherit light color ---- */
body.theme-light section[aria-label="Services"] p,
body.theme-light section[aria-label="Services"] li,
body.theme-light section[aria-label="Services"] span:not(.t-label),
body.theme-light section[aria-label="Servicios"] p,
body.theme-light section[aria-label="Servicios"] li,
body.theme-light section[aria-label="Servicios"] span:not(.t-label),
body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"] p,
body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"] li,
body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"] span:not(.t-label) {
  color: #F7F4EC !important;
}
body.theme-light .testimonials p,
body.theme-light .testimonials li,
body.theme-light .testimonials span,
body.theme-light .testimonials em,
body.theme-light .testimonials strong { color: #F7F4EC !important; }
body.theme-light .cta-banner p,
body.theme-light .cta-banner li,
body.theme-light .cta-banner span,
body.theme-light .cta-banner em,
body.theme-light .cta-banner strong { color: #F7F4EC !important; }
body.theme-light .cta-banner__sub { color: rgba(247,244,236,0.7) !important; }
body.theme-light .footer p,
body.theme-light .footer li,
body.theme-light .footer span,
body.theme-light .footer em,
body.theme-light .footer strong,
body.theme-light .footer h1, body.theme-light .footer h2,
body.theme-light .footer h3, body.theme-light .footer h4,
body.theme-light .footer h5, body.theme-light .footer h6,
body.theme-light .footer a { color: inherit !important; }
body.theme-light .footer { color: rgba(247,244,236,0.75) !important; }
body.theme-light .footer__brand-name,
body.theme-light .footer__col-title,
body.theme-light .footer__brand-name span { color: #F7F4EC !important; }
body.theme-light .footer__link,
body.theme-light .footer__legal,
body.theme-light .footer__brand-body,
body.theme-light .footer__brand-tagline,
body.theme-light .footer__contact-text { color: rgba(247,244,236,0.65) !important; }

/* ---- GENERIC INLINE DARK BACKGROUND KILL ---- */
/* Any inline style forcing dark bg gets paper; text stays ink */
body.theme-light [style*="background:#0A0E1A"],
body.theme-light [style*="background:#0a0e1a"],
body.theme-light [style*="background: #0A0E1A"],
body.theme-light [style*="background: #0a0e1a"],
body.theme-light [style*="background:var(--midnight)"],
body.theme-light [style*="background: var(--midnight)"],
body.theme-light [style*="background:var(--slate)"],
body.theme-light [style*="background: var(--slate)"],
body.theme-light [style*="background:rgba(10,10,15"],
body.theme-light [style*="background: rgba(10,10,15"],
body.theme-light [style*="background:rgba(10,14,26"],
body.theme-light [style*="background: rgba(10,14,26"] {
  background: #F7F4EC !important;
  color: #14110C !important;
}
/* Any inline style forcing white color gets ink */
body.theme-light [style*="color:#ffffff"]:not(.testimonials *):not(.cta-banner *):not(.footer *):not(.hero *):not(.services *),
body.theme-light [style*="color:#FFFFFF"]:not(.testimonials *):not(.cta-banner *):not(.footer *):not(.hero *):not(.services *),
body.theme-light [style*="color: #ffffff"]:not(.testimonials *):not(.cta-banner *):not(.footer *):not(.hero *):not(.services *),
body.theme-light [style*="color: #FFFFFF"]:not(.testimonials *):not(.cta-banner *):not(.footer *):not(.hero *):not(.services *),
body.theme-light [style*="color:#fff"]:not(.testimonials *):not(.cta-banner *):not(.footer *):not(.hero *):not(.services *),
body.theme-light [style*="color:var(--white)"]:not(.testimonials *):not(.cta-banner *):not(.footer *):not(.hero *):not(.services *) {
  color: #14110C !important;
}
/* White border colors from inline styles */
body.theme-light [style*="border:1px solid rgba(255,255,255"],
body.theme-light [style*="border: 1px solid rgba(255,255,255"] {
  border-color: rgba(20,17,12,0.15) !important;
}

/* ---- BLOG INDEX containers & similar cards that bleed background ---- */
body.theme-light [style*="var(--slate)"] { background: #F7F4EC !important; }
body.theme-light [style*="var(--slate-light)"] { background: #F7F4EC !important; }

/* ---- ARTICLE content — ensure paragraphs in sections stay readable ---- */
body.theme-light article p,
body.theme-light article li,
body.theme-light article span:not(.t-label) { color: #14110C; }


/* ============================================================
   21. LISTING PAGE (search-v2 / SV2) — remap internal variables
   The listings page uses its own design system with .sv2-* classes.
   Remapping its CSS variables propagates to all listing cards, bars,
   chips, filters, inputs, and detail views.
   ============================================================ */
body.theme-light .sv2 {
  --sv2-gold: #14110C;
  --sv2-gold-dim: rgba(20,17,12,0.12);
  --sv2-gold-bg: rgba(20,17,12,0.04);
  --sv2-bg: #F7F4EC;
  --sv2-surface: #F7F4EC;
  --sv2-surface-2: rgba(20,17,12,0.08);
  --sv2-text: #14110C;
  --sv2-silver: #5A5348;
  --sv2-border: rgba(20,17,12,0.12);
  color: #14110C;
  background: #F7F4EC;
}
body.theme-light .sv2-bar {
  background: rgba(247,244,236,0.96) !important;
  border-bottom: 1px solid rgba(20,17,12,0.12) !important;
}
body.theme-light .sv2-omnibox__input,
body.theme-light .sv2-omnibox__suggest,
body.theme-light .sv2 input,
body.theme-light .sv2 select,
body.theme-light .sv2 textarea {
  background: #F7F4EC !important;
  color: #14110C !important;
  border: 1px solid rgba(20,17,12,0.18) !important;
}
body.theme-light .sv2-card {
  background: #F7F4EC !important;
  border: 1px solid rgba(20,17,12,0.15) !important;
  border-radius: 0 !important;
}
body.theme-light .sv2-card:hover { box-shadow: 0 10px 30px rgba(20,17,12,0.12) !important; }
body.theme-light .sv2-card__body { background: #F7F4EC !important; }
body.theme-light .sv2-card__price,
body.theme-light .sv2-det__price { color: #14110C !important; }
body.theme-light .sv2-card__addr,
body.theme-light .sv2-det__addr { color: #14110C !important; }
body.theme-light .sv2-card__specs,
body.theme-light .sv2-det__specs,
body.theme-light .sv2-det__sub { color: #5A5348 !important; }
body.theme-light .sv2-card__badge {
  background: #14110C !important;
  color: #F7F4EC !important;
  border-radius: 0 !important;
}
body.theme-light .sv2-card__fav { background: rgba(247,244,236,0.9) !important; color: #14110C !important; }
body.theme-light .sv2-card__mls,
body.theme-light .sv2-det__mls { color: #5A5348 !important; }
body.theme-light .sv2-det__header { background: #F7F4EC !important; border-bottom: 1px solid rgba(20,17,12,0.12) !important; color: #14110C !important; }
body.theme-light .sv2-det__back { color: #14110C !important; }
body.theme-light .sv2-det__status { color: #14110C !important; background: rgba(20,17,12,0.06) !important; }
body.theme-light .sv2-det__section { background: #F7F4EC !important; border-top: 1px solid rgba(20,17,12,0.12) !important; color: #14110C !important; }
body.theme-light .sv2-det__side { background: #F7F4EC !important; border-left: 1px solid rgba(20,17,12,0.12) !important; }
body.theme-light .sv2-det__agent { background: #F7F4EC !important; border: 1px solid rgba(20,17,12,0.15) !important; }
body.theme-light .sv2-det__cta {
  background: #14110C !important; color: #F7F4EC !important; border-radius: 0 !important;
}
body.theme-light .sv2-det__compass { color: #5A5348 !important; }
body.theme-light .sv2-det__facts,
body.theme-light .sv2-det__spec,
body.theme-light .sv2-det__lifestyle,
body.theme-light .sv2-det__payment,
body.theme-light .sv2-det__school,
body.theme-light .sv2-det__schools,
body.theme-light .sv2-det__nbhd,
body.theme-light .sv2-det__remarks,
body.theme-light .sv2-det__sim,
body.theme-light .sv2-det__similar { background: #F7F4EC !important; color: #14110C !important; }
body.theme-light .sv2-det__sim p, body.theme-light .sv2-det__similar p,
body.theme-light .sv2-det__remarks p, body.theme-light .sv2-det__nbhd p,
body.theme-light .sv2-det__lifestyle p, body.theme-light .sv2-det__payment p,
body.theme-light .sv2-det__schools p, body.theme-light .sv2-det__facts p,
body.theme-light .sv2-det__spec p, body.theme-light .sv2-det__school p { color: #14110C !important; }
body.theme-light .sv2-det__gallery,
body.theme-light .sv2-det__hero,
body.theme-light .sv2-det__map { background: #14110C !important; }
body.theme-light .sv2-det__thumb { border: 1px solid rgba(20,17,12,0.20) !important; }
body.theme-light .sv2-det__thumbs { background: rgba(247,244,236,0.92) !important; }
body.theme-light .sv2-det__toggle { background: #14110C !important; color: #F7F4EC !important; }

/* Map controls — buttons and the "Search as I move" toggle keep their dark
   pill background, but theme-light remaps --sv2-text to ink which would render
   the text invisible. Force cream/gold on the dark pills instead. */
body.theme-light .sv2-map__tool {
  background: rgba(10, 10, 15, 0.92) !important;
  color: #F7F4EC !important;
  border: 1px solid rgba(247,244,236,0.18) !important;
}
body.theme-light .sv2-map__tool:hover { color: #C9A96E !important; border-color: #C9A96E !important; }
body.theme-light .sv2-map__tool.is-active { background: #C9A96E !important; color: #14110C !important; border-color: #C9A96E !important; }
body.theme-light .sv2-map__move-search {
  background: rgba(10, 10, 15, 0.92) !important;
  color: #F7F4EC !important;
  border: 1px solid rgba(247,244,236,0.18) !important;
}
body.theme-light .sv2-map__move-search input { accent-color: #C9A96E !important; }
/* Mapbox attribution / Mapbox controls visibility on cream */
body.theme-light .mapboxgl-ctrl-group { background: #F7F4EC !important; }
body.theme-light .mapboxgl-ctrl-group button { color: #14110C !important; }
body.theme-light .sv2-suggest__item { border-bottom: 1px solid rgba(20,17,12,0.08) !important; color: #14110C !important; }
body.theme-light .sv2-suggest__item:hover { background: rgba(20,17,12,0.05) !important; }

/* ============================================================
   22. INLINE STYLE COMPREHENSIVE OVERRIDES (Apr 23 Round 3)
   Catch ALL inline color/background patterns across 400+ pages.
   ============================================================ */

/* Inline white-color text -> ink by default */
body.theme-light [style*="color:var(--white)"],
body.theme-light [style*="color: var(--white)"],
body.theme-light [style*="color:#ffffff"],
body.theme-light [style*="color: #ffffff"],
body.theme-light [style*="color:#FFFFFF"],
body.theme-light [style*="color: #FFFFFF"],
body.theme-light [style*="color:#fff"],
body.theme-light [style*="color: #fff"],
body.theme-light [style*="color:#FFF"],
body.theme-light [style*="color: #FFF"] {
  color: #14110C !important;
}

/* ...unless inside a known ink section -> keep ivory */
body.theme-light .testimonials [style*="color:var(--white)"],
body.theme-light .testimonials [style*="color: var(--white)"],
body.theme-light .testimonials [style*="color:#ffffff"],
body.theme-light .testimonials [style*="color:#FFFFFF"],
body.theme-light .testimonials [style*="color:#fff"],
body.theme-light .testimonials [style*="color:#FFF"],
body.theme-light .cta-banner [style*="color:var(--white)"],
body.theme-light .cta-banner [style*="color: var(--white)"],
body.theme-light .cta-banner [style*="color:#ffffff"],
body.theme-light .cta-banner [style*="color:#FFFFFF"],
body.theme-light .cta-banner [style*="color:#fff"],
body.theme-light .cta-banner [style*="color:#FFF"],
body.theme-light .footer [style*="color:var(--white)"],
body.theme-light .footer [style*="color: var(--white)"],
body.theme-light .footer [style*="color:#ffffff"],
body.theme-light .footer [style*="color:#FFFFFF"],
body.theme-light .footer [style*="color:#fff"],
body.theme-light .footer [style*="color:#FFF"],
body.theme-light .hero [style*="color:var(--white)"],
body.theme-light .hero [style*="color: var(--white)"],
body.theme-light .hero [style*="color:#ffffff"],
body.theme-light .hero [style*="color:#FFFFFF"],
body.theme-light .hero [style*="color:#fff"],
body.theme-light .hero [style*="color:#FFF"],
body.theme-light section[aria-label="Services"] [style*="color:var(--white)"],
body.theme-light section[aria-label="Services"] [style*="color: var(--white)"],
body.theme-light section[aria-label="Services"] [style*="color:#fff"],
body.theme-light section[aria-label="Servicios"] [style*="color:var(--white)"],
body.theme-light section[aria-label="Servicios"] [style*="color: var(--white)"],
body.theme-light section[aria-label="Servicios"] [style*="color:#fff"],
body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"] [style*="color:var(--white)"],
body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"] [style*="color: var(--white)"],
body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"] [style*="color:#fff"] {
  color: #F7F4EC !important;
}

/* Inline silver text -> muted ink */
body.theme-light [style*="color:var(--silver)"],
body.theme-light [style*="color: var(--silver)"] {
  color: #5A5348 !important;
}
body.theme-light .testimonials [style*="color:var(--silver)"],
body.theme-light .cta-banner [style*="color:var(--silver)"],
body.theme-light .footer [style*="color:var(--silver)"],
body.theme-light .hero [style*="color:var(--silver)"],
body.theme-light section[aria-label="Services"] [style*="color:var(--silver)"],
body.theme-light section[aria-label="Servicios"] [style*="color:var(--silver)"],
body.theme-light section[aria-label="Servicos"],body.theme-light section[aria-label="Serviços"] [style*="color:var(--silver)"] {
  color: rgba(247,244,236,0.72) !important;
}

/* Inline dark backgrounds on non-ink sections -> paper */
body.theme-light [style*="background:var(--midnight)"]:not(.cta-banner):not(.footer):not(.testimonials),
body.theme-light [style*="background: var(--midnight)"]:not(.cta-banner):not(.footer):not(.testimonials),
body.theme-light [style*="background:var(--slate)"]:not(.cta-banner):not(.footer):not(.testimonials),
body.theme-light [style*="background: var(--slate)"]:not(.cta-banner):not(.footer):not(.testimonials),
body.theme-light [style*="background:var(--slate-light)"]:not(.cta-banner):not(.footer):not(.testimonials),
body.theme-light [style*="background: var(--slate-light)"]:not(.cta-banner):not(.footer):not(.testimonials),
body.theme-light [style*="background:rgba(255,255,255,0.04)"],
body.theme-light [style*="background: rgba(255,255,255,0.04)"],
body.theme-light [style*="background:rgba(255,255,255,0.06)"],
body.theme-light [style*="background: rgba(255,255,255,0.06)"],
body.theme-light [style*="background:rgba(255,255,255,0.08)"],
body.theme-light [style*="background: rgba(255,255,255,0.08)"] {
  background: #F7F4EC !important;
  color: #14110C !important;
}

/* Inline gold backgrounds -> paper with ink border */
body.theme-light [style*="background:var(--gold-dim)"],
body.theme-light [style*="background: var(--gold-dim)"] {
  background: rgba(20,17,12,0.06) !important;
}

/* Stat card inline styles often use var(--gold-light) for numbers */
body.theme-light [style*="color:var(--gold-light)"],
body.theme-light [style*="color: var(--gold-light)"],
body.theme-light [style*="color:#E8D5A3"],
body.theme-light [style*="color:#e8d5a3"] {
  color: #14110C !important;
}

/* Gold-text classes */
body.theme-light .text-gold,
body.theme-light .gold-text { color: #14110C !important; }

/* Dark translucent overlays often used in heroes and banners */
body.theme-light [style*="background:rgba(10,14,26"],
body.theme-light [style*="background: rgba(10,14,26"],
body.theme-light [style*="background:rgba(20,23,39"],
body.theme-light [style*="background: rgba(20,23,39"] {
  background: rgba(247,244,236,0.92) !important;
  color: #14110C !important;
}

/* Linear gradients with dark colors — replace with paper */
body.theme-light [style*="linear-gradient(160deg, var(--slate)"],
body.theme-light [style*="linear-gradient(160deg, #0d"],
body.theme-light [style*="linear-gradient(160deg, #1a"],
body.theme-light [style*="linear-gradient(160deg, #14"] {
  background: #14110C !important;
}

/* Common patterns: borders using rgba white on what's now paper */
body.theme-light [style*="border:1px solid rgba(255,255,255"],
body.theme-light [style*="border: 1px solid rgba(255,255,255"],
body.theme-light [style*="border-top:1px solid rgba(255,255,255"],
body.theme-light [style*="border-bottom:1px solid rgba(255,255,255"] {
  border-color: rgba(20,17,12,0.15) !important;
}

/* Compass/LuxuryDade footer logos — they're white PNGs meant for dark bg.
   Footer is still dark in theme-light so they stay visible there. */

/* Fix any remaining "button-outline on white bg" */
body.theme-light .btn--outline-gold { color: #14110C !important; border-color: #14110C !important; }
body.theme-light .btn--outline-gold:hover { background: #14110C !important; color: #F7F4EC !important; }

/* Any element with inline style setting var(--silver) background (rare) */
body.theme-light [style*="background:var(--silver)"],
body.theme-light [style*="background: var(--silver)"] {
  background: #5A5348 !important;
  color: #F7F4EC !important;
}

/* ============================================================
   23. CLASS-BASED GOLD-BORDER ELIMINATION (Apr 23 Round 4)
   Page-level <style> blocks have hardcoded rgba(201,169,110,*)
   borders that attribute selectors can't catch. Override by class.
   ============================================================ */

/* Building hero badge — was gold border + gold text */
body.theme-light .building-hero__badge {
  border: 1px solid #14110C !important;
  color: #14110C !important;
  background: rgba(20,17,12,0.04) !important;
  border-radius: 0 !important;
}

/* Building hero buttons / floor-plan-card hover / etc. */
body.theme-light .building-hero a,
body.theme-light .building-hero .btn,
body.theme-light .building-hero .btn-primary {
  border-radius: 0 !important;
}
body.theme-light .building-hero .btn-primary,
body.theme-light .building-hero a[class*="btn"]:not(.btn--outline) {
  background: #14110C !important;
  color: #F7F4EC !important;
  border: 1px solid #14110C !important;
}
body.theme-light .building-hero .btn--outline,
body.theme-light .building-hero a[class*="outline"] {
  background: transparent !important;
  color: #14110C !important;
  border: 1px solid #14110C !important;
}
body.theme-light .building-hero .btn--outline:hover,
body.theme-light .building-hero a[class*="outline"]:hover {
  background: #14110C !important;
  color: #F7F4EC !important;
}

/* Generic: any element with gold rgba border baked into a <style> block.
   We can't target <style> rules but we can catch common patterns. */
body.theme-light .lead-capture,
body.theme-light .floor-plan-card,
body.theme-light .quick-facts,
body.theme-light .invest-metric,
body.theme-light .amenity-item,
body.theme-light .related-building-card,
body.theme-light .toc,
body.theme-light .project-card {
  border-color: rgba(20,17,12,0.15) !important;
  border-radius: 0 !important;
}
body.theme-light .floor-plan-card:hover,
body.theme-light .related-building-card:hover,
body.theme-light .project-card:hover {
  border-color: #14110C !important;
}

/* Tools page ROI calculator + similar - kill gold-rgba inline borders */
body.theme-light .tool-output,
body.theme-light .tool-input,
body.theme-light .tool-section {
  background: #F7F4EC !important;
  border-color: rgba(20,17,12,0.15) !important;
  color: #14110C !important;
}
body.theme-light .tool-input label,
body.theme-light .tool-input .form-label {
  color: #14110C !important;
  font-weight: 500;
}
body.theme-light .tool-output h2,
body.theme-light .tool-output h3,
body.theme-light .tool-output strong,
body.theme-light .tool-output .result-value {
  color: #14110C !important;
}
body.theme-light .tool-hero {
  background: #F7F4EC !important;
  color: #14110C !important;
}
body.theme-light .tool-hero h1,
body.theme-light .tool-hero p { color: #14110C !important; }

/* Disclaimer paragraphs (small print) */
body.theme-light .disclaimer { color: #5A5348 !important; }

/* Stat-highlight, deposit-table, etc. — paper bg with ink hairlines */
body.theme-light .stat-highlight {
  background: #F7F4EC !important;
  border: 1px solid rgba(20,17,12,0.15) !important;
  border-radius: 0 !important;
}
body.theme-light .deposit-table {
  border-color: rgba(20,17,12,0.15) !important;
}

/* Comparison table */
body.theme-light .comparison-table thead th { background: #F7F4EC !important; border-bottom: 2px solid #14110C !important; }
body.theme-light .comparison-table td { border-color: rgba(20,17,12,0.12) !important; }

/* Filter bar (.bldg-filter-bar) */
body.theme-light .bldg-filter-bar { border-color: rgba(20,17,12,0.15) !important; }
body.theme-light .bldg-filter-bar button,
body.theme-light .bldg-filter-bar .filter-btn {
  background: #F7F4EC !important;
  color: #14110C !important;
  border: 1px solid #14110C !important;
  border-radius: 0 !important;
}
body.theme-light .bldg-filter-bar button.active,
body.theme-light .bldg-filter-bar .filter-btn.active,
body.theme-light .bldg-filter-bar button[aria-pressed="true"] {
  background: #14110C !important;
  color: #F7F4EC !important;
}

/* ============================================================
   24. CALCULATOR/TOOL PAGES — input + result row contrast fixes
   ============================================================ */
body.theme-light .field input,
body.theme-light .field select,
body.theme-light .field textarea {
  background: #F7F4EC !important;
  color: #14110C !important;
  border: 1px solid rgba(20,17,12,0.20) !important;
  border-radius: 0 !important;
}
body.theme-light .field input:focus,
body.theme-light .field select:focus,
body.theme-light .field textarea:focus {
  border-color: #14110C !important;
  outline: none !important;
}
body.theme-light .field label,
body.theme-light .field .field-label {
  color: #14110C !important;
  font-weight: 500 !important;
}
body.theme-light .field .help,
body.theme-light .field .hint,
body.theme-light .field small { color: #5A5348 !important; }

/* Result rows in calculators */
body.theme-light .result-row {
  border-bottom: 1px solid rgba(20,17,12,0.12) !important;
}
body.theme-light .result-row .label,
body.theme-light .result-row span.label { color: #5A5348 !important; }
body.theme-light .result-row .value,
body.theme-light .result-row span.value {
  color: #14110C !important;
  font-family: 'General Sans', sans-serif !important;
}
body.theme-light .result-row.highlight .value,
body.theme-light .result-row.highlight span.value {
  color: #14110C !important;
}

/* tool-input / tool-output container styles */
body.theme-light .tool-input,
body.theme-light .tool-output {
  background: #F7F4EC !important;
  border: 1px solid rgba(20,17,12,0.15) !important;
  border-radius: 0 !important;
}
body.theme-light .tool-input h2,
body.theme-light .tool-output h2 {
  color: #14110C !important;
  font-family: 'General Sans', sans-serif !important;
}

/* Yearly chart bars */
body.theme-light .yearly-chart .bar { background: #14110C !important; }
body.theme-light .yearly-chart .bar-label,
body.theme-light .yearly-chart .year-label { color: #14110C !important; }

/* Comparison tool table */
body.theme-light .compare-cell { color: #14110C !important; }
body.theme-light .compare-cell.even { background: rgba(20,17,12,0.03) !important; }
body.theme-light .compare-cell.header { background: #14110C !important; color: #F7F4EC !important; }

/* Round 5: more CTA-link patterns from inline <style> blocks */
body.theme-light .cta-bottom a,
body.theme-light .faq-cta a,
body.theme-light .cta-final a,
body.theme-light .final-cta a,
body.theme-light .closing-cta a,
body.theme-light a.cta,
body.theme-light a.cta-button,
body.theme-light a.btn-cta {
  background: #14110C !important;
  color: #F7F4EC !important;
  border: 0 !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  display: inline-block !important;
}
body.theme-light .cta-bottom a:hover,
body.theme-light .faq-cta a:hover,
body.theme-light a.cta:hover,
body.theme-light a.cta-button:hover {
  background: #2A251B !important;
  color: #F7F4EC !important;
}

/* CTA section h3/h2 might still be white from inline style */
body.theme-light .cta-bottom h2,
body.theme-light .cta-bottom h3,
body.theme-light .faq-cta h2,
body.theme-light .faq-cta h3 { color: #14110C !important; font-family: 'General Sans', sans-serif; }
body.theme-light .cta-bottom p,
body.theme-light .faq-cta p { color: #5A5348 !important; }

/* ============================================================
   25. LOGO DESATURATION — remove "Dade" gold from combined logo
   The combined LuxuryDade | Compass PNG has gold "Dade" word baked in.
   Theme-light is gold-free, so desaturate via CSS filter.
   ============================================================ */
body.theme-light .nav__logo-combined,
body.theme-light .nav__logo {
  filter: grayscale(1) brightness(1.2);
}

/* ============================================================
   26. CUSTOM-VARIABLE PAGES — pulse / radar / top-precon / select blogs
   These pages override :root with their own --bg-*, --text-*, --border
   variables hardcoded to dark colors. body.theme-light overrides them
   so the variables resolve to paper/ink everywhere they're used.
   ============================================================ */
body.theme-light {
  /* Base palette overrides (already set above) */
  --bg-primary: #F7F4EC;
  --bg-card: #F7F4EC;
  --bg-secondary: #F7F4EC;
  --border: rgba(20,17,12,0.15);
  --text-primary: #14110C;
  --text-secondary: #5A5348;
  --text-muted: #5A5348;
}

/* Pulse cards — visible borders + ink text */
body.theme-light .pulse-card {
  background: #F7F4EC !important;
  border: 1px solid rgba(20,17,12,0.15) !important;
  border-left: 3px solid #14110C !important;
  border-radius: 0 !important;
  color: #14110C !important;
}
body.theme-light .pulse-card:hover {
  border-color: #14110C !important;
}
body.theme-light .pulse-card__time { color: #5A5348 !important; }
body.theme-light .pulse-card__tag {
  color: #14110C !important;
  background: rgba(20,17,12,0.06);
  padding: 4px 10px;
  border-radius: 0;
}
body.theme-light .pulse-card__title { color: #14110C !important; font-family: 'General Sans', sans-serif; }
body.theme-light .pulse-card__body p { color: #14110C !important; }
body.theme-light .pulse-card__links a { color: #14110C !important; text-decoration: underline; }

/* Radar cards */
body.theme-light .radar-card {
  background: #F7F4EC !important;
  border: 1px solid rgba(20,17,12,0.15) !important;
  border-radius: 0 !important;
  color: #14110C !important;
}
body.theme-light .radar-card:hover { border-color: #14110C !important; }
body.theme-light .radar-badge {
  background: #14110C !important;
  color: #F7F4EC !important;
  border-radius: 0 !important;
}
body.theme-light .radar-badge.pre-construction,
body.theme-light .radar-badge.announced,
body.theme-light .radar-badge.rumored {
  background: #14110C !important; color: #F7F4EC !important;
}
body.theme-light .radar-card h3,
body.theme-light .radar-card .radar-title { color: #14110C !important; font-family: 'General Sans', sans-serif; }
body.theme-light .radar-card p { color: #14110C !important; }
body.theme-light .radar-card .radar-meta { color: #5A5348 !important; }
body.theme-light .radar-filter {
  background: #F7F4EC !important;
  border: 1px solid #14110C !important;
  color: #14110C !important;
  border-radius: 0;
}
body.theme-light .radar-filter.active,
body.theme-light .radar-filter[aria-pressed="true"] {
  background: #14110C !important; color: #F7F4EC !important;
}
body.theme-light .radar-section h2 { color: #14110C !important; }

/* Top pre-construction page (article-like long-form) */
body.theme-light .precon-card,
body.theme-light .top-precon-card {
  background: #F7F4EC !important;
  border: 1px solid rgba(20,17,12,0.15) !important;
  color: #14110C !important;
}
body.theme-light .top-precon-card h3,
body.theme-light .precon-card h3 { color: #14110C !important; }
body.theme-light .top-precon-rank { color: #14110C !important; }

/* 404 page (custom dark by default) */
body.theme-light.error-404,
body.theme-light .error-page {
  background: #F7F4EC !important;
  color: #14110C !important;
}
body.theme-light .error-page h1,
body.theme-light .error-page p { color: #14110C !important; }

/* Blog posts that have custom :root */
body.theme-light .blog-cta,
body.theme-light .blog-cta-block,
body.theme-light .article-section,
body.theme-light .article-block {
  background: #F7F4EC !important;
  color: #14110C !important;
  border-color: rgba(20,17,12,0.15) !important;
}
body.theme-light .blog-cta a.btn,
body.theme-light .blog-cta-block a {
  background: #14110C !important;
  color: #F7F4EC !important;
}

/* ============================================================
   27. ROUND 7 — hard fixes found by Playwright production audit
   Bugs in live screenshots: hero invisible on bright video, pulse/
   radar full-page dark bg, testimonials heading ink-on-ink, blog
   cards missing visible borders (due to stale CSS cache now fixed
   by ?v=7 bump), buildings filter active pill unreadable, neighbor-
   hood-detail page (not the card) had no overrides.
   Apr 23 2026
   ============================================================ */

/* --- HERO: stronger overlay + gradient chip behind text to guarantee
       readability against any video brightness --- */
body.theme-light .hero__overlay {
  background: linear-gradient(
    105deg,
    rgba(20,17,12,0.78) 0%,
    rgba(20,17,12,0.58) 35%,
    rgba(20,17,12,0.42) 65%,
    rgba(20,17,12,0.30) 100%
  ) !important;
}
body.theme-light .hero .hero__content {
  position: relative;
  z-index: 3;
}
body.theme-light .hero .hero__content::before {
  content: "";
  position: absolute;
  inset: -24px -32px;
  background: radial-gradient(
    ellipse at 25% 50%,
    rgba(20,17,12,0.55) 0%,
    rgba(20,17,12,0.30) 50%,
    rgba(20,17,12,0.0) 85%
  );
  z-index: -1;
  pointer-events: none;
  border-radius: 2px;
}
body.theme-light .hero .hero__title,
body.theme-light .hero .hero__title em,
body.theme-light .hero .hero__subtitle,
body.theme-light .hero .hero__eyebrow .t-label {
  color: #F7F4EC !important;
  text-shadow: 0 2px 24px rgba(0,0,0,0.7), 0 1px 4px rgba(0,0,0,0.6) !important;
}

/* --- PULSE + RADAR pages: override body-level dark bg from per-page
       :root/body inline styles --- */
body.theme-light,
body.theme-light body,
html body.theme-light {
  background: #F7F4EC !important;
  color: #14110C !important;
}
/* Pulse-specific: its inline <style> declares `body { background: var(--bg-primary) }`.
   Theme-light already overrides --bg-primary but some pages set the color
   direct. Force paper on <body> regardless. */
body.theme-light .pulse-section,
body.theme-light .radar-section,
body.theme-light main,
body.theme-light .main,
body.theme-light .page,
body.theme-light .page-content {
  background: #F7F4EC !important;
  color: #14110C !important;
}
body.theme-light .page-header,
body.theme-light .page-hero,
body.theme-light .pulse-hero,
body.theme-light .radar-hero {
  background: #F7F4EC !important;
  color: #14110C !important;
}
body.theme-light .page-header h1,
body.theme-light .page-header h2,
body.theme-light .page-header p,
body.theme-light .page-hero h1,
body.theme-light .page-hero p { color: #14110C !important; }

/* Pulse/radar page-level breadcrumbs */
body.theme-light .breadcrumb,
body.theme-light .breadcrumbs,
body.theme-light .breadcrumb a,
body.theme-light .breadcrumbs a { color: #5A5348 !important; }
body.theme-light .breadcrumb a:hover,
body.theme-light .breadcrumbs a:hover { color: #14110C !important; }

/* --- TESTIMONIALS container: default text color should be ivory on ink --- */
body.theme-light .testimonials,
body.theme-light .testimonials h2,
body.theme-light .testimonials h3,
body.theme-light .testimonials .section-header__title,
body.theme-light .testimonials .section-header__body,
body.theme-light .testimonials .t-label { color: #F7F4EC !important; }

/* --- BUILDINGS filter bar: active pill text must be ivory on ink bg.
       Also tightens inactive to visible ink on paper. --- */
body.theme-light .bldg-filter-bar button,
body.theme-light .bldg-filter-bar .filter-btn,
body.theme-light .bldg-filter-bar a.filter-btn {
  background: #F7F4EC !important;
  color: #14110C !important;
  border: 1px solid #14110C !important;
  border-radius: 0 !important;
}
body.theme-light .bldg-filter-bar button.active,
body.theme-light .bldg-filter-bar .filter-btn.active,
body.theme-light .bldg-filter-bar button[aria-pressed="true"],
body.theme-light .bldg-filter-bar a.filter-btn.active {
  background: #14110C !important;
  color: #F7F4EC !important;
  border-color: #14110C !important;
}

/* --- NEIGHBORHOODS page: uses .neighborhood-detail sections (not cards).
       Several set class="section--dark" which theme-light already maps
       to paper, but the detail-specific classes need explicit color. --- */
body.theme-light .neighborhood-detail,
body.theme-light .neighborhood-detail.section--dark {
  background: #F7F4EC !important;
  color: #14110C !important;
}
body.theme-light .neighborhood-detail__name,
body.theme-light .neighborhood-detail__num,
body.theme-light .neighborhood-detail__sub,
body.theme-light .neighborhood-detail__body,
body.theme-light .neighborhood-detail__highlights,
body.theme-light .neighborhood-highlight {
  color: #14110C !important;
}
body.theme-light .neighborhood-detail__num { color: #5A5348 !important; opacity: 0.75; }
body.theme-light .neighborhood-detail__sub { color: #5A5348 !important; }
body.theme-light .neighborhood-highlight {
  background: rgba(20,17,12,0.06) !important;
  border: 1px solid rgba(20,17,12,0.15) !important;
  color: #14110C !important;
  border-radius: 0 !important;
}
body.theme-light .neighborhood-detail__image { border-radius: 0 !important; }

/* --- BLOG CARDS: belt-and-braces — even if inline style has matching
       specificity, our !important border must win. Also add a subtle
       hairline box-shadow to make them visually distinct from paper. --- */
body.theme-light a.blog-card,
body.theme-light .blog-card {
  background: #F7F4EC !important;
  border: 1px solid #14110C !important;
  border-radius: 0 !important;
  box-shadow: 0 1px 0 rgba(20,17,12,0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
body.theme-light a.blog-card:hover,
body.theme-light .blog-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(20,17,12,0.14) !important;
  border-color: #14110C !important;
}

/* --- BUILDING CARDS: same belt-and-braces --- */
body.theme-light a.bldg-card,
body.theme-light .bldg-card {
  background: #F7F4EC !important;
  border: 1px solid #14110C !important;
  border-radius: 0 !important;
  box-shadow: 0 1px 0 rgba(20,17,12,0.04);
}
body.theme-light a.bldg-card:hover,
body.theme-light .bldg-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 36px rgba(20,17,12,0.14) !important;
}

/* --- PULSE cards: wrap the card in an explicit override. Since pulse
       pages set `:root { --bg-card: #141418 }` AND have inline rule
       `.pulse-card { background: var(--bg-card); }`, we override twice:
       (a) remap the variable at body level (already done), and
       (b) override the rule with explicit paper. --- */
body.theme-light article.pulse-card,
body.theme-light div.pulse-card,
body.theme-light .pulse-feed .pulse-card,
body.theme-light section.pulse-card {
  background: #F7F4EC !important;
  color: #14110C !important;
  border: 1px solid rgba(20,17,12,0.15) !important;
  border-left: 3px solid #14110C !important;
  border-radius: 0 !important;
}
body.theme-light .pulse-card h2,
body.theme-light .pulse-card h3,
body.theme-light .pulse-card p,
body.theme-light .pulse-card span,
body.theme-light .pulse-card a {
  color: #14110C !important;
}
body.theme-light .pulse-card__time,
body.theme-light .pulse-card .date,
body.theme-light .pulse-card .time { color: #5A5348 !important; }
body.theme-light .pulse-card__tag,
body.theme-light .pulse-card .tag,
body.theme-light .pulse-card .badge {
  background: rgba(20,17,12,0.08) !important;
  color: #14110C !important;
  border: 1px solid rgba(20,17,12,0.15) !important;
  border-radius: 0 !important;
}

/* --- RADAR cards: same pattern --- */
body.theme-light article.radar-card,
body.theme-light div.radar-card {
  background: #F7F4EC !important;
  color: #14110C !important;
  border: 1px solid rgba(20,17,12,0.15) !important;
  border-radius: 0 !important;
}
body.theme-light .radar-card h2,
body.theme-light .radar-card h3,
body.theme-light .radar-card p,
body.theme-light .radar-card span,
body.theme-light .radar-card a { color: #14110C !important; }
body.theme-light .radar-card .meta,
body.theme-light .radar-card .date,
body.theme-light .radar-card .timeline { color: #5A5348 !important; }

/* --- FOOTER on light-theme pulse/radar: keep dark --- */
body.theme-light .pulse-section + .footer,
body.theme-light .radar-section + .footer { background: #14110C !important; }

/* --- LISTINGS page: the sv2-* system loads via JS. The container
       .listings-page or main may have dark bg. --- */
body.theme-light .listings-page,
body.theme-light .listings-main,
body.theme-light #listings,
body.theme-light #listings-container {
  background: #F7F4EC !important;
  color: #14110C !important;
}

/* --- STATS-BAR on homepage: inline rgba(10,10,15,0.92) bg.
       Already caught by generic rule, but the children need explicit
       overrides since they use color:var(--gold-light) (remapped) and
       color:var(--silver). Plus the border-top/bottom uses rgba(201,169,110).
       --- */
body.theme-light .stats-bar {
  background: #F7F4EC !important;
  border-top: 1px solid #14110C !important;
  border-bottom: 1px solid #14110C !important;
}
body.theme-light .stats-bar div[style*="color:var(--gold-light)"],
body.theme-light .stats-bar div[style*="color: var(--gold-light)"],
body.theme-light .stats-bar div { color: #14110C !important; }
body.theme-light .stats-bar div[style*="color:var(--silver)"],
body.theme-light .stats-bar div[style*="color: var(--silver)"] { color: #5A5348 !important; }

/* --- HOME neighborhood section on index: uses card style different
       from /neighborhoods.html. Catch whatever classes are used. --- */
body.theme-light .neighborhood-item,
body.theme-light .neighborhood-tile,
body.theme-light .hood-card {
  background: #F7F4EC !important;
  color: #14110C !important;
  border: 1px solid rgba(20,17,12,0.12) !important;
  border-radius: 0 !important;
}

/* --- NAV HAMBURGER: ensure bars always ivory over ink nav chrome.
       The nav's `.nav__hamburger` button sometimes inherits color:#000
       from default button styles, making spans black on dark chrome. --- */
body.theme-light .nav__hamburger {
  background: transparent !important;
  color: #F7F4EC !important;
}
body.theme-light .nav__hamburger span {
  background: #F7F4EC !important;
  color: transparent;
}
body.theme-light .nav__hamburger:hover span { background: rgba(247,244,236,0.8) !important; }

/* --- SERVICES card icons / bullets must stay ivory on ink --- */
body.theme-light section[aria-label="Services"] svg,
body.theme-light section[aria-label="Servicios"] svg,
body.theme-light section[aria-label="Servicos"] svg,
body.theme-light section[aria-label="Serviços"] svg { color: #F7F4EC !important; stroke: #F7F4EC !important; }

/* --- GENERIC dark-section paragraph safety net: any section with
       inline background set to ink/dark gets light text children. --- */
body.theme-light section[style*="background:#14110C"] *,
body.theme-light section[style*="background:#0a0a0f"] *,
body.theme-light section[style*="background: #14110C"] *,
body.theme-light section[style*="background: #0a0a0f"] *,
body.theme-light div[style*="background:#14110C"] *,
body.theme-light div[style*="background: #14110C"] * {
  color: #F7F4EC !important;
}

/* --- MOBILE-FIRST: ensure nav-mobile is scrollable with visible divider --- */
@media (max-width: 900px) {
  body.theme-light .nav-mobile {
    background: rgba(20,17,12,0.99) !important;
  }
  body.theme-light .nav-mobile__link,
  body.theme-light .nav-mobile__cta,
  body.theme-light .nav-mobile__lang { color: #F7F4EC !important; }
}

/* ============================================================
   28. IMAGE-OVERLAY CARD FIX — .nh-card (home neighborhoods) +
       .precon-card (home pre-construction) need ivory text + strong
       gradient. An earlier rule forced paper+ink on .precon-card
       for the /top-miami-preconstruction-2026 article list, which
       broke the home-page image cards. Scope that rule so image
       cards keep their photo + ivory treatment.
   ============================================================ */

/* Detect image-overlay .precon-card by presence of .precon-card__img */
body.theme-light a.precon-card:has(.precon-card__img),
body.theme-light .precon__grid .precon-card,
body.theme-light a.precon-card[class*="precon-card"] .precon-card__img {
  background: transparent !important;
  color: #F7F4EC !important;
  border: 0 !important;
}
body.theme-light .precon__grid .precon-card,
body.theme-light a.precon-card:has(.precon-card__img) {
  background: #14110C !important; /* fallback while image loads */
  border: 0 !important;
}
/* Stronger overlay for image-cards */
body.theme-light .precon-card .precon-card__overlay {
  background: linear-gradient(
    0deg,
    rgba(20,17,12,0.92) 0%,
    rgba(20,17,12,0.55) 45%,
    rgba(20,17,12,0.30) 80%,
    rgba(20,17,12,0.20) 100%
  ) !important;
}
body.theme-light .precon-card .precon-card__title,
body.theme-light .precon-card .precon-card__location,
body.theme-light .precon-card .precon-card__price,
body.theme-light .precon-card .precon-card__stats,
body.theme-light .precon-card .precon-card__content,
body.theme-light .precon-card .precon-card__bottom {
  color: #F7F4EC !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.6), 0 1px 3px rgba(0,0,0,0.5) !important;
}
body.theme-light .precon-card .precon-card__badge {
  background: rgba(247,244,236,0.18) !important;
  border: 1px solid rgba(247,244,236,0.4) !important;
  color: #F7F4EC !important;
  backdrop-filter: blur(8px);
  border-radius: 0 !important;
}
body.theme-light .precon-card .precon-card__bottom {
  border-top: 1px solid rgba(247,244,236,0.25) !important;
}

/* .nh-card (home-only neighborhood tiles) — stronger overlay + shadow */
body.theme-light a.nh-card,
body.theme-light .nh-card {
  background: #14110C !important;
  color: #F7F4EC !important;
  border: 0 !important;
  border-radius: 0 !important;
}
body.theme-light .nh-card__overlay {
  background: linear-gradient(
    0deg,
    rgba(20,17,12,0.85) 0%,
    rgba(20,17,12,0.72) 45%,
    rgba(20,17,12,0.55) 80%,
    rgba(20,17,12,0.45) 100%
  ) !important;
}
body.theme-light .nh-card__name,
body.theme-light .nh-card__tagline,
body.theme-light .nh-card__inner {
  color: #F7F4EC !important;
  text-shadow: 0 2px 14px rgba(0,0,0,0.7), 0 1px 3px rgba(0,0,0,0.5) !important;
}
body.theme-light .nh-card__tagline { opacity: 0.95 !important; }
body.theme-light .nh-card__stat {
  background: rgba(20,17,12,0.5) !important;
  border: 1px solid rgba(247,244,236,0.3) !important;
  color: #F7F4EC !important;
  backdrop-filter: blur(6px);
  border-radius: 0 !important;
}

/* The homepage precon section has aria-label that theme-light maps
   to section--dark → paper bg. That's fine — the CARDS above read
   ivory on dark photo. But the section title/body still need ink. */
body.theme-light section[aria-label="Pre-construction developments"] .section-header__title,
body.theme-light section[aria-label="Pre-construction developments"] .section-header__body,
body.theme-light section[aria-label="Pre-construction developments"] .t-label,
body.theme-light section[aria-label="Miami-Dade neighborhoods"] .section-header__title,
body.theme-light section[aria-label="Miami-Dade neighborhoods"] .section-header__body,
body.theme-light section[aria-label="Miami-Dade neighborhoods"] .t-label {
  color: #14110C !important;
}
body.theme-light section[aria-label="Pre-construction developments"] .section-header__label-line,
body.theme-light section[aria-label="Miami-Dade neighborhoods"] .section-header__label-line {
  background: #14110C !important;
  opacity: 0.6;
}

/* --- SECTION--DARK + SECTION--SLATE still carry paper bg from rule 4.
       But their children can have dark bg image cards. Ensure the
       cards don't inherit paper. (Already handled above, this is a
       belt check.) --- */
body.theme-light section.section--dark .precon-card,
body.theme-light section.section--slate .nh-card {
  background: #14110C !important;
  color: #F7F4EC !important;
}

/* ============================================================
   APR 24 READABILITY PASS — contrast + selective gold restoration
   User flagged: logo must be gold again, listing cards unreadable,
   Advisory 01/02/03 numbers invisible, Compass Insights logo
   invisible on cream, footer text too dim.
   ============================================================ */

/* 1. NAV LOGO — the combined PNG contains gold "Dade" and gold pipe.
      Previous grayscale filter killed it. Restore full color. */
body.theme-light .nav__logo-combined,
body.theme-light .nav__logo {
  filter: none !important;
}

/* 2. LISTING CARDS on homepage — dark card fill, gold price, ivory address.
      The homepage MLS cards use inline dark bg but inherit ink from theme-light,
      which nukes the price (was gold, now ink-on-ink = invisible). */
body.theme-light .listing-card {
  background: #14110C !important;
  color: #F7F4EC !important;
  border: 1px solid rgba(247,244,236,0.08);
}
body.theme-light .listing-card:hover {
  box-shadow: 0 16px 40px rgba(20,17,12,0.35) !important;
}
body.theme-light .listing-card__price {
  color: #C9A96E !important;
  font-weight: 600 !important;
}
body.theme-light .listing-card__address {
  color: #F7F4EC !important;
}
body.theme-light .listing-card__details {
  color: rgba(247,244,236,0.78) !important;
  border-top: 1px solid rgba(247,244,236,0.10) !important;
}
/* Icon row: theme-light remaps --gold to ink, which makes our gold SVG icons
   render dark-on-dark (invisible). Force real gold + cream values inside the
   listing card detail spans. */
body.theme-light .listing-card__detail { color: rgba(247,244,236,0.78) !important; }
body.theme-light .listing-card__detail svg { color: #C9A96E !important; opacity: 1 !important; }
body.theme-light .listing-card__detail strong { color: #F7F4EC !important; }
body.theme-light .ml-card__detail { color: rgba(247,244,236,0.78); }
body.theme-light .ml-card__detail svg { color: #C9A96E !important; opacity: 1 !important; }
body.theme-light .ml-card__detail strong { color: #F7F4EC !important; }
body.theme-light .ml-card__detail--ppsf,
body.theme-light .ml-card__detail--ppsf strong { color: #C9A96E !important; }
body.theme-light .listing-card__badge {
  background: #C9A96E !important;
  color: #14110C !important;
}

/* 3. SERVICE CARD NUMBERS — 0.12 opacity was invisible on ink bg.
      Bump to a legible 0.35 so 01/02/03 read as intended editorial accents. */
body.theme-light .service-card__number {
  color: rgba(247,244,236,0.38) !important;
  font-weight: 300 !important;
}

/* 4. PRESS BAR (Compass insights) — the white Compass PNG is invisible
      on cream. Invert it to ink and bump opacity. */
body.theme-light .press-bar img[src*="compass-white"],
body.theme-light .press-bar img[alt*="Compass"] {
  filter: invert(1) !important;
  opacity: 0.85 !important;
}

/* 5. FOOTER — boost contrast: whiter whites, heavier weight for titles.
      Text at 0.65 opacity was too dim. */
body.theme-light .footer {
  color: #FFFFFF !important;
}
body.theme-light .footer__col-title,
body.theme-light .footer__brand-name,
body.theme-light .footer__brand-name span {
  color: #FFFFFF !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}
body.theme-light .footer__link,
body.theme-light .footer__brand-body,
body.theme-light .footer__brand-tagline,
body.theme-light .footer__contact-text,
body.theme-light .footer__compass,
body.theme-light .footer p,
body.theme-light .footer li,
body.theme-light .footer span:not(.footer__brand-name span),
body.theme-light .footer a {
  color: rgba(255,255,255,0.90) !important;
}
body.theme-light .footer__legal {
  color: rgba(255,255,255,0.78) !important;
  line-height: 1.75 !important;
}
body.theme-light .footer__link:hover {
  color: #C9A96E !important;
}
body.theme-light .footer__contact-icon svg {
  stroke: #C9A96E !important;
  opacity: 1 !important;
}
body.theme-light .footer__social-link {
  border-color: rgba(255,255,255,0.35) !important;
}
body.theme-light .footer__social-link svg {
  color: rgba(255,255,255,0.85) !important;
  stroke: rgba(255,255,255,0.85) !important;
}
body.theme-light .footer__social-link:hover {
  border-color: #C9A96E !important;
}
body.theme-light .footer__social-link:hover svg {
  color: #C9A96E !important;
  stroke: #C9A96E !important;
}

/* 6. TESTIMONIALS — slider needs explicit height so absolute-positioned
      slides show content (main.css has the slides absolute with no height
      on the container; before GSAP boots, all slides stack on a 0-height
      container, hiding them). */
body.theme-light .testimonials__slider {
  position: relative !important;
  min-height: 320px;
}
@media(max-width:768px){
  body.theme-light .testimonials__slider { min-height: 480px; }
}
body.theme-light .testimonial-slide:first-child {
  opacity: 1;
  visibility: visible;
}

/* ============================================================
   APR 24 ROUND 2 — user feedback batch
   - remove black plate behind hero headline
   - fix SPA listing detail readability
   - style blog body links with bold dark accent
   - fix Related Buildings (custom inline classes) contrast
   - de-brand Anantara disclaimer handled in HTML
   ============================================================ */

/* 1. HERO — kill the dark radial plate the user dislikes behind the title.
      Previous rule in this file drew a big ellipse behind hero__content;
      hero text already has its own shadow, so the plate is redundant.
      Also lighten the full-video overlay that was set to 78% left / 30%
      right in round 7 — too heavy, user wants the 3D image to breathe. */
body.theme-light .hero .hero__content::before {
  display: none !important;
  background: transparent !important;
}
body.theme-light .hero__overlay {
  background: linear-gradient(
    105deg,
    rgba(20,17,12,0.42) 0%,
    rgba(20,17,12,0.28) 40%,
    rgba(20,17,12,0.15) 75%,
    rgba(20,17,12,0.05) 100%
  ) !important;
}
body.theme-light .hero .hero__title,
body.theme-light .hero .hero__title em,
body.theme-light .hero .hero__subtitle,
body.theme-light .hero .hero__eyebrow .t-label {
  text-shadow: 0 1px 3px rgba(0,0,0,0.55), 0 2px 14px rgba(0,0,0,0.40) !important;
}

/* 2. SEARCH-V2 SPA DETAIL VIEW — inherits its own dark --sv2-* palette.
      On theme-light bg the default text (#e0e0e0 on cream) is unreadable.
      Remap the palette so the SPA detail view reads as cream+ink too. */
body.theme-light {
  --sv2-bg: #F7F4EC;
  --sv2-surface: #FFFFFF;
  --sv2-surface-2: #EFEAE0;
  --sv2-text: #14110C;
  --sv2-silver: #5A5348;
  --sv2-gold: #C9A96E;
  --sv2-gold-dim: rgba(201,169,110,0.15);
  --sv2-gold-bg: rgba(201,169,110,0.08);
}
body.theme-light .sv2,
body.theme-light .sv2-detail,
body.theme-light .sv2-det__remarks,
body.theme-light .sv2-det__facts,
body.theme-light .sv2-det__facts li,
body.theme-light .sv2-det__facts span,
body.theme-light .sv2-det__facts strong,
body.theme-light .sv2-det__addr,
body.theme-light .sv2-det__sub,
body.theme-light .sv2-det__price,
body.theme-light .sv2-det__h2,
body.theme-light .sv2-det__specs,
body.theme-light .sv2-det__specs strong {
  color: #14110C !important;
}
body.theme-light .sv2-det__sub,
body.theme-light .sv2-det__facts span,
body.theme-light .sv2-det__agent-sub {
  color: #5A5348 !important;
}
body.theme-light .sv2-det__agent,
body.theme-light .sv2-det__cta,
body.theme-light .sv2-det__side > * {
  background: #FFFFFF !important;
  border: 1px solid rgba(20,17,12,0.15) !important;
  color: #14110C !important;
}
/* SPA contact form — dark input fields on cream parent are invisible.
   Force ink-on-paper inputs. */
body.theme-light .sv2-det input,
body.theme-light .sv2-det textarea,
body.theme-light .sv2-det select,
body.theme-light .sv2-detail input,
body.theme-light .sv2-detail textarea,
body.theme-light .sv2-detail select {
  background: #FFFFFF !important;
  color: #14110C !important;
  border: 1px solid rgba(20,17,12,0.25) !important;
}
body.theme-light .sv2-det input::placeholder,
body.theme-light .sv2-det textarea::placeholder {
  color: rgba(20,17,12,0.45) !important;
}
body.theme-light .sv2-det__tour,
body.theme-light .sv2-det__agent-btn--ghost {
  border: 1px solid #14110C !important;
  color: #14110C !important;
  background: transparent !important;
}
body.theme-light .sv2-det__agent-btn {
  background: #14110C !important;
  color: #F7F4EC !important;
  border: 0 !important;
}
body.theme-light .sv2-det__back {
  color: #14110C !important;
}

/* 3. BLOG BODY LINKS — user wants them visibly clickable: dark + bold. */
body.theme-light .article-body a:not(.btn):not([class*="btn"]):not([class*="cta"]):not([class*="button"]):not(.article-author__name a):not(.article-cta *),
body.theme-light article.article a:not(.btn):not([class*="btn"]):not([class*="cta"]):not([class*="button"]):not(.article-cta *),
body.theme-light .blog-content a:not(.btn):not([class*="btn"]):not([class*="cta"]):not([class*="button"]):not(.article-cta *) {
  color: #14110C !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-decoration-color: #C9A96E !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
}
body.theme-light .article-body a:not(.btn):not([class*="btn"]):not([class*="cta"]):not([class*="button"]):not(.article-cta *):hover,
body.theme-light article.article a:not(.btn):not([class*="btn"]):not([class*="cta"]):not([class*="button"]):not(.article-cta *):hover,
body.theme-light .blog-content a:not(.btn):not([class*="btn"]):not([class*="cta"]):not([class*="button"]):not(.article-cta *):hover {
  color: #C9A96E !important;
  text-decoration-color: #14110C !important;
}

/* 4. RELATED BUILDINGS block (custom .related-content class with inline
      color:#c9a96e on titles — gold-on-cream is low contrast).
      Force ink titles so they read clearly. */
body.theme-light .related-content h3,
body.theme-light .related-content h4,
body.theme-light .related-content a,
body.theme-light .related-content .related-title,
body.theme-light .related-content [style*="color:#c9a96e"],
body.theme-light .related-content [style*="color: #c9a96e"] {
  color: #14110C !important;
  font-weight: 600 !important;
}
body.theme-light .related-content p,
body.theme-light .related-content span,
body.theme-light .related-content div,
body.theme-light .related-content a div {
  color: #3A342A !important;
}
body.theme-light .related-content a > div:first-child,
body.theme-light .related-content a div[style*="font-weight"] {
  color: #14110C !important;
  font-weight: 600 !important;
}
body.theme-light .related-content a {
  border: 1px solid rgba(20,17,12,0.18) !important;
  background: #FFFFFF !important;
  text-decoration: none !important;
}
body.theme-light .related-content a:hover {
  border-color: #14110C !important;
  background: #F2EDE1 !important;
}

/* 5. LISTING DETAIL PAGE (functions/property/[[slug]].js) — theme-light polish.
      The page uses .ld-* classes defined in listing-detail.css with the
      original dark palette variables that now remap to ink/paper. Fine-tune
      edges, borders, and inline-styled agent cards. */
body.theme-light .ld-gallery__main { background: #EFEAE0; }
body.theme-light .ld-gallery__thumb--active { border-color: #14110C !important; }
body.theme-light .ld-detail-header {
  border-bottom: 1px solid rgba(20,17,12,0.15) !important;
}
body.theme-light .ld-detail-header__title { color: #14110C !important; }
body.theme-light .ld-detail-header__price { color: #14110C !important; }
body.theme-light .ld-detail-header__location,
body.theme-light .ld-detail-header__mls,
body.theme-light .ld-detail-header__stat { color: #5A5348 !important; }
body.theme-light .ld-detail-header__stat strong { color: #14110C !important; }
body.theme-light .ld-facts-grid {
  background: rgba(20,17,12,0.06) !important;
  border: 1px solid rgba(20,17,12,0.12) !important;
}
body.theme-light .ld-fact { background: #FFFFFF !important; }
body.theme-light .ld-fact__label { color: #5A5348 !important; }
body.theme-light .ld-fact__value { color: #14110C !important; }
body.theme-light .ld-features {
  background: rgba(20,17,12,0.06) !important;
  border: 1px solid rgba(20,17,12,0.12) !important;
}
body.theme-light .ld-feature-row { background: #FFFFFF !important; }
body.theme-light .ld-feature-row__label { color: #14110C !important; }
body.theme-light .ld-feature-row__value { color: #3A342A !important; }
body.theme-light .ld-description p { color: #14110C !important; }
body.theme-light .ld-similar-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(20,17,12,0.12) !important;
}
body.theme-light .ld-similar-card:hover {
  border-color: #14110C !important;
}
body.theme-light .ld-similar-card__price,
body.theme-light .ld-similar-card__address { color: #14110C !important; }
body.theme-light .ld-similar-card__meta { color: #5A5348 !important; }
/* The inline agent cards use rgba(255,255,255,0.2) borders + color:#fff
   text. Force ink borders + ink text in theme-light. */
body.theme-light .btn.btn--outline[style*="color:#fff"],
body.theme-light .btn.btn--outline[style*="color: #fff"] {
  color: #14110C !important;
  border-color: #14110C !important;
}
body.theme-light .btn.btn--outline[style*="border-color:rgba(255,255,255"],
body.theme-light .btn.btn--outline[style*="border-color: rgba(255,255,255"] {
  border-color: #14110C !important;
  color: #14110C !important;
}

/* ============================================================
   SECTION 100: GLOBAL INLINE-STYLE DARK-MODE COLOR FIX
   Attribute-selector rules catch ALL hardcoded dark-mode colors
   in inline style="" attributes across every past/present/future
   page. !important is required to beat inline style specificity.
   ============================================================ */

/* — Light gray text (unreadable on cream background) — */
body.theme-light [style*="color: #e0e0e0"],
body.theme-light [style*="color:#e0e0e0"] { color: #14110C !important; }

body.theme-light [style*="color: #e8e8e8"],
body.theme-light [style*="color:#e8e8e8"] { color: #14110C !important; }

body.theme-light [style*="color: #d8d8d8"],
body.theme-light [style*="color:#d8d8d8"] { color: #14110C !important; }

body.theme-light [style*="color: #c8c8c8"],
body.theme-light [style*="color:#c8c8c8"] { color: #14110C !important; }

body.theme-light [style*="color: #b3b3b3"],
body.theme-light [style*="color:#b3b3b3"] { color: #5A5348 !important; }

/* — Pure white text — */
body.theme-light [style*="color: #ffffff"],
body.theme-light [style*="color:#ffffff"],
body.theme-light [style*="color: #FFFFFF"],
body.theme-light [style*="color:#FFFFFF"] { color: #14110C !important; }

body.theme-light [style*="color: #fff"],
body.theme-light [style*="color:#fff"],
body.theme-light [style*="color: #FFF"],
body.theme-light [style*="color:#FFF"] { color: #14110C !important; }

/* — White via CSS variable — */
body.theme-light [style*="color: var(--white)"],
body.theme-light [style*="color:var(--white)"],
body.theme-light [style*="color: var(--warm-white)"],
body.theme-light [style*="color:var(--warm-white)"] { color: #14110C !important; }

/* — rgba white text — */
body.theme-light [style*="color: rgba(255,255,255"],
body.theme-light [style*="color:rgba(255,255,255"] { color: #14110C !important; }

/* — Mid-gray light text (#d0d0d0, #ddd, #bbb) — */
body.theme-light [style*="color: #d0d0d0"],
body.theme-light [style*="color:#d0d0d0"] { color: #14110C !important; }

body.theme-light [style*="color: #ddd"],
body.theme-light [style*="color:#ddd"] { color: #14110C !important; }

body.theme-light [style*="color: #bbb"],
body.theme-light [style*="color:#bbb"] { color: #14110C !important; }

/* — Medium gray (#a0a0a0) — used for figcaptions, sub-labels — */
body.theme-light [style*="color: #a0a0a0"],
body.theme-light [style*="color:#a0a0a0"] { color: #5A5348 !important; }

/* — Warm cream text (#f4e9cf) — used in pull-quote inline styles — */
body.theme-light [style*="color: #f4e9cf"],
body.theme-light [style*="color:#f4e9cf"] { color: #14110C !important; }

/* — CSS variable text colors that resolve to light in dark mode — */
body.theme-light [style*="color: var(--text-muted)"],
body.theme-light [style*="color:var(--text-muted)"] { color: #5A5348 !important; }

body.theme-light [style*="color: var(--text-primary)"],
body.theme-light [style*="color:var(--text-primary)"] { color: #14110C !important; }

body.theme-light [style*="color: var(--text-secondary)"],
body.theme-light [style*="color:var(--text-secondary)"] { color: #5A5348 !important; }

body.theme-light [style*="color: var(--sv2-silver)"],
body.theme-light [style*="color:var(--sv2-silver)"] { color: #5A5348 !important; }

/* — Near-invisible white borders (rgba(255,255,255,0.05-0.15)) — */
body.theme-light [style*="border: 1px solid rgba(255,255,255,0.0"],
body.theme-light [style*="border:1px solid rgba(255,255,255,0.0"],
body.theme-light [style*="border: 1px solid rgba(255,255,255,0.1"],
body.theme-light [style*="border:1px solid rgba(255,255,255,0.1"] { border-color: rgba(20,17,12,0.12) !important; }

body.theme-light [style*="border-bottom: 1px solid rgba(255,255,255,0.0"],
body.theme-light [style*="border-bottom:1px solid rgba(255,255,255,0.0"],
body.theme-light [style*="border-bottom: 1px solid rgba(255,255,255,0.1"],
body.theme-light [style*="border-bottom:1px solid rgba(255,255,255,0.1"] { border-bottom-color: rgba(20,17,12,0.12) !important; }

body.theme-light [style*="border-top: 1px solid rgba(255,255,255,0.0"],
body.theme-light [style*="border-top:1px solid rgba(255,255,255,0.0"] { border-top-color: rgba(20,17,12,0.12) !important; }

body.theme-light [style*="border-bottom: 2px solid rgba(255,255,255"],
body.theme-light [style*="border-bottom:2px solid rgba(255,255,255"] { border-bottom-color: rgba(20,17,12,0.25) !important; }

/* ============================================================
   SECTION 101: MISSING CSS-CLASS OVERRIDES
   Classes used in per-page <style> blocks that weren't yet
   covered by earlier sections.
   ============================================================ */

/* Comparison tables */
body.theme-light .comparison-table td,
body.theme-light .comparison-table tbody td { color: #14110C !important; border-bottom-color: rgba(20,17,12,0.12) !important; }
body.theme-light .comparison-table th { color: #14110C !important; background: rgba(20,17,12,0.05) !important; border-color: rgba(20,17,12,0.15) !important; }
body.theme-light .comparison-table tr { border-bottom-color: rgba(20,17,12,0.12) !important; }

/* Cost/deposit/price tables */
body.theme-light .cost-table td { color: #14110C !important; border-bottom-color: rgba(20,17,12,0.12) !important; }
body.theme-light .cost-table th { color: #14110C !important; background: rgba(20,17,12,0.05) !important; }

/* Data highlight lists */
body.theme-light .data-highlight li { color: #14110C !important; border-bottom-color: rgba(20,17,12,0.08) !important; }

/* FAQ items — paragraph variant (different from .faq-item__a) */
body.theme-light .faq-item p { color: #14110C !important; }

/* Checklist items */
body.theme-light .checklist li { color: #14110C !important; border-bottom-color: rgba(20,17,12,0.08) !important; }

/* Table of contents */
body.theme-light .toc a { color: #14110C !important; text-decoration-color: rgba(20,17,12,0.3) !important; }

/* Blog entry titles (sidebar/nav widgets) */
body.theme-light .blog-entry-title { color: #14110C !important; }

/* Project/building cards */
body.theme-light .project-card__name { color: #14110C !important; }

/* Fresh cards */
body.theme-light .fresh-card .fresh-card-title { color: #14110C !important; }

/* Filter and tab button hover states */
body.theme-light .filter-btn:hover,
body.theme-light .tab-btn:hover { color: #14110C !important; }

/* Hardcoded white in per-page <style> blocks: these class rules
   have lower specificity than body.theme-light overrides so
   !important is only needed on inline styles (above).
   The rules below are kept for belt-and-suspenders coverage. */
body.theme-light .article-title { color: #14110C !important; }
body.theme-light .article-body h2,
body.theme-light .article-body h3 { color: #14110C !important; }
body.theme-light .article-author__name { color: #14110C !important; }
body.theme-light .article-cta__title { color: #14110C !important; }

/* Pull-quote — cream text (#f4e9cf) on cream background is invisible.
   Force ink-dark for readability. */
body.theme-light .pull-quote { color: #14110C !important; }

/* FAQ toggle answer paragraphs (per-page .faq-toggle p uses #d0d0d0) */
body.theme-light .faq-toggle p { color: #14110C !important; }

/* Form field labels in calculator/tool pages (.field label uses #d0d0d0) */
body.theme-light .field label { color: #14110C !important; }

/* Comparison table — .compare-table td uses #d0d0d0 */
body.theme-light .compare-table td { color: #14110C !important; border-color: rgba(20,17,12,0.12) !important; }
body.theme-light .compare-table th { color: #14110C !important; background: rgba(20,17,12,0.05) !important; }

/* Yearly chart table (.yearly-chart td uses #d0d0d0) */
body.theme-light .yearly-chart td { color: #14110C !important; border-color: rgba(20,17,12,0.12) !important; }

/* Price points table (.price-points td uses #d0d0d0) */
body.theme-light .price-points td { color: #14110C !important; border-bottom-color: rgba(20,17,12,0.12) !important; }

/* Quiz option buttons (.option uses #d0d0d0 + dark background) */
body.theme-light .option { color: #14110C !important; background: rgba(20,17,12,0.04) !important; border-color: rgba(20,17,12,0.18) !important; }

/* Quiz secondary nav buttons */
body.theme-light .quiz-nav button.secondary { color: #14110C !important; border-color: rgba(20,17,12,0.3) !important; background: transparent !important; }

/* Preset buttons in calculators (.preset-btn uses #d0d0d0) */
body.theme-light .preset-btn { color: #14110C !important; background: rgba(20,17,12,0.05) !important; border-color: rgba(20,17,12,0.2) !important; }

/* Tool panel sub-text (.tool-panel .panel-sub uses #a0a0a0) */
body.theme-light .tool-panel .panel-sub { color: #5A5348 !important; }

/* Action section list items (.action-section li uses #d0d0d0) */
body.theme-light .action-section li { color: #14110C !important; border-bottom-color: rgba(20,17,12,0.08) !important; }

/* Disclaimer boxes (.disclaimer uses #d0d0d0) */
body.theme-light .disclaimer { color: #14110C !important; }

/* Cross-link bars (.cross-link uses #a0a0a0) */
body.theme-light .cross-link { color: #5A5348 !important; }
