.template-root[data-brand="lake-norman-beacon"] {
  --brand-tokens-brand-50: #edf8fc;
  --brand-tokens-brand-100: #d2edf9;
  --brand-tokens-brand-200: #97daf7;
  --brand-tokens-brand-300: #45c2f7;
  --brand-tokens-brand-400: #05a2e6;
  --brand-tokens-brand-500: #036a96;
  --brand-tokens-brand-600: #02405a;
  --brand-tokens-brand-700: #02354b;
  --brand-tokens-brand-800: #012a3c;
  --brand-tokens-brand-900: #01202d;
  --brand-tokens-brand-950: #011219;
  --brand-tokens-greyscale-10: #ffffff;
  --brand-tokens-greyscale-50: #f2f5f7;
  --brand-tokens-greyscale-100: #e5eaee;
  --brand-tokens-greyscale-200: #ced6dc;
  --brand-tokens-greyscale-300: #aab6bf;
  --brand-tokens-greyscale-400: #87949d;
  --brand-tokens-greyscale-500: #65727b;
  --brand-tokens-greyscale-600: #505c63;
  --brand-tokens-greyscale-700: #3c464b;
  --brand-tokens-greyscale-800: #282f34;
  --brand-tokens-greyscale-900: #0d1a20;
  --brand-tokens-greyscale-950: #080f13;
  --brand-tokens-greyscale-1000: #040709;
  --brand-tokens-typography-body: "Instrument Sans";
  --brand-tokens-typography-labels: "DM Sans";
  --brand-tokens-typography-titles-a: "Google Sans Flex";
  --brand-tokens-typography-titles-b: "Google Sans Flex";
  --tint-light: #e8f0f4;
  --buoy-orange: #ff4f00;
}

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

.template-root[data-brand="lake-norman-beacon"] {
  --elevation-fill-default-4: var(--buoy-orange);
}

/* Raw buoy orange fails text contrast, so links mix it toward ink. */
.template-root[data-brand="lake-norman-beacon"]
  .block-container:not(.block-container--bg-inverted):not(.block-container--bg-brand):not(
    .block-container--bg-image
  )
  .block-section-title__see-all {
  color: color-mix(in srgb, var(--buoy-orange) 80%, var(--brand-tokens-greyscale-900));
}

/* Hero v9 uses the lead-title selector on desktop; Google Sans Flex supports weight 600. */
.template-root[data-brand="lake-norman-beacon"] .block-hero__lead-title {
  font-size: 46px;
  line-height: 52px;
  font-weight: 600;
  letter-spacing: -0.015em;
}

/* A fixed size bypasses the shared 767px step on --card-title-xl. */
@media (max-width: 767px) {
  .template-root[data-brand="lake-norman-beacon"] .block-hero__lead-title {
    font-size: 32px;
    line-height: 38px;
  }
}

/* Keep the chrome paint local; changing --tint-light would alter every tint band. */
.template-root[data-brand="lake-norman-beacon"]
  .block-container--bg-default:has(.block-header) {
  background-image:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--brand-tokens-brand-500) 14%, transparent) 0%,
      color-mix(in srgb, var(--brand-tokens-brand-500) 9%, transparent) 74%,
      transparent 100%
    ),
    radial-gradient(
      70% 90% at 84% 8%,
      color-mix(in srgb, var(--brand-tokens-brand-300) 12%, transparent) 0%,
      transparent 62%
    );
}
