        /* Переменные и сброс стилей */
        :root {
            --bg-color: #282d33;
            --text-color: #E3D5CA;
            --muted-color: #F5EBE6;
            --accent-color: #E07A5F;
            --border-color: rgba(245, 235, 230, .1);
            --font-main: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: var(--font-main);
            background-color: var(--bg-color);
            color: var(--text-color);
            line-height: 1.5;
            -webkit-font-smoothing: antialiased;
		overflow-x: hidden;
        }

        /* Глобальная Grid-сетка для страницы */
        .page-grid {
            display: grid;
            grid-template-columns: minmax(20px, 1fr) minmax(auto, 1200px) minmax(20px, 1fr);
        }

        .page-grid > * {
            grid-column: 2;
        }

        /* Шапка сайта */
        header {
            display: grid;
            grid-template-columns: auto 1fr;
            align-items: center;
            padding: 30px 0;
            border-bottom: 1px solid var(--border-color);
        }

.logo-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    /* Убираем возможное смещение по высоте */
    height: 100%; 
}

/* Стили для самой PNG картинки */
.logo-img {
    /* Задайте нужную вам высоту логотипа (оптимально для минимализма) */
    height: 100px; 
    
    /* Ширина рассчитывается автоматически для сохранения пропорций */
    width: auto; 
    
    /* Защита от искажения пропорций картинки */
    object-fit: contain; 
    
    /* Плавное изменение прозрачности при наведении (опционально) */
    transition: opacity 0.2s ease; 
}

/* Эффект при наведении в стиле минимализма */
.logo-link:hover .logo-img {
    opacity: 0.8;
}

        nav {
            justify-self: end;
        }

        nav a {
            color: var(--text-color);
            text-decoration: none;
            font-size: 0.9rem;
            margin-left: 30px;
            transition: opacity 0.2s;
        }

        nav a:hover {
            opacity: 0.6;
        }

	.pc-nav{
		display: block; /* Для упрощения мобильной версии */
	}
	.phone-nav{
		display: none;
	}

	.btn-burger{
		border: none;
		cursor: pointer;
		background: none;
	}

	.burger-line{
		display: block;
		position: relative;
		width: 8vmin;
		height: 3px;
		border-color: var(--border-color);
		background-color: var(--accent-color);
		transition: background-color 0.3s ease-in-out;
	}

.burger-line::before,
.burger-line::after{
		content: '';
		position: absolute;
		left: 0;
		width: 100%;
		height: 100%;
		border-color: var(--border-color);
		background-color: var(--accent-color);
		transition: transform 0.3s ease-in-out;
	}

.burger-line::before {
  top: -8px;
}

.burger-line::after {
  top: 8px;
}

.burger-line.active{
	background-color: transparent;
}

.burger-line.active::before{
	top: 0;
	transform: rotate(45deg);
}

