@charset "UTF-8";
/* 1. Import Google variable-font subsets
   - latin + latin-ext cover English & Spanish
   - display=swap avoids FOIT
*/
/* 1. Google Fonts (latin + latin-ext) */
@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,700;1,400");
/* @link https://utopia.fyi/type/calculator?c=360,15,1.2,1480,20,1.25,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
:root {
  --step--2: clamp(0.651rem, 0.6032rem + 0.2128vw, 0.8rem);
  --step--1: clamp(0.7813rem, 0.7109rem + 0.3125vw, 1rem);
  --step-0: clamp(0.9375rem, 0.8371rem + 0.4464vw, 1.25rem);
  --step-1: clamp(1.125rem, 0.9844rem + 0.625vw, 1.5625rem);
  --step-2: clamp(1.35rem, 1.1561rem + 0.8616vw, 1.9531rem);
  --step-3: clamp(1.62rem, 1.356rem + 1.1734vw, 2.4414rem);
  --step-4: clamp(1.944rem, 1.5879rem + 1.5825vw, 3.0518rem);
  --step-5: clamp(2.3328rem, 1.8565rem + 2.117vw, 3.8147rem);
  --loose-title: -0.0396875rem;
  --tight-title:-0.04687rem;
  --tighter-title: -0.09375rem;
  --normal-title: 0;
  --space-3xs: clamp(0.25rem, 0.2299rem + 0.0893vw, 0.3125rem);
  --space-2xs: clamp(0.5rem, 0.4598rem + 0.1786vw, 0.625rem);
  --space-xs: clamp(0.6875rem, 0.6071rem + 0.3571vw, 0.9375rem);
  --space-s: clamp(0.9375rem, 0.8371rem + 0.4464vw, 1.25rem);
  --space-m: clamp(1.4375rem, 1.2969rem + 0.625vw, 1.875rem);
  --space-l: clamp(1.875rem, 1.6741rem + 0.8929vw, 2.5rem);
  --space-xl: clamp(2.8125rem, 2.5112rem + 1.3393vw, 3.75rem);
  --space-2xl: clamp(3.75rem, 3.3482rem + 1.7857vw, 5rem);
  --space-3xl: clamp(5.625rem, 5.0223rem + 2.6786vw, 7.5rem);
  /* One-up pairs */
  --space-3xs-2xs: clamp(0.25rem, 0.1295rem + 0.5357vw, 0.625rem);
  --space-2xs-xs: clamp(0.5rem, 0.3594rem + 0.625vw, 0.9375rem);
  --space-xs-s: clamp(0.6875rem, 0.5067rem + 0.8036vw, 1.25rem);
  --space-s-m: clamp(0.9375rem, 0.6362rem + 1.3393vw, 1.875rem);
  --space-m-l: clamp(1.4375rem, 1.096rem + 1.5179vw, 2.5rem);
  --space-l-xl: clamp(1.875rem, 1.2723rem + 2.6786vw, 3.75rem);
  --space-xl-2xl: clamp(2.8125rem, 2.1094rem + 3.125vw, 5rem);
  --space-2xl-3xl: clamp(3.75rem, 2.5446rem + 5.3571vw, 7.5rem);
  /* Custom pairs */
  --space-s-l: clamp(0.9375rem, 0.4353rem + 2.2321vw, 2.5rem);
  --space-xs-l: clamp(0.6875rem, 0.1049rem + 2.5893vw, 2.5rem);
}

