@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600;700&display=swap');

body {
    font-family: 'Jost', sans-serif;
}

.banner-text {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    line-height: 1.4;
}

.header-link {
    position: relative;
    transition: color 0.3s;
}

.header-link::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    bottom: -4px;
    left: 0;
    background-color: black;
    transform: scaleX(0);
    transition: transform 0.3s;
}

.header-link:hover::after {
    transform: scaleX(1);
}

.torn-paper {
    position: relative;
    margin-top: -100px;
    height: 100px;
    background-color: #b4bf9f;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><path d="M0 0 C 20 8, 40 12, 50 8 C 60 4, 80 8, 100 0 L 100 100 L 0 100" fill="white"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><path d="M0 0 C 20 8, 40 12, 50 8 C 60 4, 80 8, 100 0 L 100 100 L 0 100" fill="white"/></svg>');
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-100px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(100px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.animate-slide-left {
    animation: slideInLeft 1s ease-out forwards;
}

.animate-slide-right {
    animation: slideInRight 1s ease-out forwards;
}

@keyframes float {
    0% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-10px);
    }
    100% {
        transform: translateY(0px);
    }
}

.group:hover svg {
    animation: float 2s ease-in-out infinite;
}

.banner-text {
    animation: fadeInUp 1.5s ease forwards;
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Text shadow for better readability */
.banner-text {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    line-height: 1.4;
}

/* Heartbeat Animation */
@keyframes heartbeat {
    0% {
        transform: scale(1);
    }
    25% {
        transform: scale(1.1);
    }
    50% {
        transform: scale(1);
    }
    75% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

.animate-heartbeat {
    display: inline-block;
    animation: heartbeat 1.5s infinite;
    transform-origin: center;
}


@keyframes slow-zoom {
    from {
        transform: scale(1.05);
    }
    to {
        transform: scale(1);
    }
}

.animate-slow-zoom {
    animation: slow-zoom 20s ease-out forwards;
}
