@font-face {
	font-family: 'Century Gothic Custom';
	src: url('/wp-content/uploads/fonts/CenturyGothicStd.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Century Gothic Custom';
	src: url('/wp-content/uploads/fonts/CenturyGothicStd-Bold.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

:root {
	--font-family-base: 'Century Gothic Custom', Arial, Helvetica, sans-serif;
	--font-family-heading: 'Century Gothic Custom', Arial, Helvetica, sans-serif;

	--font-weight-regular: 200;
	--font-weight-medium: 300;
	--font-weight-semibold: 500;
	--font-weight-bold: 600;

	--font-size-xs: 0.75rem;
	--font-size-sm: 0.875rem;
	--font-size-base: 1rem;
	--font-size-md: 1.125rem;
	--font-size-lg: 1.25rem;
	--font-size-xl: 1.5rem;
	--font-size-2xl: 2rem;
	--font-size-3xl: 2.5rem;
	--font-size-4xl: 3.25rem;

	--line-height-tight: 1.1;
	--line-height-heading: 1.15;
	--line-height-base: 1.6;
	--line-height-relaxed: 1.75;

	--letter-spacing-tight: -0.02em;
	--letter-spacing-normal: 0;
	--letter-spacing-wide: 0.04em;

	--text-color: #000000;
	--text-color-muted: rgba(17, 17, 17, 0.72);
	--heading-color: #000000;
	--link-color: inherit;
	--link-hover-color: inherit;
}

html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	font-family: var(--font-family-base);
	font-size: 16px;
	font-weight: var(--font-weight-regular);
	line-height: var(--line-height-base);
	letter-spacing: 0.02em;
	color: var(--text-color);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6,
.vc_custom_heading,
.wpb_text_column h1,
.wpb_text_column h2,
.wpb_text_column h3,
.wpb_text_column h4,
.wpb_text_column h5,
.wpb_text_column h6 {
	font-family: var(--font-family-heading);
	font-weight: 500;
	line-height: var(--line-height-heading);
	letter-spacing: -0.01em;
	color: var(--heading-color);
	margin: 0 0 0.75em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	letter-spacing: -0.01em;
}

h2,
h3,
.wpb_text_column h2,
.wpb_text_column h3,
.vc_custom_heading.h2,
.vc_custom_heading.h3 {
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

h1,
.wpb_text_column h1 {
	font-size: clamp(2.5rem, 5vw, 4.5rem);
}

h2,
.wpb_text_column h2 {
	font-size: clamp(2rem, 4vw, 3.5rem);
}

h3,
.wpb_text_column h3 {
	font-size: clamp(1.625rem, 3vw, 2.5rem);
}

h4,
.wpb_text_column h4 {
	font-size: clamp(1.375rem, 2.4vw, 2rem);
}

h5,
.wpb_text_column h5 {
	font-size: clamp(1.125rem, 2vw, 1.5rem);
}

h6,
.wpb_text_column h6 {
	font-size: clamp(1rem, 1.6vw, 1.125rem);
	letter-spacing: var(--letter-spacing-wide);
	text-transform: uppercase;
}

p,
ul,
ol,
dl,
blockquote,
.wpb_text_column p,
.wpb_text_column ul,
.wpb_text_column ol,
.wpb_text_column dl,
.wpb_text_column blockquote {
	font-size: 16px;
	font-weight: var(--font-weight-regular);
	line-height: 1.65;
	letter-spacing: 0.02em;
	margin: 0 0 1.4em;
}

p.lead,
.wpb_text_column .lead {
	font-size: var(--font-size-md);
	line-height: var(--line-height-relaxed);
	color: var(--text-color-muted);
}

small,
.text-small {
	font-size: var(--font-size-sm);
	line-height: 1.5;
}

a {
	color: var(--link-color);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
	transition: opacity 0.3s ease, color 0.3s ease;
}

a:hover,
a:focus {
	color: var(--link-hover-color);
	opacity: 0.75;
}

strong,
b {
	font-weight: var(--font-weight-bold);
}

em,
i {
	font-style: italic;
}

ul,
ol {
	padding-left: 1.25rem;
}

li {
	margin-bottom: 0.45rem;
}

blockquote,
.wpb_text_column blockquote {
	font-size: var(--font-size-lg);
	line-height: 1.5;
	font-weight: var(--font-weight-regular);
	padding-left: 1.25rem;
	margin: 1.75rem 0;
	border-left: 2px solid currentColor;
}

label,
.gform_wrapper label,
.gform_wrapper .gfield_label,
.gform_wrapper .gfield_consent_label,
.gform_wrapper .gchoice label {
	font-family: var(--font-family-base);
	font-size: var(--font-size-sm);
	font-weight: var(--font-weight-regular);
	line-height: 1.5;
	letter-spacing: var(--letter-spacing-normal);
}

button,
input,
select,
textarea,
.gform_wrapper,
.gform_wrapper input,
.gform_wrapper textarea,
.gform_wrapper select,
.gform_wrapper button,
.gform_wrapper .gform_button,
.vc_btn3,
.wp-element-button {
	font-family: var(--font-family-base);
}

button,
.gform_wrapper .gform_button,
.vc_btn3,
.wp-element-button {
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.01em;
	line-height: 1;
}

.gform_wrapper input,
.gform_wrapper textarea,
.gform_wrapper select {
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-regular);
	line-height: 1.4;
	letter-spacing: var(--letter-spacing-normal);
}

.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
	font-family: var(--font-family-base);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-regular);
	letter-spacing: var(--letter-spacing-normal);
}

.wpb_text_column,
.vc_custom_heading,
.vc_column-inner,
.vc_row,
.gform_wrapper {
	font-family: var(--font-family-base);
}

@media (max-width: 991px) {
	body {
		font-size: 0.975rem;
	}

	p.lead,
	.wpb_text_column .lead {
		font-size: 1.0625rem;
	}
}

@media (max-width: 767px) {
	:root {
		--font-size-base: 0.975rem;
		--font-size-md: 1.0625rem;
		--font-size-lg: 1.1875rem;
		--font-size-xl: 1.375rem;
		--font-size-2xl: 1.75rem;
		--font-size-3xl: 2.125rem;
		--font-size-4xl: 2.5rem;
	}

	body {
		line-height: 1.55;
	}

	p,
	ul,
	ol,
	dl,
	blockquote,
	.wpb_text_column p,
	.wpb_text_column ul,
	.wpb_text_column ol,
	.wpb_text_column dl,
	.wpb_text_column blockquote {
		margin-bottom: 1.1em;
	}
}