:root {
  --Brand-Gold-100: #FEF3EBFF;
  --Brand-Gold-200: #FDD6B7FF;
  --Brand-Gold-300: #FBB884FF;
  --Brand-Gold-400: #F99A50FF;
  --Brand-Gold-500: #EF6306FF;
  --Brand-Gold-600: #D45605FF;
  --Brand-Gold-700: #B94A04FF;
  --Brand-Gold-800: #9D3D03FF;
  --Brand-Gold-900: #823102FF;
  --Brand-Royal-Purple-100: #F3E8F5FF;
  --Brand-Royal-Purple-200: #E8D2EBFF;
  --Brand-Royal-Purple-300: #D6ABE2FF;
  --Brand-Royal-Purple-400: #AE73BEFF;
  --Brand-Royal-Purple-500: #8B5CA1FF;
  --Brand-Royal-Purple-600: #6A3F7CFF;
  --Brand-Royal-Purple-700: #4A2357FF;
  --Brand-Royal-Purple-800: #2B1632FF;
  --Brand-Royal-Purple-900: #190A1DFF;
  --Brand-Orchid-100: #FDE8FFFF;
  --Brand-Orchid-200: #F7BDFFFF;
  --Brand-Orchid-300: #E995FFFF;
  --Brand-Orchid-400: #D966FFFF;
  --Brand-Orchid-500: #C233F5FF;
  --Brand-Orchid-600: #9E1AD4FF;
  --Brand-Orchid-700: #7A0FADFF;
  --Brand-Orchid-800: #560882FF;
  --Brand-Orchid-900: #33034DFF;
  /* Neutrals */
  --Surface-page-bg: var(--Brand-Royal-Purple-900);
  --Surface-card: var(--Brand-Royal-Purple-800);
  --Surface-card-alt: var(--Brand-Royal-Purple-700);
  --Text-title-main: var(--Brand-Royal-Purple-300);
  --Text-title-treemap: var(--Brand-Orchid-300);
  --Text-title-secondary: var(--Brand-Royal-Purple-400);
  --Text-primary: var(--Brand-Royal-Purple-400);
  --Text-intro: var(--Brand-Royal-Purple-300);
  --Text-Subtitle: var(--Brand-Royal-Purple-300);
  --Text-secondary: var(--Brand-Orchid-300);
  --Text-info: var(--Brand-Orchid-300);
  --Text-info-label: var(--Brand-Royal-Purple-400);
  --Text-link-default: var(--Brand-Gold-500);
  --Text-link-hover: var(--Brand-Gold-400);
  --Text-link-focus: var(--Brand-Gold-600);
  --Text-link-pressed: var(--Brand-Gold-700);
  --Text-link-visited: var(--Brand-Gold-800);
  /* Neutrals */
  --neutral-dark: #393939;
  --neutral-dark-mod-1: #4D4D4D;
  --neutral-dark-mod-2: #747474;
  --neutral-light-mod-2: #EBEBEB;
  --neutral-light-mod-1: #F6F6F6;
  --neutral-light: #FFFFFF;
  --brand-primary-shade: #D7A330;
  --brand-primary: #FFBE2E;
  --brand-primary-tint: #FAE09C;
  --semantic-info: #0683DB;
  --semantic-info-tint: #DAECFA;
  --semantic-positive: #0CA626;
  --semantic-positive-tint: #DBF2DF;
  --semantic-caution: #EF7015;
  --semantic-caution-tint: #FDEADC;
  --semantic-negative: #F04150;
  --semantic-negative-tint: #FDE2E5;
  --shadow-xs: 0 1px 2px;
  --shadow-sm: 0 2px 4px;
  --shadow-md: 0 4px 8px;
  --shadow-lg: 0 8px 16px;
  --shadow-xl: 0 16px 32px;
  --shadow-2xl: 0 24px 48px;
  --shadow-opacity-subtle: rgba(57, 57, 57, 0.05);
  --shadow-opacity-light: rgba(57, 57, 57, 0.1);
  --shadow-opacity-medium: rgba(57, 57, 57, 0.15);
  --shadow-opacity-strong: rgba(57, 57, 57, 0.2);
  --shadow-opacity-heavy: rgba(57, 57, 57, 0.3);
  --shadow-subtle: var(--shadow-sm) var(--shadow-opacity-subtle);
  --shadow-soft: var(--shadow-md) var(--shadow-opacity-light);
  --shadow-medium: var(--shadow-md) var(--shadow-opacity-medium);
  --shadow-strong: var(--shadow-lg) var(--shadow-opacity-strong);
  --shadow-heavy: var(--shadow-xl) var(--shadow-opacity-heavy);
  --shadow-dramatic: var(--shadow-2xl) var(--shadow-opacity-heavy);
  --shadow-layered:
    var(--shadow-xs) var(--shadow-opacity-subtle),
    var(--shadow-md) var(--shadow-opacity-light),
    var(--shadow-lg) var(--shadow-opacity-medium);
  --shadow-brand: var(--shadow-md) rgba(255, 190, 46, 0.15);
  --shadow-info: var(--shadow-md) rgba(6, 131, 219, 0.15);
  --shadow-positive: var(--shadow-md) rgba(12, 166, 38, 0.15);
  --shadow-caution: var(--shadow-md) rgba(239, 112, 21, 0.15);
  --shadow-negative: var(--shadow-md) rgba(240, 65, 80, 0.15);
}
:root :root {
  --ng-color-imp-40: #FEB200;
  --ng-color-imp-32: #EC5E01;
  --ng-color-imp-26: #DA1753;
  --ng-color-imp-21: #660C5D;
  --ng-color-imp-20: #371E3D;
}

:root {
  --font-size-xs: var(--step--2);
  --font-size-sm: var(--step--1);
  --font-size-base: var(--step-0);
  --font-size-lg: var(--step-1);
  --font-size-xl: var(--step-2);
  --font-size-2xl: var(--step-3);
  --font-size-3xl: var(--step-4);
  --font-size-4xl: var(--step-5);
  --space-micro: var(--space-3xs);
  --space-tiny: var(--space-2xs);
  --space-sm: var(--space-s);
  --space-md: var(--space-m);
  --space-lg: var(--space-l);
  --stack-space-sm: var(--space-xs-s);
  --stack-space-md: var(--space-s-m);
  --stack-space-lg: var(--space-s-l);
  --stack-space-2xl: var(--space-2xl);
  --cluster-gap: var(--space-xs-s);
  --grid-gap: var(--space-s-l);
}

:root {
  --center-measure: 74em;
  --center-gutters: var(--space-l);
  --ng-page-outer: min(1480px, 100vw);
  --ng-page-offset: calc((100vw - var(--ng-page-outer)) / 2);
  --ng-page-content: calc(var(--ng-page-outer) - (2 * var(--space-xs-l)));
  --ng-report-col: calc((var(--ng-page-content) - var(--space-l)) / 2);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  --grid-max-width: 74rem;
  --grid-gutter: var(--space-xs-l, clamp(0.875rem, 0.4267rem + 2.2414vw, 2.5rem));
  --grid-columns: 12;
  --break-phone: 30rem;
  --break-tablet:48rem;
}

.layout {
  max-width: 100vw;
  overflow: visible;
}

.u-container {
  max-width: var(--grid-max-width);
  padding-inline: var(--grid-gutter);
  margin-inline: auto;
}

.u-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  align-items: start;
  gap: var(--grid-gutter);
}

@media (max-width: 30em) {
  .u-grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }
}
.above__content {
  position: relative;
  z-index: 10;
}

.ng-page {
  max-inline-size: 1480px;
  padding-inline: var(--space-xs-l);
  margin-inline: auto;
}

