/* ═══════════════════════════════════════════════════════
   OLIGARH BARBERSHOP — design system
   Палитра: уголь + латунь. Тёмная тема как основная.
   ═══════════════════════════════════════════════════════ */

:root{
  /* Поверхности */
  --bg:        #0A0A0B;
  --bg-2:      #0F0F11;
  --bg-3:      #141417;
  --surface:   #17171B;
  --line:      rgba(200,169,106,.16);
  --line-soft: rgba(255,255,255,.07);

  /* Латунь */
  --gold:      #C8A96A;
  --gold-lt:   #E7D4A6;
  --gold-dk:   #9A7F43;
  --gold-glow: rgba(200,169,106,.35);

  /* Текст */
  --tx:        #EDEAE4;
  --tx-2:      #A29D95;
  --tx-3:      #6F6A64;

  /* Типографика */
  /* Bitter — брусковые засечки: инструмент, вывеска мастерской.
     Golos Text — гротеск, спроектированный под кириллицу, а не адаптированный. */
  --f-display: "Bitter", Georgia, "Times New Roman", serif;
  --f-ui:      "Golos Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* Ритм */
  --wrap:      1240px;
  --gap:       clamp(16px, 2.2vw, 28px);
  --sec-y:     clamp(64px, 9vw, 132px);
  --r:         2px;
  --r-lg:      4px;

  --ease:      cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }

/* [hidden] должен побеждать любой display из классов ниже:
   без этого .mobnav{display:flex} перекрывает браузерный дефолт */
[hidden]{ display:none !important; }

html{
  scroll-behavior:smooth;
  scroll-padding-top:88px;
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  background:var(--bg);
  color:var(--tx);
  font-family:var(--f-ui);
  font-size:16px;
  line-height:1.65;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

/* Тонкая зернистость поверх фона — даёт «плёночную» глубину */
body::before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none; z-index:1;
  opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; }

::selection{ background:var(--gold); color:#0A0A0B; }

.wrap{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:clamp(18px, 4vw, 40px);
}

/* Дети grid/flex по умолчанию имеют min-width:auto и не сжимаются
   меньше своего содержимого — из-за этого длинная строка вроде
   «09:00–22:00 ежедневно» раздувала колонку и вся страница уезжала
   за правый край на узких экранах. Разрешаем сжатие явно. */
.hero__in > *,
.hero__facts > div,
.summary__grid > *,
.contacts__grid > *,
.rat > *,
.rat__bars li > *,
.factsheet > div > *,
.price__card,
.why__i,
.master,
.steps__list li,
.ftr__in > *{ min-width:0; }

.cmp{ max-width:100%; }

.visually-hidden{
  position:absolute!important; width:1px; height:1px;
  margin:-1px; padding:0; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:999;
  background:var(--gold); color:#0A0A0B;
  padding:12px 20px; font-weight:600;
}
.skip-link:focus{ left:12px; top:12px; }

:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
  border-radius:2px;
}

/* ── Типографика ───────────────────────────────────── */

h1,h2,h3{
  font-family:var(--f-display);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.015em;
  margin:0;
  text-wrap:balance;          /* заголовки не оставляют висячих слов */
}

/* Шкала течёт от 360px до 1440px без ступеней */
h1{ font-size:clamp(2.35rem, 1.2rem + 5.1vw, 4.9rem); font-weight:800; letter-spacing:-.025em; }
h2{ font-size:clamp(1.7rem, 1.15rem + 2.4vw, 2.85rem); font-weight:800; }
h3{ font-size:clamp(1.1rem, 1rem + .45vw, 1.35rem); }

p{ text-wrap:pretty; }        /* убирает одинокое слово в конце абзаца */

/* Название набрано фирменной латунью целиком — это имя бренда,
   а не подсветка случайного слова градиентом. */
.h1-gold{ color:var(--gold-lt); }
.h1-sub{
  display:block;
  font-family:var(--f-ui);
  font-size:.28em;
  font-weight:400;
  color:var(--tx-2);
  letter-spacing:0;
  line-height:1.4;
  margin-top:.5em;
}

.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--f-ui);
  font-size:13.5px; font-weight:500;
  letter-spacing:.01em;
  color:var(--tx-2);
  margin:0 0 24px;
}
.dot{
  width:7px; height:7px; border-radius:50%;
  background:var(--tx-3); flex:none;
}
.dot.is-open{
  background:#4ADE80;
  box-shadow:0 0 0 0 rgba(74,222,128,.6);
  animation:pulse 2.4s infinite;
}
@keyframes pulse{
  70%{ box-shadow:0 0 0 8px rgba(74,222,128,0); }
  100%{ box-shadow:0 0 0 0 rgba(74,222,128,0); }
}

.muted{ color:var(--tx-3); }

/* ── Заголовки секций ──────────────────────────────── */

.sec-head{ margin-bottom:clamp(34px, 5vw, 64px); max-width:820px; }
.sec-num{
  display:block;
  width:38px; height:2px;
  background:var(--gold);
  margin-bottom:20px;
  font-size:0;
}
.sec-sub{
  margin:18px 0 0;
  color:var(--tx-2);
  font-size:clamp(15px, 1.25vw, 17px);
  max-width:64ch;
}
.sec-sub a{ color:var(--gold); border-bottom:1px solid var(--line); }

/* ── Кнопки ────────────────────────────────────────── */

.btn{
  --btn-py:13px; --btn-px:26px;
  position:relative;
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:var(--btn-py) var(--btn-px);
  font-family:var(--f-ui);
  font-size:13.5px; font-weight:600;
  letter-spacing:.09em; text-transform:uppercase;
  border:1px solid transparent;
  border-radius:var(--r);
  cursor:pointer;
  transition:.4s var(--ease);
  white-space:nowrap;
  overflow:hidden;
}
.btn--lg{ --btn-py:17px; --btn-px:34px; font-size:14px; }
.btn--sm{ --btn-py:10px; --btn-px:18px; font-size:12px; letter-spacing:.07em; }
.btn--wide{ width:100%; }

