/* ==========================================================================
   MÁSVILLA — Home
   Figma: "MasVilla - Home_desktop 1512" (1:1116). Medidas de referencia a 1512px.
   ========================================================================== */

/* ---------- 1. Hero ---------- */
.home-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: clamp(520px, 80svh, 810px);
	padding-block: clamp(120px, 14vw, 200px) clamp(56px, 11vw, 168px);
	overflow: hidden;
	color: var(--c-crema);
	background: #8a7a3a;
}

.home-hero__media,
.home-hero__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.home-hero__media img { object-fit: cover; object-position: center 40%; }

/* Velo muy suave para asegurar la lectura del texto sobre la foto */
.home-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(35, 35, 35, .28) 0%, rgba(35, 35, 35, .08) 55%, rgba(35, 35, 35, 0) 100%);
}

.home-hero__contenido { position: relative; }
.home-hero__kicker { margin-bottom: 14px; color: var(--c-crema); }
.home-hero__titulo { max-width: 860px; color: var(--c-crema); }

.home-hero__botones {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 38px;
	margin-top: clamp(28px, 3vw, 40px);
}
/* Sobre la foto, el hover del botón naranja pasa a contorno crema (el naranja no se leería) */
.home-hero .btn--naranja:hover,
.home-hero .btn--naranja:focus-visible { border-color: var(--c-crema); color: var(--c-crema); }

/* ---------- 2. Hola, soy Ana ---------- */
.home-hola { padding-block: clamp(72px, 11vw, 165px) clamp(64px, 10vw, 150px); }

.home-hola__grid {
	display: grid;
	grid-template-columns: minmax(0, 477px) minmax(0, 654px);
	justify-content: center;
	align-items: center;
	gap: clamp(32px, 4.4vw, 66px);
}

.home-hola__imagen img { width: 100%; height: auto; }

.home-hola__titulo { margin-bottom: 12px; color: var(--c-naranja); }

.home-hola__parrafo {
	font-size: clamp(17px, 1rem + .3vw, 20px);
	line-height: 1.55;
	letter-spacing: .01em;
}

.home-hola__firma {
	width: clamp(130px, 11vw, 160px);
	height: auto;
	margin-top: clamp(24px, 3vw, 44px);
}

/* ---------- 3. ¿Te reconoces? ---------- */
.home-reconoces { padding-bottom: clamp(72px, 7vw, 100px); }

.home-reconoces__titulo { margin-bottom: clamp(32px, 7vw, 107px); }

.home-reconoces__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 23px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-reconoces__card {
	display: flex;
	align-items: center;
	min-height: clamp(150px, 14.3vw, 216px);
	padding: clamp(24px, 2.6vw, 40px) clamp(24px, 2vw, 30px);
	background: var(--c-rosa);
}
.home-reconoces__card p {
	font-family: var(--f-raleway);
	font-weight: 700;
	font-size: clamp(15px, .85rem + .3vw, 18px);
	line-height: 1.65;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--c-crema);
}

/* ---------- 4. ¿Cómo te ayudamos? ---------- */
.home-ayuda {
	padding-block: clamp(64px, 6.6vw, 100px) clamp(48px, 3.4vw, 52px);
	background: var(--c-amarillo);
}

.home-ayuda__titulo { margin-bottom: clamp(32px, 3vw, 44px); }

.home-ayuda__enfoque {
	display: grid;
	grid-template-columns: minmax(0, 538px) minmax(0, 630px);
	justify-content: space-between;
	align-items: start;
	gap: 40px;
}
.home-ayuda__enfoque-texto h3 { margin-bottom: 16px; }
.home-ayuda__enfoque-imagen img { width: 100%; height: auto; }

.home-ayuda__metodo-titulo { margin: clamp(40px, 4vw, 56px) 0 clamp(28px, 2.6vw, 40px); }

