/* Shared homepage and property-page visual styling from design.md.
   Existing geometry, type sizes, breakpoints and motion are intentionally retained. */
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) {
  --action: #0066cc;
  --action-focus: #0071e3;
  --action-dark: #2997ff;
  --ink: #1d1d1f;
  --text: #1d1d1f;
  --muted: #333333;
  --cream: #ffffff;
  --paper: #ffffff;
  --sage: #f5f5f7;
  --clay: #0066cc;
  --line: #e0e0e0;
  --surface-dark: #272729;
  --surface-black: #000000;
  --on-dark: #ffffff;
  --muted-dark: #cccccc;
  --font-ui: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-ui);
}
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) :is(h1, h2, h3, p, blockquote, .brand i, button, select) { font-family: var(--font-ui); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) :is(h1, h2, h3, .discovery-panel strong, .brand i) { font-weight: 600; }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) :is(.hero h1 em, h2 em) { color: var(--ink); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) header { background: var(--surface-black); color: var(--on-dark); border-color: var(--surface-black); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) .talk { color: var(--action-dark); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) :is(.text-link, .more, .reset-filters, .hero-foot a) { color: var(--action); border-color: var(--action); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) :is(.primary, .about .primary, .floating) {
  background: var(--action);
  border-color: var(--action);
  color: var(--on-dark);
  border-radius: 9999px;
  box-shadow: none;
}
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) :is(.primary:hover, .about .primary:hover, .floating:hover) { background: var(--action); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) :is(a, button, select):focus-visible { outline-color: var(--action-focus); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) :is(.discovery, .cta) { background: var(--sage); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) .discovery-panel { background: var(--surface-dark); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) .discovery-panel > span { background: rgba(0, 0, 0, .52); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) .hero-caption { background: rgba(0, 0, 0, .48); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) :is(.hero-caption, .hero-caption small, .discovery-panel small) { color: var(--on-dark); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) .home-image > .listing-badge { background: var(--paper); color: var(--ink); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) .about { background: var(--surface-dark); color: var(--on-dark); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) .about h2 em { color: var(--on-dark); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) .about .lead { color: var(--on-dark); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) :is(.about-copy .eyebrow, .about-copy > p:not(.lead):not(.eyebrow)) { color: var(--muted-dark); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) .about-portrait { background: var(--sage); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) .cta > p { color: var(--ink); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) footer { background: var(--sage); color: var(--muted); }
body:is([data-page="home"], [data-page="property"], [data-page="legal"], [data-page="launch"]) :is(h1 em, h2 em) { font-weight: inherit; }

/* Property pages share homepage styling, while retaining their detail layout. */
body:is([data-page="property"], [data-page="launch"]) header { background:var(--paper); color:var(--ink); border-color:var(--line); }
body:is([data-page="property"], [data-page="launch"]) .talk { color:var(--action); }
body:is([data-page="property"], [data-page="launch"]) :is(input, output, .facts dd, .intro blockquote) { font-family:var(--font-ui); }
body:is([data-page="property"], [data-page="launch"]) :is(.section small, .intro small, .cta small, .facts dt) { color:var(--muted); }
body:is([data-page="property"], [data-page="launch"]) :is(.location, .detail-list.deposit, .mortgage, .detail-placeholder, .location aside) { background:var(--sage); }
body:is([data-page="property"], [data-page="launch"]) .intro > i { background:var(--action); color:var(--on-dark); }
body:is([data-page="property"], [data-page="launch"]) .map-link { box-shadow:none; }
body:is([data-page="property"], [data-page="launch"]) .hero-photo-label { border-radius:9999px; }
body:is([data-page="property"], [data-page="launch"]) :is(.mortgage-form input, .share-link) { border-radius:8px; }
body:is([data-page="property"], [data-page="launch"]) input:focus-visible { outline-color:var(--action-focus); }

body:is([data-page="property"], [data-page="launch"]) :is(.intro p, .location aside small, .home-copy > p) { color:var(--muted); }
