body{

    margin: 0px;

    padding: 0px;

font-family: "Google Sans Flex", sans-serif;

    overflow-x: hidden;

    font-weight: 400;

    background-color: #fff;

}



*{

    box-sizing: border-box;

}



/* Tiny scrollbar (Chrome/Edge/Safari + Firefox) */

html{

    scrollbar-width: thin;

    scrollbar-color: #9263FF #fff;

    scroll-behavior: smooth;

}



img{

    display: block;

    max-width: 100%;

}



ul{

    margin: 0;

    padding: 0;

    list-style: none;

}





.container{

    max-width: 1400px;

    margin: 0 auto;

    padding: 0;

}



.bg_color{

    background-color: #EAE5F4;

}







/* WebKit browsers */

::-webkit-scrollbar{

    width: 8px;

    height: 8px;

}

::-webkit-scrollbar-track{

    background: rgba(255, 255, 255, 0.06);

}

::-webkit-scrollbar-thumb{

    background: rgba(255, 242, 0, 0.45);

    border-radius: 10px;

    border: 2px solid rgba(0, 0, 0, 0.6);

}



p{

    font-size: 16px;

    color: #303030;

    line-height: 26px;

    margin: 0;

    margin-bottom: 15px;

}



p:last-child{

    margin-bottom: 0;

}



.main-title{

    font-size: 64px;

    line-height: 100%;

    color: #000000;

    font-weight: bold;

    margin: 0;

    margin-bottom: 20px;

}



.main-title > span{

    color: #AB6EFF;

}



.main-banner{

       width: 100%;

       height: calc(100vh - 55px);

       display: flex;

       flex-wrap: wrap;

       align-items: center;

       justify-content: center;

       position: relative;

}



.main-banner::after{

    content: '';

    position: absolute;

    left: 0;

    bottom: 0;

    width: 100%;

    height: 60%;

    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 3%, rgba(249, 246, 255, 1) 80%);

    z-index: 1;

}



.main-banner img{

     width: 100%;

     height: 100%;

     object-fit: cover;

     position: absolute;

     left: 0;

     top: 0;

}



.main-banner .container{

    position: relative;

    z-index: 2;

}





.main-banner-content h1{

       font-size: 96px;

       line-height: 1.05;

       font-weight: 500;

       margin: 0;

       margin-bottom: 10px;

}



.main-banner-title{

    display: inline-flex;

    flex-direction: column;

    align-items: center;

    gap: 6px;

}



.main-banner-title .main-title-line{

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    gap: 0.18em;

    overflow: hidden;

}



.main-banner-title .main-title-word{

    display: inline-block;

    opacity: 0;

    transform: translate3d(0, 26px, 0);

    filter: blur(6px);

    will-change: transform, opacity, filter;

    animation: banner-title-word-reveal 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;

    animation-delay: calc(var(--word-index) * 0.18s);

}



.main-banner-title .main-title-accent{

    color: #9263FF;

    font-weight: 800;

}



.main-banner-content{

      text-align: center;

      padding-top: 80px;

}



@media (prefers-reduced-motion: reduce){

    .main-banner-title .main-title-word{

        opacity: 1;

        filter: none;

        transform: none;

        animation: none;

    }

}



@keyframes banner-title-word-reveal{

    0%{

        opacity: 0;

        transform: translate3d(0, 26px, 0);

        filter: blur(6px);

    }

    60%{

        opacity: 1;

        transform: translate3d(0, -4px, 0);

        filter: blur(0);

    }

    100%{

        opacity: 1;

        transform: translate3d(0, 0, 0);

        filter: blur(0);

    }

}





.main-banner-content p{

       font-size: 18px;

       line-height: 30px;

       max-width: 740px;

       margin: 0 auto;

}



.header{

      position: fixed;

      left: 0;

      top: 30px;

      width: 100%;

      z-index: 99;

      transition: top 0.35s ease, transform 0.35s ease;

}



.header-inner{

       width: 100%;

       display: flex;

       flex-wrap: wrap;

       align-items: center;

       border-radius: 14px;

       background-color: #fff;

       padding: 15px 30px;

       box-shadow: 0 14px 34px rgba(17, 17, 17, 0.06);

       transition: all 0.35s ease;

}



.header.is-scrolled{

    top: 0;

    background: #fff;

    box-shadow: 0 14px 34px rgba(17, 17, 17, 0.06);

}



.header.is-scrolled .header-inner{

    padding: 10px 30px;

    box-shadow: none;

}



.header-nav{

      margin-left: auto;

}



.header-nav ul{

    list-style: none;

    display: flex;

    gap: 55px;

}



.header-nav .section-link{

    font-size: 16px;

    line-height: 24px;

    color: #000000;

    text-decoration: none;

    transition: all 0.3s ease;

}



/* .header-nav .section-link.is-active, */

.header-nav .section-link:hover{

    color: #9263FF;

}



.btn{

    width: 200px;

    height: 50px;

    line-height: 50px;

    background-color: #9263FF;

    border-radius: 14px;

    text-align: center;

    text-decoration: none;

    color: #fff;

    font-size: 16px;

    font-weight: 500;

    display: inline-block;

    transition: all 0.3s ease;

    margin-top: 30px;

}