.home-ayuda__metodo {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px clamp(32px, 3.4vw, 52px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-ayuda__paso {
	display: grid;
	grid-template-columns: 37px 1fr;
	gap: 26px;
	align-items: start;
}

.home-ayuda__icono { color: var(--c-azul); }
.home-ayuda__icono svg { width: 37px; height: 37px; stroke-width: 1.8; }

.home-ayuda__paso-titulo {
	font-family: var(--f-museo);
	font-weight: 500;
	font-size: 16px;
	line-height: 26px;
	letter-spacing: .02em;
}

/* ---------- 5. CTA ---------- */
.home-cta { padding-block: clamp(72px, 7.3vw, 110px) clamp(48px, 4vw, 60px); }
.home-cta__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(24px, 2.4vw, 36px);
	text-align: center;
}
.home-cta__titulo { text-transform: uppercase; text-wrap: balance; }

/* ---------- 6. Conozcámonos ---------- */
.home-conozcamonos { padding-block: clamp(48px, 4vw, 60px) clamp(72px, 6vw, 92px); }
.home-conozcamonos__titulo { margin-bottom: 12px; }
.home-conozcamonos__texto { margin-bottom: clamp(24px, 2.4vw, 36px); }
.home-conozcamonos__enlace {
	display: flex;
	justify-content: flex-end;
	margin-top: clamp(20px, 2vw, 28px);
}
.btn-link__flecha { width: .7em; height: .7em; flex: none; }

/* ---------- 7. Newsletter ---------- */
.home-news {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: clamp(560px, 52vw, 783px);
	background: var(--c-azul);
	color: var(--c-crema);
}

.home-news__imagen { position: relative; min-height: 320px; }
.home-news__imagen img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.home-news__panel {
	display: flex;
	align-items: center;
	padding: clamp(48px, 6vw, 96px) var(--gutter) clamp(48px, 6vw, 96px) clamp(32px, 6.3vw, 96px);
}

.home-news__contenido { width: 100%; max-width: 520px; }

.home-news__titulo { color: var(--c-crema); text-wrap: balance; }
.home-news__subtitulo { margin-top: clamp(28px, 3.6vw, 52px); color: var(--c-crema); }
.home-news__texto { margin-top: 10px; }
.home-news .mv-news__form { margin-top: clamp(28px, 3vw, 44px); max-width: none; }
.home-news .mv-news__fila { gap: clamp(14px, 1.6vw, 24px); }
.home-news .mv-news__email { height: 51px; }
.home-news .mv-news__mensaje.is-error { color: var(--c-negro); }

/* ---------- 8. Elige tu espacio ---------- */
.home-espacios { padding-block: clamp(72px, 8vw, 120px) clamp(64px, 6vw, 92px); }

.home-espacios__inner { display: flex; flex-direction: column; align-items: center; }

.home-espacios__titulo { text-align: center; }

.home-espacios__intro {
	max-width: 960px;
	margin: clamp(20px, 2.4vw, 36px) 0 clamp(32px, 3vw, 44px);
	text-align: center;
	text-wrap: balance;
}

.home-espacios__lista {
	display: grid;
	gap: clamp(20px, 2.2vw, 33px);
	width: 100%;
	max-width: 954px;
}

.home-espacio {
	display: grid;
	grid-template-columns: minmax(0, 584fr) minmax(0, 370fr);
	min-height: clamp(260px, 20vw, 304px);
}

.home-espacio__texto {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(32px, 3.4vw, 50px) clamp(24px, 2vw, 29px) clamp(28px, 2.1vw, 32px);
}
.home-espacio__titulo { margin-bottom: 16px; color: var(--c-crema); }
.home-espacio__boton { margin-top: auto; }
.home-espacio__texto p { margin-bottom: 20px; }

.home-espacio--verde .home-espacio__texto { background: var(--c-verde); color: var(--c-crema); }
.home-espacio--rosa .home-espacio__texto  { background: var(--c-rosa); color: var(--c-negro); }

/* En los paneles de color, el hover del botón crema pasa a contorno crema */
.home-espacio .btn--crema:hover,
.home-espacio .btn--crema:focus-visible { border-color: var(--c-crema); color: var(--c-crema); }

.home-espacio__imagen { position: relative; min-height: 220px; }
.home-espacio__imagen img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---------- 9. Opiniones ---------- */
.home-opiniones {
	padding-block: clamp(56px, 4.8vw, 72px);
	background: var(--c-amarillo);
}

.home-opiniones__inner {
	display: grid;
	grid-template-columns: 171px minmax(0, 480px);
	justify-content: center;
	align-items: center;
	gap: clamp(32px, 2.6vw, 40px);
}

.home-opiniones__forma svg { width: 100%; height: auto; }

.home-opiniones__slides { display: grid; }

.home-opiniones__slide {
	grid-area: 1 / 1;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .6s var(--ease), visibility 0s linear .6s;
}
.home-opiniones__slide.is-activa {
	opacity: 1;
	visibility: visible;
	transition: opacity .6s var(--ease), visibility 0s;
}

.home-opiniones__texto { margin: 0; }
.home-opiniones__texto p {
	font-family: var(--f-raleway);
	font-weight: 700;
	font-size: clamp(16px, .9rem + .3vw, 20px);
	line-height: 1.6;
	letter-spacing: .2em;
	text-transform: uppercase;
}
.home-opiniones__autor {
	margin-top: 12px;
	font-size: 14px;
	letter-spacing: .04em;
}

.home-opiniones__nav {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 8px;
}
.home-opiniones__flecha {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	color: var(--c-rosa);
	transition: color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.home-opiniones__flecha svg { width: 30px; height: 30px; stroke-width: 1.5; }
.home-opiniones__flecha:hover,
.home-opiniones__flecha:focus-visible { color: var(--c-naranja); }
.home-opiniones__flecha[data-anterior]:hover { transform: translateX(-3px); }
.home-opiniones__flecha[data-siguiente]:hover { transform: translateX(3px); }

/* ---------- Responsive ---------- */
@media (max-width: 1023px) {
	.home-hola__grid { grid-template-columns: minmax(0, 360px) minmax(0, 1fr); }

	.home-ayuda__enfoque { grid-template-columns: 1fr; }
	.home-ayuda__enfoque-imagen { max-width: 630px; }

	.home-ayuda__metodo { grid-template-columns: 1fr; max-width: 620px; }

	.home-news { grid-template-columns: 1fr; }
	.home-news__imagen { min-height: 0; aspect-ratio: 4 / 3; }
	.home-news__panel { padding: 56px var(--gutter); }
	.home-news__contenido { max-width: 620px; margin-inline: auto; }
}

@media (max-width: 767px) {
	.home-hero { align-items: flex-end; }
	.home-hero__media img { object-position: 30% 40%; }
	.home-hero__media::after {
		background: linear-gradient(0deg, rgba(35, 35, 35, .4) 0%, rgba(35, 35, 35, .1) 60%, rgba(35, 35, 35, 0) 100%);
	}
	.home-hero__botones .btn { flex: 1 1 auto; }

	.home-hola__grid { grid-template-columns: 1fr; justify-items: center; }
	.home-hola__imagen { width: min(80vw, 360px); }

	.home-reconoces__grid { grid-template-columns: 1fr; }
	.home-reconoces__card { min-height: 0; }

	.home-espacio { grid-template-columns: 1fr; }
	.home-espacio__imagen { order: -1; min-height: 0; aspect-ratio: 16 / 10; }
	.home-espacio__boton { margin-top: 4px; }

	.home-opiniones__inner { grid-template-columns: 1fr; }
	.home-opiniones__forma { display: none; }

	.home-conozcamonos__enlace { justify-content: flex-start; }
}

/* Sin "Para pensarte" (fase 1), Opiniones (amarillo) queda pegado al footer (amarillo):
   una línea fina los separa. */
.home .mv-footer__inner { border-top: 1px solid rgba(35, 35, 35, .15); }
