@charset "UTF-8";

/* ==========================================================================
   Лубок — тема главной страницы вормсофт.рф.
   Наложение поверх style.css: подключать ПОСЛЕ него.
   Стили ограничены .lubok, чтобы не задеть остальные страницы.
   ========================================================================== */

/* ---------- Шрифты (сабсеты кириллица + латиница, OFL) ---------- */

@font-face {
  font-family: "Lubok Display";
  src: url("../fonts/lubok/oldstandard-400-cyrillic-ext.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Lubok Display";
  src: url("../fonts/lubok/oldstandard-400-cyrillic.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Lubok Display";
  src: url("../fonts/lubok/oldstandard-400-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2116, U+2122, U+2191, U+2193, U+2212;
}
@font-face {
  font-family: "Lubok Display";
  src: url("../fonts/lubok/oldstandard-700-cyrillic-ext.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Lubok Display";
  src: url("../fonts/lubok/oldstandard-700-cyrillic.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Lubok Display";
  src: url("../fonts/lubok/oldstandard-700-latin.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2116, U+2122, U+2191, U+2193, U+2212;
}
@font-face {
  font-family: "Lubok Text";
  src: url("../fonts/lubok/ptserif-400-cyrillic-ext.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Lubok Text";
  src: url("../fonts/lubok/ptserif-400-cyrillic.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Lubok Text";
  src: url("../fonts/lubok/ptserif-400-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2116, U+2122, U+2191, U+2193, U+2212;
}
@font-face {
  font-family: "Lubok Text";
  src: url("../fonts/lubok/ptserif-700-cyrillic-ext.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: "Lubok Text";
  src: url("../fonts/lubok/ptserif-700-cyrillic.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Lubok Text";
  src: url("../fonts/lubok/ptserif-700-latin.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+2116, U+2122, U+2191, U+2193, U+2212;
}

/* ---------- Палитра и бумага ---------- */

body.lubok {
  --paper: #f3e6c8;
  --paper-light: #fbf3df;
  --paper-deep: #e9d7ae;
  --ink: #3a2413;
  --ink-soft: #5c4227;
  --red: #8e1f16;
  --red-dark: #6d1610;
  --green: #22452b;
  --green-light: #2e5a37;
  --gold: #b3862f;
  --gold-light: #d9b25e;

  font-family: "Lubok Text", Georgia, "Times New Roman", serif;
  color: var(--ink);
  background-color: #e4d0a6;
  background-image:
    /* прожжённые места: угольная точка и бурый обод */
    radial-gradient(circle at 81% 9%, rgba(52, 28, 10, 0.42) 0 5px, rgba(96, 54, 20, 0.3) 12px, rgba(138, 90, 40, 0.16) 28px, rgba(138, 90, 40, 0) 58px),
    radial-gradient(ellipse 230px 160px at 12% 58%, rgba(64, 34, 12, 0.26) 0 26%, rgba(112, 66, 26, 0.14) 58%, rgba(112, 66, 26, 0) 84%),
    radial-gradient(circle at 94% 74%, rgba(46, 25, 9, 0.36) 0 3px, rgba(104, 60, 24, 0.2) 10px, rgba(104, 60, 24, 0) 38px),
    radial-gradient(ellipse 280px 190px at 62% 97%, rgba(72, 39, 15, 0.22) 0 22%, rgba(120, 72, 30, 0.12) 52%, rgba(120, 72, 30, 0) 80%),
    radial-gradient(circle at 43% 34%, rgba(60, 32, 12, 0.3) 0 3px, rgba(104, 62, 26, 0.14) 9px, rgba(104, 62, 26, 0) 30px),
    /* выцветшее к свету пятно сверху */
    radial-gradient(1100px 560px at 50% -10%, rgba(255, 251, 235, 0.75), rgba(255, 251, 235, 0) 70%),
    /* затёки и неровности старой бумаги */
    radial-gradient(620px 400px at 8% 16%, rgba(151, 108, 55, 0.13), rgba(151, 108, 55, 0) 72%),
    radial-gradient(700px 450px at 88% 28%, rgba(133, 92, 44, 0.12), rgba(133, 92, 44, 0) 74%),
    radial-gradient(760px 480px at 70% 92%, rgba(141, 98, 48, 0.15), rgba(141, 98, 48, 0) 72%),
    radial-gradient(520px 360px at 24% 78%, rgba(163, 119, 62, 0.11), rgba(163, 119, 62, 0) 74%),
    /* мятые заломы: тень и блик по обе стороны сгиба */
    repeating-linear-gradient(105deg, rgba(88, 58, 24, 0.07) 0 1px, rgba(255, 252, 240, 0.1) 1px 3px, rgba(0, 0, 0, 0) 3px 96px),
    repeating-linear-gradient(-47deg, rgba(80, 52, 20, 0.06) 0 1px, rgba(255, 250, 235, 0.09) 1px 3px, rgba(0, 0, 0, 0) 3px 134px),
    repeating-linear-gradient(24deg, rgba(100, 68, 30, 0.05) 0 1px, rgba(255, 252, 240, 0.08) 1px 4px, rgba(0, 0, 0, 0) 4px 178px),
    /* широкие мягкие вмятины от смятой бумаги */
    radial-gradient(360px 240px at 33% 46%, rgba(255, 251, 236, 0.16), rgba(255, 251, 236, 0) 70%),
    radial-gradient(300px 220px at 71% 63%, rgba(96, 64, 28, 0.07), rgba(96, 64, 28, 0) 72%),
    /* потёртые, затемнённые края листа */
    radial-gradient(125% 95% at 50% 46%, rgba(255, 252, 238, 0) 50%, rgba(104, 70, 30, 0.28) 100%),
    /* продольные и поперечные волокна */
    repeating-linear-gradient(92deg, rgba(112, 78, 36, 0.05) 0 1px, rgba(255, 250, 236, 0.03) 1px 6px),
    repeating-linear-gradient(2deg, rgba(92, 62, 26, 0.035) 0 1px, rgba(255, 250, 236, 0) 1px 10px),
    /* фактура папируса: пятна, волокна, зерно */
    url("../img/lubok/papyrus.svg"),
    /* еле заметный орнамент */
    url("../img/lubok/pattern.svg");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, repeat, repeat, repeat, no-repeat, no-repeat, no-repeat, repeat, repeat, repeat, repeat;
  background-position: center top, left top, right center, center bottom, left bottom, center top, left top, right center, center bottom, left bottom, left top, left top, left top, center center, center center, center center, left top, left top, left top, left top;
  background-size: auto, auto, auto, auto, auto, auto, auto, auto, auto, auto, auto, auto, auto, auto, auto, auto, auto, auto, 480px 480px, 96px 96px;
  background-attachment: fixed, fixed, fixed, fixed, fixed, fixed, fixed, fixed, fixed, fixed, fixed, fixed, fixed, fixed, fixed, fixed, scroll, scroll, scroll, scroll;
}

/* Фон страницы: только цвет, бумажная фактура не используется */
body.lubok {
  background-color: #ecdcc0;
  background-image: none;
}

.lubok section {
  margin-top: 88px;
}
.lubok footer {
  margin-top: 70px;
}
@media (max-width: 768px) {
  .lubok section {
    margin-top: 54px;
  }
}

.lubok h1,
.lubok h2,
.lubok h3 {
  font-family: "Lubok Display", Georgia, "Times New Roman", serif;
  color: var(--red);
}
.lubok p,
.lubok li {
  color: var(--ink);
}

/* ---------- Заголовки секций с орнаментом ---------- */

.lubok .title-main {
  max-width: 900px;
  margin: 0 auto 44px;
}
.lubok .title-main h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  font-size: 42px;
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
}
.lubok .title-main h2::before,
.lubok .title-main h2::after {
  content: "";
  flex: 0 0 auto;
  width: 110px;
  height: 26px;
  background: url("../img/lubok/ornament.svg") center / contain no-repeat;
  opacity: 1;
}
.lubok .title-main h2::after {
  transform: scaleX(-1);
}
.lubok .title-main__tx {
  margin-top: 22px;
  font-size: 17px;
  line-height: 1.5;
  color: var(--ink-soft);
}

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

.lubok .btn {
  border-radius: 2px;
  font-family: "Lubok Display", Georgia, serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 12px 22px 8px;
  border: 1px solid var(--gold);
  box-shadow: inset 0 0 0 3px transparent;
  transition: 0.25s;
}
.lubok .btn__blue {
  background: var(--red);
  color: #f7ecd2;
  border-color: var(--gold);
}
.lubok .btn__blue:hover {
  background: var(--red-dark);
  color: #fff8e6;
}
.lubok .btn__bord {
  background: transparent;
  color: var(--red);
  border-color: var(--gold);
}
.lubok .btn__bord:hover {
  background: var(--red);
  border-color: var(--gold);
  color: #f7ecd2;
}
.lubok .btn img {
  margin-left: 10px;
  width: 15px;
}
.lubok .btn__blue img {
  filter: brightness(0) invert(0.95) sepia(0.2);
}
.lubok .btn__bord img {
  filter: sepia(1) saturate(4) hue-rotate(-20deg) brightness(0.6);
}
.lubok .btn__bord:hover img {
  filter: brightness(0) invert(0.95);
}

/* ---------- Шапка ---------- */

.lubok .header {
  padding-top: 26px;
}
.lubok .header__logo {
  margin-bottom: 18px;
}
.lubok .header__logo img {
  width: 330px;
  height: auto;
}
.lubok .header__inner {
  height: auto;
  margin-top: 0;
  padding: 12px 4px;
  border-radius: 0;
  background: transparent;
  border-top: 2px solid var(--gold);
  border-bottom: 2px solid var(--gold);
  box-shadow: 0 1px 0 rgba(179, 134, 47, 0.45), 0 -1px 0 rgba(179, 134, 47, 0.45);
}
@media (min-width: 1200px) {
  .lubok .header__inner {
    padding-left: 78px;
    padding-right: 78px;
  }
  .lubok .header__inner::before,
  .lubok .header__inner::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 64px;
    height: 30px;
    background: url("../img/lubok/flourish.svg") center / contain no-repeat;
    pointer-events: none;
  }
  .lubok .header__inner::before {
    left: 7px;
    transform: translateY(-50%);
  }
  .lubok .header__inner::after {
    right: 7px;
    transform: translateY(-50%) scaleX(-1);
  }
}

.lubok .header__menu ul li {
  position: relative;
  margin: 0 17px;
}
.lubok .header__menu ul li + li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -18px;
  width: 5px;
  height: 5px;
  background: var(--gold);
  transform: translateY(-50%) rotate(45deg);
  opacity: 0.9;
}
.lubok .header__menu ul li a {
  padding: 6px 2px;
  border-radius: 0;
  border-bottom: 1px solid transparent;
  font-family: "Lubok Display", Georgia, serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--ink);
}
.lubok .header__menu ul li.active a,
.lubok .header__menu ul li:hover a {
  background: transparent;
  color: var(--red);
  border-bottom-color: var(--red);
}
.lubok .header__soc ul li a {
  width: 40px;
  height: 40px;
  border-radius: 0;
  border: 0;
  background: url("../img/lubok/soc-frame.svg") center / 100% 100% no-repeat;
  background-color: transparent;
  transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.lubok .header__soc ul li a img {
  width: 15px;
  filter: sepia(1) saturate(3) hue-rotate(-20deg) brightness(0.6);
  transition: transform 0.25s ease, filter 0.25s ease;
}
.lubok .header__soc ul li a:hover {
  background-color: transparent;
  transform: translateY(-2px) rotate(-3deg);
  box-shadow: none;
}
.lubok .header__soc ul li a:hover img {
  filter: sepia(1) saturate(7) hue-rotate(-38deg) brightness(0.5);
  transform: scale(1.12);
}
.lubok .header__right .btn__bordWh {
  border-color: var(--gold);
  color: var(--red);
  background: transparent;
}
.lubok .header__right .btn__bordWh:hover {
  background: var(--red);
  border-color: var(--red);
  color: #f7ecd2;
}
.lubok .header__tgl {
  border-radius: 2px;
  background: var(--paper-light);
  border: 1px solid var(--gold);
  box-shadow: none;
}
.lubok .header__tgl img {
  filter: sepia(1) saturate(3) hue-rotate(-20deg) brightness(0.6);
}

/* ---------- Первый экран ---------- */

.lubok .banner {
  margin-top: 30px;
}
.lubok .banner__inner {
  min-height: 0;
  padding: 30px 34px 34px;
  border-radius: 2px;
  background:
    radial-gradient(700px 300px at 50% 0%, rgba(255, 252, 240, 0.85), rgba(255, 252, 240, 0) 70%),
    var(--paper-light);
  border: 2px solid var(--gold);
  box-shadow:
    inset 0 0 0 5px var(--paper-light),
    inset 0 0 0 6px rgba(179, 134, 47, 0.5),
    0 24px 40px -32px rgba(58, 36, 19, 0.7);
  overflow: hidden;
}
.lubok .banner__bg {
  display: none;
}
.lubok .banner__row {
  align-items: center;
  gap: 18px;
}
.lubok .banner__cell.banner__cell--art {
  order: 1;
  width: 280px;
}
.lubok .banner__cell.banner__cell--text {
  order: 2;
  width: auto;
  flex: 1 1 auto;
}
.lubok .banner__cell.banner__cell--castle {
  order: 3;
  width: 286px;
  flex: 0 0 auto;
  align-self: flex-end;
  margin: 0 8px -16px 0;
  text-align: right;
}
.lubok .banner__cell--castle img {
  display: block;
  width: 100%;
  height: auto;
}
.lubok .banner__all {
  position: relative;
  text-align: center;
}
.lubok .banner__all::before {
  content: "";
  position: absolute;
  inset: 6% 0 2%;
  border-radius: 50% 50% 8px 8px;
  background: transparent;
  border: 1px solid rgba(179, 134, 47, 0.28);
  border-bottom: 0;
  z-index: 0;
}
.lubok .banner__all img {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 280px;
  height: auto;
  filter: sepia(0.9) saturate(1.4) hue-rotate(-12deg) brightness(0.95) contrast(1.05);
}
.lubok .banner__info {
  text-align: center;
}
.lubok .banner__kicker {
  margin-bottom: 14px;
  font-family: "Lubok Display", Georgia, serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--gold);
}
.lubok .banner h1 {
  font-family: "Lubok Display", Georgia, serif;
  font-size: 46px;
  line-height: 1.16;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--ink);
}
.lubok .banner h1 span {
  color: var(--red);
}
.lubok .banner__tx {
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--ink-soft);
}
.lubok .banner__cta {
  margin-top: 22px;
}
.lubok .banner__cta::before {
  content: "";
  display: block;
  width: 168px;
  height: 18px;
  margin: 0 auto 16px;
  background: url("../img/lubok/ornament.svg") center / contain no-repeat;
  opacity: 0.75;
}
.lubok .banner .btn__big {
  display: inline-flex;
  padding: 16px 32px 12px;
  border-radius: 2px;
  background: var(--red);
  color: #f9efd9;
  border: 1px solid var(--gold);
  box-shadow: inset 0 0 0 3px var(--red), inset 0 0 0 4px rgba(217, 178, 94, 0.75);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-shadow: none;
}
.lubok .banner .btn__big:hover {
  background: var(--red-dark);
  box-shadow: inset 0 0 0 3px var(--red-dark), inset 0 0 0 4px rgba(217, 178, 94, 0.9);
}

/* ---------- Полоса цифр ---------- */

.lubok .numbers {
  margin-top: 34px;
}
.lubok .numbers__inner {
  position: relative;
  background-color: rgba(251, 243, 223, 0.35);
  background-image: url("../img/lubok/pattern.svg");
  background-repeat: repeat;
  background-position: center;
  background-size: 96px 96px;
  padding: 22px 0 20px;
}
.lubok .numbers__row {
  align-items: center;
  justify-content: space-between;
  margin: 0;
}
.lubok .numbers__cell {
  flex: 1 1 0;
  padding: 0 18px;
}
.lubok .numbers__numb {
  font-family: "Lubok Display", Georgia, serif;
  font-weight: 700;
  font-size: 52px;
  line-height: 1;
  color: var(--red);
}
.lubok .numbers__plus {
  font-size: 0.52em;
  line-height: 1;
  margin-left: 2px;
  vertical-align: 0.42em;
  color: var(--gold);
}
.lubok .numbers__tx {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.35;
  color: var(--ink-soft);
}

/* ---------- Услуги ---------- */

.lubok .list__inner {
  padding: 0;
  border-radius: 0;
  background: transparent;
}
.lubok .list__bg {
  display: none;
}
.lubok .list h2 {
  color: var(--red);
}
.lubok .list .title-main__tx {
  color: var(--ink-soft);
}
.lubok .list__row {
  max-width: 1336px;
  margin: 0 auto -34px;
}
.lubok .list__cell {
  width: 16.6667%;

}
.lubok .list__item {
  padding: 20px 14px 18px;
  background: var(--paper-light);
  border: 2px solid rgba(179, 134, 47, 0.9);
  border-radius: 2px;
  box-shadow:
    inset 0 0 0 4px var(--paper-light),
    inset 0 0 0 5px rgba(179, 134, 47, 0.45),
    0 16px 26px -24px rgba(58, 36, 19, 0.75);
  transition: 0.25s;
}
.lubok .list__item:hover {
  box-shadow:
    inset 0 0 0 4px var(--paper-light),
    inset 0 0 0 5px rgba(179, 134, 47, 0.75),
    0 20px 30px -22px rgba(58, 36, 19, 0.8);
  transform: translateY(-2px);
}
.lubok .list__title {
  min-height: 0;
  flex-direction: column;
  align-items: center;
  text-align: center;
  font-family: "Lubok Display", Georgia, serif;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--red);
}
.lubok .list__title span span {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  line-height: 1.3;
  color: var(--ink-soft);
  font-style: italic;
}
.lubok .list__title img {
  width: 56px;
  height: 56px;
  padding: 7px;
  margin: 0 0 10px;
  box-sizing: border-box;
  border: 1px solid rgba(179, 134, 47, 0.85);
  border-radius: 50%;
  background: radial-gradient(closest-side, #fff8e6, var(--paper-deep));
}
.lubok .list__list {
  margin-top: 12px;
  text-align: left;
}
.lubok .list__list li {
  position: relative;
  padding-left: 13px;
  font-size: 12px;
  line-height: 1.4;
  color: var(--ink-soft);
}
.lubok .list__list li::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 6px;
  height: 6px;
  background: var(--gold);
  transform: rotate(45deg);
}
.lubok .list__list li + li {
  margin-top: 8px;
}
.lubok .list__price {
  display: inline-block;
  align-self: center;
  margin: auto 0 12px;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--red);
  border: 1px solid var(--gold);
  box-shadow: inset 0 0 0 2px var(--red), inset 0 0 0 3px rgba(217, 178, 94, 0.6);
  font-family: "Lubok Display", Georgia, serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #f9efd9;
  white-space: nowrap;
}
.lubok .list__price span {
  color: rgba(249, 239, 217, 0.7);
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.lubok .list__btn {
  margin-top: 0;
  width: 100%;
}
.lubok .list__btn .btn,
.lubok .list__btn .btn__bord {
  width: 100%;
  padding: 11px 6px 9px;
  font-size: 12px;
  letter-spacing: 0.04em;
  background: var(--red);
  border-color: var(--gold);
  color: #f7ecd2;
}
.lubok .list__btn .btn:hover,
.lubok .list__btn .btn__bord:hover {
  background: var(--red-dark);
  color: #fff8e6;
}
.lubok .list__btn .btn__bord img {
  filter: brightness(0) invert(0.95) sepia(0.2);
}
.lubok .list__btn .btn img {
  width: 12px;
  margin-left: 6px;
}

/* ---------- О нас ---------- */

.lubok .about__bg {
  display: none;
}
.lubok .about__line {
  max-width: none;
  padding: 16px 0 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0 24px;
  position: relative;
}
.lubok .about__line::before {
  content: "";
  position: absolute;
  top: 55px;
  left: 0;
  right: 0;
  border-top: 1px solid rgba(179, 134, 47, 0.8);
}
.lubok .about__line-bg {
  display: none;
}
.lubok .about__line-item {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  min-height: 0;
  padding-bottom: 4px;
  position: relative;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 400;
  color: var(--ink-soft);
}
.lubok .about__line-item::before {
  content: "";
  position: absolute;
  top: 34px;
  left: 0;
  width: 9px;
  height: 9px;
  background: var(--red);
  border: 2px solid var(--paper);
  box-shadow: 0 0 0 1px var(--gold);
  transform: rotate(45deg);
}
.lubok .about__line-item span {
  margin: 0 0 30px;
  font-family: "Lubok Display", Georgia, serif;
  font-size: 25px;
  line-height: 1;
  font-weight: 700;
  color: var(--red);
}
.lubok .about__ii {
  position: relative;
  max-width: 940px;
  margin: 44px auto 0;
  padding: 34px 190px 34px 34px;
  border-radius: 2px;
  background: var(--green);
  border: 2px solid var(--gold);
  box-shadow:
    inset 0 0 0 5px var(--green),
    inset 0 0 0 6px rgba(217, 178, 94, 0.45),
    0 20px 32px -28px rgba(34, 69, 43, 0.9);
  backdrop-filter: none;
}
.lubok .about__ii::after {
  content: "";
  position: absolute;
  right: 30px;
  bottom: 0;
  width: 132px;
  height: 168px;
  background: url("../img/lubok/robot.svg") bottom center / contain no-repeat;
}
.lubok .about__ii img {
  display: none;
}
.lubok .about__ii-content {
  padding-left: 0;
}
.lubok .about__ii-title {
  margin-bottom: 16px;
  font-family: "Lubok Display", Georgia, serif;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 700;
  color: var(--gold-light);
}
.lubok .about__ii-tx {
  font-size: 16px;
  line-height: 1.55;
  color: #e8dcc0;
}

/* ---------- Делимся опытом ---------- */

.lubok .exper {
  padding-bottom: 0;
  margin-bottom: 0;
}
.lubok .exper__bg {
  display: none;
}
.lubok .exper__item {
  border: 2px solid var(--gold);
  box-shadow: inset 0 0 0 4px var(--paper-light), inset 0 0 0 5px rgba(179, 134, 47, 0.45);
  border-radius: 2px;
  background: var(--paper-light);
  overflow: hidden;
}
.lubok .exper__item img {
  filter: sepia(0.65) saturate(0.9) contrast(1.03);
}
.lubok .exper__item-place {
  bottom: 14px;
  left: 14px;
  padding: 8px 16px;
  border-radius: 2px;
  background: rgba(251, 243, 223, 0.92);
  border: 1px solid var(--gold);
  backdrop-filter: none;
  font-family: "Lubok Display", Georgia, serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--red);
}
.lubok .exper__about {
  position: relative;
  padding: 30px;
  background: var(--paper-light);
  border: 2px solid var(--gold);
  border-radius: 2px;
  box-shadow:
    inset 0 0 0 4px var(--paper-light),
    inset 0 0 0 5px rgba(179, 134, 47, 0.45),
    0 16px 26px -24px rgba(58, 36, 19, 0.75);
}
.lubok .exper__about-bg {
  display: none;
}
.lubok .exper__about-text {
  position: static;
  color: var(--ink);
}
.lubok .exper__about-text p {
  line-height: 1.55;
}
.lubok .exper__about-text p + p {
  margin-top: 14px;
}
.lubok .exper__about-text span {
  color: var(--red);
  font-weight: 700;
}
.lubok .exper__about-soc {
  margin-top: 22px;
}
.lubok .exper__about-soc li {
  margin-right: 15px;
}
.lubok .exper__about-soc li:last-of-type {
  margin-right: 0;
}
.lubok .exper__about-soc li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 0;
  border: 0;
  background: url("../img/lubok/soc-frame.svg") center / 100% 100% no-repeat;
  background-color: transparent;
  transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.lubok .exper__about-soc li a img {
  width: 15px;
  filter: sepia(1) saturate(3) hue-rotate(-20deg) brightness(0.6);
  transition: transform 0.25s ease, filter 0.25s ease;
}
.lubok .exper__about-soc li a:hover {
  background-color: transparent;
  transform: translateY(-2px) rotate(-3deg);
  box-shadow: none;
}
.lubok .exper__about-soc li a:hover img {
  filter: sepia(1) saturate(7) hue-rotate(-38deg) brightness(0.5);
  transform: scale(1.12);
}
.lubok .exper__info {
  padding: 0;
  background: transparent;
  backdrop-filter: none;
  border-radius: 0;
}
.lubok .exper__info-title {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  color: var(--ink-soft);
}
.lubok .exper__info ul {
  padding-left: 0;
  margin-top: 16px;
  margin-bottom: 0;
}
.lubok .exper__info li {
  position: relative;
  padding-left: 18px;
  list-style: none;
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink-soft);
}
.lubok .exper__info li + li {
  margin-top: 8px;
}
.lubok .exper__info li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 6px;
  height: 6px;
  background: var(--gold);
  transform: rotate(45deg);
}
.lubok .exper__info li a {
  color: var(--red);
  text-decoration: underline;
  text-decoration-color: rgba(142, 31, 22, 0.35);
}
.lubok .exper__info-blq {
  margin-top: 24px;
  padding: 20px 24px;
  background: var(--green);
  border-left: 4px solid var(--gold);
  border-radius: 2px;
  font-family: "Lubok Display", Georgia, serif;
  font-size: 18px;
  line-height: 1.45;
  color: #f1e4c6;
}
.lubok .swiper-button-prev,
.lubok .swiper-button-next {
  border-radius: 2px;
  background: var(--paper-light);
  border: 1px solid var(--gold);
}
.lubok .swiper-button-prev::after,
.lubok .swiper-button-next::after {
  color: var(--red);
  font-size: 15px;
}
.lubok .swiper-button-prev:hover,
.lubok .swiper-button-next:hover {
  background: var(--paper-deep);
}
.lubok .swiper-pagination-bullet {
  background: rgba(179, 134, 47, 0.5) !important;
}
.lubok .swiper-pagination-bullet-active {
  background: var(--red) !important;
}

/* ---------- Отзывы ---------- */

.lubok .reviews__bg {
  display: none;
}
.lubok .reviews__item {
  position: relative;
  padding: 28px 26px 24px;
  backdrop-filter: none;
  background: var(--paper-light);
  border: 2px solid var(--gold);
  border-radius: 2px;
  box-shadow:
    inset 0 0 0 4px var(--paper-light),
    inset 0 0 0 5px rgba(179, 134, 47, 0.45),
    0 16px 26px -24px rgba(58, 36, 19, 0.75);
}
.lubok .reviews__item::before {
  content: "“";
  position: absolute;
  top: 6px;
  right: 18px;
  font-family: "Lubok Display", Georgia, serif;
  font-size: 76px;
  line-height: 1;
  color: rgba(179, 134, 47, 0.35);
  pointer-events: none;
}
.lubok .reviews__theme {
  display: inline-block;
  margin-bottom: 12px;
  padding: 4px 12px;
  background: transparent;
  border: 1px solid rgba(179, 134, 47, 0.7);
  border-radius: 0;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--red);
}
.lubok .reviews__p {
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-soft);
}
.lubok .reviews__btn {
  color: var(--red);
}
.lubok .reviews__bottom {
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid rgba(179, 134, 47, 0.5);
}
.lubok .reviews__bottom img {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  border: 2px solid var(--gold);
  padding: 2px;
  background: var(--paper);
  filter: sepia(0.6) saturate(0.9);
}
.lubok .reviews__name {
  font-family: "Lubok Display", Georgia, serif;
  font-size: 19px;
  color: var(--red);
}
.lubok .reviews__position {
  color: var(--ink-soft);
}

