@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600;700;900&display=swap');

:root{
    --bg-main:#f7f7f7;
    --bg-card:#ffffff;
    --orange:#ff5e00;
    --gold:#fbbf24;
    --text:#111;
    --muted:#333;

    --border:4px solid #111;
    --shadow:8px 8px 0 #111;
    --shadow-small:5px 5px 0 #111;
}


*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Space Grotesk',sans-serif;
}


body{
    background:var(--bg-main);
    color:var(--text);
    line-height:1.8;
    font-size:18px;
}


/* NAVBAR */

nav{
    background:#fff;
    border-bottom:var(--border);
    box-shadow:0 5px 0 #111;

    padding:20px 5%;

    display:flex;
    justify-content:space-between;
    align-items:center;

    position:sticky;
    top:0;
    z-index:100;
}


.logo{
    font-size:32px;
    font-weight:900;
    text-transform:uppercase;
}


nav a{
    color:#111;
    text-decoration:none;
    font-size:17px;
    font-weight:800;
    margin-left:25px;
}



/* LAYOUT */

.layout{

    max-width:1400px;
    margin:auto;

    display:grid;

    grid-template-columns:320px 1fr;

    gap:40px;

}



/* SIDEBAR */

.sidebar{

    background:var(--gold);

    border-right:var(--border);

    min-height:calc(100vh - 90px);

    padding:40px 30px;

}


.sidebar h3{

    font-size:26px;
    font-weight:900;

    margin-bottom:25px;

}


.sidebar a{

    display:block;

    color:#111;

    text-decoration:none;

    font-size:18px;

    font-weight:700;

    padding:12px 0;

}


.sidebar a:hover{

    color:var(--orange);

}



/* CONTENT */

.content{

    padding:60px 40px;

}



.hero h1{

    font-size:64px;

    font-weight:900;

    line-height:1.1;

}


.hero span{

    color:var(--orange);

}


.hero p{

    margin-top:20px;

    font-size:22px;

    color:var(--muted);

}




/* CARD */


.card{

    background:white;

    border:var(--border);

    box-shadow:var(--shadow);

    padding:45px;

    margin:45px 0;

}



.card h2{

    font-size:36px;

    font-weight:900;

    margin-bottom:20px;

}


.card h3{

    font-size:26px;

    margin-top:30px;

    font-weight:900;

}


.card p{

    font-size:19px;

    margin-bottom:25px;

    color:#222;

}


.card li{

    font-size:19px;

    margin-bottom:10px;

}



ul,ol{

    margin-left:35px;

}



/* STEP BOX */

.step{

    background:var(--gold);

    border:var(--border);

    box-shadow:var(--shadow-small);

    padding:25px;

    margin:25px 0;

    font-size:19px;

    font-weight:800;

}



/* CODE */

pre{

    background:#111;

    color:white;

    border:var(--border);

    padding:25px;

    overflow:auto;

    font-size:17px;

}



code{

    background:#111;

    color:white;

    padding:5px 8px;

}



/* BUTTON */

.btn{

    display:inline-block;

    background:var(--orange);

    color:white;

    border:var(--border);

    box-shadow:var(--shadow-small);

    padding:15px 25px;

    text-decoration:none;

    font-size:18px;

    font-weight:900;

}


.btn:hover{

    transform:translate(3px,3px);

    box-shadow:3px 3px 0 #111;

}



/* TABLE */

table{

    width:100%;

    border-collapse:collapse;

    margin:30px 0;

}


th{

    background:var(--orange);

    color:white;

}


th,td{

    border:3px solid #111;

    padding:15px;

    font-size:17px;

}



/* FOOTER */


footer{

    background:#111;

    color:white;

    text-align:center;

    padding:40px;

    font-size:18px;

}



/* MOBILE */

@media(max-width:850px){


    body{

        font-size:17px;

    }


    nav{

        flex-direction:column;

        gap:15px;

        padding:20px;

    }


    nav a{

        margin:0 8px;

        font-size:15px;

    }



    .layout{

        display:block;

    }



    .sidebar{

        min-height:auto;

        border-right:none;

        border-bottom:var(--border);

        padding:25px;

    }



    .sidebar h3{

        font-size:22px;

    }



    .sidebar a{

        font-size:16px;

    }



    .content{

        padding:25px 15px;

    }



    .hero h1{

        font-size:38px;

    }



    .hero p{

        font-size:18px;

    }



    .card{

        padding:25px;

        margin:30px 0;

        box-shadow:6px 6px 0 #111;

    }



    .card h2{

        font-size:28px;

    }



    .card h3{

        font-size:22px;

    }



    .card p,
    .card li{

        font-size:17px;

    }



    pre{

        font-size:14px;

        padding:15px;

    }


}
