@import url("./link-coverage.css");

:root {
  /* Color Primitives */
  --rs-color-black: #000000;
  --rs-color-white: #ffffff;
  --rs-color-dark: #0a0a0a;
  --rs-color-success: #15803d;
  --rs-color-info: #0369a1;
  --rs-color-warning: #b45309;
  --rs-color-danger: #b91c1c;
  --rs-swatch-primary: #21B8F7;
  --rs-swatch-secondary: #E44B34;
  --rs-swatch-background: #231F20;
  --rs-swatch-heading: #FFFFFF;
  --rs-swatch-text: #FFFFFF;
  --rs-swatch-button-background: #21B8F7;
  --rs-swatch-button-text: #231F20;
  --rs-swatch-button-active-background: #E44B34;
  --rs-swatch-button-active-text: #FFFFFF;
  --rs-swatch-link-text: #21B8F7;
  --rs-swatch-link-active-text: #E44B34;
  --rs-color-primary: var(--rs-swatch-primary);
  --rs-color-primary-rgb: 33, 184, 247;
  --rs-color-primary-xlight: var(--rs-color-primary);
  --rs-color-primary-light: var(--rs-color-primary);
  --rs-color-primary-medium: var(--rs-color-primary);
  --rs-color-primary-dark: var(--rs-color-primary);
  --rs-color-primary-xdark: var(--rs-color-primary);
  --rs-color-primary-xlight-rgb: var(--rs-color-primary-rgb);
  --rs-color-primary-light-rgb: var(--rs-color-primary-rgb);
  --rs-color-primary-medium-rgb: var(--rs-color-primary-rgb);
  --rs-color-primary-dark-rgb: var(--rs-color-primary-rgb);
  --rs-color-primary-xdark-rgb: var(--rs-color-primary-rgb);

  --rs-color-secondary: var(--rs-swatch-secondary);
  --rs-color-secondary-rgb: 228, 75, 52;
  --rs-color-secondary-xlight: var(--rs-color-secondary);
  --rs-color-secondary-light: var(--rs-color-secondary);
  --rs-color-secondary-medium: var(--rs-color-secondary);
  --rs-color-secondary-dark: var(--rs-color-secondary);
  --rs-color-secondary-xdark: var(--rs-color-secondary);
  --rs-color-secondary-xlight-rgb: var(--rs-color-secondary-rgb);
  --rs-color-secondary-light-rgb: var(--rs-color-secondary-rgb);
  --rs-color-secondary-medium-rgb: var(--rs-color-secondary-rgb);
  --rs-color-secondary-dark-rgb: var(--rs-color-secondary-rgb);
  --rs-color-secondary-xdark-rgb: var(--rs-color-secondary-rgb);

  /* Space Primitives */
  --rs-space-0: 0;
  --rs-space-1: 0.25rem;
  --rs-space-2: 0.5rem;
  --rs-space-3: 1rem;
  --rs-space-4: 1.5rem;
  --rs-space-5: 2.25rem;
  --rs-space-6: 3rem;
  --rs-space-7: 4rem;
  --rs-space-8: 6rem;
  --rs-bg-page: var(--rs-swatch-background);
  --rs-color-heading: var(--rs-swatch-heading);
  --rs-button-bg-color: var(--rs-swatch-button-background);
  --rs-button-text-color: var(--rs-swatch-button-text);
  --rs-button-active-bg-color: var(--rs-swatch-button-active-background);
  --rs-button-active-text-color: var(--rs-swatch-button-active-text);
  --rs-link-text-color: var(--rs-swatch-link-text);
  --rs-link-active-text-color: var(--rs-swatch-link-active-text);
  --rs-color-surface: var(--rs-bg-page);
  --rs-color-surface-muted: #242424;
  --rs-color-surface-strong: #2e2e2e;
  --rs-color-surface-inverse: #121212;
  --rs-color-surface-xdark: #0d0d0d;
  --rs-color-text: var(--rs-swatch-text);
  --rs-color-text-muted: rgba(255, 255, 255, 0.74);
  --rs-color-text-strong: var(--rs-color-heading);
  --rs-color-accent: var(--rs-link-active-text-color);
  --rs-color-on-primary: #231F20;
  --rs-color-on-primary-rgb: 35, 31, 32;
  --rs-color-on-secondary: #FFFFFF;
  --rs-color-on-secondary-rgb: 255, 255, 255;
  --rs-color-on-dark: #f5f5f5;
  --rs-color-on-dark-rgb: 245, 245, 245;
  --rs-font-heading: "Source Sans 3", "Noto Sans", "IBM Plex Sans", sans-serif;
  --rs-font-body: "Source Sans 3", "Noto Sans", "IBM Plex Sans", sans-serif;
  --rs-font-mono: "IBM Plex Mono", "JetBrains Mono", "SFMono-Regular", monospace;
  /* Typography scale: 14px base with a minor third (1.2) ratio. */
  --rs-font-size-2xs: 0.6076rem;
  --rs-font-size-xs: 0.7292rem;
  --rs-font-size-base: 0.875rem;
  --rs-font-size-md: 1.05rem;
  --rs-font-size-lg: 1.26rem;
  --rs-font-size-xl: 1.512rem;
  --rs-font-size-2xl: 1.8144rem;
  --rs-font-size-3xl: 2.1773rem;
  --rs-font-size-4xl: 2.6127rem;
  --rs-font-size-caption: var(--rs-font-size-2xs);
  --rs-font-size-small: var(--rs-font-size-xs);
  --rs-font-size-body: var(--rs-font-size-base);
  --rs-font-size-lead: var(--rs-font-size-md);
  --rs-font-size-h6: var(--rs-font-size-md);
  --rs-font-size-h5: var(--rs-font-size-lg);
  --rs-font-size-h4: var(--rs-font-size-xl);
  --rs-font-size-h3: var(--rs-font-size-2xl);
  --rs-font-size-h2: var(--rs-font-size-3xl);
  --rs-font-size-h1: var(--rs-font-size-4xl);
  --rs-letter-spacing-heading: 0;
  --rs-letter-spacing-eyebrow: 0;
  --rs-radius-sm: 0;
  --rs-radius-md: 0;
  --rs-radius-lg: 0;
  --rs-radius-pill: 0;
  /* A neutral shadow remains valid when composed into comma-separated shadow layers. */
  --rs-shadow-none: 0 0 0 0 transparent;
  --rs-shadow-sm: var(--rs-shadow-none);
  --rs-shadow-md: var(--rs-shadow-none);
  --rs-shadow-lg: var(--rs-shadow-none);
  --rs-border-subtle: 0 solid var(--rs-color-surface-strong);
  --rs-border-strong: 0 solid var(--rs-color-secondary);
  --rs-border-contrast: 0 solid var(--rs-color-accent);
  --rs-border-dashed: 0 dashed var(--rs-color-surface-strong);
  --rs-border-subtle-width: 0px;
  --rs-border-subtle-style: solid;
  --rs-border-subtle-color: var(--rs-color-surface-strong);
  --rs-border-strong-width: 0;
  --rs-border-strong-style: solid;
  --rs-border-strong-color: var(--rs-color-secondary);
  --rs-border-contrast-width: 0;
  --rs-border-contrast-style: solid;
  --rs-border-contrast-color: var(--rs-color-accent);
  --rs-border-dashed-width: 0;
  --rs-border-dashed-style: dashed;
  --rs-border-dashed-color: var(--rs-color-surface-strong);
  --rs-overlay: rgba(0, 0, 0, 0.6);
  --rs-video-bg: var(--rs-color-surface-strong);
  --rs-gradient-hero: none;
  --rs-gradient-card: none;
  --rs-gradient-cta: none;
  --rs-container-max: 1200px;
  --rs-container-wide: 1600px;
  --rs-transition-fast: 160ms ease;
  --rs-transition-med: 240ms ease;
  --rs-transition-slow: 360ms ease;
  --rs-transition-enable-delay: 250ms;
  --rs-button-transition-enabled: background-color var(--rs-transition-fast), border-color var(--rs-transition-fast), border-radius var(--rs-transition-fast), border-width var(--rs-transition-fast), box-shadow var(--rs-transition-med), color var(--rs-transition-fast), margin var(--rs-transition-fast), padding var(--rs-transition-fast);
  --rs-button-transition: none;
  --rs-menu-item-transition-enabled: margin var(--rs-transition-fast);
  --rs-menu-item-transition: none;
  --rs-menu-item-link-transition-enabled: background-color var(--rs-transition-fast), border-color var(--rs-transition-fast), border-radius var(--rs-transition-fast), border-width var(--rs-transition-fast), box-shadow var(--rs-transition-med), color var(--rs-transition-fast), margin var(--rs-transition-fast), padding var(--rs-transition-fast);
  --rs-menu-item-link-transition: none;
  --rs-focus-ring: 0 0 0 3px rgba(255, 255, 255, 0.2);
}

