/* Light / dark tokens for default landing templates + Cheni custom */

html[data-landing-theme="dark"][data-landing-template="classic_luxury"],
html:not([data-landing-theme])[data-landing-template="classic_luxury"] {
  --lt-bg: #090807;
  --lt-surface: #141210;
  --lt-text: #f5f0e8;
  --lt-heading: #faf6f1;
  --lt-muted: #a89b8c;
  --lt-border: #3d3429;
  --lt-nav: rgba(9, 8, 7, 0.92);
}

html[data-landing-theme="light"][data-landing-template="classic_luxury"] {
  --lt-bg: #faf7f2;
  --lt-surface: #ffffff;
  --lt-text: #3d3429;
  --lt-heading: #1a1614;
  --lt-muted: #6b5f54;
  --lt-border: #d4c4b0;
  --lt-nav: rgba(250, 247, 242, 0.94);
}

html[data-landing-theme="dark"][data-landing-template="urban_modern"],
html:not([data-landing-theme])[data-landing-template="urban_modern"] {
  --lt-bg: #010101;
  --lt-surface: #050505;
  --lt-text: #f1f5f9;
  --lt-heading: #ffffff;
  --lt-muted: #64748b;
  --lt-border: rgba(255, 255, 255, 0.08);
  --lt-nav: rgba(1, 1, 1, 0.9);
}

html[data-landing-theme="light"][data-landing-template="urban_modern"] {
  --lt-bg: #f1f5f9;
  --lt-surface: #ffffff;
  --lt-text: #0f172a;
  --lt-heading: #020617;
  --lt-muted: #475569;
  --lt-border: rgba(15, 23, 42, 0.12);
  --lt-nav: rgba(241, 245, 249, 0.94);
}

html[data-landing-theme="dark"][data-landing-template="neighborhood_family"],
html:not([data-landing-theme])[data-landing-template="neighborhood_family"] {
  --lt-bg: #1e1a17;
  --lt-surface: #2e2824;
  --lt-text: #faf6f1;
  --lt-heading: #faf6f1;
  --lt-muted: #a89888;
  --lt-border: #3f3830;
  --lt-nav: rgba(30, 26, 23, 0.93);
}

html[data-landing-theme="light"][data-landing-template="neighborhood_family"] {
  --lt-bg: #fef9f3;
  --lt-surface: #fffbf7;
  --lt-text: #2d2419;
  --lt-heading: #1a140f;
  --lt-muted: #6b5f54;
  --lt-border: #e8ddd0;
  --lt-nav: rgba(254, 249, 243, 0.94);
}

html[data-landing-theme="dark"][data-landing-template="custom"],
html:not([data-landing-theme])[data-landing-template="custom"] {
  --cheni-bg: #000000;
  --cheni-surface: #111111;
  --cheni-text: #f5f0e8;
  --cheni-muted: #b8aea0;
  --cheni-border: #1a1a1a;
  --cheni-nav: rgba(0, 0, 0, 0.88);
}

html[data-landing-theme="light"][data-landing-template="custom"] {
  --cheni-bg: #f5f0e8;
  --cheni-surface: #ffffff;
  --cheni-text: #121212;
  --cheni-muted: #5c534a;
  --cheni-border: #ddd5c8;
  --cheni-nav: rgba(245, 240, 232, 0.94);
}

.landing-nav-themed {
  background-color: var(--lt-nav) !important;
  border-color: var(--lt-border) !important;
}

.lt-heading {
  color: var(--lt-heading);
}

.lt-muted {
  color: var(--lt-muted);
}

.landing-theme-scope {
  background-color: var(--lt-bg);
  color: var(--lt-text);
  transition: background-color 0.25s ease, color 0.25s ease;
}

.landing-theme-scope .lt-surface {
  background-color: var(--lt-surface);
  border-color: var(--lt-border);
}

.landing-theme-scope .lt-heading {
  color: var(--lt-heading);
}

.landing-theme-scope .lt-muted {
  color: var(--lt-muted);
}

.landing-theme-scope .lt-border {
  border-color: var(--lt-border);
}

.landing-nav-themed {
  background-color: var(--lt-nav) !important;
  border-color: var(--lt-border) !important;
}

html[data-landing-template="custom"] .cheni-landing {
  background-color: var(--cheni-bg);
  color: var(--cheni-text);
  transition: background-color 0.25s ease, color 0.25s ease;
}

html[data-landing-template="custom"] .cheni-surface {
  background-color: var(--cheni-surface);
  border-color: var(--cheni-border);
}

html[data-landing-template="custom"] .cheni-muted {
  color: var(--cheni-muted);
}

html[data-landing-template="custom"] .cheni-nav {
  background-color: var(--cheni-nav);
  border-color: var(--cheni-border);
}

@media (prefers-reduced-motion: reduce) {
  .landing-theme-scope,
  html[data-landing-template="custom"] .cheni-landing {
    transition: none;
  }

  .landing-reveal-pending {
    opacity: 1 !important;
    transform: none !important;
  }
}

.landing-theme-scope section.landing-reveal-pending {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1), transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.landing-theme-scope section.landing-reveal-visible {
  opacity: 1;
  transform: translateY(0);
}

html[data-landing-template="urban_modern"] .landing-theme-scope {
  --font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-sans: "DM Sans", ui-sans-serif, system-ui, sans-serif;
}

html[data-landing-template="neighborhood_family"] .landing-theme-scope {
  --font-display: "Fraunces", ui-serif, Georgia, serif;
  --font-sans: "Nunito", ui-sans-serif, system-ui, sans-serif;
}

html[data-landing-template="classic_luxury"] .landing-theme-scope {
  --font-display: "Fraunces", ui-serif, Georgia, serif;
  --font-sans: "DM Sans", ui-sans-serif, system-ui, sans-serif;
}

html[data-landing-theme="dark"] .theme-icon-light,
html:not([data-landing-theme]) .theme-icon-light {
  display: none;
}

html[data-landing-theme="light"] .theme-icon-dark {
  display: none;
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *


 */