.btn--gold{
  background:linear-gradient(100deg, var(--gold-dk), var(--gold) 48%, var(--gold-lt));
  color:#0A0A0B;
  box-shadow:0 8px 30px -10px var(--gold-glow);
}
.btn--gold::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, transparent 20%, rgba(255,255,255,.5), transparent 80%);
  transform:translateX(-120%);
  transition:transform .8s var(--ease);
}
.btn--gold:hover{
  box-shadow:0 14px 44px -12px var(--gold-glow);
  transform:translateY(-2px);
}
.btn--gold:hover::after{ transform:translateX(120%); }

.btn--ghost{
  border-color:var(--line);
  color:var(--tx);
  background:rgba(255,255,255,.02);
}
.btn--ghost:hover{
  border-color:var(--gold);
  color:var(--gold);
  background:rgba(200,169,106,.06);
}

.ico{ width:17px; height:17px; flex:none; }

/* ── Header ────────────────────────────────────────── */

.hdr{
  position:fixed; inset:0 0 auto; z-index:100;
  transition:.45s var(--ease);
  border-bottom:1px solid transparent;
}
.hdr.is-stuck{
  background:rgba(10,10,11,.86);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border-bottom-color:var(--line-soft);
}
.hdr__in{
  display:flex; align-items:center; gap:clamp(14px,3vw,42px);
  height:74px;
}
.hdr.is-stuck .hdr__in{ height:64px; }

.logo{ display:flex; align-items:center; gap:11px; flex:none; }
.logo__mark{ width:24px; height:24px; color:var(--gold); flex:none; }
.logo__txt{
  display:flex; flex-direction:column;
  font-family:var(--f-ui);
  font-size:15px; font-weight:700;
  letter-spacing:.2em; line-height:1;
}
.logo__txt em{
  font-style:normal;
  font-size:8.5px; font-weight:400;
  letter-spacing:.34em;
  color:var(--tx-3);
  margin-top:4px;
}

.nav{ display:flex; gap:clamp(14px,1.8vw,28px); margin-left:auto; }
.nav a{
  position:relative;
  font-size:13.5px; color:var(--tx-2);
  transition:color .3s var(--ease);
  padding:6px 0;
}
.nav a::after{
  content:""; position:absolute; left:0; bottom:0;
  width:0; height:1px; background:var(--gold);
  transition:width .4s var(--ease);
}
.nav a:hover{ color:var(--tx); }
.nav a:hover::after{ width:100%; }

.hdr__act{ display:flex; align-items:center; gap:14px; }
.hdr__tel{
  font-size:14px; font-weight:600;
  letter-spacing:.02em;
  white-space:nowrap;
  transition:color .3s var(--ease);
}
.hdr__tel:hover{ color:var(--gold); }
.lang{
  font-size:11.5px; font-weight:600; letter-spacing:.14em;
  color:var(--tx-3);
  border:1px solid var(--line-soft);
  padding:6px 9px; border-radius:var(--r);
  transition:.3s var(--ease);
}
.lang:hover{ color:var(--gold); border-color:var(--line); }

.burger{
  display:none;
  width:40px; height:40px;
  flex-direction:column; justify-content:center; align-items:center; gap:5px;
  background:none; border:1px solid var(--line-soft); border-radius:var(--r);
  cursor:pointer; padding:0;
}
.burger span{
  width:17px; height:1.5px; background:var(--tx);
  transition:.35s var(--ease);
}
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

.mobnav{
  position:fixed; inset:74px 0 0; z-index:99;
  max-height:calc(100dvh - 74px);
  background:rgba(10,10,11,.98);
  backdrop-filter:blur(20px);
  padding:32px clamp(18px,4vw,40px) 48px;
  display:flex; flex-direction:column; gap:28px;
  overflow-y:auto;
}
.mobnav nav{ display:flex; flex-direction:column; }
.mobnav nav a{
  font-family:var(--f-display);
  font-size:clamp(1.35rem, 1.1rem + 1.2vw, 1.7rem);
  font-weight:700;
  padding:15px 0;
  border-bottom:1px solid var(--line-soft);
}
.mobnav__lang{ color:var(--gold)!important; }

/* ── Hero ──────────────────────────────────────────── */

