*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Inter',sans-serif;
}

body{
background:white;
color:#111;
text-align:center;
}

/* HEADER */

header{
padding:25px;
}

.logo{
display:flex;
align-items:center;
justify-content:center;
gap:12px;
font-weight:600;
letter-spacing:2px;
}

/* HERO */

.hero{
height:60vh;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
}

.hero h1{
font-size:60px;
background:linear-gradient(90deg,#000,#444);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

.hero p{
margin-top:15px;
color:#777;
}

/* BOTONES */

.buttons{
margin-top:35px;
display:flex;
gap:20px;
flex-wrap:wrap;
justify-content:center;
}

.btn-dark{

background:black;
color:white;

padding:14px 32px;

border-radius:40px;

text-decoration:none;

box-shadow:0 15px 35px rgba(0,0,0,0.2);

transition:0.3s;

}

.btn-dark:hover{

transform:translateY(-5px);

}

.btn-light{

border:1px solid black;

padding:14px 32px;

border-radius:40px;

text-decoration:none;

color:black;

box-shadow:0 10px 25px rgba(0,0,0,0.1);

transition:0.3s;

}

.btn-light:hover{

transform:translateY(-5px);

}


/* HERO IMAGE */

.hero-image{
padding:80px 0;
}

.hero-image img{

width:85%;

max-width:1000px;

border-radius:25px;

box-shadow:0 30px 70px rgba(0,0,0,0.2);

}


/* SERVICES */

.services{

padding:120px 10%;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:40px;

}

.card{

background:white;

padding:45px;

border-radius:22px;

box-shadow:0 25px 60px rgba(0,0,0,0.08);

transition:0.3s;

}

.card:hover{

transform:translateY(-12px);

box-shadow:0 35px 80px rgba(0,0,0,0.15);

}

.icon{

font-size:28px;

margin-bottom:15px;

}


/* CONTACT */

.contact{

padding:160px 20px;

display:flex;
justify-content:center;

background:linear-gradient(180deg,#ffffff,#f6f7fb);

}

.contact-card{

background:white;

padding:70px;

border-radius:28px;

box-shadow:0 35px 90px rgba(0,0,0,0.1);

max-width:520px;

text-align:left;

transition:0.3s;

}

.contact-card:hover{

transform:translateY(-6px);

box-shadow:0 45px 110px rgba(0,0,0,0.15);

}

.contact-card h2{

text-align:center;

margin-bottom:40px;

font-size:28px;

}

.contact-row{

display:flex;

align-items:center;

gap:18px;

margin-bottom:25px;

}

.contact-icon{

font-size:22px;

background:#f5f6fa;

width:42px;

height:42px;

border-radius:12px;

display:flex;

align-items:center;

justify-content:center;

}

.contact-text{

color:#555;

line-height:1.6;

}

.contact-btn{

display:block;

text-align:center;

margin-top:35px;

padding:14px;

border-radius:40px;

background:#000;

color:white;

text-decoration:none;

box-shadow:0 12px 30px rgba(0,0,0,0.2);

transition:0.3s;

}

.contact-btn:hover{

transform:translateY(-4px);

}


/* FOOTER */

footer{

padding:40px;

color:#777;

}


/* MOBILE */

@media(max-width:768px){

.hero h1{
font-size:38px;
}

.services{
padding:80px 20px;
}

.hero-image img{
width:92%;
}

}