
h1, h2, h3, title{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: .3px;
}
p{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* ===== Base ===== */
body{
  margin:0;
  padding:0;
  width:100%;
  overflow-x:hidden;

  /* Fondo coherente (oscuro-neón) */
  background: radial-gradient(circle at 0% 0%, #241a44 0%, #171328 60%, #0f0b1d 100%);
  background-repeat:no-repeat;
  background-size:cover;
  background-attachment:fixed;

  color:#E4DDFF;
}

.responsive{
  width:100%;
  max-width:100%;
  height:auto;
  display:block;
  margin:0 auto;
}

/*------------------------------------------------------final de la imagen de cabecera------------------------------*/
@media (max-width: 999px){

  body{
    width:100%;
    background-attachment:fixed;
    color:#E4DDFF;
  }

  

  /* About sections */
  .about{
    background: radial-gradient(circle at 0% 0%, #241a44 0%, #171328 60%);
    font-size:1.2rem;
    color:#E4DDFF;
    width:90%;
    margin:10px auto;
    padding:40px 20px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,0.14);
    box-shadow:0 12px 28px rgba(0,0,0,0.6);
    text-align:center;
  }

  .about p{
    font-size:1.3rem;
    margin-bottom:20px;
    line-height:1.8;
    text-align:justify;
    color:#E4DDFF;
  }

  .feature-list{
    flex-direction:column;
    align-items:center;
    gap:20px;
  }

  .feature-item{
    flex:1 1 100%;
    width:100%;
    background: linear-gradient(145deg, #1b1430 0%, #251a45 100%);
    padding:12px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,0.10);
    box-shadow:0 10px 24px rgba(0,0,0,0.55);
    text-align:center;
    color:#E4DDFF;
  }

  .features h2{
    font-size:2rem;
    text-align:center;
    color:#E4DDFF;
    margin-bottom:40px;
    text-transform:uppercase;
    text-shadow:0 0 12px rgba(92,168,255,0.25);
  }

  .feature-item h3{
    font-size:1.3rem;
    color:#E4DDFF;
    margin-bottom:10px;
  }

  .feature-item p{
    font-size:1rem;
    line-height:1.6;
    color:#E4DDFF;
    opacity:0.9;
  }

  #imagen-background{
    background: radial-gradient(circle at 0% 0%, #241a44 0%, #171328 60%);
    margin:10px auto;
    padding:40px 20px;
    width:90%;
    text-align:center;
    border-radius:14px;
    border:1px solid rgba(255,255,255,0.14);
    box-shadow:0 12px 28px rgba(0,0,0,0.6);
  }

  #imagen-background p{
    font-size:1.2rem;
    margin-bottom:20px;
    line-height:1.8;
    text-align:center;
    color:#E4DDFF;
  }

  .imagenes img{
    max-width:100%;
    height:auto;
    object-fit:cover;
    border-radius:14px;
    border:1px solid rgba(255,255,255,0.14);
    box-shadow:0 10px 22px rgba(0,0,0,0.55);
  }

  /* Call-to-action section */
  .cta{
    background: linear-gradient(135deg, #955CAF 0%, #5CA8FF 100%);
    color:#fff;
    text-align:center;
    padding:60px 20px;
    box-shadow:0 14px 30px rgba(92,168,255,0.25);
  }

  .cta h2{
    font-size:2.5rem;
    margin-bottom:20px;
    color:#fff;
  }

  .cta p{
    font-size:1.2rem;
    margin-bottom:30px;
    color:#fff;
    opacity:0.95;
  }

  .cta .btn-secondary{
    background: rgba(10,7,28,0.65);
    color:#E4DDFF;
    padding:10px 20px;
    border-radius:999px;
    text-decoration:none;
    font-weight:800;
    font-size:1rem;
    border:1px solid rgba(255,255,255,0.14);
    transition: background 0.3s, box-shadow .2s, transform .2s, opacity .2s;
    box-shadow:0 10px 24px rgba(0,0,0,0.6);
  }

  .cta .btn-secondary:hover{
    background: rgba(92,168,255,0.18);
    box-shadow:0 14px 30px rgba(92,168,255,0.45);
    transform: translateY(-1px) scale(1.03);
    opacity: .98;
  }

  .containerForm{
    background: radial-gradient(circle at 0% 0%, #241a44 0%, #171328 60%);
    padding:20px;
    border-radius:14px;
    box-shadow:0 12px 28px rgba(0,0,0,0.6);
    border:1px solid rgba(255,255,255,0.14);
    width:70%;
    max-width:600px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    margin:0 auto 20px auto;
    overflow-x:hidden;
    color:#E4DDFF;
  }

  .containerForm h1, .containerForm h2, .containerForm h3{
    text-align:center;
    margin-bottom:20px;
    color:#E4DDFF;
  }

  .containerForm h1{ font-size:3rem; }
  .containerForm h2{ font-size:2.5rem; }
  .containerForm h3{ font-size:2rem; }

  .containerForm form{
    display:flex;
    flex-direction:column;
    width:100%;
  }

  .containerForm label{
    margin-top:10px;
    font-size:1.2rem;
    color:#E4DDFF;
  }

  .containerForm input[type="text"],
  .containerForm input[type="number"],
  .containerForm input[type="email"],
  .containerForm input[type="password"],
  .containerForm input[type="date"],
  .containerForm select{
    width:100%;
    padding:10px;
    margin-top:5px;
    border:1px solid rgba(92,168,255,0.45);
    border-radius:8px;
    font-size:14px;
    background-color:#0f0b1d;
    color:#E4DDFF;
    outline:none;
  }

  .containerForm textarea{
    width:100%;
    padding:10px;
    margin-top:5px;
    border:1px solid rgba(92,168,255,0.45);
    border-radius:8px;
    font-size:14px;
    background-color:#0f0b1d;
    color:#E4DDFF;
    outline:none;
  }

  .containerForm button{
    background: linear-gradient(135deg, #955CAF 0%, #5CA8FF 100%);
    color:white;
    border:none;
    padding:12px;
    font-size:16px;
    border-radius:999px;
    cursor:pointer;
    margin-top:20px;
    width:100%;
    box-shadow:0 10px 24px rgba(0,0,0,0.6);
    transition: transform .2s, box-shadow .2s, opacity .2s;
  }

  .containerForm button:hover{
    opacity:0.96;
    transform: translateY(-1px) scale(1.03);
    box-shadow:0 14px 30px rgba(92,168,255,0.55);
  }

  .containerForm p{
    font-size:1.5rem;
    color:#E4DDFF;
    margin:10px 0;
    text-align:center;
  }

  .containerForm i{
    color:#5CA8FF;
    cursor:pointer;
    margin-left:10px;
    position:relative;
    top:-25px;
    left:90%;
    transform:translateY(-20%);
  }
}

/*-----------------------------------------------------------------------------------pc screens--------------------------------------------------*/
@media (min-width: 1000px){

  .background-image{
    width:100%;
    height:auto;
    object-fit:cover;
  }

  .responsive-image{
    width:100%;
    height:auto;
  }

  .overlay-text{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    color:#E4DDFF;
    font-size:3rem;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-weight: 900;
    text-align:center;
    text-shadow: 0 0 18px rgba(92,168,255,0.55);

    white-space:nowrap;
    overflow:hidden;
    border-right: 16px solid rgba(92,168,255,0.85);
    width:0;
    animation: typing 4s steps(30, end) forwards, blink 0.5s step-end infinite;
  }

  @keyframes typing{ from{width:0;} to{width:100%;} }
  @keyframes blink{
    from,to{border-color:transparent;}
    50%{border-color:rgba(228,221,255,0.9);}
  }

  .container{
    width:70%;
    max-width:1200px;
    margin:0 auto;
    padding:20px;
  }

  .about{
    background: radial-gradient(circle at 0% 0%, #241a44 0%, #171328 60%);
    font-size:1.2rem;
    color:#E4DDFF;
    width:70%;
    margin:20px auto;
    padding:40px 20px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,0.14);
    box-shadow:0 12px 28px rgba(0,0,0,0.6);
    text-align:center;
  }

  .about p{
    font-size:1.2rem;
    margin-bottom:20px;
    line-height:1.8;
    text-align:justify;
    color:#E4DDFF;
  }

  #imagen-background{
    background: radial-gradient(circle at 0% 0%, #241a44 0%, #171328 60%);
    margin:20px auto;
    padding:40px 20px;
    width:70%;
    text-align:center;
    border-radius:14px;
    border:1px solid rgba(255,255,255,0.14);
    box-shadow:0 12px 28px rgba(0,0,0,0.6);
  }

  #imagen-background p{
    font-size:1.2rem;
    margin-bottom:20px;
    line-height:1.8;
    text-align:center;
    color:#E4DDFF;
  }

  .imagenes img{
    max-width:100%;
    height:auto;
    object-fit:cover;
    border-radius:14px;
    border:1px solid rgba(255,255,255,0.14);
    box-shadow:0 10px 22px rgba(0,0,0,0.55);
  }

  .features{
    background: radial-gradient(circle at 0% 0%, #241a44 0%, #171328 60%);
    margin:20px auto;
    padding:40px 20px;
    width:70%;
    text-align:center;
    border-radius:14px;
    border:1px solid rgba(255,255,255,0.14);
    box-shadow:0 12px 28px rgba(0,0,0,0.6);
  }

  .features h2{
    font-size:2.5rem;
    text-align:center;
    color:#E4DDFF;
    margin-bottom:40px;
    text-transform:uppercase;
    text-shadow:0 0 12px rgba(92,168,255,0.25);
  }

  .feature-list{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    justify-content:center;
  }

  .feature-item{
    background: linear-gradient(145deg, #1b1430 0%, #251a45 100%);
    padding:20px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,0.10);
    box-shadow:0 10px 24px rgba(0,0,0,0.55);
    text-align:center;
    flex:1 1 calc(33.333% - 40px);
    max-width:calc(33.333% - 40px);
    color:#E4DDFF;
  }

  .feature-item h3{
    font-size:1.5rem;
    color:#E4DDFF;
    margin-bottom:10px;
  }

  .feature-item p{
    font-size:1rem;
    line-height:1.6;
    color:#E4DDFF;
    opacity:0.9;
  }

  .cta{
    background: linear-gradient(135deg, #955CAF 0%, #5CA8FF 100%);
    color:#fff;
    text-align:center;
    padding:60px 20px;
    box-shadow:0 14px 30px rgba(92,168,255,0.25);
  }

  .cta h2{
    font-size:2.5rem;
    margin-bottom:20px;
  }

  .cta p{
    font-size:1.2rem;
    margin-bottom:30px;
    opacity:0.95;
  }

  .cta .btn-secondary{
    background: rgba(10,7,28,0.65);
    color:#E4DDFF;
    padding:10px 20px;
    border-radius:999px;
    text-decoration:none;
    font-weight:800;
    font-size:1rem;
    border:1px solid rgba(255,255,255,0.14);
    transition: background 0.3s, box-shadow .2s, transform .2s, opacity .2s;
    box-shadow:0 10px 24px rgba(0,0,0,0.6);
  }

  .cta .btn-secondary:hover{
    background: rgba(92,168,255,0.18);
    box-shadow:0 14px 30px rgba(92,168,255,0.45);
    transform: translateY(-1px) scale(1.03);
    opacity: .98;
  }

  .containerForm{
    background: radial-gradient(circle at 0% 0%, #241a44 0%, #171328 60%);
    padding:20px;
    border-radius:14px;
    box-shadow:0 12px 28px rgba(0,0,0,0.6);
    border:1px solid rgba(255,255,255,0.14);
    width:70%;
    max-width:600px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    margin:0 auto 20px auto;
    overflow-x:hidden;
    color:#E4DDFF;
  }

  .containerForm h1, .containerForm h2, .containerForm h3{
    text-align:center;
    margin-bottom:20px;
    color:#E4DDFF;
  }

  .containerForm label{
    margin-top:40px;
    font-size:1.5rem;
    color:#E4DDFF;
  }

  .containerForm input[type="text"],
  .containerForm input[type="number"],
  .containerForm input[type="email"],
  .containerForm input[type="password"],
  .containerForm input[type="date"],
  .containerForm select{
    width:90%;
    padding:10px;
    margin-top:5px;
    border:1px solid rgba(92,168,255,0.45);
    border-radius:8px;
    font-size:14px;
    background-color:#0f0b1d;
    color:#E4DDFF;
    outline:none;
  }

  .containerForm textarea{
    width:90%;
    padding:10px;
    margin-top:5px;
    border:1px solid rgba(92,168,255,0.45);
    border-radius:8px;
    font-size:14px;
    background-color:#0f0b1d;
    color:#E4DDFF;
    outline:none;
  }

  .containerForm button{
    background: linear-gradient(135deg, #955CAF 0%, #5CA8FF 100%);
    color:white;
    border:none;
    padding:12px;
    font-size:16px;
    border-radius:999px;
    cursor:pointer;
    margin-top:20px;
    width:80%;
    box-shadow:0 10px 24px rgba(0,0,0,0.6);
    transition: transform .2s, box-shadow .2s, opacity .2s;
  }

  .containerForm button:hover{
    opacity:0.96;
    transform: translateY(-1px) scale(1.03);
    box-shadow:0 14px 30px rgba(92,168,255,0.55);
  }

  .containerForm p{
    font-size:1.3rem;
    color:#E4DDFF;
    margin:10px 0;
  }

  .containerForm i{
    color:#5CA8FF;
    cursor:pointer;
    margin-left:10px;
    position:relative;
    top:-25px;
    left:90%;
    transform:translateY(-20%);
  }
}
