:root {
  --jc-common-primary-color: #022169;
  --jc-common-primary-color-hover: #1c3b8b;
  --jc-common-active-blue: #054ae8;
  --jc-common-primary-yellow: #fecf13;
  --jc-common-primary-yellow-hover: #fed948;
  --jc-common-default-foreground: #000000;
  --jc-common-gray: #555555;
  --jc-common-gray-light: #c4c4c4;
  --jc-common-white: #ffffff;
  --jc-common-white-20: rgba(255, 255, 255, 0.2);
  --jc-common-white-hover: #f5f5f5;
  --jc-common-border-color: #d9d9d9;
  --jc-common-border-main: #ededf2;
  --jc-common-notice: #c40000;

  --jc-common-header-bg: var(--jc-common-white);
  --jc-common-header-accent: var(--jc-common-primary-yellow);
  --jc-common-header-panel-shadow: 0 0 8px rgba(0, 0, 0, 0.12);
  --jc-common-header-border: var(--jc-common-border-color);
  --jc-common-header-text: var(--jc-common-primary-color);
  --jc-common-header-text-hover: var(--jc-common-primary-color-hover);
  --jc-common-header-mobile-bg: var(--jc-common-white);
  --jc-common-header-mobile-accent: var(--jc-common-active-blue);
  --jc-common-header-mobile-text: var(--jc-common-primary-color);
  --jc-common-header-mobile-text-hover: var(--jc-common-primary-color-hover);
  --jc-common-header-mobile-top-bg: var(--jc-common-white);
  --jc-common-header-mobile-top-text: var(--jc-common-primary-color);
  --jc-common-header-mobile-section-bg: #e6e9f3;

  --jc-common-footer-bg: var(--jc-common-white);
  --jc-common-footer-accent: var(--jc-common-active-blue);
  --jc-common-footer-title-text: var(--jc-common-primary-color);
  --jc-common-footer-title-text-hover: var(--jc-common-primary-color-hover);
  --jc-common-footer-text: var(--jc-common-default-foreground);
  --jc-common-footer-text-hover: var(--jc-common-gray);

  /* Shared typography foundation (mobile defaults) */
  --jc-common-font-family-text: var(--rh-global-eng-font-family);
  --jc-common-font-family-headline: 'Chromatica Black', sans-serif;

  --jc-common-type-headline-1-size: 36px;
  --jc-common-type-headline-1-line-height: 44px;
  --jc-common-type-headline-1-weight: 700;
  --jc-common-type-headline-1-letter-spacing: 0;

  --jc-common-type-headline-2-size: 24px;
  --jc-common-type-headline-2-line-height: 36px;
  --jc-common-type-headline-2-weight: 700;
  --jc-common-type-headline-2-letter-spacing: 0;

  --jc-common-type-headline-2-alt-size: 36px;
  --jc-common-type-headline-2-alt-line-height: 1.1;
  --jc-common-type-headline-2-alt-weight: 900;
  --jc-common-type-headline-2-alt-letter-spacing: -0.05em;

  --jc-common-type-headline-2-alt2-size: 36px;
  --jc-common-type-headline-2-alt2-line-height: 1.1;
  --jc-common-type-headline-2-alt2-weight: 900;
  --jc-common-type-headline-2-alt2-letter-spacing: -0.05em;

  --jc-common-type-headline-3-size: 16px;
  --jc-common-type-headline-3-line-height: 32px;
  --jc-common-type-headline-3-weight: 700;
  --jc-common-type-headline-3-letter-spacing: 0;

  --jc-common-type-headline-3-alt2-size: 18px;
  --jc-common-type-headline-3-alt2-line-height: 1.4;
  --jc-common-type-headline-3-alt2-weight: 600;
  --jc-common-type-headline-3-alt2-letter-spacing: 0;

  --jc-common-type-headline-3-alt3-size: 16px;
  --jc-common-type-headline-3-alt3-line-height: 1.5;
  --jc-common-type-headline-3-alt3-weight: 900;
  --jc-common-type-headline-3-alt3-letter-spacing: 0;

  --jc-common-type-body-1-xl-size: 24px;
  --jc-common-type-body-1-xl-line-height: 32px;
  --jc-common-type-body-1-xl-weight: 400;
  --jc-common-type-body-1-xl-letter-spacing: 0;

  --jc-common-type-body-1-md-size: 18px;
  --jc-common-type-body-1-md-line-height: 28px;
  --jc-common-type-body-1-md-weight: 400;
  --jc-common-type-body-1-md-letter-spacing: 0;

  --jc-common-type-body-1-size: 16px;
  --jc-common-type-body-1-line-height: 24px;
  --jc-common-type-body-1-weight: 400;
  --jc-common-type-body-1-letter-spacing: 0;

  --jc-common-type-body-2-size: 16px;
  --jc-common-type-body-2-line-height: 24px;
  --jc-common-type-body-2-weight: 400;
  --jc-common-type-body-2-letter-spacing: 0.2px;

  --jc-common-type-body-3-size: 12px;
  --jc-common-type-body-3-line-height: 20px;
  --jc-common-type-body-3-weight: 400;
  --jc-common-type-body-3-letter-spacing: 0.2px;

  --jc-common-type-body-4-size: 12px;
  --jc-common-type-body-4-line-height: 16px;
  --jc-common-type-body-4-weight: 400;
  --jc-common-type-body-4-letter-spacing: 0.2px;

  --jc-common-type-button-1-size: 18px;
  --jc-common-type-button-1-line-height: 28px;
  --jc-common-type-button-1-weight: 500;
  --jc-common-type-button-1-letter-spacing: 0;

  --jc-common-type-button-2-size: 16px;
  --jc-common-type-button-2-line-height: 24px;
  --jc-common-type-button-2-weight: 500;
  --jc-common-type-button-2-letter-spacing: 0;

  --jc-common-type-button-3-size: 14px;
  --jc-common-type-button-3-line-height: 20px;
  --jc-common-type-button-3-weight: 500;
  --jc-common-type-button-3-letter-spacing: 0;

  --jc-common-type-button-4-size: 12px;
  --jc-common-type-button-4-line-height: 16px;
  --jc-common-type-button-4-weight: 500;
  --jc-common-type-button-4-letter-spacing: 0;

  --jc-common-type-quote-1-size: 30px;
  --jc-common-type-quote-1-line-height: 36px;
  --jc-common-type-quote-1-weight: 700;
  --jc-common-type-quote-1-letter-spacing: 0;

  --jc-common-type-subtitle-1-size: 10px;
  --jc-common-type-subtitle-1-line-height: 1.1;
  --jc-common-type-subtitle-1-weight: 500;
  --jc-common-type-subtitle-1-letter-spacing: 0;
}

