/**
 * «Nosotros» y «contacto»: la cabecera de nosotros, sus secciones de lectura,
 * las tarjetas de los anfitriones y el formulario de escríbenos que
 * comparten ambas páginas.
 */

/* ------------------------------------------------------------- cabecera */

.ca-nos-cab { padding-top: var(--ca-space-7); padding-bottom: var(--ca-space-6); }
.ca-nos-cab__bajada { max-width: 760px; margin-top: var(--ca-space-4); }

.ca-nos-foto img {
	display: block;
	width: 100%;
	aspect-ratio: 21 / 9;
	object-fit: cover;
}
@media (max-width: 700px) {
	.ca-nos-foto img { aspect-ratio: 4 / 3; }
}

/* --------------------------------------------------------------- cuerpo */

.ca-nos-cuerpo { padding-top: var(--ca-space-9); padding-bottom: var(--ca-space-9); }
.ca-nos-secciones { display: flex; flex-direction: column; gap: var(--ca-space-9); }

.ca-nos-proposito {
	margin: 0;
	padding: var(--ca-space-6) 0;
	font-size: 32px;
	line-height: 38px;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.ca-nos-valores {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--ca-space-6) var(--ca-space-5);
}
.ca-nos-valor { border-top: 1px solid var(--ca-rule); padding-top: var(--ca-space-4); display: flex; flex-direction: column; gap: var(--ca-space-2); }
.ca-nos-valor dt { font-size: 22px; line-height: 28px; font-weight: 700; letter-spacing: -0.01em; }
.ca-nos-valor dd { margin: 0; font-size: 16px; line-height: 24px; }
@media (max-width: 700px) {
	.ca-nos-valores { grid-template-columns: minmax(0, 1fr); }
}

.ca-nos-indep-titulo {
	margin: 0;
	font-size: 28px;
	line-height: 34px;
	font-weight: 700;
	letter-spacing: -0.02em;
}
.ca-nos-cantbuy { list-style: none; margin: var(--ca-space-5) 0 0; padding: 0; display: flex; flex-direction: column; }
.ca-nos-cantbuy li { display: flex; gap: var(--ca-space-4); padding: var(--ca-space-3) 0; border-top: 1px solid var(--ca-rule); }
.ca-nos-cantbuy li span:first-child { flex: 0 0 auto; }

/* --------------------------------------------------------------- equipo */

.ca-nos-equipo { display: flex; flex-direction: column; gap: var(--ca-space-7); }
.ca-persona { display: grid; grid-template-columns: minmax(140px, 220px) minmax(0, 1fr); gap: var(--ca-space-5); align-items: start; }
.ca-persona__foto { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.ca-persona__foto--vacia { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 5; padding: var(--ca-space-3); }
.ca-persona__texto { display: flex; flex-direction: column; gap: var(--ca-space-3); }
.ca-persona__nombre { margin: 0; font-size: 24px; line-height: 30px; font-weight: 700; letter-spacing: -0.01em; }
.ca-persona__rol { margin: calc(-1 * var(--ca-space-2)) 0 0; font-size: 13px; line-height: 18px; color: var(--ca-ink-muted); }
.ca-persona__texto p:not(.ca-persona__rol) { font-size: 16px; line-height: 24px; }
@media (max-width: 560px) {
	.ca-persona { grid-template-columns: minmax(0, 1fr); }
	.ca-persona__foto, .ca-persona__foto--vacia { max-width: 220px; }
}

.ca-nos-indice { display: flex; flex-direction: column; gap: var(--ca-space-3); }
.ca-nos-indice__rotulo { font-size: 13px; line-height: 18px; font-weight: 700; margin-bottom: var(--ca-space-1); }
.ca-nos-indice a { font-size: 15px; line-height: 22px; }

.ca-nos-escribe { padding-top: var(--ca-space-7); padding-bottom: var(--ca-space-8); }
.ca-nos-escribe .ca-escribe { max-width: 640px; margin-top: var(--ca-space-4); }

/* ----------------------------------------------------- forma de escribir */

.ca-escribe__aviso {
	padding: var(--ca-space-5);
	border: 1px solid var(--ca-ink);
	font-size: 15px;
	line-height: 24px;
}
.ca-escribe__aviso + .ca-campos { margin-top: var(--ca-space-5); }

/* Campo trampa: fuera de la vista de una persona, pero ahí para un robot. */
.ca-campo-trampa {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
	margin: 0;
}

.ca-campos { display: flex; flex-direction: column; gap: var(--ca-space-5); margin-top: var(--ca-space-6); }
.ca-campos__fila { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ca-space-5); }
.ca-campo { display: flex; flex-direction: column; gap: var(--ca-space-2); }
.ca-campo label { font-size: 13px; line-height: 18px; font-weight: 700; }
.ca-campo__caja {
	width: 100%;
	box-sizing: border-box;
	height: 48px;
	padding: 0 var(--ca-space-4);
	border: 1px solid var(--ca-ink);
	background: var(--ca-surface);
	color: var(--ca-ink);
	font: inherit;
	font-size: 15px;
	border-radius: var(--ca-radius);
}
textarea.ca-campo__caja { height: auto; min-height: 130px; padding: var(--ca-space-3) var(--ca-space-4); line-height: 22px; resize: vertical; }
select.ca-campo__caja { cursor: pointer; }
@media (max-width: 560px) {
	.ca-campos__fila { grid-template-columns: minmax(0, 1fr); }
}

/* ------------------------------------------------------------- contacto */

.ca-contacto-cuerpo { padding-top: var(--ca-space-7); padding-bottom: var(--ca-space-9); }
.ca-contacto-bajada { max-width: 560px; margin-top: var(--ca-space-3); }
.ca-contacto-directo { display: flex; flex-direction: column; gap: var(--ca-space-6); }
.ca-contacto-directo__grupo { display: flex; flex-direction: column; gap: var(--ca-space-2); }
.ca-contacto-directo__rotulo { font-size: 13px; line-height: 18px; font-weight: 700; }
.ca-contacto-directo__grupo a { font-size: 16px; line-height: 24px; }
.ca-contacto-directo__grupo a[href^="mailto:"] { font-size: 18px; line-height: 26px; text-decoration: underline; text-underline-offset: 3px; }
