.hero h1 {

    font-weight: 700;
    letter-spacing: -1px;
    font-size: clamp(48px, 10vw, 88px);
    line-height: 1.1;
    white-space: nowrap;

}

.nakama-m {

    color: #3CCB7F;
    display: inline-block;

    animation: nakamaBreath 6s ease-in-out infinite;

}

@keyframes nakamaBreath {

    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.10);
    }

    100% {
        transform: scale(1);
    }

}

.btn-primary {

    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 14px 28px;

    border: 1px solid #3CCB7F;
    border-radius: 40px;

    color: #F5F5F5;
    text-decoration: none;

    font-weight: 500;

    background: transparent;

    transition: all .3s ease;

}

.btn-primary:hover {

    background: rgba(60, 203, 127, 0.08);

    box-shadow: 0 0 20px rgba(60, 203, 127, 0.35);

    transform: translateY(-2px);

}

.arrow {

    transition: transform .3s ease;

}

.btn-primary:hover .arrow {

    transform: translateX(6px);

}

@media (max-width:768px) {

    .btn-primary {

        padding: 12px 22px;
        font-size: 16px;

    }

}