/* Rosemont Grove — Stage 2 tokens
 * Locked 21 August 2026 from packet PNGs (PIL-sampled).
 * Source of truth: ../THEME.md  ·  facts: ../SSOT.md
 * Do not retint. Do not add teal / gold / realtor blue.
 */

@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400;0,6..96,500;0,6..96,600;0,6..96,700;1,6..96,400;1,6..96,500;1,6..96,600&family=Montserrat:wght@300;400;500;600&display=swap");

:root {
  /* —— Palette (sampled) —— */
  --rg-burgundy: #52252e;          /* logo field — primary brand plate */
  --rg-burgundy-cta: #612c37;      /* ads + Quick Facts headers, CTA pill */
  --rg-burgundy-hover: #6b3943;    /* sampled Ad 3 lighter burgundy */
  --rg-bg: #f4ece8;                /* cream / parchment page */
  --rg-surface: #f7f2ec;           /* raised cards, form panel */
  --rg-surface-white: #ffffff;
  --rg-taupe: #ded8ce;             /* Ad 2 header; secondary fills */
  --rg-text: #35302e;              /* Ad 3 headline / body charcoal */
  --rg-text-display: #493f37;      /* Ad 1 serif on cream (price, product) */
  --rg-text-on-burgundy: #ffffff;
  --rg-charcoal: #383434;          /* Ad 2 footer; 41' collection key */
  --rg-ink: #2c2926;               /* LOGO ON WHT.png mark ink */
  --rg-muted: #7a736e;             /* captions, asterisk legal */
  --rg-rule: #ded8ce;

  /* Aliases Stage 3 may prefer by role */
  --rg-color-bg: var(--rg-bg);
  --rg-color-surface: var(--rg-surface);
  --rg-color-text: var(--rg-text);
  --rg-color-accent: var(--rg-burgundy-cta);
  --rg-color-cta: var(--rg-burgundy-cta);
  --rg-color-cta-hover: var(--rg-burgundy-hover);
  --rg-color-primary: var(--rg-burgundy);

  /* Collection keys (site-plan legend) */
  --rg-collection-38: var(--rg-burgundy-cta);
  --rg-collection-41: var(--rg-charcoal);

  /* Overlay on dusk elevations */
  --rg-overlay: rgba(82, 37, 46, 0.62); /* #52252E */
  --rg-overlay-charcoal: rgba(56, 52, 52, 0.58);
  --rg-backdrop: rgba(82, 37, 46, 0.5);

  /* —— Type —— */
  --rg-font-display: "Bodoni Moda", "Playfair Display", "Didot", "Bodoni MT", serif;
  --rg-font-sans: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;

  --rg-tracking-wordmark: 0.34em;
  --rg-tracking-collection: 0.38em;
  --rg-tracking-kicker: 0.22em;
  --rg-tracking-chip: 0.18em;
  --rg-tracking-cta: 0.02em;

  /* —— Shape / elevation —— */
  --rg-radius-pill: 999px;
  --rg-radius-card: 10px;
  --rg-radius-input: 4px;
  --rg-shadow-card: 0 8px 24px rgba(44, 41, 38, 0.08);
  --rg-shadow-none: none;

  /* —— CTA copy (locked from ads) —— */
  --rg-cta-label: "Contact Me For First Access";
}

html {
  background: var(--rg-bg);
  color: var(--rg-text);
  font-family: var(--rg-font-sans);
  font-weight: 400;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, .rg-display, .rg-price, .rg-wordmark {
  font-family: var(--rg-font-display);
  font-optical-sizing: auto;
  font-weight: 600;
  color: var(--rg-text-display);
  line-height: 1.15;
}

.rg-wordmark {
  font-weight: 500;
  letter-spacing: var(--rg-tracking-wordmark);
  text-transform: uppercase;
}

.rg-collection-tag {
  font-family: var(--rg-font-sans);
  font-weight: 300;
  font-size: 0.72em;
  letter-spacing: var(--rg-tracking-collection);
  text-transform: uppercase;
}

.rg-kicker {
  font-family: var(--rg-font-sans);
  font-weight: 500;
  letter-spacing: var(--rg-tracking-kicker);
  text-transform: uppercase;
  color: var(--rg-muted);
}

/* Primary pill — packet CTA */
.rg-btn,
.rg-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--rg-font-display);
  font-style: italic;
  font-weight: 500;
  font-optical-sizing: auto;
  letter-spacing: var(--rg-tracking-cta);
  color: var(--rg-text-on-burgundy);
  background: var(--rg-burgundy-cta);
  border: 0;
  border-radius: var(--rg-radius-pill);
  padding: 0.9em 1.75em;
  text-decoration: none;
  cursor: pointer;
}

.rg-btn:hover,
.rg-btn-primary:hover {
  background: var(--rg-burgundy-hover);
}

.rg-btn-secondary {
  background: transparent;
  color: var(--rg-burgundy-cta);
  box-shadow: inset 0 0 0 1px var(--rg-burgundy-cta);
}

.rg-btn-secondary:hover {
  background: var(--rg-burgundy-cta);
  color: var(--rg-text-on-burgundy);
}

.rg-chip {
  display: inline-flex;
  align-items: center;
  font-family: var(--rg-font-sans);
  font-weight: 500;
  font-size: 0.7rem;
  letter-spacing: var(--rg-tracking-chip);
  text-transform: uppercase;
  border-radius: var(--rg-radius-pill);
  padding: 0.4em 0.9em;
  background: var(--rg-burgundy-cta);
  color: var(--rg-text-on-burgundy);
}

.rg-chip-coming-soon {
  /* Locked copy: Coming Soon */
}

.rg-chip-outline {
  background: transparent;
  color: var(--rg-text);
  box-shadow: inset 0 0 0 1px var(--rg-burgundy-cta);
}

.rg-price .rg-price-overline {
  display: block;
  font-family: var(--rg-font-sans);
  font-style: normal;
  font-weight: 500;
  font-size: 0.7rem;
  letter-spacing: var(--rg-tracking-kicker);
  text-transform: uppercase;
  color: var(--rg-muted);
}

.rg-price .rg-price-figure {
  font-family: var(--rg-font-display);
  font-weight: 700;
  color: var(--rg-text-display);
}

.rg-card {
  background: var(--rg-surface);
  border-radius: var(--rg-radius-card);
  box-shadow: var(--rg-shadow-card);
}

.rg-card-38 { border-top: 4px solid var(--rg-collection-38); }
.rg-card-41 { border-top: 4px solid var(--rg-collection-41); }

.rg-form-backdrop {
  background: var(--rg-backdrop);
}

.rg-form-panel {
  background: var(--rg-surface-white);
  border-radius: var(--rg-radius-card);
  box-shadow: var(--rg-shadow-card);
}

.rg-input {
  font-family: var(--rg-font-sans);
  color: var(--rg-text);
  background: var(--rg-surface-white);
  border: 1px solid var(--rg-rule);
  border-radius: var(--rg-radius-input);
  padding: 0.75em 0.9em;
}

.rg-input:focus {
  outline: 2px solid var(--rg-burgundy);
  outline-offset: 1px;
}

.rg-footer {
  background: var(--rg-charcoal);
  color: var(--rg-text-on-burgundy);
}

.rg-footer a { color: var(--rg-text-on-burgundy); }

.rg-caption,
.rg-legal {
  font-family: var(--rg-font-sans);
  font-weight: 300;
  font-size: 0.75rem;
  color: var(--rg-muted);
  line-height: 1.45;
}
