@media (max-width: 767px) {
    :root {
        --header-height: 70px;
        --banner-height: 52px;
    }

    .demo-banner {
        font-size: 0.65rem;
        padding: 6px 12px;
    }

    body {
        padding-top: 0;
    }

    .container {
        width: 95%;
        max-width: 100%;
        padding: 0 15px;
    }

    .section-padding {
        padding: 50px 0;
    }

    /* Header & Navigation */
    header {
        padding: 15px 0;
        background: rgba(18, 18, 18, 0.98);
        backdrop-filter: blur(15px);
        height: 70px;
    }

    header.scrolled {
        height: 70px;
    }

    nav {
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
    }

    .logo-brand {
        font-size: 1.1rem;
        letter-spacing: 1px;
        flex: 1;
    }

    .logo-wrap {
        display: flex;
        align-items: center;
    }

    /* Hamburger Menu */
    .hamburger {
        display: flex;
        order: 2;
    }

    .hamburger span {
        width: 24px;
        height: 2.5px;
    }

    /* Navigation Links */
    .nav-links {
        position: absolute;
        top: 70px;
        left: 0;
        right: 0;
        width: 100%;
        flex-direction: column;
        background: rgba(18, 18, 18, 0.98);
        gap: 0;
        list-style: none;
        border-top: 1px solid rgba(139, 90, 43, 0.3);
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-out;
        backdrop-filter: blur(15px);
    }

    .nav-links.active {
        max-height: 400px;
        overflow-y: auto;
    }

    .nav-links li {
        border-bottom: 1px solid rgba(139, 90, 43, 0.2);
    }

    .nav-links a {
        display: block;
        padding: 15px 20px;
        font-size: 0.8rem;
        opacity: 1;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1.5px;
    }

    .nav-links a::after {
        display: none;
    }

    .nav-links a:hover {
        background: rgba(139, 90, 43, 0.15);
        color: var(--accent-wood);
    }

    /* Hero Section */
    #home {
        height: 100vh;
        margin-top: 0;
        padding: 40px 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .hero-content {
        max-width: 100%;
        padding: 20px;
    }

    .hero-content .slogan {
        font-size: 1.8rem;
        line-height: 1.2;
        margin-bottom: 30px;
    }

    .hero-btns {
        flex-direction: column;
        gap: 12px;
        width: 100%;
    }

    .btn {
        padding: 14px 20px;
        font-size: 0.75rem;
        width: 100%;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        letter-spacing: 1px;
    }

    .btn i {
        font-size: 1rem;
    }

    /* Meister Section */
    .meister-container {
        flex-direction: column;
    }

    .meister-image {
        width: 100%;
        height: 280px;
        margin-bottom: 30px;
    }

    .meister-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .meister-card {
        width: 100%;
        background: var(--primary-dark);
        padding: 30px 20px;
        margin-left: 0;
        z-index: 2;
        box-shadow: none;
        border-left: none;
        border-top: 4px solid var(--accent-wood);
    }

    .meister-card h2 {
        font-size: 1.6rem;
        margin-bottom: 20px;
    }

    .meister-card p {
        font-size: 0.9rem;
        margin-bottom: 20px;
        line-height: 1.6;
    }

    .meister-badge {
        font-size: 0.65rem;
        margin-bottom: 12px;
    }

    .meister-signature {
        font-size: 1.2rem;
        margin-top: 20px;
    }

    /* Services Grid */
    .grid-services {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .service-card {
        padding: 25px 20px;
        background: #1e1e1e;
        text-align: center;
    }

    .service-card:hover {
        transform: translateY(-5px);
    }

    .service-card i {
        font-size: 2rem;
        margin-bottom: 12px;
    }

    .service-card h3 {
        font-size: 0.95rem;
        margin-bottom: 10px;
    }

    .service-card p {
        font-size: 0.8rem;
        line-height: 1.5;
    }

    /* Location & Map */
    #location {
        padding: 40px 0;
    }

    .map-container {
        height: 250px;
        border: 2px solid var(--accent-wood);
    }

    .map-consent {
        padding: 35px 20px;
    }

    /* Kontakt Section */
    #kontakt {
        padding: 40px 0;
    }

    #kontakt h2 {
        font-size: 1.6rem;
        margin-bottom: 15px;
    }

    #kontakt p {
        font-size: 0.85rem;
        margin-bottom: 25px;
    }

    #kontakt > div > div {
        flex-direction: column;
        gap: 12px;
    }

    #kontakt .btn {
        width: 100%;
    }

    /* Footer */
    footer {
        padding: 40px 0 20px;
    }

    footer .container {
        text-align: center;
    }
}