/**
 * Nosotros page styles — Inclusso Cafe child theme.
 * Copied from inclussocafe.com/nosotros/, using the theme's current font (no imported font).
 * Breakpoints match the original site: 1730px, 1279px, 991px, 767px.
 */

.inclusso-nosotros {
	--nos-brown: rgb(41, 18, 6);
	--nos-grey: rgb(115, 115, 115);
	--nos-side: 100px;
	margin: 0;
}

.inclusso-nosotros .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Shared heading style ("QUIÉNES SOMOS", "NUESTRO EQUIPO"). */
.inclusso-nos__heading {
	margin: 0 0 30px;
	color: var(--nos-brown);
	font-size: 36px;
	font-weight: 400;
	line-height: 1.2;
	text-transform: uppercase;
}

.inclusso-nos__heading--center {
	text-align: center;
}

/* Round white play button with the "pulse" hover, like the original. */
.inclusso-play {
	position: relative;
	z-index: 1;
	display: block;
	width: 66px;
	height: 66px;
	border-radius: 50%;
	color: #fff;
}

.inclusso-play svg {
	display: block;
	width: 100%;
	height: 100%;
}

.inclusso-play:hover,
.inclusso-play:focus-visible {
	animation: inclusso-nos-pulse 1s linear infinite;
}

.inclusso-play:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 6px;
}

@keyframes inclusso-nos-pulse {
	25% {
		transform: scale(1.1);
	}
	75% {
		transform: scale(0.9);
	}
}

/* ---------- 1. Banner ---------- */
.inclusso-nosotros__banner {
	position: relative;
	height: 300px;
	background: var(--banner-img) center / cover no-repeat;
}

/* Green tint over the beans, like the original (43%). */
.inclusso-nosotros__banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--inclusso-bg-color);
	opacity: 0.43;
}

/* The green curve sits right under the fixed header. */
.inclusso-nosotros__curve.top-curve {
	position: absolute;
	top: calc(var(--inclusso-header-h, 120px) - 1px);
	left: 0;
	z-index: 2;
	overflow: hidden;
	pointer-events: none;
}

/* ---------- 2. Quiénes somos ---------- */
.inclusso-nos-about {
	margin-top: 120px;
	padding: 0 var(--nos-side);
}

.inclusso-nos-about__inner {
	display: flex;
	align-items: center;
	gap: 111px;
	max-width: 1440px;
	margin: 0 auto;
}

/* Main photo top-left, smaller photo overlapping bottom-right (same proportions as the original). */
.inclusso-nos-about__media {
	position: relative;
	flex: 0 0 49%;
	aspect-ratio: 608 / 752;
}

.inclusso-nos-about__photo {
	position: absolute;
	display: block;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

.inclusso-nos-about__photo--main {
	top: 0;
	left: 0;
	width: 77.5%;
}

.inclusso-nos-about__photo--small {
	top: 39.6%;
	left: 45.9%;
	z-index: 1;
	width: 56.1%;
}

.inclusso-nos-about__content {
	flex: 1 1 auto;
}

.inclusso-nos-about__content p {
	margin: 0 0 18px;
	color: var(--nos-grey);
	font-size: 18px;
	line-height: 1.5;
}

/* ---------- 3. Photo banner with title + play ---------- */
.inclusso-nos-proposito {
	margin: 120px 0 90px;
	padding: 0 var(--nos-side);
}

.inclusso-nos-proposito__box {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 40px;
	max-width: 1440px;
	min-height: 500px;
	margin: 0 auto;
	padding: 40px 30px;
	box-sizing: border-box;
	background: var(--box-img) center / cover no-repeat;
	text-align: center;
}

/* Brown tint at 50%, like the original. */
.inclusso-nos-proposito__box::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--nos-brown);
	opacity: 0.5;
}

.inclusso-nos-proposito__title {
	position: relative;
	margin: 0;
	color: #fff;
	font-size: clamp(34px, 5vw, 72px);
	font-weight: 500;
	line-height: 1.1;
}

/* ---------- 4. Nuestro equipo ---------- */
.inclusso-nos-team {
	margin-bottom: 90px; /* Space above "¿POR QUÉ ELEGIRNOS?", same as above "NUESTRO EQUIPO". */
	padding: 0 var(--nos-side);
}

.inclusso-nos-team .inclusso-nos__heading {
	margin-bottom: 70px;
}

.inclusso-nos-team__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 30px;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

/* Staggered row: cards 1, 3 and 5 sit lower, like the original. */
.inclusso-nos-team__member {
	margin-top: 51px;
	text-align: center;
}

.inclusso-nos-team__member:nth-child(even) {
	margin-top: 0;
}

