:root{
  --bg:#F9F9F7;
  --paper:#FFF;
  --ink:#1E1E1E;
  --muted:#6F6F6F;
  --line:#ECEAE6;
  --gold:#a77f12;
  --gold-2:#C6A664;
  --shadow:0 10px 30px rgba(0,0,0,.07);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,system-ui;line-height:1.6;color:var(--ink);background:var(--bg)}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(1120px,92vw);margin:auto}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;justify-content:space-between;align-items:center;padding:14px 0}
.logo{font-weight:700;letter-spacing:.12em}
.logo span{opacity:.7;font-weight:500}
.nav{display:flex;gap:1.2rem}
.nav-link{padding:.5rem .8rem;border:1px solid transparent;border-radius:999px}
.nav-link:hover{border-color:var(--line)}
.nav-link.is-active{border-color:var(--gold);color:var(--gold)}



.logo {
  display: flex;
  align-items: center;
  gap: 14px;
  font-weight: 700;
  letter-spacing: .12em;
  position: relative;
  z-index: 20;
}


.logo-img {
  height: 82px;               
  width: auto;
  object-fit: contain;
  position: relative;    
  margin-left: -4px;         
  filter: drop-shadow(0 3px 6px rgba(0,0,0,0.08));
  transition: transform 0.3s ease, filter 0.3s ease;
}

.logo-img:hover {
  transform: scale(1.06);
  filter: drop-shadow(0 4px 8px rgba(0,0,0,0.12));
}


