.template-root[data-brand="coronado-beacon"] {
  --brand-tokens-brand-50: #eaf0f7;
  --brand-tokens-brand-100: #d3e0ee;
  --brand-tokens-brand-200: #a4bedb;
  --brand-tokens-brand-300: #7099c4;
  --brand-tokens-brand-400: #4576a8;
  --brand-tokens-brand-500: #2a5a8a;
  --brand-tokens-brand-600: #1d4a75;
  --brand-tokens-brand-700: #16324f;
  --brand-tokens-brand-800: #0f2439;
  --brand-tokens-brand-900: #0a1826;
  --brand-tokens-brand-950: #060f18;
  --brand-tokens-greyscale-10: #ffffff;
  --brand-tokens-greyscale-50: #f5f7f9;
  --brand-tokens-greyscale-100: #e8ebef;
  --brand-tokens-greyscale-200: #d2d8de;
  --brand-tokens-greyscale-300: #aab3bd;
  --brand-tokens-greyscale-400: #828d99;
  --brand-tokens-greyscale-500: #556170;
  --brand-tokens-greyscale-600: #45505c;
  --brand-tokens-greyscale-700: #353e47;
  --brand-tokens-greyscale-800: #242a31;
  --brand-tokens-greyscale-900: #1a1f24;
  --brand-tokens-greyscale-950: #121518;
  --brand-tokens-greyscale-1000: #090b0d;
  --brand-tokens-typography-body: "Source Serif 4";
  --brand-tokens-typography-labels: "DM Mono";
  --brand-tokens-typography-titles-a: "Playfair Display";
  --brand-tokens-typography-titles-b: "Playfair Display";
  --tint-light: #eef2f7; /* harbour haze */
  --accent-roof: #9b2f22; /* Hotel del roof tile - 7.4:1 on the page, 6.6:1 on the tint */
}

/* Link colour per painted surface — Container.css remaps the text tokens on a
   painted band but not the interactive ones. */
.template-root[data-brand="coronado-beacon"] .block-container--bg-default,
.template-root[data-brand="coronado-beacon"] .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-600);
  --text-default-4: var(--brand-tokens-brand-600);
  /* Section-title bars and squares carry a label, so the fill obeys 4.5:1. */
  --elevation-fill-default-4: var(--brand-tokens-brand-700);
}
.template-root[data-brand="coronado-beacon"] .block-container--bg-brand {
  --interactive-text-primary-idle: var(--brand-tokens-brand-100);
  --interactive-text-primary-hover: var(--brand-tokens-brand-50);
  --interactive-text-primary-pressed: var(--brand-tokens-brand-200);
}
.template-root[data-brand="coronado-beacon"] .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);
}
.template-root[data-brand="coronado-beacon"] {
  /* fleet default hover fill (brand-400) is too light for a white label */
  --interactive-contained-primary-hover: var(--brand-tokens-brand-700);
  --interactive-contained-primary-pressed: var(--brand-tokens-brand-800);
}
.template-root[data-brand="coronado-beacon"] .block-container--bg-brand,
.template-root[data-brand="coronado-beacon"] .block-container--bg-inverted {
  --interactive-contained-primary-idle: var(--brand-tokens-greyscale-10);
  --interactive-contained-primary-hover: var(--brand-tokens-greyscale-100);
  --interactive-contained-primary-pressed: var(--brand-tokens-greyscale-200);
  --interactive-contained-primary-on-idle: var(--brand-tokens-brand-900);
}
/* Painted containers otherwise render typed input text on the field's light fill. */
.template-root[data-brand="coronado-beacon"] .block-container--bg-brand .block-cta__input,
.template-root[data-brand="coronado-beacon"] .block-container--bg-inverted .block-cta__input {
  color: var(--brand-tokens-greyscale-900);
}

/* Depth moves the surface away from the type's luminance: light type on a dark
   band means darkening from below. */
.template-root[data-brand="coronado-beacon"] .block-container--bg-brand {
  background-image: radial-gradient(
    132% 80% at 50% 126%,
    color-mix(in srgb, var(--brand-tokens-brand-950) 24%, transparent) 0%,
    transparent 74%
  );
}
.template-root[data-brand="coronado-beacon"] .block-container--bg-inverted {
  background-image: radial-gradient(
    132% 76% at 50% 124%,
    color-mix(in srgb, var(--brand-tokens-greyscale-1000) 26%, transparent) 0%,
    transparent 72%
  );
}

/* The quiet one: a thin naval haze under the masthead, no band, no glow. The
   identity is the rule work and the roof-red dateline. */
.template-root[data-brand="coronado-beacon"] .block-container--bg-default:has(.block-header) {
  background-image: linear-gradient(
    180deg,
    color-mix(in srgb, var(--brand-tokens-brand-400) 20%, transparent) 0%,
    color-mix(in srgb, var(--brand-tokens-brand-400) 6%, transparent) 58%,
    transparent 100%
  );
}
/* Roof red is the only warm mark on the page: kickers and the section rule. */
.template-root[data-brand="coronado-beacon"] .block-container--bg-default .card-section-label,
.template-root[data-brand="coronado-beacon"] .block-container--bg-tint .card-section-label {
  color: var(--accent-roof);
  letter-spacing: 0.09em;
}
.template-root[data-brand="coronado-beacon"] .block-container--bg-default .block-section-title__line,
.template-root[data-brand="coronado-beacon"] .block-container--bg-tint .block-section-title__line {
  border-top-color: var(--accent-roof);
}
.template-root[data-brand="coronado-beacon"] .block-container--bg-default .block-section-title--v1,
.template-root[data-brand="coronado-beacon"] .block-container--bg-tint .block-section-title--v1 {
  border-bottom-color: var(--brand-tokens-brand-700);
}
.template-root[data-brand="coronado-beacon"] .block-section-title {
  letter-spacing: 0.03em;
}
/* Playfair at display size wants a tighter measure than the fleet default. */
.template-root[data-brand="coronado-beacon"] .article-body .payload-richtext > p:first-of-type {
  font-size: 21px;
  line-height: 34px;
  color: var(--brand-tokens-greyscale-800);
}

/* The article page's own kicker element, so the outlet's kicker colour is the
   same on a card and above a headline. */
.template-root[data-brand="coronado-beacon"] .block-container--bg-default .article-kicker,
.template-root[data-brand="coronado-beacon"] .block-container--bg-tint .article-kicker {
  color: var(--accent-roof);
}

/* Overlay forms set type on a photo, so the recoloured kicker/meta above would
   land on the scrim. These keep the fleet's light overlay ramp. */
.template-root[data-brand="coronado-beacon"] .block-hero__overlay-kicker.card-section-label,
.template-root[data-brand="coronado-beacon"] .block-feature-card__overlay-kicker.card-section-label,
.template-root[data-brand="coronado-beacon"] .block-article-hero__overlay-kicker {
  color: var(--brand-tokens-greyscale-10);
}
.template-root[data-brand="coronado-beacon"] .block-hero__overlay-meta.card-meta,
.template-root[data-brand="coronado-beacon"] .block-feature-card__meta--overlay.card-meta,
.template-root[data-brand="coronado-beacon"] .block-article-hero__overlay-meta {
  color: var(--brand-tokens-greyscale-200);
}
