:root {
	color-scheme: light;
	--bcom-accent: #47f89e;
	--bcom-accent-hover: #0cc064;
	--bcom-accent-text: #0c8346;
	--bcom-accent-50: #ebfef5;
	--bcom-accent-100: #cefde5;
	--bcom-on-accent: #0a0a0a;
	--bcom-navy: #073763;
	--bcom-navy-hover: #052949;
	--bcom-navy-50: #eef3f8;
	--bcom-navy-100: #d6e2ee;
	--bcom-green: #74a32f;
	--bcom-green-text: #4f7a1c;
	--bcom-green-50: #eef6e2;
	--bcom-yellow: #fbbc34;
	--bcom-yellow-50: #fff6d7;
	--bcom-red: #d93025;
	--bcom-red-50: #fdeceb;
	--bcom-ink: #0a0a0a;
	--bcom-ink-soft: #141414;
	--bcom-text: #333a44;
	--bcom-muted: #6b7280;
	--bcom-line: #e5e7eb;
	--bcom-line-strong: #8a9099;
	--bcom-surface: #f6f7f9;
	--bcom-surface-warm: #f7f3ee;
	--bcom-white: #ffffff;
	--bcom-overlay: rgb(10 10 10 / 60%);
	--bcom-scrim: linear-gradient(to top, rgb(10 10 10 / 55%), transparent);
	--bcom-focus: #073763;
	--bcom-focus-ring: 0 0 0 2px var(--bcom-bg), 0 0 0 4px var(--bcom-focus);
	--bcom-surface-2: #eceef2;
	--bcom-bg: #ffffff;
	--bcom-bg-elevated: #ffffff;
	--bcom-bg-popover: #ffffff;
	--bcom-bg-inverse: #0a0a0a;
	--bcom-fg: #0a0a0a;
	--bcom-fg-soft: #141414;
	--bcom-fg-inverse: #ffffff;
	--bcom-fg-brand: #073763;
	--bcom-fill-brand: #073763;
	--bcom-fill-brand-hover: #052949;
	--bcom-danger: #d93025;
	--bcom-warning-text: #b45309;
	--bcom-media-plate: #ffffff;
	--bcom-media-filter: none;
	--bcom-photo-filter: none;
	--bcom-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");

	--bcom-font: 'Commissioner', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	--bcom-fs-xs: clamp(0.75rem, 0.73rem + 0.1vw, 0.8125rem);
	--bcom-fs-sm: clamp(0.8125rem, 0.8rem + 0.1vw, 0.875rem);
	--bcom-fs-base: clamp(0.9375rem, 0.92rem + 0.15vw, 1rem);
	--bcom-fs-md: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
	--bcom-fs-lg: clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem);
	--bcom-fs-xl: clamp(1.5rem, 1.25rem + 1.2vw, 2.25rem);
	--bcom-fs-2xl: clamp(1.75rem, 1.3rem + 2vw, 3rem);
	--bcom-fs-3xl: clamp(2.125rem, 1.4rem + 3.2vw, 3.75rem);
	--bcom-lh-tight: 1.15;
	--bcom-lh-snug: 1.3;
	--bcom-lh-base: 1.55;
	--bcom-fw-regular: 400;
	--bcom-fw-medium: 500;
	--bcom-fw-semibold: 600;
	--bcom-fw-bold: 700;
	--bcom-ls-tight: -0.01em;
	--bcom-ls-label: 0.04em;
	--bcom-ls-button: 0.02em;

	--bcom-radius-xs: 4px;
	--bcom-radius-sm: 6px;
	--bcom-radius-md: 10px;
	--bcom-radius-lg: 16px;
	--bcom-radius-xl: 24px;
	--bcom-radius-pill: 999px;
	--bcom-shadow-sm: 0 1px 2px rgb(10 10 10 / 6%), 0 1px 3px rgb(10 10 10 / 8%);
	--bcom-shadow-md: 0 6px 18px rgb(10 10 10 / 10%);
	--bcom-shadow-lg: 0 18px 40px rgb(7 55 99 / 16%);
	--bcom-shadow-lift: 0 10px 24px rgb(7 55 99 / 14%);
	--bcom-shadow-drawer: -8px 0 32px rgb(10 10 10 / 18%);
	--bcom-shadow-pill: 0 2px 12px rgb(10 10 10 / 10%);

	--bcom-space-1: 4px;
	--bcom-space-2: 8px;
	--bcom-space-3: 12px;
	--bcom-space-4: 16px;
	--bcom-space-5: 24px;
	--bcom-space-6: 32px;
	--bcom-space-7: 48px;
	--bcom-space-8: 64px;
	--bcom-space-9: 96px;
	--bcom-section-y: clamp(40px, 6vw, 80px);
	--bcom-container: 1640px;
	--bcom-container-wide: 1640px;
	--bcom-container-narrow: 960px;
	--bcom-gutter: clamp(10px, 1.2vw, 15px);

	--bcom-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--bcom-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--bcom-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
	--bcom-duration: 200ms;
	--bcom-dur-fast: 120ms;
	--bcom-dur-slow: 400ms;
	--bcom-dur-hero: 1500ms;
	--bcom-fx-lift: 4px;
	--bcom-fx-zoom: 1.06;
	--bcom-fx-dist: 16px;
	--bcom-fx-stagger: 60ms;

	--bcom-z-header: 200;
	--bcom-z-overlay: 6200;
	--bcom-z-drawer: 6300;
	--bcom-z-modal: 9000;
	--bcom-z-toast: 9500;

	--bcom-header-h: 90px;
	--bcom-header-h-stuck: 90px;
	--bcom-btn-h: 48px;
	--bcom-btn-px: 24px;
	--bcom-field-h: 48px;
	--bcom-touch: 44px;
	--bcom-badge-fs: var(--bcom-fs-sm);
	--bcom-badge-px: 10px;
	--bcom-card-pad: clamp(12px, 2vw, 24px);
	--bcom-card-gap: clamp(12px, 1.5vw, 20px);
}