/* Buttons */
.btn{display:inline-block;padding:.85rem 1.2rem;border-radius:999px;font-weight:600;transition:.3s; border:1px solid var(--ink)}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#fff;border:none}
.btn-ghost{background:#fff;border-color:var(--line)}

/* Hero */
.hero{padding:64px 0 40px;background:radial-gradient(1000px 500px at 15% 10%,rgba(184,156,80,.12),transparent 50%),radial-gradient(800px 400px at 85% 20%,rgba(198,166,100,.10),transparent 50%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.eyebrow{text-transform:uppercase;color:var(--muted);font-size:.78rem;letter-spacing:.16em}
.headline{font-family:'Playfair Display',serif;font-size:clamp(32px,4vw,56px);margin:.4rem 0 1rem}
.gold-text{background:linear-gradient(90deg,var(--gold),var(--gold-2));-webkit-background-clip:text;color:transparent}
.subhead{max-width:48ch;color:#3a3a3a}
.hero-cta{display:flex;gap:.8rem;margin:1.2rem 0 1rem}
.badges{display:flex;gap:.6rem;align-items:center;color:var(--muted)}
.badge{border:1px solid var(--line);border-radius:999px;padding:.35rem .7rem;font-size:.82rem;background:#fff}
.dot{width:6px;height:6px;background:var(--line);border-radius:50%}
.hero-visual{position:relative;min-height:520px}
.card-photo{position:absolute;overflow:hidden;border-radius:18px;box-shadow:var(--shadow);background:#fff;border:1px solid var(--line)}
.card-photo img{width:100%;height:100%;object-fit:cover}
.card-photo:nth-child(1){top:0;right:8%;width:56%;height:82%}
.card-photo:nth-child(2){left:0;bottom:6%;width:44%;height:58%}
.card-photo:nth-child(3){right:0;bottom:-2%;width:40%;height:48%}
.tilt-sm{transform:rotate(-1.5deg)}
.float-up{animation:floatUp .9s ease-out both}
.delay-1{animation-delay:.15s}
.delay-2{animation-delay:.3s}
@keyframes floatUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* About */
.section{padding:72px 0}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(26px,3vw,36px);margin-bottom:12px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.frame{border-radius:18px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.list-check{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:.55rem}
.list-check li{position:relative;padding-left:30px}
.list-check li:before{content:'';position:absolute;left:0;top:.52em;width:12px;height:12px;border-radius:50%;border:2px solid var(--gold);background:#fff}
.note{margin-top:16px;color:var(--muted);font-size:.95rem}





.about-copy p{
  margin: 0 0 12px;
}

.section-subtitle{
  margin: 10px 0 6px;
  font-weight: 600;
  color: #3a3a3a;
  font-size: 1.02rem;
}

.about-copy .list-check{
  margin-top: 10px; 
}

.about-copy .list-check li{
  line-height: 1.58; 
}

.about-copy em{
  color: var(--muted);
}



/* Gallery */
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}
.section-sub{color:var(--muted)}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 10px;
}


.gallery-item {
  grid-column: span 4;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #fff;
  position: relative;
  aspect-ratio: 1 / 1;           
  display: flex;
  align-items: center;
  justify-content: center;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;              
  object-position: center;
  transition: transform .5s;
}

.gallery-item:hover img {
  transform: scale(1.04);
}


.gallery-item.tall,
.gallery-item.wide {
  grid-row: auto;
  grid-column: span 4;
}


/* Process */
.process{background:linear-gradient(180deg,rgba(184,156,80,.06),transparent)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:0}
.step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);transition:.3s}
.step:hover{transform:translateY(-3px)}
.step-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#fff;font-weight:700}
.step-body h3{margin:.6rem 0 .2rem;font-size:1.1rem}
.step-body p{color:var(--muted);font-size:.98rem}


.slider {
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px;
  box-shadow: var(--shadow);
  overflow: hidden;            
}

.slider input {
  display: none;
}

.slides {
  display: grid;
  grid-template-columns: repeat(3, 100%); 
  transition: transform 0.6s ease;
  width: 300%;                           
}

.slide {
  width: 100%;
  box-sizing: border-box;
}

.slide p {
  margin: 0;
  font-size: 1.05rem;
}

.slide .author {
  margin-top: 0.6rem;
  color: var(--muted);
}

.dots {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 16px;
}

.dots label {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d9d7d2;
  cursor: pointer;
  transition: 0.3s;
}


#t1:checked ~ .dots label:nth-child(1),
#t2:checked ~ .dots label:nth-child(2),
#t3:checked ~ .dots label:nth-child(3) {
  background: var(--gold);
}




@keyframes slideCycle {
  0%   { transform: translateX(0); }
  30%  { transform: translateX(0); }
  33%  { transform: translateX(-100%); }
  63%  { transform: translateX(-100%); }
  66%  { transform: translateX(-200%); }
  96%  { transform: translateX(-200%); }
  100% { transform: translateX(0); }
}


.slider .slides {
  animation: slideCycle 18s infinite ease-in-out; 
}

/* синхронно подсвечиваем точки */
@keyframes dotsCycle {
  0%,30%   { background: var(--gold); }
  33%,63%  { background: #d9d7d2; }
  33%,63%  { background: #d9d7d2; }
  33%,63%  { background: #d9d7d2; }
}


.dots label:nth-child(1) {
  animation: dotsCycle 18s infinite;
}
.dots label:nth-child(2) {
  animation: dotsCycle 18s infinite;
  animation-delay: 6s;
}
.dots label:nth-child(3) {
  animation: dotsCycle 18s infinite;
  animation-delay: 12s;
}



.dots label{width:10px;height:10px;border-radius:50%;background:#d9d7d2;cursor:pointer;transition:.3s}
#t1:checked~.slides{transform:translateX(0)}
#t2:checked~.slides{transform:translateX(-100%)}
#t3:checked~.slides{transform:translateX(-200%)}
#t1:checked~.dots label:nth-child(1),
#t2:checked~.dots label:nth-child(2),
#t3:checked~.dots label:nth-child(3){background:var(--gold)}

.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.contact-list{list-style:none;margin:12px 0 20px;padding:0;display:grid;gap:10px}
.contact-list li{display:flex;justify-content:space-between;border-bottom:1px dashed var(--line);padding:6px 0}
.contact-list li span{color:var(--muted)}


.site-footer{border-top:1px solid var(--line);background:#fff}
.footer-inner{display:flex;justify-content:space-between;align-items:center;padding:18px 0}
.footer-copy{color:var(--muted)}


.price-section {
  padding: 80px 0;
  background: var(--bg);
}

/* Заголовок секции */
.price-intro h1 {
  font-family: 'Playfair Display', serif;
  text-align: center;
  font-size: clamp(28px, 3vw, 42px);
  margin-bottom: 50px;
}


.price-groups {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
}


.price-box:first-child {
  width: 85%;
  max-width: 950px;
}


.price-box:last-child {
  width: 65%;
  max-width: 720px;
}

/* Общий стиль карточек */
.price-box {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
  padding: 28px 36px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.price-box:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}

/* Заголовки и подзаголовки */
.price-box h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem;
  text-align: center;
  margin: 0 0 10px;
}

.price-box p {
  text-align: center;
  color: var(--muted);
  margin-bottom: 20px;
  font-size: 1rem;
}

/* Список услуг / изделий */
.price-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}

.price-list li {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px dashed var(--line);
  padding: 8px 0;
  font-size: 1.02rem;
}


.price-list li span {
  color: var(--gold);
  font-weight: 600;
}


.note-lg {
  text-align: center;
  color: var(--muted);
  margin-top: 36px;
  font-size: 0.95rem;
  line-height: 1.6;
}



@media(max-width:640px){
  .steps{grid-template-columns:1fr}
  .price-grid{grid-template-columns:1fr}
}




/* ====== Contact Form ====== */

.form-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 1rem;
  background: #fff;
  color: var(--ink);
  font-family: Inter, system-ui;
  transition: border-color 0.3s, box-shadow 0.3s;
}

.contact-form input:focus,
.contact-form textarea:focus {
  border-color: var(--gold);
  outline: none;
  box-shadow: 0 0 0 2px rgba(184,156,80,0.15);
}

.contact-form button {
  align-self: flex-start;
  margin-top: 8px;
}



.map-wrapper {
  margin-top: 36px;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: var(--shadow);
  border: 1px solid var(--line);
}

.btn-outline-gold {
  border: 2px solid transparent;
  background: linear-gradient(white, white) padding-box,
              linear-gradient(135deg, var(--gold), var(--gold-2)) border-box;
  border-radius: 999px;
  color: var(--gold);
  font-weight: 600;
  transition: .3s ease;
}
.btn-outline-gold:hover {
  color: #fff;
  background: linear-gradient(135deg, var(--gold), var(--gold-2));
  box-shadow: var(--shadow);
}






.site-header { box-shadow: 0 2px 6px rgba(0,0,0,0.04); }



.fade-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.9s ease, transform 0.9s ease;
  will-change: opacity, transform;
}

.fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}



.footer-centered {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 36px 0 40px;
  border-top: 1px solid var(--line);
  background: var(--paper);
}

.footer-brand {
  font-weight: 700;
  letter-spacing: 0.12em;
  margin-bottom: 6px;
}

.footer-copy {
  color: var(--muted);
  font-size: 0.95rem;
  margin-bottom: 8px;
}

.footer-dev {
  color: var(--muted);
  font-size: 0.95rem;
  text-decoration: none;
  transition: all 0.3s ease;
}

.footer-dev span {
  color: var(--gold);
  font-weight: 600;
  letter-spacing: 0.05em;
  transition: color 0.3s ease;
}

.footer-dev:hover span {
  color: var(--gold-2);
}

.footer-dev:hover {
  transform: translateY(-1px);
}



.insta-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.3s ease;
}

.insta-link:hover {
  color: #B89C50; 
  text-decoration-thickness: 2px;
}



.price-action {
  display: flex;
  align-items: center;
  justify-content: space-between; 
  min-width: 120px; 
}

.price-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
}


.info-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: var(--muted);
  transition: all 0.25s ease;
}

