
    
   /* Системные стили */
   
   *{
        padding: 0;
        margin: 0;
        box-sizing: border-box;
        text-decoration: none;
        font-style: normal;
        font-family: "Open Sans", sans-serif;
    }

      html {
    scroll-behavior: smooth;
  }

    button{
        border: none;
    }

    :root {
        --primary: #fff;
        --secondary: #89d136;
    }

    body{
        /* background: var(--primary); */
        background: url(/img/bg.jpg);
        background-attachment: fixed;
    }

    section{
        padding: 80px 24px 0;
        @media(min-width: 768px){
            padding: 120px 40px 0;
        }
    }
    .xs{
        display: block!important;
        @media(min-width: 992px){
            display: none!important;
        }

    }

    .lg{
        display: none!important;
        @media(min-width: 992px){
            display: block!important;
        }

    }

    section .btn{
        margin: 0 auto;
    }

    .section-title{
        font-size: 28px;
        text-align: center;
        font-weight: 700;
        margin-bottom: 40px;
        @media(min-width: 992px){
            font-size: 40px;
            margin-bottom: 80px;
        }

    }

    .btn{
        width: fit-content;
        background: var(--secondary);
        padding: 20px 30px;
        font-size: 18px;
        display: block;
        border-radius: 10px;
        text-align: center;
        transition: all 0.5s;
        margin: 0 auto 24px;
        color: #fff;
        @media(min-width: 992px){
            font-size: 20px;
            width: fit-content;
            margin: 0;
        }
    }
    
    .btn:hover{
        box-shadow: 0 4px 40px 10px var(--secondary);
    }

    .pr-0{
        padding-right: 0!important;
    }
    /* -------------------------------------------------------------------------- */

    /* Header Блок */
    header{
        width: 100%;
        background: #fff;
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 80px;
        padding: 0 24px;
        position: sticky;
        border-bottom: 1px solid #b3d093;      
        z-index: 100;
        top: 0;
        @media(min-width: 768px){
            padding: 0 60px;
        }
    }
    header .call{
        color: var(--secondary);
        padding: 10px 20px;  
        border-radius: 10px;
        border:1px solid var(--secondary);
    }

    .name img{
        width: 130px;
    }

    .languages a{
        font-size: 18px;
        margin-right: 10px;
        text-transform: uppercase;
        color: grey;
    }
    /* -------------------------------------------------------------------------- */


    /* Блок Hero */
    .hero{
        width: 100%;
        padding: 120px 24px 120px;
        background-image: url(img/hero.jpg);
        background-size: cover;
        background-position: left bottom;
        @media(min-width: 992px){
            text-align: center;
            padding: 240px 0;
            background-attachment: fixed;
        }
    }

    .hero  h1{
        font-size: 28px;
        margin-bottom: 24px;
        line-height: 40px;
        font-weight: 800;
        @media(min-width: 992px){
            font-size: 52px;
            line-height: 70px;
            width: 900px;
            margin: 0 auto 24px;
        }
    }

    .hero .image{
        width: 100%;
        /* background: linear-gradient(360deg, var(--primary), transparent); */
        padding-top: 40px;
        opacity: 1;
        display: none;
        @media(min-width: 992px){
            opacity: 0;
            display: block;
            /* background: linear-gradient(-89deg, var(--primary), transparent); */
        }
    }

    .hero .image img{
        width: 100%;
        object-fit: cover;
        margin-bottom: -4px;
        @media(min-width: 992px){
            object-fit: contain;
            height: 700px;
        }
    }

    .hero p{
        line-height: 32px;
        font-size: 18px;
        margin-bottom: 24px;
        font-weight: 600;
        @media(min-width: 992px){
            font-size: 24px;
            width: 900px;
            margin: 0 auto 24px;
        }
    }
    .hero .btn{
        margin: 0 auto;
    }
    /* -------------------------------------------------------------------------- */


    /* Блок Обо мне */
    .about-wrapper{
        @media(min-width: 1200px){
            width: 1200px;
            margin: 0 auto 80px;
            display: grid;
            grid-template-columns: 1fr 1fr;
        }

    }

    .about-me .photo{
        width: 300px;
        height: 300px;
        border-radius: 100%;
        background: url(img/circle.png);
        background-size: cover;
        background-color: var(--secondary);
        margin: 0 auto 24px;
        box-shadow: 0px 0px 18px 1px rgba(194, 254, 200, 0.8);
    }

    .about-me .info{
        line-height: 32px;
        font-size: 18px;
        @media(min-width: 992px){
            font-size: 20px;
        }
    }

    .about-me .info p{
        margin-bottom: 20px;
    }

    .about-me ul{
        list-style: none;
    }
    .about-me li {
        color: var(--secondary);
        font-weight: 500;
        margin-bottom: 16px;
    }
    /* -------------------------------------------------------------------------- */


    /* Блок Таймлайн */
    .timeline {
        position: relative;
        max-width: 1200px;
        margin: 0 auto;
    }

    .timeline::before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        width: 1px;
        border-left: 1px dashed var(--secondary); 
        transform: translateX(-50%);
    }

    .timeline-item {
        position: relative;
        margin-bottom: 30px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .timeline-circle-wrapper {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        height: 32px; 
        margin-bottom: 30px;
    }

    .timeline-circle {
        width: 32px;
        height: 32px;
        background-color: var(--secondary);
        color: white;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        font-size: 16px;
        z-index: 1;
        position: relative;
    }

    .timeline-content {
        padding: 15px;
        border-radius: 8px;
        background: #fff;
        border: 1px solid rgb(226, 226, 226);       
        width: 100%;
        max-width: 500px;
    }

    .timeline-content img {
        width: 100%;
        height: auto;
        border-radius: 8px;
        margin-bottom: 10px;
    }

    .timeline-content h3 {
        color: #333;
        font-size: 18px;
        margin-bottom: 8px;
    }

    .timeline-content p {
        color: #666;
        font-size: 16px;
        line-height: 1.5;
    }

    @media (min-width: 992px) {
        .timeline-item {
            margin-bottom: 40px;
            display: flex;
            flex-direction: row;
            align-items: center; 
        }

        .timeline-item:nth-child(odd) .timeline-content {
            margin-right: auto;
            margin-left: 20px;
        }

        .timeline-item:nth-child(even) .timeline-content {
            margin-left: auto;
            margin-right: 20px;
            order: -1;
        }

        .timeline-content {
            width: 45%;
        }

        .timeline-circle-wrapper {
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            margin: 0; 
        }

        .timeline-circle {
            transform: translateY(50%);
        }
    }
    /* -------------------------------------------------------------------------- */


    /* Блок О продукте с Фото и карточками */
    .about-exc .wrapper{
        @media(min-width: 992px){
            display: grid;
            grid-template-columns: 1fr 1fr;
            grid-gap: 24px;
            width: 900px;
            margin: 0 auto 24px;
            align-items: center
        }

    }


    .about-exc .photo img{
        max-width: 100%;
        margin: 0 auto 24px;
        display: block;
        border-radius: 10px;
    }
    /* -------------------------------------------------------------------------- */


    /* Блок Картфочки с иконками */
    .cards-wrapper{
        margin-bottom: 80px;
        @media(min-width: 992px){
            display: grid;
            grid-template-columns: 1fr 1fr;
            grid-gap: 24px;
        }
        @media(min-width: 1200px){
            margin: 0 auto 40px;
            width: 1200px;
        }

    }

    .card{
        border-radius: 8px;
        padding: 15px;
        transition: all 0.5s ease;
        display: flex;
        align-items: center;
        font-size: 16px;
        line-height: 28px;
        margin-bottom: 24px;
        border: 1px solid rgb(226, 226, 226);      
        @media(min-width: 992px){
            margin-bottom: 0;
            padding: 24px;
        }
    }

    /* .card:nth-child(2),  .card:nth-child(5) {
        @media(min-width: 992px){
            transform: translateY(50px);

        }
    } */

    .card .image{
        height: 30px;
        @media(min-width: 992px){
            height: auto;
        }
    }

    .cards .card{
        margin-bottom: 24px;

    }

    .card img{
        width: 30px;
        margin-right: 20px;
        @media(min-width: 992px){
            width: 50px;
        }
    }

    /* -------------------------------------------------------------------------- */

    /* Блок с Шагами */

    .steps-wrapper{
        display: grid;
        row-gap: 24px;
        margin-bottom: 24px;
        @media(min-width: 992px){
            grid-template-columns: 1fr 1fr;
            grid-gap: 24px;
        }
        @media(min-width: 1200px){
            width: 1200px;
            margin: 0 auto 24px;
        }

    }

    .step{
        border-radius: 20px;
        padding: 20px;
    }

    .step-num{
        text-align: right;
        font-size: 24px;
        color: var(--secondary);
        margin-bottom: 16px;
    }

    .step-title{
        font-size: 28px;
        margin-bottom: 24px;
        color: var(--secondary)
    }

    .step-desc{
        font-size: 20px;
        line-height: 24px;
    }
    /* -------------------------------------------------------------------------- */


    /* Блок Продукты */


    .products{
        position: relative;
    }

    .products::before{
        width: 30px;
        height: 30px;
        background-image: url(img/swipe.svg);
        position: absolute;
        top: 150px;
        z-index: 100;
        right: 10px;
        content: '';
        background-size: cover;
        @media(min-width: 992px){
            display: none;
        }
    }


    .products-wrapper{
        display: grid;
        grid-template-columns: repeat(100, 3fr);
        overflow-x: auto;
        max-width: 100%;
        margin-bottom: 24px;
        position: relative;
        @media(min-width: 992px){
            grid-template-columns: 1fr 1fr 1fr 1fr;
            width: 1200px;
            margin: 0 auto 24px;
            grid-gap: 24px;
        }
    }
    .product{
        margin-right: 16px;
        padding: 20px;
        border-radius: 10px;
        border: 1px solid rgb(226, 226, 226);
        @media(min-width: 992px){
            width: 100%;
        }
    }

    .product img{
        display: block;
        margin: 0 auto;
    }

    .product .title{
        font-weight: 800;
        font-size: 20px;
        margin-bottom: 8px;
    }

    .product .desc{
        color: rgb(162, 162, 162);
        font-size: 15px;
    }


    .review .review-wrapper::-webkit-scrollbar {
        display: none;
    }
    /* -------------------------------------------------------------------------- */

    /* Блок Футер */
    footer{
        padding: 80px 0 0;
        @media(min-width: 992px){
            padding: 120px 0 0;
        }

    }

    .contact-container {
      margin: 0 auto;
      background: white;
      border-radius: 10px;
      display: flex;
      flex-wrap: wrap;
      gap: 40px;
      @media(min-width: 992px){
        width: 900px;
      }
      @media(min-width: 1200px){
        width: 1200px;
      }
    }
    .contact-info, .contact-form {
      flex: 1 1 400px;
    }

    .contact-form .btn{
        margin: 0;
    }

    h2 {
      margin-bottom: 20px;
    }
    form label {
      display: block;
      margin-bottom: 10px;
    }
    input, textarea {
      width: 100%;
      padding: 12px;
      border: 1px solid #ccc;
      border-radius: 5px;
      margin-top: 5px;
    }
    .success-message {
      color: green;
      margin-top: 15px;
    }

    .footer-wrapper{
        display: grid;
        row-gap: 24px;
        border-top: 1px solid #94b2d8;
        padding: 80px 24px;
        @media(min-width: 992px){
            display: flex;
            justify-content: space-between;
            padding: 40px 60px;        }
        @media(min-width: 1200px){
            width: 1200px;
            margin: 0 auto;
        }
    }

    footer h4{
        margin-bottom: 16px;
    }