/* ---------- Контакты (зелёная полоса) ---------- */

.lubok .contacts__inner {
  position: relative;
  padding: 40px 44px 44px;
  border-radius: 2px;
  background: var(--green);
  border: 2px solid var(--gold);
  box-shadow:
    inset 0 0 0 5px var(--green),
    inset 0 0 0 6px rgba(217, 178, 94, 0.45),
    0 24px 38px -32px rgba(34, 69, 43, 0.95);
}
.lubok .contacts .title-main {
  margin-bottom: 30px;
}
.lubok .contacts .title-main h2 {
  color: var(--gold-light);
}
.lubok .contacts .title-main h2::before,
.lubok .contacts .title-main h2::after {
  filter: brightness(0) invert(0.85) sepia(0.5) saturate(3) hue-rotate(2deg);
  opacity: 0.75;
}
.lubok .contacts .title-main__tx {
  color: #ddceac;
}
.lubok .contacts__list {
  max-width: 100%;
}
.lubok .contacts__item {
  padding: 18px 0;
  border-top: 1px solid rgba(217, 178, 94, 0.35);
}
.lubok .contacts__item + .contacts__item {
  margin-top: 0;
}
.lubok .contacts__item:last-child {
  border-bottom: 1px solid rgba(217, 178, 94, 0.35);
}
.lubok .contacts__numb {
  width: auto;
  margin-right: 26px;
  font-family: "Lubok Display", Georgia, serif;
  font-size: 34px;
  font-weight: 700;
  color: var(--gold-light);
}
.lubok .contacts__tt {
  font-family: "Lubok Display", Georgia, serif;
  font-size: 21px;
  letter-spacing: 0.03em;
  text-transform: none;
  color: #f6ead0;
}
.lubok .contacts__tx {
  margin-top: 4px;
  font-size: 15px;
  color: #cec09f;
}
.lubok .contacts__cont {
  width: auto;
  min-width: 420px;
  height: auto;
  padding: 10px 4px;
  border-radius: 0;
  background: transparent;
  border-bottom: 1px solid rgba(217, 178, 94, 0.5);
}
.lubok .contacts__cont:hover {
  background: transparent;
  border-bottom-color: var(--gold-light);
}
.lubok .contacts__max {
  margin-top: 8px;
}
.lubok .contacts__all {
  width: 132px;
  color: #ddceac;
  font-size: 15px;
}
.lubok .contacts__all img {
  width: 16px;
  filter: brightness(0) invert(0.85) sepia(0.4) saturate(2);
}
.lubok .contacts__all-i {
  font-family: "Lubok Display", Georgia, serif;
  font-size: 21px;
  color: #f9efd9;
}

