/* Responsive Styles */
@media screen and (max-width: 768px) {
    .service-items {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        justify-content: center;
    }

    .service-col {
        flex: 0 1 100%;
        max-width: 100%;
    }

    .resume-items {
        padding: 15px;
    }

    .resume-item {
        margin-bottom: 20px;
    }

    .section.started {
        padding: 40px 20px;
    }

    .h-subtitle {
        font-size: 16px;
    }

    .typing-subtitle {
        font-size: 14px;
    }

    .menu-btn {
        display: block;
        position: fixed;
        top: 20px;
        right: 20px;
        z-index: 1000;
    }

    .top-menu {
        position: fixed;
        top: 0;
        right: -100%;
        width: 80%;
        height: 100vh;
        background: rgba(30, 30, 30, 0.95);
        transition: right 0.3s ease;
        z-index: 999;
    }

    .top-menu.active {
        right: 0;
    }

    .top-menu-nav {
        padding: 80px 20px 0;
    }

    .menu {
        display: block;
    }

    .menu li {
        margin: 15px 0;
    }

    .portfolio-items {
        padding: 15px;
    }

    .box-item {
        width: 100%;
        margin-bottom: 20px;
    }

    .contacts .service-items {
        margin: 0;
    }

    .contacts .service-item {
        margin-bottom: 20px;
    }

    .group-val input,
    .group-val textarea {
        padding: 12px;
        font-size: 14px;
    }
}

@media screen and (max-width: 480px) {
    .title_inner {
        font-size: 24px;
    }

    .resume-item .name {
        font-size: 16px;
    }

    .resume-item .role {
        font-size: 14px;
    }

    .resume-item .text ul li {
        font-size: 13px;
    }
}
