:root {
  --bg:#ffffff;
  --light:#f6f9fc;
  --text:#1f2937;
  --accent:#2563eb;
}

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

body {
  font-family:Inter,sans-serif;
  background:var(--bg);
  color:var(--text);
}

@font-face {
  font-family: tangerine_bold;
  src: url('Tangerine_Bold.ttf');
}

.container {
  max-width:1100px;
  margin:auto;
  padding:0.5rem;
}

.narrow {max-width:700px}

header {
  border-bottom:1px solid #eee;
}

.nav {
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.texto_titulo_principal {
  font-family: tangerine_bold;
  font-size: 35px;
  text-align: left;
  float: left;
}

.desktop-nav a {
  margin-left:0.1rem;
  text-decoration:none;
  color:var(--text);
}

.desktop-nav a:hover {color:var(--accent)}

/* Botones de Navegación */
.btn_navegar {
  display: inline-block;
  padding: 10px 20px;
  background: #007BFF;
  background: #00ff00;
  color: #fff;
  color: #000;
  border-radius: 5px;
  transition: background 0.3s ease;

  /* texto */
  text-align: center;
  text-decoration: none;
  color: #000000;
  font-size: 14px;
  /* Bordes, sombras de la caja */
  border: 1px solid;
  box-shadow: 0 0 2px green;
  margin: 0;
  padding: 6px 15px;
  border-radius: 6px;
  background: #00ff00;
}

.hero {
  padding:0.5rem 0;
}

.hero-grid {
  display:grid;
  grid-template-columns:1fr 250px;
  gap:3rem;
  align-items:center;
}

.profile {
  width:220px;
  border-radius:50%;
  box-shadow:0 20px 40px rgba(0,0,0,.1);
}

.section {padding:1rem 0}
.light {background:var(--light)}

.grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:2rem;
}

.card {
  background:white;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 20px 40px rgba(0,0,0,.05);
  transition:.3s;
}

.card:hover {transform:translateY(-6px)}

.card img {
  width:100%;
  height:160px;
  object-fit:cover;
}

.card h4 {padding:1rem 1rem 0}
.card p {padding:0 1rem 1rem;font-size:.9rem}

ul li {margin:.6rem 0}

.social a {
  margin-right:1rem;
  color:var(--accent);
}

footer {
  background: #333;
  background: #000;
  color: #fff;
  text-align: center;

  padding:0.5rem;
  #opacity:.6;
}

.azul_blanco {
  color: #ffffff;
  background: #0000ff;
  text-align: center;
}

/* Sidebar */

.sidebar {
  position:fixed;
  left:-240px;
  top:0;
  width:220px;
  height:100%;
  background:white;
  box-shadow:5px 0 20px rgba(0,0,0,.1);
  padding:2rem;
  transition:.3s;
  z-index:20;
}

.sidebar a {
  display:block;
  margin:1rem 0;
  text-decoration:none;
  color:var(--text);
}

.sidebar.open {left:0}

.hamburger {
  position:fixed;
  left:15px;
  top:15px;
  font-size:28px;
  cursor:pointer;
  display:none;
  z-index:30;
}

/* Scroll animation */

.section,.card {
  opacity:0;
  transform:translateY(20px);
  transition:.6s;
}

.visible {
  opacity:1;
  transform:none;
}

.caja_contacto {
  color: #ffffff;
  background: #0000ff;
}

/* Responsive */

@media(max-width:800px){
  .desktop-nav {display:none}
  .hamburger {display:block}
  .hero-grid {grid-template-columns:1fr;text-align:center}
  .profile {margin:auto}
}
