/*
 * FGLaw — Components
 */

.fg-eyebrow {
	color: var(--fg-color-ink-soft);
	font-size: var(--fg-font-size-xs);
	font-weight: 600;
	letter-spacing: var(--fg-letter-eyebrow);
	line-height: 1.2;
	margin: 0 0 var(--fg-space-sm);
	text-transform: uppercase;
}

.fg-button {
	align-items: center;
	border: 1px solid var(--fg-color-ink);
	display: inline-flex;
	font-size: var(--fg-font-size-sm);
	font-weight: 600;
	justify-content: center;
	letter-spacing: 0.04em;
	min-height: 3.25rem;
	padding: 0.85rem 1.35rem;
	text-decoration: none;
	transition:
		background-color var(--fg-transition-fast),
		color var(--fg-transition-fast),
		border-color var(--fg-transition-fast),
		transform var(--fg-transition-fast);
}

.fg-button:hover {
	transform: translateY(-1px);
}

.fg-button--primary {
	background: var(--fg-color-ink);
	color: var(--fg-color-paper);
}

.fg-button--primary:hover {
	background: transparent;
	color: var(--fg-color-ink);
}

.fg-button--secondary {
	background: transparent;
	color: var(--fg-color-ink);
}

.fg-button--secondary:hover {
	background: var(--fg-color-ink);
	color: var(--fg-color-paper);
}

.fg-text-link {
	border-bottom: 1px solid currentColor;
	display: inline-block;
	font-size: var(--fg-font-size-sm);
	font-weight: 600;
	padding-bottom: 0.15rem;
	text-decoration: none;
}

.fg-section-heading {
	margin-bottom: var(--fg-space-md);
}

.fg-legal-notice {
	border-block: 1px solid var(--fg-color-line);
	color: var(--fg-color-ink-soft);
	font-size: var(--fg-font-size-sm);
	padding-block: 1.25rem;
}

.fg-cta {
	align-items: flex-start;
	display: grid;
	gap: 1.5rem;
}

.fg-cta__title {
	font-size: var(--fg-font-size-h2);
	line-height: 1;
	max-width: 17ch;
}

.fg-cta__text {
	color: var(--fg-color-ink-soft);
	max-width: 38rem;
}

.fg-cta--final {
	padding-block: var(--fg-space-md);
}

.fg-related-services {
	border-top: 1px solid var(--fg-color-line-strong);
}

.fg-related-services__item {
	align-items: baseline;
	border-bottom: 1px solid var(--fg-color-line);
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 3rem 1fr;
	padding-block: 1.25rem;
}

.fg-related-services__index {
	color: var(--fg-color-ink-soft);
	font-size: var(--fg-font-size-xs);
	letter-spacing: 0.12em;
}

.fg-related-services__title {
	font-size: clamp(1.1rem, 1rem + 0.5vw, 1.55rem);
	font-weight: 500;
	letter-spacing: -0.015em;
}

.fg-related-services__title a {
	text-decoration: none;
}

@media (min-width: 48rem) {
	.fg-cta {
		grid-template-columns: minmax(0, 1.1fr) minmax(16rem, 0.9fr);
	}

	.fg-cta .fg-button {
		justify-self: start;
	}
}
