/* Reset básico */
* { box-sizing: border-box; }
body {
  font-family: Arial, Helvetica, sans-serif;
  margin: 0;
  background-color: #ffffff;
  color: #102D5D;
}

/* Header */
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #ffffff;
  padding: 10px 40px;
  border-bottom: 2px solid #102D5D;
}
header img { height: 60px; width: auto; }
nav ul {
  list-style: none;
  display: flex;
  gap: 25px;
  margin: 0;
  padding: 0;
}
nav ul li a {
  text-decoration: none;
  color: #102D5D;
  font-weight: bold;
  transition: color 0.3s;
}
nav ul li a:hover { color: #2050A0; }

/* Main */
main { max-width: 1200px; margin: 60px auto; padding: 20px; line-height: 1.6; }

/* Hero */
.hero { text-align: center; margin-bottom: 60px; }
.hero h1 { font-size: 2.4em; margin-bottom: 10px; }

/* Introducción */
.intro {
  background-color: #f9fafc;
  padding: 30px;
  border-left: 4px solid #102D5D;
  border-radius: 8px;
  margin-bottom: 50px;
}
.intro h2 { margin-top: 0; color: #102D5D; font-size: 1.4em; }
.intro p { color: #333; margin-bottom: 10px; }

/* Servicios */
.section-title { color: #102D5D; margin: 0 0 12px 0; text-align: center; }
.services {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  margin-top: 30px;
}
.service {
  border: 1px solid #e6e9ef;
  border-radius: 10px;
  padding: 18px;
  text-align: center;
  background-color: #ffffff;
  box-shadow: 0 6px 18px rgba(16,45,93,0.04);
  transition: transform 0.16s ease;
  min-height: 170px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}
.service:hover { transform: translateY(-6px); }
.service img { display: block; margin: 6px auto; }
.service h3 { color: #102D5D; margin: 6px 0; font-size: 1.05em; }
.service p { margin: 0; color: #333; font-size: 0.95em; line-height: 1.35; }

/* Footer */
footer {
  text-align: center;
  padding: 20px;
  background-color: #f7f8fa;
  border-top: 1px solid #e6e9ef;
  color: #555;
  font-size: 0.9em;
}

/* Responsive */
@media (max-width:720px){
  header { padding: 10px 18px; }
  main { margin: 30px 12px; }
  .hero h1 { font-size: 1.6em; }
}
