*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:"Segoe UI",sans-serif;
}

body{
    background:#0f0f0f;
    color:#fff;
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

/* FONDO */

body::before{
    content:"";
    position:fixed;
    inset:0;

    background:
    radial-gradient(circle at 20% 20%,
    rgba(255,120,0,.35),
    transparent 30%),

    radial-gradient(circle at 80% 70%,
    rgba(255,90,0,.25),
    transparent 35%);

    z-index:-1;
}

/* HEADER */

header{
    padding:25px 8%;
}

.logo{
    font-size:1.5rem;
    font-weight:700;
    color:#ff7a00;
}

/* HERO */

.hero{
    flex:1;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:40px 20px;
}

.content{
    max-width:1100px;
    text-align:center;
}

.tag{
    display:inline-block;
    padding:10px 18px;
    border:1px solid #ff7a00;
    color:#ff7a00;
    border-radius:40px;
    margin-bottom:25px;
}

h1{
    font-size:4rem;
    line-height:1.1;
    margin-bottom:20px;
}

h1 span{
    color:#ff7a00;
}

.description{
    color:#cfcfcf;
    font-size:1.1rem;
    max-width:700px;
    margin:auto;
    margin-bottom:45px;
}

/* TARJETAS */

.info-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:25px;
    margin-bottom:40px;
}

.card{
    background:#1a1a1a;
    border:1px solid rgba(255,122,0,.25);
    border-radius:20px;
    padding:30px;
    transition:0.3s;
}

.card:hover{
    transform:translateY(-8px);
    border-color:#ff7a00;
    box-shadow:0 0 30px rgba(255,122,0,.25);
}

.card h3{
    color:#ff7a00;
    margin-bottom:12px;
}

.card p{
    font-size:1.2rem;
    font-weight:600;
}

/* TECNOLOGIAS */

.techs{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:15px;
}

.techs span{
    background:#ff7a00;
    color:#111;
    font-weight:bold;
    padding:12px 20px;
    border-radius:30px;
}

/* FOOTER */

footer{
    text-align:center;
    padding:25px;
    color:#999;
    border-top:1px solid rgba(255,255,255,.08);
}

/* RESPONSIVE */

@media(max-width:768px){

    h1{
        font-size:2.7rem;
    }

    .description{
        font-size:1rem;
    }
}