:root {
	--jm-color-bg: #0B0D10;
	--jm-color-text: #FFFFFF;
	--jm-color-muted: #C7CCD6;
	--jm-color-link: #5DA9FF;
	--jm-color-link-hover: #3D8BFF;
	--jm-color-surface: #151922;
	--jm-color-surface-strong: #242A36;
	--jm-font-family: "Nunito", sans-serif;
	--jm-width-shell: 1600px;
	--jm-width-content: 1440px;
	--jm-width-reading: 820px;
	--jm-width-narrow: 1040px;
	--jm-font-size-base: 17px;
	--jm-brand-image-width: clamp(180px, 16vw, 300px);
	--jm-chrome-inset: clamp(0.875rem, 2vw, 2rem);
	--jm-content-top-pad: clamp(8.75rem, 12vw, 14rem);
	--jm-font-size-button: clamp(1.1rem, 1.4vw, 1.5rem);
	--jm-button-padding: clamp(1rem, 1.2vw, 1.4rem) clamp(1.6rem, 2vw, 2.4rem);
	--jm-route-height: clamp(6rem, 10vw, 9rem);
	--jm-font-size-hovertext: clamp(1rem, 1.2vw, 1.3rem);
	--jm-font-size-legal: clamp(0.95rem, 1.1vw, 1.2rem);
	--jm-bottom-chrome-height: 25rem;
	--jm-container-max: var(--jm-width-content);
	--jm-reading-max: var(--jm-width-reading);
	--jm-tap-target: 44px;
	--jm-radius-card: 6px;
	--jm-radius-panel: 8px;
	--jm-radius-pill: 6px;
	--jm-border: 1px solid #242A36;
	--jm-border-strong: 1px solid #C7CCD6;
	--jm-space-2xs: 0.375rem;
	--jm-space-xs: 0.75rem;
	--jm-space-sm: 1rem;
	--jm-space-md: 1.5rem;
	--jm-space-lg: 2rem;
	--jm-space-xl: 3rem;
	--jm-space-2xl: 4rem;
	--jm-shadow-none: none;
	/* Homepage desktop refactor tokens */
	--jm-bp-home-desktop: 1025px;
	--jm-bp-wide: 1680px;
	--jm-home-desktop-cta-border-radius: 8px;
	--jm-home-desktop-cta-font-size: 1.0625rem;
	--jm-home-desktop-cta-line-height: 1.2;
	--jm-home-desktop-cta-min-height: 60px;
	--jm-home-desktop-cta-min-width: 14rem;
	--jm-home-desktop-cta-padding: 1rem 2rem;
	--jm-home-cta-bg: rgba(21, 25, 34, 0.92);
	--jm-home-cta-border-color: rgba(255, 255, 255, 0.30);
	--jm-home-desktop-cta-hover-background: rgba(34, 40, 52, 0.96);
	--jm-home-desktop-cta-hover-border-color: rgba(255, 255, 255, 0.42);
	--jm-home-desktop-cta-hover-text-color: rgb(255, 255, 255);
	--jm-home-desktop-bottom-chrome-padding: 0.875rem 0.75rem 0.625rem;
	--jm-home-desktop-bottom-chrome-inner-gap: 0.5rem;
	--jm-home-desktop-bottom-chrome-inner-max-width: 1376px;
	--jm-home-desktop-bottom-chrome-inner-width: min(calc(100% - 3rem), var(--jm-home-desktop-bottom-chrome-inner-max-width));
	--jm-home-wide-bottom-chrome-inner-max-width: 1920px;
	--jm-home-wide-bottom-chrome-inner-width: min(calc(100% - 4rem), var(--jm-home-wide-bottom-chrome-inner-max-width));
	--jm-home-desktop-routes-border-radius: 4px;
	--jm-home-desktop-routes-inner-gap: 0;
	--jm-home-desktop-route-height: 92px;
	--jm-home-desktop-route-padding: 0 0.5rem;
	--jm-home-desktop-route-label-font-size: clamp(1.05rem, 1.1vw, 1.125rem);
	--jm-home-desktop-route-label-max-width: 74%;
	--jm-home-desktop-route-hovertext-font-size: clamp(0.9rem, 0.95vw, 1rem);
	--jm-home-desktop-route-hovertext-padding: 0 10px;
	--jm-home-wide-route-height: 96px;
	--jm-home-wide-route-padding: 0 0.625rem;
	--jm-home-wide-route-label-font-size: clamp(1.05rem, 1.1vw, 1.125rem);
	--jm-home-wide-route-label-max-width: 66%;
	--jm-home-wide-route-hovertext-font-size: clamp(0.9rem, 0.95vw, 1rem);
	--jm-home-wide-route-hovertext-padding: 0 12px;
	/* Homepage promo: scoped motion exception to the system's static default. */
	--jm-home-promo-bg: rgba(77, 52, 107, 0.92);
	--jm-home-promo-fg: var(--jm-color-text);
	--jm-home-promo-border: 1px solid rgba(255, 255, 255, 0.48);
	--jm-home-promo-radius: var(--jm-home-desktop-routes-border-radius);
	--jm-home-promo-fade: 450ms;
	--jm-home-promo-interval: 4500ms;
}

@media (min-width: 768px) {
	:root {
		--jm-bottom-chrome-height: 10rem;
	}
}

@media (min-width: 1025px) {
	:root {
		--jm-bottom-chrome-height: 10rem;
	}
}
