* {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    html {
        scroll-behavior: smooth;
        font-size: 62.5%;
    }

    body {
        font-family: 'Nunito', sans-serif;
        line-height: 1.6;
        color: #333333;
        background-color: #ffffff;
        overflow-x: hidden;
    }

    .container {
        width: 90%;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 2rem;
    }

    .flex {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .grid {
        display: grid;
    }

    .text-center {
        text-align: center;
    }

    img {
        max-width: 100%;
        height: auto;
        display: block;
    }

    a {
        text-decoration: none;
        color: inherit;
    }

    ul {
        list-style: none;
    }

    .btn {
        display: inline-block;
        padding: 1.2rem 2.8rem;
        background-color: #29a396;
        color: #ffffff;
        border-radius: 50px;
        font-size: 1.6rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1px;
        transition: var(all 0.3s ease);
        border: none;
        cursor: pointer;
    }

    .btn:hover {
        background-color: #1a7a6d;
        transform: translateY(-3px);
        box-shadow: var(0 5px 15px rgba(0, 0, 0, 0.1));
    }

    .btn-outline {
        background-color: transparent;
        border: 2px solid #29a396;
        color: #29a396;
        margin-left: 1.5rem;
    }

    .btn-outline:hover {
        background-color: #29a396;
        color: #ffffff;
    }

    .btn-2 {
        font-size: 3.5rem;
        color: #29a396;
        transition: var(all 0.3s ease);
    }

    .btn-2:hover {
        color: #1a7a6d;
        transform: scale(1.1);
    }

    section {
        padding: 8rem 0;
    }

    h1, h2, h3, h4 {
        line-height: 1.2;
        font-weight: 700;
    }

    h1 {
        font-size: 5.5rem;
        margin-bottom: 2rem;
    }

    h2 {
        font-size: 4rem;
        margin-bottom: 3rem;
    }

    h3 {
        font-size: 2.5rem;
        margin-bottom: 1.5rem;
    }

    p {
        font-size: 1.6rem;
        margin-bottom: 2rem;
        color: #333333;
    }

    span {
        color: #29a396;
    }

    .mb {
        margin-bottom: 3rem;
    }

    .mt {
        margin-top: 2rem;
    }

    .preloader {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #071a1a;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 9999;
        transition: opacity 0.5s ease;
    }

    .preloader.fade-out {
        opacity: 0;
    }

    .loader {
        display: flex;
        gap: 1rem;
    }

    .loader-bar {
        width: 1rem;
        height: 5rem;
        background-color: #29a396;
        animation: loader 1s ease-in-out infinite;
    }

    .loader-bar:nth-child(1) {
        animation-delay: 0.1s;
    }

    .loader-bar:nth-child(2) {
        animation-delay: 0.2s;
    }

    .loader-bar:nth-child(3) {
        animation-delay: 0.3s;
    }

    .loader-bar:nth-child(4) {
        animation-delay: 0.4s;
    }

    @keyframes loader {
        0%, 100% {
            transform: scaleY(1);
        }
        50% {
            transform: scaleY(1.5);
        }
    }

    .back-to-top {
        position: fixed;
        bottom: 3rem;
        right: 3rem;
        width: 5rem;
        height: 5rem;
        background-color: #29a396;
        color: #ffffff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2rem;
        cursor: pointer;
        z-index: 99;
        opacity: 0;
        visibility: hidden;
        transition: var(all 0.3s ease);
        border: none;
    }

    .back-to-top.active {
        opacity: 1;
        visibility: visible;
    }

    .back-to-top:hover {
        background-color: #1a7a6d;
        transform: translateY(-5px);
    }

    .menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background-color: rgba(7, 26, 26, 0.9);
        padding: 1.5rem 0;
        z-index: 999;
        transition: var(all 0.3s ease);
        backdrop-filter: blur(10px);
    }

    .menu.scrolled {
        padding: 1rem 0;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    }

    .menu .container {
        justify-content: space-between;
    }

    .logo img {
        width: 8rem;
        transition: var(all 0.3s ease);
    }

    .menu.scrolled .logo img {
        width: 6rem;
    }

    .nav {
        display: flex;
        gap: 3rem;
    }

    .nav-item {
        position: relative;
    }

    .nav-item a {
        font-size: 1.6rem;
        font-weight: 600;
        color: #ffffff;
        transition: var(all 0.3s ease);
        padding: 1rem 0;
    }

    .nav-item a:hover {
        color: #29a396;
    }

    .nav-item a::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 0;
        height: 2px;
        background-color: #29a396;
        transition: var(all 0.3s ease);
    }

    .nav-item a:hover::after {
        width: 100%;
    }

    .btn-register {
        margin-left: 3rem;
    }

    .mobile-btn {
        display: none;
        cursor: pointer;
        z-index: 999;
    }

    .hamburger {
        width: 3rem;
        height: 2.5rem;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .bar {
        width: 100%;
        height: 3px;
        background-color: #ffffff;
        transition: var(all 0.3s ease);
    }

    .mobile-btn.active .bar:nth-child(1) {
        transform: translateY(10px) rotate(45deg);
    }

    .mobile-btn.active .bar:nth-child(2) {
        opacity: 0;
    }

    .mobile-btn.active .bar:nth-child(3) {
        transform: translateY(-10px) rotate(-45deg);
    }

    .header {
        min-height: 100vh;
        background: linear-gradient(rgba(7, 26, 26, 0.8), rgba(7, 26, 26, 0.8)), 
                    url('https://images.unsplash.com/photo-1571019613454-1cb2f99b2d8b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80');
        background-size: cover;
        background-position: center;
        background-attachment: fixed;
        color: #ffffff;
        padding-top: 15rem;
        padding-bottom: 10rem;
        position: relative;
    }

    .header .container {
        align-items: flex-start;
        gap: 5rem;
    }

    .header .text {
        flex: 1;
    }

    .header .visual {
        flex: 1;
        position: relative;
    }

    .header h1 span {
        display: inline-block;
    }

    .cta-buttons {
        display: flex;
        gap: 1.5rem;
    }

    .stats {
        display: flex;
        gap: 3rem;
        margin-top: 4rem;
    }

    .stat-item h3 {
        font-size: 3.5rem;
        color: #29a396;
        margin-bottom: 0.5rem;
    }

    .stat-item p {
        font-size: 1.4rem;
        color: #ffffff;
        opacity: 0.8;
        margin-bottom: 0;
    }

    .main-img {
        animation: float 3s ease-in-out infinite;
    }

    .floating {
        position: absolute;
        animation: float 3s ease-in-out infinite;
        animation-delay: calc(var(--i) * 0.5s);
        width: 5rem;
    }

    .db-1 {
        top: 10%;
        left: 0;
        --i: 1;
    }

    .db-2 {
        top: 50%;
        right: 10%;
        --i: 2;
    }

    .db-3 {
        bottom: 10%;
        left: 20%;
        --i: 3;
    }

    @keyframes float {
        0%, 100% {
            transform: translateY(0);
        }
        50% {
            transform: translateY(-20px);
        }
    }

    #why-us {
        background-color: #071a1a;
        color: #ffffff;
        position: relative;
        overflow: hidden;
    }

    #why-us::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url('https://images.unsplash.com/photo-1571019613454-1cb2f99b2d8b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80');
        background-size: cover;
        background-repeat: no-repeat;
        background-position: right;
        opacity: 0.1;
        z-index: 0;
    }

    #why-us .container {
        position: relative;
        z-index: 1;
        gap: 5rem;
    }

    #why-us .features {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 3rem;
        margin-top: 5rem;
    }

    .feature {
        background-color: rgba(255, 255, 255, 0.05);
        padding: 3rem;
        border-radius: 1rem;
        transition: var(all 0.3s ease);
        border: 1px solid rgba(255, 255, 255, 0.1);
    }

    .feature:hover {
        transform: translateY(-10px);
        background-color: rgba(255, 255, 255, 0.1);
        box-shadow: var(0 5px 15px rgba(0, 0, 0, 0.1));
    }

    .feature .icon {
        width: 6rem;
        height: 6rem;
        background-color: #29a396;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 2rem;
        font-size: 2.5rem;
        color: #ffffff;
    }

    .feature h3 {
        color: #ffffff;
        margin-bottom: 1.5rem;
    }

    .feature p {
        color: rgba(255, 255, 255, 0.7);
        font-size: 1.4rem;
    }

    #explore {
        background-color: #ffffff;
    }

    #explore .container {
        gap: 5rem;
    }

    #explore .visual {
        position: relative;
    }

    #explore .visual::after {
        content: '';
        position: absolute;
        top: -3rem;
        left: -3rem;
        width: 100%;
        height: 100%;
        border: 3px solid #29a396;
        border-radius: 1rem;
        z-index: -1;
    }

    .facilities {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
        margin-bottom: 3rem;
    }

    .facility {
        display: flex;
        align-items: center;
        gap: 1rem;
        font-size: 1.4rem;
        color: #333333;
    }

    .facility i {
        color: #29a396;
        font-size: 1.6rem;
    }

    #trainer {
        background-color: #f5f5f5;
        text-align: center;
    }

    #trainer h2 {
        position: relative;
        display: inline-block;
    }

    #trainer h2::after {
        content: '';
        position: absolute;
        bottom: -1rem;
        left: 50%;
        transform: translateX(-50%);
        width: 8rem;
        height: 3px;
        background-color: #29a396;
    }

    .trainers {
        gap: 3rem;
        margin-top: 5rem;
        flex-wrap: wrap;
    }

    .trainer {
        flex: 1;
        min-width: 30rem;
        background-color: #ffffff;
        padding: 3rem;
        border-radius: 1rem;
        box-shadow: var(0 5px 15px rgba(0, 0, 0, 0.1));
        transition: var(all 0.3s ease);
        position: relative;
        overflow: hidden;
    }

    .trainer:hover {
        transform: translateY(-10px);
    }

    .trainer-img {
        position: relative;
        margin-bottom: 2rem;
        border-radius: 1rem;
        overflow: hidden;
    }

    .trainer-img img {
        width: 100%;
        height: 30rem;
        object-fit: cover;
        transition: var(all 0.3s ease);
    }

    .trainer:hover .trainer-img img {
        transform: scale(1.05);
    }

    .social-links {
        position: absolute;
        bottom: -6rem;
        left: 0;
        width: 100%;
        background-color: rgba(41, 163, 150, 0.8);
        padding: 1.5rem;
        display: flex;
        justify-content: center;
        gap: 1.5rem;
        transition: var(all 0.3s ease);
    }

    .trainer:hover .social-links {
        bottom: 0;
    }

    .social-links a {
        width: 4rem;
        height: 4rem;
        background-color: #ffffff;
        color: #29a396;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.6rem;
        transition: var(all 0.3s ease);
    }

    .social-links a:hover {
        background-color: #071a1a;
        color: #ffffff;
    }

    .specialty {
        color: #29a396;
        font-weight: 600;
        margin-bottom: 1rem;
        font-size: 1.4rem;
    }

    .bio {
        font-size: 1.4rem;
        color: #666;
        margin-bottom: 2rem;
    }

    #testimonial {
        background-color: #071a1a;
        color: #ffffff;
    }

    #testimonial .container {
        gap: 5rem;
    }

    .testimonials {
        position: relative;
        max-width: 60rem;
    }

    .testimonial {
        display: none;
        animation: fade 0.5s ease;
    }

    .testimonial.active {
        display: block;
    }

    @keyframes fade {
        from {
            opacity: 0;
        }
        to {
            opacity: 1;
        }
    }

    .client {
        display: flex;
        align-items: center;
        margin-bottom: 2rem;
    }

    .client img {
        width: 7rem;
        height: 7rem;
        border-radius: 50%;
        object-fit: cover;
        margin-right: 2rem;
        border: 3px solid #29a396;
    }

    .client-info h3 {
        color: #ffffff;
        margin-bottom: 0.5rem;
    }

    .client-info p {
        color: #29a396;
        font-size: 1.4rem;
        margin-bottom: 0;
        font-weight: 600;
    }

    .stars {
        color: #29a396;
        margin-bottom: 2rem;
        font-size: 1.6rem;
    }

    .quote {
        font-style: italic;
        font-size: 1.6rem;
        line-height: 1.8;
        color: rgba(255, 255, 255, 0.8);
    }

    .testimonial-nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 3rem;
    }

    .testimonial-prev, .testimonial-next {
        background-color: transparent;
        border: none;
        color: #ffffff;
        font-size: 2rem;
        cursor: pointer;
        transition: var(all 0.3s ease);
        width: 4rem;
        height: 4rem;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .testimonial-prev:hover, .testimonial-next:hover {
        background-color: rgba(255, 255, 255, 0.1);
        color: #29a396;
    }

    .testimonial-dots {
        display: flex;
        gap: 1rem;
    }

    .dot {
        width: 1.2rem;
        height: 1.2rem;
        border-radius: 50%;
        background-color: rgba(255, 255, 255, 0.3);
        cursor: pointer;
        transition: var(all 0.3s ease);
    }

    .dot.active {
        background-color: #29a396;
        transform: scale(1.2);
    }

    #discount {
        background: linear-gradient(rgba(7, 26, 26, 0.9), rgba(7, 26, 26, 0.9)), 
                    url('https://images.unsplash.com/photo-1571902943202-507ec2618e8f?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1975&q=80');
        background-size: cover;
        background-position: center;
        background-attachment: fixed;
        color: #ffffff;
    }

    #discount .container {
        gap: 5rem;
    }

    .countdown {
        margin: 3rem 0;
    }

    .countdown h3 {
        font-size: 1.8rem;
        margin-bottom: 1.5rem;
        color: #ffffff;
    }

    .countdown-timer {
        display: flex;
        gap: 1.5rem;
    }

    .time-box {
        background-color: rgba(255, 255, 255, 0.1);
        padding: 1.5rem;
        border-radius: 0.5rem;
        min-width: 8rem;
        text-align: center;
    }

    .time-box span {
        font-size: 3rem;
        font-weight: 700;
        color: #ffffff;
        display: block;
        margin-bottom: 0.5rem;
    }

    .time-box p {
        font-size: 1.2rem;
        color: rgba(255, 255, 255, 0.7);
        margin-bottom: 0;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .registration-form {
        max-width: 50rem;
    }

    .form-group {
        margin-bottom: 2rem;
    }

    .form-group input, 
    .form-group select {
        width: 100%;
        padding: 1.5rem;
        border-radius: 0.5rem;
        border: none;
        background-color: rgba(255, 255, 255, 0.1);
        color: #ffffff;
        font-size: 1.6rem;
        transition: var(all 0.3s ease);
        border: 1px solid rgba(255, 255, 255, 0.2);
    }

    .form-group input:focus, 
    .form-group select:focus {
        outline: none;
        border-color: #29a396;
        background-color: rgba(255, 255, 255, 0.2);
    }

    .form-group select {
        appearance: none;
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3e%3cpath d='M7 10l5 5 5-5z'/%3e%3c/svg%3e");
        background-repeat: no-repeat;
        background-position: right 1.5rem center;
        background-size: 1.5rem;
    }

    .form-group input::placeholder {
        color: rgba(255, 255, 255, 0.6);
    }

    .footer {
        background-color: #071a1a;
        color: #ffffff;
        padding-top: 8rem;
        position: relative;
    }

    .footer::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: rgba(255, 255, 255, 0.1);
    }

    .footer-content {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
        gap: 5rem;
        margin-bottom: 5rem;
    }

    .footer-section {
        margin-bottom: 3rem;
    }

    .footer-section h3 {
        color: #ffffff;
        font-size: 2rem;
        margin-bottom: 2.5rem;
        position: relative;
    }

    .footer-section h3::after {
        content: '';
        position: absolute;
        bottom: -1rem;
        left: 0;
        width: 5rem;
        height: 2px;
        background-color: #29a396;
    }

    .footer-section.about p {
        color: rgba(255, 255, 255, 0.7);
        font-size: 1.4rem;
        margin-bottom: 2rem;
    }

    .contact span {
        display: block;
        margin-bottom: 1.5rem;
        font-size: 1.4rem;
        color: rgba(255, 255, 255, 0.7);
        display: flex;
        align-items: center;
        gap: 1rem;
    }

    .contact i {
        color: #29a396;
        font-size: 1.6rem;
    }

    .socials {
        display: flex;
        gap: 1.5rem;
        margin-top: 2rem;
    }

    .socials a {
        width: 4rem;
        height: 4rem;
        background-color: rgba(255, 255, 255, 0.1);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.6rem;
        color: #ffffff;
        transition: var(all 0.3s ease);
    }

    .socials a:hover {
        background-color: #29a396;
        transform: translateY(-5px);
    }

    .footer-section.links ul li {
        margin-bottom: 1.5rem;
    }

    .footer-section.links ul li a {
        color: rgba(255, 255, 255, 0.7);
        font-size: 1.4rem;
        transition: var(all 0.3s ease);
        display: block;
    }

    .footer-section.links ul li a:hover {
        color: #29a396;
        transform: translateX(10px);
    }

    .footer-section.hours ul li {
        color: rgba(255, 255, 255, 0.7);
        font-size: 1.4rem;
        margin-bottom: 1.5rem;
    }

    .newsletter {
        margin-top: 3rem;
    }

    .newsletter h3 {
        margin-bottom: 1.5rem;
    }

    .newsletter form {
        display: flex;
    }

    .newsletter input {
        flex: 1;
        padding: 1.2rem;
        border: none;
        background-color: rgba(255, 255, 255, 0.1);
        color: #ffffff;
        font-size: 1.4rem;
        border-radius: 0.5rem 0 0 0.5rem;
    }

    .newsletter button {
        background-color: #29a396;
        color: #ffffff;
        border: none;
        padding: 0 1.5rem;
        border-radius: 0 0.5rem 0.5rem 0;
        cursor: pointer;
        transition: var(all 0.3s ease);
    }

    .newsletter button:hover {
        background-color: #1a7a6d;
    }

    .footer-bottom {
        text-align: center;
        padding: 2rem 0;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }

    .footer-bottom p {
        font-size: 1.4rem;
        color: rgba(255, 255, 255, 0.5);
        margin-bottom: 0;
    }

    .footer-bottom i {
        color: #ff6b6b;
    }

    @media (max-width: 1200px) {
        html {
            font-size: 58%;
        }
    }

    @media (max-width: 992px) {
        html {
            font-size: 55%;
        }

        .header .container {
            flex-direction: column;
            text-align: center;
        }

        .cta-buttons {
            justify-content: center;
        }

        .stats {
            justify-content: center;
        }

        #why-us .container,
        #explore .container,
        #testimonial .container,
        #discount .container {
            flex-direction: column;
        }

        #why-us .visual,
        #explore .visual,
        #testimonial .visual,
        #discount .visual {
            order: -1;
            margin-bottom: 5rem;
        }

        .trainer {
            min-width: 100%;
        }
    }

    @media (max-width: 768px) {
        .mobile-btn {
            display: flex;
        }

        .nav {
            position: fixed;
            top: 0;
            left: -100%;
            width: 80%;
            max-width: 40rem;
            height: 100vh;
            background-color: #071a1a;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 2rem;
            transition: var(all 0.3s ease);
            z-index: 998;
        }

        .nav.active {
            left: 0;
        }

        .nav-item {
            margin: 1.5rem 0;
        }

        .btn-register {
            margin-left: 0;
            margin-top: 2rem;
        }

        h1 {
            font-size: 4.5rem;
        }

        h2 {
            font-size: 3.5rem;
        }

        #why-us .features {
            grid-template-columns: 1fr;
        }

        .facilities {
            grid-template-columns: 1fr;
        }
    }

    @media (max-width: 576px) {
        html {
            font-size: 50%;
        }

        .header {
            padding-top: 20rem;
        }

        .cta-buttons {
            flex-direction: column;
            gap: 1.5rem;
        }

        .btn-outline {
            margin-left: 0;
        }

        .stats {
            flex-direction: column;
            gap: 2rem;
        }

        .countdown-timer {
            flex-wrap: wrap;
            justify-content: center;
        }

        .time-box {
            min-width: 6rem;
            padding: 1rem;
        }
    }

    @keyframes pulse {
        0% {
            transform: scale(1);
        }
        50% {
            transform: scale(1.05);
        }
        100% {
            transform: scale(1);
        }
    }

    .pulse-animation {
        animation: pulse 2s infinite;
    }

    @keyframes shake {
        0%, 100% {
            transform: translateX(0);
        }
        10%, 30%, 50%, 70%, 90% {
            transform: translateX(-5px);
        }
        20%, 40%, 60%, 80% {
            transform: translateX(5px);
        }
    }

    .shake-animation:hover {
        animation: shake 0.5s;
    }

    .particles {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
        z-index: -1;
    }

    .particle {
        position: absolute;
        background-color: #29a396;
        border-radius: 50%;
        opacity: 0.3;
        animation: float-particle linear infinite;
    }

    @keyframes float-particle {
        0% {
            transform: translateY(0) rotate(0deg);
        }
        100% {
            transform: translateY(-100vh) rotate(360deg);
        }
    }

    .glow-effect {
        position: relative;
    }

    .glow-effect::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border-radius: inherit;
        box-shadow: 0 0 20px rgba(41, 163, 150, 0.5);
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .glow-effect:hover::after {
        opacity: 1;
    }

    .glitch-text {
        position: relative;
    }

    .glitch-text::before,
    .glitch-text::after {
        content: attr(data-text);
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0.8;
    }

    .glitch-text::before {
        color: #0ff;
        z-index: -1;
        animation: glitch-effect 3s infinite;
    }

    .glitch-text::after {
        color: #f0f;
        z-index: -2;
        animation: glitch-effect 2s infinite reverse;
    }

    @keyframes glitch-effect {
        0% {
            transform: translate(0);
        }
        20% {
            transform: translate(-3px, 3px);
        }
        40% {
            transform: translate(-3px, -3px);
        }
        60% {
            transform: translate(3px, 3px);
        }
        80% {
            transform: translate(3px, -3px);
        }
        100% {
            transform: translate(0);
        }
    }

    .hover-zoom {
        transition: transform 0.5s ease;
    }

    .hover-zoom:hover {
        transform: scale(1.05);
    }

    .gradient-border {
        position: relative;
        border-radius: 1rem;
    }

    .gradient-border::before {
        content: '';
        position: absolute;
        top: -2px;
        left: -2px;
        right: -2px;
        bottom: -2px;
        background: linear-gradient(45deg, #29a396, #ff6b6b, #29a396);
        z-index: -1;
        border-radius: 1rem;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .gradient-border:hover::before {
        opacity: 1;
    }

    .underline-animation {
        position: relative;
    }

    .underline-animation::after {
        content: '';
        position: absolute;
        bottom: -5px;
        left: 0;
        width: 0;
        height: 3px;
        background-color: #29a396;
        transition: width 0.3s ease;
    }

    .underline-animation:hover::after {
        width: 100%;
    }

    .flip-card {
        perspective: 1000px;
    }

    .flip-card-inner {
        position: relative;
        width: 100%;
        height: 100%;
        transition: transform 0.6s;
        transform-style: preserve-3d;
    }

    .flip-card:hover .flip-card-inner {
        transform: rotateY(180deg);
    }

    .flip-card-front, .flip-card-back {
        position: absolute;
        width: 100%;
        height: 100%;
        backface-visibility: hidden;
    }

    .flip-card-back {
        transform: rotateY(180deg);
    }