/* IBM Plex Sans Condensed — self-hosted (300 / 400 / 500 / 700 only) */
/* ibm-plex-sans-condensed-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "IBM Plex Sans Condensed";
  font-style: normal;
  font-weight: 300;
  src: url("../ibm-plex-sans-condensed-v15-latin-300-ZxqAa0j.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* ibm-plex-sans-condensed-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "IBM Plex Sans Condensed";
  font-style: normal;
  font-weight: 400;
  src: url("../ibm-plex-sans-condensed-v15-latin-regular-GakwL1J.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* ibm-plex-sans-condensed-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "IBM Plex Sans Condensed";
  font-style: normal;
  font-weight: 500;
  src: url("../ibm-plex-sans-condensed-v15-latin-500-GbRNrnU.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* ibm-plex-sans-condensed-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "IBM Plex Sans Condensed";
  font-style: normal;
  font-weight: 700;
  src: url("../ibm-plex-sans-condensed-v15-latin-700-obj43ym.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* big-shoulders-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Big Shoulders";
  font-style: normal;
  font-weight: 400;
  src: url("../big-shoulders-v4-latin-regular-r6qKw--.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* big-shoulders-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Big Shoulders";
  font-style: normal;
  font-weight: 600;
  src: url("../big-shoulders-v4-latin-600-FJYccC2.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* big-shoulders-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Big Shoulders";
  font-style: normal;
  font-weight: 700;
  src: url("../big-shoulders-v4-latin-700-PlzL55n.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* 2. Font stacks */
:root {
  --ff-display: "Big Shoulders", sans-serif;
  --ff-serif: "Lora", "Times New Roman", serif;
  --ff-sans: "IBM Plex Sans Condensed", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
}

/* 3. Base element defaults */
html {
  font-size: var(--step-0); /* fluid base from Utopia */
  line-height: 1.5;
  background: var(--Surface-page-bg); /* CHANGE: dark purple */
}

body {
  margin: 0;
  font-family: var(--ff-sans);
  color: var(--Text-primary);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "liga", "kern";
}

/* 4. Headings */
h1, .h1 {
  font: 700 var(--step-6)/1 var(--ff-display);
  text-transform: uppercase;
  margin: 0 0 var(--space-xs);
  letter-spacing: var(--tight-title);
  color: var(--Text-primary);
}

h2, .h2 {
  font: 600 var(--step-5)/1 var(--ff-display);
  margin: 0 0 var(--space-sm);
  color: var(--Text-title-secondary);
}

h3, .h3 {
  font: 500 var(--step-4)/1.1 var(--ff-display);
  margin: 0 0 var(--space-xs);
}

h4, .h4 {
  font: 500 var(--step-3)/1.1 var(--ff-display);
  margin: 0 0 var(--space-xs);
  letter-spacing: var(--tight-title);
}