.hero{
  position:relative;
  padding:calc(74px + clamp(48px,7vw,96px)) 0 clamp(56px,7vw,96px);
  overflow:hidden;
  isolation:isolate;
}
.hero__bg{ position:absolute; inset:0; z-index:-1; }
.hero__grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(to right, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:clamp(60px,7vw,96px) clamp(60px,7vw,96px);
  mask-image:radial-gradient(ellipse 90% 65% at 50% 22%, #000 20%, transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 90% 65% at 50% 22%, #000 20%, transparent 78%);
}
.hero__glow{
  position:absolute; top:-22%; left:50%;
  width:min(1100px,120vw); aspect-ratio:1;
  transform:translateX(-50%);
  background:radial-gradient(circle, rgba(200,169,106,.13) 0%, rgba(200,169,106,.04) 34%, transparent 66%);
  filter:blur(20px);
}

.hero__in{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:clamp(32px, 5vw, 76px);
  align-items:start;
}

.hero__lead{
  max-width:56ch;
  font-size:clamp(15.5px, 1.35vw, 18px);
  color:var(--tx-2);
  margin:28px 0 34px;
}
.hero__lead strong{ color:var(--tx); font-weight:600; }

.hero__cta{ display:flex; flex-wrap:wrap; gap:12px; }

.hero__facts{
  display:grid;
  grid-template-columns:repeat(3,auto);
  gap:clamp(18px,3vw,44px);
  margin:44px 0 0;
  padding-top:28px;
  border-top:1px solid var(--line-soft);
  justify-content:start;
}
.hero__facts dt{
  font-size:12.5px; font-weight:500;
  color:var(--tx-3); margin-bottom:6px;
}
.hero__facts dd{ margin:0; font-size:13.5px; color:var(--tx-2); }
.hero__facts b{
  display:inline-block;
  font-family:var(--f-display);
  font-size:clamp(1.15rem, 1rem + .5vw, 1.4rem);
  font-weight:800;
  font-variant-numeric:tabular-nums;
  color:var(--gold); margin-right:5px;
}

/* Барберский шест — тонкая декоративная полоса внизу hero */
.barberpole{
  height:3px;
  background:repeating-linear-gradient(115deg,
    var(--gold) 0 14px,
    #0A0A0B 14px 28px,
    #7d1f1f 28px 42px,
    #0A0A0B 42px 56px);
  background-size:200% 100%;
  animation:pole 9s linear infinite;
  opacity:.55;
}
@keyframes pole{ to{ background-position:-200% 0; } }

/* ── Карточка записи ───────────────────────────────── */

.bookcard{
  position:relative;
  background:linear-gradient(165deg, rgba(28,28,32,.92), rgba(16,16,19,.96));
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:clamp(24px, 2.6vw, 34px);
  box-shadow:0 40px 90px -40px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.05);
  scroll-margin-top:100px;
}
.bookcard::before{
  content:""; position:absolute; inset:-1px;
  border-radius:inherit; padding:1px;
  background:linear-gradient(160deg, var(--gold-glow), transparent 42%, transparent 62%, rgba(200,169,106,.18));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  pointer-events:none;
}
.bookcard__top{ margin-bottom:24px; }
.bookcard__top h2{
  font-size:clamp(25px,2.2vw,32px);
  margin-bottom:9px;
}
.bookcard__top p{
  margin:0; font-size:13.5px; color:var(--tx-2); line-height:1.55;
}

.form{ display:flex; flex-direction:column; gap:15px; }
.field{ display:flex; flex-direction:column; gap:7px; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }

.field label{
  font-size:13.5px; font-weight:500;
  color:var(--tx-2);
}
.req{ color:var(--gold); }

.field input,
.field select{
  width:100%;
  padding:13px 15px;
  background:rgba(0,0,0,.34);
  border:1px solid var(--line-soft);
  border-radius:var(--r);
  color:var(--tx);
  font-family:var(--f-ui);
  font-size:15px;
  transition:.3s var(--ease);
  -webkit-appearance:none; appearance:none;
}
.field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A29D95' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 15px center;
  padding-right:38px;
  cursor:pointer;
}
.field input::placeholder{ color:var(--tx-3); }
.field input:focus,
.field select:focus{
  outline:none;
  border-color:var(--gold);
  background:rgba(0,0,0,.5);
  box-shadow:0 0 0 3px rgba(200,169,106,.12);
}
.field input[type="date"]{ color-scheme:dark; }
.field.is-bad input,
.field.is-bad select{ border-color:#E0654F; }

.err{
  font-size:11.5px; color:#E0654F;
  min-height:0; display:none;
}
.field.is-bad .err{ display:block; }

/* honeypot */
.hp{ position:absolute; left:-9999px; opacity:0; height:0; overflow:hidden; }

.btn__spin{ display:none; width:15px; height:15px; border:2px solid rgba(0,0,0,.25); border-top-color:#0A0A0B; border-radius:50%; animation:spin .7s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }
.btn.is-loading{ pointer-events:none; opacity:.75; }
.btn.is-loading .btn__spin{ display:block; }

.form__note{
  margin:0; font-size:11.5px; line-height:1.5;
  color:var(--tx-3); text-align:center;
}
.form__note a{ color:var(--tx-2); border-bottom:1px solid var(--line); }
.form__note a:hover{ color:var(--gold); }

/* Карточка записи через виджет Altegio: три шага и кнопка */
.bkstart{ display:flex; flex-direction:column; gap:15px; }
.bkstart__list{
  list-style:none; margin:0; padding:0;
  display:grid; gap:8px; counter-reset:bk;
}
.bkstart__list li{
  counter-increment:bk;
  display:grid; grid-template-columns:28px 1fr; column-gap:12px; align-items:center;
  padding:11px 14px;
  background:rgba(0,0,0,.3);
  border:1px solid var(--line-soft); border-radius:var(--r);
}
.bkstart__list li::before{
  content:counter(bk); grid-row:span 2;
  display:grid; place-items:center; width:28px; height:28px;
  border-radius:50%; border:1px solid var(--line);
  color:var(--gold); font-size:12.5px; font-weight:600;
}
.bkstart__list b{ font-size:14.5px; font-weight:600; line-height:1.3; }
.bkstart__list span{ font-size:12.5px; line-height:1.3; color:var(--tx-3); }

.form__msg{ display:none; font-size:14px; padding:13px 15px; border-radius:var(--r); line-height:1.5; }
.form__msg.is-ok{ display:block; background:rgba(74,222,128,.1); border:1px solid rgba(74,222,128,.3); color:#8BE9AE; }
.form__msg.is-bad{ display:block; background:rgba(224,101,79,.1); border:1px solid rgba(224,101,79,.3); color:#F0A392; }

.form__alt{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px;
  padding-top:15px; border-top:1px solid var(--line-soft);
  font-size:12.5px; color:var(--tx-3);
}
.form__alt a{ color:var(--gold); border-bottom:1px solid var(--line); }
.form__alt a:hover{ color:var(--gold-lt); }



.linkish{
  padding:0; background:none; border:0; font:inherit; cursor:pointer;
  color:var(--gold); border-bottom:1px solid var(--line);
}
.linkish:hover{ color:var(--gold-lt); }

/* ── Виджет онлайн-записи Altegio ───────────────────
   Живое расписание филиала: клиент сам выбирает мастера, день и время.
   Открывается поверх страницы, чтобы не уводить с сайта. */
.bkw{
  position:fixed; inset:0; z-index:200;
  display:grid; place-items:center;
  padding:clamp(10px,2vw,30px);
  background:rgba(6,6,7,.86);
  backdrop-filter:blur(6px);
}
.bkw[hidden]{ display:none !important; }
.bkw__box{
  position:relative; width:min(920px,100%); height:min(88vh,900px);
  background:#fff; border-radius:var(--r-lg);
  box-shadow:0 40px 120px -40px rgba(0,0,0,.9);
}
.bkw__box iframe{ width:100%; height:100%; border:0; display:block; border-radius:inherit; }
.bkw__close{
  position:absolute; top:-42px; right:0;
  display:flex; align-items:center; gap:8px;
  padding:8px 4px; cursor:pointer;
  background:none; border:0; font:inherit; font-size:13px;
  letter-spacing:.08em; text-transform:uppercase; color:var(--tx-2);
}
.bkw__close:hover{ color:var(--gold); }
.bkw__alt{
  position:absolute; left:0; top:-40px;
  font-size:12.5px; color:var(--tx-3);
}
.bkw__alt a{ color:var(--gold); border-bottom:1px solid var(--line); }

@media (max-width:700px){
  .bkw{ padding:0; }
  .bkw__box{ width:100%; height:100%; border-radius:0; }
  .bkw__close{ top:8px; right:10px; z-index:2; color:#111;
               background:rgba(255,255,255,.9); border-radius:100px; padding:8px 14px; }
  .bkw__alt{ display:none; }
}

/* ── Онлайн-запись через Altegio ───────────────────── */
.bk__steps{
  display:flex; flex-wrap:wrap; gap:6px 14px;
  list-style:none; margin:0 0 20px; padding:0;
  font-size:12px; color:var(--tx-3);
}
.bk__step{ display:flex; align-items:center; gap:7px; }
.bk__step-n{
  display:grid; place-items:center;
  width:20px; height:20px; border-radius:50%;
  border:1px solid var(--line-soft); font-size:11px;
}
.bk__step.is-on{ color:var(--tx); }
.bk__step.is-on .bk__step-n{ border-color:var(--gold); color:var(--gold); }
.bk__step.is-done .bk__step-n{
  background:var(--gold); border-color:var(--gold); color:#0A0A0B;
}

.bk__body{ min-height:120px; }
.bk__note{ margin:0; padding:14px 0; font-size:14px; color:var(--tx-3); }

.bk__grid{ display:grid; gap:8px; }
.bk__card{
  display:grid; gap:4px; text-align:left; cursor:pointer;
  padding:14px 16px;
  background:rgba(0,0,0,.3);
  border:1px solid var(--line-soft); border-radius:var(--r);
  color:var(--tx); font:inherit;
  transition:border-color .25s var(--ease), background .25s var(--ease);
}
.bk__card:hover{ border-color:var(--gold); background:rgba(200,169,106,.06); }
.bk__card b{ font-size:15px; font-weight:600; }
.bk__meta{ display:flex; flex-wrap:wrap; gap:4px 14px; font-size:12.5px; color:var(--tx-3); }
.bk__meta i{ font-style:normal; }
.bk__price{ color:var(--gold); }
.bk__card--any{ border-style:dashed; }
.bk__ava{ width:36px; height:36px; border-radius:50%; object-fit:cover; }

.bk__days{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(64px,1fr)); gap:7px;
}
.bk__day{
  display:grid; gap:1px; justify-items:center; cursor:pointer;
  padding:10px 4px; font:inherit; color:var(--tx);
  background:rgba(0,0,0,.3);
  border:1px solid var(--line-soft); border-radius:var(--r);
  transition:.25s var(--ease);
}
.bk__day:hover{ border-color:var(--gold); background:rgba(200,169,106,.07); }
.bk__day b{ font-family:var(--f-display); font-size:19px; font-weight:800; }
.bk__dow,.bk__mon{ font-style:normal; font-size:11px; color:var(--tx-3); }

.bk__times{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(74px,1fr)); gap:7px;
}
.bk__time{
  padding:11px 6px; cursor:pointer; font:inherit; font-size:14px;
  color:var(--tx); background:rgba(0,0,0,.3);
  border:1px solid var(--line-soft); border-radius:var(--r);
  font-variant-numeric:tabular-nums;
  transition:.25s var(--ease);
}
.bk__time:hover{ border-color:var(--gold); color:var(--gold); background:rgba(200,169,106,.08); }

.bk__summary{
  margin:0 0 16px; padding:12px 14px;
  font-size:14px; color:var(--tx);
  background:rgba(200,169,106,.08);
  border-left:2px solid var(--gold); border-radius:2px;
}
.bk__form{ display:grid; gap:14px; }
.bk__back{
  margin-top:16px; padding:8px 0; cursor:pointer;
  background:none; border:0; font:inherit; font-size:13px; color:var(--tx-3);
  transition:color .25s var(--ease);
}
.bk__back:hover{ color:var(--gold); }
.bk__done{ text-align:center; padding:12px 0; }
.bk__done h3{ margin-bottom:12px; color:var(--gold); }

/* ── Trust bar ─────────────────────────────────────── */

.trust{
  border-block:1px solid var(--line-soft);
  background:var(--bg-2);
}
.trust__in{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:clamp(14px,2vw,28px);
  padding-block:clamp(28px,3.6vw,46px);
}
.trust__i{ text-align:center; }
.trust__i b{
  display:block;
  font-family:var(--f-display);
  font-size:clamp(2rem, 1.3rem + 2.6vw, 3.2rem);
  font-weight:800; line-height:1;
  font-variant-numeric:tabular-nums;
  color:var(--gold);
  margin-bottom:9px;
}
.trust__i span{
  font-size:12.5px; color:var(--tx-2);
  letter-spacing:.02em;
}

/* ── Секции ────────────────────────────────────────── */

section{ position:relative; }
.summary, .services, .why, .steps, .masters, .works, .reviews, .faq, .contacts{
  padding-block:var(--sec-y);
}
.services, .masters, .faq{ background:var(--bg-2); }
.why, .reviews{ background:var(--bg); }

/* ── Кратко / factsheet ────────────────────────────── */

.summary__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(28px,4vw,64px);
  align-items:start;
}
.summary__lead{
  font-family:var(--f-display);
  font-size:clamp(1.05rem, .95rem + .75vw, 1.45rem);
  font-weight:400;
  line-height:1.62;
  color:var(--tx-2);
  margin:0;
  max-width:52ch;
}
.summary__lead strong{ color:var(--tx); font-weight:600; }

.factsheet{ margin:0; display:grid; gap:0; }
.factsheet > div{
  display:grid;
  grid-template-columns:minmax(110px,.42fr) 1fr;
  gap:16px;
  padding:13px 0;
  border-bottom:1px solid var(--line-soft);
}
.factsheet > div:first-child{ border-top:1px solid var(--line-soft); }
.factsheet dt{
  font-size:13.5px; font-weight:500;
  color:var(--tx-3);
  padding-top:2px;
}
.factsheet dd{ margin:0; font-size:14.5px; color:var(--tx); }
.factsheet dd a{ color:var(--gold); }

/* ── Услуги / прайс ────────────────────────────────── */

.price{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(290px,1fr));
  gap:clamp(14px,1.6vw,22px);
}
.price__card{
  container-type:inline-size;
  position:relative;
  display:flex; flex-direction:column;
  padding:clamp(24px,2.4vw,32px);
  background:var(--surface);
  border:1px solid var(--line-soft);
  border-radius:var(--r-lg);
  transition:.45s var(--ease);
  overflow:hidden;
}
.price__card::after{
  content:""; position:absolute; left:0; top:0;
  width:100%; height:2px;
  background:linear-gradient(90deg, var(--gold-dk), var(--gold-lt));
  transform:scaleX(0); transform-origin:left;
  transition:transform .55s var(--ease);
}
.price__card:hover{
  border-color:var(--line);
  transform:translateY(-4px);
  box-shadow:0 26px 60px -34px rgba(0,0,0,.9);
}
.price__card:hover::after{ transform:scaleX(1); }