/* ---------- Подвал ---------- */

.lubok .footer {
  margin-top: 56px;
  color: var(--ink);
  background: transparent;
}
.lubok .footer__inner {
  padding: 30px 0 50px;
  background: transparent;
  border-radius: 0;
  border-top: 2px solid var(--gold);
  box-shadow: 0 3px 0 -1px rgba(179, 134, 47, 0.45);
}
.lubok .footer__logo {
  margin-bottom: 34px;
}
.lubok .footer__logo img {
  width: 250px;
}
.lubok .footer__content p {
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.45;
}
.lubok .footer__title {
  font-family: "Lubok Display", Georgia, serif;
  font-size: 18px;
  color: var(--red);
}
.lubok .footer__menu li a {
  font-family: "Lubok Display", Georgia, serif;
  letter-spacing: 0.08em;
  color: var(--ink);
}
.lubok .footer__menu li a:hover {
  color: var(--red);
}
.lubok .footer__menu li + li {
  margin-top: 22px;
}
.lubok .footer__item {
  color: var(--ink-soft);
  font-size: 15px;
}
.lubok .footer__item:hover {
  color: var(--red);
}
.lubok .footer__item img {
  filter: sepia(1) saturate(3.5) hue-rotate(-20deg) brightness(0.62);
}
.lubok .footer__item:hover img {
  filter: sepia(1) saturate(4) hue-rotate(-20deg) brightness(0.5);
}
.lubok .footer__soc li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 0;
  border: 0;
  background: url("../img/lubok/soc-frame.svg") center / 100% 100% no-repeat;
  background-color: transparent;
  transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.lubok .footer__soc li a img {
  width: 15px;
  filter: sepia(1) saturate(3) hue-rotate(-20deg) brightness(0.6);
  transition: transform 0.25s ease, filter 0.25s ease;
}
.lubok .footer__soc li a:hover {
  background-color: transparent;
  transform: translateY(-2px) rotate(-3deg);
  box-shadow: none;
}
.lubok .footer__soc li a:hover img {
  filter: sepia(1) saturate(7) hue-rotate(-38deg) brightness(0.5);
  transform: scale(1.12);
}

