.btn,
.wasp-consent__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	padding: var(--sp-3) var(--sp-6);
	border: 1px solid transparent;
	border-radius: var(--r-md);
	font-family: inherit;
	font-size: var(--fs-4);
	font-weight: var(--fw-medium);
	line-height: var(--lh-snug);
	letter-spacing: normal;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.btn--primary {
	background: var(--fill);
	color: var(--on-fill);
	font-weight: var(--fw-display);
}
.btn--primary:hover,
.btn--primary:focus-visible {
	background: var(--ember-70);
	color: var(--on-fill);
}
.btn--ink {
	background: var(--ink);
	color: var(--field);
	font-weight: var(--fw-display);
}
.btn--ink:hover,
.btn--ink:focus-visible {
	background: var(--ink-lift);
}
.btn--outline {
	border-color: var(--ember-60);
	color: var(--ember-60);
}
.btn--outline:hover,
.btn--outline:focus-visible {
	background: var(--tint);
}
.link {
	color: var(--ember-60);
	text-decoration: none;
	transition: color 0.18s ease;
}
.link:hover,
.link:focus-visible {
	color: var(--ember-70);
}
:where(a, button, input, textarea, select):focus-visible {
	outline: calc(2 * var(--px)) solid var(--ink);
	outline-offset: calc(3 * var(--px));
}
.plaque {
	--label-h: 34;
	--label-k: calc(var(--label-h) / 56);
	--plaque-bg: var(--field);
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: calc(var(--label-h) * var(--px));
	padding-inline: calc(30 * var(--px) * var(--label-k));
	border: 0;
	border-radius: calc(17 * var(--px) * var(--label-k));
	background: var(--plaque-bg);
	color: var(--ink);
	font: inherit;
	font-size: var(--fs-3);
	font-weight: var(--fw-text);
	line-height: var(--lh-snug);
	filter:
		drop-shadow(0 0 calc(0.4 * var(--px)) color-mix(in srgb, var(--ink) 58%, transparent))
		drop-shadow(0 0 calc(1.4 * var(--px)) color-mix(in srgb, var(--ink) 14%, transparent));
}
.plaque::before {
	content: "";
	position: absolute;
	left: calc(-14 * var(--px) * var(--label-k));
	top: calc(-25 * var(--px) * var(--label-k));
	width: calc(32 * var(--px) * var(--label-k));
	height: calc(81 * var(--px) * var(--label-k));
	background: var(--plaque-bg);
	-webkit-mask: url("../svg/label-cap.svg") no-repeat 0 0 / 100% 100%;
	mask: url("../svg/label-cap.svg") no-repeat 0 0 / 100% 100%;
}
.section-label {
	--label-h: 46;
	--label-k: calc(var(--label-h) / 56);
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: calc(var(--label-h) * var(--px));
	margin-inline-start: calc(14 * var(--px) * var(--label-k));
	padding-inline: calc(36 * var(--px) * var(--label-k));
	border-radius: calc(17 * var(--px) * var(--label-k));
	background: var(--fill);
	color: var(--on-fill);
	font-weight: var(--fw-display);
	font-size: var(--fs-4);
	letter-spacing: var(--tr-caps);
	text-transform: uppercase;
	line-height: var(--lh-display);
}
.section-label::before {
	content: "";
	position: absolute;
	left: calc(-14 * var(--px) * var(--label-k));
	top: calc(-25 * var(--px) * var(--label-k));
	width: calc(32 * var(--px) * var(--label-k));
	height: calc(81 * var(--px) * var(--label-k));
	background: var(--fill);
	-webkit-mask: url("../svg/label-cap.svg") no-repeat 0 0 / 100% 100%;
	mask: url("../svg/label-cap.svg") no-repeat 0 0 / 100% 100%;
}