body.jc-common-lock-scroll {
  overflow: hidden;
}

.jc-common-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.jc-common-component-error {
  padding: 16px;
  color: #9f1239;
  background: #fff1f2;
  border: 1px solid #fecdd3;
}

/* Scoped baseline reset inside common components only */
[data-jc-common-header],
[data-jc-common-footer],
[data-jc-common-drawer] {
  line-height: 1;

  a,
  a:visited {
    color: inherit;
    text-decoration: none;
  }

  a:hover,
  a:focus,
  a:active {
    color: inherit;
    text-decoration: none;
  }

  :where(p, span, strong, em, small) {
    color: inherit;
  }

  button {
    font: inherit;
    color: inherit;
    letter-spacing: inherit;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  button:hover,
  button:focus,
  button:active {
    background: transparent;
    box-shadow: none;
  }
}


/* Shared jc-common typography utilities */
[data-jc-common-header],
[data-jc-common-footer],
[data-jc-common-drawer] {
  .jc-common-type-headline-1 {
    font-family: var(--jc-common-font-family-headline);
    font-size: var(--jc-common-type-headline-1-size);
    line-height: var(--jc-common-type-headline-1-line-height);
    font-weight: var(--jc-common-type-headline-1-weight);
    letter-spacing: var(--jc-common-type-headline-1-letter-spacing);
  }

  .jc-common-type-headline-2 {
    font-family: var(--jc-common-font-family-headline);
    font-size: var(--jc-common-type-headline-2-size);
    line-height: var(--jc-common-type-headline-2-line-height);
    font-weight: var(--jc-common-type-headline-2-weight);
    letter-spacing: var(--jc-common-type-headline-2-letter-spacing);
  }

  .jc-common-type-headline-2-alt {
    font-family: var(--jc-common-font-family-headline);
    font-size: var(--jc-common-type-headline-2-alt-size);
    line-height: var(--jc-common-type-headline-2-alt-line-height);
    font-weight: var(--jc-common-type-headline-2-alt-weight);
    letter-spacing: var(--jc-common-type-headline-2-alt-letter-spacing);
  }

  .jc-common-type-headline-2-alt2 {
    font-family: var(--jc-common-font-family-headline);
    font-size: var(--jc-common-type-headline-2-alt2-size);
    line-height: var(--jc-common-type-headline-2-alt2-line-height);
    font-weight: var(--jc-common-type-headline-2-alt2-weight);
    letter-spacing: var(--jc-common-type-headline-2-alt2-letter-spacing);
  }

  .jc-common-type-headline-3 {
    font-family: var(--jc-common-font-family-headline);
    font-size: var(--jc-common-type-headline-3-size);
    line-height: var(--jc-common-type-headline-3-line-height);
    font-weight: var(--jc-common-type-headline-3-weight);
    letter-spacing: var(--jc-common-type-headline-3-letter-spacing);
  }

  .jc-common-type-headline-3-alt2 {
    font-family: inherit;
    font-size: var(--jc-common-type-headline-3-alt2-size);
    line-height: var(--jc-common-type-headline-3-alt2-line-height);
    font-weight: var(--jc-common-type-headline-3-alt2-weight);
    letter-spacing: var(--jc-common-type-headline-3-alt2-letter-spacing);
  }

  .jc-common-type-headline-3-alt3 {
    font-family: inherit;
    font-size: var(--jc-common-type-headline-3-alt3-size);
    line-height: var(--jc-common-type-headline-3-alt3-line-height);
    font-weight: var(--jc-common-type-headline-3-alt3-weight);
    letter-spacing: var(--jc-common-type-headline-3-alt3-letter-spacing);
  }

  .jc-common-type-body-1-xl {
    font-family: inherit;
    font-size: var(--jc-common-type-body-1-xl-size);
    line-height: var(--jc-common-type-body-1-xl-line-height);
    font-weight: var(--jc-common-type-body-1-xl-weight);
    letter-spacing: var(--jc-common-type-body-1-xl-letter-spacing);
  }

  .jc-common-type-body-1-md {
    font-family: inherit;
    font-size: var(--jc-common-type-body-1-md-size);
    line-height: var(--jc-common-type-body-1-md-line-height);
    font-weight: var(--jc-common-type-body-1-md-weight);
    letter-spacing: var(--jc-common-type-body-1-md-letter-spacing);
  }

  .jc-common-type-body-1 {
    font-family: inherit;
    font-size: var(--jc-common-type-body-1-size);
    line-height: var(--jc-common-type-body-1-line-height);
    font-weight: var(--jc-common-type-body-1-weight);
    letter-spacing: var(--jc-common-type-body-1-letter-spacing);
  }

  .jc-common-type-body-2 {
    font-family: inherit;
    font-size: var(--jc-common-type-body-2-size);
    line-height: var(--jc-common-type-body-2-line-height);
    font-weight: var(--jc-common-type-body-2-weight);
    letter-spacing: var(--jc-common-type-body-2-letter-spacing);
  }

  .jc-common-type-body-3 {
    font-family: inherit;
    font-size: var(--jc-common-type-body-3-size);
    line-height: var(--jc-common-type-body-3-line-height);
    font-weight: var(--jc-common-type-body-3-weight);
    letter-spacing: var(--jc-common-type-body-3-letter-spacing);
  }

  .jc-common-type-body-4 {
    font-family: inherit;
    font-size: var(--jc-common-type-body-4-size);
    line-height: var(--jc-common-type-body-4-line-height);
    font-weight: var(--jc-common-type-body-4-weight);
    letter-spacing: var(--jc-common-type-body-4-letter-spacing);
  }

  .jc-common-type-button-1 {
    font-family: inherit;
    font-size: var(--jc-common-type-button-1-size);
    line-height: var(--jc-common-type-button-1-line-height);
    font-weight: var(--jc-common-type-button-1-weight);
    letter-spacing: var(--jc-common-type-button-1-letter-spacing);
  }

  .jc-common-type-button-2 {
    font-family: inherit;
    font-size: var(--jc-common-type-button-2-size);
    line-height: var(--jc-common-type-button-2-line-height);
    font-weight: var(--jc-common-type-button-2-weight);
    letter-spacing: var(--jc-common-type-button-2-letter-spacing);
  }

  .jc-common-type-button-3 {
    font-family: inherit;
    font-size: var(--jc-common-type-button-3-size);
    line-height: var(--jc-common-type-button-3-line-height);
    font-weight: var(--jc-common-type-button-3-weight);
    letter-spacing: var(--jc-common-type-button-3-letter-spacing);
  }

  .jc-common-type-button-4 {
    font-family: inherit;
    font-size: var(--jc-common-type-button-4-size);
    line-height: var(--jc-common-type-button-4-line-height);
    font-weight: var(--jc-common-type-button-4-weight);
    letter-spacing: var(--jc-common-type-button-4-letter-spacing);
  }

  .jc-common-type-quote-1 {
    font-family: inherit;
    font-size: var(--jc-common-type-quote-1-size);
    line-height: var(--jc-common-type-quote-1-line-height);
    font-weight: var(--jc-common-type-quote-1-weight);
    letter-spacing: var(--jc-common-type-quote-1-letter-spacing);
  }

  .jc-common-type-subtitle-1 {
    font-family: inherit;
    font-size: var(--jc-common-type-subtitle-1-size);
    line-height: var(--jc-common-type-subtitle-1-line-height);
    font-weight: var(--jc-common-type-subtitle-1-weight);
    letter-spacing: var(--jc-common-type-subtitle-1-letter-spacing);
  }

  /* accordion */
  .jc-common-accordion-toggle {
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: inherit;
  }

  .jc-common-accordion-toggle .jc-common-accordion-arrow {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    transition: transform 0.2s ease;
  }

  .jc-common-accordion-item[data-open='true'] .jc-common-accordion-toggle .jc-common-accordion-arrow {
    transform: rotate(180deg);
  }

  .jc-common-accordion-panel {
    overflow: hidden;
    transition: max-height 0.2s ease;
  }
}

@media (min-width: 680px) {
  :root {
    --jc-common-type-quote-1-size: 32px;
  }
}

@media (min-width: 1200px) {
  :root {
    --jc-common-type-headline-1-size: 60px;
    --jc-common-type-headline-1-line-height: 68px;
    --jc-common-type-headline-2-size: 30px;
    --jc-common-type-headline-2-line-height: 36px;
    --jc-common-type-headline-2-alt-size: 58px;
    --jc-common-type-headline-2-alt-line-height: 1.1;
    --jc-common-type-headline-2-alt2-size: 58px;
    --jc-common-type-headline-2-alt2-line-height: 1.1;
    --jc-common-type-headline-3-size: 16px;
    --jc-common-type-headline-3-line-height: 32px;
    --jc-common-type-headline-3-alt2-size: 18px;
    --jc-common-type-headline-3-alt2-line-height: 1.4;
    --jc-common-type-headline-3-alt3-size: 20px;
    --jc-common-type-headline-3-alt3-line-height: 1.4;
    --jc-common-type-body-1-xl-size: 30px;
    --jc-common-type-body-1-xl-line-height: 36px;
    --jc-common-type-body-1-md-size: 24px;
    --jc-common-type-body-1-md-line-height: 32px;
    --jc-common-type-body-1-size: 18px;
    --jc-common-type-body-1-line-height: 28px;
    --jc-common-type-body-2-size: 16px;
    --jc-common-type-body-2-line-height: 24px;
    --jc-common-type-body-3-size: 14px;
    --jc-common-type-body-3-line-height: 20px;
    --jc-common-type-body-4-size: 12px;
    --jc-common-type-body-4-line-height: 16px;
    --jc-common-type-button-1-size: 18px;
    --jc-common-type-button-1-line-height: 28px;
    --jc-common-type-button-2-size: 16px;
    --jc-common-type-button-2-line-height: 28px;
    --jc-common-type-button-3-size: 14px;
    --jc-common-type-button-3-line-height: 24px;
    --jc-common-type-button-4-size: 12px;
    --jc-common-type-button-4-line-height: 20px;
    --jc-common-type-quote-1-size: 30px;
    --jc-common-type-quote-1-line-height: 36px;
    --jc-common-type-subtitle-1-size: 10px;
    --jc-common-type-subtitle-1-line-height: 1.1;
  }
}