/* ---------- Орнаментальные детали ---------- */

.lubok .header::after {
  content: "";
  display: block;
  height: 16px;
  margin-top: 10px;
  background: url("../img/lubok/band.svg") repeat-x center / auto 14px;
  opacity: 0.55;
}

.lubok .title-main::after {
  content: "";
  display: block;
  width: 200px;
  max-width: 60%;
  height: 14px;
  margin: 20px auto 0;
  background: url("../img/lubok/band.svg") repeat-x center / auto 12px;
  opacity: 0.5;
}

.lubok .banner__inner::before {
  content: "";
  position: absolute;
  inset: 9px;
  z-index: 2;
  pointer-events: none;
  background-image: url("../img/lubok/corner-tl.svg"), url("../img/lubok/corner-tr.svg"), url("../img/lubok/corner-bl.svg"), url("../img/lubok/corner-br.svg");
  background-position: left top, right top, left bottom, right bottom;
  background-repeat: no-repeat;
  background-size: 34px 34px;
}

.lubok .list__item,
.lubok .reviews__item,
.lubok .exper__about {
  background-image: url("../img/lubok/corner-tl.svg"), url("../img/lubok/corner-tr.svg"), url("../img/lubok/corner-bl.svg"), url("../img/lubok/corner-br.svg");
  background-position: 6px 6px, calc(100% - 6px) 6px, 6px calc(100% - 6px), calc(100% - 6px) calc(100% - 6px);
  background-repeat: no-repeat;
  background-size: 24px 24px;
}