.info-link:hover {
  border-color: var(--gold);
  color: var(--gold);
  transform: translateY(-2px);
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

.price-action {
  display: flex;
  align-items: center;
  gap: 12px;
}

.price-list li span {
  color: var(--gold);
  font-weight: 600;
}


.info-link svg {
  transform-origin: center;
  transition: transform 0.25s ease;
}

.info-link:hover svg circle {
  animation: blink 0.5s ease;
}

@keyframes blink {
  0%, 100% { transform: scaleY(1); }
  40% { transform: scaleY(0.3); } 
  60% { transform: scaleY(0.7); }
}


/* ===== Модальное окно ===== */
.modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 200;
  backdrop-filter: blur(4px);
}

.modal.is-open {
  display: flex;
}

.modal__dialog {
  position: relative;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  max-width: min(90vw, 800px);
  max-height: 90vh;
  box-shadow: 0 10px 40px rgba(0,0,0,0.4);
}

.modal__image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.modal__close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: rgba(255,255,255,0.9);
  color: #000;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease;
}

.modal__close:hover {
  transform: rotate(90deg);
  background: #fff;
}


.body-lock {
  overflow: hidden;
}

/* === Селектор языков в хедере === */
.lang-switch {
  display: flex;
  align-items: center;
  margin-left: 10px;
}