body {
	font-family: var(--bcom-font);
	font-size: var(--bcom-fs-base);
	line-height: var(--bcom-lh-base);
	color: var(--bcom-text);
	background-color: var(--bcom-bg);
}

html[data-theme="dark"] {
	color-scheme: dark;
	--bcom-bg: #111315;
	--bcom-surface: #16181b;
	--bcom-surface-2: #0d0e10;
	--bcom-surface-warm: #1a1816;
	--bcom-bg-elevated: #1c1f23;
	--bcom-bg-popover: #23272c;
	--bcom-bg-inverse: #f2f4f7;
	--bcom-fg-inverse: #0a0a0a;
	--bcom-fg: #f2f4f7;
	--bcom-fg-soft: #e3e6eb;
	--bcom-text: #c9ced6;
	--bcom-muted: #9aa3af;
	--bcom-line: #2c3036;
	--bcom-line-strong: #6b7380;
	--bcom-fg-brand: #9cc3ee;
	--bcom-fill-brand: #1f5591;
	--bcom-fill-brand-hover: #2a64a3;
	--bcom-navy-50: #0f1c2a;
	--bcom-navy-100: #1a3049;
	--bcom-accent-text: #47f89e;
	--bcom-accent-50: #0d2018;
	--bcom-accent-100: #14372a;
	--bcom-green-text: #9fd462;
	--bcom-green-50: #172112;
	--bcom-yellow-50: #2a2210;
	--bcom-red-50: #2a1614;
	--bcom-danger: #ff6b61;
	--bcom-warning-text: #f5a524;
	--bcom-focus: #9cc3ee;
	--bcom-overlay: rgb(0 0 0 / 70%);
	--bcom-shadow-sm: 0 1px 2px rgb(0 0 0 / 40%), 0 1px 3px rgb(0 0 0 / 30%);
	--bcom-shadow-md: 0 6px 18px rgb(0 0 0 / 45%);
	--bcom-shadow-lg: 0 18px 40px rgb(0 0 0 / 55%);
	--bcom-shadow-lift: 0 10px 24px rgb(0 0 0 / 50%), 0 0 0 1px rgb(255 255 255 / 6%);
	--bcom-shadow-drawer: -8px 0 32px rgb(0 0 0 / 60%);
	--bcom-shadow-pill: 0 2px 12px rgb(0 0 0 / 45%);
	--bcom-media-plate: #ffffff;
	--bcom-media-filter: brightness(0.92);
	--bcom-photo-filter: brightness(0.9);
	--bcom-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23e3e6eb' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	--ast-global-color-0: var(--bcom-fill-brand);
	--ast-global-color-1: var(--bcom-fill-brand-hover);
	--ast-global-color-2: var(--bcom-fg);
	--ast-global-color-3: var(--bcom-text);
	--ast-global-color-4: var(--bcom-bg-elevated);
	--ast-global-color-5: var(--bcom-bg);
	--ast-global-color-7: var(--bcom-line);
	--ast-form-input-text: var(--bcom-fg);
	--ast-form-input-focus-text: var(--bcom-fg);
	--ast-form-field-color: var(--bcom-muted);
	--ast-comment-inputs-background: var(--bcom-bg-elevated);
	--ast-code-block-background: var(--bcom-bg-elevated);
	--ast-widget-bg-color: var(--bcom-surface);
	--ast-wc-container-head-bg-color: var(--bcom-surface);
	--ast-title-layout-bg: var(--bcom-surface);
	--ast-search-border-color: var(--bcom-line);
	--ast-lifter-hover-bg: var(--bcom-surface);
	--ast-global-dark-bg-style: var(--bcom-bg);
	--ast-global-dark-lfs: var(--bcom-surface);
	--ast-border-color: var(--bcom-line);
}

html body[class*="elementor-kit-"] {
	--e-global-color-bcomsurface: var(--bcom-surface);
	--e-global-color-bcomsurface2: var(--bcom-surface-2);
	--e-global-color-bcomsurface3: #f3f4f6;
	--e-global-color-bcomaccent50: var(--bcom-accent-50);
	--e-global-color-bcomnavy50: var(--bcom-navy-50);
}

html[data-theme="dark"] body[class*="elementor-kit-"] {
	--e-global-color-bcomsurface3: var(--bcom-surface);
}

html[data-theme="dark"] body {
	background-color: var(--bcom-bg);
	color: var(--bcom-text);
}

html[data-theme="dark"] a:where(:not([class*="bcom-"])) {
	color: var(--bcom-fg-brand);
}

html[data-theme="dark"] ::selection {
	background: var(--bcom-fill-brand);
	color: var(--bcom-white);
}

html.bcom-theme-switching *,
html.bcom-theme-switching *::before,
html.bcom-theme-switching *::after {
	transition: none !important;
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: none;
	box-shadow: var(--bcom-focus-ring);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 1ms !important;
		scroll-behavior: auto !important;
	}
}
