/* Quiénes somos — extensión del sistema editorial de la portada. */
.nosotros-editorial {
	--editorial-line: rgba(45, 71, 46, .28);
	--editorial-space: clamp(6rem, 12vw, 12rem);
	--ajuste-serif-titulos: 1.2em;
	overflow: clip;
}
.nosotros-editorial .contenedor { max-width: 1560px; }
.nosotros-editorial .seccion { padding-block: var(--editorial-space); }
.nosotros-editorial .eyebrow {
	margin: 0 0 1.5rem;
	font-size: .64rem;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--verde-700);
}
.nosotros-titulo {
	max-width: 14ch;
	margin: 0;
	font-size: clamp(3rem, 6vw, 4rem);
	font-weight: 300;
	line-height: .94;
	letter-spacing: -.06em;
	text-wrap: balance;
}
.nosotros-titulo em {
	display: block;
	font-family: var(--fuente-serif);
	font-size: var(--ajuste-serif-titulos);
	font-weight: 400;
	font-style: italic;
	line-height: .92;
	letter-spacing: -.015em;
	color: var(--verde-700);
}

/* Apertura 50/50, con la misma lógica de la sección Nosotros de la Home. */
main.nosotros-editorial .nosotros-intro.seccion {
	padding-block: clamp(4rem, 6vw, 6rem);
	background: var(--crema);
	border-bottom: 1px solid var(--editorial-line);
}
.nosotros-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(3rem, 6vw, 7rem);
	align-items: center;
}
.nosotros-intro__contenido {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0;
}
.nosotros-intro__bajada {
	max-width: 100%;
	margin: clamp(1.8rem, 3vw, 2.8rem) 0 0;
	font-size: clamp(1rem, 1.2vw, 1.1rem);
	line-height: 1.6;
}
.nosotros-intro .nosotros-titulo {
	max-width: 17ch;
	font-size: clamp(2.8rem, 4.5vw, 3.5rem);
}
.nosotros-intro__imagen {
	position: relative;
	height: clamp(20rem, 27vw, 26rem);
	min-height: 0;
	margin: 0;
	overflow: hidden;
	border-radius: .65rem clamp(2.5rem, 5vw, 5rem) .65rem clamp(2.5rem, 5vw, 5rem);
	background: var(--verde-900);
}
.nosotros-intro__slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transform: scale(1.01);
	animation: nosotros-intro-slide 15s infinite ease-in-out;
}
.nosotros-intro__slide:first-child { opacity: 1; }
.nosotros-intro__slide:nth-child(2) { animation-delay: -10s; }
.nosotros-intro__slide:nth-child(3) { animation-delay: -5s; }

@keyframes nosotros-intro-slide {
	0%, 28% { opacity: 1; transform: scale(1.01); }
	34%, 94% { opacity: 0; transform: scale(1.045); }
	100% { opacity: 1; transform: scale(1.01); }
}

