:root{
  /* Фирменный стиль: глубокий хаки (как обложка) + кремовый беж + золото */
  --bg:#f3eee2;        /* тёплый кремовый фон (в тон логотипу) */
  --bg-alt:#e7e0cf;    /* беж чуть темнее для чередующихся секций */
  --ink:#2f3322;       /* глубокий хаки — текст, в тон обложке */
  --muted:#6f6c57;     /* приглушённый хаки */
  --accent:#565a3c;    /* глубокий оливковый акцент — в тон обложке */
  --accent-dark:#3e422d; /* цвет обложки — для ховеров/баннеров */
  --gold:#b9a06a;      /* тёплое золото для деталей */
  --wa:#25d366;
  --card:#fbf9f3;
  --shadow:0 14px 40px rgba(60,60,40,.10);
  --radius:18px;
  --maxw:1140px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Jost',system-ui,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* ---------- кнопки ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:var(--accent);color:#fff;font-weight:500;font-size:.98rem;
  padding:.85rem 1.6rem;border-radius:999px;border:1px solid var(--accent);
  cursor:pointer;transition:.25s;letter-spacing:.3px;
}
.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--ink);border-color:rgba(58,48,43,.25)}
.btn--ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--small{padding:.55rem 1.1rem;font-size:.85rem}
.btn--wa{background:var(--wa);border-color:var(--wa)}
.btn--wa:hover{background:#1eb858;border-color:#1eb858}
.btn--tg{background:#2aabee;border-color:#2aabee}
.btn--tg:hover{background:#1f95d3;border-color:#1f95d3}

/* ---------- шапка ---------- */
.header{
  position:sticky;top:0;z-index:50;
  background:rgba(250,246,242,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(156,107,82,.12);
}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:1rem}
.logo{display:flex;align-items:center;font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:700;letter-spacing:2px;line-height:1}
.logo__img{height:46px;width:auto;display:block}
.logo__text{display:block}
.logo__text span{display:block;font-family:'Jost',sans-serif;font-size:.62rem;letter-spacing:5px;color:var(--accent);font-weight:400;text-transform:uppercase}
.nav{display:flex;gap:1.6rem}
.nav a{font-size:.95rem;color:var(--ink);position:relative;padding:.2rem 0}
.nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--accent);transition:.25s}
.nav a:hover::after{width:100%}
.header__actions{display:flex;align-items:center;gap:.8rem}
.lang{display:flex;border:1px solid rgba(156,107,82,.3);border-radius:999px;overflow:hidden}
.lang__btn{background:none;border:none;padding:.35rem .6rem;font-size:.78rem;cursor:pointer;color:var(--muted);font-family:inherit;transition:.2s}
.lang__btn.active{background:var(--accent);color:#fff}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.burger span{width:24px;height:2px;background:var(--ink);transition:.3s}

/* ---------- hero ---------- */
.hero{
  position:relative;min-height:88vh;display:flex;align-items:center;
  background:linear-gradient(160deg,#474b34 0%,#3e422d 50%,#34381f 100%);
  text-align:center;overflow:hidden;
}
.hero__overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.05),transparent 60%)}
.hero__content{position:relative;z-index:2;color:#f4f0e6}
.hero__logo{height:clamp(96px,17vw,180px);width:auto;margin:0 auto 1.4rem;display:block}
.hero__eyebrow{text-transform:uppercase;letter-spacing:5px;font-size:.78rem;font-weight:400;margin-top:1.1rem;opacity:.85}
.hero__title{font-family:'Montserrat',sans-serif;font-size:clamp(3.6rem,12vw,7.5rem);font-weight:800;text-transform:uppercase;letter-spacing:1px;line-height:1;text-shadow:0 4px 30px rgba(0,0,0,.2)}
.hero__subtitle{margin:1.2rem 0 2.2rem;font-size:clamp(1rem,2.4vw,1.3rem);font-weight:300;letter-spacing:2px}
.hero__buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.hero .btn:not(.btn--ghost){background:var(--gold);border-color:var(--gold);color:#3a3a2e}
.hero .btn:not(.btn--ghost):hover{background:#a98e58;border-color:#a98e58}
.hero .btn--ghost{color:#f4f0e6;border-color:rgba(244,240,230,.7)}
.hero .btn--ghost:hover{background:#f4f0e6;color:var(--ink)}

/* ---------- секции ---------- */
.section{padding:90px 0}
.section--alt{background:var(--bg-alt)}
.section__eyebrow{text-align:center;text-transform:uppercase;letter-spacing:4px;font-size:.8rem;color:var(--accent);margin-bottom:.6rem}
.section__title{text-align:center;font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:600;margin-bottom:.5rem}
.section__lead{text-align:center;color:var(--muted);max-width:600px;margin:0 auto 2.5rem}

/* ---------- услуги ---------- */
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:2.2rem}
.service{background:var(--card);border-radius:14px;padding:1.3rem 1.4rem;box-shadow:var(--shadow);transition:.3s;border:1px solid rgba(86,90,60,.06)}
.service:hover{transform:translateY(-4px)}
.service__head{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem;padding-bottom:.6rem;border-bottom:1px solid rgba(86,90,60,.15)}
.service__icon{font-size:1.35rem}
.service__name{font-family:'Jost',sans-serif;font-size:1.12rem;font-weight:600;letter-spacing:.3px}
.service__item{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;font-size:.9rem}
.service__item span:first-child{color:var(--ink)}
.service__price{color:var(--accent);font-weight:600;white-space:nowrap}
.services__note{text-align:center;color:var(--muted);font-size:.82rem;margin-top:1.6rem;font-style:italic;max-width:760px;margin-left:auto;margin-right:auto}

/* ---------- галерея ---------- */
.gallery-carousel{position:relative}
.gallery{
  display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;padding:.2rem .2rem 1rem;
  -ms-overflow-style:none;scrollbar-width:none;
}
.gallery::-webkit-scrollbar{display:none}
.gallery__item{
  flex:0 0 clamp(230px,42%,290px);scroll-snap-align:start;
  aspect-ratio:3/4;border-radius:var(--radius);overflow:hidden;position:relative;
  display:flex;align-items:flex-end;justify-content:center;
  color:#fff;font-family:'Cormorant Garamond',serif;font-size:1.25rem;
  background-size:cover;background-position:center;transition:.35s;
}
.gallery-nav{
  position:absolute;top:calc(50% - .5rem);transform:translateY(-50%);z-index:6;
  width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;
  background:var(--card);color:var(--accent);box-shadow:var(--shadow);
  font-size:1.7rem;line-height:1;display:flex;align-items:center;justify-content:center;
  transition:.2s;padding-bottom:4px;
}
.gallery-nav:hover{background:var(--accent);color:#fff}
.gallery-nav--prev{left:-12px}
.gallery-nav--next{right:-12px}
@media(max-width:560px){
  .gallery__item{flex-basis:78%}
  .gallery-nav{display:none}
}
.gallery__item::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(50,30,22,.55))}
.gallery__item span{position:relative;z-index:2;padding:1rem;letter-spacing:1px}
.gallery__item:hover{transform:scale(1.02)}

/* ---------- мастера ---------- */
.masters__title{text-align:center;font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:600;margin:3rem 0 2rem}
.masters{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}
.master{text-align:center;background:var(--card);padding:2rem 1.2rem;border-radius:var(--radius);box-shadow:var(--shadow)}
.master__avatar{width:96px;height:96px;border-radius:50%;margin:0 auto 1rem;background:linear-gradient(135deg,var(--gold),var(--accent));display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Cormorant Garamond',serif;font-size:2rem}
.master__name{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:600}
.master__role{color:var(--accent);font-size:.9rem;letter-spacing:1px}
.about__text{max-width:760px;margin:0 auto;text-align:center;color:var(--muted);font-size:1.08rem}

/* ---------- контакты ---------- */
.contacts{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-top:2.5rem;align-items:start}
.contacts__row{display:flex;flex-direction:column;padding:.7rem 0;border-bottom:1px solid rgba(156,107,82,.15)}
.contacts__row span{font-size:.78rem;text-transform:uppercase;letter-spacing:2px;color:var(--muted)}
.contacts__row b{font-size:1.1rem;font-weight:500}
.contacts__buttons{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.6rem 0 1.2rem}
.socials{display:flex;gap:1rem}
.social{color:var(--accent);font-weight:500;border-bottom:1px solid transparent;transition:.2s}
.social:hover{border-color:var(--accent)}
.contacts__map{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);height:100%;min-height:340px}
.contacts__map iframe{width:100%;height:100%;min-height:340px;border:0}

/* ---------- подвал ---------- */
.footer{background:var(--ink);color:#e8ddd5;padding:2rem 0}
.footer__inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;font-size:.9rem}
.footer__brand{display:flex;align-items:center;gap:.6rem}
.footer__logo{height:28px;width:auto;display:block}

/* ---------- плавающая кнопка ---------- */
.fab{
  position:fixed;right:22px;bottom:22px;z-index:60;
  width:58px;height:58px;border-radius:50%;background:var(--wa);color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(37,211,102,.45);transition:.25s;
}
.fab:hover{transform:scale(1.08)}

/* ---------- акции / скидки ---------- */
.promo{
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  color:#fff;border-radius:var(--radius);padding:2.6rem 2rem;text-align:center;
  box-shadow:var(--shadow);position:relative;overflow:hidden;
}
.promo::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(185,160,106,.35),transparent 60%)}
.promo__inner{position:relative;z-index:2}
.promo__badge{display:inline-block;background:var(--gold);color:#2c2c1f;font-weight:600;
  font-size:.8rem;letter-spacing:2px;text-transform:uppercase;padding:.35rem 1rem;border-radius:999px;margin-bottom:1rem}
.promo__title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:600;margin-bottom:.6rem}
.promo__text{opacity:.95;max-width:560px;margin:0 auto 1.6rem}
.promo .btn{background:var(--gold);border-color:var(--gold);color:#2c2c1f}
.promo .btn:hover{background:#a98e58;border-color:#a98e58}

/* ---------- отзывы ---------- */
.reviews-widget{margin-top:2.5rem}
.reviews-carousel{position:relative;margin-top:2.5rem}
.reviews{
  display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;
  scroll-behavior:smooth;padding:.2rem .2rem 1rem;
  -ms-overflow-style:none;scrollbar-width:none;
}
.reviews::-webkit-scrollbar{display:none}
.review{
  flex:0 0 clamp(280px,80%,360px);scroll-snap-align:start;
  background:var(--card);border-radius:var(--radius);padding:1.8rem;
  box-shadow:var(--shadow);border:1px solid rgba(110,115,80,.08);
}
.review__stars{color:var(--gold);letter-spacing:2px;margin-bottom:.8rem}
.review__text{font-style:italic;color:var(--ink);margin-bottom:1.1rem}
.review__author{font-weight:600;color:var(--accent)}

/* ---------- FAQ ---------- */
.faq{max-width:780px;margin:2.5rem auto 0}
.faq__item{background:var(--card);border-radius:14px;margin-bottom:.8rem;box-shadow:var(--shadow);overflow:hidden}
.faq__q{width:100%;text-align:left;background:none;border:none;cursor:pointer;
  padding:1.2rem 1.4rem;font-family:inherit;font-size:1.05rem;font-weight:500;color:var(--ink);
  display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq__q::after{content:"+";font-size:1.5rem;color:var(--accent);transition:.25s;line-height:1}
.faq__item.open .faq__q::after{transform:rotate(45deg)}
.faq__a{max-height:0;overflow:hidden;transition:max-height .3s ease;color:var(--muted)}
.faq__a p{padding:0 1.4rem 1.2rem}

/* ---------- политика отмены ---------- */
.policy{max-width:820px;margin:2.5rem auto 0;display:flex;flex-direction:column;gap:1rem}
.policy__item{
  display:flex;gap:1rem;align-items:flex-start;background:var(--card);
  border-radius:14px;padding:1.2rem 1.4rem;box-shadow:var(--shadow);
  border-left:4px solid var(--accent);
}
.policy__item--accent{border-left-color:var(--gold);background:#f7f3e8}
.policy__icon{flex:0 0 auto;color:var(--accent);font-size:1.3rem;line-height:1.5}
.policy__item--accent .policy__icon{color:var(--gold)}
.policy__text{color:var(--ink);font-size:1rem}

/* ---------- адаптив ---------- */
@media(max-width:860px){
  .nav{
    position:fixed;top:72px;right:0;width:75%;max-width:320px;height:calc(100vh - 72px);
    flex-direction:column;background:var(--bg);padding:2rem;gap:1.4rem;
    transform:translateX(100%);transition:.3s;box-shadow:var(--shadow);
  }
  .nav.open{transform:translateX(0)}
  .burger{display:flex}
  .contacts{grid-template-columns:1fr}
  .nav a{font-size:1.1rem}
}
@media(max-width:560px){
  .header__actions .btn--small{display:none}
  .section{padding:64px 0}
}