.lubok .exper__item::before {
  content: "";
  position: absolute;
  inset: 6px;
  z-index: 2;
  pointer-events: none;
  background-image: url("../img/lubok/corner-tl.svg"), url("../img/lubok/corner-tr.svg"), url("../img/lubok/corner-bl.svg"), url("../img/lubok/corner-br.svg");
  background-position: left top, right top, left bottom, right bottom;
  background-repeat: no-repeat;
  background-size: 28px 28px;
}

.lubok .contacts__inner,
.lubok .about__ii {
  background-image: url("../img/lubok/corner-g-tl.svg"), url("../img/lubok/corner-g-tr.svg"), url("../img/lubok/corner-g-bl.svg"), url("../img/lubok/corner-g-br.svg");
  background-position: 10px 10px, calc(100% - 10px) 10px, 10px calc(100% - 10px), calc(100% - 10px) calc(100% - 10px);
  background-repeat: no-repeat;
  background-size: 30px 30px;
}

.lubok .numbers__inner {
  position: relative;
}
.lubok .numbers__inner::before {
  content: "";
  position: absolute;
  inset: -6px -8px;
  pointer-events: none;
  background-image: url("../img/lubok/corner-g-tl.svg"), url("../img/lubok/corner-g-tr.svg"), url("../img/lubok/corner-g-bl.svg"), url("../img/lubok/corner-g-br.svg");
  background-position: left top, right top, left bottom, right bottom;
  background-repeat: no-repeat;
  background-size: 40px 40px;
  opacity: 0.9;
}
.lubok .numbers__inner::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -11px;
  bottom: -11px;
  pointer-events: none;
  background-image: url("../img/lubok/band.svg"), url("../img/lubok/band.svg");
  background-position: left top, left bottom;
  background-repeat: repeat-x, repeat-x;
  background-size: auto 11px, auto 11px;
  opacity: 0.55;
}