h5, .h5 {
  font: 700 var(--step-0)/1.2 var(--ff-sans);
  margin: 0 0 var(--space-2xs);
  color: var(--Text-Subtitle);
  display: block;
  line-height: 1;
}
@supports (text-box-trim: trim-both) {
  h5, .h5 {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}

h6, .h6 {
  font: 500 var(--step-0)/1.1 var(--ff-sans);
  margin: 0 0 var(--space-2xs);
  letter-spacing: var(--loose-title);
}

/* 5. Paragraphs & lists */
p, ul, ol, dl, blockquote {
  margin-block: 0 var(--space-s);
  max-inline-size: 65ch;
}

p {
  margin-block: 0;
}

dt, dd {
  margin-block: 0 var(--space-3xs);
  font-size: var(--step--2);
  font-family: var(--ff-sans);
  margin-inline-start: 0;
  line-height: 1.2;
}

dl, .side-content blockquote {
  break-inside: avoid-column;
  break-before: column;
}

dt {
  font-weight: 700;
}

dd:has(+ dd) {
  margin-block: 0 var(--space-xs);
}

dd:has(+ dt) {
  margin-block: 0 var(--space-s);
}

blockquote {
  font: 400 var(--step-0)/1.4 var(--ff-sans);
  margin-inline-start: 0;
  margin-top: 1.2em;
  margin-top: var(--space-xs);
}

blockquote::before {
  content: url("/images/quote.svg");
  display: block; /* Or block, depending on layout needs */
  width: 1.6rem;
  height: auto;
  margin-bottom: 0.5em; /* var(--space-xs) */
}

blockquote footer {
  font-size: var(--step--2);
  font-family: var(--ff-serif);
}

figcaption {
  font-family: var(--ff-sans);
  font-size: var(--font-size-xs);
  font-weight: 500;
  line-height: 1.2;
  margin-top: var(--space-xs);
  max-width: 40ch;
}
figcaption h6 {
  font-size: inherit;
  font-weight: 700;
}
figcaption p {
  margin-bottom: var(--space-xs);
}

/* 6. Utilities */
.lead {
  font-size: var(--step-1);
  line-height: 1.45;
}

.small {
  font-size: var(--step--1);
}

.smaller {
  font-size: var(--step--2);
}

.text-serif {
  font-family: var(--ff-serif);
}

.text-sans {
  font-family: var(--ff-sans);
}

/* 03-base / base-elements
   — standardises hr, buttons, etc. */
hr {
  border: none;
  border-block-start: 1px solid var(--neutral-dark, #393939);
  margin-block: none;
  inline-size: 100%;
}

/* Accessible primary button */
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-xs) var(--space-md);
  font: 500 var(--font-size-sm)/1 var(--ff-sans);
  background: var(--brand-primary, #ffbe2e);
  border: 0;
  border-radius: 0.25rem;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease-in-out;
}
.button:link {
  color: var(--neutral-dark);
}
.button:hover {
  color: var(--neutral-dark-mod-1);
  background: var(--brand-primary-shade, #fae09e);
}
.button:focus-visibleFace {
  color: var(--neutral-dark-mod-1);
  background: var(--brand-primary, #ffbe2e);
  outline: 2px solid var(--semantic-caution);
  outline-offset: 2px;
  transition-duration: 0.05s;
}
.button:active {
  color: var(--neutral-dark-mod-1);
  background: var(--brand-primary, #ffbe2e);
  margin-top: 2px solid var(--brand-primary-shade, #fae09e);
  transition-duration: 0.05s;
}
.button:visited {
  color: var(--neutral-dark);
}
@media (max-width: 30rem) {
  .button {
    width: 100%;
  }
}

.button-small {
  padding: var(--space-2xs) var(--space-sm);
  font: 500 var(--font-size-xs)/1 var(--ff-sans);
}

_shadows .shadow-subtle {
  box-shadow: var(--shadow-subtle);
}

.shadow-soft {
  box-shadow: var(--shadow-soft);
}

.shadow-medium {
  box-shadow: var(--shadow-medium);
}

.shadow-strong {
  box-shadow: var(--shadow-strong);
}

.shadow-heavy {
  box-shadow: var(--shadow-heavy);
}

.shadow-dramatic {
  box-shadow: var(--shadow-dramatic);
}

.shadow-layered {
  box-shadow: var(--shadow-layered);
}

/* ---------------
   COLORED SHADOW CLASSES
   --------------- */
.shadow-brand {
  box-shadow: var(--shadow-brand);
}

.shadow-info {
  box-shadow: var(--shadow-info);
}

.shadow-positive {
  box-shadow: var(--shadow-positive);
}

.shadow-caution {
  box-shadow: var(--shadow-caution);
}

.shadow-negative {
  box-shadow: var(--shadow-negative);
}

/* ---------------
   INTERACTIVE SHADOW CLASSES
   --------------- */
.shadow-hover {
  box-shadow: var(--shadow-soft);
  transition: box-shadow 0.3s ease;
}

.shadow-hover:hover {
  box-shadow: var(--shadow-strong);
}

.shadow-lift {
  box-shadow: var(--shadow-medium);
  transition: all 0.3s ease;
}

.shadow-lift:hover {
  box-shadow: var(--shadow-heavy);
  transform: translateY(-2px);
}

.shadow-brand-lift {
  box-shadow: var(--shadow-brand);
  transition: all 0.3s ease;
}

.shadow-brand-lift:hover {
  box-shadow: var(--shadow-lg) rgba(255, 190, 46, 0.25);
  transform: translateY(-2px);
}

/* ---------------
   CONTEXTUAL SHADOW CLASSES
   --------------- */
/* Card shadows */
.card-shadow {
  box-shadow: var(--shadow-soft);
  border-radius: 8px;
  transition: box-shadow 0.2s ease;
}

.card-shadow:hover {
  box-shadow: var(--shadow-medium);
}

.card-shadow-strong {
  box-shadow: var(--shadow-medium);
  border-radius: 12px;
}

/* Button shadows */
.btn-shadow {
  box-shadow: var(--shadow-subtle);
  transition: all 0.2s ease;
}

.btn-shadow:hover {
  box-shadow: var(--shadow-soft);
  transform: translateY(-1px);
}

.btn-shadow:active {
  box-shadow: var(--shadow-xs) var(--shadow-opacity-light);
  transform: translateY(0);
}

.btn-shadow-brand {
  box-shadow: var(--shadow-brand);
  transition: all 0.2s ease;
}

.btn-shadow-brand:hover {
  box-shadow: var(--shadow-md) rgba(255, 190, 46, 0.25);
  transform: translateY(-1px);
}

/* Modal/Overlay shadows */
.modal-shadow {
  box-shadow: var(--shadow-dramatic);
}

.overlay-shadow {
  box-shadow: var(--shadow-heavy);
  backdrop-filter: blur(4px);
}

/* Dropdown shadows */
.dropdown-shadow {
  box-shadow: var(--shadow-strong);
  border-radius: 6px;
}

/* Image container shadows */
.image-shadow {
  box-shadow: var(--shadow-medium);
  border-radius: 4px;
  overflow: hidden;
}

.image-shadow-soft {
  box-shadow: var(--shadow-soft);
  border-radius: 8px;
  overflow: hidden;
}

.image-shadow-brand {
  box-shadow: var(--shadow-brand);
  border-radius: 8px;
  overflow: hidden;
}

/* ---------------
   DIRECTIONAL SHADOWS
   --------------- */
.shadow-bottom {
  box-shadow: 0 4px 4px var(--shadow-opacity-strong);
}

.shadow-top {
  box-shadow: 0 -4px 8px var(--shadow-opacity-medium);
}

.shadow-left {
  box-shadow: -4px 0 8px var(--shadow-opacity-medium);
}

.shadow-right {
  box-shadow: 4px 0 8px var(--shadow-opacity-medium);
}

/* ---------------
   INSET SHADOWS
   --------------- */
.shadow-inset {
  box-shadow: inset 0 2px 4px var(--shadow-opacity-light);
}

.shadow-inset-strong {
  box-shadow: inset 0 2px 8px var(--shadow-opacity-medium);
}

/* ---------------
   FOCUS SHADOWS
   --------------- */
.shadow-focus {
  transition: box-shadow 0.2s ease;
}

.shadow-focus:focus {
  box-shadow: var(--shadow-soft), 0 0 0 3px rgba(6, 131, 219, 0.2); /* Info color for focus ring */
  outline: none;
}

.shadow-focus-brand:focus {
  box-shadow: var(--shadow-soft), 0 0 0 3px rgba(255, 190, 46, 0.3); /* Brand color for focus ring */
  outline: none;
}

/* ---------------
   COMBINED UTILITY CLASSES
   --------------- */
.elevated-card {
  box-shadow: var(--shadow-medium);
  border-radius: 12px;
  background: var(--neutral-light);
  border: 1px solid var(--neutral-light-mod-2);
  transition: all 0.3s ease;
}

.elevated-card:hover {
  box-shadow: var(--shadow-strong);
  transform: translateY(-2px);
}

.floating-panel {
  box-shadow: var(--shadow-layered);
  border-radius: 16px;
  background: var(--neutral-light);
  backdrop-filter: blur(8px);
}

.glass-card {
  box-shadow: var(--shadow-soft);
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
}

/* ---------------
   RESPONSIVE ADJUSTMENTS
   --------------- */
@media (max-width: 768px) {
  /* Reduce heavy shadows on mobile for performance */
  .shadow-heavy,
  .shadow-dramatic,
  .shadow-layered,
  .modal-shadow,
  .floating-panel {
    box-shadow: var(--shadow-medium);
  }
  /* Disable hover effects on touch devices */
  .shadow-hover:hover,
  .shadow-lift:hover,
  .shadow-brand-lift:hover,
  .card-shadow:hover,
  .elevated-card:hover {
    box-shadow: inherit;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  /* Disable transitions for users who prefer reduced motion */
  .shadow-hover,
  .shadow-lift,
  .shadow-brand-lift,
  .card-shadow,
  .btn-shadow,
  .btn-shadow-brand,
  .shadow-focus,
  .elevated-card {
    transition: none;
  }
}
.stack {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.stack > * {
  margin-block: 0;
}
.stack > * + * {
  margin-block-start: var(--stack-space, var(--space-xs));
}

.recursive > * {
  margin-block: 0;
}
.recursive > * + * {
  margin-block-start: var(--stack-space, var(--space-xs));
}

.stack--3xs {
  --stack-space: var(--space-3xs);
}

.stack--2xs {
  --stack-space: var(--space-2xs);
}

.stack--xs {
  --stack-space: var(--space-xs);
}

.stack--sm {
  --stack-space: var(--space-s);
}

.stack--md {
  --stack-space: var(--space-m);
}

.stack--lg {
  --stack-space: var(--space-l);
}

.stack--xl {
  --stack-space: var(--space-xl);
}

.stack--2xl {
  --stack-space: var(--space-2xl);
}

.center {
  box-sizing: content-box;
  margin-inline: auto;
  max-inline-size: var(--center-measure, 65ch);
}
.center[data-padding=true] {
  padding-inline: var(--center-gutters, var(--space-md));
}
.center[data-intrinsic=true] {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cluster-gap, var(--space-xs-s));
  justify-content: var(--cluster-justify, flex-start);
  align-items: var(--cluster-align, center);
}

/* Cluster variations using semantic aliases */
.cluster--tight {
  --cluster-gap: var(--space-tiny);
}

.cluster--loose {
  --cluster-gap: var(--space-md);
}

.cluster--nav {
  --cluster-gap: var(--space-s-m);
}

.cluster--center {
  --cluster-justify: center;
}

.cluster--end {
  --cluster-justify: flex-end;
}

.cluster--space-between {
  --cluster-justify: space-between;
}

.cluster--baseline {
  --cluster-align: baseline;
}

.sidebar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sidebar-gap, var(--space-lg));
}

.sidebar > :first-child {
  flex-basis: var(--sidebar-width, 20rem);
  flex-grow: 1;
}

.sidebar > :last-child {
  flex-basis: 0;
  flex-grow: 999;
  min-inline-size: var(--sidebar-threshold, 50%);
}

/* Sidebar variations using semantic aliases */
.sidebar--narrow {
  --sidebar-width: 15rem;
  --sidebar-gap: var(--space-md);
}

.sidebar--wide {
  --sidebar-width: 25rem;
  --sidebar-gap: var(--space-xl);
}

.sidebar--tight {
  --sidebar-gap: var(--space-sm);
}

.sidebar--reverse {
  flex-direction: row-reverse;
}

/* Content-first sidebar (main content on left) */
.sidebar--content-first > :first-child {
  flex-basis: 0;
  flex-grow: 999;
  min-inline-size: var(--sidebar-threshold, 50%);
}

.sidebar--content-first > :last-child {
  flex-basis: var(--sidebar-width, 20rem);
  flex-grow: 1;
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--grid-min-width, 25rem), 1fr));
  gap: var(--grid-gap, var(--space-md));
  align-items: var(--grid-align, start);
}

/* Grid variations using semantic aliases */
.grid--tight {
  --grid-min-width: 12rem;
  --grid-gap: var(--space-l);
}

.grid--loose {
  --grid-gap: var(--space-xl);
}

.grid--small {
  --grid-min-width: 20rem;
  --grid-gap: var(--space-md);
}

.grid--large {
  --grid-min-width: clamp(12rem , 22rem , 30rem);
  --grid-gap: var(--space-m-l);
}

.grid--portfolio {
  --grid-min-width: 20rem;
  --grid-gap: var(--space-lg);
}

/* Grid alignment variations */
.grid--center {
  --grid-align: center;
}

.grid--end {
  --grid-align: end;
}

.grid--stretch {
  --grid-align: stretch;
}

/* Auto-fit variant for fewer items */
.grid--auto-fit {
  grid-template-columns: repeat(auto-fit, minmax(var(--grid-min-width, 25rem), 1fr));
}

.hero-text-subgrid > div {
  display: grid;
  grid-template-rows: subgrid;
  gap: 0;
  grid-row: span 2;
}
.hero-text-subgrid > div:has(:nth-child(3)) {
  grid-row: span 3;
}

.cover {
  display: flex;
  flex-direction: column;
  min-block-size: var(--cover-min-height, 100vh);
  padding: var(--cover-padding, var(--space-lg));
}

.cover > * {
  margin-block: var(--cover-spacing, var(--space-md));
}

.cover > :first-child:not([data-cover-center]) {
  margin-block-start: 0;
}

.cover > :last-child:not([data-cover-center]) {
  margin-block-end: 0;
}

.cover > [data-cover-center] {
  margin-block: auto;
}

/* Cover variations using semantic aliases */
.cover--tight {
  --cover-spacing: var(--space-sm);
  --cover-padding: var(--space-md);
}

.cover--loose {
  --cover-spacing: var(--space-xl);
  --cover-padding: var(--space-2xl);
}

.cover--hero {
  --cover-min-height: 100vh;
  --cover-spacing: var(--space-lg);
  --cover-padding: var(--space-xl);
}

.cover--section {
  --cover-min-height: 50vh;
  --cover-spacing: var(--space-md);
  --cover-padding: var(--space-lg);
}

.cover--no-pad {
  --cover-padding: 0;
}

/* Center multiple elements */
.cover--center-all > * {
  margin-block: auto;
}

.switcher {
  display: flex;
  flex-wrap: wrap;
  gap: var(--grid-gap);
  --threshold: 30rem;
}

.switcher > * {
  flex-grow: 1;
  flex-basis: calc((var(--threshold) - 100%) * 999);
}

.switcher > :nth-last-child(n+4),
.switcher > :nth-last-child(n+4) ~ * {
  flex-basis: 100%;
}

.switcher--tight {
  --threshold: 22rem;
}

.switcher--tighter {
  --threshold: 11rem;
}

:root {
  --ng-header-block-size: 2.8125rem;
}

.ng-header {
  background: var(--Surface-page-bg);
}

.ng-header__bar {
  --ng-header-control-size: clamp(1.5rem, 1.078125rem + 1.875vw, 1.875rem);
  --ng-header-icon-width: clamp(1.25rem, 0.8984375rem + 1.5625vw, 1.5625rem);
  --ng-header-icon-height: clamp(1rem, 0.71875rem + 1.25vw, 1.25rem);
  --ng-header-icon-gap: clamp(0.3125rem, 0.223rem + 0.39vw, 0.4375rem);
  --ng-header-bar-weight: clamp(2px, 1px + 0.0625vw, 2.5px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  padding-block-start: max(0px, 0.6875rem - (100vw - 22.5rem) * 11 / 320);
  padding-block-end: min(0.9375rem, 0.6875rem + (100vw - 22.5rem) * 4 / 320);
}

.ng-header__logo {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  text-decoration: none;
}
.ng-header__logo img {
  display: block;
  block-size: var(--ng-header-control-size);
  inline-size: auto;
}
.ng-header__logo:focus-visible {
  outline: 2px solid var(--Text-link-focus);
  outline-offset: 2px;
}

.ng-header__menu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--ng-header-control-size);
  block-size: var(--ng-header-control-size);
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--Brand-Gold-500);
  cursor: pointer;
}
.ng-header__menu-btn:focus-visible {
  outline: 2px solid var(--Text-link-focus);
  outline-offset: 2px;
}