.price__card--hit{ border-color:var(--line); background:linear-gradient(170deg, rgba(200,169,106,.07), var(--surface) 46%); }
.price__card--hit::after{ transform:scaleX(1); }

.price__badge{
  align-self:flex-start;
  font-size:10px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold);
  border:1px solid var(--line);
  padding:5px 10px; border-radius:100px;
  margin-bottom:14px;
}
.price__card h3{ margin-bottom:11px; }
.price__desc{
  margin:0 0 22px;
  font-size:14px; line-height:1.6;
  color:var(--tx-2);
  flex:1;
}
.price__meta{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:12px; padding-top:18px;
  border-top:1px solid var(--line-soft);
}
.price__val{
  font-family:var(--f-display);
  font-size:clamp(1.5rem, 1.2rem + 1.1vw, 1.95rem);
  font-weight:800; color:var(--gold); line-height:1;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.02em;
}
.price__val i{ font-style:normal; font-size:.44em; font-family:var(--f-ui); font-weight:500; color:var(--tx-2); letter-spacing:.06em; }
.price__val--ask{ font-size:clamp(17px,1.5vw,20px); font-weight:400; font-style:italic; color:var(--tx-2); }
.price__dur{ font-size:12.5px; color:var(--tx-3); white-space:nowrap; }

