/* --- Buttons --- */
.btn,
.btn-black,
.btn-outline-inverted {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1.8rem;
    height: auto;
    font-size: var(--text-size-sm);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    transition: var(--transition-smooth);
    border: none;
    font-family: inherit;
    background: none;
    color: inherit;
}

.btn-black {
    background-color: var(--color-bg-dark);
    color: var(--color-text-inverted);
}

.btn-black:hover {
    background-color: var(--color-bg-dark);
}

.btn-outline-inverted {
    color: var(--color-text-inverted);
    border: 1px solid var(--color-text-inverted);
}

.btn-outline-inverted:hover {
    background: var(--color-text-inverted);
    color: var(--color-bg-dark);
}

/* Nav Marquee Button - Simplified to Standard Button */
.nav-marquee-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1.8rem;
    height: auto;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    transition: var(--transition-smooth);
    font-family: inherit;
    border: 1px solid currentColor;
    background: transparent;
    color: var(--color-text-inverted);
    position: relative;
    overflow: hidden;
    white-space: nowrap;
}

.nav-marquee-btn:hover {
    background: currentColor;
    color: var(--color-bg-dark);
    cursor: pointer;
}

/* Fix for hover text color interaction when background fills */
.nav-marquee-btn span {
    color: inherit;
    pointer-events: none;
    /* Let the parent handle the cursor */
}

/* Nav scrolled/no-hero states */
.navbar.no-hero .nav-marquee-btn,
.navbar.scrolled .nav-marquee-btn {
    color: var(--color-text-main);
    border-color: var(--color-text-main);
}

.navbar.no-hero .nav-marquee-btn:hover,
.navbar.scrolled .nav-marquee-btn:hover {
    background: var(--color-text-main);
    color: var(--color-bg-light);
}

.project-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
    color: var(--color-text-main);
    text-transform: uppercase;
    font-size: var(--text-size-xs);
    letter-spacing: 0.1em;
    transition: color 0.3s;
}

.project-link:hover {
    color: var(--color-bg-dark);
}

/* Newsletter Button */
.newsletter-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.875rem 1.5rem;
    font-family: var(--font-primary);
    font-size: var(--text-size-xs);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background-color: var(--color-bg-dark);
    color: var(--color-text-inverted);
    border: none;
    cursor: pointer;
    transition: var(--transition-smooth);
    width: 100%;
}

.newsletter-btn:hover {
    background-color: var(--color-bg-dark);
}

/* Trika Styled Link (Underlined with hover effect) */
.trika-link {
    display: inline-block;
    text-decoration: none;
    margin-top: 2rem;
    font-size: var(--text-size-xs);
    line-height: 16px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding-bottom: 4px;
    color: var(--color-bg-dark);
    border-bottom: 1px solid var(--color-bg-dark);
    transition-property: color, border-color;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

.trika-link:hover {
    color: var(--primary);
    border-color: var(--primary);
}