.burger-line.active::after{
	top: 0;
	transform: rotate(-45deg);
}

	.services{
		display: grid;
		margin: auto;
		row-gap: 20px;
		padding: 100px 0;
            border-top: 1px solid var(--border-color);
	}

	.services h1{
            font-size: 3.5rem;
            font-weight: 500;
            line-height: 1.1;
            margin-bottom: 30px;
	}

	.services-card{
		display: grid;
		grid-template-columns: 1fr 4fr;
		border-radius: 2vmin;
		background-color: var(--border-color);
	}

	.services-card img{
		width: 100%;
		height: 30vh;
		border-radius: 2vmin 0 0 2vmin;
	}

	.services-card h5{
		margin: 2vmin 2vmin 0 2vmin;
		font-size: 2.5vmin;
		color: var(--text-color);
	}

	.services-grid{	
		display: grid;
		row-gap: 20px;
		grid-template-columns: 1fr;
	}

	.gallery-section{
		display: grid;
            border-top: 1px solid var(--border-color);
		padding: 100px 0;		
	}

	.gallery-cards{
		display: grid;
		gap: 30px;
		grid-template-columns: repeat(3, 1fr);
		justify-items: center;
	}

	.gallery-section h1{
		font-size: 3.5rem;
            font-weight: 500;
            line-height: 1.1;
            letter-spacing: -2px;
            margin-bottom: 30px;
	}

	.gallery-cards img{
		width: 100%;
		height: 250px;
		transition: transform 0.3s ease;
		object-fit: cover;
		border-radius: 10px;
		cursor: pointer;
	}

	.gallery-cards img:hover{
		transform: scale(1.1);
	}

        /* Главный экран (Hero) */
        .hero {
            display: grid;
            grid-template-columns: repeat(12, 1fr);
            gap: 20px;
            padding: 100px 0;
        }

        .hero-text {
            grid-column: 1 / 8;
        }

	.about-text{
		grid-column: 1 / 8;
	}

	.about-h1{
		margin: 1vmin 0 0 0;
		text-align: start;
	}

        .hero h1 {
            font-size: 3.5rem;
            font-weight: 500;
            line-height: 1.1;
            letter-spacing: -2px;
            margin-bottom: 30px;
        }

        .hero p {
            font-size: 1.2rem;
            color: var(--muted-color);
            max-width: 500px;
        }

        /* Секция преимуществ */
        .features {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 40px;
            padding: 80px 0;
            border-top: 1px solid var(--border-color);
        }

	.border-card{
		display: none;
	}

        .feature-card {
            display: grid;
		justify-content: center;
            grid-template-rows: auto auto 1fr;
            gap: 15px;
        }

        .feature-num {
            font-size: 0.9rem;
            color: var(--muted-color);
        }

        .feature-card h3 {
		text-align: center;
            font-size: 8vmin;
            font-weight: 600;
        }

        .feature-card p {
            color: var(--text-color);
            font-size: 2.4vmin;
        }

	.gallery{
		display: grid;
		border-top: 1px solid var(--border-color);
		padding: 100px 0;
	}

	.title-and-button-block{
		display: grid;
		grid-template-columns: auto auto;
		justify-content: space-between;
		align-items: center;
	}

	.block-btn{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2vmin;
	}

	.btn-arrow{
		color: var(--text-color);
		background-color: var(--accent-color);
		border-radius: 50%;
		font-weight: 500;
		font-size: 4vmin;
		padding: 1vmin;
		border: none;
		cursor: pointer;
		transition: color 0.3s ease-in-out;
	}

	.btn-arrow:hover{
		background-color: var(--border-color);
	}

	.btn-arrow.active{
		cursor: default;
		background-color: var(--bg-color);
	}


	.btn-up.display{
		display: block;
	}

	.btn-up{
		position: fixed;
		display: none;
		right: 0;
		bottom: 0;
		margin: 0 4vmin 4vmin 0;
		color: var(--text-color);
		background-color: var(--accent-color);
		border-radius: 50%;
		font-weight: 500;
		font-size: 5vmin;
		padding: 1vmin 2vmin;
		border: none;
		cursor: pointer;
		opacity: 0;
		transition: color 0.3s ease-in-out, opacity 0.3s ease-in-out;
	}

	.btn-up:hover{
		background-color: var(--border-color);
	}

	.btn-up.opacity{
		opacity: 1;
	}

	.gallery h2{
            font-size: 2rem;
            font-weight: 500;
            letter-spacing: -1px;
            margin-bottom: 20px;
	}

	.gallery-container{
		display: grid;
		height: 50vh;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		grid-auto-flow: column;
		gap: 2vmin;
	}

	.gallery-img{
		height: 40vmin;
		width: auto;
		object-fit: contain;
		border-radius: 10px;
	}

	.checkbox-container{
		display: grid;
		grid-template-columns: repeat(6, 3vmin);
		gap: 1vmin;
		margin: auto;
	}

	.gallery-checkbox{
		width: 2vmin;
		border-radius: 50%;
		height: 2vmin;
		background-color: var(--border-color);
		cursor: pointer;
		transition: width 0.3s ease-in-out, border-radius 0.3s ease-in-out, background-color 0.3s ease-in-out;
	}

	.gallery-checkbox.active{
		border-radius: 1vmin;
		width: 3vmin;
		background-color: var(--accent-color);
	}

	.banner{
		display: grid;
		justify-items: center;
		border-top: 1px solid var(--border-color);
	}

	.block-img{
		position: absolute;
		z-index: -1;
		top: 0;
		bottom: 0;
	}

	.block-img img{
		height: 100%;
		width: auto;
		border-radius:  4vmin 25% 25% 4vmin;
		object-fit: contain;
	}

        .booking {
            display: grid;
		position: relative;
		margin: 100px 0;
		padding: 5vmin;
            	gap: 20px;
		background-color: var(--border-color);
		border-radius: 4vmin;
        }

        .booking-info h2 {
		display: inline-block;
		backdrop-filter: blur(4px);
		background-color: rgba(30, 30, 30, .4);
		border-radius: 2vmin;
		padding: 0 0.5vmin;
            font-size: 5vmin;
            font-weight: 500;
            letter-spacing: -1px;
            margin-bottom: 20px;
		
        }

	.booking-info p{
		display: inline-block;
		backdrop-filter: blur(4px);
		background-color: rgba(30, 30, 30, .4);
		border-radius: 2vmin;
		font-size: 3vmin;
		padding: 0.5vmin;
		font-weight: 600;
		color: var(--muted-color);
	}

        .booking-form {
            display: grid;
            gap: 20px;
        }

        .form-group {
            display: grid;
            grid-template-rows: auto 1fr;
            gap: 8px;
		justify-items: end;
        }

        .form-group.full-width {
            grid-template-columns: repeat(3, 1fr);
    		justify-items: center;
        }

        label {
            font-size: 3vmin;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: var(--muted-color);
		font-weight: 600;
        }

        input {
            width: 100%;
            padding: 15px;
            border: 1px solid var(--muted-color);
            background: transparent;
            font-family: var(--font-main);
            font-size: 1rem;
            outline: none;
            transition: border-color 0.2s;
		color: var(--muted-color);
        }

	input::placeholder{
		text-shadow: 0 0 10px var(--bg-color), 0 0 20px var(--bg-color);
		color: var(--muted-color);
	}

        input:focus {
            border-color: var(--accent-color);
        }

        .btn-submit{
            grid-column: 1 / -1;
            background: var(--accent-color);
            color: var(--muted-color);
            border: none;
            padding: 20px;
            font-size: 1rem;
            cursor: pointer;
            transition: opacity 0.2s;
        }

        button:hover {
            opacity: 0.9;
        }

	.submited-container{
		position: fixed;
		display: none;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		transition: opacity 0.2s ease-in-out;
		opacity: 0;
	}

	.submited-container img{
		border-radius: 25px;
		height: 20vh;
	}

	.submited-container.active{
		opacity: 1;
	}

	.submited-container.show{
		display: block;
	}

	.verify-privacy{
		font-size: 2.5vmin;
	}

	.verify-privacy a{
		color: var(--accent-color);
		text-decoration: none;
	}

	.border-decor{
		border-top: 1px solid var(--accent-color);
		margin: 0 2vmin 2vmin;
	}

	.address{
		display: grid;
		padding: 100px 0;
		row-gap: 20px;
		border-top: 1px solid var(--border-color);
	}

	.address h1{
		font-size: 3.5rem;
		font-weight: 500;
		line-height: 1.1;
		letter-spacing: -2px;
		margin-bottom: 30px;
	}

	.address iframe{
		margin: 0 20px;
	}

        /* Подвал */
        footer {
            display: grid;
            padding: 20px 0;
            border-top: 1px solid var(--border-color);
            font-size: 0.85rem;
            color: var(--muted-color);
        }

	.logo-footer-block{
		display: grid;
		grid-template-columns: repeat(2, auto);
		justify-content: space-between;
		margin: 0 0 3vmin 0;
	}

	.logo-footer-block h4{
		font-size: 2.4vmin;
	}

	.block-up{
		display: grid;
		grid-template-columns: 1fr auto;
		
	}

	.messenger{
		display: inline-block;
		margin: 0 2vmin 0;
	}

	.messenger img {
		display: inline-block;
		width: 8vmin !important;
		transition: scale 0.3s ease;
	}

	.messenger img:hover{
		scale: 1.1;
	}

	.all-phone div {
		display: grid;
		padding-left: 2vmin;
	}

	.all-phone h4 {
		font-size: 2.4vmin;
	}

	.block-down h4 {
		font-size: 2.4vmin;
		margin: 0 0 1vmin 0;
	}

	.other{
		display: grid;
		margin: 4vmin 0 0 0;
		padding: 2vmin 0 0 0;
		grid-template-columns: 1fr auto;
            border-top: 1px solid var(--border-color);
	}