/* Узкая карточка (две колонки на планшете) — цена и время друг под другом */
@container (max-width: 300px){
  .price__meta{ flex-direction:column; align-items:flex-start; gap:7px; }
  .price__desc{ font-size:13.5px; }
}

.price__go{
  margin-top:20px;
  font-size:12.5px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold);
  display:inline-flex; align-items:center; gap:8px;
  transition:gap .35s var(--ease);
}
.price__go::after{
  content:""; width:14px; height:1px;
  background:currentColor;
  transition:width .35s var(--ease);
}
.price__go:hover::after{ width:24px; }

.services__extra{
  display:flex; flex-wrap:wrap; gap:10px;
  list-style:none; margin:clamp(26px,3vw,38px) 0 0; padding:0;
}
.services__extra li{
  font-size:13px; color:var(--tx-2);
  border:1px solid var(--line-soft);
  padding:9px 16px; border-radius:100px;
  transition:.3s var(--ease);
}
.services__extra li:hover{ border-color:var(--line); color:var(--tx); }

.services__foot{
  margin:26px 0 0; font-size:14px; color:var(--tx-3);
}
.services__foot a{ color:var(--gold); border-bottom:1px solid var(--line); }

/* ── Сравнительная таблица ─────────────────────────── */

.cmp{ overflow-x:auto; margin-bottom:clamp(34px,4.4vw,60px); border:1px solid var(--line-soft); border-radius:var(--r-lg); }
.cmp__tbl{
  width:100%; min-width:640px;
  border-collapse:collapse;
  font-size:14.5px;
}
.cmp__tbl th, .cmp__tbl td{
  padding:15px clamp(14px,1.6vw,22px);
  text-align:left;
  border-bottom:1px solid var(--line-soft);
}
.cmp__tbl thead th{
  font-family:var(--f-ui);
  font-size:13.5px; font-weight:600;
  color:var(--tx-3);
  background:rgba(255,255,255,.02);
}
.cmp__tbl tbody td:first-child{ color:var(--tx-2); font-weight:500; }
.cmp__tbl tbody td:nth-child(2){ color:var(--tx-3); }
.cmp__own{ color:var(--gold)!important; }
.cmp__tbl tbody td:last-child{ color:var(--tx); background:rgba(200,169,106,.045); }
.cmp__tbl thead th:last-child{ background:rgba(200,169,106,.07); }
.cmp__tbl tbody tr:last-child td{ border-bottom:none; }

