
    
    *{
        padding: 0;
        margin: 0;
        box-sizing: border-box;
        text-decoration: none;
        font-style: normal;
        font-family: "Open Sans", sans-serif;
    }

    html {
        scroll-behavior: smooth;
      }

    :root {
        --primary: #fff;
        --secondary: #3D74B6;
    }

    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;
        }

    }

    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 #94b2d8;      
        z-index: 100;
        top: 0;
        opacity: 0.8;
        @media(min-width: 768px){
            padding: 0 60px;
        }
    }
    header .call{
        color: var(--secondary);
        padding: 10px 20px;  
        border-radius: 10px;
        border:1px solid var(--secondary);
    }

    header .name{
        font-weight: 500;
    }

    .hero{
        width: 100%;
        padding: 120px 24px;
        display: grid;
        align-items: center;
        background-image: url(img/vl.webp);
        background-size: cover;
        background-position: left bottom;
        @media(min-width: 992px){
            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;
            text-align: center;
        }
    }

    .hero p{
        line-height: 32px;
        font-size: 18px;
        margin-bottom: 24px;
        font-weight: 600;
        @media(min-width: 992px){
            font-size: 24px;
            text-align: center;
        }
    }

    .hero .left{
        
        @media(min-width: 992px){
            width: 700px;
            margin: 0 auto;
        }

    }

    .hero .btn{
        margin: 0 auto;
    }

    .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);
    }

    .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;
        }
    }

    .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 #94b2d8;        
        @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;
        }
    }

    .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;
    }


    .about-me{


    }

    .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/zalina.png);
        background-size: cover;
        background-color: var(--secondary);
        margin: 0 auto 24px;
        -webkit-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;
    }

    .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 #94b2d8; /* Пунктирная линия подтверждена */
        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: url(img/bg.jpg);
        border: 1px solid #94b2d8;        
        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;
    }

    .prices{

    }

    .prices-wrapper{
        @media(min-width: 992px){
            width: 900px;
            margin: 0 auto;
        }
        @media(min-width: 1200px){
            width: 1200px;
        }


    }

    .price-block{
        border: 1px solid #94b2d8;
        padding: 20px;
        border-radius: 8px;
        @media(min-width: 992px){
            padding: 32px;
        }

    }

    .price-block .line{
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 24px;
        border-bottom: 1px dashed #000;
        padding-bottom: 24px;
    }

    .price{
        font-size: 24px;
        font-weight: 600;
        color: green;
        @media(min-width: 992px){
            font-size: 32px;
        }

    }

    .persons{
        font-size: 18px;
        font-weight: 500;
    }

    .prices-wrapper{

    }

    .price-block .desc{
        margin-bottom: 16px;
        text-align: center;
    }


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

    }

    .vibe{

    }

    .vibe-wrapper{
        display: flex;
        overflow: auto;
        max-width: 100%;

    }

    .vibe-wrapper img{
        display: block;
        max-width: 100%;
        border-radius: 10px;
        width: 300px;
        margin-right: 16px;
    }

    .faq{

    }

    .faq-container {
        max-width: 800px;
        margin: 0 auto;
    }

    .faq-item {
        border-radius: 8px;
        border: 1px solid #94b2d8;        
        margin-bottom: 15px;
        overflow: hidden;
    }

    .faq-question {
        padding: 15px;
        font-size: 18px;
        font-weight: 700;
        color: #333;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
        transition: background-color 0.3s;
    }

    .faq-question:hover {
        background-color: #fff;
    }

    .faq-question::after {
        content: '+';
        font-size: 24px;
        color: var(--secondary);
        transition: transform 0.3s;
    }

    .faq-item.active .faq-question::after {
        content: '−';
        transform: rotate(180deg);
    }

    .faq-answer {
        max-height: 0;
        overflow: hidden;
        padding: 0 15px;
        font-size: 16px;
        line-height: 1.5;
        transition: max-height 0.3s ease-out, padding 0.3s ease-out, opacity 0.3s ease-out;
        opacity: 0;
    }

    .faq-item.active .faq-answer {
        max-height: 200px; /* Достаточно для большинства ответов, можно увеличить */
        padding: 15px;
        opacity: 1;
    }

    @media (max-width: 991px) {
        .faq-container {
        }

        .faq-item {
            margin-bottom: 10px;
        }

        .faq-question {
            font-size: 16px;
            padding: 12px;
        }
    }


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

    .banner{

    }

    .banner .wrapper{
        background: var(--secondary);
        color: var(--primary);
        padding: 24px 24px 0 24px;
        border-radius: 20px;
        margin-bottom: 24px;
        @media(min-width: 1200px){
            width: 1200px;
            margin: 0 auto 32px;
            padding: 0 0 0 60px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-radius: 30px;
        }
    }

    .banner h2{
        margin-bottom: 24px;
        font-weight: 600;
        line-height: 40px;
    }

    .banner .info{
        line-height: 32px;
        font-size: 18px;
        span{
            font-weight: 600;
        }
        @media(min-width: 992px){
            width: 600px;
            font-size: 24px;
        }
    }

    .banner .photo img{
        max-width: 100%;
        margin: 0 auto -4px;
        display: block;
        @media(min-width: 992px){
            margin-bottom: 0;
        }
    }

    .reviews-wrapper{
        display: grid;
        grid-template-columns: repeat(6, 3fr);
        overflow: auto;
        max-width: 100%;
        margin-bottom: 24px;
        @media(min-width: 992px){
            grid-template-columns: 1fr 1fr 1fr;
            width: 1200px;
            margin: 0 auto 24px;
            grid-gap: 24px;
        }
    }
    .review{
        width: 350px;
        margin-right: 16px;
        border: 1px solid #94b2d8;
        padding: 20px;
        border-radius: 10px;
        font-style: italic;
        @media(min-width: 992px){
            width: 100%;
        }
    }

    .review .top{
        display: flex;
        margin-bottom: 16px;
        align-items: center;
    }

    .review .fio{font-weight: 500;}

    .review .photo-area{
        width: 60px;
        height: 60px;
        border-radius: 100%;
        border: 1px solid var(--secondary);
        margin-right: 8px;
        background-image: url(img/boy.png);
        background-size: cover;
    }


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

    footer{
        padding: 80px 0 0;
        @media(min-width: 992px){
            padding: 120px 0 0;
        }

    }

    .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;
    }