.modal-overlay.active {
	display: grid;
}

/* Темный фон на весь экран */
.modal-overlay {
	display: none;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.9); /* Черный с прозрачностью 90% */
  z-index: 1000;
  
  /* Включаем CSS Grid */
  grid-template-columns: 80px 1fr 80px; /* Боковые колонки для стрелок */
  align-items: center; /* Центрируем всё по вертикали */
  justify-items: center; /* Центрируем всё по горизонтали */
}

/* Контейнер для изображения */
.modal-content {
  grid-column: 2; /* Занимает центральную колонку */
  max-width: 100%;
  max-height: 85vh; /* Ограничение по высоте, чтобы не вылезало за экран */
  display: flex;
  justify-content: center;
}

/* Стили самой картинки */
.modal-content img {
  max-width: 100%;
  max-height: 85vh;
  object-fit: contain; /* Сохраняет пропорции без искажений */
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
	transform: scale(0);
	transition: transform 300ms ease;
}

.modal-content img.active {
	transform: scale(1);
}

/* Общие стили для всех кнопок */
.modal-close,
.modal-arrow {
  background: none;
  border: none;
  color: #ffffff;
  font-size: 2.5rem;
  cursor: pointer;
  opacity: 0.6;
  transition: opacity 0.2s ease, transform 0.2s ease;
  user-select: none;
}