.lang-switch select {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 500;
  padding: 6px 14px 6px 10px;
  appearance: none;
  cursor: pointer;
  transition: border-color 0.3s ease, color 0.3s ease;
}

.lang-switch select:hover {
  border-color: var(--gold);
  color: var(--gold);
}

.lang-switch select:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(184,156,80,0.15);
  border-color: var(--gold);
}















/* --- планшеты и ноутбуки (до 980px) --- */
@media (max-width: 980px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .hero-visual {
    min-height: 420px;
  }

  .card-photo:nth-child(1) {
    position: relative;
    width: 100%;
    height: 420px;
    right: auto;
  }

  .card-photo:nth-child(2),
  .card-photo:nth-child(3) {
    display: none;
  }

  .about-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .steps {
    grid-template-columns: 1fr 1fr;
  }

  .contact-grid {
    grid-template-columns: 1fr;
  }

  .price-box:first-child,
  .price-box:last-child {
    width: 100%;
    max-width: none;
    padding: 24px;
  }
}

/* --- мобильные (до 768px) --- */
@media (max-width: 768px) {
  .section {
    padding: 56px 0;
  }

  .section-title {
    font-size: 1.6rem;
    text-align: center;
  }

  .section-sub, .subhead {
    text-align: center;
  }

  .steps {
    grid-template-columns: 1fr;
  }

  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .price-groups {
    gap: 36px;
  }

  .price-box {
    padding: 22px;
  }

  .footer-centered {
    padding: 32px 0;
    font-size: 0.9rem;
  }
}

/* --- телефоны (до 480px) --- */
@media (max-width: 480px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .section-title {
    font-size: 1.4rem;
  }

  .subhead, .section-sub {
    font-size: 0.95rem;
  }

  .steps, .contact-grid, .price-grid {
    grid-template-columns: 1fr;
  }

  .footer-centered {
    padding: 28px 0;
  }

  .footer-copy, .footer-dev {
    font-size: 0.85rem;
  }
}



