.widgets--expert-profile {
	position: relative;
	overflow: hidden;
	padding: 5rem var(--pd);
	background-color: var(--c2);

	&::before {
		content: "";
		position: absolute;
		top: -15rem;
		right: -12rem;
		width: 34rem;
		aspect-ratio: 1 / 1;
		border: var(--px) solid var(--c1);
		border-radius: 50%;
		opacity: 0.8;
	}

	> * {
		position: relative;
		z-index: 1;
	}

	> .heading {
		display: grid;
		grid-template-columns: 3rem minmax(0, 52rem);
		gap: 1.25rem;
		align-items: start;
		margin-bottom: 3rem;

		&::before {
			content: "";
			width: 100%;
			height: var(--px);
			margin-top: 1.5rem;
			background-color: var(--c6);
		}

		> h2 {
			margin: 0;
			color: var(--bg);
			font-size: 2.4rem;
			font-weight: 800;
			line-height: 120%;
		}
	}

	> .profile {
		display: grid;
		grid-template-columns: minmax(20rem, 2fr) minmax(0, 3fr);
		align-items: stretch;

		> .portrait {
			position: relative;
			min-width: 0;
			min-height: 42rem;
			margin: 0;
			overflow: hidden;
			border-radius: 1.5rem 0 0 1.5rem;
			background-color: var(--c1);

			&::after {
				content: "";
				position: absolute;
				inset: 1rem;
				border: var(--px) solid rgba(255, 255, 255, 0.5);
				border-radius: 1rem 0 0 1rem;
				pointer-events: none;
			}

			> img {
				display: block;
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center 20%;
			}

			> img[src=""] {
				display: none;
			}
		}

		> .details {
			display: flex;
			min-width: 0;
			padding: 3.5rem;
			border-radius: 0 1.5rem 1.5rem 0;
			background-color: var(--bg);
			flex-direction: column;

			> .identity {
				> .eyebrow {
					display: block;
					margin-bottom: 0.75rem;
					color: var(--c3);
					font-size: 0.78rem;
					font-weight: 800;
					letter-spacing: 0.08rem;
					line-height: 140%;
					text-transform: uppercase;
				}

				> h3 {
					margin: 0;
					color: var(--c1);
					font-size: 2rem;
					font-weight: 800;
					line-height: 120%;
				}
			}

			> .credentials {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 0 var(--pd);
				margin: 2rem 0 0;
				padding: 0;
				list-style: none;

				> li {
					position: relative;
					min-width: 0;
					padding: 1rem 0 1rem 1.75rem;
					border-top: var(--px) solid var(--c7);
					color: var(--g5);
					font-size: 0.92rem;
					line-height: 145%;

					&::before {
						content: "";
						position: absolute;
						top: 1.4rem;
						left: 0.25rem;
						width: 0.55rem;
						aspect-ratio: 1 / 1;
						border: 0.18rem solid var(--c7);
						border-radius: 50%;
						background-color: var(--c3);
					}
				}
			}

			> .statement {
				margin: auto 0 0;
				padding: 1.5rem 1.75rem;
				border-left: 0.3rem solid var(--c3);
				border-radius: 0 1rem 1rem 0;
				background-color: var(--c8);
				color: var(--g6);
				font-size: 1rem;
				font-style: normal;
				line-height: 160%;

				> *:last-child {
					margin-bottom: 0;
				}
			}

			> .buttons {
				> .cta {
					margin-top: 2rem;

					&[href=""] {
						display: none;
					}
				}
			}
		}
	}

	@media (max-width: 1279px) {
		> .profile {
			grid-template-columns: minmax(18rem, 1fr) minmax(0, 1.35fr);

			> .details {
				padding: 2.5rem;
			}
		}
	}

	@media (max-width: 991px) {
		> .profile {
			grid-template-columns: minmax(0, 1fr);
			max-width: 50rem;
			margin-inline: auto;

			> .portrait {
				min-height: 0;
				aspect-ratio: 4 / 3;
				border-radius: 1.5rem 1.5rem 0 0;

				&::after {
					border-radius: 1rem 1rem 0 0;
				}
			}

			> .details {
				border-radius: 0 0 1.5rem 1.5rem;
			}
		}
	}

	@media (max-width: 767px) {
		padding-block: 4rem;

		> .heading {
			grid-template-columns: 2rem minmax(0, 1fr);

			> h2 {
				font-size: 2rem;
			}
		}

		> .profile > .details {
			padding: 2rem;

			> .credentials {
				grid-template-columns: minmax(0, 1fr);
			}
		}
	}

	@media (max-width: 540px) {
		padding-block: 3rem;

		> .heading {
			display: block;
			margin-bottom: 2rem;

			&::before {
				display: none;
			}
		}

		> .profile {
			> .portrait {
				aspect-ratio: 4 / 5;
			}

			> .details {
				padding: 1.5rem;

				> .identity > h3 {
					font-size: 1.7rem;
				}

				> .statement {
					padding: 1.25rem;
				}
			}
		}
	}
}
