/*
 * Sección "Nosotros": fondo rojo con un brillo que flota y foto con Ken Burns.
 *
 *   Contenedor sección          → about
 *     Título                    → about__title
 *     Texto                     → about__lead
 *     Contenedor foto           → about__frame
 *       Imagen                  → about__photo
 *
 * La foto va limpia, sin textos ni tarjetas encima.
 */

.about {
	position: relative;
	display: block;
	overflow: hidden;
	padding: var(--space-section) 0 34px;
	background: var(--color-brand-red);
	color: #fff;
}

.about__grid {
	--row-gap: 34px;
	--column-gap: clamp(32px, 5vw, 75px);

	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	width: 100%;
	max-width: var(--wrap-max);
	margin-inline: auto;
	padding: 0 var(--wrap-pad);
}

.about__copy { display: block; }

/* Brillo radial que se mueve lento */
.about::before {
	content: "";
	position: absolute;
	top: -380px;
	right: -260px;
	width: 900px;
	height: 900px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, .12), transparent 65%);
	animation: about-float 14s ease-in-out infinite alternate;
	pointer-events: none;
}
@keyframes about-float { to { transform: translate(-120px, 80px); } }

.about > * { position: relative; } /* contenido por encima del brillo */

.about__title .elementor-heading-title {
	font-family: var(--font-display);
	font-size: clamp(34px, 4.2vw, 64px);
	letter-spacing: -.04em;
	line-height: 1;
	color: #fff;
}
.about__lead { max-width: 28em; margin-top: 24px; padding-bottom: 30px; font-size: 19px; color: #FFE3DF; }
.about__lead p { margin: 0; }

.about__frame {
	position: relative;
	aspect-ratio: 5 / 4;
	overflow: hidden;
	border-radius: 32px;
	box-shadow: 0 40px 80px rgba(80, 0, 0, .35);
}
.about__photo,
.about__photo .elementor-widget-container { position: absolute !important; inset: 0; }
.about__photo img {
	width: 112%;
	height: 112%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	margin: -6%;
	animation: about-kenburns 18s ease-in-out infinite alternate;
}
@keyframes about-kenburns {
	from { transform: scale(1) translate(0, 0); }
	to   { transform: scale(1.12) translate(-3%, 2%); }
}

@media (min-width: 768px) {
	.about { padding-bottom: 38px; }
	.about__grid { grid-template-columns: 1fr 1fr; }
	.about__frame { aspect-ratio: 1; }
}

@media (min-width: 1025px) {
	.about__grid { grid-template-columns: 1fr 1.1fr; }
	.about__frame { aspect-ratio: 5 / 4; }
}

@media (prefers-reduced-motion: reduce) {
	.about::before,
	.about__photo img { animation: none; }
}