@media (max-width: 640px) {
  .hero-visual {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    min-height: auto;
    margin-top: 24px;
  }

  .hero-visual .card-photo {
    position: relative;
    width: 88%;
    height: auto;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 16px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .hero-visual .card-photo:hover {
    transform: scale(1.02);
    box-shadow: 0 10px 24px rgba(0,0,0,0.1);
  }


  .card-photo:nth-child(1) {
    transform: translateX(-10px) rotate(-1deg);
    z-index: 3;
  }

  .card-photo:nth-child(2) {
    transform: translateX(8px) rotate(1deg);
    z-index: 2;
  }

  .card-photo:nth-child(3) {
    transform: translateX(-6px) rotate(-1.5deg);
    z-index: 1;
  }
}


@media(max-width:980px){
  .card-photo:nth-child(2),
  .card-photo:nth-child(3){
    display:block !important;
  }
}


@media (max-width:640px){
  .hero-visual{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:16px;
    margin-top:24px;
  }
  .hero-visual .card-photo{
    width:88%;
    border-radius:14px;
    box-shadow:0 6px 16px rgba(0,0,0,0.08);
  }
  .card-photo:nth-child(1){transform:translateX(-8px) rotate(-1deg);}
  .card-photo:nth-child(2){transform:translateX(8px) rotate(1deg);}
  .card-photo:nth-child(3){transform:translateX(-5px) rotate(-1.5deg);}
}



@media (max-width: 640px) {
  .hero-visual {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 10px; 
    gap: 0; 
  }

  .hero-visual .card-photo {
    position: relative;
    width: 75%; 
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 16px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .card-photo:nth-child(2) {
    z-index: 3;
    width: 82%;
    transform: translateY(-18px);
  }


  .card-photo:nth-child(1) {
    z-index: 2;
    transform: translateY(28px);
  }


  .card-photo:nth-child(3) {
    z-index: 1;
    transform: translateY(-48px);
  }


  .hero-visual .card-photo:hover {
    transform: scale(1.02);
    box-shadow: 0 10px 28px rgba(0,0,0,0.1);
  }
}



@media (max-width: 640px) {

  .section-head {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
  }

  .section-head h2,
  .section-head .section-sub {
    text-align: center;
    margin: 0 auto;
  }


  .gallery-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px;
    margin-top: 20px;
  }

  .gallery-item {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid var(--line);
  }

  .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}



@media (max-width: 640px) {
  .gallery-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
  }

  .gallery-item {
    width: 85%; 
    max-width: 360px;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 16px rgba(0,0,0,0.08);
    border: 1px solid var(--line);
  }

  .gallery-item img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
  }

  .section-head {
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 20px;
  }

  .section-head h2,
  .section-sub {
    text-align: center;
    margin: 0;
  }
}


@media (max-width: 640px) {
  .gallery-item:first-child {
    width: 85%;
    max-width: 360px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
  }

  .gallery-item:first-child img {
    width: 100%;
    height: 100%;
    object-fit: cover !important; 
    display: block;
  }
}





















/* === Мобильная адаптация === */
@media (max-width: 768px) {
  .site-header {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    background: #fff;
    z-index: 999;
  }

  .logo {
    display: flex;
    align-items: center;
    gap: 6px;
  }

  .logo img {
    height: 60px;
  }

  .logo-text {
    font-size: 0.9rem;
    letter-spacing: 0.05em;
  }


  .nav-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    flex-direction: column;
    align-items: center;
    background: #fff;
    border-top: 1px solid #eee;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
    padding: 24px 0;
    gap: 18px;
  }

  .nav-menu a,
  .nav-menu .lang-btn {
    font-size: 1rem;
    text-decoration: none;
    color: #333;
  }


  .nav-menu.active {
    display: flex;
  }


  .burger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 24px;
    gap: 6px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 1000;
  }

  .burger span {
    width: 100%;
    height: 2px;
    background-color: #333;
    transition: all 0.3s ease;
  }


  .burger.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }

  .burger.active span:nth-child(2) {
    opacity: 0;
  }

  .burger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
  }
}





@media (min-width: 769px) {

  .nav-menu {
    display: flex !important;
    position: static !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 1.2rem !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }


  .burger {
    display: none !important;
  }


  .lang-switch select {
    position: static;
    transform: none;
    background: #fff;
    border: 1px solid var(--line);
  }
}




