html, body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
}

body {
    font-family: 'Inter', sans-serif;
    color: #1f2937;
}

.slider-container {
    display: flex;
    overflow-x: auto;
    gap: 16px;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding-top: 1rem;
    margin-top: -0.5rem;
    padding-bottom: 2rem;
}

.service-slide {
    flex: 0 0 85%;
    max-width: 85%;
    scroll-snap-align: start;
}

@media (min-width: 768px) {
    .slider-container {
        gap: 24px;
        padding-bottom: 2.5rem;
    }
    .service-slide {
        flex: 0 0 calc(50% - 12px);
        max-width: calc(50% - 12px);
    }
}

@media (min-width: 1024px) {
    .service-slide {
        flex: 0 0 calc(33.3333% - 16px);
        max-width: calc(33.3333% - 16px);
    }
}

.service-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid transparent;
    height: 100%;
}

.service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 25px -5px rgba(37, 99, 235, 0.15), 0 8px 10px -6px rgba(37, 99, 235, 0.1);
    border-color: rgba(37, 99, 235, 0.3);
    background-color: #ffffff;
    z-index: 10;
}

.btn-primary {
    transition: all 0.3s ease;
}

.btn-primary:hover {
    box-shadow: 0 4px 15px 0 rgba(37, 99, 235, 0.4);
    transform: translateY(-2px);
}

.form-input:focus, .form-textarea:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
    border-color: #2563eb;
}

select.form-input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234b5563'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1.25rem;
    padding-right: 2.5rem;
}

.hide-scrollbar::-webkit-scrollbar {
    display: none;
}

.hide-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

@media (max-width: 767px) {
    .skills-wrapper {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .skills-wrapper.open {
        grid-template-rows: 1fr;
    }
    .skills-inner {
        overflow: hidden;
        opacity: 0;
        transition: opacity 0.4s ease 0.1s, padding 0.4s ease;
    }
    .skills-wrapper.open .skills-inner {
        opacity: 1;
        padding-top: 0.75rem;
    }
}

.mobile-menu-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: absolute;
    width: 100%;
}

.mobile-menu-wrapper.open {
    grid-template-rows: 1fr;
}

.mobile-menu-inner {
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mobile-menu-wrapper.open .mobile-menu-inner {
    opacity: 1;
}