.fmc-container:not(.fl-row),
.fl-row.fmc-container > .fl-row-content {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--fmc-max-width);
	padding-inline: var(--fmc-gutter);
	width: 100%;
}

.fmc-container-narrow:not(.fl-row),
.fl-row.fmc-container-narrow > .fl-row-content { max-width: var(--fmc-max-width-narrow); }

.fmc-btn-primary:is(a, button),
.fmc-btn-primary .fl-button,
.fmc-btn-secondary:is(a, button),
.fmc-btn-secondary .fl-button,
.fmc-btn-tertiary:is(a, button),
.fmc-btn-tertiary .fl-button {
	align-items: center;
	box-sizing: border-box;
	cursor: pointer;
	display: inline-flex;
	font-family: var(--fmc-font-mono);
	font-size: 12px;
	font-weight: var(--fmc-weight-heading);
	gap: var(--fmc-space-2);
	justify-content: center;
	letter-spacing: var(--fmc-ls-wide);
	text-decoration: none;
	text-transform: uppercase;
}

.fmc-btn-primary:is(a, button),
.fmc-btn-primary .fl-button {
	background: var(--fmc-orange);
	border: 0;
	border-radius: var(--fmc-radius-md);
	color: var(--fmc-white);
	padding: 14px var(--fmc-space-6);
	transition: background var(--fmc-duration-fast) var(--fmc-ease-out);
}

.fmc-btn-primary:is(a, button):hover,
.fmc-btn-primary .fl-button:hover { background: var(--fmc-orange-hover); color: var(--fmc-white); text-decoration: none; }

.fmc-btn-primary:is(a, button):active,
.fmc-btn-primary .fl-button:active { background: var(--fmc-orange-active); transform: translateY(1px); }

.fmc-btn-secondary:is(a, button),
.fmc-btn-secondary .fl-button {
	background: transparent;
	border: 2px solid var(--fmc-black);
	border-radius: var(--fmc-radius-md);
	color: var(--fmc-black);
	padding: 12px var(--fmc-space-6);
	transition: background var(--fmc-duration-fast) var(--fmc-ease-out), color var(--fmc-duration-fast) var(--fmc-ease-out);
}

.fmc-btn-secondary:is(a, button):hover,
.fmc-btn-secondary .fl-button:hover { background: var(--fmc-black); color: var(--fmc-white); text-decoration: none; }

.fmc-btn-tertiary:is(a, button),
.fmc-btn-tertiary .fl-button {
	background: transparent;
	border: 0;
	color: var(--fmc-orange);
	padding: var(--fmc-space-3) 0;
}

.fmc-btn-tertiary:is(a, button)::after,
.fmc-btn-tertiary .fl-button::after {
	content: "\2192";
	transition: transform var(--fmc-duration-fast) var(--fmc-ease-out);
}

.fmc-btn-tertiary:is(a, button):hover,
.fmc-btn-tertiary .fl-button:hover { color: var(--fmc-orange-hover); text-decoration: none; }

.fmc-btn-tertiary:is(a, button):hover::after,
.fmc-btn-tertiary .fl-button:hover::after { transform: translateX(var(--fmc-space-1)); }

.fmc-btn-primary .fl-button-text,
.fmc-btn-secondary .fl-button-text,
.fmc-btn-tertiary .fl-button-text { color: inherit; }

.fmc-card:not(.fl-module),
.fl-module.fmc-card > .fl-module-content {
	background: var(--fmc-white);
	border: 1px solid var(--fmc-border-default);
	border-radius: var(--fmc-radius-lg);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: var(--fmc-space-3);
	padding: var(--fmc-space-6) var(--fmc-space-5);
	transition: transform var(--fmc-duration-base) var(--fmc-ease-out), border-color var(--fmc-duration-base) var(--fmc-ease-out);
}

.fmc-card:not(.fl-module):hover,
.fl-module.fmc-card:hover > .fl-module-content { border-color: var(--fmc-border-strong); transform: translateY(-2px); }

.fmc-card__icon-container {
	align-items: center;
	background: var(--fmc-orange-tint);
	border-radius: var(--fmc-radius-lg);
	display: flex;
	height: 50px;
	justify-content: center;
	margin-bottom: var(--fmc-space-3);
	width: 50px;
}

.fmc-card__icon { color: var(--fmc-orange); font-size: 24px; }
.fmc-icon-inline { color: var(--fmc-text-secondary); font-size: 16px; }
.fmc-icon-card { color: var(--fmc-orange); font-size: 24px; }
.fmc-icon-prominent { color: var(--fmc-orange); font-size: 34px; }
.fmc-icon-muted { color: var(--fmc-grey); }
.fmc-card__title { color: var(--fmc-text-primary); font-size: 15px; font-weight: var(--fmc-weight-heading); margin: 0; }
.fmc-card__description { color: var(--fmc-text-secondary); font-size: 12px; line-height: 1.55; margin: 0; }

.fmc-grid { display: grid; gap: var(--fmc-space-4); }
.fmc-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fmc-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fmc-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid var(--fmc-orange);
	outline-offset: 3px;
}

.fmc-reveal {
	opacity: 0;
	transform: translateY(var(--fmc-space-5));
	transition: opacity var(--fmc-duration-slow) var(--fmc-ease-out), transform var(--fmc-duration-slow) var(--fmc-ease-out);
}

.fmc-reveal.is-visible { opacity: 1; transform: translateY(0); }
.fmc-reveal:nth-child(2) { transition-delay: 100ms; }
.fmc-reveal:nth-child(3) { transition-delay: 200ms; }
.fmc-reveal:nth-child(4) { transition-delay: 300ms; }
.fmc-reveal:nth-child(5) { transition-delay: 400ms; }
