/* Typography */
body, h1, h2, h3, h4, h5, h6, p, a, span, li {
    font-family: "termina", sans-serif;
}

html {
    scroll-behavior: smooth;
}

/* Navigation */
.nav-link {
    font-size: 14px;
    font-weight: 400;
}

.navbar-logo {
    height: 55px;
}

/* Contact Button */
.contact-btn {
    font-size: 12px;
    font-weight: 500;
    background: linear-gradient(90deg, rgba(33, 236, 255, 1) 0%, rgba(36, 42, 255, 1) 100%);
}

/* Gradient Text */
.g-text {
    background: linear-gradient(to right, #21ECFF 0%, #242AFF 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Gradient Button */
.button-wrapper {
    display: inline-block;
    padding: 3px;
    border-radius: 9999px;
    background: linear-gradient(90deg, #22d3ee, #0ea5e9, #3b82f6);
    transition: all 0.3s ease-in-out;
}

.gradient-button {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background-color: #0F172A;
    color: #f8fafc;
    border: none;
    border-radius: 9999px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
    transition: all 0.2s ease-in-out;
}

    .gradient-button:hover {
        color: #f8fafc;
    }


    .gradient-button .icon {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: linear-gradient(180deg, #0ea5e9, #60a5fa);
        transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    }

.gradient-button .icon svg {
    width: 18px;
    height: 18px;
    stroke: #ffffff;
    stroke-width: 2;
}

/* Button Hover Effects */
.button-wrapper:hover {
    box-shadow: 0 0 20px 2px rgba(66, 153, 225, 0.5);
}

.button-wrapper:hover .gradient-button {
    background-color: #1E293B;
}

.button-wrapper:hover .icon {
    transform: rotate(45deg) scale(1.1);
}

/* Footer Styles */
.footer {
    background-color: #000;
    color: #fff;
    padding: 40px 0;
}

.footer a {
    color: #aaa;
    text-decoration: none;
}

.footer a:hover {
    color: #fff;
}

.footer li {
    line-height: 26px;
}

.footer-tagline {
    font-size: 14px;
}

/* Typography Overrides */
p, h5 {
    font-family: 'Avenir Roman', sans-serif !important;
    font-size: 18px;
}

.large-ave {
    font-family: 'Avenir Roman', sans-serif !important;
    font-size: 26px;
}

h5 {
    line-height: 36px;
    letter-spacing: unset;
}

.font-heading {
    font-size: 38px;
    letter-spacing: 3px;
}