/* ── Почему мы ─────────────────────────────────────── */

.why__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
  border-radius:var(--r-lg);
  overflow:hidden;
}
.why__i{
  background:var(--bg);
  padding:clamp(26px,2.8vw,38px);
  transition:background .45s var(--ease);
}
.why__i:hover{ background:var(--bg-3); }
.why__n{
  display:block;
  width:26px; height:2px;
  background:var(--gold);
  margin-bottom:18px;
  font-size:0;                /* цифра была декором, а не смыслом */
}
.why__i h3{ margin-bottom:11px; }
.why__i p{ margin:0; font-size:14px; line-height:1.65; color:var(--tx-2); }

/* ── Шаги ──────────────────────────────────────────── */

.steps__list{
  list-style:none; margin:0; padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:clamp(20px,2.6vw,34px);
  counter-reset:s;
}
.steps__list li{ position:relative; padding-top:26px; border-top:1px solid var(--line); }
.steps__n{
  position:absolute; top:-16px; left:0;
  width:32px; height:32px;
  display:grid; place-items:center;
  background:var(--bg); border:1px solid var(--line);
  border-radius:50%;
  font-family:var(--f-display); font-size:14px; font-weight:800;
  color:var(--gold);
}
.steps__list h3{ margin:14px 0 10px; }
.steps__list p{ margin:0; font-size:14px; color:var(--tx-2); line-height:1.65; }

/* ── Мастера ───────────────────────────────────────── */

.masters__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:clamp(16px,2vw,26px);
}
.master{
  container-type:inline-size;
  border:1px solid var(--line-soft);
  border-radius:var(--r-lg);
  overflow:hidden;
  background:var(--surface);
  transition:.45s var(--ease);
}
.master:hover{ border-color:var(--line); transform:translateY(-4px); }
.master__ph{ position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--bg-3); }
.master__ph img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(.55) contrast(1.05);
  transition:.7s var(--ease);
}
.master:hover .master__ph img{ filter:grayscale(0); transform:scale(1.04); }
.master__ph::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(10,10,11,.85), transparent 46%);
}
.master__body{ padding:clamp(20px,2.2vw,26px); }
.master__lvl{
  display:inline-block;
  font-size:10px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--tx-3);
  border:1px solid var(--line-soft);
  padding:5px 10px; border-radius:100px;
  margin-bottom:13px;
}
.master__lvl--vip{ color:var(--gold); border-color:var(--line); background:rgba(200,169,106,.07); }
.master__body h3{ margin-bottom:9px; }
@container (max-width: 260px){
  .master__body{ padding:16px; }
  .master__body p{ font-size:12.5px; }
}
.master__body p{ margin:0; font-size:13.5px; color:var(--tx-2); line-height:1.6; }
.masters__foot{ margin:clamp(24px,3vw,34px) 0 0; font-size:14px; color:var(--tx-3); }

/* ── Работы ────────────────────────────────────────── */

.works__grid{
  display:grid;
  /* фиксированные 3 колонки: 6 работ ложатся в 2 ровных ряда,
     auto-fit давал 5+1 с висящей карточкой */
  grid-template-columns:repeat(3,1fr);
  gap:clamp(10px,1.2vw,16px);
}
.work{
  position:relative; display:block;
  aspect-ratio:1; overflow:hidden;
  border-radius:var(--r);
  background:var(--bg-3);
}
.work img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(.4);
  transition:.75s var(--ease);
}
.work:hover img{ filter:grayscale(0); transform:scale(1.06); }
.work::after{
  content:""; position:absolute; inset:0;
  box-shadow:inset 0 0 0 1px var(--line-soft);
  transition:box-shadow .45s var(--ease);
}
.work:hover::after{ box-shadow:inset 0 0 0 1px var(--gold); }

/* ── Отзывы ────────────────────────────────────────── */

.rat{
  display:grid;
  grid-template-columns:minmax(200px,.4fr) 1fr;
  gap:clamp(28px,4vw,64px);
  align-items:center;
  padding:clamp(26px,3.4vw,44px);
  border:1px solid var(--line-soft);
  border-radius:var(--r-lg);
  background:var(--bg-2);
}
.rat__big{ text-align:center; }
.rat__num{
  display:block;
  font-family:var(--f-display);
  font-size:clamp(3.4rem, 2.4rem + 3.6vw, 5.2rem);
  font-weight:800; line-height:1;
  letter-spacing:-.03em;
  color:var(--gold);
}
.rat__stars{
  display:block; margin:10px 0 8px;
  color:var(--gold); font-size:19px; letter-spacing:.16em;
}
.rat__src{ font-size:12px; color:var(--tx-3); }

