/* ============================================================
   themes/swiss.tokens.css: the swiss brand's values

   The color ramps, the semantic colors they resolve to in each
   theme, and the type roles software doesn't carry. This repo
   owns these values, so edit them here. The vendor scripts never
   touch this file.

   Loads after vendor/software/tokens.css, so anything set under
   data-brand="swiss" wins over software's defaults.
   ============================================================ */

[data-brand="swiss"] {
  --color-brand-primary-100: #fce3dd;
  --color-brand-primary-200: #f8bfb2;
  --color-brand-primary-300: #f28a74;
  --color-brand-primary-400: #ea5a3d;
  --color-brand-primary-500: #e12a09;
  --color-brand-primary-550: #d42807;
  --color-brand-primary-600: #b82206;
  --color-brand-primary-700: #8f1a05;
  --color-brand-primary-800: #661203;
  --color-brand-primary-900: #3d0b02;
  --color-brand-secondary-100: #dff2f9;
  --color-brand-secondary-200: #b8e3f2;
  --color-brand-secondary-300: #86d0ea;
  --color-brand-secondary-400: #45b5dd;
  --color-brand-secondary-500: #2296c0;
  --color-brand-secondary-600: #1b7799;
  --color-brand-secondary-700: #145a74;
  --color-brand-secondary-800: #0e3d4f;
  --color-brand-secondary-900: #07202a;
  --color-neutral-0: #ffffff;
  --color-neutral-50: #f8f8f8;
  --color-neutral-100: #ededea;
  --color-neutral-200: #d9d9d6;
  --color-neutral-300: #b5b5b2;
  --color-neutral-400: #8c8c89;
  --color-neutral-500: #686868;
  --color-neutral-600: #555555;
  --color-neutral-700: #424242;
  --color-neutral-750: #2e2e2e;
  --color-neutral-800: #1c1c1c;
  --color-neutral-850: #121212;
  --color-neutral-900: #0f0f0f;
  --color-neutral-1000: #000000;
  --color-brand-default: var(--color-brand-primary-500);
  --color-brand-hover: var(--color-brand-primary-600);
  --typography-font-family-accent: var(--typography-font-family-inter);
  --typography-font-family-base: var(--typography-font-family-inter);
  --typography-font-family-headline: var(--typography-font-family-inter);
  --typography-font-family-jetbrains-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --typography-font-family-mono: var(--typography-font-family-jetbrains-mono);
}

[data-brand="swiss"],
[data-brand="swiss"] [data-theme="light"] {
  color-scheme: light;
  --color-background-default: #f8f8f8;
  --color-background-subtle: #ffffff;
  --color-background-subtle-hover: #ededea;
  --color-background-disabled: #ededea;
  --color-background-knockout: #0f0f0f;
  --color-background-knockout-hover: #000000;
  --color-background-knockout-translucent: #0f0f0fcc;
  --color-background-brand: #e12a09;
  --color-background-brand-hover: #b82206;
  --color-background-selected: #dff2f9;
  --color-border-default: #686868;
  --color-border-subtle: #d9d9d6;
  --color-border-subtle-hover: #b5b5b2;
  --color-border-strong: #0f0f0f;
  --color-border-hover: #0f0f0f;
  --color-border-disabled: #b5b5b2;
  --color-border-focus: #e12a09;
  --color-border-brand: #e12a09;
  --color-border-brand-hover: #b82206;
  --color-border-selected: #1b7799;
  --color-border-knockout: #ffffffcc;
  --color-border-knockout-hover: #ffffff;
  --color-content-default: #555555;
  --color-content-subtitle: #424242;
  --color-content-subtle: #686868;
  --color-content-emphasized: #0f0f0f;
  --color-content-headline: #0f0f0f;
  --color-content-disabled: #8c8c89;
  --color-content-brand: #d42807;
  --color-content-brand-hover: #b82206;
  --color-content-brand-knockout: #ffffff;
  --color-content-brand-secondary: #45b5dd;
  --color-content-headline-brand: #e12a09;
  --color-content-headline-knockout: #ffffff;
  --color-content-eyebrow: #d42807;
  --color-content-eyebrow-knockout: #ffffff;
  --color-content-link: #0f0f0f;
  --color-content-link-hover: #d42807;
  --color-content-knockout: #ffffff;
  --color-content-subtitle-knockout: #ffffff;
  --color-elevation-shadow: #0f0f0f66;
  --color-background-utility-error: #fceaef;
  --color-background-utility-error-knockout: #b82f30;
  --color-background-utility-info: #eceefc;
  --color-background-utility-info-knockout: #4555d3;
  --color-background-utility-success: #dcf3ee;
  --color-background-utility-success-knockout: #0b7058;
  --color-background-utility-warning: #f9efbb;
  --color-background-utility-warning-knockout: #8a5801;
  --color-border-utility-error: #8d2121;
  --color-border-utility-info: #34409e;
  --color-border-utility-success: #085442;
  --color-border-utility-warning: #6d3f00;
  --color-content-utility-error: #b82f30;
  --color-content-utility-info: #4555d3;
  --color-content-utility-success: #0b7058;
  --color-content-utility-warning: #8a5801;
}