.btn:hover{

    background-color: #6f31ff;

}



.banner-marquee{

     width: 100%;

     height: 55px;

     box-sizing: border-box;

     padding: 16px 0;

     overflow: hidden;

     background: linear-gradient(

        90deg,

        rgba(197, 121, 255, 1) 0%,

        rgba(146, 99, 255, 1) 100%

      );

}



.banner-marquee-viewport{

    width: 100%;

    overflow: hidden;

}



.banner-marquee-track{

    display: flex;

    flex-wrap: nowrap;

    align-items: center;

    width: max-content;

    margin: 0;

    padding: 0;

    list-style: none;

    animation: banner-marquee-scroll 28s linear infinite;

}



@media (prefers-reduced-motion: reduce){

    .banner-marquee-track{

        animation: none;

        flex-wrap: wrap;

        justify-content: center;

        width: auto;

        max-width: 100%;

        margin-inline: auto;

        row-gap: 8px;

    }

}



.banner-marquee-track:hover{

    animation-play-state: paused;

}



.banner-marquee-item{

    flex: 0 0 auto;

    padding: 0 25px;

    position: relative;

}



.banner-marquee-item::after{

    content: '';

    position: absolute;

    right: 0;

    bottom: 0;

    width: 1px;

    height: 100%;

    background-color: rgba(255, 255, 255, 0.8);

    border-radius: 10px;

}



.banner-marquee-text{

    font-size: 16px;

    line-height: 24px;

    color: #fff;

    white-space: nowrap;

}



@keyframes banner-marquee-scroll{

    0%{ transform: translateX(0); }

    100%{ transform: translateX(-50%); }

}



section{

       width: 100%;

       padding: 100px 0;

}



.about_section-inner{

       width: 100%;

       background-color: #F9F6FF;

       padding: 20px 25px;

       display: flex;

       flex-wrap: wrap;

       align-items: center;

}



.about_section_img{

    width: 50%;

}



.about_section_content{

      width: 50%;

      padding: 40px 70px;

}





.service_grid{

       margin-top: 40px;

}



.service_grid ul{

       display: grid;

       grid-template-columns: repeat(4, 1fr);

       gap: 20px;

}



.service_box{

       width: 100%;

       height: 100%;

       padding: 10px;

       background-color: #fff;

}



.service_box_img{

       width: 100%;

       height: 330px;

       border-radius: 13px;

       overflow: hidden;

}



.service_box_img img{

        width: 100%;

        height: 100%;

        object-fit: cover;

        transition: all 0.3s ease-in-out;

}



.service_box:hover .service_box_img img{

    transform: scale(1.1);

}



.service_box_content{

    width: 100%;

    padding: 20px 0 10px;

}



.service_box_content h3{

       margin: 0;

       margin-bottom: 10px;

       font-size: 20px;

       line-height: 26px;

       font-weight: 500;

       color: #303030;

}



.why_section{

    overflow: hidden;

}



.why_section_inner{

       margin-top: 40px;

width: 100%;

display: flex;

flex-wrap: wrap;

}



.why_section_item_img{

       width: 50%;

}



.why_section_item_img img{

       width: 100%;

       height: auto;

}



.why_section_item_content{

       width: 50%;

       padding-left: 60px;

}



.why_section_item_content h3{

      margin: 0;

      font-size: 30px;

      line-height: 100%;

      color: #000000;

      font-weight: 400;

      margin-bottom: 20px;

}



.why_section_item_content ul{

    margin-bottom: 25px;

    display: flex;

    flex-wrap: wrap;

    gap: 11px;

}



.why_section_item_content ul li{

      padding-left: 30px;

      position: relative;

      font-size: 16px;

      line-height: 26px;

      width: 100%;

}



.why_section_item_content ul li::before{

      content: '';

      position: absolute;

      left: 0;

      top: 2px;

      width: 18px;

      height: 18px;

      background-image: url('../images/list-icon.svg');

      background-size: contain;

      background-position: center;

      background-repeat: no-repeat;

      border-radius: 50%;

}



.who_section h4{

    font-size: 30px;

    line-height: 100%;

    margin-bottom: 20px;

    color: #000000;

    font-weight: 400;

}



.who_section_grid{

    margin-top: 40px;

}



.who_section_grid ul{

       display: grid;

       grid-template-columns: repeat(3, 1fr);

       gap: 20px;

}



.who_section_grid ul li{

       width: 100%;

}



.who_section_box{

    width: 100%;

    height: 100%;

    padding: 10px;

    background-color: #fff;

}



.who_section_box_img{

    width: 100%;

    height: 360px;

    border-radius: 13px;

    overflow: hidden;

}



.who_section_box_img img{

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: all 0.3s ease-in-out;

}



.who_section_box_img:hover img{

    transform: scale(1.1);

}



.who_section_box_content{

    width: 100%;

    padding: 20px 0;

}



.who_section_box_content h3{

     margin: 0;

     font-weight: 500;

     font-size: 30px;

     line-height: 100%;

     color: #303030;

     text-align: center;

}





