.bshc-contact-channel-dialog[hidden] {
	display: none;
}

.bshc-contact-channel-dialog {
	position: fixed;
	inset: 0;
	z-index: 1200;
	display: grid;
	place-items: center;
	padding: 24px;
}

.bshc-contact-channel-dialog__backdrop {
	position: absolute;
	inset: 0;
	background: rgb(8 8 10 / 76%);
	backdrop-filter: blur(7px);
	opacity: 0;
	transition: opacity 180ms cubic-bezier(.23, 1, .32, 1);
}

.bshc-contact-channel-dialog__panel {
	position: relative;
	box-sizing: border-box;
	width: min(620px, 100%);
	padding: 34px;
	border: 1px solid rgb(247 247 243 / 20%);
	border-radius: 14px;
	background: #17171b;
	color: #f7f7f3;
	box-shadow: 0 28px 100px rgb(0 0 0 / 42%);
	opacity: 0;
	transform: translateY(12px) scale(.97);
	transition: opacity 220ms cubic-bezier(.23, 1, .32, 1), transform 220ms cubic-bezier(.23, 1, .32, 1);
}

.bshc-contact-channel-dialog.is-open .bshc-contact-channel-dialog__backdrop,
.bshc-contact-channel-dialog.is-open .bshc-contact-channel-dialog__panel {
	opacity: 1;
}

.bshc-contact-channel-dialog.is-open .bshc-contact-channel-dialog__panel {
	transform: translateY(0) scale(1);
}

.bshc-contact-channel-dialog__close {
	position: absolute;
	top: 18px;
	right: 20px;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid rgb(247 247 243 / 18%);
	border-radius: 50%;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 25px;
	line-height: 1;
	cursor: pointer;
}

.bshc-contact-channel-dialog__kicker {
	margin: 0 0 22px;
	color: rgb(247 247 243 / 50%);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.bshc-contact-channel-dialog__panel h2 {
	max-width: 520px;
	margin: 0;
	font-family: var(--bshc-font-display);
	font-size: clamp(42px, 5vw, 58px);
	font-weight: 700;
	line-height: .9;
	letter-spacing: -.045em;
}

.bshc-contact-channel-dialog__context {
	max-width: 490px;
	margin: 22px 0 30px;
	color: rgb(247 247 243 / 62%);
	font-size: 17px;
	line-height: 1.45;
}

.bshc-contact-channel-dialog__options {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 30px;
}

.bshc-contact-channel-dialog__options a {
	box-sizing: border-box;
	min-width: 0;
	min-height: 190px;
	padding: 22px;
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto 1fr;
	gap: 16px 12px;
	border: 1px solid rgb(247 247 243 / 18%);
	border-radius: 10px;
	background: rgb(247 247 243 / 2.5%);
	color: inherit;
	text-decoration: none;
	transition: transform 160ms cubic-bezier(.23, 1, .32, 1), border-color 160ms ease, background-color 160ms ease;
}

.bshc-contact-channel-dialog__service {
	grid-column: 1;
	display: flex;
	align-items: baseline;
	gap: 12px;
	min-width: 0;
}

.bshc-contact-channel-dialog__service > em {
	min-width: 0;
	color: rgb(247 247 243 / 58%);
	font-size: 12px;
	font-style: normal;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.bshc-contact-channel-dialog__channel {
	grid-column: 1;
	align-self: end;
	display: grid;
	gap: 6px;
}

.bshc-contact-channel-dialog__channel > strong {
	color: #f7f7f3;
	font-size: 23px;
	line-height: 1.05;
}

.bshc-contact-channel-dialog__options b {
	grid-column: 2;
	grid-row: 2;
	align-self: end;
	color: #d21749;
	font-size: 24px;
	line-height: 1.05;
}

.bshc-contact-channel-dialog__options a:focus-visible,
.bshc-contact-channel-dialog__close:focus-visible {
	outline: 2px solid #f7f7f3;
	outline-offset: 3px;
}

.bshc-contact-dialog-open {
	overflow: hidden;
}

@media (hover: hover) and (pointer: fine) {
	.bshc-contact-channel-dialog__options a:hover {
		transform: translateY(-3px);
		border-color: #d21749;
		background: rgb(210 23 73 / 10%);
	}
}

@media (max-width: 700px) {
	.bshc-contact-channel-dialog {
		place-items: end center;
		padding: 10px;
	}

	.bshc-contact-channel-dialog__panel {
		padding: 28px 20px 20px;
		border-radius: 14px;
	}

	.bshc-contact-channel-dialog__panel h2 {
		font-size: 42px;
	}

	.bshc-contact-channel-dialog__options {
		grid-template-columns: 1fr;
	}

	.bshc-contact-channel-dialog__options a {
		min-height: 168px;
	}

	.bshc-contact-channel-dialog__options { margin-top: 22px; }
}

@media (prefers-reduced-motion: reduce) {
	.bshc-contact-channel-dialog__backdrop,
	.bshc-contact-channel-dialog__panel {
		transition: none;
		transform: none !important;
	}

	.bshc-contact-channel-dialog__options a {
		transition: none;
	}
}
