
	@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&display=swap");
	@import url("https://fonts.googleapis.com/css?family=Prata&display=swap");

	:root {
		--hpc-ink: #2b2b2b;
		--hpc-accent: #078587;
		--hpc-sand: #f7f1e8;
		--hpc-cream: #fff8ef;
		--hpc-slate: #5b6066;
		--hpc-shadow: 0 24px 50px rgba(34, 34, 34, 0.12);
	}

	.hpc-section,
	.hpc-section * {
		font-family: "Open Sans", sans-serif;
	}

	.hpc-section {
		padding: 90px 0;
		background: var(--hpc-sand);
	}

	.team-photo {
		background: var(--hpc-sand);
	}

	.hpc-subtitle {
		text-transform: uppercase;
		letter-spacing: 0.2em;
		font-size: 0.8rem;
		color: var(--hpc-accent);
		margin-bottom: 12px;
	}

	.hpc-title {
		font-family: "Prata", serif;
		font-size: clamp(2rem, 3vw, 2.8rem);
		margin-bottom: 16px;
		color: #000;
	}

	.hpc-lead {
		color: var(--hpc-slate);
		font-size: 1rem;
	}

	.hpc-team {
		background: #fff;
		border-radius: 24px;
		box-shadow: var(--hpc-shadow);
		padding: 0;
		border: 1px solid rgba(0, 0, 0, 0.04);
		height: 100%;
		aspect-ratio: 1 / 1;
		transition: transform 0.3s ease, box-shadow 0.3s ease;
		text-align: center;
		overflow: hidden;
		min-height: 0;
		margin-top: 12px;
		margin-bottom: 12px;
		display: flex;
		flex-direction: column;
	}

	.hpc-team .text {
		padding-top: 8px;
		padding-bottom: 8px;
	}

	.hpc-team:hover {
		transform: translateY(-10px);
		box-shadow: 0 28px 60px rgba(34, 34, 34, 0.16);
	}

	.team-photo {
		width: 100%;
		height: 62%;
		flex: 0 0 62%;
		object-fit: contain;
		object-position: center;
		background: #fff;
		display: block;
		cursor: zoom-in;
	}

	.hpc-team .text {
		margin-top: 0;
		padding: 18px 8px 8px;
		position: relative;
		overflow: hidden;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		gap: 6px;
		flex: 1 1 55%;
		min-height: 0;
	}

	.hpc-team .subheading {
		color: var(--hpc-accent);
		text-transform: uppercase;
		letter-spacing: 0.12em;
		font-size: clamp(0.48rem, 1.8vw, 0.6rem);
		margin: 0;
		line-height: 1.05;
	}

	.hpc-team h3 {
		font-family: "Prata", serif;
		font-size: clamp(0.75rem, 2.8vw, 0.95rem);
		margin: 6px 0 0;
		color: #000;
		line-height: 1.05;
		white-space: nowrap;
		max-width: 100%;
	}

	.hpc-team p {
		color: var(--hpc-slate);
		margin: 0;
		font-size: clamp(0.6rem, 2vw, 0.8rem);
		line-height: 1.05;
	}

	.hpc-team ul {
		list-style: none;
		padding: 0;
		margin: 12px 0 0;
	}

	.contact-actions {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 4px;
		margin-top: 2px;
		flex-wrap: wrap;
		min-height: 44px;
	}

	.contact-spacer {
		display: inline-block;
		width: 1px;
		height: 32px;
		opacity: 0;
	}

	.email-link {
		color: var(--hpc-slate);
		text-decoration: none;
		font-size: clamp(0.52rem, 1.9vw, 0.75rem);
		line-height: 1.05;
		word-break: break-word;
		display: block;
		max-width: 100%;
	}

	@media (max-width: 768px) {
		.team-grid [class*="col-"] {
			display: flex;
			justify-content: center;
		}

		.hpc-team {
			max-width: 320px;
			width: 100%;
		}

		.linkedin-link {
			width: 24px;
			height: 24px;
		}

		.linkedin-link .icon-linkedin {
			width: 14px;
			height: 14px;
		}

		.team-photo {
			height: 50%;
			flex-basis: 50%;
		}

		.hpc-team .text {
			padding: 18px 6px 6px;
			gap: 4px;
			align-items: center;
		}

		.hpc-team h3 {
			font-size: clamp(0.7rem, 3.2vw, 0.9rem);
		}

		.hpc-team .subheading {
			font-size: clamp(0.45rem, 2vw, 0.58rem);
		}

		.hpc-team p {
			font-size: clamp(0.56rem, 2.1vw, 0.75rem);
		}

		.email-link {
			font-size: clamp(0.6rem, 2.4vw, 0.8rem);
			text-align: center;
		}

		.contact-actions {
			min-height: 40px;
			align-items: center;
		}

		.linkedin-link {
			margin-top: 10px;
		}
	}

	@media (min-width: 769px) {
		.hpc-team .text {
			padding-top: 26px;
			padding-bottom: 6px;
		}

		.contact-actions {
			gap: 8px;
		}

		.linkedin-link {
			width: 36px;
			height: 36px;
		}

		.linkedin-link .icon-linkedin {
			width: 20px;
			height: 20px;
		}
	}

	.hpc-team .text .mb-4,
	.hpc-team .text .mb-5 {
		margin-bottom: 0 !important;
	}

	.hpc-team .text.mt-4 {
		margin-top: 0 !important;
	}

	.linkedin-link {
		width: 22px;
		height: 22px;
		margin-bottom: 6px;
		border-radius: 50%;
		background: #0a66c2;
		border: none;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		text-decoration: none;
	}

	.linkedin-link .icon-linkedin {
		width: 12px;
		height: 12px;
		display: inline-block;
		background: no-repeat center / contain;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M20.447 20.452H17.21V15.4c0-1.205-.021-2.758-1.68-2.758-1.68 0-1.938 1.31-1.938 2.67v5.14h-3.237V9h3.104v1.561h.044c.433-.82 1.49-1.68 3.066-1.68 3.276 0 3.882 2.156 3.882 4.964v6.607zM5.337 7.433a1.877 1.877 0 1 1 0-3.754 1.877 1.877 0 0 1 0 3.754zM6.956 20.452H3.716V9h3.24v11.452z'/%3E%3C/svg%3E");
	}

	.linkedin-link .icon-linkedin::before {
		content: "";
	}

	.row.team-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
		padding: 20px;
		margin-top: 32px;
		margin-bottom: 64px;
		background: var(--hpc-sand);
	}

	.team-grid [class*="col-"] {
		padding-left: 0;
		padding-right: 0;
		max-width: none;
		width: auto;
	}

	@media (min-width: 992px) {
		.team-photo {
			height: 58%;
			flex-basis: 58%;
		}

		.hpc-team .text {
			padding-top: 16px;
		}

		.row.team-grid {
			gap: 40px;
			padding: 32px;
			grid-template-columns: repeat(4, minmax(0, 1fr));
		}
	}

	@media (min-width: 576px) and (max-width: 991px) {
		.hpc-team .text {
			padding-top: 4px;
		}

		.hpc-team {
			margin-top: 0;
			margin-bottom: 0;
		}
	}

	@media (max-width: 575px) {
		.row.team-grid {
			grid-template-columns: minmax(0, 1fr);
		}
	}

	.team-lightbox {
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.7);
		display: none;
		align-items: center;
		justify-content: center;
		padding: 24px;
		z-index: 9999;
	}

	.team-lightbox.open {
		display: flex;
	}

	.team-lightbox__img {
		max-width: 90vw;
		max-height: 90vh;
		border-radius: 16px;
		background: #fff;
	}
