:root { 
  --text-color: #1a1c20; 
  --link-color: #4a76ee; 
  --background-color: #eeeff1; 
} 

* { 
  margin: 0; 
  padding: 0; 
  box-sizing: border-box; 
} 

html { 
  scroll-behavior: smooth; 
} 

body { 
  font-family: 'Poppins', sans-serif; 
  color: var(--text-color); 
  background-color: var(--background-color); 
  max-width: 1400px; 
  margin: 0 auto; 
} 

a { 
  color: var(--link-color); 
  text-decoration: none; 
} 

/* NAVBAR */ 
nav { 
  display: flex; 
  justify-content: space-between; 
  align-items: center; 
  padding: 0 50px; 
  height: 80px; 
} 

nav .left a { 
  color: var(--text-color); 
  font-size: 22px; 
  font-weight: 600; 
} 

nav .right a { 
  color: var(--text-color); 
  margin: 0 10px; 
} 

nav .right a:last-child { 
  color: var(--background-color); 
  background-color: var(--text-color); 
  padding: 5px 15px; 
  border-radius: 5px; 
} 

nav .right a span { 
  margin-left: 5px; 
} 

/* SECTION 1: Hero */ 
.hero-section { 
  display: flex; 
  justify-content: space-between; 
  align-items: center; 
  padding: 0 50px; 
  margin: 50px 0 100px 0; 
  gap: 40px; 
} 

.hero-section .text { 
  flex: 5; 
} 

.hero-section .text h2 { 
  text-align: center; 
  font-size: 45px; 
} 

.hero-section .text .links { 
  margin-top: 25px; 
} 

.hero-section .text .links a { 
  display: inline-block; 
  padding: 5px 10px; 
  border: 2px solid var(--link-color); 
  border-radius: 5px; 
  margin-right: 10px; 
  margin-bottom: 10px; 
  transition: .1s; 
} 

.hero-section .text .links a:hover { 
  color: var(--text-color); 
  border: 2px solid var(--text-color); 
} 

.hero-section .headshot { 
  flex: 2; 
  display: flex; 
  justify-content: right; 
} 

.hero-section .headshot img { 
  width: 350px; 
  border-radius: 50%; 
} 

/* SECTION 2: Skills */ 
.skills-section { 
  padding: 0 50px; 
  margin-bottom: 100px; 
} 

.skills-section h2 { 
  text-align: center; 
  font-size: 35px; 
} 

.skills-section .text { 
  margin-bottom: 20px; 
} 

/* SECTION 3: Testimony */ 
.testimony-section { 
  padding: 0 50px; 
  margin-bottom: 100px; 
} 

.testimony-section h2 { 
  text-align: center; 
  font-size: 35px; 
  margin-bottom: 30px; 
} 

.testimony-section .group { 
  display: flex; 
  align-items: center; 
  gap: 50px; 
} 

.testimony-section .group .person-details { 
  text-align: center; 
  flex: 2; 
} 

.testimony-section .group .person-details img { 
  width: 200px; 
  aspect-ratio: 1 / 1; 
  border-radius: 50%; 
  margin-bottom: 10px; 
} 

.testimony-section .group .person-details p { 
  font-weight: 600; 
} 

.testimony-section .group .person-details p:last-child { 
  font-weight: normal; 
} 

.testimony-section .group .text { 
  flex: 8; 
} 

/* SECTION 4: Contact */ 
.contact-section { 
  padding: 0 50px; 
  margin-bottom: 100px; 
} 

.contact-section h2 { 
  font-size: 35px; 
} 

/* SECCIÓN AUTORES (ADAPTADA) */
.subtitulo { 
  text-align: center; 
  font-weight: 600; 
  color: var(--text-color); 
  font-size: 40px; 
  margin-bottom: 20px;
} 

.contenedor-servicio { 
  display: flex; 
  justify-content: space-evenly; 
  align-items: center; 
  flex-wrap: wrap; 
  gap: 20px;
} 

.contenedor-servicio img { 
  padding: 10px; 
  width: 40%; 
  border-radius: 15px; 
} 

.checklist-servicio { 
  width: 50%; 
} 

/* --- BOTÓN DE RETORNO FLOTANTE --- */
.btn-retorno {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background-color: #db2d20; /* Rojo Unearte llamativo */
  color: #ffffff;
  text-decoration: none;
  padding: 12px 24px;
  font-weight: 600;
  font-size: 16px;
  border-radius: 50px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 9999; /* Lo fuerza a estar por encima de todo */
  transition: all 0.3s ease;
}

.btn-retorno:hover {
  background-color: #b32015;
  transform: translateY(-4px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

/* RESPONSIVE DESIGN */ 
@media (max-width: 850px) { 
  .hero-section .text h2 { font-size: 35px; } 
} 

@media (max-width: 740px) { 
  .hero-section { flex-direction: column-reverse; } 
  .hero-section .headshot img { width: 300px; } 
  .testimony-section { text-align: center; } 
  .testimony-section .group { flex-direction: column; } 
  .contenedor-servicio { flex-direction: column; }
  .contenedor-servicio img { width: 80%; }
  .checklist-servicio { width: 100%; text-align: center; }
} 

@media (max-width: 600px) { 
  nav { padding: 0 20px; } 
  nav .right a { font-size: 22px; } 
  nav .right a:last-child { color: var(--text-color); background-color: transparent; padding: 0; } 
  nav .right a span { display: none; } 
  .hero-section { padding: 0 20px; } 
  .hero-section .text h2 { font-size: 30px; } 
  .skills-section { padding: 0 20px; } 
  .testimony-section { padding: 0 20px; } 
  .contact-section { padding: 0 20px; } 
  .btn-retorno { bottom: 20px; right: 20px; padding: 10px 18px; font-size: 14px; }
}
