/* ====================================
   RESET
==================================== */

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

html{
scroll-behavior:smooth;
}

body{

font-family:'Poppins',sans-serif;

background:#050505;

color:#ffffff;

overflow-x:hidden;

line-height:1.6;
}

/* ====================================
   VARIABLES
==================================== */

:root{

--bg:#050505;

--card:#111111;

--card-hover:#171717;

--primary:#0066ff;

--secondary:#00c3ff;

--text:#ffffff;

--text-soft:#b8b8b8;

--border:rgba(255,255,255,.08);

--shadow:
0 20px 60px rgba(0,0,0,.35);

}

/* ====================================
   TITULOS
==================================== */

h1{

font-size:clamp(3rem,6vw,6rem);

font-weight:800;

line-height:1.1;

margin-bottom:20px;
}

h2{

font-size:clamp(2.5rem,5vw,4rem);

font-weight:700;

margin-bottom:30px;
}

h3{

font-size:1.4rem;

font-weight:600;
}

p{

color:var(--text-soft);

font-size:1.05rem;
}

/* ====================================
   LINKS
==================================== */

a{

text-decoration:none;

color:inherit;
}

/* ====================================
   NAVBAR
==================================== */

header{

position:fixed;

top:0;

left:0;

width:100%;

z-index:999;
}

nav{

display:flex;

justify-content:space-between;

align-items:center;

padding:25px 8%;

background:rgba(0,0,0,.5);

backdrop-filter:blur(20px);

border-bottom:1px solid rgba(255,255,255,.05);
}

.logo{

font-size:2rem;

font-weight:800;

letter-spacing:2px;
}

nav ul{

display:flex;

gap:35px;

list-style:none;
}

nav ul li a{

transition:.3s;
}

nav ul li a:hover{

color:var(--primary);
}

/* ====================================
   BOTONES
==================================== */

button,
.btn{

display:inline-flex;

align-items:center;

justify-content:center;

padding:15px 35px;

background:var(--primary);

border:none;

border-radius:50px;

font-weight:600;

color:white;

cursor:pointer;

transition:.3s;
}

button:hover,
.btn:hover{

transform:translateY(-3px);

box-shadow:
0 10px 25px rgba(0,102,255,.4);
}

/* ====================================
   HERO
==================================== */

#inicio{

position:relative;

height:100vh;

display:flex;

align-items:center;

justify-content:space-between;

padding:0 8%;

overflow:hidden;
}

#inicio::before{

content:"";

position:absolute;

width:700px;
height:700px;

background:var(--primary);

filter:blur(220px);

opacity:.25;

right:-150px;

top:50%;

transform:translateY(-50%);
}

#inicio > div:first-child{

max-width:650px;

z-index:2;
}

#inicio img{

width:100%;

max-width:800px;

z-index:2;

position:relative;
}

/* ====================================
   SECCIONES
==================================== */

section{

padding:120px 8%;
}

section h2{

text-align:center;
}

section > p{

max-width:900px;

margin:auto;

text-align:center;
}

/* ====================================
   TECNOLOGIAS
==================================== */

#tecnologias{

text-align:center;
}

#tecnologias > div{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(220px,1fr));

gap:25px;

margin-top:70px;
}

#tecnologias > div div{

background:var(--card);

padding:40px;

border-radius:25px;

border:1px solid var(--border);

font-size:1.2rem;

font-weight:600;

transition:.4s;
}

#tecnologias > div div:hover{

background:var(--card-hover);

transform:
translateY(-10px);

box-shadow:
0 15px 40px rgba(0,102,255,.15);
}

/* ====================================
   CLIENTES
==================================== */

#clientes{

text-align:center;
}

#clientes div{

display:flex;

justify-content:center;

align-items:center;

gap:70px;

flex-wrap:wrap;

margin-top:60px;
}

#clientes img{

height:50px;

opacity:.6;

transition:.3s;
}

#clientes img:hover{

opacity:1;
}

/* ====================================
   SERVICIOS
==================================== */

#servicios div{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));

gap:30px;

margin-top:60px;
}

#servicios article{

background:var(--card);

padding:40px;

border-radius:30px;

border:1px solid var(--border);

transition:.4s;
}

#servicios article:hover{

transform:
translateY(-10px);

box-shadow:
0 20px 50px rgba(0,102,255,.15);
}

#servicios h3{

margin-bottom:15px;
}

/* ====================================
   PORTAFOLIO
==================================== */

#portafolio div{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(320px,1fr));

gap:30px;

margin-top:60px;
}

#portafolio article{

background:var(--card);

border-radius:25px;

overflow:hidden;
}

#portafolio img{

width:100%;

display:block;
}

#portafolio h3{

padding:25px;
}

/* ====================================
   ESTADISTICAS
==================================== */

#estadisticas > div{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));

gap:30px;

margin-top:60px;
}

#estadisticas h3{

font-size:4rem;

color:var(--primary);
}

/* ====================================
   FAQ
==================================== */

details{

background:var(--card);

padding:25px;

border-radius:20px;

margin-bottom:20px;

border:1px solid var(--border);
}

summary{

cursor:pointer;

font-weight:600;
}

details p{

margin-top:15px;
}

/* ====================================
   FORMULARIO
==================================== */

form{

max-width:900px;

margin:auto;

display:flex;

flex-direction:column;

gap:20px;
}

input,
textarea{

padding:18px;

background:#101010;

border:1px solid var(--border);

border-radius:15px;

color:white;

font-size:1rem;
}

textarea{

min-height:180px;

resize:vertical;
}

/* ====================================
   FOOTER
==================================== */

footer{

padding:80px 8%;

border-top:1px solid rgba(255,255,255,.05);

display:flex;

justify-content:space-between;

align-items:center;

flex-wrap:wrap;

gap:30px;
}

/* ====================================
   RESPONSIVE
==================================== */

@media(max-width:992px){

nav ul{

display:none;
}

#inicio{

flex-direction:column;

justify-content:center;

text-align:center;

gap:50px;
}

#inicio img{

max-width:500px;
}

footer{

flex-direction:column;

text-align:center;
}

}