@media (prefers-color-scheme: dark) {
  [data-brand="swiss"]:not([data-theme="light"]) {
    color-scheme: dark;
    --color-background-default: #1a1a1a;
    --color-background-subtle: #242424;
    --color-background-subtle-hover: #333333;
    --color-background-disabled: #242424;
    --color-background-knockout: #424242;
    --color-background-knockout-hover: #555555;
    --color-background-knockout-translucent: #000000cc;
    --color-background-brand: #e12a09;
    --color-background-brand-hover: #b82206;
    --color-background-selected: #0e3d4f;
    --color-border-default: #8c8c89;
    --color-border-subtle: #383838;
    --color-border-subtle-hover: #555555;
    --color-border-strong: #ededea;
    --color-border-hover: #ededea;
    --color-border-disabled: #424242;
    --color-border-focus: #e96149;
    --color-border-brand: #e96149;
    --color-border-brand-hover: #ed7a66;
    --color-border-selected: #45b5dd;
    --color-border-knockout: #ffffffcc;
    --color-border-knockout-hover: #ffffff;
    --color-content-default: #ababa8;
    --color-content-subtitle: #bdbdba;
    --color-content-subtle: #9a9a98;
    --color-content-emphasized: #ededea;
    --color-content-headline: #ededea;
    --color-content-disabled: #686868;
    --color-content-brand: #e96149;
    --color-content-brand-hover: #ed7a66;
    --color-content-brand-knockout: #ffffff;
    --color-content-brand-secondary: #45b5dd;
    --color-content-headline-brand: #e96149;
    --color-content-headline-knockout: #ffffff;
    --color-content-eyebrow: #e96149;
    --color-content-eyebrow-knockout: #ffffff;
    --color-content-link: #ededea;
    --color-content-link-hover: #e96149;
    --color-content-knockout: #ffffff;
    --color-content-subtitle-knockout: #ffffff;
    --color-elevation-shadow: #000000cc;
    --color-background-utility-error: #390e0e;
    --color-background-utility-error-knockout: #b82f30;
    --color-background-utility-info: #15193f;
    --color-background-utility-info-knockout: #4555d3;
    --color-background-utility-success: #03211a;
    --color-background-utility-success-knockout: #0b7058;
    --color-background-utility-warning: #2c1900;
    --color-background-utility-warning-knockout: #8a5801;
    --color-border-utility-error: #dd7c88;
    --color-border-utility-info: #8792ea;
    --color-border-utility-success: #11ad86;
    --color-border-utility-warning: #dbb305;
    --color-content-utility-error: #efa2b2;
    --color-content-utility-info: #abb3f0;
    --color-content-utility-success: #5dc9af;
    --color-content-utility-warning: #efd242;
  }
}

