html {
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
}

.nav-link {
    position: relative;
}

.nav-link::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 1px;
    background: #111111;
    transition: width .3s ease;
}

.nav-link:hover::after,
.nav-link.active::after {
    width: 100%;
}

.lang-btn.active {
    color: #8C8275;
    border-bottom: 1px solid #8C8275;
    opacity: 1;
}

.project-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.project-image-wrap {
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #ddd6ce;
}

.project-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease, filter .6s ease;
    filter: grayscale(20%);
}

.project-card:hover .project-image-wrap img {
    transform: scale(1.04);
    filter: grayscale(0%);
}

.filter-btn.active {
    color: #8C8275;
    border-bottom: 1px solid #8C8275;
    opacity: 1;
}

.mobile-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s ease;
}

.mobile-menu.open {
    max-height: 420px;
}

.form-input,
.form-select,
.form-textarea {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(244, 240, 235, .22);
    color: #f4f0eb;
    padding: .9rem 0;
    outline: none;
}

.form-select option {
    background-color: #1C1C1C;
    color: #f4f0eb;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
    border-bottom-color: #f4f0eb;
}

.section-padding {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

@media (min-width: 768px) {
    .section-padding {
        padding-top: 8rem;
        padding-bottom: 8rem;
    }
}

/* Lightbox styles */
#lightboxModal {
    transition: opacity 0.3s ease;
}

#lightboxModal img {
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.85);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

