: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: 960px;
	--jm-width-narrow: 1040px;
	--jm-font-size-base: 17px;
	--jm-brand-image-width: clamp(320px, 28vw, 520px);
	--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: 34rem;
	--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-hero-bg-position: 84% 10%;
	--jm-home-wide-hero-bg-position: 86% 8%;
	--jm-home-desktop-hero-content-gap: clamp(0.95rem, 1.45vw, 1.25rem);
	--jm-home-desktop-hero-content-max-width: 1376px;
	--jm-home-desktop-hero-content-padding: clamp(2.65rem, 4vw, 4rem) 0 clamp(2.15rem, 2.9vw, 2.9rem);
	--jm-home-desktop-hero-content-width: min(calc(100% - 3rem), var(--jm-home-desktop-hero-content-max-width));
	--jm-home-wide-hero-content-max-width: 1856px;
	--jm-home-wide-hero-content-width: min(calc(100% - 4rem), var(--jm-home-wide-hero-content-max-width));
	--jm-home-desktop-site-header-margin-bottom: clamp(1.4rem, 2vw, 1.9rem);
	--jm-home-desktop-brand-image-width: min(300px, 18vw);
	--jm-home-desktop-hero-title-font-size: clamp(2.95rem, 5vw, 5rem);
	--jm-home-desktop-hero-title-letter-spacing: -0.04em;
	--jm-home-desktop-hero-title-line-height: 1.03;
	--jm-home-desktop-hero-title-margin: 0;
	--jm-home-desktop-hero-title-max-width: none;
	--jm-home-desktop-hero-title-white-space: nowrap;
	--jm-home-desktop-hero-line-display: inline-block;
	--jm-home-desktop-hero-line-white-space: nowrap;
	--jm-home-desktop-hero-sub-font-size: clamp(0.97rem, 1.05vw, 1.08rem);
	--jm-home-desktop-hero-sub-line-height: 1.25;
	--jm-home-desktop-hero-sub-max-width: none;
	--jm-home-desktop-hero-sub-white-space: nowrap;
	--jm-home-desktop-hero-ctas-display: flex;
	--jm-home-desktop-hero-ctas-gap: 1rem;
	--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: 106px;
	--jm-home-desktop-route-padding: 0 0.5rem;
	--jm-home-desktop-route-label-font-size: clamp(0.98rem, 1vw, 1.1rem);
	--jm-home-desktop-route-label-max-width: 74%;
	--jm-home-desktop-route-hovertext-font-size: 0.76rem;
	--jm-home-desktop-route-hovertext-padding: 0 10px;
	--jm-home-wide-route-height: 112px;
	--jm-home-wide-route-padding: 0 0.625rem;
	--jm-home-wide-route-label-font-size: clamp(1.05rem, 0.9vw, 1.16rem);
	--jm-home-wide-route-label-max-width: 66%;
	--jm-home-wide-route-hovertext-font-size: 0.82rem;
	--jm-home-wide-route-hovertext-padding: 0 12px;
}

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

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