﻿body {
    font-family: 'Helvetica', sans-serif;
    margin: 0;
    padding: 0;
    background-color: white;
    color: black;
    /* Add safe area support */
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
}

.fade-in {
    opacity: 0;
    animation: fadeInUpAnimation 2s forwards;
}

@keyframes fadeInUpAnimation {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    background-color: white;
    backdrop-filter: blur(15px);
    position: relative;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 1000;
    /* Add safe area padding for nav */
    padding-top: env(safe-area-inset-top);
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);

}


/* Ensure container can host positioned pseudo-elements */
.carousel-image.img1 {
    position: relative; /* needed for ::before positioning */
    background-image: url('imgpro/1b.png'); /* behind image */
    background-size: cover; /* or 'contain' if you prefer */
    background-position: center;
    background-repeat: no-repeat;
    /* keep pointer-events on container if needed; pseudo-element will be pointer-events:none */
}

    /* Top layer (1b) that will fade to 20% and remain there */
    .carousel-image.img1::before {
        content: "";
        position: absolute;
        inset: 0; /* shorthand for top:0; right:0; bottom:0; left:0; */
        background-image: url('imgpro/1a.png'); /* front image */
        background-size: cover; /* same sizing as back so they align */
        background-position: center;
        background-repeat: no-repeat;
        opacity: 1; /* start fully opaque */
        pointer-events: none; /* allows clicks to pass through */
        z-index: 2; /* above the background image */
        animation: frontFade 4s ease-in-out 0s 1 forwards; /* run once, keep final state */
    }

/* Fade from 1 -> 0.2 and hold */
@keyframes frontFade {
    from {
        opacity: 1;
    }

    to {
        opacity: 0.3;
    }
    /* final 20% */
}

.img2 {
    background-image: url('imgpro/2.png');
}

.img3 {
    background-image: url('imgpro/3.png');
}

.img4 {
    background-image: url('imgpro/4.png');
}

.img5 {
    background-image: url('imgpro/5.png');
}

.img6 {
    background-image: url('imgpro/6.png');
}

.lb, .rb {
    flex: 1;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .lb a, .rb a, .logo a, .about a {
        text-decoration: none !important;
        color: black;
        font-size: 13px;
        font-weight: 700;
        transition: transform 0.3s ease;
    }

        .lb a:hover, .rb a:hover {
            color: black;
            transform: scale(1.1);
        }

.logo {
    content: url('logo.png');
    max-width: 120px;
    height: auto;
    display: block;
    margin: 0 auto;
    flex: 1;
    text-align: center;
    padding: min(1vh, 1.8vw) 0px;
    transition: transform 0.3s ease;
}

    .logo:hover {
        transform: scale(1.02);
    }

header {
    padding-top: calc(min(8vh, 14.4vw) + env(safe-area-inset-top));
    width: 100%;
    min-height: 60vh;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-content {
    display: flex;
    min-height: 60vh;
    align-items: center;
    justify-content: space-between;
    padding: 0 50px;
}

.carousel-text {
    flex: 1;
    padding-right: 20px;
    font-size: 16px;
}

.carousel-image {
    flex: 1;
    position: relative;
    width: 100%;
    height: 60vh;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

    .carousel-image::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: transparent;
        z-index: 2;
    }

.carousel-control-prev, .carousel-control-next {
    filter: invert(1);
}

.carousel-indicators li {
    background-color: white;
}

.about {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: white;
    min-height: calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    padding: 40px 20px;
    text-align: left;
}

.textcont, .textcont3 {
    text-align: center;
    margin: 20px 0;
    color: white;
}

.textcont {
    font-size: 36px;
    font-weight: bold;
    color: black;
}

.textcont2 {
    font-size: 30px;
    font-weight: bold;
    background-clip: text;
    -webkit-background-clip: text;
    color: black;
    display: inline-block;
}

    .textcont2.animate {
        color: transparent;
        animation: textcont2 4s linear forwards;
    }

@keyframes textcont2 {
    0% {
        color: white;
        background-size: 0% 100%;
    }

    100% {
        color: transparent;
        background-size: 100% 50%;
    }
}

.line-1 {
    background: linear-gradient(to right, #000000, rgb(44, 82, 219));
    background-clip: text;
    animation-delay: 0s;
}

.line-2 {
    background: linear-gradient(to right, #000000, #aa501c);
    background-clip: text;
    animation-delay: 0.8s;
}

.line-3 {
    background: linear-gradient(to right, #000000, #6b818b);
    background-clip: text;
    animation-delay: 1.6s;
}

.line-4 {
    background: linear-gradient(to right, #000000, #6b818b);
    background-clip: text;
    animation-delay: 2.4s;
}

.textcont3 {
    font-size: 20px;
}

.textcont4 {
    font-size: 25px;
    font-weight: 600;
    color: black;
}
.textcont5 {
    font-size: 30px;
    color: black;
    text-align: center;
    margin: 20px 0;
}

.contact {
    padding: 60px 20px;
    background-color: white;
    color: black;
    text-align: center;
    /* Extend to bottom safe area */
    padding-bottom: calc(60px + env(safe-area-inset-bottom));
}

    .contact .textcont {
        font-size: 36px;
        font-weight: bold;
        margin-bottom: 20px;
    }

    .contact .textcont3 p {
        margin: 10px 0;
    }

    .contact a {
        color: black;
        text-decoration: black;
    }

        .contact a:hover {
            color: black;
            text-decoration: black;
        }

@media (max-width: 768px) {
    .carousel-content {
        display: flex;
        flex-direction: column;
        padding: 0 min(4vw, 20px);
        align-items: center;
        justify-content: center;
        /* Use full safe area */
        padding-left: calc(min(4vw, 20px) + env(safe-area-inset-left));
        padding-right: calc(min(4vw, 20px) + env(safe-area-inset-right));
    }

    .carousel-text {
        width: 100%;
        text-align: center;
        padding: min(2vh, 4vw);
        margin: 0;
    }

    .carousel-image {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        margin: 0;
        padding: 0;
    }

    .textcont{
        font-size: min(2.8vh, 5.6vw);
    }

    .textcont3 {
        font-size: min(1.8vh, 3.6vw);
    }


    .carousel-inner {
        padding-bottom: 40px;
    }

    .carousel-indicators {
        bottom: 10px;
    }
}

#clients {
    width: 100%;
    background-color: white;
    /* Extend to edges */
    margin-left: calc(-1 * env(safe-area-inset-left));
    margin-right: calc(-1 * env(safe-area-inset-right));
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
}

    #clients::-webkit-scrollbar {
        display: none;
    }

.client-carousel {
    width: 100%;
    padding: min(2vh, 4vw) 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.carousel slide {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
}

.client-track {
    display: flex;
    width: fit-content;
    animation: scroll-left 30s linear infinite;
    gap: min(2vw, 20px);
    align-items: center;
    flex-wrap: nowrap;
    transition: animation-play-state 0.3s;
}

    #clients:hover .client-track,
    .client-track:hover {
        animation-play-state: paused;
    }

    .client-track img {
        height: min(8vh, 12vw);
        width: auto;
        object-fit: contain;
        user-select: none;
        pointer-events: auto;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

        .client-track img:hover {
            transform: scale(1.02);
        }

@media (max-width: 768px) {
    #clients {
        overflow-x: auto;
    }

    .client-track {
        max-height: calc(min(8vh, 12vw));
    }

        .client-track img {
            flex: 0 0 auto;
            margin-bottom: 0;
        }
}

@keyframes scroll-left {
    0% {
        transform: translateX(0);
    }

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