.modal-close:hover,
.modal-arrow:hover {
  opacity: 1;
}

/* Кнопка закрытия (крестик в правом верхнем углу) */
.modal-close {
  position: absolute;
  top: 20px;
  right: 25px;
  font-size: 3.5rem;
}

/* Позиционирование стрелок по колонкам */
.arrow-left {
  grid-column: 1;
}

.arrow-right {
  grid-column: 3;
}

/* Эффект нажатия на стрелки */
.modal-arrow:active {
  transform: scale(0.9);
}


		.privacy{
			text-decoration: none;
			color: var(--muted-color);
			transition: opacity 0.2s;
		}

		.privacy:hover{
			opacity: 0.6;
		}

		.privacy-container{
			display: grid;
			gap: 20px;
			padding: 100px 0;
		}

		.privacy-container h1{
	            font-size: 2.5rem;
	            font-weight: 500;
	            line-height: 1.1;
	            letter-spacing: -2px;
	            margin-bottom: 30px;
		}

		.privacy-container h3{
	            font-size: 1.5rem;
	            font-weight: 500;
	            line-height: 1.1;
	            letter-spacing: -1px;
	            margin-bottom: 30px;
		}

		.privacy-container p{
	            font-size: 1.2rem;
	            font-weight: 400;
	            line-height: 1.1;
	            margin-bottom: 30px;
		}

        /* Адаптивность для мобильных устройств */
        @media (max-width: 768px) {

 .about-text{
     grid-column: 1/-1;
 }

 .address iframe{
     margin: 0 0;
 }

  .modal-overlay {
    grid-template-columns: 50px 1fr 50px; /* Сужаем боковые панели */
  }
  .modal-arrow {
    font-size: 1.8rem;
  }
  .modal-close {
    top: 10px;
    right: 15px;
    font-size: 2.5rem;
  }
		.gallery-cards{
			grid-template-columns: repeat(2, 1fr);
		}

		.gallery-cards img{
			height: 25vmin;
		}

		.services-card{
			display: grid;
			margin: 0 4vmin;
			grid-template-columns: 1fr;
		}

		.services-card img{
			border-radius: 2vmin 2vmin 0 0;
		}

		.services-card h5{
			margin: 2vmin;
			font-size: 3vmin;
		}

            .hero-text {
                grid-column: 1 / -1;
            }
            .hero h1 {
                font-size: 2.5rem;
            }
            .features {
                grid-template-columns: 1fr;
                gap: 50px;
			justify-items: start;
            }

		.border-card{
			display: grid;
			width: 100%;
			border-bottom: 1px solid var(--border-color);
		}

		.feature-card h3 {
			text-align: start;
		}

            .booking {
                grid-template-columns: 1fr;
		margin: 100px 0;
                gap: 10px;
		padding: 2vmin;
            }
            .booking-info, .booking-form {
                grid-column: 1 / -1;
            }
            .booking-form {
                grid-template-columns: 1fr;
            }
            footer {
                grid-template-columns: 1fr;
                gap: 15px;
                text-align: center;
            }

	.block-up{
		display: grid;
		grid-template-columns: 1fr;
		gap: 2vmin;
	}

		.other{
			grid-template-columns: 1fr;
			gap: 1vmin;
			text-align: start;
		}

	.logo-footer-block{
		justify-content: center;
		grid-template-columns: auto;
	}

	.pc-nav {
	display: grid;
	width: 100%;
	left: 0;
	position: absolute;
	z-index: -1;
	opacity: 0;
	line-height: 0;
	color: transparent;
	margin: 0;
	padding: 4vmin 0 4vmin 0;
	grid-gap: 1.4vmin;
	justify-items: center;
	background-color: transparent;
	transition: line-height 0.2s ease-in-out, background 0.2s ease-in-out, color 0.2s ease-in-out, opacity 0.3s ease-in-out;
	}

	.pc-nav.active {
	position: fixed;
	z-index: 1;
	line-height: 2.5;
	color: var(--text-color);
	background-color: var(--bg-color);
	opacity: 1;
	}

	body.active{
	overflow: hidden;
	}

	.pc-nav a{
		font-size: 4vmin;
		margin-right: 12.5vmin;
	}

		.phone-nav{
			display: block;
		}
        }