/* =================================================================
   INTERPLAY — CONTACT
   -----------------------------------------------------------------
   Frase de cabecera + 4 bloques (sedes y redes) + 2 bloques
   (legal address / work with us). Rejilla de 12 columnas.
   ================================================================= */
.contact {
	background: var(--color-white);
}
.contact__inner {
	max-width: var(--content-max);
	margin-inline: auto;
	padding: var(--page-top) var(--gutter) var(--space-9);
}

/* Frase de cabecera (Inter regular 56px) */
.contact__intro {
	max-width: max-content;   /* sin tope estrecho: la frase cae en pocas líneas */
	margin: 0 0 var(--space-9);
	font: var(--fw-regular) 56px/72px var(--font-sans);
	letter-spacing: var(--ls-default);
	color: var(--color-black);
}

/* --- Rejillas (12 columnas) --- */
.contact__grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: var(--space-8) var(--space-5);
}
.contact__grid--four > .contact__col { grid-column: span 3; }   /* 4 bloques equitativos */
.contact__grid--two  > .contact__col { grid-column: span 6; }   /* 2 bloques a mitad */
.contact__grid--two { margin-top: var(--space-9); }

.contact__heading {
	margin: 0 0 var(--space-4);
	font: var(--fw-medium) 24px/1.3 var(--font-sans);
	letter-spacing: var(--ls-default);
	color: var(--color-black);
}

.contact__col p,
.contact__address,
.contact__text p {
	margin: 0 0 var(--space-2);
	font: var(--font-body);
	letter-spacing: var(--ls-default);
	color: var(--color-black);
}
.contact__text p { margin-bottom: var(--space-3); }
.contact__text p:last-child { margin-bottom: 0; }
.contact__spacer { margin-top: var(--space-4); }

.contact__link { color: var(--color-black); }
.contact__link--under {
	text-decoration: underline;
	text-underline-offset: 4px;
}
.contact__social {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
}
.contact__social .icon { transition: transform 0.3s ease; }
.contact__social:hover .icon { transform: translate(0.15em, -0.15em); }

/* --- Responsive --- */
@media (max-width: 1024px) {
	.contact__intro { font-size: 40px; line-height: 52px; max-width: none; }
	.contact__grid--four > .contact__col { grid-column: span 6; }
}
@media (max-width: 640px) {
	.contact__intro { font-size: 30px; line-height: 40px; }
	.contact__grid--four > .contact__col,
	.contact__grid--two  > .contact__col { grid-column: span 12; }
}

/* Espacio de cabecera algo menor en pantallas pequeñas */
@media (max-width: 768px) {
	.contact__inner { padding-top: 140px; }
}