[data-brand="swiss"][data-theme="dark"],
[data-brand="swiss"] [data-theme="dark"] {
  color-scheme: dark;
  --color-background-default: #1a1a1a;
  --color-background-subtle: #242424;
  --color-background-subtle-hover: #333333;
  --color-background-disabled: #242424;
  --color-background-knockout: #424242;
  --color-background-knockout-hover: #555555;
  --color-background-knockout-translucent: #000000cc;
  --color-background-brand: #e12a09;
  --color-background-brand-hover: #b82206;
  --color-background-selected: #0e3d4f;
  --color-border-default: #8c8c89;
  --color-border-subtle: #383838;
  --color-border-subtle-hover: #555555;
  --color-border-strong: #ededea;
  --color-border-hover: #ededea;
  --color-border-disabled: #424242;
  --color-border-focus: #e96149;
  --color-border-brand: #e96149;
  --color-border-brand-hover: #ed7a66;
  --color-border-selected: #45b5dd;
  --color-border-knockout: #ffffffcc;
  --color-border-knockout-hover: #ffffff;
  --color-content-default: #ababa8;
  --color-content-subtitle: #bdbdba;
  --color-content-subtle: #9a9a98;
  --color-content-emphasized: #ededea;
  --color-content-headline: #ededea;
  --color-content-disabled: #686868;
  --color-content-brand: #e96149;
  --color-content-brand-hover: #ed7a66;
  --color-content-brand-knockout: #ffffff;
  --color-content-brand-secondary: #45b5dd;
  --color-content-headline-brand: #e96149;
  --color-content-headline-knockout: #ffffff;
  --color-content-eyebrow: #e96149;
  --color-content-eyebrow-knockout: #ffffff;
  --color-content-link: #ededea;
  --color-content-link-hover: #e96149;
  --color-content-knockout: #ffffff;
  --color-content-subtitle-knockout: #ffffff;
  --color-elevation-shadow: #000000cc;
  --color-background-utility-error: #390e0e;
  --color-background-utility-error-knockout: #b82f30;
  --color-background-utility-info: #15193f;
  --color-background-utility-info-knockout: #4555d3;
  --color-background-utility-success: #03211a;
  --color-background-utility-success-knockout: #0b7058;
  --color-background-utility-warning: #2c1900;
  --color-background-utility-warning-knockout: #8a5801;
  --color-border-utility-error: #dd7c88;
  --color-border-utility-info: #8792ea;
  --color-border-utility-success: #11ad86;
  --color-border-utility-warning: #dbb305;
  --color-content-utility-error: #efa2b2;
  --color-content-utility-info: #abb3f0;
  --color-content-utility-success: #5dc9af;
  --color-content-utility-warning: #efd242;
}

