.template-root[data-brand="katy-fulshear-times"] {
  --brand-tokens-brand-50: #fcfcee;
  --brand-tokens-brand-100: #f8f8d3;
  --brand-tokens-brand-200: #f3f39b;
  --brand-tokens-brand-300: #eeee58;
  --brand-tokens-brand-400: #eded12;
  --brand-tokens-brand-500: #c0c00c;
  --brand-tokens-brand-600: #9b9b08;
  --brand-tokens-brand-700: #7e7e07;
  --brand-tokens-brand-800: #656506;
  --brand-tokens-brand-900: #515106;
  --brand-tokens-brand-950: #2f2f04;
  --brand-tokens-greyscale-10: #fffdf3;
  --brand-tokens-greyscale-50: #f6f3e9;
  --brand-tokens-greyscale-100: #eae7dc;
  --brand-tokens-greyscale-200: #d6d2c5;
  --brand-tokens-greyscale-300: #b5b0a3;
  --brand-tokens-greyscale-400: #918c80;
  --brand-tokens-greyscale-500: #6d6960;
  --brand-tokens-greyscale-600: #57534c;
  --brand-tokens-greyscale-700: #42403a;
  --brand-tokens-greyscale-800: #302e2a;
  --brand-tokens-greyscale-900: #1c1a17;
  --brand-tokens-greyscale-950: #12100e;
  --brand-tokens-greyscale-1000: #080706;
  --brand-tokens-typography-body: "Source Serif 4";
  --brand-tokens-typography-labels: "DM Sans";
  --brand-tokens-typography-titles-a: "Barlow Semi Condensed";
  --brand-tokens-typography-titles-b: "Barlow Semi Condensed";
  --tint-light: #f5f2df;
}

.template-root[data-brand="katy-fulshear-times"] .block-section-title {
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* brand-600 fails text contrast on paper, so text uses darker stops. */
.template-root[data-brand="katy-fulshear-times"] {
  --text-default-4: var(--brand-tokens-brand-800);
  --elevation-fill-default-4: var(--brand-tokens-brand-700);
  --interactive-text-primary-idle: var(--brand-tokens-brand-800);
  --interactive-text-primary-hover: var(--brand-tokens-brand-900);
  --interactive-text-primary-pressed: var(--brand-tokens-brand-800);
  --interactive-contained-primary-idle: var(--brand-tokens-brand-800);
  --interactive-contained-primary-hover: var(--brand-tokens-brand-900);
  --interactive-outlined-primary-toggled-idle: var(--brand-tokens-brand-800);
}

/* Painted surfaces remap this meta token to their light value. */
.template-root[data-brand="katy-fulshear-times"] {
  --text-default-3: var(--brand-tokens-brand-800);
}

.template-root[data-brand="katy-fulshear-times"] .block-quick-hits__label {
  color: var(--brand-tokens-greyscale-800);
  letter-spacing: 0.16em;
}

/* The default muted text fails contrast on this brand band. */
.template-root[data-brand="katy-fulshear-times"] .block-container--bg-brand {
  --text-inverted-3: var(--brand-tokens-greyscale-100);
}

/* RichText wraps article paragraphs in .payload-richtext. */
.template-root[data-brand="katy-fulshear-times"] .article-body .payload-richtext > p:first-of-type {
  font-size: 22px;
  font-weight: 500;
  line-height: 34px;
}

/* Use a brand color for the active item without reducing contrast on the dark nav. */
.template-root[data-brand="katy-fulshear-times"] .block-menubar[data-bg="inverted"] {
  --interactive-text-primary-idle-inverted: var(--brand-tokens-brand-400);
}

.template-root[data-brand="katy-fulshear-times"] .block-hero__lead-title {
  font-size: 47px;
  line-height: 50px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* The fixed desktop size bypasses the shared mobile token step. */
@media (max-width: 767px) {
  .template-root[data-brand="katy-fulshear-times"] .block-hero__lead-title {
    font-size: 34px;
    line-height: 38px;
  }
}

.template-root[data-brand="katy-fulshear-times"] .block-container--bg-default:has(.block-header) {
  background-image:
    radial-gradient(
      80% 110% at 50% 118%,
      color-mix(in srgb, var(--brand-tokens-brand-500) 22%, transparent) 0%,
      transparent 60%
    ),
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--brand-tokens-greyscale-900) 10%, transparent) 0%,
      transparent 42%
    );
}
