/* Vybe CSS v1.0 — Generated 2026-02-24 05:46:17 */

@layer vybe-defaults, vybe-utilities;

:root {
	--primary: #8e8a86;
	--secondary: #352F36;
	--accent: #eaac8b;
	--base: #344F6F;
	--neutral: #000000;
	--white: #ffffff;
	--black: #000000;

	--primary-h: 30;
	--primary-s: 3%;
	--primary-l: 54%;
	--primary-ultra-light: hsl(var(--primary-h), var(--primary-s), 99%);
	--primary-light: hsl(var(--primary-h), var(--primary-s), 80%);
	--primary-medium: hsl(var(--primary-h), var(--primary-s), 65%);
	--primary-hover: hsl(var(--primary-h), var(--primary-s), 44%);
	--primary-dark: hsl(var(--primary-h), var(--primary-s), 35%);
	--primary-ultra-dark: hsl(var(--primary-h), var(--primary-s), 20%);
	--primary-100: var(--primary-ultra-light);
	--primary-200: var(--primary-light);
	--primary-300: var(--primary-medium);
	--primary-400: var(--primary);
	--primary-500: var(--primary);
	--primary-600: var(--primary-hover);
	--primary-700: var(--primary-dark);
	--primary-800: var(--primary-ultra-dark);
	--primary-900: hsl(var(--primary-h), var(--primary-s), 10%);
	--primary-complement: hsl(calc(var(--primary-h) + 180), var(--primary-s), var(--primary-l));
	--primary-trans-10: hsla(var(--primary-h), var(--primary-s), var(--primary-l), 0.1);
	--primary-trans-20: hsla(var(--primary-h), var(--primary-s), var(--primary-l), 0.2);
	--primary-trans-30: hsla(var(--primary-h), var(--primary-s), var(--primary-l), 0.3);
	--primary-trans-40: hsla(var(--primary-h), var(--primary-s), var(--primary-l), 0.4);
	--primary-trans-50: hsla(var(--primary-h), var(--primary-s), var(--primary-l), 0.5);
	--primary-trans-60: hsla(var(--primary-h), var(--primary-s), var(--primary-l), 0.6);
	--primary-trans-70: hsla(var(--primary-h), var(--primary-s), var(--primary-l), 0.7);
	--primary-trans-80: hsla(var(--primary-h), var(--primary-s), var(--primary-l), 0.8);
	--primary-trans-90: hsla(var(--primary-h), var(--primary-s), var(--primary-l), 0.9);

	--secondary-h: 291;
	--secondary-s: 7%;
	--secondary-l: 20%;
	--secondary-ultra-light: hsl(var(--secondary-h), var(--secondary-s), 99%);
	--secondary-light: hsl(var(--secondary-h), var(--secondary-s), 80%);
	--secondary-medium: hsl(var(--secondary-h), var(--secondary-s), 65%);
	--secondary-hover: hsl(var(--secondary-h), var(--secondary-s), 10%);
	--secondary-dark: hsl(var(--secondary-h), var(--secondary-s), 35%);
	--secondary-ultra-dark: hsl(var(--secondary-h), var(--secondary-s), 20%);
	--secondary-100: var(--secondary-ultra-light);
	--secondary-200: var(--secondary-light);
	--secondary-300: var(--secondary-medium);
	--secondary-400: var(--secondary);
	--secondary-500: var(--secondary);
	--secondary-600: var(--secondary-hover);
	--secondary-700: var(--secondary-dark);
	--secondary-800: var(--secondary-ultra-dark);
	--secondary-900: hsl(var(--secondary-h), var(--secondary-s), 10%);
	--secondary-complement: hsl(calc(var(--secondary-h) + 180), var(--secondary-s), var(--secondary-l));
	--secondary-trans-10: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-l), 0.1);
	--secondary-trans-20: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-l), 0.2);
	--secondary-trans-30: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-l), 0.3);
	--secondary-trans-40: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-l), 0.4);
	--secondary-trans-50: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-l), 0.5);
	--secondary-trans-60: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-l), 0.6);
	--secondary-trans-70: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-l), 0.7);
	--secondary-trans-80: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-l), 0.8);
	--secondary-trans-90: hsla(var(--secondary-h), var(--secondary-s), var(--secondary-l), 0.9);

	--accent-h: 21;
	--accent-s: 69%;
	--accent-l: 73%;
	--accent-ultra-light: hsl(var(--accent-h), var(--accent-s), 99%);
	--accent-light: hsl(var(--accent-h), var(--accent-s), 80%);
	--accent-medium: hsl(var(--accent-h), var(--accent-s), 65%);
	--accent-hover: hsl(var(--accent-h), var(--accent-s), 63%);
	--accent-dark: hsl(var(--accent-h), var(--accent-s), 35%);
	--accent-ultra-dark: hsl(var(--accent-h), var(--accent-s), 20%);
	--accent-100: var(--accent-ultra-light);
	--accent-200: var(--accent-light);
	--accent-300: var(--accent-medium);
	--accent-400: var(--accent);
	--accent-500: var(--accent);
	--accent-600: var(--accent-hover);
	--accent-700: var(--accent-dark);
	--accent-800: var(--accent-ultra-dark);
	--accent-900: hsl(var(--accent-h), var(--accent-s), 10%);
	--accent-complement: hsl(calc(var(--accent-h) + 180), var(--accent-s), var(--accent-l));
	--accent-trans-10: hsla(var(--accent-h), var(--accent-s), var(--accent-l), 0.1);
	--accent-trans-20: hsla(var(--accent-h), var(--accent-s), var(--accent-l), 0.2);
	--accent-trans-30: hsla(var(--accent-h), var(--accent-s), var(--accent-l), 0.3);
	--accent-trans-40: hsla(var(--accent-h), var(--accent-s), var(--accent-l), 0.4);
	--accent-trans-50: hsla(var(--accent-h), var(--accent-s), var(--accent-l), 0.5);
	--accent-trans-60: hsla(var(--accent-h), var(--accent-s), var(--accent-l), 0.6);
	--accent-trans-70: hsla(var(--accent-h), var(--accent-s), var(--accent-l), 0.7);
	--accent-trans-80: hsla(var(--accent-h), var(--accent-s), var(--accent-l), 0.8);
	--accent-trans-90: hsla(var(--accent-h), var(--accent-s), var(--accent-l), 0.9);

	--base-h: 213;
	--base-s: 36%;
	--base-l: 32%;
	--base-ultra-light: hsl(var(--base-h), var(--base-s), 99%);
	--base-light: hsl(var(--base-h), var(--base-s), 80%);
	--base-medium: hsl(var(--base-h), var(--base-s), 65%);
	--base-hover: hsl(var(--base-h), var(--base-s), 22%);
	--base-dark: hsl(var(--base-h), var(--base-s), 35%);
	--base-ultra-dark: hsl(var(--base-h), var(--base-s), 20%);
	--base-100: var(--base-ultra-light);
	--base-200: var(--base-light);
	--base-300: var(--base-medium);
	--base-400: var(--base);
	--base-500: var(--base);
	--base-600: var(--base-hover);
	--base-700: var(--base-dark);
	--base-800: var(--base-ultra-dark);
	--base-900: hsl(var(--base-h), var(--base-s), 10%);
	--base-complement: hsl(calc(var(--base-h) + 180), var(--base-s), var(--base-l));
	--base-trans-10: hsla(var(--base-h), var(--base-s), var(--base-l), 0.1);
	--base-trans-20: hsla(var(--base-h), var(--base-s), var(--base-l), 0.2);
	--base-trans-30: hsla(var(--base-h), var(--base-s), var(--base-l), 0.3);
	--base-trans-40: hsla(var(--base-h), var(--base-s), var(--base-l), 0.4);
	--base-trans-50: hsla(var(--base-h), var(--base-s), var(--base-l), 0.5);
	--base-trans-60: hsla(var(--base-h), var(--base-s), var(--base-l), 0.6);
	--base-trans-70: hsla(var(--base-h), var(--base-s), var(--base-l), 0.7);
	--base-trans-80: hsla(var(--base-h), var(--base-s), var(--base-l), 0.8);
	--base-trans-90: hsla(var(--base-h), var(--base-s), var(--base-l), 0.9);

	--neutral-h: 0;
	--neutral-s: 0%;
	--neutral-l: 0%;
	--neutral-ultra-light: hsl(var(--neutral-h), var(--neutral-s), 99%);
	--neutral-light: hsl(var(--neutral-h), var(--neutral-s), 80%);
	--neutral-medium: hsl(var(--neutral-h), var(--neutral-s), 65%);
	--neutral-hover: hsl(var(--neutral-h), var(--neutral-s), 0%);
	--neutral-dark: hsl(var(--neutral-h), var(--neutral-s), 35%);
	--neutral-ultra-dark: hsl(var(--neutral-h), var(--neutral-s), 20%);
	--neutral-100: var(--neutral-ultra-light);
	--neutral-200: var(--neutral-light);
	--neutral-300: var(--neutral-medium);
	--neutral-400: var(--neutral);
	--neutral-500: var(--neutral);
	--neutral-600: var(--neutral-hover);
	--neutral-700: var(--neutral-dark);
	--neutral-800: var(--neutral-ultra-dark);
	--neutral-900: hsl(var(--neutral-h), var(--neutral-s), 10%);
	--neutral-complement: hsl(calc(var(--neutral-h) + 180), var(--neutral-s), var(--neutral-l));
	--neutral-trans-10: hsla(var(--neutral-h), var(--neutral-s), var(--neutral-l), 0.1);
	--neutral-trans-20: hsla(var(--neutral-h), var(--neutral-s), var(--neutral-l), 0.2);
	--neutral-trans-30: hsla(var(--neutral-h), var(--neutral-s), var(--neutral-l), 0.3);
	--neutral-trans-40: hsla(var(--neutral-h), var(--neutral-s), var(--neutral-l), 0.4);
	--neutral-trans-50: hsla(var(--neutral-h), var(--neutral-s), var(--neutral-l), 0.5);
	--neutral-trans-60: hsla(var(--neutral-h), var(--neutral-s), var(--neutral-l), 0.6);
	--neutral-trans-70: hsla(var(--neutral-h), var(--neutral-s), var(--neutral-l), 0.7);
	--neutral-trans-80: hsla(var(--neutral-h), var(--neutral-s), var(--neutral-l), 0.8);
	--neutral-trans-90: hsla(var(--neutral-h), var(--neutral-s), var(--neutral-l), 0.9);

	--black-trans-10: rgba(0,0,0,0.1);
	--black-trans-20: rgba(0,0,0,0.2);
	--black-trans-30: rgba(0,0,0,0.3);
	--black-trans-40: rgba(0,0,0,0.4);
	--black-trans-50: rgba(0,0,0,0.5);
	--white-trans-10: rgba(255,255,255,0.1);
	--white-trans-20: rgba(255,255,255,0.2);
	--white-trans-30: rgba(255,255,255,0.3);
	--white-trans-40: rgba(255,255,255,0.4);
	--white-trans-50: rgba(255,255,255,0.5);

	--bg-ultra-light: var(--white);
	--bg-light: var(--neutral-ultra-light, #f5f5f5);
	--bg-dark: var(--neutral-dark, #333);
	--bg-ultra-dark: var(--black);

	--heading-font-family: TT-Livret-Display-Regular;
	--heading-line-height: 1.2;
	--text-line-height: 1.6;

	--h6: clamp(1.6rem, 0.3333vw + 1.5333rem, 1.8rem);
	--h5: clamp(2.2624rem, 0.4713vw + 2.1681rem, 2.5452rem);
	--h4: clamp(3.199rem, 0.6665vw + 3.0657rem, 3.5989rem);
	--h3: clamp(4.5234rem, 0.9425vw + 4.3349rem, 5.0889rem);
	--h2: clamp(6.3961rem, 1.3327vw + 6.1296rem, 7.1957rem);
	--h1: clamp(9.0441rem, 1.8843vw + 8.6672rem, 10.1747rem);

	--text-xs: clamp(0.625rem, 0.1157vw + 0.6019rem, 0.6944rem);
	--text-s: clamp(0.75rem, 0.1388vw + 0.7222rem, 0.8333rem);
	--text-m: clamp(0.9rem, 0.1667vw + 0.8667rem, 1rem);
	--text-l: clamp(1.08rem, 0.2vw + 1.04rem, 1.2rem);
	--text-xl: clamp(1.296rem, 0.24vw + 1.248rem, 1.44rem);
	--text-xxl: clamp(1.5552rem, 0.288vw + 1.4976rem, 1.728rem);

	--space-xxs: 1.25rem;
	--space-xs: 2.22rem;
	--space-s: 3.335rem;
	--space-m: 5rem;
	--space-l: 7.5rem;
	--space-xl: 11.25rem;
	--space-xxl: 16.875rem;

	--space-xs-to-xxs: clamp(1.25rem, 1.6167vw + 0.9267rem, 2.22rem);
	--space-s-to-xxs: clamp(1.25rem, 3.475vw + 0.555rem, 3.335rem);
	--space-s-to-xs: clamp(2.22rem, 1.8583vw + 1.8483rem, 3.335rem);
	--space-m-to-xxs: clamp(1.25rem, 6.25vw + 0rem, 5rem);
	--space-m-to-xs: clamp(2.22rem, 4.6333vw + 1.2933rem, 5rem);
	--space-m-to-s: clamp(3.335rem, 2.775vw + 2.78rem, 5rem);
	--space-l-to-xxs: clamp(1.25rem, 10.4167vw + -0.8333rem, 7.5rem);
	--space-l-to-xs: clamp(2.22rem, 8.8vw + 0.46rem, 7.5rem);
	--space-l-to-s: clamp(3.335rem, 6.9417vw + 1.9467rem, 7.5rem);
	--space-l-to-m: clamp(5rem, 4.1667vw + 4.1667rem, 7.5rem);
	--space-xl-to-xxs: clamp(1.25rem, 16.6667vw + -2.0833rem, 11.25rem);
	--space-xl-to-xs: clamp(2.22rem, 15.05vw + -0.79rem, 11.25rem);
	--space-xl-to-s: clamp(3.335rem, 13.1917vw + 0.6967rem, 11.25rem);
	--space-xl-to-m: clamp(5rem, 10.4167vw + 2.9167rem, 11.25rem);
	--space-xl-to-l: clamp(7.5rem, 6.25vw + 6.25rem, 11.25rem);
	--space-xxl-to-xxs: clamp(1.25rem, 26.0417vw + -3.9583rem, 16.875rem);
	--space-xxl-to-xs: clamp(2.22rem, 24.425vw + -2.665rem, 16.875rem);
	--space-xxl-to-s: clamp(3.335rem, 22.5667vw + -1.1783rem, 16.875rem);
	--space-xxl-to-m: clamp(5rem, 19.7917vw + 1.0417rem, 16.875rem);
	--space-xxl-to-l: clamp(7.5rem, 15.625vw + 4.375rem, 16.875rem);
	--space-xxl-to-xl: clamp(11.25rem, 9.375vw + 9.375rem, 16.875rem);

	--section-space-xs: 2.664rem;
	--section-space-s: 4.002rem;
	--section-space-m: 6rem;
	--section-space-l: 9rem;
	--section-space-xl: 13.5rem;
	--section-space-xxl: 20.25rem;

	--content-width: 128rem;
	--content-width-safe: min(var(--content-width), calc(100% - var(--gutter) * 2));
	--gutter: 2.4rem;
	--grid-gap: 2.4rem;
	--content-gap: 1.5em;
	--header-height: 100px;
	--header-height-mobile: 70px;
	--scroll-offset: 20px;
	--offset: calc(var(--header-height) + var(--scroll-offset));

	--grid-1: 1fr;
	--grid-2: repeat(2, 1fr);
	--grid-3: repeat(3, 1fr);
	--grid-4: repeat(4, 1fr);
	--grid-5: repeat(5, 1fr);
	--grid-6: repeat(6, 1fr);
	--grid-7: repeat(7, 1fr);
	--grid-8: repeat(8, 1fr);
	--grid-9: repeat(9, 1fr);
	--grid-10: repeat(10, 1fr);
	--grid-11: repeat(11, 1fr);
	--grid-12: repeat(12, 1fr);
	--grid-1-2: minmax(0, 1fr) minmax(0, 2fr);
	--grid-1-3: minmax(0, 1fr) minmax(0, 3fr);
	--grid-2-1: minmax(0, 2fr) minmax(0, 1fr);
	--grid-2-3: minmax(0, 2fr) minmax(0, 3fr);
	--grid-3-1: minmax(0, 3fr) minmax(0, 1fr);
	--grid-3-2: minmax(0, 3fr) minmax(0, 2fr);
	--grid-auto-2: repeat(auto-fit, minmax(min(30rem, 100%), 1fr));
	--grid-auto-3: repeat(auto-fit, minmax(min(20rem, 100%), 1fr));
	--grid-auto-4: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
	--grid-auto-5: repeat(auto-fit, minmax(min(12rem, 100%), 1fr));
	--grid-auto-6: repeat(auto-fit, minmax(min(10rem, 100%), 1fr));
	--grid-auto-7: repeat(auto-fit, minmax(min(9rem, 100%), 1fr));
	--grid-auto-8: repeat(auto-fit, minmax(min(8rem, 100%), 1fr));
	--grid-auto-9: repeat(auto-fit, minmax(min(7rem, 100%), 1fr));
	--grid-auto-10: repeat(auto-fit, minmax(min(6rem, 100%), 1fr));
	--grid-auto-11: repeat(auto-fit, minmax(min(5.5rem, 100%), 1fr));
	--grid-auto-12: repeat(auto-fit, minmax(min(5rem, 100%), 1fr));

	--admin-bar-height: 0px;

	--radius: 1rem;
	--radius-xs: 0.444rem;
	--radius-s: 0.667rem;
	--radius-m: 1rem;
	--radius-l: 1.5rem;
	--radius-xl: 2.25rem;
	--radius-xxl: 3.375rem;

	--box-shadow-m: 0 1px 2px hsl(0 0% 0% / 0.05), 0 2px 8px hsl(0 0% 0% / 0.08);
	--box-shadow-l: 0 2px 4px hsl(0 0% 0% / 0.04), 0 4px 16px hsl(0 0% 0% / 0.1);
	--box-shadow-xl: 0 4px 8px hsl(0 0% 0% / 0.04), 0 8px 32px hsl(0 0% 0% / 0.12);

	--divider-color-dark: var(--black-trans-20, rgba(0,0,0,0.2));
	--divider-color-light: rgba(255,255,255,0.2);
	--divider: 1px solid var(--divider-color-dark);
	--divider-light: 1px solid var(--divider-color-light);
	--divider-dark: 1px solid var(--divider-color-dark);

	--border-width: 1px;
	--border-style: solid;
	--border-color-dark: var(--divider-color-dark);
	--border-color-light: var(--divider-color-light);
	--border: var(--border-width) var(--border-style) var(--border-color-dark);
	--border-light: var(--border-width) var(--border-style) var(--border-color-light);
	--border-dark: var(--border-width) var(--border-style) var(--border-color-dark);

	--focus-color: var(--primary);
	--focus-width: 0.2rem;
	--focus-offset: 0.25em;

	--transition-duration: 300ms;
	--transition-timing: ease;
	--transition: var(--transition-duration) var(--transition-timing);

	--text-color: var(--base, #333);
	--heading-color: var(--primary);
	--link-color: var(--primary);
	--link-hover-color: var(--primary-hover);
	--link-decoration: none;
	--link-hover-decoration: underline;

	--form-bg: var(--white);
	--form-border: 1px solid var(--neutral-light, #ccc);
	--form-radius: var(--radius-s, 0.4rem);
	--form-padding: 0.6em 0.8em;
}

html { font-size: 62.5%; }
body { line-height: var(--text-line-height); }
h1, h2, h3, h4, h5, h6 { font-family: var(--heading-font-family); line-height: var(--heading-line-height); }
h1 { font-size: var(--h1); }
h2 { font-size: var(--h2); }
h3 { font-size: var(--h3); }
h4 { font-size: var(--h4); }
h5 { font-size: var(--h5); }
h6 { font-size: var(--h6); }
body.admin-bar { --admin-bar-height: 32px; }
@media (max-width: 782px) { body.admin-bar { --admin-bar-height: 46px; } }


@layer vybe-defaults {
/* Element Defaults */
body { color: var(--text-color); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
h1, h2, h3, h4, h5, h6 { color: var(--heading-color); }
a { color: var(--link-color); text-decoration: var(--link-decoration); transition: color var(--transition, 300ms ease); }
a:hover { color: var(--link-hover-color); text-decoration: var(--link-hover-decoration); }
img { max-width: 100%; height: auto; }


/* Bricks Element Defaults */
.brxe-section { padding-block: var(--section-space-m); padding-inline: var(--gutter); }
.brxe-container { width: 100%; max-inline-size: var(--content-width); margin-inline: auto; }


/* Form Element Defaults */
input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]),
textarea,
select {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	color: var(--text-color, inherit);
	background-color: var(--form-bg, var(--white, #fff));
	border: var(--form-border, 1px solid #ccc);
	border-radius: var(--form-radius, 0.4rem);
	padding: var(--form-padding, 0.6em 0.8em);
	transition: border-color var(--transition, 300ms ease), box-shadow var(--transition, 300ms ease);
	width: 100%;
	max-width: 100%;
}
input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus,
select:focus {
	border-color: var(--primary);
	outline: none;
	box-shadow: 0 0 0 var(--focus-width, 2px) var(--primary-trans-20, rgba(0,0,0,0.1));
}
label {
	font-weight: 600;
	display: block;
	margin-block-end: 0.3em;
}
::placeholder {
	color: var(--neutral-light, #aaa);
	opacity: 1;
}

/* Text Wrapping */
h1, h2, h3, h4, h5, h6 { text-wrap: pretty; }
.text--balance, .balance { text-wrap: balance; }
.text--pretty { text-wrap: pretty; }
.unbalance { text-wrap: wrap; }

/* Focus Styles */
:focus { outline: none; box-shadow: none; }
:focus-visible { outline-style: solid; outline-color: var(--focus-color); outline-width: var(--focus-width); outline-offset: var(--focus-offset); }
@supports not selector(:focus-visible) {
	:focus { outline: var(--focus-width) solid var(--focus-color); outline-offset: var(--focus-offset); }
}


/* Color Assignments */
.bg--primary { background-color: var(--primary); color: var(--white); }
.bg--secondary { background-color: var(--secondary); color: var(--white); }
.bg--accent { background-color: var(--accent); color: var(--neutral, #000); }
.bg--base { background-color: var(--base); color: var(--white); }
.bg--neutral { background-color: var(--neutral); color: var(--white); }
.bg--primary-ultra-light { background-color: var(--primary-ultra-light); color: var(--neutral, #000); }
.bg--primary-light { background-color: var(--primary-light); color: var(--neutral, #000); }
.bg--primary-medium { background-color: var(--primary-medium); color: var(--white); }
.bg--primary-dark { background-color: var(--primary-dark); color: var(--white); }
.bg--primary-ultra-dark { background-color: var(--primary-ultra-dark); color: var(--white); }
.bg--secondary-ultra-light { background-color: var(--secondary-ultra-light); color: var(--neutral, #000); }
.bg--secondary-light { background-color: var(--secondary-light); color: var(--neutral, #000); }
.bg--secondary-medium { background-color: var(--secondary-medium); color: var(--white); }
.bg--secondary-dark { background-color: var(--secondary-dark); color: var(--white); }
.bg--secondary-ultra-dark { background-color: var(--secondary-ultra-dark); color: var(--white); }
.bg--accent-ultra-light { background-color: var(--accent-ultra-light); color: var(--neutral, #000); }
.bg--accent-light { background-color: var(--accent-light); color: var(--neutral, #000); }
.bg--accent-medium { background-color: var(--accent-medium); color: var(--white); }
.bg--accent-dark { background-color: var(--accent-dark); color: var(--white); }
.bg--accent-ultra-dark { background-color: var(--accent-ultra-dark); color: var(--white); }
.bg--base-ultra-light { background-color: var(--base-ultra-light); color: var(--neutral, #000); }
.bg--base-light { background-color: var(--base-light); color: var(--neutral, #000); }
.bg--base-medium { background-color: var(--base-medium); color: var(--white); }
.bg--base-dark { background-color: var(--base-dark); color: var(--white); }
.bg--base-ultra-dark { background-color: var(--base-ultra-dark); color: var(--white); }
.bg--neutral-ultra-light { background-color: var(--neutral-ultra-light); color: var(--neutral, #000); }
.bg--neutral-light { background-color: var(--neutral-light); color: var(--neutral, #000); }
.bg--neutral-medium { background-color: var(--neutral-medium); color: var(--white); }
.bg--neutral-dark { background-color: var(--neutral-dark); color: var(--white); }
.bg--neutral-ultra-dark { background-color: var(--neutral-ultra-dark); color: var(--white); }
.bg--white { background-color: var(--white); color: var(--neutral, #000); }
.bg--ultra-light { background-color: var(--bg-ultra-light); color: var(--neutral, #000); }
.bg--light { background-color: var(--bg-light); color: var(--neutral, #000); }
.bg--dark { background-color: var(--bg-dark); color: var(--white); }
.bg--ultra-dark { background-color: var(--bg-ultra-dark); color: var(--white); }

.text--primary { color: var(--primary); }
.text--secondary { color: var(--secondary); }
.text--accent { color: var(--accent); }
.text--base { color: var(--base); }
.text--neutral { color: var(--neutral); }
.text--white { color: var(--white); }
.text--light { color: var(--neutral-light, #ccc); }
.text--dark { color: var(--black); }


/* Scroll Offset */
[id] { scroll-margin-top: var(--offset, 0); }


}

@layer vybe-utilities {
/* Smart Spacing */
.smart-spacing { gap: 0 !important; }
.smart-spacing > * { margin-block-start: 0; margin-block-end: 0; }
.smart-spacing > * + * { margin-block-start: var(--content-gap); }
.smart-spacing > * + :where(h1, h2, h3, h4, h5, h6) { margin-block-start: var(--heading-spacing, 1.5em); }
.smart-spacing > * + p { margin-block-start: var(--paragraph-spacing, var(--content-gap)); }
.smart-spacing > * + :where(ul, ol) { margin-block-start: var(--list-spacing, var(--content-gap)); }
.smart-spacing > :where(ul, ol) { padding-inline-start: var(--list-indent-spacing, var(--content-gap)); }
.smart-spacing > :where(ul, ol) li + li { margin-block-start: var(--list-item-spacing, 0.5em); }
.smart-spacing > :first-child { margin-block-start: 0; }

/* Grid Utilities */
.grid--1 { display: grid; grid-template-columns: repeat(1, 1fr); gap: var(--grid-gap); }
.grid--2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--grid-gap); }
.grid--3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--grid-gap); }
.grid--4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--grid-gap); }
.grid--5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--grid-gap); }
.grid--6 { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--grid-gap); }
.grid--7 { display: grid; grid-template-columns: repeat(7, 1fr); gap: var(--grid-gap); }
.grid--8 { display: grid; grid-template-columns: repeat(8, 1fr); gap: var(--grid-gap); }
.grid--9 { display: grid; grid-template-columns: repeat(9, 1fr); gap: var(--grid-gap); }
.grid--10 { display: grid; grid-template-columns: repeat(10, 1fr); gap: var(--grid-gap); }
.grid--11 { display: grid; grid-template-columns: repeat(11, 1fr); gap: var(--grid-gap); }
.grid--12 { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--grid-gap); }
.grid--1-2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--grid-gap); }
.grid--1-3 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: var(--grid-gap); }
.grid--2-1 { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--grid-gap); }
.grid--2-3 { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: var(--grid-gap); }
.grid--3-1 { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); gap: var(--grid-gap); }
.grid--3-2 { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: var(--grid-gap); }
.auto-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(var(--auto-grid-min, 20rem), 100%), 1fr)); gap: var(--grid-gap); }
.grid--auto-rows { grid-auto-rows: minmax(min-content, 1fr); }
.content-grid {
	display: grid;
	grid-template-columns:
		[full-start] minmax(var(--gutter), 1fr)
		[content-start] min(100% - var(--gutter) * 2, var(--content-width))
		[content-end] minmax(var(--gutter), 1fr)
		[full-end];
}
.content-grid > * { grid-column: content; }
.content-grid > .full-width { grid-column: full; }
@media (max-width: 1366px) {
	.grid--xl-1 { grid-template-columns: repeat(1, 1fr); }
	.grid--xl-2 { grid-template-columns: repeat(2, 1fr); }
	.grid--xl-3 { grid-template-columns: repeat(3, 1fr); }
	.grid--xl-4 { grid-template-columns: repeat(4, 1fr); }
	.grid--xl-5 { grid-template-columns: repeat(5, 1fr); }
	.grid--xl-6 { grid-template-columns: repeat(6, 1fr); }
	.grid--xl-7 { grid-template-columns: repeat(7, 1fr); }
	.grid--xl-8 { grid-template-columns: repeat(8, 1fr); }
	.grid--xl-9 { grid-template-columns: repeat(9, 1fr); }
	.grid--xl-10 { grid-template-columns: repeat(10, 1fr); }
	.grid--xl-11 { grid-template-columns: repeat(11, 1fr); }
	.grid--xl-12 { grid-template-columns: repeat(12, 1fr); }
}
@media (max-width: 992px) {
	.grid--l-1 { grid-template-columns: repeat(1, 1fr); }
	.grid--l-2 { grid-template-columns: repeat(2, 1fr); }
	.grid--l-3 { grid-template-columns: repeat(3, 1fr); }
	.grid--l-4 { grid-template-columns: repeat(4, 1fr); }
	.grid--l-5 { grid-template-columns: repeat(5, 1fr); }
	.grid--l-6 { grid-template-columns: repeat(6, 1fr); }
	.grid--l-7 { grid-template-columns: repeat(7, 1fr); }
	.grid--l-8 { grid-template-columns: repeat(8, 1fr); }
	.grid--l-9 { grid-template-columns: repeat(9, 1fr); }
	.grid--l-10 { grid-template-columns: repeat(10, 1fr); }
	.grid--l-11 { grid-template-columns: repeat(11, 1fr); }
	.grid--l-12 { grid-template-columns: repeat(12, 1fr); }
}
@media (max-width: 768px) {
	.grid--m-1 { grid-template-columns: repeat(1, 1fr); }
	.grid--m-2 { grid-template-columns: repeat(2, 1fr); }
	.grid--m-3 { grid-template-columns: repeat(3, 1fr); }
	.grid--m-4 { grid-template-columns: repeat(4, 1fr); }
	.grid--m-5 { grid-template-columns: repeat(5, 1fr); }
	.grid--m-6 { grid-template-columns: repeat(6, 1fr); }
	.grid--m-7 { grid-template-columns: repeat(7, 1fr); }
	.grid--m-8 { grid-template-columns: repeat(8, 1fr); }
	.grid--m-9 { grid-template-columns: repeat(9, 1fr); }
	.grid--m-10 { grid-template-columns: repeat(10, 1fr); }
	.grid--m-11 { grid-template-columns: repeat(11, 1fr); }
	.grid--m-12 { grid-template-columns: repeat(12, 1fr); }
}
@media (max-width: 480px) {
	.grid--s-1 { grid-template-columns: repeat(1, 1fr); }
	.grid--s-2 { grid-template-columns: repeat(2, 1fr); }
	.grid--s-3 { grid-template-columns: repeat(3, 1fr); }
	.grid--s-4 { grid-template-columns: repeat(4, 1fr); }
	.grid--s-5 { grid-template-columns: repeat(5, 1fr); }
	.grid--s-6 { grid-template-columns: repeat(6, 1fr); }
	.grid--s-7 { grid-template-columns: repeat(7, 1fr); }
	.grid--s-8 { grid-template-columns: repeat(8, 1fr); }
	.grid--s-9 { grid-template-columns: repeat(9, 1fr); }
	.grid--s-10 { grid-template-columns: repeat(10, 1fr); }
	.grid--s-11 { grid-template-columns: repeat(11, 1fr); }
	.grid--s-12 { grid-template-columns: repeat(12, 1fr); }
}
@media (max-width: 767px) {
	.grid--2:not([class*="grid--s-"]):not([class*="grid--m-"]) { grid-template-columns: 1fr; }
	.grid--3:not([class*="grid--s-"]):not([class*="grid--m-"]) { grid-template-columns: 1fr; }
	.grid--4:not([class*="grid--s-"]):not([class*="grid--m-"]) { grid-template-columns: 1fr; }
	.grid--5:not([class*="grid--s-"]):not([class*="grid--m-"]) { grid-template-columns: 1fr; }
	.grid--6:not([class*="grid--s-"]):not([class*="grid--m-"]) { grid-template-columns: 1fr; }
	.grid--7:not([class*="grid--s-"]):not([class*="grid--m-"]) { grid-template-columns: 1fr; }
	.grid--8:not([class*="grid--s-"]):not([class*="grid--m-"]) { grid-template-columns: 1fr; }
	.grid--9:not([class*="grid--s-"]):not([class*="grid--m-"]) { grid-template-columns: 1fr; }
	.grid--10:not([class*="grid--s-"]):not([class*="grid--m-"]) { grid-template-columns: 1fr; }
	.grid--11:not([class*="grid--s-"]):not([class*="grid--m-"]) { grid-template-columns: 1fr; }
	.grid--12:not([class*="grid--s-"]):not([class*="grid--m-"]) { grid-template-columns: 1fr; }
	.grid--1-2 { grid-template-columns: 1fr; }
	.grid--1-3 { grid-template-columns: 1fr; }
	.grid--2-1 { grid-template-columns: 1fr; }
	.grid--2-3 { grid-template-columns: 1fr; }
	.grid--3-1 { grid-template-columns: 1fr; }
	.grid--3-2 { grid-template-columns: 1fr; }
}
.col-span--2 { grid-column: span 2; }
.col-span--3 { grid-column: span 3; }
.col-span--4 { grid-column: span 4; }
.col-span--5 { grid-column: span 5; }
.col-span--6 { grid-column: span 6; }
.col-span--all { grid-column: 1 / -1; }
.row-span--2 { grid-row: span 2; }
.row-span--3 { grid-row: span 3; }
.row-span--4 { grid-row: span 4; }
.row-span--5 { grid-row: span 5; }
.row-span--6 { grid-row: span 6; }
.col-start--1 { grid-column-start: 1; }
.col-end--1 { grid-column-end: 1; }
.row-start--1 { grid-row-start: 1; }
.row-end--1 { grid-row-end: 1; }
.col-start--2 { grid-column-start: 2; }
.col-end--2 { grid-column-end: 2; }
.row-start--2 { grid-row-start: 2; }
.row-end--2 { grid-row-end: 2; }
.col-start--3 { grid-column-start: 3; }
.col-end--3 { grid-column-end: 3; }
.row-start--3 { grid-row-start: 3; }
.row-end--3 { grid-row-end: 3; }
.col-start--4 { grid-column-start: 4; }
.col-end--4 { grid-column-end: 4; }
.row-start--4 { grid-row-start: 4; }
.row-end--4 { grid-row-end: 4; }
.col-start--5 { grid-column-start: 5; }
.col-end--5 { grid-column-end: 5; }
.row-start--5 { grid-row-start: 5; }
.row-end--5 { grid-row-end: 5; }
.col-start--6 { grid-column-start: 6; }
.col-end--6 { grid-column-end: 6; }
.row-start--6 { grid-row-start: 6; }
.row-end--6 { grid-row-end: 6; }
.col-end--last { grid-column-end: -1; }
@media (max-width: 1366px) {
	.col-span--xl-2 { grid-column: span 2; }
	.row-span--xl-2 { grid-row: span 2; }
	.col-span--xl-3 { grid-column: span 3; }
	.row-span--xl-3 { grid-row: span 3; }
	.col-span--xl-4 { grid-column: span 4; }
	.row-span--xl-4 { grid-row: span 4; }
	.col-span--xl-5 { grid-column: span 5; }
	.row-span--xl-5 { grid-row: span 5; }
	.col-span--xl-6 { grid-column: span 6; }
	.row-span--xl-6 { grid-row: span 6; }
	.col-span--xl-all { grid-column: 1 / -1; }
	.col-start--xl-1 { grid-column-start: 1; }
	.col-end--xl-1 { grid-column-end: 1; }
	.col-start--xl-2 { grid-column-start: 2; }
	.col-end--xl-2 { grid-column-end: 2; }
	.col-start--xl-3 { grid-column-start: 3; }
	.col-end--xl-3 { grid-column-end: 3; }
	.col-start--xl-4 { grid-column-start: 4; }
	.col-end--xl-4 { grid-column-end: 4; }
	.col-start--xl-5 { grid-column-start: 5; }
	.col-end--xl-5 { grid-column-end: 5; }
	.col-start--xl-6 { grid-column-start: 6; }
	.col-end--xl-6 { grid-column-end: 6; }
	.col-end--xl-last { grid-column-end: -1; }
}
@media (max-width: 992px) {
	.col-span--l-2 { grid-column: span 2; }
	.row-span--l-2 { grid-row: span 2; }
	.col-span--l-3 { grid-column: span 3; }
	.row-span--l-3 { grid-row: span 3; }
	.col-span--l-4 { grid-column: span 4; }
	.row-span--l-4 { grid-row: span 4; }
	.col-span--l-5 { grid-column: span 5; }
	.row-span--l-5 { grid-row: span 5; }
	.col-span--l-6 { grid-column: span 6; }
	.row-span--l-6 { grid-row: span 6; }
	.col-span--l-all { grid-column: 1 / -1; }
	.col-start--l-1 { grid-column-start: 1; }
	.col-end--l-1 { grid-column-end: 1; }
	.col-start--l-2 { grid-column-start: 2; }
	.col-end--l-2 { grid-column-end: 2; }
	.col-start--l-3 { grid-column-start: 3; }
	.col-end--l-3 { grid-column-end: 3; }
	.col-start--l-4 { grid-column-start: 4; }
	.col-end--l-4 { grid-column-end: 4; }
	.col-start--l-5 { grid-column-start: 5; }
	.col-end--l-5 { grid-column-end: 5; }
	.col-start--l-6 { grid-column-start: 6; }
	.col-end--l-6 { grid-column-end: 6; }
	.col-end--l-last { grid-column-end: -1; }
}
@media (max-width: 768px) {
	.col-span--m-2 { grid-column: span 2; }
	.row-span--m-2 { grid-row: span 2; }
	.col-span--m-3 { grid-column: span 3; }
	.row-span--m-3 { grid-row: span 3; }
	.col-span--m-4 { grid-column: span 4; }
	.row-span--m-4 { grid-row: span 4; }
	.col-span--m-5 { grid-column: span 5; }
	.row-span--m-5 { grid-row: span 5; }
	.col-span--m-6 { grid-column: span 6; }
	.row-span--m-6 { grid-row: span 6; }
	.col-span--m-all { grid-column: 1 / -1; }
	.col-start--m-1 { grid-column-start: 1; }
	.col-end--m-1 { grid-column-end: 1; }
	.col-start--m-2 { grid-column-start: 2; }
	.col-end--m-2 { grid-column-end: 2; }
	.col-start--m-3 { grid-column-start: 3; }
	.col-end--m-3 { grid-column-end: 3; }
	.col-start--m-4 { grid-column-start: 4; }
	.col-end--m-4 { grid-column-end: 4; }
	.col-start--m-5 { grid-column-start: 5; }
	.col-end--m-5 { grid-column-end: 5; }
	.col-start--m-6 { grid-column-start: 6; }
	.col-end--m-6 { grid-column-end: 6; }
	.col-end--m-last { grid-column-end: -1; }
}
@media (max-width: 480px) {
	.col-span--s-2 { grid-column: span 2; }
	.row-span--s-2 { grid-row: span 2; }
	.col-span--s-3 { grid-column: span 3; }
	.row-span--s-3 { grid-row: span 3; }
	.col-span--s-4 { grid-column: span 4; }
	.row-span--s-4 { grid-row: span 4; }
	.col-span--s-5 { grid-column: span 5; }
	.row-span--s-5 { grid-row: span 5; }
	.col-span--s-6 { grid-column: span 6; }
	.row-span--s-6 { grid-row: span 6; }
	.col-span--s-all { grid-column: 1 / -1; }
	.col-start--s-1 { grid-column-start: 1; }
	.col-end--s-1 { grid-column-end: 1; }
	.col-start--s-2 { grid-column-start: 2; }
	.col-end--s-2 { grid-column-end: 2; }
	.col-start--s-3 { grid-column-start: 3; }
	.col-end--s-3 { grid-column-end: 3; }
	.col-start--s-4 { grid-column-start: 4; }
	.col-end--s-4 { grid-column-end: 4; }
	.col-start--s-5 { grid-column-start: 5; }
	.col-end--s-5 { grid-column-end: 5; }
	.col-start--s-6 { grid-column-start: 6; }
	.col-end--s-6 { grid-column-end: 6; }
	.col-end--s-last { grid-column-end: -1; }
}
.flex-grid--1 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
.flex-grid--1 > * { flex: 0 0 calc(100% - var(--grid-gap) * 0 / 1); max-width: calc(100% - var(--grid-gap) * 0 / 1); }
.flex-grid--2 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
.flex-grid--2 > * { flex: 0 0 calc(50% - var(--grid-gap) * 1 / 2); max-width: calc(50% - var(--grid-gap) * 1 / 2); }
.flex-grid--3 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
.flex-grid--3 > * { flex: 0 0 calc(33.3333% - var(--grid-gap) * 2 / 3); max-width: calc(33.3333% - var(--grid-gap) * 2 / 3); }
.flex-grid--4 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
.flex-grid--4 > * { flex: 0 0 calc(25% - var(--grid-gap) * 3 / 4); max-width: calc(25% - var(--grid-gap) * 3 / 4); }
.flex-grid--5 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
.flex-grid--5 > * { flex: 0 0 calc(20% - var(--grid-gap) * 4 / 5); max-width: calc(20% - var(--grid-gap) * 4 / 5); }
.flex-grid--6 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
.flex-grid--6 > * { flex: 0 0 calc(16.6667% - var(--grid-gap) * 5 / 6); max-width: calc(16.6667% - var(--grid-gap) * 5 / 6); }
@media (max-width: 1366px) {
	.flex-grid--xl-1 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--xl-1 > * { flex: 0 0 calc(100% - var(--grid-gap) * 0 / 1); max-width: calc(100% - var(--grid-gap) * 0 / 1); }
	.flex-grid--xl-2 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--xl-2 > * { flex: 0 0 calc(50% - var(--grid-gap) * 1 / 2); max-width: calc(50% - var(--grid-gap) * 1 / 2); }
	.flex-grid--xl-3 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--xl-3 > * { flex: 0 0 calc(33.3333% - var(--grid-gap) * 2 / 3); max-width: calc(33.3333% - var(--grid-gap) * 2 / 3); }
	.flex-grid--xl-4 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--xl-4 > * { flex: 0 0 calc(25% - var(--grid-gap) * 3 / 4); max-width: calc(25% - var(--grid-gap) * 3 / 4); }
	.flex-grid--xl-5 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--xl-5 > * { flex: 0 0 calc(20% - var(--grid-gap) * 4 / 5); max-width: calc(20% - var(--grid-gap) * 4 / 5); }
	.flex-grid--xl-6 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--xl-6 > * { flex: 0 0 calc(16.6667% - var(--grid-gap) * 5 / 6); max-width: calc(16.6667% - var(--grid-gap) * 5 / 6); }
}
@media (max-width: 992px) {
	.flex-grid--l-1 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--l-1 > * { flex: 0 0 calc(100% - var(--grid-gap) * 0 / 1); max-width: calc(100% - var(--grid-gap) * 0 / 1); }
	.flex-grid--l-2 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--l-2 > * { flex: 0 0 calc(50% - var(--grid-gap) * 1 / 2); max-width: calc(50% - var(--grid-gap) * 1 / 2); }
	.flex-grid--l-3 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--l-3 > * { flex: 0 0 calc(33.3333% - var(--grid-gap) * 2 / 3); max-width: calc(33.3333% - var(--grid-gap) * 2 / 3); }
	.flex-grid--l-4 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--l-4 > * { flex: 0 0 calc(25% - var(--grid-gap) * 3 / 4); max-width: calc(25% - var(--grid-gap) * 3 / 4); }
	.flex-grid--l-5 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--l-5 > * { flex: 0 0 calc(20% - var(--grid-gap) * 4 / 5); max-width: calc(20% - var(--grid-gap) * 4 / 5); }
	.flex-grid--l-6 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--l-6 > * { flex: 0 0 calc(16.6667% - var(--grid-gap) * 5 / 6); max-width: calc(16.6667% - var(--grid-gap) * 5 / 6); }
}
@media (max-width: 768px) {
	.flex-grid--m-1 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--m-1 > * { flex: 0 0 calc(100% - var(--grid-gap) * 0 / 1); max-width: calc(100% - var(--grid-gap) * 0 / 1); }
	.flex-grid--m-2 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--m-2 > * { flex: 0 0 calc(50% - var(--grid-gap) * 1 / 2); max-width: calc(50% - var(--grid-gap) * 1 / 2); }
	.flex-grid--m-3 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--m-3 > * { flex: 0 0 calc(33.3333% - var(--grid-gap) * 2 / 3); max-width: calc(33.3333% - var(--grid-gap) * 2 / 3); }
	.flex-grid--m-4 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--m-4 > * { flex: 0 0 calc(25% - var(--grid-gap) * 3 / 4); max-width: calc(25% - var(--grid-gap) * 3 / 4); }
	.flex-grid--m-5 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--m-5 > * { flex: 0 0 calc(20% - var(--grid-gap) * 4 / 5); max-width: calc(20% - var(--grid-gap) * 4 / 5); }
	.flex-grid--m-6 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--m-6 > * { flex: 0 0 calc(16.6667% - var(--grid-gap) * 5 / 6); max-width: calc(16.6667% - var(--grid-gap) * 5 / 6); }
}
@media (max-width: 480px) {
	.flex-grid--s-1 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--s-1 > * { flex: 0 0 calc(100% - var(--grid-gap) * 0 / 1); max-width: calc(100% - var(--grid-gap) * 0 / 1); }
	.flex-grid--s-2 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--s-2 > * { flex: 0 0 calc(50% - var(--grid-gap) * 1 / 2); max-width: calc(50% - var(--grid-gap) * 1 / 2); }
	.flex-grid--s-3 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--s-3 > * { flex: 0 0 calc(33.3333% - var(--grid-gap) * 2 / 3); max-width: calc(33.3333% - var(--grid-gap) * 2 / 3); }
	.flex-grid--s-4 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--s-4 > * { flex: 0 0 calc(25% - var(--grid-gap) * 3 / 4); max-width: calc(25% - var(--grid-gap) * 3 / 4); }
	.flex-grid--s-5 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--s-5 > * { flex: 0 0 calc(20% - var(--grid-gap) * 4 / 5); max-width: calc(20% - var(--grid-gap) * 4 / 5); }
	.flex-grid--s-6 { display: flex; flex-wrap: wrap; gap: var(--grid-gap); }
	.flex-grid--s-6 > * { flex: 0 0 calc(16.6667% - var(--grid-gap) * 5 / 6); max-width: calc(16.6667% - var(--grid-gap) * 5 / 6); }
}
.content-width { inline-size: 100%; max-inline-size: var(--content-width); margin-inline: auto; }
.content-width--safe { inline-size: 100%; max-inline-size: var(--content-width-safe); margin-inline: auto; }
.section__inner, .section__container { width: 100%; max-inline-size: var(--content-width); margin-inline: auto; }


/* Gap Utilities */
.gap--xxs { gap: var(--space-xxs); }
.gap--xs { gap: var(--space-xs); }
.gap--s { gap: var(--space-s); }
.gap--m { gap: var(--space-m); }
.gap--l { gap: var(--space-l); }
.gap--xl { gap: var(--space-xl); }
.gap--xxl { gap: var(--space-xxl); }
.gap--none { gap: 0; }
.content-gap { gap: var(--content-gap); }
.grid-gap { gap: var(--grid-gap); }
.row-gap--xxs { row-gap: var(--space-xxs); }
.col-gap--xxs { column-gap: var(--space-xxs); }
.row-gap--xs { row-gap: var(--space-xs); }
.col-gap--xs { column-gap: var(--space-xs); }
.row-gap--s { row-gap: var(--space-s); }
.col-gap--s { column-gap: var(--space-s); }
.row-gap--m { row-gap: var(--space-m); }
.col-gap--m { column-gap: var(--space-m); }
.row-gap--l { row-gap: var(--space-l); }
.col-gap--l { column-gap: var(--space-l); }
.row-gap--xl { row-gap: var(--space-xl); }
.col-gap--xl { column-gap: var(--space-xl); }
.row-gap--xxl { row-gap: var(--space-xxl); }
.col-gap--xxl { column-gap: var(--space-xxl); }
@media (max-width: 1366px) {
	.gap--xl-xxs { gap: var(--space-xxs); }
	.gap--xl-xs { gap: var(--space-xs); }
	.gap--xl-s { gap: var(--space-s); }
	.gap--xl-m { gap: var(--space-m); }
	.gap--xl-l { gap: var(--space-l); }
	.gap--xl-xl { gap: var(--space-xl); }
	.gap--xl-xxl { gap: var(--space-xxl); }
	.gap--xl-none { gap: 0; }
	.row-gap--xl-xxs { row-gap: var(--space-xxs); }
	.row-gap--xl-xs { row-gap: var(--space-xs); }
	.row-gap--xl-s { row-gap: var(--space-s); }
	.row-gap--xl-m { row-gap: var(--space-m); }
	.row-gap--xl-l { row-gap: var(--space-l); }
	.row-gap--xl-xl { row-gap: var(--space-xl); }
	.row-gap--xl-xxl { row-gap: var(--space-xxl); }
}
@media (max-width: 992px) {
	.gap--l-xxs { gap: var(--space-xxs); }
	.gap--l-xs { gap: var(--space-xs); }
	.gap--l-s { gap: var(--space-s); }
	.gap--l-m { gap: var(--space-m); }
	.gap--l-l { gap: var(--space-l); }
	.gap--l-xl { gap: var(--space-xl); }
	.gap--l-xxl { gap: var(--space-xxl); }
	.gap--l-none { gap: 0; }
	.row-gap--l-xxs { row-gap: var(--space-xxs); }
	.row-gap--l-xs { row-gap: var(--space-xs); }
	.row-gap--l-s { row-gap: var(--space-s); }
	.row-gap--l-m { row-gap: var(--space-m); }
	.row-gap--l-l { row-gap: var(--space-l); }
	.row-gap--l-xl { row-gap: var(--space-xl); }
	.row-gap--l-xxl { row-gap: var(--space-xxl); }
}
@media (max-width: 768px) {
	.gap--m-xxs { gap: var(--space-xxs); }
	.gap--m-xs { gap: var(--space-xs); }
	.gap--m-s { gap: var(--space-s); }
	.gap--m-m { gap: var(--space-m); }
	.gap--m-l { gap: var(--space-l); }
	.gap--m-xl { gap: var(--space-xl); }
	.gap--m-xxl { gap: var(--space-xxl); }
	.gap--m-none { gap: 0; }
	.row-gap--m-xxs { row-gap: var(--space-xxs); }
	.row-gap--m-xs { row-gap: var(--space-xs); }
	.row-gap--m-s { row-gap: var(--space-s); }
	.row-gap--m-m { row-gap: var(--space-m); }
	.row-gap--m-l { row-gap: var(--space-l); }
	.row-gap--m-xl { row-gap: var(--space-xl); }
	.row-gap--m-xxl { row-gap: var(--space-xxl); }
}
@media (max-width: 480px) {
	.gap--s-xxs { gap: var(--space-xxs); }
	.gap--s-xs { gap: var(--space-xs); }
	.gap--s-s { gap: var(--space-s); }
	.gap--s-m { gap: var(--space-m); }
	.gap--s-l { gap: var(--space-l); }
	.gap--s-xl { gap: var(--space-xl); }
	.gap--s-xxl { gap: var(--space-xxl); }
	.gap--s-none { gap: 0; }
	.row-gap--s-xxs { row-gap: var(--space-xxs); }
	.row-gap--s-xs { row-gap: var(--space-xs); }
	.row-gap--s-s { row-gap: var(--space-s); }
	.row-gap--s-m { row-gap: var(--space-m); }
	.row-gap--s-l { row-gap: var(--space-l); }
	.row-gap--s-xl { row-gap: var(--space-xl); }
	.row-gap--s-xxl { row-gap: var(--space-xxl); }
}


/* Section & Header Spacing */
.section--xs { padding-block: var(--section-space-xs); padding-inline: var(--gutter); }
.section--s { padding-block: var(--section-space-s); padding-inline: var(--gutter); }
.section--m { padding-block: var(--section-space-m); padding-inline: var(--gutter); }
.section--l { padding-block: var(--section-space-l); padding-inline: var(--gutter); }
.section--xl { padding-block: var(--section-space-xl); padding-inline: var(--gutter); }
.section--xxl { padding-block: var(--section-space-xxl); padding-inline: var(--gutter); }
.section--none { padding-block: 0; padding-inline: var(--gutter); }
.header--xs { padding-block: var(--space-xs); padding-inline: var(--gutter); }
.header--s { padding-block: var(--space-s); padding-inline: var(--gutter); }
.header--m { padding-block: var(--space-m); padding-inline: var(--gutter); }
.header--l { padding-block: var(--space-l); padding-inline: var(--gutter); }
.header--xl { padding-block: var(--space-xl); padding-inline: var(--gutter); }
.header--xxl { padding-block: var(--space-xxl); padding-inline: var(--gutter); }
@media (max-width: 1366px) {
	.section--xl-xs { padding-block: var(--section-space-xs); padding-inline: var(--gutter); }
	.section--xl-s { padding-block: var(--section-space-s); padding-inline: var(--gutter); }
	.section--xl-m { padding-block: var(--section-space-m); padding-inline: var(--gutter); }
	.section--xl-l { padding-block: var(--section-space-l); padding-inline: var(--gutter); }
	.section--xl-xl { padding-block: var(--section-space-xl); padding-inline: var(--gutter); }
	.section--xl-xxl { padding-block: var(--section-space-xxl); padding-inline: var(--gutter); }
	.section--xl-none { padding-block: 0; padding-inline: var(--gutter); }
}
@media (max-width: 992px) {
	.section--l-xs { padding-block: var(--section-space-xs); padding-inline: var(--gutter); }
	.section--l-s { padding-block: var(--section-space-s); padding-inline: var(--gutter); }
	.section--l-m { padding-block: var(--section-space-m); padding-inline: var(--gutter); }
	.section--l-l { padding-block: var(--section-space-l); padding-inline: var(--gutter); }
	.section--l-xl { padding-block: var(--section-space-xl); padding-inline: var(--gutter); }
	.section--l-xxl { padding-block: var(--section-space-xxl); padding-inline: var(--gutter); }
	.section--l-none { padding-block: 0; padding-inline: var(--gutter); }
}
@media (max-width: 768px) {
	.section--m-xs { padding-block: var(--section-space-xs); padding-inline: var(--gutter); }
	.section--m-s { padding-block: var(--section-space-s); padding-inline: var(--gutter); }
	.section--m-m { padding-block: var(--section-space-m); padding-inline: var(--gutter); }
	.section--m-l { padding-block: var(--section-space-l); padding-inline: var(--gutter); }
	.section--m-xl { padding-block: var(--section-space-xl); padding-inline: var(--gutter); }
	.section--m-xxl { padding-block: var(--section-space-xxl); padding-inline: var(--gutter); }
	.section--m-none { padding-block: 0; padding-inline: var(--gutter); }
}
@media (max-width: 480px) {
	.section--s-xs { padding-block: var(--section-space-xs); padding-inline: var(--gutter); }
	.section--s-s { padding-block: var(--section-space-s); padding-inline: var(--gutter); }
	.section--s-m { padding-block: var(--section-space-m); padding-inline: var(--gutter); }
	.section--s-l { padding-block: var(--section-space-l); padding-inline: var(--gutter); }
	.section--s-xl { padding-block: var(--section-space-xl); padding-inline: var(--gutter); }
	.section--s-xxl { padding-block: var(--section-space-xxl); padding-inline: var(--gutter); }
	.section--s-none { padding-block: 0; padding-inline: var(--gutter); }
}


/* Padding Utilities */
.pad--xs { padding: var(--space-xs); }
.pad--s { padding: var(--space-s); }
.pad--m { padding: var(--space-m); }
.pad--l { padding: var(--space-l); }
.pad--xl { padding: var(--space-xl); }
.pad--xxl { padding: var(--space-xxl); }
.pad--none:not(.ct-section) { padding: 0 !important; }
.padding--xs { padding: var(--space-xs); }
.padding--s { padding: var(--space-s); }
.padding--m { padding: var(--space-m); }
.padding--l { padding: var(--space-l); }
.padding--xl { padding: var(--space-xl); }
.padding--xxl { padding: var(--space-xxl); }
.padding--none { padding: 0; }
.pad-section--xs { padding-block: var(--section-space-xs); padding-inline: var(--gutter); }
.pad-section--s { padding-block: var(--section-space-s); padding-inline: var(--gutter); }
.pad-section--m { padding-block: var(--section-space-m); padding-inline: var(--gutter); }
.pad-section--l { padding-block: var(--section-space-l); padding-inline: var(--gutter); }
.pad-section--xl { padding-block: var(--section-space-xl); padding-inline: var(--gutter); }
.pad-section--xxl { padding-block: var(--section-space-xxl); padding-inline: var(--gutter); }
.pad-section--none { padding: 0 var(--gutter); }
.pad-header--xs { padding: var(--space-xs) var(--gutter); }
.pad-header--s { padding: var(--space-s) var(--gutter); }
.pad-header--m { padding: var(--space-m) var(--gutter); }
.pad-header--l { padding: var(--space-l) var(--gutter); }
.pad-header--xl { padding: var(--space-xl) var(--gutter); }
.pad-header--xxl { padding: var(--space-xxl) var(--gutter); }
.pad-block--xs { padding-block: var(--space-xs); }
.pad-inline--xs { padding-inline: var(--space-xs); }
.pad-block--s { padding-block: var(--space-s); }
.pad-inline--s { padding-inline: var(--space-s); }
.pad-block--m { padding-block: var(--space-m); }
.pad-inline--m { padding-inline: var(--space-m); }
.pad-block--l { padding-block: var(--space-l); }
.pad-inline--l { padding-inline: var(--space-l); }
.pad-block--xl { padding-block: var(--space-xl); }
.pad-inline--xl { padding-inline: var(--space-xl); }
.pad-block--xxl { padding-block: var(--space-xxl); }
.pad-inline--xxl { padding-inline: var(--space-xxl); }
@media (max-width: 1366px) {
	.padding--xl-xs { padding: var(--space-xs); }
	.padding--xl-s { padding: var(--space-s); }
	.padding--xl-m { padding: var(--space-m); }
	.padding--xl-l { padding: var(--space-l); }
	.padding--xl-xl { padding: var(--space-xl); }
	.padding--xl-xxl { padding: var(--space-xxl); }
	.padding--xl-none { padding: 0; }
	.pad-section--xl-xs { padding-block: var(--section-space-xs); padding-inline: var(--gutter); }
	.pad-section--xl-s { padding-block: var(--section-space-s); padding-inline: var(--gutter); }
	.pad-section--xl-m { padding-block: var(--section-space-m); padding-inline: var(--gutter); }
	.pad-section--xl-l { padding-block: var(--section-space-l); padding-inline: var(--gutter); }
	.pad-section--xl-xl { padding-block: var(--section-space-xl); padding-inline: var(--gutter); }
	.pad-section--xl-xxl { padding-block: var(--section-space-xxl); padding-inline: var(--gutter); }
	.pad-section--xl-none { padding-block: 0; padding-inline: var(--gutter); }
}
@media (max-width: 992px) {
	.padding--l-xs { padding: var(--space-xs); }
	.padding--l-s { padding: var(--space-s); }
	.padding--l-m { padding: var(--space-m); }
	.padding--l-l { padding: var(--space-l); }
	.padding--l-xl { padding: var(--space-xl); }
	.padding--l-xxl { padding: var(--space-xxl); }
	.padding--l-none { padding: 0; }
	.pad-section--l-xs { padding-block: var(--section-space-xs); padding-inline: var(--gutter); }
	.pad-section--l-s { padding-block: var(--section-space-s); padding-inline: var(--gutter); }
	.pad-section--l-m { padding-block: var(--section-space-m); padding-inline: var(--gutter); }
	.pad-section--l-l { padding-block: var(--section-space-l); padding-inline: var(--gutter); }
	.pad-section--l-xl { padding-block: var(--section-space-xl); padding-inline: var(--gutter); }
	.pad-section--l-xxl { padding-block: var(--section-space-xxl); padding-inline: var(--gutter); }
	.pad-section--l-none { padding-block: 0; padding-inline: var(--gutter); }
}
@media (max-width: 768px) {
	.padding--m-xs { padding: var(--space-xs); }
	.padding--m-s { padding: var(--space-s); }
	.padding--m-m { padding: var(--space-m); }
	.padding--m-l { padding: var(--space-l); }
	.padding--m-xl { padding: var(--space-xl); }
	.padding--m-xxl { padding: var(--space-xxl); }
	.padding--m-none { padding: 0; }
	.pad-section--m-xs { padding-block: var(--section-space-xs); padding-inline: var(--gutter); }
	.pad-section--m-s { padding-block: var(--section-space-s); padding-inline: var(--gutter); }
	.pad-section--m-m { padding-block: var(--section-space-m); padding-inline: var(--gutter); }
	.pad-section--m-l { padding-block: var(--section-space-l); padding-inline: var(--gutter); }
	.pad-section--m-xl { padding-block: var(--section-space-xl); padding-inline: var(--gutter); }
	.pad-section--m-xxl { padding-block: var(--section-space-xxl); padding-inline: var(--gutter); }
	.pad-section--m-none { padding-block: 0; padding-inline: var(--gutter); }
}
@media (max-width: 480px) {
	.padding--s-xs { padding: var(--space-xs); }
	.padding--s-s { padding: var(--space-s); }
	.padding--s-m { padding: var(--space-m); }
	.padding--s-l { padding: var(--space-l); }
	.padding--s-xl { padding: var(--space-xl); }
	.padding--s-xxl { padding: var(--space-xxl); }
	.padding--s-none { padding: 0; }
	.pad-section--s-xs { padding-block: var(--section-space-xs); padding-inline: var(--gutter); }
	.pad-section--s-s { padding-block: var(--section-space-s); padding-inline: var(--gutter); }
	.pad-section--s-m { padding-block: var(--section-space-m); padding-inline: var(--gutter); }
	.pad-section--s-l { padding-block: var(--section-space-l); padding-inline: var(--gutter); }
	.pad-section--s-xl { padding-block: var(--section-space-xl); padding-inline: var(--gutter); }
	.pad-section--s-xxl { padding-block: var(--section-space-xxl); padding-inline: var(--gutter); }
	.pad-section--s-none { padding-block: 0; padding-inline: var(--gutter); }
}


/* Margin Utilities */
.margin-top--xs { margin-block-start: var(--space-xs); }
.margin-top--s { margin-block-start: var(--space-s); }
.margin-top--m { margin-block-start: var(--space-m); }
.margin-top--l { margin-block-start: var(--space-l); }
.margin-top--xl { margin-block-start: var(--space-xl); }
.margin-top--xxl { margin-block-start: var(--space-xxl); }
.margin-right--xs { margin-inline-end: var(--space-xs); }
.margin-right--s { margin-inline-end: var(--space-s); }
.margin-right--m { margin-inline-end: var(--space-m); }
.margin-right--l { margin-inline-end: var(--space-l); }
.margin-right--xl { margin-inline-end: var(--space-xl); }
.margin-right--xxl { margin-inline-end: var(--space-xxl); }
.margin-bottom--xs { margin-block-end: var(--space-xs); }
.margin-bottom--s { margin-block-end: var(--space-s); }
.margin-bottom--m { margin-block-end: var(--space-m); }
.margin-bottom--l { margin-block-end: var(--space-l); }
.margin-bottom--xl { margin-block-end: var(--space-xl); }
.margin-bottom--xxl { margin-block-end: var(--space-xxl); }
.margin-left--xs { margin-inline-start: var(--space-xs); }
.margin-left--s { margin-inline-start: var(--space-s); }
.margin-left--m { margin-inline-start: var(--space-m); }
.margin-left--l { margin-inline-start: var(--space-l); }
.margin-left--xl { margin-inline-start: var(--space-xl); }
.margin-left--xxl { margin-inline-start: var(--space-xxl); }
.margin-block--xs { margin-block: var(--space-xs); }
.margin-block--s { margin-block: var(--space-s); }
.margin-block--m { margin-block: var(--space-m); }
.margin-block--l { margin-block: var(--space-l); }
.margin-block--xl { margin-block: var(--space-xl); }
.margin-block--xxl { margin-block: var(--space-xxl); }
.margin-inline--xs { margin-inline: var(--space-xs); }
.margin-inline--s { margin-inline: var(--space-s); }
.margin-inline--m { margin-inline: var(--space-m); }
.margin-inline--l { margin-inline: var(--space-l); }
.margin-inline--xl { margin-inline: var(--space-xl); }
.margin-inline--xxl { margin-inline: var(--space-xxl); }
.margin--none { margin: 0; }
@media (max-width: 1366px) {
	.margin-top--xs-xl { margin-block-start: var(--space-xs); }
	.margin-top--s-xl { margin-block-start: var(--space-s); }
	.margin-top--m-xl { margin-block-start: var(--space-m); }
	.margin-top--l-xl { margin-block-start: var(--space-l); }
	.margin-top--xl-xl { margin-block-start: var(--space-xl); }
	.margin-top--xxl-xl { margin-block-start: var(--space-xxl); }
	.margin-right--xs-xl { margin-inline-end: var(--space-xs); }
	.margin-right--s-xl { margin-inline-end: var(--space-s); }
	.margin-right--m-xl { margin-inline-end: var(--space-m); }
	.margin-right--l-xl { margin-inline-end: var(--space-l); }
	.margin-right--xl-xl { margin-inline-end: var(--space-xl); }
	.margin-right--xxl-xl { margin-inline-end: var(--space-xxl); }
	.margin-bottom--xs-xl { margin-block-end: var(--space-xs); }
	.margin-bottom--s-xl { margin-block-end: var(--space-s); }
	.margin-bottom--m-xl { margin-block-end: var(--space-m); }
	.margin-bottom--l-xl { margin-block-end: var(--space-l); }
	.margin-bottom--xl-xl { margin-block-end: var(--space-xl); }
	.margin-bottom--xxl-xl { margin-block-end: var(--space-xxl); }
	.margin-left--xs-xl { margin-inline-start: var(--space-xs); }
	.margin-left--s-xl { margin-inline-start: var(--space-s); }
	.margin-left--m-xl { margin-inline-start: var(--space-m); }
	.margin-left--l-xl { margin-inline-start: var(--space-l); }
	.margin-left--xl-xl { margin-inline-start: var(--space-xl); }
	.margin-left--xxl-xl { margin-inline-start: var(--space-xxl); }
	.margin-block--xs-xl { margin-block: var(--space-xs); }
	.margin-block--s-xl { margin-block: var(--space-s); }
	.margin-block--m-xl { margin-block: var(--space-m); }
	.margin-block--l-xl { margin-block: var(--space-l); }
	.margin-block--xl-xl { margin-block: var(--space-xl); }
	.margin-block--xxl-xl { margin-block: var(--space-xxl); }
	.margin-inline--xs-xl { margin-inline: var(--space-xs); }
	.margin-inline--s-xl { margin-inline: var(--space-s); }
	.margin-inline--m-xl { margin-inline: var(--space-m); }
	.margin-inline--l-xl { margin-inline: var(--space-l); }
	.margin-inline--xl-xl { margin-inline: var(--space-xl); }
	.margin-inline--xxl-xl { margin-inline: var(--space-xxl); }
	.margin--xl-none { margin: 0; }
}
@media (max-width: 992px) {
	.margin-top--xs-l { margin-block-start: var(--space-xs); }
	.margin-top--s-l { margin-block-start: var(--space-s); }
	.margin-top--m-l { margin-block-start: var(--space-m); }
	.margin-top--l-l { margin-block-start: var(--space-l); }
	.margin-top--xl-l { margin-block-start: var(--space-xl); }
	.margin-top--xxl-l { margin-block-start: var(--space-xxl); }
	.margin-right--xs-l { margin-inline-end: var(--space-xs); }
	.margin-right--s-l { margin-inline-end: var(--space-s); }
	.margin-right--m-l { margin-inline-end: var(--space-m); }
	.margin-right--l-l { margin-inline-end: var(--space-l); }
	.margin-right--xl-l { margin-inline-end: var(--space-xl); }
	.margin-right--xxl-l { margin-inline-end: var(--space-xxl); }
	.margin-bottom--xs-l { margin-block-end: var(--space-xs); }
	.margin-bottom--s-l { margin-block-end: var(--space-s); }
	.margin-bottom--m-l { margin-block-end: var(--space-m); }
	.margin-bottom--l-l { margin-block-end: var(--space-l); }
	.margin-bottom--xl-l { margin-block-end: var(--space-xl); }
	.margin-bottom--xxl-l { margin-block-end: var(--space-xxl); }
	.margin-left--xs-l { margin-inline-start: var(--space-xs); }
	.margin-left--s-l { margin-inline-start: var(--space-s); }
	.margin-left--m-l { margin-inline-start: var(--space-m); }
	.margin-left--l-l { margin-inline-start: var(--space-l); }
	.margin-left--xl-l { margin-inline-start: var(--space-xl); }
	.margin-left--xxl-l { margin-inline-start: var(--space-xxl); }
	.margin-block--xs-l { margin-block: var(--space-xs); }
	.margin-block--s-l { margin-block: var(--space-s); }
	.margin-block--m-l { margin-block: var(--space-m); }
	.margin-block--l-l { margin-block: var(--space-l); }
	.margin-block--xl-l { margin-block: var(--space-xl); }
	.margin-block--xxl-l { margin-block: var(--space-xxl); }
	.margin-inline--xs-l { margin-inline: var(--space-xs); }
	.margin-inline--s-l { margin-inline: var(--space-s); }
	.margin-inline--m-l { margin-inline: var(--space-m); }
	.margin-inline--l-l { margin-inline: var(--space-l); }
	.margin-inline--xl-l { margin-inline: var(--space-xl); }
	.margin-inline--xxl-l { margin-inline: var(--space-xxl); }
	.margin--l-none { margin: 0; }
}
@media (max-width: 768px) {
	.margin-top--xs-m { margin-block-start: var(--space-xs); }
	.margin-top--s-m { margin-block-start: var(--space-s); }
	.margin-top--m-m { margin-block-start: var(--space-m); }
	.margin-top--l-m { margin-block-start: var(--space-l); }
	.margin-top--xl-m { margin-block-start: var(--space-xl); }
	.margin-top--xxl-m { margin-block-start: var(--space-xxl); }
	.margin-right--xs-m { margin-inline-end: var(--space-xs); }
	.margin-right--s-m { margin-inline-end: var(--space-s); }
	.margin-right--m-m { margin-inline-end: var(--space-m); }
	.margin-right--l-m { margin-inline-end: var(--space-l); }
	.margin-right--xl-m { margin-inline-end: var(--space-xl); }
	.margin-right--xxl-m { margin-inline-end: var(--space-xxl); }
	.margin-bottom--xs-m { margin-block-end: var(--space-xs); }
	.margin-bottom--s-m { margin-block-end: var(--space-s); }
	.margin-bottom--m-m { margin-block-end: var(--space-m); }
	.margin-bottom--l-m { margin-block-end: var(--space-l); }
	.margin-bottom--xl-m { margin-block-end: var(--space-xl); }
	.margin-bottom--xxl-m { margin-block-end: var(--space-xxl); }
	.margin-left--xs-m { margin-inline-start: var(--space-xs); }
	.margin-left--s-m { margin-inline-start: var(--space-s); }
	.margin-left--m-m { margin-inline-start: var(--space-m); }
	.margin-left--l-m { margin-inline-start: var(--space-l); }
	.margin-left--xl-m { margin-inline-start: var(--space-xl); }
	.margin-left--xxl-m { margin-inline-start: var(--space-xxl); }
	.margin-block--xs-m { margin-block: var(--space-xs); }
	.margin-block--s-m { margin-block: var(--space-s); }
	.margin-block--m-m { margin-block: var(--space-m); }
	.margin-block--l-m { margin-block: var(--space-l); }
	.margin-block--xl-m { margin-block: var(--space-xl); }
	.margin-block--xxl-m { margin-block: var(--space-xxl); }
	.margin-inline--xs-m { margin-inline: var(--space-xs); }
	.margin-inline--s-m { margin-inline: var(--space-s); }
	.margin-inline--m-m { margin-inline: var(--space-m); }
	.margin-inline--l-m { margin-inline: var(--space-l); }
	.margin-inline--xl-m { margin-inline: var(--space-xl); }
	.margin-inline--xxl-m { margin-inline: var(--space-xxl); }
	.margin--m-none { margin: 0; }
}
@media (max-width: 480px) {
	.margin-top--xs-s { margin-block-start: var(--space-xs); }
	.margin-top--s-s { margin-block-start: var(--space-s); }
	.margin-top--m-s { margin-block-start: var(--space-m); }
	.margin-top--l-s { margin-block-start: var(--space-l); }
	.margin-top--xl-s { margin-block-start: var(--space-xl); }
	.margin-top--xxl-s { margin-block-start: var(--space-xxl); }
	.margin-right--xs-s { margin-inline-end: var(--space-xs); }
	.margin-right--s-s { margin-inline-end: var(--space-s); }
	.margin-right--m-s { margin-inline-end: var(--space-m); }
	.margin-right--l-s { margin-inline-end: var(--space-l); }
	.margin-right--xl-s { margin-inline-end: var(--space-xl); }
	.margin-right--xxl-s { margin-inline-end: var(--space-xxl); }
	.margin-bottom--xs-s { margin-block-end: var(--space-xs); }
	.margin-bottom--s-s { margin-block-end: var(--space-s); }
	.margin-bottom--m-s { margin-block-end: var(--space-m); }
	.margin-bottom--l-s { margin-block-end: var(--space-l); }
	.margin-bottom--xl-s { margin-block-end: var(--space-xl); }
	.margin-bottom--xxl-s { margin-block-end: var(--space-xxl); }
	.margin-left--xs-s { margin-inline-start: var(--space-xs); }
	.margin-left--s-s { margin-inline-start: var(--space-s); }
	.margin-left--m-s { margin-inline-start: var(--space-m); }
	.margin-left--l-s { margin-inline-start: var(--space-l); }
	.margin-left--xl-s { margin-inline-start: var(--space-xl); }
	.margin-left--xxl-s { margin-inline-start: var(--space-xxl); }
	.margin-block--xs-s { margin-block: var(--space-xs); }
	.margin-block--s-s { margin-block: var(--space-s); }
	.margin-block--m-s { margin-block: var(--space-m); }
	.margin-block--l-s { margin-block: var(--space-l); }
	.margin-block--xl-s { margin-block: var(--space-xl); }
	.margin-block--xxl-s { margin-block: var(--space-xxl); }
	.margin-inline--xs-s { margin-inline: var(--space-xs); }
	.margin-inline--s-s { margin-inline: var(--space-s); }
	.margin-inline--m-s { margin-inline: var(--space-m); }
	.margin-inline--l-s { margin-inline: var(--space-l); }
	.margin-inline--xl-s { margin-inline: var(--space-xl); }
	.margin-inline--xxl-s { margin-inline: var(--space-xxl); }
	.margin--s-none { margin: 0; }
}


/* Button Framework */
[class*="btn--"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	padding-block: var(--btn-padding-block, 0.8em);
	padding-inline: var(--btn-padding-inline, 1.6em);
	border: var(--btn-border-width, 2px) solid var(--btn-border-color, transparent);
	border-radius: var(--btn-radius, 0.4rem);
	font-weight: var(--btn-font-weight, 600);
	font-size: var(--btn-font-size, inherit);
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: var(--transition, 300ms ease);
	background-color: var(--btn-bg);
	color: var(--btn-text);
}
@media (hover: hover) and (pointer: fine) {
	[class*="btn--"]:hover { background-color: var(--btn-bg-hover); color: var(--btn-text-hover); border-color: var(--btn-border-color-hover, transparent); }
}

.btn--primary { --btn-bg: var(--primary); --btn-text: var(--white); --btn-bg-hover: var(--primary-hover); --btn-text-hover: var(--white); }
.btn--secondary { --btn-bg: var(--secondary); --btn-text: var(--white); --btn-bg-hover: var(--secondary-hover); --btn-text-hover: var(--white); }
.btn--accent { --btn-bg: var(--accent); --btn-text: var(--white); --btn-bg-hover: var(--accent-hover); --btn-text-hover: var(--white); }
.btn--primary-outline { --btn-bg: transparent; --btn-text: var(--primary); --btn-border-color: var(--primary); --btn-bg-hover: var(--primary); --btn-text-hover: var(--white); --btn-border-color-hover: var(--primary); }
.btn--secondary-outline { --btn-bg: transparent; --btn-text: var(--secondary); --btn-border-color: var(--secondary); --btn-bg-hover: var(--secondary); --btn-text-hover: var(--white); --btn-border-color-hover: var(--secondary); }
.btn--accent-outline { --btn-bg: transparent; --btn-text: var(--accent); --btn-border-color: var(--accent); --btn-bg-hover: var(--accent); --btn-text-hover: var(--white); --btn-border-color-hover: var(--accent); }
.btn--white { --btn-bg: var(--white); --btn-text: var(--base, #333); --btn-bg-hover: var(--neutral-ultra-light, #f5f5f5); --btn-text-hover: var(--base, #333); }
.btn--dark { --btn-bg: var(--base, #333); --btn-text: var(--white); --btn-bg-hover: var(--neutral-dark, #222); --btn-text-hover: var(--white); }
.btn--s { --btn-padding-block: 0.5em; --btn-padding-inline: 1.2em; --btn-font-size: 0.875em; }
.btn--l { --btn-padding-block: 1em; --btn-padding-inline: 2em; --btn-font-size: 1.125em; }
[class*="btn--"]:focus-visible { outline: var(--focus-width) solid var(--focus-color); outline-offset: var(--focus-offset); }
[class*="btn--"]:active { transform: scale(0.98); }
[class*="btn--"]:disabled, [class*="btn--"].btn--disabled { opacity: 0.5; cursor: not-allowed; pointer-events: none; }


/* Background Element */
:has(> .is-bg) { position: relative; isolation: isolate; }
.is-bg {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	object-fit: var(--bg-object-fit, cover);
	object-position: var(--bg-object-position, center);
	z-index: var(--bg-z-index, -2);
	pointer-events: none;
	border-radius: var(--bg-radius, 0);
}
.is-bg img, img.is-bg {
	inline-size: 100%;
	block-size: 100%;
	object-fit: var(--bg-object-fit, cover);
	object-position: var(--bg-object-position, center);
}

/* Width Utilities */
.width--10 { inline-size: 100%; max-inline-size: calc(var(--content-width) * 0.1); }
.width--20 { inline-size: 100%; max-inline-size: calc(var(--content-width) * 0.2); }
.width--30 { inline-size: 100%; max-inline-size: calc(var(--content-width) * 0.3); }
.width--40 { inline-size: 100%; max-inline-size: calc(var(--content-width) * 0.4); }
.width--50 { inline-size: 100%; max-inline-size: calc(var(--content-width) * 0.5); }
.width--60 { inline-size: 100%; max-inline-size: calc(var(--content-width) * 0.6); }
.width--70 { inline-size: 100%; max-inline-size: calc(var(--content-width) * 0.7); }
.width--80 { inline-size: 100%; max-inline-size: calc(var(--content-width) * 0.8); }
.width--90 { inline-size: 100%; max-inline-size: calc(var(--content-width) * 0.9); }
.width--full { inline-size: 100%; max-inline-size: 100%; }
.width--auto { inline-size: auto !important; max-inline-size: 100%; }
.width--max-content { inline-size: max-content; max-inline-size: 100%; }
.width--min-content { inline-size: min-content; max-inline-size: 100%; }
.width--fit-content { inline-size: fit-content; max-inline-size: 100%; }


/* Border Radius */
.radius { border-radius: var(--radius); }
.radius--xs { border-radius: var(--radius-xs); }
.radius--s { border-radius: var(--radius-s); }
.radius--m { border-radius: var(--radius-m); }
.radius--l { border-radius: var(--radius-l); }
.radius--xl { border-radius: var(--radius-xl); }
.radius--xxl { border-radius: var(--radius-xxl); }
.radius--50 { border-radius: 50%; }
.radius--circle { border-radius: 50vw; }
.radius--none { border-radius: 0; }


/* Line Clamp */
.line-clamp--1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp--2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp--3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp--4 { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp--5 { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }


/* Text Utilities */
.text--left { text-align: left; }
.text--center { text-align: center; }
.text--right { text-align: right; }
.text--justify { text-align: justify; }
.text--uppercase { text-transform: uppercase; }
.text--lowercase { text-transform: lowercase; }
.text--capitalize { text-transform: capitalize; }
.text--transform-none { text-transform: none; }
.text--100 { font-weight: 100; }
.text--200 { font-weight: 200; }
.text--300 { font-weight: 300; }
.text--400 { font-weight: 400; }
.text--500 { font-weight: 500; }
.text--600 { font-weight: 600; }
.text--700 { font-weight: 700; }
.text--800 { font-weight: 800; }
.text--900 { font-weight: 900; }
.text--bold { font-weight: 700; }
.text--italic { font-style: italic; }
.text--oblique { font-style: oblique; }
.text--underline { text-decoration: underline; }
.text--line-through { text-decoration: line-through; }
.text--overline { text-decoration: overline; }
.text--decoration-none { text-decoration: none; }


/* Text Size Classes */
.text--xs { font-size: var(--text-xs); }
.text--s { font-size: var(--text-s); }
.text--m { font-size: var(--text-m); }
.text--l { font-size: var(--text-l); }
.text--xl { font-size: var(--text-xl); }
.text--xxl { font-size: var(--text-xxl); }
.h1 { font-size: var(--h1); }
.h2 { font-size: var(--h2); }
.h3 { font-size: var(--h3); }
.h4 { font-size: var(--h4); }
.h5 { font-size: var(--h5); }
.h6 { font-size: var(--h6); }


/* Order Utilities */
.order--first { order: -1; }
.order--last { order: 999; }
@media (max-width: 1366px) {
	.order--first-xl { order: -1; }
	.order--last-xl { order: 999; }
}
@media (max-width: 992px) {
	.order--first-l { order: -1; }
	.order--last-l { order: 999; }
}
@media (max-width: 768px) {
	.order--first-m { order: -1; }
	.order--last-m { order: 999; }
}
@media (max-width: 480px) {
	.order--first-s { order: -1; }
	.order--last-s { order: 999; }
}


/* Transitions */
.transition { transition: var(--transition); }


/* Accessibility */
.sr-only {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.skip-link {
	position: absolute;
	inset-block-start: -100%;
	inset-inline-start: 0;
	z-index: 100;
	padding: 0.5em 1em;
	background: var(--primary, #000);
	color: var(--white, #fff);
	text-decoration: none;
}
.skip-link:focus-visible { inset-block-start: 0; }
.clickable-parent { position: relative; }
.clickable-parent > a::after,
a.clickable-parent::after,
button.clickable-parent::after {
	content: "";
	position: absolute;
	inset: 0;
	cursor: pointer;
	z-index: 1;
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Display Utilities */
.display--block { display: block; }
.display--none { display: none; }
.display--inline-block { display: inline-block; }
.display--inline-flex { display: inline-flex; }
.display--contents { display: contents; }
.display--inline { display: inline; }
.display--list-item { display: list-item; }
@media (max-width: 1366px) {
	.display--xl-block { display: block; }
	.display--xl-flex { display: flex; }
	.display--xl-none { display: none; }
}
@media (max-width: 992px) {
	.display--l-block { display: block; }
	.display--l-flex { display: flex; }
	.display--l-none { display: none; }
}
@media (max-width: 768px) {
	.display--m-block { display: block; }
	.display--m-flex { display: flex; }
	.display--m-none { display: none; }
}
@media (max-width: 480px) {
	.display--s-block { display: block; }
	.display--s-flex { display: flex; }
	.display--s-none { display: none; }
}


/* Flex Utilities */
.flex--row { display: flex; flex-direction: row; }
.flex--col { display: flex; flex-direction: column; }
.flex--row-reverse { display: flex; flex-direction: row-reverse; }
.flex--col-reverse { display: flex; flex-direction: column-reverse; }
.flex--wrap { flex-wrap: wrap; }
.flex--grow > * { flex-grow: 1; }
.stretch { display: flex; align-content: stretch; align-items: stretch; justify-content: stretch; justify-items: stretch; }
@media (max-width: 1366px) {
	.flex--row-xl { display: flex; flex-direction: row; }
	.flex--col-xl { display: flex; flex-direction: column; }
	.flex--row-reverse-xl { display: flex; flex-direction: row-reverse; }
	.flex--col-reverse-xl { display: flex; flex-direction: column-reverse; }
}
@media (max-width: 992px) {
	.flex--row-l { display: flex; flex-direction: row; }
	.flex--col-l { display: flex; flex-direction: column; }
	.flex--row-reverse-l { display: flex; flex-direction: row-reverse; }
	.flex--col-reverse-l { display: flex; flex-direction: column-reverse; }
}
@media (max-width: 768px) {
	.flex--row-m { display: flex; flex-direction: row; }
	.flex--col-m { display: flex; flex-direction: column; }
	.flex--row-reverse-m { display: flex; flex-direction: row-reverse; }
	.flex--col-reverse-m { display: flex; flex-direction: column-reverse; }
}
@media (max-width: 480px) {
	.flex--row-s { display: flex; flex-direction: row; }
	.flex--col-s { display: flex; flex-direction: column; }
	.flex--row-reverse-s { display: flex; flex-direction: row-reverse; }
	.flex--col-reverse-s { display: flex; flex-direction: column-reverse; }
}


/* Alignment Utilities */
.justify-content--start { justify-content: flex-start; }
.justify-content--end { justify-content: flex-end; }
.justify-content--center { justify-content: center; }
.justify-content--between { justify-content: space-between; }
.justify-content--around { justify-content: space-around; }
.justify-content--stretch { justify-content: stretch; }
.align-items--start { align-items: flex-start; }
.align-items--end { align-items: flex-end; }
.align-items--center { align-items: center; }
.align-items--baseline { align-items: baseline; }
.align-items--stretch { align-items: stretch; }
.align-content--start { align-content: flex-start; }
.align-content--end { align-content: flex-end; }
.align-content--center { align-content: center; }
.align-content--baseline { align-content: baseline; }
.align-content--stretch { align-content: stretch; }
.justify-items--start { justify-items: flex-start; }
.justify-items--center { justify-items: center; }
.justify-items--end { justify-items: flex-end; }
.justify-items--stretch { justify-items: stretch; }
.self--start { align-self: flex-start; }
.self--end { align-self: flex-end; }
.self--center { align-self: center; }
.self--stretch { align-self: stretch; }
@media (max-width: 1366px) {
	.justify-content--start-xl { justify-content: flex-start; }
	.justify-content--end-xl { justify-content: flex-end; }
	.justify-content--center-xl { justify-content: center; }
	.justify-content--between-xl { justify-content: space-between; }
	.justify-content--around-xl { justify-content: space-around; }
	.justify-content--stretch-xl { justify-content: stretch; }
	.align-items--start-xl { align-items: flex-start; }
	.align-items--end-xl { align-items: flex-end; }
	.align-items--center-xl { align-items: center; }
	.align-items--baseline-xl { align-items: baseline; }
	.align-items--stretch-xl { align-items: stretch; }
	.self--start-xl { align-self: flex-start; }
	.self--end-xl { align-self: flex-end; }
	.self--center-xl { align-self: center; }
	.self--stretch-xl { align-self: stretch; }
}
@media (max-width: 992px) {
	.justify-content--start-l { justify-content: flex-start; }
	.justify-content--end-l { justify-content: flex-end; }
	.justify-content--center-l { justify-content: center; }
	.justify-content--between-l { justify-content: space-between; }
	.justify-content--around-l { justify-content: space-around; }
	.justify-content--stretch-l { justify-content: stretch; }
	.align-items--start-l { align-items: flex-start; }
	.align-items--end-l { align-items: flex-end; }
	.align-items--center-l { align-items: center; }
	.align-items--baseline-l { align-items: baseline; }
	.align-items--stretch-l { align-items: stretch; }
	.self--start-l { align-self: flex-start; }
	.self--end-l { align-self: flex-end; }
	.self--center-l { align-self: center; }
	.self--stretch-l { align-self: stretch; }
}
@media (max-width: 768px) {
	.justify-content--start-m { justify-content: flex-start; }
	.justify-content--end-m { justify-content: flex-end; }
	.justify-content--center-m { justify-content: center; }
	.justify-content--between-m { justify-content: space-between; }
	.justify-content--around-m { justify-content: space-around; }
	.justify-content--stretch-m { justify-content: stretch; }
	.align-items--start-m { align-items: flex-start; }
	.align-items--end-m { align-items: flex-end; }
	.align-items--center-m { align-items: center; }
	.align-items--baseline-m { align-items: baseline; }
	.align-items--stretch-m { align-items: stretch; }
	.self--start-m { align-self: flex-start; }
	.self--end-m { align-self: flex-end; }
	.self--center-m { align-self: center; }
	.self--stretch-m { align-self: stretch; }
}
@media (max-width: 480px) {
	.justify-content--start-s { justify-content: flex-start; }
	.justify-content--end-s { justify-content: flex-end; }
	.justify-content--center-s { justify-content: center; }
	.justify-content--between-s { justify-content: space-between; }
	.justify-content--around-s { justify-content: space-around; }
	.justify-content--stretch-s { justify-content: stretch; }
	.align-items--start-s { align-items: flex-start; }
	.align-items--end-s { align-items: flex-end; }
	.align-items--center-s { align-items: center; }
	.align-items--baseline-s { align-items: baseline; }
	.align-items--stretch-s { align-items: stretch; }
	.self--start-s { align-self: flex-start; }
	.self--end-s { align-self: flex-end; }
	.self--center-s { align-self: center; }
	.self--stretch-s { align-self: stretch; }
}


/* Centering Utilities */
.center--all { display: flex; justify-content: center; align-items: center; }
.center--x { display: flex; justify-content: center; }
.center--y { display: flex; align-items: center; }
.center--self { margin-inline: auto; }
.center--top { display: flex; align-items: flex-start; justify-content: center; }
.center--bottom { display: flex; align-items: flex-end; justify-content: center; }
.center--left { display: flex; align-items: center; justify-content: flex-start; }
.center--right { display: flex; align-items: center; justify-content: flex-end; }
@media (max-width: 1366px) {
	.center--all-xl { display: flex; justify-content: center; align-items: center; }
	.center--x-xl { display: flex; justify-content: center; }
	.center--y-xl { display: flex; align-items: center; }
	.center--self-xl { margin-inline: auto; }
}
@media (max-width: 992px) {
	.center--all-l { display: flex; justify-content: center; align-items: center; }
	.center--x-l { display: flex; justify-content: center; }
	.center--y-l { display: flex; align-items: center; }
	.center--self-l { margin-inline: auto; }
}
@media (max-width: 768px) {
	.center--all-m { display: flex; justify-content: center; align-items: center; }
	.center--x-m { display: flex; justify-content: center; }
	.center--y-m { display: flex; align-items: center; }
	.center--self-m { margin-inline: auto; }
}
@media (max-width: 480px) {
	.center--all-s { display: flex; justify-content: center; align-items: center; }
	.center--x-s { display: flex; justify-content: center; }
	.center--y-s { display: flex; align-items: center; }
	.center--self-s { margin-inline: auto; }
}


/* Height Utilities */
.height--20 { min-height: 20vh; }
.max-height--20 { max-height: 20vh; }
.height--30 { min-height: 30vh; }
.max-height--30 { max-height: 30vh; }
.height--40 { min-height: 40vh; }
.max-height--40 { max-height: 40vh; }
.height--50 { min-height: 50vh; }
.max-height--50 { max-height: 50vh; }
.height--60 { min-height: 60vh; }
.max-height--60 { max-height: 60vh; }
.height--70 { min-height: 70vh; }
.max-height--70 { max-height: 70vh; }
.height--80 { min-height: 80vh; }
.max-height--80 { max-height: 80vh; }
.height--90 { min-height: 90vh; }
.max-height--90 { max-height: 90vh; }
.height--100 { min-height: 100vh; }
.max-height--100 { max-height: 100vh; }
.height--full { min-height: 100vh; }
.max-height--full { max-height: 100vh; }


/* Position Utilities */
.relative { position: relative; }
.sticky { position: -webkit-sticky; position: sticky; inset-block-start: var(--offset, 0); }
.sticky-top--s { inset-block-start: var(--space-s); }
.sticky-top--m { inset-block-start: var(--space-m); }
.sticky-top--l { inset-block-start: var(--space-l); }


/* Opacity Utilities */
.opacity--0 { opacity: 0; }
.opacity--5 { opacity: 0.05; }
.opacity--10 { opacity: 0.1; }
.opacity--15 { opacity: 0.15; }
.opacity--20 { opacity: 0.2; }
.opacity--25 { opacity: 0.25; }
.opacity--30 { opacity: 0.3; }
.opacity--35 { opacity: 0.35; }
.opacity--40 { opacity: 0.4; }
.opacity--45 { opacity: 0.45; }
.opacity--50 { opacity: 0.5; }
.opacity--55 { opacity: 0.55; }
.opacity--60 { opacity: 0.6; }
.opacity--65 { opacity: 0.65; }
.opacity--70 { opacity: 0.7; }
.opacity--75 { opacity: 0.75; }
.opacity--80 { opacity: 0.8; }
.opacity--85 { opacity: 0.85; }
.opacity--90 { opacity: 0.9; }
.opacity--95 { opacity: 0.95; }
.opacity--100 { opacity: 1; }


/* Z-Index Utilities */
.z--bottom { z-index: -1; }
.z--0 { z-index: 0; }
.z--10 { z-index: 10; }
.z--20 { z-index: 20; }
.z--30 { z-index: 30; }
.z--40 { z-index: 40; }
.z--50 { z-index: 50; }
.z--60 { z-index: 60; }
.z--70 { z-index: 70; }
.z--80 { z-index: 80; }
.z--90 { z-index: 90; }
.z--top { z-index: 9999; }
.isolation--isolate { isolation: isolate; }
@media (max-width: 1366px) {
	.z--xl-bottom { z-index: -1; }
	.z--xl-0 { z-index: 0; }
	.z--xl-10 { z-index: 10; }
	.z--xl-20 { z-index: 20; }
	.z--xl-30 { z-index: 30; }
	.z--xl-40 { z-index: 40; }
	.z--xl-50 { z-index: 50; }
	.z--xl-60 { z-index: 60; }
	.z--xl-70 { z-index: 70; }
	.z--xl-80 { z-index: 80; }
	.z--xl-90 { z-index: 90; }
	.z--xl-top { z-index: 9999; }
}
@media (max-width: 992px) {
	.z--l-bottom { z-index: -1; }
	.z--l-0 { z-index: 0; }
	.z--l-10 { z-index: 10; }
	.z--l-20 { z-index: 20; }
	.z--l-30 { z-index: 30; }
	.z--l-40 { z-index: 40; }
	.z--l-50 { z-index: 50; }
	.z--l-60 { z-index: 60; }
	.z--l-70 { z-index: 70; }
	.z--l-80 { z-index: 80; }
	.z--l-90 { z-index: 90; }
	.z--l-top { z-index: 9999; }
}
@media (max-width: 768px) {
	.z--m-bottom { z-index: -1; }
	.z--m-0 { z-index: 0; }
	.z--m-10 { z-index: 10; }
	.z--m-20 { z-index: 20; }
	.z--m-30 { z-index: 30; }
	.z--m-40 { z-index: 40; }
	.z--m-50 { z-index: 50; }
	.z--m-60 { z-index: 60; }
	.z--m-70 { z-index: 70; }
	.z--m-80 { z-index: 80; }
	.z--m-90 { z-index: 90; }
	.z--m-top { z-index: 9999; }
}
@media (max-width: 480px) {
	.z--s-bottom { z-index: -1; }
	.z--s-0 { z-index: 0; }
	.z--s-10 { z-index: 10; }
	.z--s-20 { z-index: 20; }
	.z--s-30 { z-index: 30; }
	.z--s-40 { z-index: 40; }
	.z--s-50 { z-index: 50; }
	.z--s-60 { z-index: 60; }
	.z--s-70 { z-index: 70; }
	.z--s-80 { z-index: 80; }
	.z--s-90 { z-index: 90; }
	.z--s-top { z-index: 9999; }
}


/* Aspect Ratio Utilities */
.aspect--1-1 { aspect-ratio: 1 / 1; }
.aspect--1-2 { aspect-ratio: 1 / 2; }
.aspect--2-1 { aspect-ratio: 2 / 1; }
.aspect--2-3 { aspect-ratio: 2 / 3; }
.aspect--3-2 { aspect-ratio: 3 / 2; }
.aspect--3-4 { aspect-ratio: 3 / 4; }
.aspect--4-3 { aspect-ratio: 4 / 3; }
.aspect--9-16 { aspect-ratio: 9 / 16; }
.aspect--16-9 { aspect-ratio: 16 / 9; }
[class*="aspect--"] > img, [class*="aspect--"] > iframe, [class*="aspect--"] > video { inline-size: 100%; block-size: 100%; object-fit: cover; }
@media (max-width: 1366px) {
	.aspect--xl-1-1 { aspect-ratio: 1 / 1; }
	.aspect--xl-1-2 { aspect-ratio: 1 / 2; }
	.aspect--xl-2-1 { aspect-ratio: 2 / 1; }
	.aspect--xl-2-3 { aspect-ratio: 2 / 3; }
	.aspect--xl-3-2 { aspect-ratio: 3 / 2; }
	.aspect--xl-3-4 { aspect-ratio: 3 / 4; }
	.aspect--xl-4-3 { aspect-ratio: 4 / 3; }
	.aspect--xl-9-16 { aspect-ratio: 9 / 16; }
	.aspect--xl-16-9 { aspect-ratio: 16 / 9; }
}
@media (max-width: 992px) {
	.aspect--l-1-1 { aspect-ratio: 1 / 1; }
	.aspect--l-1-2 { aspect-ratio: 1 / 2; }
	.aspect--l-2-1 { aspect-ratio: 2 / 1; }
	.aspect--l-2-3 { aspect-ratio: 2 / 3; }
	.aspect--l-3-2 { aspect-ratio: 3 / 2; }
	.aspect--l-3-4 { aspect-ratio: 3 / 4; }
	.aspect--l-4-3 { aspect-ratio: 4 / 3; }
	.aspect--l-9-16 { aspect-ratio: 9 / 16; }
	.aspect--l-16-9 { aspect-ratio: 16 / 9; }
}
@media (max-width: 768px) {
	.aspect--m-1-1 { aspect-ratio: 1 / 1; }
	.aspect--m-1-2 { aspect-ratio: 1 / 2; }
	.aspect--m-2-1 { aspect-ratio: 2 / 1; }
	.aspect--m-2-3 { aspect-ratio: 2 / 3; }
	.aspect--m-3-2 { aspect-ratio: 3 / 2; }
	.aspect--m-3-4 { aspect-ratio: 3 / 4; }
	.aspect--m-4-3 { aspect-ratio: 4 / 3; }
	.aspect--m-9-16 { aspect-ratio: 9 / 16; }
	.aspect--m-16-9 { aspect-ratio: 16 / 9; }
}
@media (max-width: 480px) {
	.aspect--s-1-1 { aspect-ratio: 1 / 1; }
	.aspect--s-1-2 { aspect-ratio: 1 / 2; }
	.aspect--s-2-1 { aspect-ratio: 2 / 1; }
	.aspect--s-2-3 { aspect-ratio: 2 / 3; }
	.aspect--s-3-2 { aspect-ratio: 3 / 2; }
	.aspect--s-3-4 { aspect-ratio: 3 / 4; }
	.aspect--s-4-3 { aspect-ratio: 4 / 3; }
	.aspect--s-9-16 { aspect-ratio: 9 / 16; }
	.aspect--s-16-9 { aspect-ratio: 16 / 9; }
}


/* Visibility Utilities */
.visibility--visible { visibility: visible; }
.visibility--hidden { visibility: hidden; }
@media (max-width: 1366px) {
	.visibility--xl-visible { visibility: visible; }
	.visibility--xl-hidden { visibility: hidden; }
}
@media (max-width: 992px) {
	.visibility--l-visible { visibility: visible; }
	.visibility--l-hidden { visibility: hidden; }
}
@media (max-width: 768px) {
	.visibility--m-visible { visibility: visible; }
	.visibility--m-hidden { visibility: hidden; }
}
@media (max-width: 480px) {
	.visibility--s-visible { visibility: visible; }
	.visibility--s-hidden { visibility: hidden; }
}


/* Object-Fit Utilities */
.object-fit--cover { object-fit: cover; }
.object-fit--contain { object-fit: contain; }
.object-fit--top-left { object-position: 10% 10%; }
.object-fit--top-center { object-position: 50% 10%; }
.object-fit--top-right { object-position: 90% 10%; }
.object-fit--center-left { object-position: 10% 50%; }
.object-fit--center-right { object-position: 90% 50%; }
.object-fit--bottom-left { object-position: 10% 90%; }
.object-fit--bottom-center { object-position: 50% 90%; }
.object-fit--bottom-right { object-position: 90% 90%; }


/* Border Utilities */
.border { border: var(--border); }
.border-light { border: var(--border-light); }
.border-dark { border: var(--border-dark); }
.border-top { border-block-start: var(--border); }
.border-right { border-inline-end: var(--border); }
.border-bottom { border-block-end: var(--border); }
.border-left { border-inline-start: var(--border); }
.border--none { border: none; }


/* List Utilities */
.list--none { list-style: none; list-style-type: none; padding-inline-start: 0; margin-block-start: 0; margin-block-end: 0; }
.marker--primary li::marker { color: var(--primary); }
.marker--secondary li::marker { color: var(--secondary); }
.marker--accent li::marker { color: var(--accent); }


/* Overlay Utilities */
[class*="overlay--"] { position: relative; }
[class*="overlay--"] > * { position: relative; z-index: 2; }
[class*="overlay--"]::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}
.overlay--dark::after { background: rgba(0,0,0,0.5); }
.overlay--light::after { background: rgba(255,255,255,0.5); }
.overlay--primary::after { background: var(--primary-trans-50, rgba(0,0,0,0.3)); }
.overlay--gradient::after { background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.6)); }


}
