body{
    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
}
h1, h2, h3, h4, h5, h6{
    font-family: 'Aspekta', sans-serif;
}
.font-aspecta{
    font-family: 'Aspekta', sans-serif;
}
header {
    padding:32px;
}
.mobile-menu {
    display: none;
    width: 100%;
    margin-top: 16px;
    backdrop-filter: blur(15px);
    border-radius: 10px;
    padding: 17px;
    background-color: rgb(48 48 48 / 40%);
}
.mobile-menu.show {
    display: block;
}
#mobileMenu{
    animation: menuOpen .35s ease;
}
@keyframes menuOpen{

    from{
        opacity:0;
        transform:translateY(-10px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}
 @keyframes marquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}
.animate-marquee {
    animation: marquee 35s linear infinite;
}
.logos:hover .animate-marquee {
    animation-play-state: paused;
}
@theme {
    --animate-scroll: scroll 35s linear infinite;

    @keyframes scroll {
        from {
            transform: translateX(0);
        }

        to {
            transform: translateX(-50%);
        }
    }
}
@keyframes scrollReverse {
    from {
        transform: translateX(-50%);
    }

    to {
        transform: translateX(0);
    }
}
.animate-scroll-reverse {
    display: flex;
    width: max-content;
    animation: scrollReverse 35s linear infinite;
}

/* services horizontal slider */
.services-pin-section {
    position: relative;
    overflow: hidden;
}
.horizontal-track {
    display: flex;
    align-items: stretch;
    gap: 24px;
    width: max-content;
    padding: 0 40px 0 20px;
    will-change: transform;
}
.service-card {
    border-radius: 24px;
    background: #E8F3FC;
    overflow: hidden;
}
.horizontal-track .service-card {
    flex: 0 0 440px;
    width: 440px;
    height: 340px;
}
.servicesSwiper .service-card {
    width: 100%;
}
.horizontal-wrapper{
    display:flex;
    align-items:center;
    overflow:hidden;
}

/* service slider mobile  */
.servicesSwiper {
    padding: 0 20px 40px !important;
}
.servicesSwiper .swiper-pagination {
    position: relative;
    margin-top: 40px;
    height: 4px;
    background: #E5E7EB;
    border-radius: 999px;
    overflow: hidden;
}
.servicesSwiper .swiper-pagination-progressbar-fill {
    background: linear-gradient(135deg, #8D4A9A 0%, #5A2A75 100%) !important;
    box-shadow: 0 4px 12px rgba(141, 74, 154, 0.4);
}
.servicesSwiper .swiper-pagination {
    height: 6px;
}

/* Prevent GSAP FOUC (Flash of Unstyled/Unanimated Content) */
.hero-title,
.hero-text,
.hero-buttons a,
.hero-battery {
    visibility: hidden;
}


.marquee-single {
    display: flex;
    width: max-content;
    animation: marquee_single 20s linear infinite;
}
.reverse {
    animation-direction: reverse;
}
.marquee__group {
    display: flex;
    flex-shrink: 0;
    align-items: center;
}
.marquee__group h2 {
    font-weight: 900;
    color: #fff;
    white-space: nowrap;
    margin-right: 40px;
    line-height: 1.5;
    font-size: clamp(56px, 12vw, 130px);
}
@keyframes marquee_single {
    from {
        transform: translateX(0%);
    }

    to {
        transform: translateX(-50%);
    }
}


/* single blog  */
.blog-content-dynamic h2, .blog-content-dynamic h1{
    font-size: 32px;
    font-weight: 500;
    margin: 60px 0 25px;
}
.blog-content-dynamic p, .blog-content-dynamic ul li {
    font-size: 17px;
    color: rgb(11 20 16 / 80%);
    line-height: 1.5;
    margin-bottom: 15px;
}
.blog-content-dynamic ul{
    margin-bottom: 15px;
}
.blog-content-dynamic ul li:last-child, .terms ul li:last-child{
    margin-bottom: 0;
}
.blog-content-dynamic ul li, .terms ul li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 5px;
}
.blog-content-dynamic ul li::before, .terms ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 20px;
    height: 20px;
    background: url('../images/list-icon.svg') no-repeat center;
    background-size: contain;
}
.tips-content p {
    color: rgb(247 249 248 / 90%);
    margin-bottom: 0;
}
.single-tips-bg{
    background: url('../images/tips-bg.jpg') center center / cover no-repeat;
}

@media(max-width: 991px){
    .service-card {
        width: auto;
        height: 100%;
    }
}

@media(max-width:767px){
    header{
        padding:18px;
    }


    .blog-content-dynamic h2, .blog-content-dynamic h1 {
        font-size: 26px;
        margin-bottom: 10px;
    }
    .blog-content-dynamic p {
        font-size: 15px;
    }
}