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

html{
scroll-behavior:smooth;
}

body{
font-family:'Poppins',sans-serif;
background:#f5f8fc;
color:#2f3e73;
}

header{
position:fixed;
top:0;
width:100%;
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 8%;
background:rgba(255,255,255,.9);
backdrop-filter:blur(10px);
box-shadow:0 4px 15px rgba(0,0,0,.08);
z-index:1000;
}

.logo img{
height:60px;
}

nav a{
text-decoration:none;
margin-left:25px;
font-weight:600;
color:#2f3e73;
transition:.3s;
}

nav a:hover{
color:#8c7ae6;
}

.hero{
height:100vh;
background:url("https://images.unsplash.com/photo-1517486808906-6ca8b3f04846?auto=format&fit=crop&w=1600&q=80") center/cover;
display:flex;
justify-content:center;
align-items:center;
}

.overlay{
background:rgba(20,35,70,.45);
width:100%;
height:100%;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
text-align:center;
padding:20px;
color:white;
}

.overlay h1{
font-size:3rem;
margin-bottom:20px;
font-family:'Georgia',serif;
}

.overlay p{
font-size:1.2rem;
max-width:700px;
}

.boton{
margin-top:30px;
background:#8c7ae6;
color:white;
padding:15px 35px;
border-radius:50px;
text-decoration:none;
font-weight:bold;
transition:.3s;
}

.boton:hover{
background:#6d5fd4;
transform:translateY(-3px);
}

.opciones{
padding:100px 8%;
display:flex;
gap:40px;
justify-content:center;
flex-wrap:wrap;
}

.card{
background:white;
padding:40px;
border-radius:20px;
width:340px;
text-align:center;
box-shadow:0 10px 25px rgba(0,0,0,.08);
transition:.3s;
}

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

.formulario,
.apoyo,
.seguimiento{
padding:80px 10%;
}

form{
display:flex;
flex-direction:column;
gap:18px;
}

input,
textarea{
padding:15px;
border-radius:12px;
border:1px solid #ddd;
font-size:16px;
}

textarea{
height:180px;
resize:none;
}

button{
background:#8c7ae6;
color:white;
padding:15px;
border:none;
border-radius:12px;
font-size:16px;
cursor:pointer;
transition:.3s;
}

button:hover{
background:#6d5fd4;
}

footer{
background:#2f3e73;
color:white;
text-align:center;
padding:50px 20px;
margin-top:60px;
}

footer img{
width:90px;
margin-bottom:15px;
}
/* ANIMACIONES */
.aparecer{
  animation: aparecer 1s ease both;
}

@keyframes aparecer{
  from{
    opacity:0;
    transform:translateY(40px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* EFECTO CRISTAL */
.card{
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(255,255,255,.5);
}

.card h2{
  margin-bottom:15px;
  font-size:30px;
}

.card p{
  margin-bottom:25px;
  line-height:1.7;
}

/* FORMULARIO */
.formulario{
  background:white;
  border-radius:30px;
  margin:50px;
  box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.formulario h2{
  text-align:center;
  margin-bottom:30px;
  font-size:40px;
}

input:focus,
textarea:focus{
  outline:none;
  border:2px solid #8c7ae6;
}

/* BOTONES */
button,
.boton{
  box-shadow:0 10px 20px rgba(140,122,230,.35);
  transition: all .25s ease;
}

button:hover,
.boton:hover{
  transform:translateY(-5px) scale(1.03);
}

/* TICKET */
#ticket{
  background:#eef3ff;
  padding:30px;
  border-radius:20px;
  margin-top:30px;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
}

#ticket h2{
  font-size:40px;
  color:#8c7ae6;
  margin:15px 0;
}

/* SEGUIMIENTO */
.seguimiento{
  text-align:center;
}

.seguimiento input{
  max-width:500px;
  margin:auto;
  display:block;
  margin-bottom:20px;
}

/* APOYO */
.apoyo{
  background:linear-gradient(135deg,#eef6ff,#f7f2ff);
  text-align:center;
}

.apoyo h2{
  font-size:45px;
  margin-bottom:20px;
}

.apoyo p{
  max-width:800px;
  margin:auto;
  line-height:1.8;
  font-size:18px;
}

/* FOOTER */
footer{
  background:linear-gradient(135deg,#2f3e73,#5a62b5);
  color:white;
  text-align:center;
  padding:30px;
}

/* RESPONSIVE */
body{
  font-size:16px;
}

@media(max-width:768px){

  header{
    flex-direction:column;
    padding:15px;
  }

  nav{
    margin-top:15px;
  }

  nav a{
    display:block;
    margin:10px 0;
  }

  .overlay h1{
    font-size:2rem;
  }

  .opciones{
    padding:50px 20px;
  }

  .card{
    width:100%;
  }

  .formulario{
    margin:20px;
  }
}
.logo {
  width: 90px;
  height: auto;
  display: block;
  margin: 10px auto;
}
.logo {
  width: 90px;
  height: auto;
  display: block;
  margin: 10px auto;
}