.rat__bars{ list-style:none; margin:0; padding:0; display:grid; gap:13px; }
.rat__bars li{
  display:grid;
  grid-template-columns:minmax(120px,.36fr) 1fr auto;
  gap:14px; align-items:center;
  font-size:13.5px; color:var(--tx-2);
}
.rat__bars i{
  position:relative; display:block;
  height:3px; background:var(--line-soft); border-radius:100px;
}
.rat__bars i::after{
  content:""; position:absolute; inset:0 auto 0 0;
  width:var(--v);
  background:linear-gradient(90deg,var(--gold-dk),var(--gold-lt));
  border-radius:inherit;
  transform:scaleX(0); transform-origin:left;
  transition:transform 1.2s var(--ease);
}
.reveal.is-in .rat__bars i::after,
.rat.is-in .rat__bars i::after{ transform:scaleX(1); }
.rat__bars b{ color:var(--gold); font-size:13px; font-weight:600; min-width:38px; text-align:right; }

.reviews__cta{ margin:clamp(24px,3vw,36px) 0 0; text-align:center; }

/* ── FAQ ───────────────────────────────────────────── */

.faq__list{
  border-top:1px solid var(--line-soft);
  max-width:920px;
}
.faq__i{ border-bottom:1px solid var(--line-soft); }
.faq__i summary{
  display:flex; align-items:flex-start; gap:16px;
  padding:21px 0; cursor:pointer;
  list-style:none;
  transition:color .3s var(--ease);
}
.faq__i summary::-webkit-details-marker{ display:none; }
.faq__i summary h3{
  flex:1; margin:0;
  font-size:clamp(17px,1.5vw,21px);
  font-weight:600; line-height:1.35;
  transition:color .3s var(--ease);
}
.faq__i summary::after{
  content:""; flex:none;
  width:11px; height:11px; margin-top:9px;
  border-right:1.5px solid var(--gold);
  border-bottom:1.5px solid var(--gold);
  transform:rotate(45deg);
  transition:transform .4s var(--ease);
}
.faq__i[open] summary::after{ transform:rotate(-135deg); }
.faq__i[open] summary h3{ color:var(--gold); }
.faq__i summary:hover h3{ color:var(--gold); }
.faq__i p{
  margin:0 0 24px; padding-right:28px;
  font-size:15px; line-height:1.7; color:var(--tx-2);
  max-width:74ch;
}
.faq__i p strong{ color:var(--tx); font-weight:600; }
.faq__i a{ color:var(--gold); border-bottom:1px solid var(--line); }

/* ── Контакты ──────────────────────────────────────── */

.contacts__grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:clamp(28px,3.6vw,56px);
  align-items:start;
}
.cinfo{ margin:0 0 32px; }
.cinfo > div{ padding:18px 0; border-bottom:1px solid var(--line-soft); }
.cinfo > div:first-child{ padding-top:0; }
.cinfo dt{
  font-size:13.5px; font-weight:500;
  color:var(--tx-3); margin-bottom:8px;
}
.cinfo dd{ margin:0; font-size:15px; color:var(--tx); line-height:1.6; }
.cinfo address{ font-style:normal; }
.clink{
  display:inline-block; margin-top:9px;
  font-size:13px; color:var(--gold);
  transition:.3s var(--ease);
}
.clink:hover{ letter-spacing:.01em; }
.big-tel{
  font-family:var(--f-display);
  font-size:clamp(1.5rem, 1.2rem + 1.3vw, 2.1rem);
  font-weight:800; color:var(--gold);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}
.socs{ display:flex; flex-wrap:wrap; gap:8px 18px; }
.socs a{ font-size:13.5px; color:var(--tx-2); border-bottom:1px solid var(--line-soft); transition:.3s var(--ease); }
.socs a:hover{ color:var(--gold); border-color:var(--line); }

.contacts__map{
  border:1px solid var(--line-soft);
  border-radius:var(--r-lg);
  overflow:hidden;
  aspect-ratio:4/3;
  background:var(--bg-3);
}
.contacts__map iframe{ width:100%; height:100%; border:0; filter:grayscale(.35) contrast(1.05); }


/* ── Оценка в финальном блоке ──────────────────────── */
.rate{
  padding:clamp(20px,2.4vw,30px);
  margin-bottom:30px;
  border:1px solid var(--line-soft);
  border-radius:var(--r-lg);
  background:var(--bg-2);
}
.rate__score{ display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 16px;
              margin-bottom:20px; }
.rate__num{ font-family:var(--f-display); font-weight:800;
            font-size:clamp(2.4rem,4vw,3.4rem); line-height:1; color:var(--gold);
            letter-spacing:-.03em; }
.rate__stars{ color:var(--gold); font-size:17px; letter-spacing:.14em; }
.rate__src{ font-size:13px; color:var(--tx-3); }
.rate__bars{ list-style:none; margin:0 0 18px; padding:0; display:grid; gap:11px; }
.rate__bars li{ display:grid; grid-template-columns:minmax(110px,.4fr) 1fr auto;
                gap:14px; align-items:center; font-size:13.5px; color:var(--tx-2); }
.rate__bars i{ position:relative; display:block; height:3px;
               background:var(--line-soft); border-radius:100px; }
.rate__bars i::after{ content:""; position:absolute; inset:0 auto 0 0; width:var(--v);
  background:linear-gradient(90deg,var(--gold-dk),var(--gold-lt)); border-radius:inherit; }
.rate__bars b{ color:var(--gold); font-size:13px; font-weight:600;
               min-width:38px; text-align:right; }

@media (max-width:520px){
  .rate__bars li{ grid-template-columns:1fr auto; row-gap:5px; }
  .rate__bars i{ grid-column:1 / -1; }
}

/* ── Финальный CTA ─────────────────────────────────── */

.final{
  padding-block:clamp(70px,9vw,130px);
  background:
    radial-gradient(ellipse 70% 100% at 50% 100%, rgba(200,169,106,.11), transparent 68%),
    var(--bg-2);
  border-top:1px solid var(--line-soft);
  text-align:center;
}
.final__in h2{ font-size:clamp(34px,5.6vw,72px); margin-bottom:20px; }
.final__in p{ margin:0 auto 34px; color:var(--tx-2); font-size:clamp(15px,1.3vw,17px); max-width:56ch; }
.final__cta{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }

