.template-root[data-brand="reston-review"] {
  --brand-tokens-brand-50: #f1f9f8;
  --brand-tokens-brand-100: #e3f2f1;
  --brand-tokens-brand-200: #c8e5e3;
  --brand-tokens-brand-300: #90cbc7;
  --brand-tokens-brand-400: #439d97;
  --brand-tokens-brand-500: #317d78;
  --brand-tokens-brand-600: #256560;
  --brand-tokens-brand-700: #1c4f4c;
  --brand-tokens-brand-800: #16413e;
  --brand-tokens-brand-900: #0f2f2c;
  --brand-tokens-brand-950: #091f1e;
  --brand-tokens-greyscale-10: #f4f3f1;
  --brand-tokens-greyscale-50: #efeeeb;
  --brand-tokens-greyscale-100: #e5e4e0;
  --brand-tokens-greyscale-200: #d7d5d0;
  --brand-tokens-greyscale-300: #b8b5ad;
  --brand-tokens-greyscale-400: #969288;
  --brand-tokens-greyscale-500: #68645a;
  --brand-tokens-greyscale-600: #535046;
  --brand-tokens-greyscale-700: #403d35;
  --brand-tokens-greyscale-800: #2d2b25;
  --brand-tokens-greyscale-900: #1f1e19;
  --brand-tokens-greyscale-950: #141310;
  --brand-tokens-greyscale-1000: #0c0b09;
  --brand-tokens-typography-body: "Source Serif 4";
  --brand-tokens-typography-labels: "Source Serif 4";
  --brand-tokens-typography-titles-a: "Google Sans Flex";
  --brand-tokens-typography-titles-b: "Google Sans Flex";

  --tint-light: #e6e4df;
}

.template-root[data-brand="reston-review"] .block-section-title {
  letter-spacing: 0.02em;
}

.template-root[data-brand="reston-review"] .block-container--bg-default,
.template-root[data-brand="reston-review"] .block-container--bg-tint {
  --interactive-text-primary-hover: var(--brand-tokens-brand-800);
  --interactive-text-primary-pressed: var(--brand-tokens-brand-900);

  --interactive-contained-primary-hover: var(--brand-tokens-brand-800);
  --interactive-contained-primary-pressed: var(--brand-tokens-brand-900);
}

.template-root[data-brand="reston-review"] .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);
}

.template-root[data-brand="reston-review"] .block-container--bg-brand {
  --interactive-text-primary-idle: var(--brand-tokens-brand-200);
  --interactive-text-primary-hover: var(--brand-tokens-brand-100);
  --interactive-text-primary-pressed: var(--brand-tokens-brand-50);
}

/* Shared CTA controls need light plates on Reston's dark painted surfaces. */
.template-root[data-brand="reston-review"] .block-container--bg-brand .block-cta__button,
.template-root[data-brand="reston-review"] .block-container--bg-inverted .block-cta__button,
.template-root[data-brand="reston-review"] .block-container--bg-brand .block-header__subscribe-btn {
  background: var(--brand-tokens-greyscale-10);
  background-color: var(--brand-tokens-greyscale-10);
  border-color: var(--brand-tokens-greyscale-10);
  color: var(--brand-tokens-greyscale-900);
}

.template-root[data-brand="reston-review"] .block-container--bg-brand .block-cta__button:hover,
.template-root[data-brand="reston-review"] .block-container--bg-inverted .block-cta__button:hover,
.template-root[data-brand="reston-review"]
  .block-container--bg-brand
  .block-header__subscribe-btn:hover {
  background: var(--brand-tokens-greyscale-100);
  background-color: var(--brand-tokens-greyscale-100);
  border-color: var(--brand-tokens-greyscale-100);
  color: var(--brand-tokens-greyscale-900);
  opacity: 1;
}

/* The input keeps a light fill after its text tokens are remapped. */
.template-root[data-brand="reston-review"] .block-container--bg-brand .block-cta__input,
.template-root[data-brand="reston-review"] .block-container--bg-inverted .block-cta__input {
  color: var(--brand-tokens-greyscale-900);
}

.template-root[data-brand="reston-review"] .block-container--bg-brand {
  background-image: linear-gradient(
    180deg,
    transparent 0%,
    color-mix(in srgb, var(--brand-tokens-brand-950) 20%, transparent) 100%
  );
}

.template-root[data-brand="reston-review"] .block-container--bg-default .block-quick-hits__label,
.template-root[data-brand="reston-review"] .block-container--bg-tint .block-quick-hits__label {
  color: var(--brand-tokens-brand-700);
  letter-spacing: 0.12em;
}

/* Hero.css owns the image-cover kicker color; exclude it from card metadata. */
.template-root[data-brand="reston-review"]
  .block-container--bg-default
  .card-section-label:not(.block-hero__cover-kicker),
.template-root[data-brand="reston-review"]
  .block-container--bg-tint
  .card-section-label:not(.block-hero__cover-kicker) {
  color: var(--brand-tokens-brand-700);
}