@media (max-width: 640px) {
  .slider {
    padding: 20px 14px;
    overflow: visible !important;
    box-shadow: none;
    border: none;
  }


  .slides {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    transform: none !important;
    animation: none !important;
    gap: 22px; 
  }


  .slide {
    width: 100% !important;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
    padding: 18px 16px;
    text-align: center;
  }

  .slide p {
    font-size: 0.88rem;
    line-height: 1.55;
    color: var(--ink);
    margin: 0;
  }

  .slide .author {
    font-size: 0.8rem;
    color: var(--muted);
    margin-top: 8px;
  }


  .dots {
    display: none !important;
  }
}





@media (max-width: 640px) {
  .price-section .price-groups .price-box:last-child .price-list li{
    display: grid !important;
    grid-template-columns: 1fr max-content; 
    column-gap: 12px;
    align-items: start;
    line-height: 1.45;
    overflow-wrap: anywhere;  
  }


  .price-section .price-groups .price-box:last-child .price-list li span{
    grid-column: 2;
    justify-self: end;
    white-space: nowrap;     
    display: inline-flex;
    align-items: baseline;
    flex-shrink: 0;
    min-width: 0;            
    font-weight: 600;
    color: var(--gold);
  }
}


@media (max-width: 640px) {

  .price-section .price-groups .price-box:last-child .price-list li {
    display: grid !important;
    grid-template-columns: 1fr max-content;
    column-gap: 12px;
    align-items: start;
    line-height: 1.45;
  }


  .price-section .price-groups .price-box:last-child .price-list li span {
    grid-column: 2;
    justify-self: end;
    white-space: nowrap;
    display: inline-block;
    font-weight: 600;
    color: var(--gold);
  }

  .price-section .price-groups .price-box:last-child .price-list li span br {
    display: none !important;
  }
}




@media (max-width: 768px) {
  html, body {
    overflow-x: clip; 
    overflow-y: visible; 
    width: 100%;
    max-width: 100vw;
  }
}



@media (max-width: 640px) {
  .hero-visual {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 30 !important; 
    margin: 0 !important;
    padding: 0 !important;
  }

  .hero-visual .card-photo {
    position: relative !important;
    width: 70% !important;      
    max-width: none !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important; 
    border-radius: 1 !important;   
    overflow: hidden !important;
    box-shadow: 1 !important;   
    margin: 0 !important;
  }

  .hero-visual .card-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }
}




.price-list li {
  display: grid;
  grid-template-columns: 1fr auto; 
  align-items: baseline;          
  justify-content: space-between;
  column-gap: 10px;
  line-height: 1.4;
}

/* Текст услуги */
.price-list li span:first-child {
  display: inline-block;
  font-size: 0.95rem;
  color: var(--ink);
  white-space: normal; 
}

/* Цена */
.price-list li span:last-child {
  display: inline-flex;
  align-items: baseline; 
  font-weight: 600;
  color: var(--gold);
  white-space: nowrap; 
}



@media (max-width: 768px) {
  .site-header {
    position: fixed !important;   
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;     
    background: var(--paper);     
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); 
  }

  body {
    padding-top: 70px; 
  }
}




#preloader {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  z-index: 99999;
  animation: fadeOut 0.6s ease 1.8s forwards; 
}

.preloader-logo img {
  width: 140px;
  opacity: 0;
  animation: logoBlink 1.8s ease-in-out forwards;
}

@keyframes logoBlink {
  0%   { opacity: 0; transform: scale(0.9); filter: blur(3px); }
  25%  { opacity: 1; transform: scale(1.05); filter: blur(0); }
  50%  { opacity: 0.6; transform: scale(0.95); }
  75%  { opacity: 1; transform: scale(1); }
  100% { opacity: 1; transform: scale(1); }
}


@keyframes fadeOut {
  to {
    opacity: 0;
    visibility: hidden;
  }
}



@media (max-width: 768px) {
  .subhead,
  .section-sub {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .hero-cta,
  .badges {
    justify-content: flex-start !important;
  }
}




@media (max-width: 768px) {
  .hero-visual {
    display: none !important;
  }
}