/* ── Footer ────────────────────────────────────────── */

.ftr{
  background:var(--bg);
  border-top:1px solid var(--line-soft);
  padding-top:clamp(44px,5vw,68px);
}
.ftr__in{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:clamp(28px,4vw,56px);
  padding-bottom:clamp(34px,4vw,52px);
}
.ftr__brand .logo__txt{ font-size:17px; margin-bottom:16px; }
.ftr__brand p{ margin:0; font-size:13.5px; color:var(--tx-3); max-width:38ch; line-height:1.65; }
.ftr__nav{ display:flex; flex-direction:column; gap:10px; }
.ftr__nav a{ font-size:13.5px; color:var(--tx-2); transition:color .3s var(--ease); }
.ftr__nav a:hover{ color:var(--gold); }
.ftr__contact{ display:flex; flex-direction:column; gap:9px; font-size:13.5px; color:var(--tx-2); }
.ftr__contact a[href^="tel"]{ font-size:17px; font-weight:600; color:var(--gold); }
.ftr__contact address{ font-style:normal; }
.ftr__contact .socs{ margin-top:6px; }
.ftr__bot{
  display:flex; flex-wrap:wrap; gap:10px 24px;
  justify-content:space-between;
  padding-block:20px;
  border-top:1px solid var(--line-soft);
  font-size:12px; color:var(--tx-3);
}
.ftr__bot a{ border-bottom:1px solid var(--line-soft); transition:color .3s var(--ease); }
.ftr__bot a:hover{ color:var(--gold); }

/* ── Липкая мобильная панель ───────────────────────── */

.stickybar{
  position:fixed; left:0; right:0; bottom:0; z-index:98;
  display:none;
  gap:1px;
  background:var(--line-soft);
  border-top:1px solid var(--line-soft);
  transform:translateY(110%);
  transition:transform .45s var(--ease);
  padding-bottom:env(safe-area-inset-bottom);
}
.stickybar.is-on{ transform:none; }
.stickybar a{
  flex:1;
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:15px 10px;
  font-size:13px; font-weight:600;
  letter-spacing:.07em; text-transform:uppercase;
}
.stickybar svg{ width:16px; height:16px; }
.stickybar__call{ background:var(--bg-3); color:var(--tx); }
.stickybar__book{ background:linear-gradient(100deg,var(--gold-dk),var(--gold) 50%,var(--gold-lt)); color:#0A0A0B; }


/* ── Указатель и касание ───────────────────────────── */
/* На тач-экранах :hover «залипает» после тапа — поэтому эффекты наведения
   включаются только при наличии настоящего курсора. */
@media (hover: none){
  .price__card:hover,
  .master:hover,
  .work:hover img,
  .btn--gold:hover{ transform:none; }
  .master:hover .master__ph img{ transform:none; filter:grayscale(.55) contrast(1.05); }
  .work:hover img{ filter:grayscale(.4); }
}

/* Пальцу нужна цель не меньше 44px */
@media (pointer: coarse){
  .nav a, .ftr__nav a, .socs a, .form__alt a{ padding-block:10px; }
  .faq__i summary{ padding-block:24px; }
  .price__go{ padding-block:8px; }
}

/* ── Reveal-анимации ───────────────────────────────── */

/* Прячем только если JS жив (класс .js ставит инлайн-скрипт в <head>).
   Без JS весь контент виден сразу — страница не должна зависеть от скрипта. */
.js .reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.js .reveal.is-in{ opacity:1; transform:none; }

/* Каскадное появление каждой карточки убрано намеренно: блок проявляется
   целиком, одним спокойным движением, вместо череды одинаковых эффектов. */

/* ── Адаптив ───────────────────────────────────────── */

@media (max-width:1080px){
  .nav{ display:none; }
  .burger{ display:flex; }
  .hero__in{ grid-template-columns:1fr; }
  .bookcard{ max-width:560px; }
  .summary__grid{ grid-template-columns:1fr; }
  .contacts__grid{ grid-template-columns:1fr; }
  .ftr__in{ grid-template-columns:1fr 1fr; }
}

@media (max-width:860px){
  .hdr__tel{ display:none; }
  .trust__in{ grid-template-columns:repeat(2,1fr); row-gap:26px; }
  .rat{ grid-template-columns:1fr; }
  .stickybar{ display:flex; }
  body{ padding-bottom:0; }
  .final{ padding-bottom:clamp(96px,12vw,150px); }
  .ftr{ padding-bottom:64px; }
}

@media (max-width:520px){
  .works__grid{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:640px){
  html{ scroll-padding-top:78px; }
  .hdr__act .btn--sm{ display:none; }
  .hero{ padding-top:calc(74px + 40px); }
  .hero__facts{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
  .hero__facts b{ font-size:20px; }
  .hero__facts dd{ font-size:12.5px; }
  .rat__bars li{ grid-template-columns:1fr auto; row-gap:5px; }
  .rat__bars i{ grid-column:1 / -1; }
  .hero__cta .btn{ width:100%; }
  .field-row{ grid-template-columns:1fr; }
  .ftr__in{ grid-template-columns:1fr; }
  .d-none{ display:none; }
  .faq__i p{ padding-right:0; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  .js .reveal{ opacity:1; transform:none; }
  .rat__bars i::after{ transform:scaleX(1); }
}

/* Печать */
@media print{
  .hdr,.mobnav,.stickybar,.hero__bg,.contacts__map,.barberpole{ display:none!important; }
  body{ background:#fff; color:#000; }
  .js .reveal{ opacity:1; transform:none; }
}
