@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap");

        :root {
            /* Színséma: Bézs, szürke, grafit */
            --bg-color: #f5f3f0;
            --text-color: #4a4a4a;
            --text-hover: #2c2c2c;
            --bg2-color: #6b6b6b;
            --ker1: #8a8a8a;
            --ker2: #e8e4df;
            
            --header-height: 3.5rem;
            --first-color: #8b7355;
            --second-color: #a67c52;
            --first-gradient: linear-gradient(90deg, #8b7355, #a67c52);
            --title-color: #2c2c2c;
            --text-color: #4a4a4a;
            --text-color-light: #7a7a7a;
            --body-color: #fefcf9;
            --container-color: #fefcf9;
            --white-color: #ffffff;
            --black-color: #2c2c2c;
            --gray-border: #d4d0ca;
            --black-border: #4a4a4a;
            
            --body-font: "Montserrat", sans-serif;
            --big-font-size: 2.25rem;
            --h1-font-size: 1.5rem;
            --h2-font-size: 1.25rem;
            --h3-font-size: 1rem;
            --normal-font-size: .938rem;
            --small-font-size: .813rem;
            --font-regular: 400;
            --font-medium: 500;
            --font-semi-bold: 600;
            --font-bold: 700;
            --z-tooltip: 10;
            --z-fixed: 100;
        }

        @media screen and (min-width: 1150px) {
            :root {
                --big-font-size: 3.5rem;
                --h1-font-size: 2.25rem;
                --h2-font-size: 1.5rem;
                --h3-font-size: 1.25rem;
                --normal-font-size: 1rem;
                --small-font-size: .875rem;
            }
        }

        * {
            box-sizing: border-box;
            padding: 0;
            margin: 0;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: var(--body-font);
            font-size: var(--normal-font-size);
            background-color: var(--body-color);
            color: var(--text-color);
            line-height: 1.6;
        }

        h1, h2, h3, h4 {
            color: var(--title-color);
            font-weight: var(--font-semi-bold);
            line-height: 1.2;
        }

        ul {
            list-style: none;
        }

        a {
            text-decoration: none;
        }

        img {
            display: block;
            max-width: 100%;
            height: auto;
        }

        .container {
            max-width: 1120px;
            margin-inline: 1.5rem;
        }

        .grid {
            display: grid;
            gap: 1.5rem;
        }

        .section {
            padding-block: 4rem 2rem;
        }

        .main {
            overflow: hidden;
        }

        /* HEADER */
        .header {
            position: fixed;
            width: 100%;
            top: 0;
            left: 0;
            background-color: var(--container-color);
            z-index: var(--z-fixed);
            box-shadow: 0 4px 16px hsla(0, 0%, 0%, .1);
        }

        .nav {
            position: relative;
            height: var(--header-height);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .nav__logo span {
            color: var(--text-color);
            font-weight: var(--font-semi-bold);
            font-size: 1.1rem;
        }

        .nav__toggle,
        .nav__close {
            font-size: 1.5rem;
            color: var(--text-color);
            cursor: pointer;
        }

        @media screen and (max-width: 1150px) {
            .nav__menu {
                position: fixed;
                top: 0;
                right: -100%;
                background-color: var(--container-color);
                width: 85%;
                max-width: 400px;
                height: 100%;
                padding: 6rem 2.5rem 0;
                border-left: 2px solid var(--gray-border);
                transition: right .4s;
                box-shadow: -4px 0 16px hsla(0, 0%, 0%, .1);
            }
        }

        .nav__list {
            display: flex;
            flex-direction: column;
            row-gap: 3rem;
        }

        .nav__link {
            color: var(--text-color);
            font-weight: var(--font-semi-bold);
            transition: color .4s;
            font-size: 1.1rem;
        }

        .nav__link:hover {
            color: var(--first-color);
        }

        .nav__close {
            position: absolute;
            top: 1rem;
            right: 1.5rem;
        }

        .show-menu {
            right: 0;
        }

        .lang {
            margin-top: 2rem;
            padding-top: 2rem;
            border-top: 1px solid var(--gray-border);
        }

        .lang span {
            display: inline-flex;
            margin-right: 1rem;
            font-size: 1.5rem;
        }

        /* HOME HERO */
        .home {
            position: relative;
            min-height: 100vh;
            height: 730px;
            background-color: var(--bg-color);
            display: flex;
            align-items: center;
        }

        .home__bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            filter: blur(2px);
        }

        .home__gradient {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(180deg, 
                rgba(44, 44, 44, 0.4) 0%, 
                rgba(44, 44, 44, 0.7) 100%);
        }

        .home__container__2 {
            position: relative;
            z-index: 5;
            text-align: center;
            padding: 8rem 1rem 4rem;
            row-gap: 3rem;
        }

        .home__title {
            color: var(--white-color);
            font-size: var(--big-font-size);
            font-weight: var(--font-bold);
            text-shadow: 2px 2px 4px rgba(0,0,0,0.7);
        }

        /* SERVICE DETAILS */
        .service-detail {
            padding: 4rem 1rem;
            background-color: var(--body-color);
        }

        .service-detail__container {
            max-width: 1120px;
            margin: 0 auto;
            display: grid;
            gap: 3rem;
        }

        .service-detail__header {
            text-align: center;
            margin-bottom: 2rem;
        }

        .service-detail__title {
            font-size: var(--h1-font-size);
            color: var(--title-color);
            margin-bottom: 1rem;
        }

        .service-detail__subtitle {
            color: var(--first-color);
            font-size: var(--h3-font-size);
            font-weight: var(--font-medium);
        }

        .service-detail__content {
            display: grid;
            gap: 2rem;
        }

        .service-detail__image {
            justify-self: center;
            border-radius: 1rem;
            box-shadow: 0 8px 32px hsla(0, 0%, 0%, .1);
            max-width: 500px;
            width: 100%;
        }

        .service-detail__description {
            background-color: var(--container-color);
            padding: 2rem;
            border-radius: 1rem;
            border: 2px solid var(--gray-border);
            line-height: 1.8;
        }

        .service-detail__text {
            margin-bottom: 1.5rem;
        }

        .service-detail__features {
            margin-top: 2rem;
        }

        .service-detail__features h3 {
            color: var(--title-color);
            margin-bottom: 1rem;
            font-size: var(--h3-font-size);
        }

        .service-detail__list {
            display: grid;
            gap: 0.8rem;
        }

        .service-detail__item {
            display: flex;
            align-items: flex-start;
            gap: 0.8rem;
        }

        .service-detail__item i {
            color: var(--first-color);
            font-size: 1.2rem;
            margin-top: 0.1rem;
            flex-shrink: 0;
        }

        .service-detail__item span {
            color: var(--text-color);
        }

        .service-detail__cta {
            background: var(--first-gradient);
            padding: 2rem;
            border-radius: 1rem;
            text-align: center;
            color: var(--white-color);
        }

        .service-detail__cta h3 {
            color: var(--white-color);
            margin-bottom: 1rem;
        }

        .service-detail__cta p {
            margin-bottom: 1.5rem;
            opacity: 0.9;
        }

        .button {
            display: inline-flex;
            background: rgba(255, 255, 255, 0.2);
            color: var(--white-color);
            font-weight: var(--font-semi-bold);
            padding: 1rem 2rem;
            border-radius: 0.5rem;
            border: 2px solid var(--white-color);
            transition: all .4s;
        }

        .button:hover {
            background: var(--white-color);
            color: var(--first-color);
            transform: translateY(-2px);
        }

        /* BACK BUTTON */
        .back-button {
            position: fixed;
            bottom: 2rem;
            left: 2rem;
            background: var(--first-color);
            color: var(--white-color);
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            box-shadow: 0 4px 16px hsla(0, 0%, 0%, .1);
            transition: transform .4s;
            z-index: var(--z-tooltip);
        }

        .back-button:hover {
            transform: translateY(-4px);
        }

        /* FOOTER - Javított kontraszttal */
        .footer {
            background-color: var(--black-color);
            color: var(--white-color);
            padding: 3rem 1rem 2rem;
        }

        .footer__container {
            row-gap: 3rem;
            padding-bottom: 2rem;
            border-bottom: 1px solid var(--ker1);
        }

        .footer__logo {
            display: inline-flex;
            align-items: center;
            column-gap: .25rem;
            margin-bottom: 1rem;
        }

        .footer__logo span {
            color: var(--white-color);
            font-size: var(--h3-font-size);
            font-weight: var(--font-semi-bold);
        }

        .footer__description {
            margin-bottom: 1rem;
            line-height: 1.6;
            color: var(--white-color);
            opacity: 0.9;
        }

        .footer__email,
        .footer__info {
            font-style: normal;
            line-height: 1.6;
            color: var(--white-color);
            opacity: 0.85;
        }

        .footer__content {
            display: grid;
            grid-template-columns: 1fr;
            gap: 2rem;
        }

        .footer__title {
            font-size: var(--h3-font-size);
            color: var(--white-color);
            margin-bottom: 1rem;
            font-weight: var(--font-semi-bold);
        }

        .footer__links {
            display: grid;
            row-gap: .5rem;
        }

        .footer__link {
            color: var(--white-color);
            opacity: 0.8;
            transition: color .4s, opacity .4s;
        }

        .footer__link:hover {
            color: var(--first-color);
            opacity: 1;
        }

        .footer__social {
            display: flex;
            gap: 1rem;
            flex-wrap: wrap;
        }

        .footer__social-link {
            font-size: 1.5rem;
            color: var(--first-color);
            transition: transform .4s;
        }

        .footer__social-link:hover {
            transform: translateY(-.25rem);
        }

        .footer__copy {
            display: block;
            text-align: center;
            font-size: var(--small-font-size);
            margin-top: 2rem;
            padding-top: 2rem;
        }
        /* RESPONSIVE */
        @media screen and (min-width: 768px) {
            .container {
                margin-inline: auto;
            }

            .service-detail__content {
                grid-template-columns: 1fr 1fr;
                align-items: start;
                gap: 3rem;
            }

            .service-detail__description {
                padding: 2.5rem;
            }

            .footer__content {
                grid-template-columns: repeat(2, 1fr);
                gap: 3rem;
            }
        }

        @media screen and (min-width: 1150px) {
            .nav {
                height: calc(var(--header-height) + 2rem);
            }

            .nav__toggle,
            .nav__close {
                display: none;
            }

            .nav__menu {
                width: initial;
            }

            .nav__list {
                flex-direction: row;
                align-items: center;
                column-gap: 3rem;
            }

            .lang {
                margin: 0;
                padding: 0;
                border: none;
            }

            .home {
                height: 730px;
                min-height: 730px;
            }

            .home__container__2 {
                padding-top: 10rem;
            }

            .service-detail {
                padding: 6rem 1rem;
            }

            .service-detail__content {
                gap: 4rem;
            }

            .footer__content {
                grid-template-columns: repeat(4, 1fr);
                gap: 4rem;
            }
        }