.ng-header__menu-icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--ng-header-icon-gap);
  inline-size: var(--ng-header-icon-width);
  block-size: var(--ng-header-icon-height);
}

.ng-header__menu-bar {
  display: block;
  inline-size: 100%;
  block-size: var(--ng-header-bar-weight);
  background: currentColor;
  border-radius: 1px;
}

.ng-header__nav {
  padding-block-end: var(--space-xs);
}

.ng-header__nav-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  margin: 0;
  padding: var(--space-xs) 0 0;
  list-style: none;
  border-block-start: 1px solid var(--Brand-Royal-Purple-800);
}

.ng-header__nav-link {
  display: flex;
  flex-direction: column;
  gap: var(--space-3xs);
  padding: var(--space-2xs) 0;
  color: var(--Text-Subtitle);
  text-decoration: none;
}
.ng-header__nav-link:hover {
  color: var(--Text-primary);
}
.ng-header__nav-link:focus-visible {
  outline: 2px solid var(--Text-link-focus);
  outline-offset: 2px;
}

.ng-header__nav-item--active .ng-header__nav-link {
  color: var(--Brand-Gold-500);
}

.ng-header__nav-period {
  color: var(--Text-title-secondary);
}

.ng-header__nav-item--active .ng-header__nav-period {
  color: inherit;
  opacity: 0.85;
}