/* Equipo: retratos con la misma geometría de las cajas de diferenciales. */
.nosotros-equipo { background: var(--hueso); }
.nosotros-cabecera {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, .42fr);
	gap: 1.5rem clamp(3rem, 8vw, 9rem);
	align-items: end;
	max-width: 65rem;
	margin: 0 0 clamp(4rem, 8vw, 8rem);
}
.nosotros-cabecera .eyebrow { grid-column: 1 / -1; margin-bottom: 1rem; }
.nosotros-cabecera > p:last-child {
	max-width: 42ch;
	margin: 0 0 .25rem;
	font-size: 1rem;
	line-height: 1.6;
}
.nosotros-equipo .nosotros-cabecera {
	display: block;
	max-width: none;
	margin-inline: auto;
	text-align: center;
}
.nosotros-equipo .nosotros-titulo {
	max-width: none;
	margin-inline: auto;
	font-size: clamp(4rem, 7vw, 6rem);
}
.nosotros-equipo__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(1.5rem, 2.4vw, 2.5rem);
	row-gap: clamp(4rem, 6vw, 6rem);
	max-width: 1040px;
	margin-inline: auto;
}
.nosotros-area {
	position: relative;
	min-height: clamp(29rem, 42vw, 39rem);
	overflow: hidden;
	border-radius: clamp(1.5rem, 2.4vw, 2.5rem) 48% clamp(1.5rem, 2.4vw, 2.5rem) clamp(1.5rem, 2.4vw, 2.5rem);
	background: var(--verde-900);
	color: var(--crema);
	box-shadow: 0 24px 48px -32px rgba(21, 38, 23, .72);
	transition: transform 500ms cubic-bezier(.22, .61, .36, 1), box-shadow var(--transicion);
}
.nosotros-area:hover { transform: translateY(-5px); box-shadow: 0 32px 58px -30px rgba(21, 38, 23, .82); }
.nosotros-area__foto {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	filter: brightness(1.22);
	transition: transform 650ms cubic-bezier(.22, .61, .36, 1), filter 500ms ease;
}
.nosotros-area:hover .nosotros-area__foto { transform: scale(1.035); filter: brightness(1.22); }
.nosotros-area__velo {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 55%, rgba(18, 31, 20, .10) 65%, rgba(18, 31, 20, .88) 100%);
}
.nosotros-area__texto {
	position: absolute;
	z-index: 3;
	right: clamp(5.2rem, 6vw, 6rem);
	bottom: clamp(2rem, 3vw, 3rem);
	left: clamp(1.4rem, 2.2vw, 2.2rem);
	transition: opacity 350ms ease, transform 450ms cubic-bezier(.22, .61, .36, 1);
}
.nosotros-area h3 {
	max-width: 11ch;
	margin: 0 0 .5rem;
	font-size: clamp(1.55rem, 2.15vw, 2.2rem);
	font-weight: 400;
	line-height: .96;
	letter-spacing: -.045em;
}
.nosotros-area p { max-width: 28ch; margin: 0; font-size: .8rem; line-height: 1.45; color: rgba(254, 240, 215, .82); }
.nosotros-area .nosotros-area__rol {
	margin-bottom: 0;
	font-size: .66rem;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--dorado-claro);
}
.nosotros-area__bio {
	position: absolute;
	z-index: 4;
	right: 0;
	bottom: 0;
	left: 0;
	min-height: 48%;
	padding: clamp(2rem, 3vw, 3rem) clamp(5.4rem, 6vw, 6.2rem) clamp(2rem, 3vw, 3rem) clamp(1.4rem, 2.2vw, 2.2rem);
	background: rgba(20, 35, 22, .95);
	backdrop-filter: blur(12px);
	opacity: 0;
	transform: translateY(101%);
	transition: opacity 350ms ease, transform 500ms cubic-bezier(.22, .61, .36, 1);
	pointer-events: none;
}
.nosotros-area__bio > span {
	display: block;
	margin-bottom: .9rem;
	font-size: .62rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--dorado-claro);
}
.nosotros-area__bio p { max-width: 27ch; font-size: .86rem; line-height: 1.55; }
.nosotros-area__bio-toggle {
	position: absolute;
	z-index: 6;
	right: clamp(1.4rem, 2.2vw, 2.2rem);
	bottom: clamp(1.8rem, 2.8vw, 2.8rem);
	display: grid;
	width: 3.25rem;
	height: 3.25rem;
	padding: 0;
	place-items: center;
	border: 1px solid rgba(254, 240, 215, .72);
	border-radius: 50%;
	background: rgba(20, 35, 22, .64);
	color: var(--crema);
	cursor: pointer;
	backdrop-filter: blur(10px);
	transition: background 300ms ease, color 300ms ease, transform 300ms ease;
}
.nosotros-area__bio-toggle:hover,
.nosotros-area__bio-toggle:focus-visible { background: var(--dorado-claro); color: var(--verde-900); transform: scale(1.05); }
.nosotros-area__bio-toggle span { display: block; font-size: 1.8rem; font-weight: 300; line-height: 1; transition: transform 400ms ease; }
.nosotros-area.is-bio-abierta .nosotros-area__texto { opacity: 0; transform: translateY(1rem); pointer-events: none; }
.nosotros-area.is-bio-abierta .nosotros-area__bio { opacity: 1; transform: translateY(0); pointer-events: auto; }
.nosotros-area.is-bio-abierta .nosotros-area__bio-toggle span { transform: rotate(45deg); }