/* Presentation sizing belongs to the nearest CMS component. Reset inherited
   layers at each component boundary while allowing descendants within that
   component to consume the resolved values. */
:where([data-rs-cms-component-id]) {
  --rs-size-authored-min-width: initial;
  --rs-size-authored-max-width: initial;
  --rs-size-authored-min-height: initial;
  --rs-size-authored-max-height: initial;
  --rs-layout-item-min-width: initial;
  --rs-layout-item-max-width: initial;
  --rs-layout-item-min-height: initial;
  --rs-layout-item-max-height: initial;
  --rs-component-min-width: initial;
  --rs-component-max-width: initial;
  --rs-component-min-height: initial;
  --rs-component-max-height: initial;
}

.rs-cms-transitions-ready .rs-button {
  --rs-button-transition: var(--rs-button-transition-enabled, none);
}

.rs-cms-transitions-ready .rs-menu-item {
  --rs-menu-item-transition: var(--rs-menu-item-transition-enabled, none);
}

.rs-cms-transitions-ready .rs-menu-item__link {
  --rs-menu-item-link-transition: var(--rs-menu-item-link-transition-enabled, none);
}

/* Responsive container contexts */
.rs-cms-root,
.rs-page,
.rs-section__content,
.rs-section--root,
.rs-tab__panel,
.rs-modal__content,
.rs-custom-section {
  container-type: inline-size;
}

