    :root {
        --primary-color: #2c3e50;
        --secondary-color: #3498db;
        --accent-color: #e74c3c;
        --light-color: #ecf0f1;
        --dark-color: #2c3e50;
    }

    * {
        box-sizing: border-box;
    }
    body {
        margin: 0;
        padding: 0;
        background-color: var(--light-color);
        color: var(--dark-color);
    }
    .btn-primary {
        background-color: var(--secondary-color);
        border-color: var(--secondary-color);
    }
    
    .btn-primary:hover {
        background-color: #2980b9;
        border-color: #2980b9;
    }
    
    .btn-outline-primary {
        color: var(--secondary-color);
        border-color: var(--secondary-color);
    }
    
    .btn-outline-primary:hover {
        background-color: var(--secondary-color);
        color: white;
    }
    
    
/* Navbar */
    .navbar {
        transition: all 0.3s ease;
        background-color: rgba(44, 62, 80, 0.9);
    }


    
    .navbar.scrolled {
        background-color: var(--primary-color);
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    }
    

    /* Hero */
    .hero-section {
        background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
        color: white;
        padding: 120px 0;
        position: relative;
        overflow: hidden;
    }
    
    .hero-section::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url('/img/bg-site.png') no-repeat center center/cover;
        opacity: 0.15;
    }

    .logo-hero {
        width: 400px;
        height: auto;
    }
    

    /* Section service */
    .service-card {
        transition: all 0.3s ease;
        border: none;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        margin-bottom: 20px;
    }
    
    .service-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
    }
    
    .service-icon {
        color: var(--secondary-color);
    }
    

/* Section team */
    .team-card {
        border: none;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        transition: all 0.3s ease;
    }
    
    .team-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
    }

    .team-description {
        display: -webkit-box;
        -webkit-line-clamp: 6;
        -webkit-box-orient: vertical;
        overflow: hidden;
        transition: all 0.3s ease;
      }
      
      .team-description.expanded {
        -webkit-line-clamp: unset;
      }

      .team-description {
        text-align: justify;
      }
    

    /* Section portfolio */
    .portfolio-item {
        position: relative;
        overflow: hidden;
        border-radius: 10px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        margin-bottom: 20px;
    }
    
    .portfolio-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(44, 62, 80, 0.9);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        opacity: 0;
        transition: all 0.3s ease;
        color: white;
    }
    
    .portfolio-item:hover .portfolio-overlay {
        opacity: 1;
    }


      /* Section contact */
    .contact-section {
        background-color: var(--light-color);
    }
    

    .footer {
        background-color: var(--primary-color);
        color: white;
    }
    
    .social-icon {
        color: white;
        font-size: 1.5rem;
        margin: 0 10px;
        transition: all 0.3s ease;
    }
    
    .social-icon:hover {
        color: var(--secondary-color);
        transform: translateY(-3px);
    }

    /* Modal */
    .flip-card {
        perspective: 1000px;
                border-radius: 20px;
      }
      
      .flip-card-inner {
        position: relative;
        width: 100%;
        padding-top: 62.5%;
        transform-style: preserve-3d;
        transition: transform 0.6s;
                border-radius: 20px;
      }
      
      .flip-card-inner.flipped {
        transform: rotateY(180deg);
      }


      .flip-card-front,
      .flip-card-back {
        position: absolute;
        top: 0; left: 0;
        width: 100%; height: 100%;
        backface-visibility: hidden;

      }
      
      .flip-card-back {
        transform: rotateY(180deg);
      }
      

    .floating {
        animation: floating 3s ease-in-out infinite;
    }
    
    @keyframes floating {
        0% { transform: translateY(0px); }
        50% { transform: translateY(-15px); }
        100% { transform: translateY(0px); }
    }
    
    .pulse {
        animation: pulse 2s infinite;
    }
    
    @keyframes pulse {
        0% { transform: scale(1); }
        50% { transform: scale(1.05); }
        100% { transform: scale(1); }
    }
    
    .section-title {
        position: relative;
        display: inline-block;
        margin-bottom: 50px;
    }
    
    .section-title::after {
        content: '';
        position: absolute;
        bottom: -15px;
        left: 50%;
        transform: translateX(-50%);
        width: 80px;
        height: 3px;
        background-color: var(--secondary-color);
    }
    

    
    .testimonial-card {
        border: none;
        border-radius: 10px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        padding: 30px;
        margin-bottom: 20px;
        position: relative;
    }
    
    .testimonial-card::before {
        content: '\201C';
        font-family: Georgia, serif;
        font-size: 4rem;
        color: rgba(52, 152, 219, 0.2);
        position: absolute;
        top: 10px;
        left: 10px;
    }
    
    .client-info {
        display: flex;
        align-items: center;
        margin-top: 20px;
    }
    
    .client-img {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        object-fit: cover;
        margin-right: 15px;
    }
    
    .timeline {
        position: relative;
        max-width: 1200px;
        margin: 0 auto;
        padding: 20px 0;
    }
    
    .timeline::after {
        content: '';
        position: absolute;
        width: 3px;
        background-color: var(--secondary-color);
        top: 0;
        bottom: 0;
        left: 50%;
        margin-left: -1.5px;
    }
    
    .timeline-item {
        padding: 10px 40px;
        position: relative;
        width: 50%;
        box-sizing: border-box;
    }
    
    .timeline-item::after {
        content: '';
        position: absolute;
        width: 20px;
        height: 20px;
        background-color: white;
        border: 3px solid var(--secondary-color);
        border-radius: 50%;
        top: 15px;
        z-index: 1;
    }
    
    .left {
        left: 0;
    }
    
    .right {
        left: 50%;
    }
    
    .left::after {
        right: -10px;
    }
    
    .right::after {
        left: -10px;
    }
    
    .timeline-content {
        padding: 20px;
        background-color: white;
        border-radius: 10px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    }


    
    @media screen and (max-width: 768px) {
        .timeline::after {
            left: 31px;
        }
        
        .timeline-item {
            width: 100%;
            padding-left: 70px;
            padding-right: 25px;
        }
        
        .timeline-item::after {
            left: 21px;
        }
        
        .right {
            left: 0;
        }
    }
    /* About */
    .about-img {
        width: auto;
        height: 400px;

    }
    .about-img-container {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 20px;
    }