.lubok .footer__inner::before {
  content: "";
  display: block;
  height: 16px;
  margin-bottom: 26px;
  background: url("../img/lubok/band.svg") repeat-x center / auto 14px;
  opacity: 0.6;
}

.lubok .footer__landscape {
  margin-top: 22px;
  padding: 0 12px;
  line-height: 0;
  text-align: center;
}
.lubok .footer__landscape img {
  display: inline-block;
  width: 100%;
  max-width: 1800px;
  height: auto;
}


@media (min-width: 992px) {
  .lubok .exper__item {
    height: 340px;
  }
  .lubok .reviews__slider-btn {
    display: none;
  }
}

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

@media (max-width: 1199px) {
  .lubok .banner__cell.banner__cell--art {
    width: 220px;
  }
  .lubok .banner__cell.banner__cell--castle {
    width: 240px;
  }
  .lubok .banner h1 {
    font-size: 38px;
  }
  .lubok .list__cell {
    width: 33.3333%;
    padding: 0 10px 26px;
  }
  .lubok .list__title {
    font-size: 18px;
  }
  .lubok .list__title img {
    width: 58px;
    height: 58px;
  }
  .lubok .list__list li {
    font-size: 13px;
  }
  .lubok .about__line {
    gap: 0 16px;
  }
  .lubok .about__line-item span {
    font-size: 22px;
  }
}