/* Rounded (pill) black & white photo; colour on hover. */
.inclusso-nos-team__member img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	border-radius: 160px;
	object-fit: cover;
	object-position: center top;
	filter: grayscale(1);
	transition: filter 0.35s ease;
}

.inclusso-nos-team__member:hover img {
	filter: grayscale(0);
}

.inclusso-nos-team__name {
	margin: 25px 0 6px;
	color: var(--nos-brown);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.2;
	text-transform: uppercase;
}

.inclusso-nos-team__role {
	margin: 0;
	color: var(--inclusso-bg-color);
	font-size: 18px;
	line-height: 1.5;
}

/* ---------- 5. ¿Por qué elegirnos? ---------- */
.inclusso-nos-why {
	margin-bottom: 110px;
	padding: 0 var(--nos-side);
}

.inclusso-nos-why__title {
	margin: 0 0 70px; /* Same gap below the title as "NUESTRO EQUIPO". */
	color: var(--nos-brown);
	font-size: 32px;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
}

.inclusso-nos-why__grid {
	display: grid;
	grid-template-columns: 608fr 521fr;
	gap: 111px;
	max-width: 1440px;
	margin: 0 auto;
}

.inclusso-nos-why__col {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.inclusso-nos-why__item h3 {
	margin: 0 0 15px;
	color: var(--nos-brown);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.2;
}

.inclusso-nos-why__item p,
.inclusso-nos-why__list {
	margin: 0 0 12px;
	color: var(--nos-grey);
	font-size: 16px;
	line-height: 1.6;
}

.inclusso-nos-why__list {
	padding-left: 1.2em;
}

.inclusso-nos-why__list li + li {
	margin-top: 6px;
}

.inclusso-nos-why__item a {
	color: var(--inclusso-bg-color);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Photo with a centered play button (YouTube video). */
.inclusso-nos-why__video {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 446px;
	background: var(--box-img) center / cover no-repeat;
}

.inclusso-nos-why__video::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #000;
	opacity: 0.2;
}

/* ---------- Bottom curve over the beige testimonials ---------- */
.inclusso-nosotros__bottom-curve {
	background: rgb(249, 244, 239);
}

/* ---------- Breakpoints ---------- */
@media (max-width: 1279px) {
	.inclusso-nosotros {
		--nos-side: 50px;
	}

	.inclusso-nos-about__inner {
		gap: 60px;
	}

	.inclusso-nos-team__grid {
		grid-template-columns: repeat(3, 1fr);
		row-gap: 40px;
	}

	/* No stagger once the row wraps. */
	.inclusso-nos-team__member,
	.inclusso-nos-team__member:nth-child(even) {
		margin-top: 0;
	}

	.inclusso-nos-why__grid {
		gap: 60px;
	}
}

@media (max-width: 991px) {
	.inclusso-nos-about__inner {
		flex-direction: column;
		align-items: stretch;
	}

	.inclusso-nos-about__media {
		width: min(100%, 560px);
		margin: 0 auto;
	}

	.inclusso-nos-why__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

@media (max-width: 767px) {
	.inclusso-nosotros {
		--nos-side: 25px;
	}

	.inclusso-nosotros__banner {
		height: auto;
		min-height: calc(var(--inclusso-header-h, 120px) + 120px);
	}

	.inclusso-nos__heading {
		font-size: 28px;
	}

	.inclusso-nos-about {
		margin-top: 60px;
	}

	.inclusso-nos-about__inner {
		gap: 40px;
	}

	.inclusso-nos-proposito {
		margin: 60px 0;
	}

	.inclusso-nos-proposito__box {
		min-height: 320px;
		gap: 25px;
	}

	.inclusso-nos-team {
		margin-bottom: 60px;
	}

	.inclusso-nos-team .inclusso-nos__heading {
		margin-bottom: 40px;
	}

	.inclusso-nos-team__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px 16px;
	}

	.inclusso-nos-team__member img {
		border-radius: 100px;
	}

	/* An odd last person is centered instead of sitting alone on the left. */
	.inclusso-nos-team__member:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		justify-self: center;
		width: calc(50% - 8px);
	}

	.inclusso-nos-team__name {
		margin-top: 16px;
		font-size: 17px;
	}

	.inclusso-nos-team__role {
		font-size: 15px;
	}

	.inclusso-nos-why {
		margin-bottom: 60px;
	}

	.inclusso-nos-why__title {
		margin-bottom: 40px;
		font-size: 26px;
	}

	.inclusso-nos-why__video {
		min-height: 260px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.inclusso-play:hover,
	.inclusso-play:focus-visible {
		animation: none;
	}
}