a {
    color: var(--rs-link-text-color, inherit);
    font-weight: 800;
}

a:is(:hover, :active, :focus-visible) {
    color: var(--rs-link-active-text-color, var(--rs-link-text-color, inherit));
}

.rs-rich-rule {
    display: inline-block;
    width: 100%;
    height: 1px;
    min-height: 1px;
    margin: 0.55em 0;
    background-color: currentColor;
    vertical-align: middle;
    opacity: 0.5;
    line-height: 0;
}

:where(.rs-paragraph, .rs-html, .rs-alerts) a.rs-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--rs-space-2);
    box-sizing: border-box;
    --rs-bg-color: var(--rs-button-bg-color);
    --rs-text-color: var(--rs-button-text-color);
    --rs-border-style: var(--rs-border-subtle-style);
    --rs-border-top-width: var(--rs-border-subtle-width);
    --rs-border-right-width: var(--rs-border-subtle-width);
    --rs-border-bottom-width: var(--rs-border-subtle-width);
    --rs-border-left-width: var(--rs-border-subtle-width);
    --rs-border-color: var(--rs-border-subtle-color);
    --rs-border-radius: var(--rs-radius-sm);
    --rs-active-border-style: var(--rs-border-style);
    --rs-active-border-top-width: var(--rs-border-top-width);
    --rs-active-border-right-width: var(--rs-border-right-width);
    --rs-active-border-bottom-width: var(--rs-border-bottom-width);
    --rs-active-border-left-width: var(--rs-border-left-width);
    --rs-active-border-color: var(--rs-border-color);
    --rs-active-border-radius: var(--rs-border-radius);
    --rs-border-shadow:
        inset 0 var(--rs-border-top-width) 0 0 var(--rs-border-color),
        inset calc(-1 * var(--rs-border-right-width)) 0 0 0 var(--rs-border-color),
        inset 0 calc(-1 * var(--rs-border-bottom-width)) 0 0 var(--rs-border-color),
        inset var(--rs-border-left-width) 0 0 0 var(--rs-border-color);
    --rs-active-border-shadow:
        inset 0 var(--rs-active-border-top-width) 0 0 var(--rs-active-border-color),
        inset calc(-1 * var(--rs-active-border-right-width)) 0 0 0 var(--rs-active-border-color),
        inset 0 calc(-1 * var(--rs-active-border-bottom-width)) 0 0 var(--rs-active-border-color),
        inset var(--rs-active-border-left-width) 0 0 0 var(--rs-active-border-color);
    --rs-active-bg-color: var(--rs-button-active-bg-color);
    --rs-active-text-color: var(--rs-button-active-text-color);
    --rs-shadow: var(--rs-shadow-sm);
    --rs-shadow-hover: var(--rs-shadow-md);
    --rs-shadow-active: var(--rs-shadow-sm);
    --rs-active-shadow: var(--rs-shadow-hover);
    --rs-padding-top: var(--rs-space-2);
    --rs-padding-right: var(--rs-space-3);
    --rs-padding-bottom: var(--rs-space-2);
    --rs-padding-left: var(--rs-space-3);
    --rs-active-padding-top: var(--rs-padding-top);
    --rs-active-padding-right: var(--rs-padding-right);
    --rs-active-padding-bottom: var(--rs-padding-bottom);
    --rs-active-padding-left: var(--rs-padding-left);
    padding: var(--rs-padding-top) var(--rs-padding-right) var(--rs-padding-bottom) var(--rs-padding-left);
    border-radius: var(--rs-border-radius);
    border: 0;
    background-color: var(--rs-bg-color);
    background-image: none;
    color: var(--rs-text-color);
    text-decoration: none;
    font-family: var(--rs-font-body);
    font-weight: 600;
    line-height: 1;
    box-shadow: var(--rs-border-shadow), var(--rs-shadow);
    transition: var(--rs-button-transition, none);
}