@media (max-width: 991px) {
  .lubok .list__cell {
    width: 50%;
  }
  .lubok .banner__row {
    flex-direction: column;
    gap: 8px;
  }
  .lubok .banner__cell.banner__cell--text {
    order: 1;
  }
  .lubok .banner__cell.banner__cell--art {
    order: 2;
    width: 240px;
  }
  .lubok .banner__cell.banner__cell--castle {
    display: none;
  }
  .lubok .banner h1 {
    font-size: 34px;
  }
  .lubok .banner__inner {
    padding: 26px 20px 30px;
  }
  .lubok .about__line {
    grid-template-columns: repeat(3, 1fr);
    gap: 26px 20px;
  }
  .lubok .about__line::before {
    display: none;
  }
  .lubok .about__line-item::before {
    display: none;
  }
  .lubok .about__line-item span {
    margin-bottom: 8px;
  }
  .lubok .about__ii {
    padding: 28px 24px;
  }
  .lubok .about__ii::after {
    display: none;
  }
  .lubok .contacts__inner {
    padding: 30px 24px 34px;
  }
  .lubok .contacts__cont {
    min-width: 0;
    width: 100%;
  }
  .lubok .header__menu ul li {
    margin: 0 0 14px;
  }
  .lubok .header__menu ul li + li::before {
    display: none;
  }
  .lubok .header__left {
    top: 100%;
    background: var(--paper-light);
    border: 2px solid var(--gold);
    border-top: 0;
    border-radius: 0 0 2px 2px;
  }
  .lubok .header__menu ul li a {
    color: var(--ink);
  }
  .lubok .header__soc ul {
    margin-top: 24px;
  }
}