/* Semantic typography, swiss mode. Sizes step at the grid breakpoints (35em, 60em). */
[data-brand="swiss"] {
  --typography-eyebrow-default-font-size: 0.75rem;
  --typography-eyebrow-default-line-height: 1rem;
  --typography-eyebrow-default-font-weight: 500;
  --typography-eyebrow-default-letter-spacing: 0.06em;
  --typography-eyebrow-default-font-family: var(--typography-font-family-base);
  --typography-eyebrow-lg-font-size: 0.75rem;
  --typography-eyebrow-lg-line-height: 1rem;
  --typography-eyebrow-lg-font-weight: 500;
  --typography-eyebrow-lg-letter-spacing: 0.06em;
  --typography-eyebrow-lg-font-family: var(--typography-font-family-base);
  --typography-nav-default-font-size: 0.875rem;
  --typography-nav-default-line-height: 1.5rem;
  --typography-nav-default-font-weight: 400;
  --typography-nav-default-letter-spacing: 0;
  --typography-nav-default-font-family: var(--typography-font-family-base);
  --typography-logo-default-font-size: 1rem;
  --typography-logo-default-line-height: 1.5rem;
  --typography-logo-default-font-weight: 600;
  --typography-logo-default-letter-spacing: 0;
  --typography-logo-default-font-family: var(--typography-font-family-base);
  --typography-body-default-font-size: 1rem;
  --typography-body-default-line-height: 1.5rem;
  --typography-body-default-font-weight: 400;
  --typography-body-default-letter-spacing: 0;
  --typography-body-default-font-family: var(--typography-font-family-base);
  --typography-body-sm-font-size: 0.875rem;
  --typography-body-sm-line-height: 1.5rem;
  --typography-body-sm-font-weight: 300;
  --typography-body-sm-letter-spacing: 0;
  --typography-body-sm-font-family: var(--typography-font-family-base);
  --typography-body-list-font-size: 0.9375rem;
  --typography-body-list-line-height: 1.375rem;
  --typography-body-list-font-weight: 400;
  --typography-body-list-letter-spacing: 0;
  --typography-body-list-font-family: var(--typography-font-family-base);
  --typography-label-lg-font-size: 1.125rem;
  --typography-label-lg-line-height: 1.5rem;
  --typography-label-lg-font-weight: 700;
  --typography-label-lg-letter-spacing: -0.01em;
  --typography-label-lg-font-family: var(--typography-font-family-base);
  --typography-title-default-font-size: 1.5rem;
  --typography-title-default-line-height: 2rem;
  --typography-title-default-font-weight: 400;
  --typography-title-default-letter-spacing: -0.015em;
  --typography-title-default-font-family: var(--typography-font-family-base);
  --typography-title-lg-font-size: 2rem;
  --typography-title-lg-line-height: 2.5rem;
  --typography-title-lg-font-weight: 400;
  --typography-title-lg-letter-spacing: -0.015em;
  --typography-title-lg-font-family: var(--typography-font-family-base);
  --typography-headline-sm-font-size: 2rem;
  --typography-headline-sm-line-height: 2.5rem;
  --typography-headline-sm-font-weight: 700;
  --typography-headline-sm-letter-spacing: -0.02em;
  --typography-headline-sm-font-family: var(--typography-font-family-base);
  --typography-headline-default-font-size: 2.5rem;
  --typography-headline-default-line-height: 3rem;
  --typography-headline-default-font-weight: 400;
  --typography-headline-default-letter-spacing: -0.02em;
  --typography-headline-default-font-family: var(--typography-font-family-base);
  --typography-headline-lg-font-size: 2rem;
  --typography-headline-lg-line-height: 2.5rem;
  --typography-headline-lg-font-weight: 500;
  --typography-headline-lg-letter-spacing: -0.03em;
  --typography-headline-lg-font-family: var(--typography-font-family-base);
  --typography-display-lg-font-size: 10rem;
  --typography-display-lg-line-height: 10rem;
  --typography-display-lg-font-weight: 900;
  --typography-display-lg-letter-spacing: -0.05em;
  --typography-display-lg-font-family: var(--typography-font-family-base);
  --typography-display-sm-font-size: 3.5rem;
  --typography-display-sm-line-height: 4rem;
  --typography-display-sm-font-weight: 200;
  --typography-display-sm-letter-spacing: -0.03em;
  --typography-display-sm-font-family: var(--typography-font-family-base);
  --typography-display-section-font-size: clamp(2.5rem, 11vw, 4.5rem);
  --typography-display-section-line-height: 1.111;
  --typography-display-section-font-weight: 300;
  --typography-display-section-letter-spacing: -0.05em;
  --typography-display-section-font-family: var(--typography-font-family-base);
  --typography-display-default-font-size: 2.5rem;
  --typography-display-default-line-height: 3rem;
  --typography-display-default-font-weight: 700;
  --typography-display-default-letter-spacing: -0.035em;
  --typography-display-default-font-family: var(--typography-font-family-base);
  --typography-numeral-lg-font-size: 2rem;
  --typography-numeral-lg-line-height: 1;
  --typography-numeral-lg-font-weight: 900;
  --typography-numeral-lg-letter-spacing: -0.04em;
  --typography-numeral-lg-font-family: var(--typography-font-family-base);
  --typography-wordmark-default-font-size: 37.5cqi;
  --typography-wordmark-default-line-height: 1;
  --typography-wordmark-default-font-weight: 700;
  --typography-wordmark-default-letter-spacing: -0.1em;
  --typography-wordmark-default-font-family: var(--typography-font-family-base);
}

@media (min-width: 35em) {
  [data-brand="swiss"] {
    --container-gutter: var(--spacing-gap-lg);
    --typography-headline-lg-font-size: 2.5rem;
    --typography-headline-lg-line-height: 3rem;
    --typography-display-default-font-size: 4rem;
    --typography-display-default-line-height: 4.5rem;
    --typography-numeral-lg-font-size: 2.5rem;
  }
}

@media (min-width: 60em) {
  [data-brand="swiss"] {
    --typography-headline-lg-font-size: 3.5rem;
    --typography-headline-lg-line-height: 4rem;
    --typography-display-default-font-size: 6rem;
    --typography-display-default-line-height: 6.5rem;
    --typography-numeral-lg-font-size: 3.5rem;
  }
}