/* Principios: mismas cajas oscuras y curvas de la Home. */
main.nosotros-editorial .nosotros-principios.seccion {
	padding-block: clamp(4.5rem, 7vw, 7rem);
	background: var(--crema);
	border-top: 1px solid var(--editorial-line);
}
.nosotros-principios__layout { display: block; }
.nosotros-principios__cabecera {
	position: static;
	display: block;
	margin-bottom: clamp(3rem, 5vw, 5rem);
}
.nosotros-principios .nosotros-titulo { max-width: 18ch; }
.nosotros-principios__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: clamp(1.5rem, 2.4vw, 2.5rem);
	row-gap: clamp(2rem, 4vw, 4rem);
}
.nosotros-principio {
	position: relative;
	isolation: isolate;
	min-height: 28.75rem;
	padding: clamp(1.4rem, 2.2vw, 2.2rem);
	overflow: visible;
	border-radius: clamp(1.5rem, 2.4vw, 2.5rem) 48% clamp(1.5rem, 2.4vw, 2.5rem) clamp(1.5rem, 2.4vw, 2.5rem);
	background: var(--verde-900);
	color: var(--crema);
	box-shadow: 0 24px 48px -32px rgba(21, 38, 23, .72);
	transition: transform 500ms cubic-bezier(.22, .61, .36, 1), background var(--transicion);
}
.nosotros-principio:hover { transform: translateY(-5px); background: #223a26; }
.nosotros-principio > span { position: relative; z-index: 3; display: block; font-size: .7rem; font-weight: 500; letter-spacing: .14em; color: var(--dorado-claro); }
.nosotros-principio__imagen {
	position: absolute;
	right: -8%;
	bottom: -9%;
	z-index: 1;
	width: 68%;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 22px 18px rgba(13, 28, 16, .28));
	transform: rotate(-3deg);
	transition: transform 600ms cubic-bezier(.22, .61, .36, 1), filter 600ms ease;
}
.nosotros-principio:nth-child(1) .nosotros-principio__imagen { right: -10%; bottom: -8%; width: 70%; }
.nosotros-principio:nth-child(2) .nosotros-principio__imagen { right: -9%; bottom: -10%; width: 70%; }
.nosotros-principio:nth-child(3) .nosotros-principio__imagen { right: -8%; bottom: -9%; width: 68%; }
.nosotros-principio:nth-child(4) .nosotros-principio__imagen { right: -9%; bottom: -9%; width: 69%; }
.nosotros-principio:hover .nosotros-principio__imagen { filter: drop-shadow(0 28px 22px rgba(13, 28, 16, .34)); transform: rotate(0) translateY(-5px) scale(1.055); }
.nosotros-principio h3 {
	position: relative;
	z-index: 3;
	max-width: 74%;
	margin: clamp(1.2rem, 2vw, 1.8rem) 0 .8rem;
	font-family: var(--fuente-serif);
	font-size: clamp(2rem, 2.8vw, 2.85rem);
	font-weight: 400;
	font-style: italic;
	line-height: .95;
	color: var(--dorado-claro);
}
.nosotros-principio p { position: relative; z-index: 3; max-width: 74%; margin: 0; font-size: clamp(.86rem, 1vw, 1rem); line-height: 1.5; color: rgba(254, 240, 215, .88); }

/* Puente hacia tratamientos: separador editorial y acceso directo. */
.nosotros-tratamientos-cta {
	padding-block: clamp(2.8rem, 4.5vw, 4.5rem);
	border-top: 1px solid rgba(254, 240, 215, .14);
	border-bottom: 1px solid rgba(254, 240, 215, .14);
	background-color: var(--verde-900);
	background-image:
		linear-gradient(90deg, rgba(20, 35, 22, .68), rgba(20, 35, 22, .78) 40%, rgba(20, 35, 22, .78) 60%, rgba(20, 35, 22, .68)),
		url('../img/banners/separador-tratamientos-ia-v1.webp');
	background-position: center;
	background-size: cover;
	color: var(--crema);
}
.nosotros-tratamientos-cta__inner {
	display: flex;
	gap: 2rem;
	align-items: center;
	justify-content: center;
}
.nosotros-tratamientos-cta a {
	display: flex;
	gap: .28em;
	align-items: baseline;
	color: var(--crema);
	font-size: clamp(2.2rem, 4vw, 4rem);
	font-weight: 300;
	line-height: .95;
	letter-spacing: -.05em;
	text-decoration: none;
}
.nosotros-tratamientos-cta a em {
	font-family: var(--fuente-serif);
	font-size: var(--ajuste-serif-titulos);
	font-weight: 400;
	font-style: italic;
	letter-spacing: -.015em;
	color: var(--dorado-claro);
}
.nosotros-tratamientos-cta a b {
	display: inline-block;
	margin-left: .35em;
	font-size: .58em;
	font-weight: 300;
	transition: transform 300ms ease;
}
.nosotros-tratamientos-cta a:hover b,
.nosotros-tratamientos-cta a:focus-visible b { transform: translateX(.35rem); }