@media (max-width: 768px) {
  .lubok .header {
    padding-top: 18px;
  }
  .lubok .header__logo img {
    width: 230px;
  }
  .lubok .header__inner {
    margin: 18px 0 0;
    padding: 8px 0;
  }
  .lubok .header__left {
    top: 100%;
    left: 0;
    right: 0;
    background: var(--paper-light);
  }
  .lubok .title-main h2 {
    font-size: 28px;
    gap: 10px;
  }
  .lubok .title-main h2::before,
  .lubok .title-main h2::after {
    width: 46px;
    height: 16px;
  }
  .lubok .title-main__tx {
    font-size: 15px;
    margin-top: 14px;
  }
  .lubok .banner {
    margin: 20px 0 0;
  }
  .lubok .banner__inner {
    margin: 0;
    padding: 22px 14px 24px;
  }
  .lubok .banner h1 {
    font-size: 27px;
    line-height: 1.25;
  }
  .lubok .banner__kicker {
    font-size: 11px;
    letter-spacing: 0.22em;
  }
  .lubok .banner__tx {
    font-size: 14px;
  }
  .lubok .banner .btn__big {
    padding: 12px 22px;
    font-size: 15px;
  }
  .lubok .banner__cell.banner__cell--art {
    width: 190px;
  }
  .lubok .numbers__row {
    flex-wrap: wrap;
  }
  .lubok .numbers__cell {
    flex: 0 0 50%;
    padding: 12px 10px;
  }
  .lubok .numbers__numb {
    font-size: 38px;
  }
  .lubok .list__row {
    display: block;
    margin-bottom: -20px;
  }
  .lubok .list__cell {
    width: 100%;
    padding: 0 0 20px;
  }
  .lubok .about__line {
    display: block;
    padding: 0 0 0 16px;
    border-left: 1px solid rgba(179, 134, 47, 0.7);
  }
  .lubok .about__line-item {
    padding: 0 0 20px 14px;
  }
  .lubok .about__line-item::before {
    display: block;
    top: 4px;
    left: -21px;
  }
  .lubok .about__line-item span {
    margin-bottom: 4px;
    font-size: 21px;
  }
  .lubok .about__ii {
    margin-top: 28px;
  }
  .lubok .about__ii-title {
    font-size: 20px;
  }
  .lubok .exper__about {
    padding: 22px 18px;
  }
  .lubok .exper__info-blq {
    font-size: 16px;
    padding: 16px 18px;
  }
  .lubok .reviews__item {
    padding: 22px 18px 20px;
  }
  .lubok .contacts__inner {
    padding: 26px 16px 28px;
  }
  .lubok .contacts__numb {
    font-size: 26px;
    margin-right: 14px;
  }
  .lubok .contacts__tt {
    font-size: 18px;
  }
  .lubok .contacts__all {
    width: auto;
    margin-right: 14px;
  }
  .lubok .contacts__all-i {
    font-size: 17px;
  }
  .lubok .contacts__item {
    display: block;
  }
  .lubok .contacts__right {
    margin-top: 10px;
  }
  .lubok .footer__logo img {
    width: 220px;
  }
}
