@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');

/* Unified typography, including UIkit headings and form controls. */
html,
body,
body *,
body *::before,
body *::after {
    font-family: 'Inter', sans-serif !important;
}

/* Flat surfaces in every state, including UIkit components and hover effects. */
*,
*::before,
*::after {
    box-shadow: none !important;
    text-shadow: none !important;
}

/* White page backgrounds. */
.page-white {
    --page-white: #ffffff;
    background-color: #ffffff;
}

/* Small decorative divider between main content sections. */
.section-separator {
    width: min(120px, 30vw);
    height: 1px;
    margin: 24px auto;
    background: rgba(106, 26, 28, 0.28);
    pointer-events: none;
}

@media (max-width: 640px) {
    .section-separator {
        width: 80px;
        margin: 18px auto;
    }
}

/* Shared navigation, based on the home page. */
nav.t-nav {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 3000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 28px 6% !important;
    background: transparent !important;
    backdrop-filter: none !important;
    border: none !important;
}

nav.t-nav .t-nav-logo {
    position: absolute;
    top: auto;
    left: 6%;
    display: block;
    margin: 54px 0 0;
    z-index: 1;
}

nav.t-nav .t-nav-logo img {
    display: block;
    height: 105px !important;
    width: auto;
    max-width: none;
}

nav.t-nav .t-nav-links {
    display: flex !important;
    align-items: center;
    gap: clamp(1rem, 3vw, 4.5rem);
    margin: 0;
}

nav.t-nav.nav-home .t-nav-links {
    display: none !important;
}

nav.t-nav .t-nav-links a {
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 4px;
    line-height: 1.5;
    text-transform: uppercase;
    text-decoration: none !important;
    color: #111 !important;
    opacity: 1;
}

nav.t-nav.nav-light .t-nav-links a {
    color: #fff !important;
}

nav.t-nav .mobile-nav-toggle {
    display: none !important;
}

.mobile-menu {
    display: flex !important;
}

@media (max-width: 1200px) {
    nav.t-nav {
        padding: 20px 5% !important;
    }

    nav.t-nav .t-nav-logo {
        left: 6%;
    }

    nav.t-nav .t-nav-logo img {
        height: 60px !important;
    }

    nav.t-nav .t-nav-links {
        display: none !important;
    }

    nav.t-nav .mobile-nav-toggle {
        display: flex !important;
        margin-left: auto !important;
    }
}