/* Cierre tecnológico: composición 50/50 y escala editorial de la Home. */
.nosotros-innovacion { background: var(--verde-700); color: var(--crema); }
.nosotros-innovacion__grid {
	display: grid;
	grid-template-columns: minmax(22rem, .95fr) minmax(0, 1.05fr);
	gap: clamp(3rem, 6vw, 7rem);
	align-items: center;
}
.nosotros-innovacion__imagen {
	min-height: clamp(28rem, 48vw, 46rem);
	margin: 0;
	overflow: hidden;
	border-radius: .65rem clamp(2.5rem, 5vw, 5rem) .65rem clamp(2.5rem, 5vw, 5rem);
	box-shadow: 0 34px 70px -42px rgba(0, 0, 0, .7);
}
.nosotros-innovacion__imagen img { width: 100%; height: 100%; object-fit: cover; }
.nosotros-innovacion .eyebrow { color: var(--dorado-claro); }
.nosotros-innovacion .nosotros-titulo { color: var(--crema); }
.nosotros-innovacion .nosotros-titulo em { color: var(--dorado-claro); }
.nosotros-innovacion__contenido > p:not(.eyebrow) {
	max-width: 42ch;
	margin: clamp(2rem, 3.5vw, 3.5rem) 0 0;
	font-size: clamp(1.05rem, 1.45vw, 1.35rem);
	line-height: 1.55;
	color: rgba(254, 240, 215, .88);
}
.nosotros-innovacion__contenido > p + p:not(.eyebrow) { margin-top: 1rem; }
.nosotros-innovacion .btn { margin-top: clamp(2.2rem, 4vw, 3.7rem); }
.nosotros-innovacion .btn.btn--claro {
	--btn-efecto: var(--crema);
	min-height: 3.75rem;
	padding: 1rem 1.8rem;
	border-color: var(--dorado-claro);
	background: var(--dorado-claro);
	color: var(--verde-900);
	font-size: .76rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	box-shadow: 0 18px 32px -18px rgba(15, 28, 17, .72);
}
.nosotros-innovacion .btn.btn--claro:hover,
.nosotros-innovacion .btn.btn--claro:focus-visible {
	border-color: var(--crema);
	background: var(--dorado-claro);
	color: var(--verde-900);
	box-shadow: 0 22px 38px -17px rgba(15, 28, 17, .82);
}

