@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@100..900&display=swap');
*{
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}
:root{
    --main-color:hsl(300, 43%, 22%);
    --secondary-color:hsl(300, 24%, 96%);
    --text-color:hsl(303, 10%, 53%);

}
body{
    font-family: "League Spartan", serif;
    font-size: 15px;
    background-image:url(./images/bg-pattern-top-desktop.svg), url(./images/bg-pattern-bottom-desktop.svg);
    background-repeat: no-repeat;
    background-position: top left, 100% -150%;
}
@media(max-width:767px){
    body{
        background-image:url(./images/bg-pattern-top-mobile.svg), url(./images/bg-pattern-bottom-mobile.svg);
        background-position: top left, bottom right;
    }
}
.container {
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
}
@media (min-width: 768px) {
    .container {
        width: 750px;
    }
}
@media (min-width: 992px) {
    .container {
        width: 970px;
    }
}
@media (min-width: 1200px) {
    .container {
        width: 1100px;
    }
}
/* --------------------------------------------------------- */
.intro{
    padding: 80px 0;
}
.intro .container{
    display: flex;
    flex-wrap: wrap;
    gap: 100px;
}
@media (max-width:991px){
    .intro .container{
        grid-template-columns:auto ;
        gap: 50px;
    }
}
.intro .container > div:first-child{
    width:400px ;
}
@media (max-width:991px){
    .intro .container > div:first-child{
        width: 100%;
        text-align: center;
    }
}
.intro .container > div:first-child h1{
    width: 350px;
    color: var(--main-color);
    font-size: 45px;
    font-weight: 700;
    margin-bottom: 30px;
}
@media (max-width:991px){
    .intro .container > div:first-child h1{
        width: 100%;
        font-size: 30px;
    }
}
.intro .container > div:first-child p{
    color: var(--text-color);
    font-size: 17px;
    line-height: 1.3rem;
}
.intro .container > div:last-child {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.intro .container > div:last-child div {
    width: 350px;
    background-color: var(--secondary-color);
    padding: 20px;
    border-radius: 10px;
    font-weight: 700;
    color: var(--main-color);
}
@media (max-width:767px){
    .intro .container > div:last-child div{
        width: 100%;
    }
}
.intro .container > div:last-child div:nth-child(2){
    align-self: center;
}
.intro .container > div:last-child div:last-child{
    align-self: flex-end;
}
.reviews .container{
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(300px,1fr));
    gap: 25px;
}
.reviews .container > div{
    background-color: var(--main-color);
    padding: 20px;
    border-radius: 10px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    position: relative;
}
@media (min-width:1200px){
    .reviews .container > div:nth-child(2){
        top: 20px;
    }
    .reviews .container > div:last-child{
        top: 40px;
    }
}
.reviews .container > div img{
    width: 50px;
    height: 50px;
    border-radius: 50%;
}
.reviews .container > div div span{
    display: block;
    color: hsl(333, 80%, 67%);
}
.reviews .container > div div span:first-child{
    font-weight: 700;
    color: white;
    margin-bottom: 10px;
}
.reviews .container > div p{
    width: 100%;
    color:hsl(300, 24%, 96%) ;
    line-height: 1.2rem;
}