.template-root[data-brand="temecula-sun"] {
  /* Valley wine. 600 carries links and rules on the cream; 700 fills the
     footer plate. */
  --brand-tokens-brand-50: #f9eef2;
  --brand-tokens-brand-100: #f1d9e1;
  --brand-tokens-brand-200: #e2b4c3;
  --brand-tokens-brand-300: #cd88a0;
  --brand-tokens-brand-400: #b45c7c;
  --brand-tokens-brand-500: #973a5c;
  --brand-tokens-brand-600: #7a1f3d;
  --brand-tokens-brand-700: #631a32;
  --brand-tokens-brand-800: #4d1427;
  --brand-tokens-brand-900: #370e1c;
  --brand-tokens-brand-950: #230811;
  /* Warm cream neutrals: the paper is late-afternoon light, the ink is
     brown-black. */
  --brand-tokens-greyscale-10: #fdf9f2;
  --brand-tokens-greyscale-50: #f7f1e6;
  --brand-tokens-greyscale-100: #ede4d5;
  --brand-tokens-greyscale-200: #d9ccb9;
  --brand-tokens-greyscale-300: #b5a48f;
  --brand-tokens-greyscale-400: #8c7c69;
  --brand-tokens-greyscale-500: #625546;
  --brand-tokens-greyscale-600: #4f4538;
  --brand-tokens-greyscale-700: #3b342a;
  --brand-tokens-greyscale-800: #28231c;
  --brand-tokens-greyscale-900: #1a1612;
  --brand-tokens-greyscale-950: #100d0a;
  --brand-tokens-greyscale-1000: #080605;
  --brand-tokens-typography-body: "Instrument Sans";
  --brand-tokens-typography-labels: "Manrope";
  --brand-tokens-typography-titles-a: "Playfair Display";
  --brand-tokens-typography-titles-b: "Playfair Display";
  --tint-light: #f5ecdf; /* sand, one step warmer than the paper */
  --accent-terracotta: #b0512a; /* kickers and meta, 5.2:1 on the paper */
  --accent-terracotta-rule: #d97b4f; /* the same clay for rules and bars */
}

/* Link colour per painted surface: Container.css remaps the text tokens on a
   painted band but not the interactive ones. */
.template-root[data-brand="temecula-sun"] .block-container--bg-default,
.template-root[data-brand="temecula-sun"] .block-container--bg-tint {
  --interactive-text-primary-idle: var(--brand-tokens-brand-600);
  --interactive-text-primary-hover: var(--brand-tokens-brand-700);
  --interactive-text-primary-pressed: var(--brand-tokens-brand-800);
}
.template-root[data-brand="temecula-sun"] .block-container--bg-brand {
  --interactive-text-primary-idle: var(--brand-tokens-brand-100);
  --interactive-text-primary-hover: var(--brand-tokens-greyscale-10);
  --interactive-text-primary-pressed: var(--brand-tokens-brand-200);
}
.template-root[data-brand="temecula-sun"] .block-container--bg-inverted {
  --interactive-text-primary-idle: var(--brand-tokens-brand-300);
  --interactive-text-primary-hover: var(--brand-tokens-brand-200);
  --interactive-text-primary-pressed: var(--brand-tokens-brand-100);
  --text-default-4: var(--brand-tokens-brand-300);
}

/* Buttons. The fleet hover fill (brand-400) is too light under a white label;
   on the wine plate the button flips to paper. */
.template-root[data-brand="temecula-sun"] {
  --interactive-contained-primary-hover: var(--brand-tokens-brand-700);
  --interactive-contained-primary-pressed: var(--brand-tokens-brand-800);
}
.template-root[data-brand="temecula-sun"] .block-container--bg-brand,
.template-root[data-brand="temecula-sun"] .block-container--bg-inverted {
  --interactive-contained-primary-idle: var(--brand-tokens-greyscale-10);
  --interactive-contained-primary-hover: var(--brand-tokens-brand-100);
  --interactive-contained-primary-pressed: var(--brand-tokens-brand-200);
  --interactive-contained-primary-on-idle: var(--brand-tokens-brand-900);
}
.template-root[data-brand="temecula-sun"] .block-container--bg-brand .block-cta__input,
.template-root[data-brand="temecula-sun"] .block-container--bg-inverted .block-cta__input {
  color: var(--brand-tokens-greyscale-900);
}

/* Sunset wash behind the masthead: terracotta over wine, fading to the paper
   before the nav. */
.template-root[data-brand="temecula-sun"] .block-container--bg-default:has(.block-header) {
  background-image: linear-gradient(
    180deg,
    color-mix(in srgb, var(--accent-terracotta-rule) 30%, transparent) 0%,
    color-mix(in srgb, var(--brand-tokens-brand-300) 16%, transparent) 50%,
    transparent 100%
  );
}

/* Footer plate: light type on a dark ground, darkened from below. */
.template-root[data-brand="temecula-sun"] .block-container--bg-brand {
  background-image: radial-gradient(
    130% 80% at 50% 125%,
    color-mix(in srgb, var(--brand-tokens-brand-950) 45%, transparent) 0%,
    transparent 72%
  );
}

/* The repeated mark: terracotta kickers and meta, terracotta rules under the
   serif section titles and on the signup bar. */
.template-root[data-brand="temecula-sun"] .block-container--bg-default .card-section-label,
.template-root[data-brand="temecula-sun"] .block-container--bg-tint .card-section-label,
.template-root[data-brand="temecula-sun"] .block-container--bg-default .article-kicker,
.template-root[data-brand="temecula-sun"] .block-container--bg-tint .article-kicker {
  color: var(--accent-terracotta);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.template-root[data-brand="temecula-sun"] .block-container--bg-default .block-section-title--v1,
.template-root[data-brand="temecula-sun"] .block-container--bg-tint .block-section-title--v1 {
  border-bottom-color: var(--accent-terracotta-rule);
}
.template-root[data-brand="temecula-sun"] .block-container--bg-default .block-cta__bar-title,
.template-root[data-brand="temecula-sun"] .block-container--bg-tint .block-cta__bar-title {
  border-left-color: var(--accent-terracotta-rule);
}
/* The signup bar under the lead: a hairline separates it from the story. */
.template-root[data-brand="temecula-sun"] .block-container--bg-default .block-cta__bar {
  border-top: 1px solid var(--elevation-outline-default-1);
  padding-top: var(--global-height-xxl, 24px);
}

/* Overlay forms set type on a photo; keep the fleet's light overlay ramp. */
.template-root[data-brand="temecula-sun"] .block-container .block-hero__overlay-kicker.card-section-label,
.template-root[data-brand="temecula-sun"] .block-container .block-hero__cover-kicker.card-section-label,
.template-root[data-brand="temecula-sun"] .block-container .block-feature-card__overlay-kicker.card-section-label,
.template-root[data-brand="temecula-sun"] .block-container .block-article-hero__overlay-kicker.article-kicker {
  color: var(--brand-tokens-greyscale-10);
}

/* Playfair carries its own contrast; headlines sit a touch tighter. */
.template-root[data-brand="temecula-sun"] .block-hero__lead-title,
.template-root[data-brand="temecula-sun"] .block-feature-card__title,
.template-root[data-brand="temecula-sun"] .block-article-hero__title {
  letter-spacing: -0.01em;
  line-height: 1.1;
}
