/* =========================================================
   RESET
   ========================================================= */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

html,
body {
	margin: 0;
	padding: 0;
}

body {
	background: var(--gm-off-white);
	color: var(--gm-black);
	font-family: var(--gm-font);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.gm-menu-open {
	overflow: hidden;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

button,
input,
textarea,
select {
	font: inherit;
}

button {
	color: inherit;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.gm-container {
	width: min(
		calc(100% - (var(--gm-gutter) * 2)),
		var(--gm-container)
	);
	margin-inline: auto;
}


/* =========================================================
   COMMON
   ========================================================= */

.gm-main {
	overflow: hidden;
}

.gm-eyebrow {
	display: flex;
	align-items: center;
	gap: 9px;

	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .095em;
	text-transform: uppercase;
}

.gm-eyebrow__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--gm-lime);
}

.gm-eyebrow__separator {
	opacity: .42;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.gm-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 25px;

	min-height: 58px;

	font-size: 13px;
	font-weight: 600;
	letter-spacing: -.015em;

	transition:
		background .25s ease,
		color .25s ease,
		transform .25s ease;
}

.gm-button:hover {
	transform: translateY(-2px);
}

.gm-button--primary {
	padding: 0 25px;
	background: var(--gm-lime);
	color: var(--gm-black);
}

.gm-button--primary:hover {
	background: var(--gm-lime-soft);
}

.gm-button--text {
	padding: 0 4px;
	color: var(--gm-white);
	border-bottom: 1px solid rgba(255,255,255,.27);
}