*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#0a0a0f;color:#fff;line-height:1.6;overflow-x:hidden}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* Навигация */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:12px 16px;background:rgba(10,10,15,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,0.08)}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.logo{font-size:20px;font-weight:800;color:#fff;text-decoration:none;display:flex;align-items:center;gap:6px}
.lang-switch{display:flex;gap:2px;flex-wrap:wrap;background:rgba(255,255,255,0.03);padding:3px;border-radius:10px}
.lang-switch a{padding:5px 8px;border-radius:6px;font-size:11px;font-weight:600;text-decoration:none;color:#a1a1aa;transition:all 0.3s;white-space:nowrap}
.lang-switch a.active,.lang-switch a:hover{background:var(--c1,#6C63FF);color:#fff}

/* Hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;text-align:center;padding:100px 20px;background:linear-gradient(135deg,var(--c1,#6C63FF),var(--c2,#8B85FF));background-size:cover}
.hero.preloaded{background-size:cover;animation:none}
.hero-badge{background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);padding:8px 18px;border-radius:50px;font-size:13px;border:1px solid rgba(255,255,255,0.2);display:inline-block}
.hero-content{position:relative;z-index:1;max-width:800px;margin:0 auto}
.hero h1{font-size:clamp(28px,6vw,56px);font-weight:900;margin-bottom:16px;text-shadow:0 2px 10px rgba(0,0,0,0.5);line-height:1.2}
.hero p{font-size:clamp(15px,2.5vw,18px);opacity:0.95;max-width:600px;margin:0 auto 30px;text-shadow:0 1px 5px rgba(0,0,0,0.5)}

/* Кнопки */
.btn{display:inline-flex;align-items:center;gap:6px;padding:14px 24px;border-radius:14px;font-weight:600;font-size:14px;text-decoration:none;margin:4px;color:#fff;transition:all 0.3s;backdrop-filter:blur(10px);border:none;cursor:pointer}
.btn-primary{background:linear-gradient(135deg,var(--c1,#6C63FF),var(--c2,#8B85FF));box-shadow:0 4px 15px rgba(0,0,0,0.3)}
.btn-outline{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2)}
.btn:hover{transform:translateY(-2px);opacity:0.9}
.btn:active{transform:translateY(0)}

/* Секции */
.section{padding:80px 16px}
.section-dark{background:rgba(255,255,255,0.02)}
.section-header{text-align:center;margin-bottom:40px}
.section-badge{display:inline-block;padding:6px 16px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:50px;font-size:12px;font-weight:600;color:var(--c2,#8B85FF);margin-bottom:12px;text-transform:uppercase;letter-spacing:1px}
.section h2{text-align:center;font-size:clamp(24px,4vw,40px);font-weight:800;margin-bottom:12px}
.section-subtitle{text-align:center;color:#a1a1aa;font-size:clamp(14px,2vw,18px);max-width:600px;margin:0 auto 40px}

/* Сетка */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:30px 20px;text-align:center;transition:all 0.3s;backdrop-filter:blur(10px)}
.card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,0.2)}
.card-icon{font-size:40px;margin-bottom:16px}
.card h3{font-size:20px;font-weight:700;margin-bottom:8px}
.card p{color:#a1a1aa;font-size:14px}
.card.featured{border:2px solid var(--c1,#6C63FF);position:relative}
.card.featured::before{content:attr(data-badge);position:absolute;top:10px;right:10px;background:linear-gradient(135deg,var(--c1,#6C63FF),var(--c2,#8B85FF));padding:5px 12px;border-radius:16px;font-size:10px;font-weight:600;color:#fff}

/* Галерея */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.gallery-item{background-size:cover;background-position:center;background-color:#1a1a2e;border-radius:16px;overflow:hidden;aspect-ratio:4/3;transition:background-image 0.6s ease;position:relative;min-height:180px}
.gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1a1a2e,#2a2a3e,#1a1a2e);animation:shimmer 1.5s infinite}
.gallery-item.loaded::after{display:none}

/* Форма */
.form-input{width:100%;padding:14px 16px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:12px;color:#fff;font-size:15px;font-family:inherit;margin-bottom:12px;transition:border-color 0.3s}
.form-input:focus{outline:none;border-color:var(--c2,#8B85FF)}
.honeypot{position:absolute;left:-9999px;opacity:0}
.footer{text-align:center;padding:40px 16px;border-top:1px solid rgba(255,255,255,0.08);color:#a1a1aa;font-size:13px}

/* Sticky CTA */
#stickyCta{position:fixed;bottom:10px;left:10px;right:10px;z-index:999;display:none}
#stickyCta a{display:block;background:var(--c1,#6C63FF);padding:14px;border-radius:14px;text-align:center;font-weight:700;color:#fff;text-decoration:none;box-shadow:0 4px 20px rgba(0,0,0,0.3)}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:10px}
.faq-item{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:16px;cursor:pointer;transition:all 0.3s}
.faq-item:hover{border-color:rgba(255,255,255,0.2)}
.faq-item summary{font-weight:600;font-size:15px;cursor:pointer}
.faq-item p{margin-top:10px;color:#a1a1aa;font-size:13px;line-height:1.6}

/* Карта */
.map-section iframe{width:100%;height:350px;border-radius:16px;border:none}

/* Анимации */
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

/* ===== МОБИЛЬНАЯ ВЕРСИЯ ===== */
@media(max-width:768px){
  .nav{padding:6px 8px}
  .nav-inner{gap:4px;flex-direction:column;align-items:stretch}
  .logo{font-size:15px;justify-content:center}
  .lang-switch{justify-content:center;width:100%}
  .lang-switch a{padding:3px 5px;font-size:9px;border-radius:4px}
  .hero{padding:80px 16px;min-height:90vh}
  .hero h1{font-size:clamp(22px,8vw,36px)}
  .hero p{font-size:14px;margin-bottom:20px}
  .hero-badge{font-size:11px;padding:6px 14px}
  .btn{padding:12px 18px;font-size:13px;margin:3px}
  .section{padding:50px 12px}
  .section h2{font-size:22px}
  .section-subtitle{font-size:13px;margin-bottom:30px}
  .grid{grid-template-columns:1fr;gap:16px}
  .card{padding:24px 16px}
  .card-icon{font-size:32px}
  .card h3{font-size:18px}
  .gallery{grid-template-columns:1fr}
  .gallery-item{min-height:200px}
  .form-input{padding:12px 14px;font-size:14px}
  #stickyCta{bottom:6px;left:6px;right:6px}
  #stickyCta{bottom:4px;left:4px;right:4px}
#stickyCta a{padding:8px 12px;font-size:11px;border-radius:8px;text-align:center;white-space:nowrap}
  .map-section iframe{height:250px}
}

@media(max-width:768px){
  .grid[style*="grid-template-columns:repeat(4,1fr)"]{
    grid-template-columns:repeat(2,1fr)!important;
    gap:12px
  }
}
@media(max-width:480px){
  .hero{padding:60px 10px;min-height:80vh}
  .hero h1{font-size:18px}
  .hero p{font-size:11px}
  .btn{width:100%;justify-content:center;margin:2px 0}
  .section{padding:30px 8px}
  .section h2{font-size:18px}
  .lang-switch{gap:1px}
  .lang-switch a{font-size:8px;padding:2px 4px}
  .card{padding:20px 12px}
  .card h3{font-size:16px}
  #stickyCta{bottom:2px;left:2px;right:2px}
#stickyCta a{font-size:10px;padding:6px 10px;border-radius:6px}
}

/* ===== ДЕСКТОП ===== */
@media(min-width:1024px){
  .hero{padding:120px 40px}
  .section{padding:100px 40px}
}

/* Hero overlay для фото-фона */
.hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
  z-index: 0;
}
.hero-content {
  position: relative;
  z-index: 1;
}

/* Галерея-карусель */
.gallery-slider {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}
.gallery-track {
  display: flex;
  transition: transform 0.5s ease;
}
.gallery-slide {
  min-width: 100%;
  padding: 0 10px;
}
.gallery-slide .gallery-item {
  aspect-ratio: 16/9;
  border-radius: 16px;
  min-height: 300px;
}
.gallery-prev, .gallery-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.2);
  border: none;
  color: #fff;
  font-size: 32px;
  padding: 10px 16px;
  cursor: pointer;
  border-radius: 10px;
  z-index: 2;
  transition: background 0.3s;
}
.gallery-prev:hover, .gallery-next:hover {
  background: rgba(255,255,255,0.4);
}
.gallery-prev { left: 10px; }
.gallery-next { right: 10px; }
.gallery-dots {
  text-align: center;
  padding: 15px;
}
.gallery-dots span {
  display: inline-block;
  width: 10px;
  height: 10px;
  background: rgba(255,255,255,0.3);
  border-radius: 50%;
  margin: 0 5px;
  cursor: pointer;
  transition: background 0.3s;
}
.gallery-dots span.active {
  background: #fff;
}
@media(max-width:768px){
  .gallery-slide .gallery-item { min-height: 200px; }
  .gallery-prev, .gallery-next { font-size: 24px; padding: 6px 12px; }
}

/* Hero карусель */
.hero-carousel {
  position: relative;
  overflow: hidden;
}
.hero-slides {
  position: absolute;
  inset: 0;
}
.hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1s ease;
}
.hero-slide.active {
  opacity: 1;
}
.hero-dots {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  gap: 8px;
}
.hero-dots span {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,0.4);
  cursor: pointer;
  transition: background 0.3s;
}
.hero-dots span.active {
  background: #fff;
}

/* Features с фото-фоном */
.section-features .card {
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(5px);
  border: 1px solid rgba(255,255,255,0.15);
}

/* Лайтбокс */
.lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,0.95);
  justify-content: center;
  align-items: center;
}
.lightbox.active {
  display: flex;
}
.lightbox img {
  max-width: 90vw;
  max-height: 90vh;
  border-radius: 12px;
  object-fit: contain;
}
.lightbox-close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 42px;
  color: #fff;
  cursor: pointer;
  z-index: 10;
  background: none;
  border: none;
}
.lightbox-prev, .lightbox-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 48px;
  color: #fff;
  cursor: pointer;
  background: rgba(255,255,255,0.1);
  border: none;
  padding: 10px 18px;
  border-radius: 10px;
  z-index: 10;
}
.lightbox-prev:hover, .lightbox-next:hover { background: rgba(255,255,255,0.3); }
.lightbox-prev { left: 20px; }
.lightbox-next { right: 20px; }
.lightbox-counter {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 14px;
}
@media(max-width:768px){
  .lightbox-prev, .lightbox-next { font-size: 32px; padding: 6px 12px; }
  .lightbox-close { font-size: 32px; top: 10px; right: 15px; }
}

/* Галерея 3×2 */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.gallery-grid .gallery-item {
  aspect-ratio: 1/1;
  border-radius: 16px;
  cursor: pointer;
  transition: transform 0.3s, box-shadow 0.3s;
  min-height: 200px;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
}
.gallery-grid .gallery-item:hover {
  transform: scale(1.03);
  box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}
.gallery-grid .gallery-item::after {
  content: "🔍";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  transition: opacity 0.3s;
}
.gallery-grid .gallery-item:hover::after {
  opacity: 1;
}

@media(max-width:768px){
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .gallery-grid .gallery-item {
    min-height: 160px;
  }
}
@media(max-width:480px){
  .gallery-grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .gallery-grid .gallery-item {
    min-height: 140px;
    border-radius: 12px;
  }
}

/* Карточка featured при наведении */
.card.featured:hover {
  border-color: #FFD700;
  background: rgba(255,215,0,0.08);
  box-shadow: 0 0 30px rgba(255,215,0,0.15);
}

/* Меню-попап */
.menu-popup {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10000;
}
.menu-popup.active {
  display: block;
}
.menu-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.8);
  backdrop-filter: blur(4px);
}
.menu-content {
  position: relative;
  z-index: 1;
  max-width: 700px;
  max-height: 90vh;
  margin: 30px auto;
  background: linear-gradient(135deg, #1a1a2e, #2a2a3e);
  border-radius: 24px;
  padding: 40px 30px;
  overflow-y: auto;
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.menu-close {
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 28px;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
}
.menu-title {
  font-family: 'Georgia', 'Times New Roman', serif;
  font-style: italic;
  font-size: 42px;
  text-align: center;
  margin-bottom: 30px;
  color: #FFD700;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}
.menu-section {
  margin-bottom: 30px;
}
.menu-section h3 {
  font-size: 24px;
  color: #FFD700;
  margin-bottom: 15px;
  border-bottom: 1px solid rgba(255,215,0,0.3);
  padding-bottom: 8px;
}
.menu-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.menu-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 16px;
  background: rgba(255,255,255,0.03);
  border-radius: 10px;
  transition: background 0.3s;
}
.menu-item:hover {
  background: rgba(255,215,0,0.1);
}
.menu-name {
  font-family: 'Georgia', 'Times New Roman', serif;
  font-style: italic;
  font-size: 18px;
  color: #ddd;
}
.menu-price {
  font-weight: 700;
  font-size: 18px;
  color: #FFD700;
  white-space: nowrap;
}

@media(max-width:768px){
  .menu-content {
    margin: 10px;
    padding: 25px 18px;
    border-radius: 18px;
  }
  .menu-title { font-size: 30px; }
  .menu-name { font-size: 15px; }
  .menu-price { font-size: 15px; }
}

/* Галерея 3×2 — компактная */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  max-width: 900px;
  margin: 0 auto;
}
.gallery-grid .gallery-item {
  aspect-ratio: 4/3;
  border-radius: 14px;
  cursor: pointer;
  transition: transform 0.3s, box-shadow 0.3s;
  min-height: 180px;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
}
.gallery-grid .gallery-item:hover {
  transform: scale(1.04);
  box-shadow: 0 8px 25px rgba(0,0,0,0.5);
}
.gallery-grid .gallery-item::after {
  content: "🔍";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  background: rgba(0,0,0,0.35);
  opacity: 0;
  transition: opacity 0.3s;
}
.gallery-grid .gallery-item:hover::after {
  opacity: 1;
}

/* Лайтбокс остаётся без изменений */
@media(max-width:768px){
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .gallery-grid .gallery-item {
    min-height: 160px;
  }
}
@media(max-width:480px){
  .gallery-grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .gallery-grid .gallery-item {
    min-height: 140px;
  }
}

/* Мобильные отступы галереи */
@media(max-width:768px){
  .gallery-grid .gallery-item {
    margin-bottom: 14px;
  }
}
@media(max-width:480px){
  .gallery-grid .gallery-item {
    margin-bottom: 10px;
  }
}

/* Мобильная галерея — уменьшаем размер фото */
@media(max-width:768px){
  .gallery-grid .gallery-item {
    min-height: 120px !important;
    aspect-ratio: 1/1 !important;
  }
}
@media(max-width:480px){
  .gallery-grid .gallery-item {
    min-height: 100px !important;
    aspect-ratio: 1/1 !important;
  }
}

/* Карусель отзывов */
.reviews-slider {
  position: relative;
  overflow: hidden;
  max-width: 800px;
  margin: 0 auto;
}
.reviews-track {
  display: flex;
  transition: transform 0.5s ease;
  gap: 16px;
}
.rev-card {
  min-width: calc(33.33% - 12px);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px;
  padding: 24px 20px;
  text-align: center;
  backdrop-filter: blur(10px);
}
.rev-stars {
  font-size: 20px;
  margin-bottom: 10px;
}
.rev-card p {
  font-size: 14px;
  color: #ccc;
  font-style: italic;
  margin-bottom: 10px;
}
.rev-card strong {
  color: #FFD700;
}
.rev-prev, .rev-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.15);
  border: none;
  color: #fff;
  font-size: 28px;
  padding: 8px 14px;
  cursor: pointer;
  border-radius: 8px;
  z-index: 2;
  transition: background 0.3s;
}
.rev-prev:hover, .rev-next:hover { background: rgba(255,255,255,0.3); }
.rev-prev { left: -10px; }
.rev-next { right: -10px; }
.reviews-dots {
  text-align: center;
  margin-top: 20px;
}
.reviews-dots span {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: rgba(255,255,255,0.3);
  border-radius: 50%;
  margin: 0 4px;
  cursor: pointer;
  transition: background 0.3s;
}
.reviews-dots span.active { background: #FFD700; }

@media(max-width:768px){
  .rev-card {
    min-width: 100%;
  }
  .rev-prev, .rev-next { font-size: 22px; padding: 6px 10px; }
}

/* Hero badge крупнее */
.hero-badge {
  font-size: 16px !important;
  padding: 10px 24px !important;
}
/* Логотип по центру */
.nav-inner {
  justify-content: center !important;
}
.logo {
  text-align: center;
  margin: 0 auto;
  width: 100%;
  justify-content: center;
}