@media (max-width: 1180px) {
	.nosotros-equipo__grid,
	.nosotros-principios__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nosotros-area { min-height: 38rem; }
}
@media (max-width: 900px) {
	.nosotros-intro__grid,
	.nosotros-innovacion__grid { grid-template-columns: 1fr; }
	.nosotros-intro__contenido { padding: 0; }
	.nosotros-intro__imagen { height: clamp(20rem, 62vw, 28rem); min-height: 0; }
	.nosotros-innovacion__imagen { min-height: 34rem; }
	.nosotros-cabecera { grid-template-columns: 1fr; }
	.nosotros-cabecera .eyebrow { grid-column: auto; }
}
@media (max-width: 620px) {
	.nosotros-editorial { --editorial-space: 6rem; }
	main.nosotros-editorial .nosotros-intro.seccion { padding-block: 3.25rem; }
	.nosotros-intro__grid { gap: 2.25rem; }
	.nosotros-titulo { font-size: clamp(2.8rem, 14vw, 4rem); }
	.nosotros-equipo .nosotros-titulo { font-size: clamp(3.2rem, 15vw, 4.5rem); }
	.nosotros-equipo__grid,
	.nosotros-principios__grid { grid-template-columns: 1fr; }
	.nosotros-area { min-height: 34rem; }
	main.nosotros-editorial .nosotros-principios.seccion { padding-block: 4rem; }
	.nosotros-principios__cabecera { margin-bottom: 3rem; }
	.nosotros-principios__grid {
		display: flex;
		gap: 1rem;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.nosotros-principios__grid::-webkit-scrollbar { display: none; }
	.nosotros-principio { flex: 0 0 78vw; min-height: 28rem; scroll-snap-align: start; }
	.nosotros-principio h3 { margin-top: 1.4rem; }
	.nosotros-principio__imagen { width: 68%; height: auto; }
	.nosotros-tratamientos-cta__inner { display: block; }
	.nosotros-tratamientos-cta a { display: grid; grid-template-columns: 1fr auto; gap: .1em .35em; }
	.nosotros-tratamientos-cta a span { grid-column: 1; }
	.nosotros-tratamientos-cta a em { grid-column: 1; }
	.nosotros-tratamientos-cta a b { grid-column: 2; grid-row: 1 / 3; align-self: center; }
	.nosotros-intro__imagen { height: 14rem; min-height: 0; border-radius: .65rem 3rem .65rem 3rem; }
	.nosotros-innovacion__imagen { min-height: 30rem; border-radius: .65rem 3rem .65rem 3rem; }
}

@media (prefers-reduced-motion: reduce) {
	.nosotros-area,
	.nosotros-area__foto,
	.nosotros-principio { transition: none; }
	.nosotros-intro__slide { animation: none; }
	.nosotros-intro__slide:not(:first-child) { display: none; }
	.nosotros-area__texto,
	.nosotros-area__bio,
	.nosotros-area__bio-toggle,
	.nosotros-area__bio-toggle span,
	.nosotros-principio__imagen { transition: none; }
}

/* Mobile: keep values in a stable vertical list. */
@media(max-width:767px){
 .nosotros-principios__grid{display:grid;grid-template-columns:minmax(0,1fr);overflow:visible;scroll-snap-type:none}
 .nosotros-principio{width:100%;min-width:0;scroll-snap-align:none}
 .nosotros-principios .revelar,.nosotros-principio,.nosotros-principio:hover,.nosotros-principio__imagen,.nosotros-principio:hover .nosotros-principio__imagen{opacity:1;transform:none;transition:none;animation:none;will-change:auto}
}

/* Team and values in two readable columns on phones. */
@media(max-width:767px){
 .nosotros-editorial .seccion{padding-block:48px}
 .nosotros-editorial .nosotros-cabecera{display:block;margin-bottom:28px}
 .nosotros-equipo .nosotros-titulo,.nosotros-principios .nosotros-titulo{font-size:clamp(1.9rem,7.5vw,2.7rem);line-height:1.05;max-width:none;text-align:left}
 .nosotros-equipo__grid,.nosotros-editorial .nosotros-principios__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;overflow:visible}
 .nosotros-area{min-height:0;padding-bottom:58px;border-radius:18px 48px 18px 18px;transform:none!important}
 .nosotros-area__foto{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:top;transform:none!important}
 .nosotros-area__velo{display:none}
 .nosotros-area__texto{position:static;padding:12px 12px 0}
 .nosotros-area h3{font-size:1.08rem;line-height:1.12;max-width:none;margin-bottom:8px}
 .nosotros-area .nosotros-area__rol{font-size:.62rem;line-height:1.4;letter-spacing:.025em;overflow-wrap:anywhere}
 .nosotros-area__bio-toggle{width:44px;height:44px;right:10px;bottom:10px}
 .nosotros-area__bio{inset:0;padding:16px 12px 64px;overflow-y:auto;overscroll-behavior:contain;min-height:0;background:var(--verde-900)}
 .nosotros-area__bio p{font-size:.83rem;line-height:1.5;max-width:none}
 .nosotros-principio{min-height:0;width:100%;padding:16px 12px 116px;overflow:hidden;border-radius:18px 42px 18px 18px}
 .nosotros-principio h3{font-size:clamp(1.3rem,5.4vw,1.65rem);max-width:100%;margin:16px 0 12px;overflow-wrap:anywhere}
 .nosotros-principio p{max-width:100%;font-size:.8rem;line-height:1.45}
 .nosotros-principio:nth-child(n) .nosotros-principio__imagen{width:104px;height:104px;object-fit:contain;right:0;bottom:0}
}

@media(max-width:767px){.nosotros-area__texto h3{color:var(--crema)}}
@media(max-width:767px){.nosotros-principio h3{font-size:clamp(1.05rem,5vw,1.5rem);hyphens:auto}}

/* Compensar la exposición del retrato de Agustín con el logo. */
.nosotros-area .nosotros-area__foto[src*="dsc00235"]{filter:brightness(1.6) contrast(.92) saturate(1.04)!important}