header h1 {
  font: 500 var(--step-1)/1.1 var(--ff-sans);
  margin: 0;
  letter-spacing: var(--normal-title);
  text-transform: none;
  color: var(--Text-title-treemap);
}
header .ng-report-meta p {
  font-size: var(--step-0);
  color: var(--Text-title-secondary);
}

html.ng-scroll-locked {
  overflow: hidden;
}
html.ng-scroll-locked body {
  overflow: hidden;
}

.ng-narrative-panel {
  position: fixed;
  top: calc(var(--ng-header-total-height, var(--ng-header-block-size)) + var(--space-l));
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  background: var(--Surface-page-bg);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  margin: 0;
}
.ng-narrative-panel[aria-hidden=true] {
  pointer-events: none;
}

.ng-narrative-panel--open,
.ng-narrative-panel[aria-hidden=false] {
  pointer-events: auto;
}

.ng-narrative-panel__inner {
  display: flex;
  align-items: flex-start;
  gap: var(--space-s);
  padding: var(--space-s) var(--space-2xs-xs);
  max-width: var(--grid-max-width, 74rem);
  margin-inline: auto;
}

.ng-narrative-panel--open .ng-narrative-panel__inner,
.ng-narrative-panel[aria-hidden=false] .ng-narrative-panel__inner {
  animation: ng-narrative-panel-enter 0.2s ease both;
}

@keyframes ng-narrative-panel-enter {
  from {
    opacity: 0;
    transform: translateY(var(--space-2xs));
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ng-narrative-panel__close {
  position: fixed;
  right: var(--space-2xs-xs);
  z-index: 101;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--space-l);
  block-size: var(--space-l);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--Text-Subtitle);
  font: 400 var(--step-1)/1 var(--ff-sans);
  cursor: pointer;
  transition: color 0.15s ease;
}
.ng-narrative-panel__close:hover {
  color: var(--Text-primary);
}
.ng-narrative-panel__close:focus-visible {
  outline: 2px solid var(--Text-link-focus);
  outline-offset: 2px;
}