.contact_section{

       width: 100%;

       padding: 100px 0;

}



.contact_section .main-title{

    margin-bottom: 40px;

}



.contact_form_main{

    width: 100%;

    background-color: #EAE5F4;

    padding: 20px;

    display: flex;

    flex-wrap: wrap;

    align-items: center;

}



.contact_form_img{

      width: 50%;

      border-radius: 35px;

      overflow: hidden;

}



.contact_form_img img{

       width: 100%;

       display: block;

}



.contact_form_content{

    width: 50%;

    padding: 20px 60px;

}



.contact_form_content form{

    width: 100%;

    display: flex;

    flex-wrap: wrap;

    gap: 20px;

}



.form-notice{

    width: 100%;

    padding: 14px 18px;

    border-radius: 12px;

    font-size: 14px;

    line-height: 22px;

    margin-bottom: 16px;

}



.form-notice-success{

    color: #155724;

    background-color: #E7F7EC;

    border: 1px solid #BEE6CA;

}



.form-notice-error{

    color: #8A1C2A;

    background-color: #FDECEF;

    border: 1px solid #F5C2C7;

}



.form_group{

       width: 100%;

}



.form_group label{

    width: 100%;

    display: block;

    margin-bottom: 5px;

    font-size: 14px;

    color: #303030;

    line-height: 20px;

}



.form-control{

    width: 100%;

    height: 50px;

    line-height: 50px;

    border-radius: 10px;

    background-color: #F9F6FF;

    font-size: 14px;

    color: #BEA1FF;

    padding: 0 20px;

    border: none;

}



.form-control.has-error{

    border: 1px solid #E67280;

}



.form-control:focus,

.form-control:focus-visible{

    outline: none;

    border: none;

    box-shadow: none;

}



.form-control.has-error:focus,

.form-control.has-error:focus-visible{

    border: 1px solid #E67280;

}



.form-control[type="number"]{

    appearance: textfield;

    -moz-appearance: textfield;

}



.form-control[type="number"]::-webkit-outer-spin-button,

.form-control[type="number"]::-webkit-inner-spin-button{

    -webkit-appearance: none;

    margin: 0;

}







.form_group input::placeholder{

    color: #BEA1FF;

}



.field-error{

    display: block;

    margin-top: 8px;

    font-size: 13px;

    line-height: 20px;

    color: #C73A4C;

}



.form_group input.submit-btn{

    outline: none;

    border: none;

    max-width: 160px;

    cursor: pointer;

}



.footer{

       width: 100%;

       padding: 70px 0;

       background: linear-gradient(

        90deg,

        rgba(146, 99, 255, 1) 0%,

        rgba(197, 121, 255, 1) 100%

      );

}



.footer-inner{

       width: 100%;

       display: flex;

       flex-wrap: wrap;

       justify-content: space-between;

}



.footer-inner h3{

    font-size: 20px;

    line-height: 26px;

    color: #fff;

    font-weight: 600;

    margin: 0;

    margin-bottom: 20px;

}



.footer-address{

       width: 30%;

}



.footer-address p{

    color: #fff;

}



.footer-map{

    width: 100%;

    margin-top: 20px;

}



.footer-map iframe{

    width: 100%;

}



.footer-links{

       width: 20%;

}



.footer-links ul{

    display: flex;

    flex-wrap: wrap;

    gap: 20px;

}



.footer-links ul li{

    width: 100%;

}



.footer-links .section-link{

       font-size: 16px;

       font-weight: 300;

       color: #fff;

       text-decoration: none;

       transition: all 0.3s ease;

}





.footer-links .section-link.is-active,

.footer-links .section-link:hover{

    color: #FFF2B4;

}



section[id]{

    scroll-margin-top: 30px;

}



.footer-contact{

    width: 24%;

}



.footer-contact p{

    color: #fff;

    margin: 0;

    margin-bottom: 10px;

}



.footer-contact p span{

    color: #fff;

}



.footer-contact p a{

    color: #fff;

    text-decoration: none;

    transition: all 0.3s ease;

}



.footer-contact p a:hover{

    color: #6f31ff;

}



.footer-contact p span{

    color: #fff;

    text-decoration: none;

}



.footer-social{

    margin-top: 30px;

}

.footer-social ul{

    display: flex;

    flex-wrap: wrap;

    gap: 30px;

    align-items: center;

}



.zest_section{

    width: 100%;

    background: linear-gradient(

        90deg,

        rgba(197, 121, 255, 1) 0%,

        rgba(146, 99, 255, 1) 100%

      );

      border-radius: 24px;

      margin-top: 70px;

      overflow: auto;

      transition: all 0.3s ease;

}



.zest_section img{

    max-width: 100%;

}



.zest_section:hover{

    background: linear-gradient(

        90deg,

        rgba(146, 99, 255, 1) 0%,

        rgba(197, 121, 255, 1) 100%

      );

}



.zest_section a{

    display: flex;

    width: 100%;

    display: flex;

    justify-content: center;

    align-items: center;

    height: 100%;

    padding: 20px;

}