:where(.rs-paragraph, .rs-html, .rs-alerts) a.rs-button:is(:hover, :active) {
    padding: var(--rs-active-padding-top) var(--rs-active-padding-right) var(--rs-active-padding-bottom) var(--rs-active-padding-left);
    background-color: var(--rs-active-bg-color);
    color: var(--rs-active-text-color);
    border-radius: var(--rs-active-border-radius);
    box-shadow: var(--rs-active-border-shadow), var(--rs-active-shadow);
}

:where(.rs-paragraph, .rs-html, .rs-alerts) a.rs-button:focus-visible {
    outline: none;
    box-shadow: var(--rs-border-shadow), var(--rs-focus-ring), var(--rs-shadow);
}

@media (forced-colors: active) {
    :is(.rs-paragraph, .rs-html, .rs-alerts) a.rs-button {
        border: 1px solid ButtonText;
        box-shadow: none;
    }

    :is(.rs-paragraph, .rs-html, .rs-alerts) a.rs-button:is(:hover, :active) {
        border-color: Highlight;
        box-shadow: none;
    }

    :is(.rs-paragraph, .rs-html, .rs-alerts) a.rs-button:focus-visible {
        outline: 2px solid Highlight;
        outline-offset: 2px;
        box-shadow: none;
    }
}

/* Authored motion is fail-open: server-rendered elements remain static and visible
   unless the motion runtime prepares an initially below-fold target. */
[data-rs-motion-state="pending"][data-rs-motion^="reveal-"] {
    opacity: 0;
}

[data-rs-motion-state="pending"][data-rs-motion="reveal-rise"] {
    translate: 0 56px;
}

[data-rs-motion-state="pending"][data-rs-motion="reveal-left"] {
    translate: -64px 0;
}

[data-rs-motion-state="pending"][data-rs-motion="reveal-right"] {
    translate: 64px 0;
}