.ng-narrative-panel__sidebar {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.ng-narrative-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: var(--space-l);
  block-size: var(--space-l);
  background-color: var(--Brand-Gold-500);
  color: #000000;
  font: 300 var(--step-2)/1 var(--ff-sans);
  letter-spacing: var(--loose-title);
  line-height: 1;
}
@supports (text-box-trim: trim-both) {
  .ng-narrative-badge {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}

.ng-narrative-panel__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  flex: 1 1 0;
  min-inline-size: 0;
}

.ng-narrative-header {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}

.ng-narrative-masthead__title {
  margin: 0;
  max-inline-size: none;
  font: 600 var(--step-4)/1.2 var(--ff-display);
  letter-spacing: var(--tight-title);
  text-transform: uppercase;
  color: var(--Text-title-main);
  line-height: 1;
  margin-right: var(--space-l);
}
@supports (text-box-trim: trim-both) {
  .ng-narrative-masthead__title {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}

.ng-narrative-masthead__period {
  margin: 0;
  max-inline-size: none;
  font: 500 var(--step-0)/1.2 var(--ff-sans);
  color: var(--Text-Subtitle);
  line-height: 1;
}
@supports (text-box-trim: trim-both) {
  .ng-narrative-masthead__period {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}

.ng-narrative-masthead__description {
  margin: 0;
  max-inline-size: none;
  font: 400 var(--step-1)/1.4 var(--ff-sans);
  color: var(--Text-primary);
}

.ng-narrative-stats {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-s);
}

.ng-narrative-stats--solo {
  justify-content: flex-start;
}
.ng-narrative-stats--solo .ng-narrative-stats__importance {
  margin-inline-start: 0;
  text-align: start;
}

.ng-narrative-stats__lead {
  display: flex;
  align-items: flex-end;
  gap: var(--space-xs);
  min-inline-size: 0;
}

.ng-narrative-stats__articles,
.ng-narrative-stats__importance {
  margin: 0;
  font: 500 var(--step-1)/1 var(--ff-sans);
  display: block;
  line-height: 1;
}
@supports (text-box-trim: trim-both) {
  .ng-narrative-stats__articles,
  .ng-narrative-stats__importance {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}

.ng-narrative-stats__importance {
  flex: 0 0 auto;
  margin-inline-start: auto;
  text-align: end;
}

.ng-narrative-stats__value {
  color: var(--Text-secondary);
}

.ng-narrative-stats__label {
  color: var(--Text-title-secondary);
}

.ng-sparkline {
  --sparkline-gap: 2px;
  flex: 0 0 var(--space-l);
  inline-size: var(--space-l);
  font: 500 var(--step-1)/1 var(--ff-sans);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  line-height: 1;
}
@supports (text-box-trim: trim-both) {
  .ng-sparkline {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}
.ng-sparkline svg {
  display: block;
}

.ng-article--lead {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.ng-article--lead .ng-article__body,
.ng-article--solo .ng-article__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}

.ng-article__overline {
  margin: 0;
  font: 700 var(--step-0)/1.2 var(--ff-sans);
  color: var(--Text-Subtitle);
  display: block;
  line-height: 1;
}
@supports (text-box-trim: trim-both) {
  .ng-article__overline {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}

.ng-article__title {
  font: 500 var(--step-3)/1.2 var(--ff-sans);
  color: var(--Text-link-default);
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: var(--Text-link-focus);
  text-decoration-thickness: 1px;
  text-underline-offset: var(--space-3xs);
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}
.ng-article__title:hover {
  color: var(--Text-link-hover);
  text-decoration-color: var(--Text-link-pressed);
}
.ng-article__title:visited {
  color: var(--Text-link-visited);
  text-decoration-color: var(--Text-link-visited);
}
.ng-article__title:focus-visible {
  outline: 2px solid var(--Text-link-focus);
  outline-offset: 2px;
}

.ng-article__meta {
  margin: 0;
  font: 500 var(--step--1)/1.2 var(--ff-sans);
  color: var(--Text-title-secondary);
  display: block;
  line-height: 1;
}
@supports (text-box-trim: trim-both) {
  .ng-article__meta {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}

.ng-article__date::after {
  content: ", ";
}

.ng-article-list-section {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.ng-article-list__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}

.ng-article-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  margin: 0;
  padding: 0;
  list-style: none;
}

.ng-article-list__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}
.ng-article-list__item .ng-article__title {
  font-size: var(--step-1);
}

.ng-article-list__more {
  margin: 0;
  font: 500 var(--step--1)/1.2 var(--ff-sans);
  color: var(--Text-title-secondary);
  line-height: 1;
}
@supports (text-box-trim: trim-both) {
  .ng-article-list__more {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}

@media (min-width: 48rem) {
  .ng-sparkline {
    --sparkline-gap: 3px;
  }
  .ng-article--lead .ng-article__title,
  .ng-article--solo .ng-article__title {
    font-size: var(--step-3);
  }
  .ng-article-list__item .ng-article__title {
    font-size: var(--step-2);
  }
  .ng-narrative-panel__inner {
    padding-inline: var(--space-s);
  }
  .ng-narrative-panel__close {
    right: var(--space-s-l);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ng-narrative-panel--open .ng-narrative-panel__inner,
  .ng-narrative-panel[aria-hidden=false] .ng-narrative-panel__inner {
    animation: none;
  }
}
@media (min-width: 64rem) {
  .ng-narrative-panel {
    right: calc(var(--ng-page-offset) + var(--space-xs-l));
    bottom: 0;
    left: calc(var(--ng-page-offset) + var(--space-xs-l) + var(--ng-report-col) + var(--space-l));
  }
  .ng-narrative-panel__inner {
    padding: 0 var(--space-s) var(--space-xl) 0;
  }
  .ng-narrative-panel__close {
    right: 0;
  }
}
.ng-report-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "header" "treemap" "outliers";
  gap: var(--space-l);
}

.ng-report-grid > .ng-header {
  grid-area: header;
}

.ng-report-grid > .ng-treemap-section {
  grid-area: treemap;
  min-inline-size: 0;
}

.ng-report-grid > .ng-outliers {
  grid-area: outliers;
  min-inline-size: 0;
}

@media (min-width: 64rem) {
  .ng-report-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "treemap header" "treemap outliers";
    align-items: start;
    padding-block-start: var(--space-l);
  }
}
.ng-treemap-section h1 {
  font: 500 var(--step-1)/1.1 var(--ff-sans);
  margin: 0;
  letter-spacing: var(--normal-title);
  text-transform: none;
  color: var(--Text-title-treemap);
}
.ng-treemap-section .ng-report-meta p {
  font-size: var(--step-0);
  color: var(--Text-title-secondary);
}

.ng-treemap {
  inline-size: 100%;
}

.ng-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3xs);
  inline-size: 100%;
}

.ng-breadcrumb__item {
  font: 500 var(--step-1)/1.2 var(--ff-sans);
  letter-spacing: -0.01em;
  text-decoration: none;
  color: var(--Text-link-default);
  line-height: 1;
}
@supports (text-box-trim: trim-both) {
  .ng-breadcrumb__item {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}
.ng-breadcrumb__item:hover {
  color: var(--Text-link-hover);
}
.ng-breadcrumb__item:focus-visible {
  outline: 2px solid var(--Text-link-focus);
  outline-offset: 2px;
}
.ng-breadcrumb__item--current {
  color: var(--Text-primary);
  cursor: default;
}

.ng-breadcrumb__sep {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  inline-size: clamp(1.25rem, 1.1rem + 0.67vw, 1.5rem);
  block-size: clamp(1.25rem, 1.1rem + 0.67vw, 1.5rem);
  color: var(--Text-primary);
  user-select: none;
  font-size: 0;
  background-color: currentColor;
  -webkit-mask: url("/img/Chevron--right.svg") no-repeat center/1rem 1rem;
  mask: url("/img/Chevron--right.svg") no-repeat center/1rem 1rem;
}

.ng-sort-nav {
  display: flex;
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
  inline-size: 100%;
}

.ng-sort-nav__label {
  font: 500 var(--step-1)/1.2 var(--ff-sans);
  letter-spacing: -0.01em;
  color: var(--Text-primary);
  line-height: 1;
}
@supports (text-box-trim: trim-both) {
  .ng-sort-nav__label {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}

.ng-sort-nav__link {
  font: 500 var(--step-1)/1.2 var(--ff-sans);
  letter-spacing: -0.01em;
  text-decoration: none;
  color: var(--Text-link-default);
  line-height: 1;
}
@supports (text-box-trim: trim-both) {
  .ng-sort-nav__link {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}
.ng-sort-nav__link:hover {
  color: var(--Text-link-hover);
}
.ng-sort-nav__link:focus-visible {
  outline: 2px solid var(--Text-link-focus);
  outline-offset: 2px;
}
.ng-sort-nav__link--active {
  color: var(--Text-secondary);
  cursor: default;
}

.ng-date-nav__list {
  display: flex;
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
  list-style: none;
  inline-size: 100%;
  margin: 0;
  padding: 0;
}

.ng-date-nav__item {
  margin: 0;
}

.ng-date-nav__date {
  font: 500 var(--step-0)/1.2 var(--ff-sans);
  letter-spacing: -0.01em;
  text-decoration: none;
  color: var(--Text-link-default);
  line-height: 1;
}
@supports (text-box-trim: trim-both) {
  .ng-date-nav__date {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}
.ng-date-nav__date:hover {
  color: var(--Text-link-hover);
}
.ng-date-nav__date:focus-visible {
  outline: 2px solid var(--Text-link-focus);
  outline-offset: 2px;
}
.ng-date-nav__date--active {
  color: var(--Text-primary);
  cursor: default;
}

.ng-legend {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  inline-size: 100%;
}

.ng-legend__caption {
  margin: 0;
  max-inline-size: none;
  font: 500 var(--step--1)/1.2 var(--ff-sans);
  letter-spacing: -0.01em;
  color: var(--Text-primary);
  display: block;
  line-height: 1;
}
@supports (text-box-trim: trim-both) {
  .ng-legend__caption {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}

.ng-legend__caption + .ng-legend__bar {
  margin-block-start: calc(var(--space-s) - var(--space-2xs));
}

.ng-legend__bar {
  display: flex;
  gap: var(--space-3xs);
  block-size: clamp(0.5625rem, 0.5rem + 0.17vw, 0.625rem);
}

.ng-legend__segment {
  flex: 1 1 0;
  min-inline-size: 0;
  block-size: 100%;
}

.ng-legend__segment--1 {
  background-color: #EC5E01;
}

.ng-legend__segment--2 {
  background-color: #E4461C;
}

.ng-legend__segment--3 {
  background-color: #DC2F37;
}

.ng-legend__segment--4 {
  background-color: #DA1753;
}

.ng-legend__segment--5 {
  background-color: #A81356;
}

.ng-legend__segment--6 {
  background-color: #751059;
}

.ng-legend__segment--7 {
  background-color: #660C5D;
}

.ng-legend__labels {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-s);
  font: 500 var(--step--1)/1.2 var(--ff-sans);
  letter-spacing: -0.01em;
  color: var(--Text-primary);
}
.ng-legend__labels span {
  line-height: 1;
}
@supports (text-box-trim: trim-both) {
  .ng-legend__labels span {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}
.ng-legend__labels span:last-child {
  text-align: end;
}

.ng-snapshot-badge {
  display: none;
}

/*# sourceMappingURL=main.css-B3BTfGm.map */
