*{
    padding: 0;
    margin: 0;
}
:root{
    --color1: #0099DD;
    --color2: #3a3a3c;
    --color3: #202022;
    --color4: #F2F2F2;
    --espaciado: 35px;
    --tipografia_titulos: 'Montserrat', sans-serif;
    --tipografia_parrafos: 'Open Sans', sans-serif;
}
.grid{
    display: grid;
    grid-template-columns: 30% 70%;
    grid-template-rows: 100vh;
    grid-template-areas: 'header section';
}
.header{
    grid-area: header;
    background-color: var(--color3);
    display: flex;
    align-items: center;
    justify-content: center;
}
.section{
    grid-area: section;
    background-color: var(--color2);
    overflow-y: scroll;
}
.footer{
    grid-area: footer;
}
.header h1{
    color: var(--color1);
}
header div{
    height: 600px;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}
.nav ul{
    list-style: none;
}
.nav ul li a{
    display: block;
    font-size: 20px;
    color: var(--color1);
    padding: 10px 25px;
    border-radius: 50px;
    transition: 0.2s;
    margin: 0 5px;
    text-decoration: none;
}
.nav ul li a:hover{
    color: black;
    background: #fefefe;
}
.nav ul li a.activo{
    color: black;
    background: white;
}
.logo{
    width: 200px;      /* ancho fijo */
    height: 200px;     /* alto fijo */
    border-radius: 50%; /* hace la imagen circular */
    object-fit: cover;  /* recorta para que no se deforme */
}
.titulo{
    width: 75%;
    border-bottom: 1px solid #0099DD;
    margin: 40px 0px 40px;
    color: var(--color-titulos);
}
.titulo h1{
    font-size: 55px;
}
.contenido{
    height: 100vh;
    padding: 30px;
}
.contenido1{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.titulo1{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 40px 0px 15px;
}
.proyectos{
    display: flex;
    flex-flow: row wrap;
    gap: 30px;
}
.card {
    display: flex;
    flex-direction: column; /* Elementos en columna */
    align-items: center;    /* Centrar horizontalmente */
    justify-content: space-between;
    width: 250px;
    padding: 15px;
    border: 1px solid #202022;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    background: #3a3a3c;
}
.card-img {
    width: 100%;
    border-radius: 8px 8px 0 0;
}
.card-title {
    font-size: 18px;
    margin: 10px 0;
    text-align: center;
    color: #007BFF;
}
.card-btn {
    text-decoration: none;
    background: #007BFF;
    color: #fff;
    padding: 10px 15px;
    border-radius: 5px;
    transition: background 0.3s;
}

.form-contact form{
    width: 90%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.form-contact input{
    padding: 10px;
    background-color: #202022;
    border-style: none;
    border: 1px solid #202022;
    color: white;
}
.form-contact textarea{
    padding: 10px;
    height: 300px;
    background-color: #202022;
    border-style: none;
    border: 1px solid #3a3a3c;
    color: white;
}
#btn-contact{
    text-decoration: none;
    background: #007BFF;
    color: #fff;
    padding: 10px 15px;
    margin-top: 20px;
    border-radius: 5px;
    transition: background 0.3s;
    border-style: none;
}
#btn-contact:hover {
    background: #0056b3;
}

.grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 columnas iguales */
    gap: 20px; /* Espacio entre columnas y filas */

    display: flex;
    flex-direction: column;
    margin-top: 30px;
}
.grid-container a{
    color: var(--color1);
}
.item {
    display: flex; /* Alinea icono y texto en fila */
    align-items: center;
    gap: 10px;
}
.icono {
    width: 40px;
    height: 40px;
}
svg{
    color: black;
}
h1{
    color: var(--color1);
    font-family: var(--tipografia_titulos);
}
h2{
    color: var(--color1);
    font-family: var(--tipografia_titulos);
}
h4{
    color: var(--color1);
    font-family: var(--tipografia_titulos);
}
p{
    color: var(--color4);
    line-height: var(--espaciado);
    font-family: var(--tipografia_parrafos);
}
table{
    margin-top: 30px;
}
td{
    color: var(--color4);
    line-height: var(--espaciado);
    padding: 10px;
    border: 1px solid var(--color3);
    font-family: var(--tipografia_parrafos);
}
th{
    width: calc(100% /3);
    background-color: var(--color3);
    color: var(--color1);
    padding: 10px;
    font-family: var(--tipografia_titulos);
}
a{
    font-family: var(--tipografia_parrafos);
}
label{
    color: var(--color1);
    font-family: var(--tipografia_titulos);
}
.galeria{
    display: flex;
    flex-direction: row wrap;
    gap: 20px;
    margin: 30px 0px 30px;
}
.galeria img{
    width: 500px;
}
.parrafo{
    margin-bottom: 30px;
}
.parrafo h4{
    color: var(--color4);
    line-height: var(--espaciado);
}







.hamburger {
  position: fixed; /* siempre visible encima */
  top: 20px;       /* margen desde arriba */
  left: 20px;      /* margen desde la izquierda */
  width: 30px;
  height: 25px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  z-index: 1000;   /* se asegura que esté por encima de todo */
  display: none;
}

.hamburger .line {
  height: 4px;
  background: var(--color1); /* color que combine con tu tema */
  border-radius: 2px;
}
.cv{
    border-style: none;
    background-color: var(--color2);
    padding: 20px;
    color: var(--color1);
    border: 2px solid var(--color1);
    margin: 20px;
    cursor: pointer;
}