[data-rs-motion-state="pending"][data-rs-motion="reveal-scale"] {
    scale: 0.88;
}

[data-rs-motion-state="revealing"][data-rs-motion="reveal-fade"] {
    animation: rs-motion-reveal-fade 840ms cubic-bezier(0.16, 1, 0.3, 1) 500ms both;
    will-change: opacity;
}

[data-rs-motion-state="revealing"][data-rs-motion="reveal-rise"] {
    animation: rs-motion-reveal-rise 1040ms cubic-bezier(0.16, 1, 0.3, 1) 500ms both;
    will-change: opacity, translate;
}

[data-rs-motion-state="revealing"][data-rs-motion="reveal-left"] {
    animation: rs-motion-reveal-left 1040ms cubic-bezier(0.16, 1, 0.3, 1) 500ms both;
    will-change: opacity, translate;
}

[data-rs-motion-state="revealing"][data-rs-motion="reveal-right"] {
    animation: rs-motion-reveal-right 1040ms cubic-bezier(0.16, 1, 0.3, 1) 500ms both;
    will-change: opacity, translate;
}

[data-rs-motion-state="revealing"][data-rs-motion="reveal-scale"] {
    animation: rs-motion-reveal-scale 940ms cubic-bezier(0.16, 1, 0.3, 1) 500ms both;
    will-change: opacity, scale;
}

@keyframes rs-motion-reveal-fade {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes rs-motion-reveal-rise {
    from { opacity: 0; translate: 0 56px; }
    to { opacity: 1; translate: 0 0; }
}

@keyframes rs-motion-reveal-left {
    from { opacity: 0; translate: -64px 0; }
    to { opacity: 1; translate: 0 0; }
}

@keyframes rs-motion-reveal-right {
    from { opacity: 0; translate: 64px 0; }
    to { opacity: 1; translate: 0 0; }
}

@keyframes rs-motion-reveal-scale {
    from { opacity: 0; scale: 0.88; }
    to { opacity: 1; scale: 1; }
}

.rs-parallax-background {
    display: none;
}

@supports (view-timeline-name: --rs-motion-parallax-subtle)
    and (animation-timeline: --rs-motion-parallax-subtle) {
    :where([data-rs-motion="parallax-subtle"]:not([data-rs-motion] [data-rs-motion])) {
        view-timeline-name: --rs-motion-parallax-subtle;
        view-timeline-axis: block;
        isolation: isolate;
    }

    [data-rs-motion="parallax-subtle"][style*="--rs-bg-image"]:not([data-rs-motion] [data-rs-motion]) {
        background-image: none;
    }

    :where([data-rs-motion="parallax-subtle"]:not([data-rs-motion] [data-rs-motion]))
        > .rs-parallax-background {
        position: absolute;
        z-index: -1;
        inset: 0;
        display: block;
        overflow: hidden;
        border-radius: inherit;
        pointer-events: none;
    }

    :where([data-rs-motion="parallax-subtle"]:not([data-rs-motion] [data-rs-motion]))
        > .rs-parallax-background
        > .rs-parallax-background__media {
        position: absolute;
        inset: 0;
        background-image: var(--rs-bg-image, none);
        background-position: center;
        background-repeat: no-repeat;
        background-size: var(--rs-bg-fit, cover);
    }

    :where([data-rs-motion="parallax-subtle"]:not([data-rs-motion] [data-rs-motion])) > img,
    :where([data-rs-motion="parallax-subtle"]:not([data-rs-motion] [data-rs-motion]))
        > .rs-parallax-background
        > .rs-parallax-background__media {
        animation-name: rs-motion-parallax-subtle;
        animation-duration: 1ms;
        animation-timing-function: linear;
        animation-fill-mode: both;
        animation-timeline: --rs-motion-parallax-subtle;
        animation-range: entry 0% exit 100%;
        transform-origin: center;
        will-change: transform;
    }

    @keyframes rs-motion-parallax-subtle {
        from { transform: translate3d(0, -24%, 0) scale(1.64); }
        to { transform: translate3d(0, 24%, 0) scale(1.64); }
    }
}
