:root {
  --ink: #222;
  --ink-soft: #555;
  --muted: #8a8a86;
  --line: #e4e2dd;
  --surface: #f5f5f5;
  --section-alt: #f1f0ec;
  --bg: #fff;
  --card: #fff;
  --header-bg: rgba(255,255,255,.96);
  --accent: #1f4f58;
  --accent-hover: #173d44;
  --accent-soft: #e3eeef;
  --shadow: 0 6px 24px rgba(34, 34, 34, .08);
  --dark: color-mix(in srgb, var(--accent) 28%, #0b0e10);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  font: 400 17px/1.6 var(--font);
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button { font: inherit; cursor: pointer; }
h1, h2, h3, p { margin: 0; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 24px; }
.section { padding: 88px 0; }
.h2 { font-size: clamp(28px, 3.2vw, 40px); line-height: 1.15; font-weight: 800; letter-spacing: -.01em; margin-bottom: 28px; }
.prose p { color: var(--ink-soft); max-width: 68ch; }
.prose p + p { margin-top: 16px; }
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 52px; padding: 0 30px;
  border: 1.5px solid transparent; border-radius: var(--btn-radius, var(--radius-sm));
  font-size: 17px; font-weight: 600; text-decoration: none; line-height: 1;
  transition: background-color .2s, color .2s, border-color .2s;
}
.btn--sm { min-height: 44px; padding: 0 20px; font-size: 15px; }
.btn--block { width: 100%; }
.btn--dark { background: var(--btn-bg, var(--accent)); color: var(--btn-text, #fff); }
.btn--dark:hover { background: var(--btn-hover, var(--accent-hover)); }
.btn--light { background: #fff; color: #1d1f22; }
.btn--light:hover { background: #ecebe7; }
.btn--ghost { border-color: rgba(255, 255, 255, .7); color: #fff; background: transparent; }
.btn--ghost:hover { background: rgba(255, 255, 255, .12); border-color: #fff; }
.btn--outline { border-color: var(--ink); color: var(--ink); background: transparent; min-width: 180px; }
.btn--outline:hover { background: var(--ink); color: #fff; }

.ui-ico { display: inline-flex; width: 18px; height: 18px; flex: none; }
.ui-ico svg { width: 100%; height: 100%; }

.msg {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%; color: #fff; text-decoration: none; flex: none;
}
.msg .ui-ico { width: 20px; height: 20px; }
.msg--tg { background: var(--tg); }
.msg--viber { background: var(--viber); }
.msg--ig { background: var(--card); color: var(--ink); }

.btn-msg {
  display: inline-flex; align-items: center; gap: 10px;
  min-height: 48px; padding: 0 20px; border-radius: var(--radius-sm);
  color: #fff; font-weight: 600; text-decoration: none; font-size: 16px;
}
.btn-msg .ui-ico { width: 20px; height: 20px; }
.btn-msg--tg { background: var(--tg); }
.btn-msg--viber { background: var(--viber); }
.btn-msg:hover { filter: brightness(.93); }

.topbar { position: relative; background: var(--dark) repeating-linear-gradient(45deg, rgba(255,255,255,.025) 0 2px, transparent 2px 7px); font-size: 13.5px; color: rgba(255,255,255,.72); }
.topbar__in { display: flex; gap: 28px; align-items: center; min-height: 40px; }
.topbar__item { display: inline-flex; align-items: center; gap: 7px; text-decoration: none; }
.topbar__item .ui-ico { width: 16px; height: 16px; color: currentColor; opacity: .65; }
a.topbar__item:hover { color: #fff; }

.header { position: sticky; top: 0; z-index: 50; background: var(--header-bg); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--line); transition: box-shadow .25s; }
.header.is-scrolled { box-shadow: 0 8px 24px rgba(18,39,44,.08); }
.header__in { display: flex; align-items: center; min-height: 80px; transition: min-height .25s; }
.header.is-scrolled .header__in { min-height: 68px; }
.logo { display: flex; align-items: center; gap: 12px; text-decoration: none; flex: none; margin-right: clamp(8px, 2.2vw, 32px); }
.logo img { max-height: 44px; max-width: 240px; width: auto; height: auto; object-fit: contain; object-position: left center; }
.logo__img--dark { display: none; }
html[data-theme="dark"] .logo__img--light { display: none; }
html[data-theme="dark"] .logo__img--dark { display: block; }
html[data-theme="dark"] .logo img.logo__img--solo { filter: brightness(0) invert(1); }
.logo__mark { width: 44px; height: 44px; border-radius: 10px; background: var(--accent-strong, var(--accent)); color: #fff; display: grid; place-items: center; }
.logo__mark svg { width: 32px; height: 32px; }
.logo__text { display: flex; flex-direction: column; line-height: 1.15; }
.logo__text b { font-size: 21px; font-weight: 800; letter-spacing: -.01em; }
.logo__text small { font-size: 12.5px; color: var(--muted); max-width: 190px; }

.nav { display: flex; gap: 26px; margin-right: auto; }
.nav a { position: relative; text-decoration: none; font-weight: 500; font-size: 16px; padding: 6px 0; transition: color .2s; }
.nav > a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 0; height: 2px; border-radius: 2px; background: var(--accent); transition: left .25s, right .25s; }
.nav > a:hover { color: var(--accent); }
.nav > a:hover::after, .nav > a[aria-current="page"]::after { left: 0; right: 0; }
.nav__mobile-contacts { display: none; }

.header__contacts { display: flex; align-items: center; gap: 14px; }
.header__phone { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 18px; text-decoration: none; white-space: nowrap; }
.header__phone-ico { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); transition: background-color .2s, color .2s; }
.header__phone:hover .header__phone-ico { background: var(--accent); color: var(--on-accent, #fff); }
.header__phone-txt { display: flex; flex-direction: column; line-height: 1.15; }
.header__phone-txt small { font-size: 12px; font-weight: 500; color: var(--muted); }
.header__msg { display: flex; gap: 8px; }
.header__msg .msg { width: 36px; height: 36px; }
.header__msg .msg .ui-ico { width: 18px; height: 18px; }

.burger { display: none; width: 44px; height: 44px; border: 0; background: none; padding: 10px; margin-left: auto; }
.burger span, .burger span::before, .burger span::after { display: block; height: 2px; background: var(--ink); border-radius: 2px; position: relative; transition: transform .2s, background-color .2s; }
.burger span::before, .burger span::after { content: ""; position: absolute; left: 0; right: 0; }
.burger span::before { top: -7px; }
.burger span::after { top: 7px; }
.burger[aria-expanded="true"] span { background: transparent; }
.burger[aria-expanded="true"] span::before { transform: translateY(7px) rotate(45deg); }
.burger[aria-expanded="true"] span::after { transform: translateY(-7px) rotate(-45deg); }

.hero { position: relative; color: #fff; background: var(--accent-strong, var(--accent)); overflow: hidden; isolation: isolate; }

.fade-bg { position: relative; overflow: hidden; isolation: isolate; }
.fade-bg--img::before {
  content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 64%; z-index: -2;
  background: var(--bg-img) right center / cover no-repeat;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.55) 35%, #000 70%);
          mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.55) 35%, #000 70%);
}
.fade-bg::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    repeating-linear-gradient(45deg, rgba(255,255,255,.045) 0 2px, transparent 2px 7px),
    repeating-linear-gradient(-45deg, rgba(0,0,0,.07) 0 2px, transparent 2px 7px),
    linear-gradient(90deg, color-mix(in srgb, var(--accent-strong, var(--accent)) 20%, transparent), color-mix(in srgb, var(--accent-strong, var(--accent)) 35%, transparent));
}
.hero__in { position: relative; z-index: 1; min-height: 560px; display: grid; grid-template-columns: 1fr 500px; gap: 56px; align-items: center; padding-top: 64px; padding-bottom: 64px; }
.hero__content { display: flex; flex-direction: column; }
.hero__form { background: var(--card); color: var(--ink); border-radius: var(--radius); padding: 24px 26px 18px; box-shadow: 0 20px 50px rgba(0,0,0,.25); }
.hero__form-title { font-size: 24px; font-weight: 800; line-height: 1.2; }
.hero__form-text { color: var(--ink-soft); font-size: 15px; margin: 4px 0 14px; }
.hero__form .field input, .hero__form .field textarea { padding: 11px 13px; }
.hero__title { font-size: clamp(38px, 5.6vw, 72px); line-height: 1.02; font-weight: 800; letter-spacing: -.025em; max-width: 13ch; }
.hero__text { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.55; margin-top: 22px; max-width: 34em; color: rgba(255,255,255,.9); }
.hero__btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }
.hero__note {
  display: inline-flex; align-items: center; gap: 16px; align-self: flex-start;
  margin-top: 64px; padding: 12px 14px 12px 20px;
  background: rgba(255,255,255,.12); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.18); border-radius: 999px; font-size: 15px;
}
.hero__note-msg { display: flex; gap: 8px; }

.section--adv { padding-top: 48px; }
.adv { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.adv--n3 { grid-template-columns: repeat(3, 1fr); }
.adv--n2 { grid-template-columns: repeat(2, 1fr); }
.adv--n1 { grid-template-columns: 1fr; }
.adv__item { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 24px 28px; }
.adv-sec--plain .adv__item { background: none; border: 0; padding: 0; }
.adv-sec--lines .adv { gap: 0; }
.adv-sec--lines .adv__item { background: none; border: 0; border-left: 1px solid var(--line); border-radius: 0; padding: 4px 28px; }
.adv-sec--lines .adv__item:first-child { border-left: 0; padding-left: 0; }
.adv__ico { display: grid; place-items: center; width: 60px; height: 60px; margin-bottom: 18px; border-radius: 16px; background: var(--accent-soft); color: var(--accent); }
.adv__ico svg { width: 30px; height: 30px; }
.adv__ico--img { background: none; border-radius: 0; }
.adv__ico--img img { width: 60px; height: 60px; object-fit: contain; }
.adv__icon { width: 60px; height: 60px; object-fit: contain; margin-bottom: 16px; }
.adv__title { font-size: 17px; line-height: 1.4; font-weight: 800; margin-bottom: 8px; }
.adv-sec--upper .adv__title { font-size: 15.5px; line-height: 1.5; text-transform: uppercase; letter-spacing: .04em; }
.adv__text { color: var(--ink-soft); font-size: 15px; line-height: 1.6; }

.intro__grid { display: grid; grid-template-columns: 1fr 380px; gap: 64px; align-items: start; }

.intro, .included, .works, .seo { background: var(--section-alt); }
.photo-card { background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); padding: 32px; }
.photo-card__title { font-size: 22px; font-weight: 800; margin-bottom: 8px; }
.photo-card__text { color: var(--ink-soft); font-size: 16px; }
.photo-card__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.photo-card__phone { display: inline-block; margin-top: 20px; font-size: 20px; font-weight: 700; text-decoration: none; }

.prices__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pcard { display: flex; flex-direction: column; background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); padding: 36px 36px 40px; }
.pcard__head { display: flex; align-items: center; gap: 18px; margin-bottom: 26px; }
.pcard__icon { width: 64px; height: 64px; object-fit: contain; flex: none; }
.pcard__title { font-size: clamp(22px, 2vw, 28px); font-weight: 800; line-height: 1.1; letter-spacing: -.01em; }
.pcard__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.pcard__list li { display: flex; align-items: baseline; gap: 10px; font-size: 17px; }
.pcard__name { flex: none; max-width: 55%; }
.pcard__dots { flex: 1; min-width: 16px; border-bottom: 2px dotted #b9b7b1; transform: translateY(-4px); }
.pcard__price { flex: none; white-space: nowrap; }
.pcard__note { text-align: center; color: var(--ink-soft); margin: 30px 0 24px; margin-top: auto; padding-top: 30px; }
.pcard .btn { align-self: center; }

.included__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: start; }
.included__media { margin: 0; background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.included__media img { width: 100%; }

.included__media--img { background: none; box-shadow: none; border-radius: 0; overflow: visible; }
@media (min-width: 961px) { .included__media { position: sticky; top: 100px; } }
.included__list { padding: 32px 36px 36px; }
.included__list-title { font-size: 20px; font-weight: 800; margin-bottom: 18px; }
.included__list ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; }
.included__list li { position: relative; padding-left: 30px; font-size: 16px; line-height: 1.4; }
.included__list li::before {
  content: ""; position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%;
  background: var(--accent-strong, var(--accent)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.5 2.5L14 7.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat;
}
.included__steps-title { font-size: 22px; font-weight: 800; margin-bottom: 22px; }
.steps-list { list-style: none; margin: 0; padding: 0; counter-reset: st; display: grid; gap: 22px; }
.steps-list li { counter-increment: st; position: relative; padding-left: 56px; min-height: 40px; }
.steps-list li::before {
  content: counter(st); position: absolute; left: 0; top: -2px;
  width: 40px; height: 40px; border-radius: 50%; background: var(--accent); color: var(--on-accent, #fff);
  display: grid; place-items: center; font-weight: 800; font-size: 17px;
}
.steps-list li:not(:last-child)::after { content: ""; position: absolute; left: 19px; top: 44px; bottom: -18px; border-left: 2px dashed #c9c7c1; }
.steps-list__title { font-weight: 700; font-size: 18px; line-height: 1.35; margin-bottom: 4px; }
.steps-list__text { color: var(--ink-soft); font-size: 16px; }
.included__text { margin-top: 48px; padding-top: 36px; border-top: 1px solid var(--line); }
.included__text p { max-width: 90ch; }
.text-phone { font-weight: 700; color: var(--ink); white-space: nowrap; }
.visually-hidden { position: absolute !important; }

.cta__grid { display: grid; grid-template-columns: 1fr 500px; gap: 64px; align-items: center; }
.cta { background: var(--accent-strong, var(--accent)); color: #fff; }
.cta__title { color: #fff; }
.cta__text { color: rgba(255, 255, 255, .82); max-width: 52ch; }
.cta__msg { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.cta__form { background: var(--card); color: var(--ink); border-radius: var(--radius); box-shadow: 0 16px 40px rgba(0, 0, 0, .18); padding: 24px 26px 18px; gap: 10px; }
.cta__form .field span { font-size: 13px; }
.cta__form .field input, .cta__form .field textarea { padding: 11px 13px; }
.cta__form .field textarea { min-height: 64px; }

.lead-form { display: grid; gap: 14px; }
.field { display: grid; gap: 6px; }
.field span { font-size: 14px; font-weight: 500; color: var(--ink-soft); }
.field input, .field textarea, .field select {
  width: 100%; font: inherit; font-size: 16px; color: var(--ink);
  padding: 13px 14px; border: 1.5px solid var(--line); border-radius: var(--radius-sm); background: var(--card);
  transition: border-color .2s;
}
.field textarea { resize: vertical; min-height: 88px; }
.field input:focus, .field textarea:focus, .field select:focus { outline: none; border-color: var(--accent); }
.field select { -webkit-appearance: none; appearance: none; padding-right: 42px; cursor: pointer; background: var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center / 16px no-repeat; }
.field span .req { color: #d0342c; font-style: normal; }
.field.is-error input { border-color: #c0392b; }
.form-note { font-size: 12.5px; color: var(--muted); text-align: center; }
.form-status { font-size: 15px; text-align: center; font-weight: 500; }
.form-status:empty { display: none; }
.form-status.is-ok { color: var(--accent); }

.intro__aside { display: flex; flex-direction: column; }
.intro__img { width: 100%; max-width: 380px; margin: -24px auto -36px; position: relative; z-index: 1; filter: drop-shadow(0 18px 24px rgba(0,0,0,.12)); }
.intro__aside .photo-card { padding-top: 48px; }

.materials__grid { display: grid; grid-template-columns: 1fr 300px; gap: 64px; align-items: start; }
.materials__grid--single { grid-template-columns: 1fr; }
.materials__lead { color: var(--ink-soft); max-width: 60ch; }
.fabrics { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; }
.fabrics li { display: flex; flex-direction: column; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--card); }
.fabrics b { font-weight: 700; font-size: 16px; }
.fabrics span { color: var(--ink-soft); font-size: 14.5px; line-height: 1.45; }
.materials__wide { width: 100%; margin-top: 24px; border-radius: var(--radius); }
.materials__side { width: 100%; max-width: 300px; justify-self: center; margin-top: 4px; filter: drop-shadow(0 20px 30px rgba(0,0,0,.12)); }


.faq__list { display: grid; gap: 10px; }
.faq__item { border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--card); transition: border-color .2s; }
.faq__item[open] { border-color: var(--accent); }
.faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 20px; font-weight: 700; font-size: 17px; line-height: 1.35; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after { content: ""; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 8l4 4 4-4' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; transition: transform .2s; }
.faq__item[open] summary::after { transform: rotate(180deg); }
.faq__a { padding: 0 20px 18px; color: var(--ink-soft); font-size: 16px; }
.faq__a p + p { margin-top: 8px; }
.ask-card { position: sticky; top: 104px; background: var(--card); box-shadow: var(--shadow); border-radius: var(--radius); padding: 28px; text-align: center; }
.ask-card__img { width: 210px; margin: -8px auto 12px; }
.ask-card__title { font-size: 22px; font-weight: 800; line-height: 1.25; }
.ask-card__text { color: var(--ink-soft); font-size: 14px; margin-top: 6px; }
.ask-card__phone { display: inline-block; margin-top: 16px; font-size: 22px; font-weight: 700; text-decoration: none; }
.ask-card__msg { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 16px; }

.seo__grid { display: grid; grid-template-columns: 1fr 360px; gap: 64px; align-items: start; }
.prose--rich h3 { font-size: 21px; line-height: 1.3; font-weight: 800; color: var(--ink); margin: 32px 0 12px; }
.prose--rich ul { margin: 12px 0 0; padding-left: 22px; color: var(--ink-soft); }
.prose--rich li + li { margin-top: 6px; }
.prose--rich li::marker { color: var(--accent); }
.prose--rich b { color: var(--ink); }
.prose--rich p + p, .prose--rich ul + p, .prose--rich p + ul { margin-top: 12px; }

.ft { position: relative; overflow: hidden; isolation: isolate; background: var(--dark); color: rgba(255,255,255,.72); padding-top: 56px; font-size: 15px; }
.ft::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: repeating-linear-gradient(45deg, rgba(255,255,255,.022) 0 2px, transparent 2px 7px), radial-gradient(80% 60% at 100% 0%, color-mix(in srgb, var(--accent-strong, var(--accent)) 55%, transparent), transparent 70%);
}
.ft a { color: inherit; text-decoration: none; transition: color .15s; }
.ft a:hover { color: #fff; }
.ft-cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; padding: 28px 32px; border-radius: var(--radius); background: var(--accent-strong, var(--accent)); border: 1px solid rgba(255,255,255,.1); }
.ft-cta__title { color: #fff; font-size: 22px; font-weight: 800; line-height: 1.25; }
.ft-cta__sub { margin-top: 4px; }
.ft-cta__text { flex: 1 1 320px; min-width: 0; }
.ft-cta__btns { display: flex; gap: 10px; flex-wrap: wrap; flex: 0 0 auto; }
.ft .ft-cta .ft-cta__btns { container-type: normal; }
@media (max-width: 720px) { .ft .ft-cta .ft-cta__btns { flex: 1 1 100%; } }
.ft-cta__btns .btn { min-height: 48px; gap: 8px; }
.ft-cta__btns .btn .ui-ico { width: 18px; height: 18px; }
.ft .ft-cta__btns a.btn-msg:hover { color: #fff; }
.ft-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.25fr; gap: 40px; padding: 56px 0 48px; }
.ft-grid--c0 { grid-template-columns: 1.4fr 1.25fr; }
.ft-grid--c1 { grid-template-columns: 1.4fr 1fr 1.25fr; }
.ft-grid--c3 { grid-template-columns: 1.3fr 1fr 1fr 1fr 1.2fr; gap: 32px; }
.ft-grid--c4 { grid-template-columns: 1.2fr repeat(4, minmax(0, 1fr)) 1.2fr; gap: 28px; }
@media (min-width: 961px) and (max-width: 1180px) { .ft-grid--c4 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ft-grid--c4 .ft-brand { grid-column: 1 / -1; } .ft-grid--c3 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .ft-grid--c3 .ft-brand { grid-column: 1 / -1; } }
.ft-logo { display: inline-flex; align-items: center; gap: 12px; }
.ft-logo img { max-height: 48px; max-width: 240px; width: auto; height: auto; object-fit: contain; object-position: left center; }
.ft-logo .logo__mark { background: #fff; color: var(--accent); }
html .ft .ft-logo img.ft-logo__img--solo { filter: brightness(0) invert(1); }
/*@mod design_pro*/html[data-theme="dark"] .ft--light .ft-logo img:not(.logo__img--light):not(.logo__img--dark):not([src$=".svg"]) { filter: brightness(0) invert(1); }/*@/mod*/
.ft-logo__text { display: flex; flex-direction: column; line-height: 1.2; }
.ft-logo__text b { color: #fff; font-size: 21px; font-weight: 800; }
.ft-logo__text small { font-size: 13px; color: rgba(255,255,255,.55); }
.ft-brand__text { margin-top: 18px; max-width: 34ch; line-height: 1.6; }
.ft-social { display: flex; gap: 8px; margin-top: 22px; }
.ft-social a { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.18); color: #fff; transition: background-color .15s, border-color .15s; }
.ft-social a:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.4); }
.ft-social .ui-ico { width: 18px; height: 18px; }
.ft-col { display: flex; flex-direction: column; gap: 10px; }
.ft-col__title { color: #fff; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 6px; }
.ft-contacts__phone { color: #fff !important; font-size: 22px; font-weight: 800; letter-spacing: -.01em; }
.ft-contacts__line { display: inline-flex; align-items: flex-start; gap: 10px; line-height: 1.45; }
.ft-contacts__line .ui-ico { width: 18px; height: 18px; margin-top: 1px; color: rgba(255,255,255,.55); }
.ft-bottom { display: flex; align-items: center; gap: 12px 28px; flex-wrap: wrap; padding: 22px 0 26px; border-top: 1px solid rgba(255,255,255,.1); font-size: 14px; color: rgba(255,255,255,.5); }
.ft-bottom .metatag { margin-left: auto; }
.metatag { --mt-a: rgba(255, 255, 255, .88); --mt-b: rgba(255, 255, 255, .52); --mt-h: #fff; --mt-hl: rgba(255, 255, 255, .1); --mt-sh: rgba(0, 0, 0, .7); display: flex; align-items: center; gap: 10px; }
.metatag--light { --mt-a: rgba(0, 0, 0, .78); --mt-b: rgba(0, 0, 0, .5); --mt-h: #000; --mt-hl: rgba(255, 255, 255, .95); --mt-sh: rgba(0, 0, 0, .12); }
html[data-theme="dark"] .ft--light .metatag { --mt-a: rgba(255, 255, 255, .88); --mt-b: rgba(255, 255, 255, .52); --mt-h: #fff; --mt-hl: rgba(255, 255, 255, .1); --mt-sh: rgba(0, 0, 0, .7); }
.metatag__logo { flex: none; display: block; width: 34px; height: 34px; border-radius: 50%; transition: transform .4s ease; }
.metatag__img { display: block; width: 34px; height: 34px; }
.metatag__img--white { display: none; }
html[data-theme="dark"] .ft--light .metatag__img--red { display: none; }
html[data-theme="dark"] .ft--light .metatag__img--white { display: block; }
.metatag:has(.metatag__lines a:hover) .metatag__logo { transform: rotate(-12deg) scale(1.06); }
.metatag__lines { display: flex; flex-direction: column; justify-content: center; gap: 2px; height: 34px; }
.metatag__lines a { display: block; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .02em; white-space: nowrap; text-decoration: none; text-shadow: 0 -1px 0 var(--mt-sh), 0 1px 0 var(--mt-hl); transition: color .25s, transform .25s; }
.metatag__lines b { font-weight: 800; }
.ft .metatag__made { color: var(--mt-a); }
.ft .metatag__cms { color: var(--mt-b); }
.ft .metatag__lines a:hover, .ft .metatag__lines a:focus-visible { color: var(--mt-h); text-decoration: none; transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) { .metatag__logo, .metatag__lines a { transition: none; } .metatag:has(.metatag__lines a:hover) .metatag__logo { transform: none; } }

.mbar { display: none; }

.modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 16px; }
.modal[hidden] { display: none; }
.modal__backdrop { position: absolute; inset: 0; background: rgba(20, 20, 18, .55); }
.modal__box { position: relative; width: 100%; max-width: 440px; max-height: calc(100vh - 32px); overflow: auto; background: var(--card); border-radius: var(--radius); padding: 36px 32px 28px; }
.modal__close { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; border: 0; background: none; font-size: 30px; line-height: 1; color: var(--muted); }
.modal__close:hover { color: var(--ink); }
.modal__title { font-size: 24px; font-weight: 800; padding-right: 30px; }
.modal__text { color: var(--ink-soft); font-size: 15px; margin: 6px 0 20px; }
body.is-locked { overflow: hidden; }

@media (max-width: 1180px) {
  .nav { gap: 18px; }
  .nav a { font-size: 15px; }
  .adv, .adv--n3 { grid-template-columns: repeat(2, 1fr); }
  .adv-sec--lines .adv { row-gap: 24px; }
  .adv-sec--lines .adv__item:nth-child(odd) { border-left: 0; padding-left: 0; }
  .prices__grid { grid-template-columns: 1fr 1fr; }
  .pcard { padding: 30px 28px 34px; }
}

@media (max-width: 960px) {
  .section { padding: 64px 0; }
  .topbar { display: none; }
  .header { backdrop-filter: none; -webkit-backdrop-filter: none; background: var(--card); }
  .header__in, .header.is-scrolled .header__in { min-height: 66px; gap: 16px; }
  .burger { display: block; margin-right: -10px; }
  .header__contacts { margin-left: auto; }
  .header__contacts + .burger { margin-left: 0; }
  .header__in > .header__tools { margin-left: auto; }
  .header__in > .header__tools ~ .header__contacts { margin-left: 0; }
  .nav {
    position: fixed; top: 66px; left: 0; right: 0; bottom: 0;
    flex-direction: column; gap: 0; margin: 0; padding: 12px 24px 32px;
    background: var(--card); overflow-y: auto;
    transform: translateX(100%); visibility: hidden; transition: transform .25s, visibility .25s;
  }
  .nav.is-open { transform: none; visibility: visible; }
  .nav > a { font-size: 19px; padding: 14px 0; border-bottom: 1px solid var(--line); }
  .nav > a::after { display: none; }
  .nav > a[aria-current="page"] { color: var(--accent); }
  .nav__mobile-contacts { display: grid; gap: 14px; margin-top: 24px; padding: 22px 20px; border-radius: var(--radius); background: var(--section-alt); }
  .nav__m-label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
  .nav .nav__phone { font-size: 24px; font-weight: 800; border: 0; padding: 0; margin-top: -8px; }
  .nav__m-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .nav .nav__m-btns .btn { min-width: 0; width: 100%; min-height: 46px; padding: 4px 6px; font-size: 14px; font-weight: 600; gap: 6px; white-space: normal; text-align: center; line-height: 1.2; }
  .nav .nav__m-btns .btn--dark { color: #fff; }
  .nav__m-btns .btn .ui-ico { width: 18px; height: 18px; }
  .nav__m-msg { display: grid; gap: 8px; }
  .nav .nav__m-msg a { border-bottom: 0; padding: 0 16px; font-size: 15px; font-weight: 600; }
  .nav .nav__m-msg .btn-msg { justify-content: center; min-height: 44px; min-width: 0; padding: 0 8px; gap: 6px; font-size: 14.5px; white-space: nowrap; }
  .nav__m-note { font-size: 14px; color: var(--ink-soft); line-height: 1.5; }
  .nav__m-list { list-style: none; margin: 0; padding: 14px 0 0; border-top: 1px solid var(--line); display: grid; gap: 10px; font-size: 15px; color: var(--ink-soft); }
  .nav__m-list li { display: flex; align-items: flex-start; gap: 10px; }
  .nav__m-list .ui-ico { width: 18px; height: 18px; color: var(--accent); margin-top: 2px; }
  .nav .nav__m-list a { font-size: 15px; padding: 0; border: 0; color: inherit; }
  .intro__grid, .cta__grid { grid-template-columns: 1fr; gap: 36px; }
  .materials__grid, .seo__grid { grid-template-columns: 1fr; gap: 36px; }
  .materials__side { display: none; }
  .ask-card { position: static; max-width: 520px; }
  .fade-bg--img::before { width: 100%; -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.4) 30%, transparent 55%); mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.4) 30%, transparent 55%); opacity: .6; }
  .intro__aside { max-width: 520px; }
  .included__grid { grid-template-columns: 1fr; gap: 40px; }
  .ft-grid { grid-template-columns: 1fr 1fr; }
  .ft-brand { grid-column: 1 / -1; }
  .ft-grid--c0 .ft-contacts, .ft-grid--c1 .ft-contacts, .ft-grid--c3 .ft-contacts { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  body { font-size: 16px; padding-bottom: 68px; }
  .container { padding: 0 16px; }
  .header__phone, .header__msg { display: none; }
  .logo__text b { font-size: 19px; }
  .logo { min-width: 0; flex: 0 1 auto; }
  .logo__text { min-width: 0; }
  .logo__text small { font-size: 12px; max-width: 180px; line-height: 1.25; }
  .burger { flex: none; }
  .hero__in { min-height: 0; padding-top: 64px; padding-bottom: 40px; }
  .hero__btns .btn { flex: 1 1 140px; }
  .hero__note { margin-top: 40px; border-radius: var(--radius); align-self: stretch; justify-content: space-between; }
  .adv, .adv--n3, .adv--n2 { grid-template-columns: 1fr; gap: 12px; }
  .adv__item { display: grid; grid-template-columns: 52px 1fr; column-gap: 16px; align-items: start; padding: 20px 18px; }
  .adv-sec--lines .adv__item { border-left: 0; padding: 0; }
  .adv__icon, .adv__ico, .adv__ico--img img { width: 52px; height: 52px; margin: 0; grid-row: span 2; }
  .adv__ico svg { width: 26px; height: 26px; }
  .adv__title { font-size: 14.5px; margin-bottom: 4px; }
  .adv__text { font-size: 15px; }
  .prices__grid { grid-template-columns: 1fr; }
  .pcard { padding: 26px 20px 30px; }
  .pcard__icon { width: 52px; height: 52px; }
  .pcard__list li { font-size: 16px; }
  .included__list { padding: 24px 20px; }
  .included__list ul { grid-template-columns: 1fr; }

  .included__list.visually-hidden { position: static !important; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; padding: 18px 20px 22px; margin-top: 12px; background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); }
  .included__text { margin-top: 36px; padding-top: 28px; }
  .cta__form { padding: 24px 18px; }
  .fabrics { grid-template-columns: 1fr; }
  .faq__item summary { font-size: 16px; padding: 16px; }
  .faq__a { padding: 0 16px 16px; }
  .prose--rich h3 { font-size: 19px; }
  .ft { padding-top: 40px; }
  .ft-cta { padding: 22px 20px; }
  .ft-cta__title { font-size: 19px; }
  .ft-grid { gap: 32px 20px; padding: 40px 0 36px; }
  .ft-contacts { grid-column: 1 / -1; }
  .ft-bottom { flex-direction: column; align-items: flex-start; }
  .ft-bottom .metatag { margin-left: 0; }
  .mbar {
    display: flex; gap: 8px; align-items: center;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
    background: var(--card); border-top: 1px solid var(--line);
  }
  .mbar__call { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; border-radius: var(--radius-sm); background: var(--accent-strong, var(--accent)); color: #fff; font-weight: 600; text-decoration: none; }
  .mbar .msg { width: 46px; height: 46px; border-radius: var(--radius-sm); }
}

.page { --page-top: 40px; padding: var(--page-top) 0 0; }
.page > .container { padding-bottom: 88px; }
.page > .container.page-tail { padding: 0; }
.page--layout > .container:first-child { padding-bottom: 12px; }
.crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; color: var(--muted); margin-bottom: 20px; }
.crumbs a { color: var(--ink-soft); text-decoration: none; }
.crumbs a:hover { color: var(--accent); }
.page__title { font-size: clamp(30px, 4vw, 48px); line-height: 1.1; font-weight: 800; letter-spacing: -.02em; max-width: none; text-wrap: balance; }
.page__meta { color: var(--muted); font-size: 15px; margin-top: 12px; }
.legal { max-width: 78ch; margin-top: 40px; color: var(--ink-soft); }
.legal h2 { color: var(--ink); font-size: 22px; line-height: 1.3; font-weight: 800; margin: 40px 0 14px; }
.legal h2:first-child { margin-top: 0; }
.legal p + p, .legal ul + p, .legal p + ul { margin-top: 12px; }
.legal ul { margin: 0; padding-left: 22px; }
.legal li + li { margin-top: 6px; }
.legal li::marker { color: var(--accent); }
.legal a { color: var(--ink); font-weight: 600; }

.form-note a { color: inherit; }
@media (max-width: 720px) { .page { --page-top: 28px; padding: var(--page-top) 0 0; } .legal { margin-top: 28px; } .legal h2 { font-size: 19px; margin-top: 32px; } }

.restore { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; margin-top: 72px; }
.restore__media { margin: 0; }
.restore__caption { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); text-align: center; color: var(--ink-soft); font-size: 15px; }
.ba { position: relative; border-radius: var(--radius); background: var(--surface); }
.ba__after, .ba__before { position: absolute; inset: 0; }
.ba__before { clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.ba img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.ba__ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: flex-end; padding: 0 8%; background: #e7ecec; color: var(--muted); font-weight: 600; font-size: 15px; }
.ba__ph--before { background: #ece8e1; justify-content: flex-start; }
.ba__line { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 3px; margin-left: -1.5px; background: #fff; pointer-events: none; box-shadow: 0 0 8px rgba(0,0,0,.2); }
.ba__handle {
  position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%;
  background: var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 7l-5 5 5 5M15 7l5 5-5 5'/%3E%3C/svg%3E") center / 22px no-repeat;
  box-shadow: 0 2px 10px rgba(0,0,0,.25);
}
.ba__label { position: absolute; top: 14px; padding: 4px 12px; border-radius: 99px; background: rgba(20,20,18,.55); color: #fff; font-size: 13px; font-weight: 600; pointer-events: none; }
.ba__label--before { left: 14px; }
.ba__label--after { right: 14px; }
.ba__range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; -webkit-appearance: none; appearance: none; }
.ba__range:focus-visible + * , .ba:focus-within .ba__handle { outline: 2px solid var(--accent); outline-offset: 2px; }
.restore__list { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 12px; }
.restore__list li { position: relative; padding-left: 36px; font-size: 17px; font-weight: 500; line-height: 1.45; }
.restore__list li::before {
  content: ""; position: absolute; left: 0; top: -1px; width: 26px; height: 26px; border-radius: 50%;
  background: var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.5 2.5L14 7.5' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat;
}
.restore__prose { padding-top: 20px; border-top: 1px solid var(--line); }
.restore__prose p { font-size: 16px; }
@media (max-width: 960px) {
  .restore { grid-template-columns: 1fr; gap: 32px; margin-top: 48px; }
}

.prose--rich .rt-h { display: flex; align-items: center; gap: 14px; margin-top: 44px; }
.rt-ico { flex: none; width: 44px; height: 44px; border-radius: 12px; color: #fff; display: grid; place-items: center; }
.rt-ico svg { width: 24px; height: 24px; }

.prose--rich ul { list-style: none; padding: 0; max-width: none; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.prose--rich ul li { position: relative; margin: 0; padding: 14px 16px 14px 44px; background: var(--card); border-radius: var(--radius-sm); font-size: 15.5px; line-height: 1.5; color: var(--ink); }
.prose--rich ul li::before {
  content: ""; position: absolute; left: 14px; top: 15px; width: 20px; height: 20px; border-radius: 50%;
  background: var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.5 2.5L14 7.5' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.prose--rich ul li + li { margin-top: 0; }
.prose--rich ul li:last-child:nth-child(odd) { grid-column: 1 / -1; }

.rt-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.rt-card { background: var(--card); border-radius: var(--radius-sm); padding: 18px 20px; border-top: 3px solid var(--accent); }
.rt-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.prose--rich .rt-card p { margin: 0; font-size: 15px; line-height: 1.55; max-width: none; }
.prose--rich .rt-card .rt-card__title { font-weight: 800; font-size: 16.5px; color: var(--ink); margin-bottom: 6px; }

.prose--rich .rt-callout {
  margin-top: 36px; max-width: none; padding: 22px 24px 22px 76px; position: relative;
  background: var(--accent-strong, var(--accent)); color: rgba(255,255,255,.9); border-radius: var(--radius); font-size: 17px; line-height: 1.55;
}
.rt-callout::before {
  content: ""; position: absolute; left: 22px; top: 50%; width: 38px; height: 38px; margin-top: -19px; border-radius: 50%;
  background: rgba(255,255,255,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16.5v3a2 2 0 0 1-2.2 2A19.8 19.8 0 0 1 2.5 5.2 2 2 0 0 1 4.5 3h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.5 10.9a16 16 0 0 0 4.6 4.6l1.3-1.2a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center / 20px no-repeat;
}
.rt-callout .text-phone { color: #fff; }
.prose--rich h2 { font-size: 26px; line-height: 1.25; font-weight: 800; color: var(--ink); margin: 40px 0 14px; }
.prose--rich h4 { font-size: 18px; line-height: 1.35; font-weight: 700; color: var(--ink); margin: 26px 0 10px; }
.prose--rich > :is(h2, h3, h4):first-child { margin-top: 0; }
.prose--rich ol { margin: 14px 0 0; padding-left: 24px; color: var(--ink-soft); max-width: 70ch; }
.prose--rich ol li + li { margin-top: 6px; }
.prose--rich ol li::marker { color: var(--accent); font-weight: 700; }
.prose--rich blockquote { margin: 24px 0 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--accent); color: var(--ink); font-size: 18px; line-height: 1.6; font-style: italic; max-width: 68ch; }
.prose--rich blockquote p { color: inherit; }
.prose--rich p.rt-lead { font-size: 19px; line-height: 1.6; color: var(--ink); }
.prose--rich p.rt-note { font-size: 14px; line-height: 1.55; color: var(--muted); }
.prose--rich :is(.rt-info, .rt-ok, .rt-warn) { margin-top: 20px; max-width: none; padding: 16px 20px; border-radius: var(--radius-sm); border-left: 4px solid; color: var(--ink); font-size: 16px; line-height: 1.55; }
.prose--rich .rt-info { background: color-mix(in srgb, var(--accent-strong, var(--accent)) 9%, var(--bg)); border-color: var(--accent); }
.prose--rich .rt-ok { background: color-mix(in srgb, #2f8a4c 11%, var(--bg)); border-color: #2f8a4c; }
.prose--rich .rt-warn { background: color-mix(in srgb, #d99a16 14%, var(--bg)); border-color: #c98a12; }
.prose a.rt-btn, .prose a.rt-btn:hover { display: inline-flex; align-items: center; min-height: 46px; padding: 10px 22px; border-radius: var(--radius-sm); background: var(--btn-bg, var(--accent)); color: var(--btn-text, #fff); font-weight: 700; text-decoration: none; transition: background-color .2s; }
.prose a.rt-btn:hover { background: var(--btn-hover, var(--accent-hover)); }
.prose--rich .rt-table { width: 100%; border-collapse: collapse; margin-top: 20px; font-size: 15.5px; }
@media (max-width: 720px) { .prose--rich .rt-table { display: block; overflow-x: auto; } }
.prose--rich .rt-table th, .prose--rich .rt-table td { padding: 11px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; color: var(--ink-soft); }
.prose--rich .rt-table th { color: var(--ink); font-weight: 700; background: var(--section-alt); white-space: nowrap; }
.prose--rich .rt-table tr:last-child td { border-bottom: 0; }
.ba { overflow: hidden; user-select: none; touch-action: pan-y; aspect-ratio: 10 / 7; }
@media (max-width: 720px) {
  .prose--rich ul, .rt-cards { grid-template-columns: 1fr; }
  .rt-card:last-child:nth-child(odd), .prose--rich ul li:last-child:nth-child(odd) { grid-column: auto; }
  .prose--rich > p:first-child { font-size: 16.5px; }
  .rt-ico { width: 38px; height: 38px; border-radius: 10px; }
  .rt-ico svg { width: 20px; height: 20px; }
  .prose--rich .rt-callout { padding: 72px 18px 20px; }
  .rt-callout::before { top: 20px; margin-top: 0; left: 18px; }
}

.page__lead { max-width: 70ch; margin-top: 16px; color: var(--ink-soft); font-size: 18px; }
.page-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 56px; align-items: start; margin-top: 40px; }
.page-grid .ask-card { background: var(--section-alt); box-shadow: none; }
@media (max-width: 1100px) {
  .hero__in { grid-template-columns: 1fr 420px; gap: 36px; }
}
@media (max-width: 960px) {
  .hero__in { grid-template-columns: 1fr; min-height: 0; padding-top: 56px; padding-bottom: 48px; }
  .hero__form { max-width: 520px; }
  .page-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .page-grid .ask-card { position: static; }
}
@media (max-width: 720px) {
  .hero__form { padding: 22px 18px 16px; }
  .page__lead { font-size: 16px; }
}

.lead-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.hero__form .lead-form { gap: 10px; }
.hero__form .field span { font-size: 13px; }
.hero__form .field textarea { min-height: 64px; }
@media (max-width: 480px) { .lead-form__row { grid-template-columns: 1fr; } }

.reviews-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; flex-wrap: wrap; }
.rating-sum { display: flex; align-items: center; gap: 14px; padding: 16px 22px; background: var(--section-alt); border-radius: var(--radius); }
.rating-sum b { font-size: 40px; font-weight: 800; line-height: 1; }
.rating-sum div { display: flex; flex-direction: column; gap: 4px; }
.rating-sum div > span:last-child { color: var(--ink-soft); font-size: 14px; }
.stars { display: inline-flex; gap: 2px; flex: none; }
.stars i { width: 18px; height: 18px; background: #d6d3cc; -webkit-mask: var(--star) center / contain no-repeat; mask: var(--star) center / contain no-repeat; }
.stars i.on { background: #e0a100; }
.reviews { display: grid; gap: 14px; }
.review { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px 24px; }
.review__head { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 4px 14px; margin-bottom: 12px; }
.review__avatar { width: 44px; height: 44px; flex: none; border-radius: 50%; background: var(--accent-soft); color: var(--accent); font-weight: 800; font-size: 18px; display: grid; place-items: center; }
.review__name { font-weight: 700; }
.review__meta { color: var(--muted); font-size: 14px; }
.review__text { color: var(--ink-soft); font-size: 16px; }
.review__text p + p { margin-top: 8px; }
.empty-note { padding: 24px; border: 1px dashed var(--line); border-radius: var(--radius); color: var(--ink-soft); margin-bottom: 14px; }
.review-card { position: sticky; top: 104px; background: var(--section-alt); border-radius: var(--radius); padding: 26px; }
.review-card__title { font-size: 22px; font-weight: 800; }
.review-card__text { color: var(--ink-soft); font-size: 15px; margin: 6px 0 16px; }
.review-form { display: grid; gap: 12px; }

.rate { border: 0; margin: 0; padding: 0; min-width: 0; }
.rate legend { font-size: 14px; font-weight: 500; color: var(--ink-soft); margin-bottom: 6px; padding: 0; }
.rate__stars { display: inline-flex; flex-direction: row-reverse; gap: 4px; }
.rate input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rate label { width: 32px; height: 32px; font-size: 0; cursor: pointer; background: #d6d3cc; -webkit-mask: var(--star) center / contain no-repeat; mask: var(--star) center / contain no-repeat; transition: background-color .15s; }
.rate input:checked ~ label, .rate label:hover, .rate label:hover ~ label { background: #e0a100; }
.rate input:focus-visible + label { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (max-width: 960px) { .review-card { position: static; max-width: 560px; } }
@media (max-width: 720px) {
  .review { padding: 18px; }
  .review__head { grid-template-columns: 44px minmax(0, 1fr); align-items: start; }
  .review__head .stars { grid-column: 2; }
  .review__head .stars i { width: 16px; height: 16px; }
}
.rate__stars:hover label { background: #d6d3cc; }
.rate__stars label:hover, .rate__stars label:hover ~ label { background: #e0a100; }

.contacts-top { display: grid; grid-template-columns: 1.1fr 1fr; gap: 24px; margin-top: 40px; align-items: stretch; }
.c-main { background: var(--accent-strong, var(--accent)); color: #fff; border-radius: var(--radius); padding: 36px 36px 40px; min-height: 100%; }
.c-main__label { font-size: 14px; color: rgba(255,255,255,.7); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.c-main__phone { display: inline-block; margin-top: 4px; font-size: clamp(30px, 3.4vw, 42px); font-weight: 800; letter-spacing: -.01em; color: #fff; text-decoration: none; }
.c-main__phone--sm { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; font-size: clamp(20px, 2vw, 24px); }
.c-main__phone--sm small { font-size: 14px; font-weight: 500; color: rgba(255,255,255,.7); }
.c-main__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.c-main__btns .btn { min-height: 48px; padding: 0 20px; font-size: 16px; }
.c-main__btns .btn .ui-ico { width: 18px; height: 18px; }
html[data-theme="dark"] .c-main .btn-msg { border: 1px solid rgba(255, 255, 255, .35); }
.c-main__list { list-style: none; margin: 32px 0 0; padding: 26px 0 0; border-top: 1px solid rgba(255,255,255,.18); display: grid; gap: 18px; position: relative; z-index: 1; max-width: 60%; }
.c-main__list li { display: flex; gap: 14px; align-items: flex-start; }
.c-main__list .ui-ico { width: 40px; height: 40px; padding: 10px; border-radius: 50%; background: rgba(255,255,255,.12); color: #fff; }
.c-main__list span { display: flex; flex-direction: column; font-size: 16.5px; font-weight: 600; line-height: 1.35; }
.c-main__list small { font-size: 13px; font-weight: 400; color: rgba(255,255,255,.65); margin-bottom: 2px; }
.c-main__list a { color: #fff; text-decoration: none; }
.c-main__list a:hover { text-decoration: underline; }
.c-main__img { position: absolute; right: 0; bottom: 0; width: 46%; max-width: 380px; z-index: 0; filter: drop-shadow(-10px 10px 24px rgba(0,0,0,.3)); pointer-events: none; }
.c-form { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 32px 32px 24px; box-shadow: var(--shadow); }
.c-form__title { font-size: 26px; font-weight: 800; }
.c-form__text { color: var(--ink-soft); font-size: 15px; margin: 6px 0 18px; }

.c-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 24px; }
.c-step { background: var(--section-alt); border-radius: var(--radius); padding: 24px; }
.c-step .rt-ico { margin-bottom: 14px; }
.c-step__title { font-weight: 800; font-size: 18px; margin-bottom: 6px; }
.c-step__text { color: var(--ink-soft); font-size: 15px; line-height: 1.55; }

.c-map { position: relative; margin-top: 24px; border-radius: var(--radius); overflow: hidden; height: 460px; background: var(--section-alt); }
.c-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.c-map__card { position: absolute; left: 24px; bottom: 24px; max-width: 420px; display: flex; gap: 16px; align-items: center; background: var(--card); border-radius: var(--radius); padding: 16px 20px 16px 12px; box-shadow: 0 12px 34px rgba(0,0,0,.18); }
.c-map__card img { width: 84px; flex: none; }
.c-map__title { font-weight: 800; font-size: 17px; }
.c-map__text { color: var(--ink-soft); font-size: 14px; line-height: 1.5; margin-top: 4px; }
.c-req { margin-top: 40px; padding: 28px 32px; border: 1px solid var(--line); border-radius: var(--radius); }
.c-req__title { font-size: 20px; font-weight: 800; margin-bottom: 10px; }
.c-req__text { color: var(--ink-soft); font-size: 15px; }
.c-req__text p + p { margin-top: 8px; }

@media (max-width: 960px) {
  .contacts-top { grid-template-columns: 1fr; }
  .c-steps { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .c-main { padding: 26px 20px 28px; }
  .c-main__list { max-width: none; }
  .c-main__img { position: static; display: block; width: 88%; max-width: 360px; margin: 24px -20px -28px auto; }
  .c-form { padding: 24px 18px 16px; }
  .c-map { height: auto; }
  .c-map iframe { height: 340px; }
  .c-map__card { position: static; max-width: none; border-radius: 0; box-shadow: none; }
}

.hero--page .hero__in { min-height: 520px; }
.hero__title--page { font-size: clamp(34px, 4.4vw, 56px); max-width: none; text-wrap: balance; }
.crumbs--light { color: rgba(255,255,255,.65); margin-bottom: 18px; }
.crumbs--light a { color: rgba(255,255,255,.85); }
.crumbs--light a:hover { color: #fff; }
.chips { list-style: none; margin: 28px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.chips li { padding: 8px 14px; border-radius: 99px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); font-size: 14.5px; font-weight: 600; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }

.svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.svc { border: 1px solid var(--line); border-radius: var(--radius); }
.svc:hover { border-color: var(--accent); box-shadow: var(--shadow); transform: translateY(-2px); }
.svc__icon { width: 60px; height: 60px; margin-bottom: 16px; }
.svc__title { font-size: 20px; font-weight: 800; line-height: 1.25; }
.svc__title a { text-decoration: none; }
.svc__title a::after { content: ""; position: absolute; inset: 0; }
.svc { display: flex; flex-direction: column; background: var(--card); padding: 26px 26px 22px; transition: border-color .2s, box-shadow .2s, transform .2s; position: relative; }
.svc__text { color: var(--ink-soft); font-size: 15px; margin-top: 8px; flex: 1; }
.svc__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.svc__price { font-weight: 800; font-size: 18px; color: var(--accent); white-space: nowrap; }
.svc__more { border: 0; background: none; padding: 0; font: inherit; font-weight: 600; font-size: 15px; color: var(--ink); position: relative; z-index: 1; }
.svc__more:hover { color: var(--accent); }
.svc-note { margin-top: 18px; color: var(--ink-soft); font-size: 15px; }
.svc-note a { color: var(--accent); font-weight: 600; }

.main--svc .section--adv { padding-top: 88px; }
.factors__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.factor { background: var(--card-bg, #fff); border-radius: var(--radius); padding: 24px; }
.factor .rt-ico { margin-bottom: 14px; }
.factor__title { font-weight: 800; font-size: 17px; margin-bottom: 6px; }
.factor__text { color: var(--ink-soft); font-size: 15px; line-height: 1.55; }

@media (max-width: 1100px) { .factors__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 960px) { .svc-grid { grid-template-columns: repeat(2, 1fr); } .hero--page .hero__in { min-height: 0; } .main--svc .section--adv { padding-top: 64px; } }
@media (max-width: 720px) { .svc-grid, .factors__grid { grid-template-columns: 1fr; } .svc { padding: 20px; } }

.nav__dd { position: relative; }
.nav__dd-btn { display: inline-flex; align-items: center; gap: 4px; border: 0; background: none; padding: 6px 0; font: inherit; font-weight: 500; font-size: 16px; color: var(--ink); border-bottom: 2px solid transparent; cursor: pointer; }
.nav__dd-btn svg { width: 16px; height: 16px; transition: transform .2s; }
.nav__dd-btn.is-active { border-bottom-color: var(--accent); }
.nav__dd-menu {
  position: absolute; top: calc(100% + 10px); left: -18px; min-width: 240px; z-index: 60;
  display: flex; flex-direction: column; padding: 8px; background: var(--card); border-radius: var(--radius); box-shadow: 0 16px 40px rgba(0,0,0,.14); border: 1px solid var(--line);
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s;
}
.nav__dd-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.nav .nav__dd-menu a { padding: 10px 12px; border-radius: 8px; border: 0; font-size: 15.5px; white-space: nowrap; }
.nav .nav__dd-menu a:hover, .nav .nav__dd-menu a[aria-current="page"] { background: var(--accent-soft); color: var(--accent); }
.nav__dd:hover .nav__dd-menu, .nav__dd:focus-within .nav__dd-menu, .nav__dd.is-open .nav__dd-menu { opacity: 1; visibility: visible; transform: none; }
.nav__dd:hover .nav__dd-btn svg, .nav__dd.is-open .nav__dd-btn svg { transform: rotate(180deg); }
@media (max-width: 1180px) { .nav__dd-btn { font-size: 15px; } }
@media (max-width: 960px) {
  .nav__dd-btn { width: 100%; font-size: 19px; padding: 14px 0; border-bottom: 1px solid var(--line); }
  .nav__dd-btn.is-active { border-bottom-color: var(--line); color: var(--accent); }
  .nav__dd-menu { position: static; min-width: 0; padding: 4px 0 8px 12px; border: 0; box-shadow: none; border-radius: 0; display: none; opacity: 1; visibility: visible; transform: none; }
  .nav__dd.is-open .nav__dd-menu { display: flex; }
  .nav__dd:hover .nav__dd-btn svg { transform: none; }
  .nav__dd.is-open .nav__dd-btn svg { transform: rotate(180deg); }
  .nav .nav__dd-menu a { font-size: 17px; padding: 10px 12px; margin-left: -12px; border-bottom: 0; border-radius: 10px; }
}
.svc__price--ask { font-size: 15px; font-weight: 700; }

.page--404 { padding: 72px 0 0; }
.e404__code { font-size: clamp(80px, 14vw, 160px); font-weight: 800; line-height: 1; color: var(--accent-soft); letter-spacing: -.04em; }
.e404__links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }

.main--svc > .section { --card-bg: var(--surface); background: var(--card); }
.main--svc > .section:nth-of-type(odd) { --card-bg: #fff; background: var(--section-alt); }
.main--svc > .section.cta { background: var(--accent-strong, var(--accent)); }
.main--svc > .section.faq { background: var(--card); }

.sec-head { flex-wrap: wrap; }
.sec-head .h2 { max-width: none; }

.hero--image { background: var(--accent-strong, var(--accent)); }
.hero--image .hero__in { grid-template-columns: 1.1fr 1fr; }
.hero--image .hero__in:not(:has(.hero__visual)) { grid-template-columns: minmax(0, 640px); }
.hero__visual { position: relative; display: grid; place-items: center; }
.hero__visual::before { content: ""; position: absolute; width: 82%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.16), rgba(255,255,255,0) 70%); }
.hero__visual img { position: relative; width: 100%; max-width: 520px; filter: drop-shadow(0 30px 40px rgba(0,0,0,.35)); }
.hero--image .hero__btns { margin-top: 32px; }
.hero--image .hero__btns .btn-msg { min-height: 52px; }

.guide__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.guide__card { background: var(--card-bg); border-radius: var(--radius); padding: 24px; display: flex; flex-direction: column; }
.guide__card .rt-ico { margin-bottom: 16px; }
.guide__title { font-size: 18px; font-weight: 800; line-height: 1.3; }
.tags { list-style: none; margin: 12px 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.tags li { padding: 4px 10px; border-radius: 99px; background: var(--accent-soft); color: var(--accent); font-size: 13px; font-weight: 700; }
.guide__text { color: var(--ink-soft); font-size: 15px; line-height: 1.55; }
.guide__note { margin-top: 20px; font-weight: 600; }

.tl { list-style: none; margin: 0; padding: 0; counter-reset: tl; }
.tl__step { counter-increment: tl; position: relative; }
.tl__title { font-weight: 800; font-size: 17.5px; margin-bottom: 6px; }
.tl__text { color: var(--ink-soft); font-size: 15px; line-height: 1.55; }
.timeline--grid .tl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.timeline--grid .tl__step { background: var(--card-bg); border-radius: var(--radius); padding: 22px 24px 24px; }
.timeline--grid .tl__step::before { content: counter(tl, decimal-leading-zero); display: block; font-size: 34px; font-weight: 800; line-height: 1; color: var(--accent); opacity: .35; margin-bottom: 14px; }
.timeline--line .tl { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 20px; }
.timeline--line .tl__step { padding-top: 64px; }
.timeline--line .tl__step::before { content: counter(tl); position: absolute; top: 0; left: 0; width: 46px; height: 46px; border-radius: 50%; background: var(--accent); color: var(--on-accent, #fff); font-weight: 800; display: grid; place-items: center; z-index: 1; }
.timeline--line .tl__step:not(:last-child)::after { content: ""; position: absolute; top: 22px; left: 46px; right: -20px; height: 2px; background: repeating-linear-gradient(90deg, #c9c7c1 0 6px, transparent 6px 12px); }

.pr { border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); background: var(--card); }
.pr__head, .pr__row { display: grid; grid-template-columns: 1fr 1.3fr 1.5fr; gap: 24px; padding: 18px 24px; }
.pr__head { background: var(--accent-strong, var(--accent)); color: #fff; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.pr__row + .pr__row { border-top: 1px solid var(--line); }
.pr__row:nth-child(odd) { background: #fbfaf8; }
.pr__problem { font-weight: 800; font-size: 16.5px; padding-left: 30px; position: relative; }
.pr__problem::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: #fdecea url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 5.5v5.5M10 14.2h.01' fill='none' stroke='%23c0392b' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center / 16px no-repeat; }
.pr__cause { color: var(--ink-soft); font-size: 15px; }
.pr__fix { font-size: 15px; }
.pr__label { display: none; }

.cmp { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cmp__col { background: var(--card-bg); border-radius: var(--radius); padding: 28px; }
.cmp__col--accent { background: var(--accent-strong, var(--accent)); color: rgba(255,255,255,.85); }
.cmp__col--accent .rt-ico { background: #fff; color: var(--accent); }
.cmp__col .rt-ico { margin-bottom: 16px; }
.cmp__title { font-size: 22px; font-weight: 800; }
.cmp__col--accent .cmp__title { color: #fff; }
.cmp__text { margin-top: 4px; font-size: 15px; opacity: .85; }
.cmp__list { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; }
.cmp__list li { position: relative; padding-left: 28px; font-weight: 600; font-size: 15.5px; }
.cmp__list li::before { content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.5 2.5L14 7.5' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; }
.cmp__note { margin-top: 18px; font-weight: 600; }

.vs__wrap { overflow-x: auto; border-radius: var(--radius); border: 1px solid var(--line); background: var(--card); }
.vs__table { width: 100%; border-collapse: collapse; font-size: 15.5px; }
.vs__table th, .vs__table td { padding: 16px 22px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.vs__table tbody tr:last-child > * { border-bottom: 0; }
.vs__table thead th { font-size: 17px; font-weight: 800; background: #fbfaf8; }
.vs__table thead th.is-accent { background: var(--accent-strong, var(--accent)); color: #fff; }
.vs__table tbody th { font-weight: 700; color: var(--ink); width: 22%; }
.vs__table td { color: var(--ink-soft); width: 39%; }
.vs__table td.is-accent { background: var(--accent-soft); color: var(--ink); font-weight: 500; }

.restore-sec .restore { margin-top: 0; }
.restore--flip .restore__media { order: 2; }

@media (max-width: 1100px) {
  .guide__grid { grid-template-columns: repeat(2, 1fr); }
  .timeline--line .tl { grid-auto-flow: row; grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .timeline--line .tl__step::after { display: none; }
}
@media (max-width: 960px) {
  .hero--image .hero__in { grid-template-columns: 1fr; }
  .hero__visual img { max-width: 380px; }
  .timeline--grid .tl { grid-template-columns: 1fr 1fr; }
  .pr__head { display: none; }
  .pr__row { grid-template-columns: 1fr; gap: 8px; }
  .pr__label { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 2px; }
  .cmp { grid-template-columns: 1fr; }
  .restore--flip .restore__media { order: 0; }
}
@media (max-width: 720px) {
  .guide__grid, .timeline--grid .tl, .timeline--line .tl { grid-template-columns: 1fr; }
  .timeline--line .tl__step { padding: 0 0 0 62px; min-height: 46px; }
  .vs__table thead { display: none; }
  .vs__table, .vs__table tbody, .vs__table tr, .vs__table th, .vs__table td { display: block; width: 100%; }
  .vs__table tr { border-bottom: 1px solid var(--line); padding: 14px 16px; }
  .vs__table tbody th, .vs__table td { padding: 4px 0; border: 0; width: auto; }
  .vs__table td::before { content: attr(data-label) ": "; font-weight: 700; color: var(--ink); }
  .vs__table td.is-accent { background: none; }
  .cmp__col { padding: 22px 20px; }
}

.svc__more { text-decoration: none; display: inline-flex; align-items: center; gap: 2px; }
.svc__more .ui-ico { width: 16px; height: 16px; transition: transform .2s; }
.svc:hover .svc__more .ui-ico { transform: translateX(3px); }
.main--svc > .section.seo { --card-bg: #fff; background: var(--section-alt); }
.main--svc > .section.seo.sb-slot:not(.is-alt), section.section.seo.sb-slot:not(.is-alt) { background: var(--bg); --card-bg: var(--card); }

.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; }
.blog-grid--3 { margin-top: 0; }
.post-card { position: relative; display: flex; flex-direction: column; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: box-shadow .2s, transform .2s, border-color .2s; }
.post-card:hover { box-shadow: var(--shadow); transform: translateY(-2px); border-color: #d6d3cc; }
.post-card__img { display: block; aspect-ratio: 16 / 10; background: var(--section-alt); overflow: hidden; }
.post-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.post-card:hover .post-card__img img { transform: scale(1.03); }
.post-card__body { display: flex; flex-direction: column; flex: 1; padding: 20px 22px 22px; }
.post-card__meta { color: var(--muted); font-size: 13.5px; }
.post-card__title { font-size: 19px; font-weight: 800; line-height: 1.3; margin-top: 8px; }
.post-card__title a { text-decoration: none; }
.post-card__title a::after { content: ""; position: absolute; inset: 0; }
.post-card__text { color: var(--ink-soft); font-size: 15px; line-height: 1.55; margin-top: 8px; }
.post-card__more .ui-ico { transition: transform .2s; }
.post-card:hover .post-card__more .ui-ico { transform: translateX(3px); }
.post-card--wide { grid-column: 1 / -1; flex-direction: row; }
.post-card--wide .post-card__img { flex: 0 0 55%; aspect-ratio: auto; min-height: 320px; }
.post-card--wide .post-card__body { padding: 36px 40px; justify-content: center; }
.post-card--wide .post-card__title { font-size: clamp(22px, 2.4vw, 30px); }
.post-card--wide .post-card__text { font-size: 16.5px; }
.post-card--wide .post-card__more { margin-top: 20px; padding-top: 0; }
.blog-empty { margin-top: 32px; }
.pager { display: flex; gap: 8px; justify-content: center; margin-top: 40px; }
.pager__item { min-width: 44px; height: 44px; padding: 0 12px; display: grid; place-items: center; border-radius: var(--radius-sm); border: 1px solid var(--line); text-decoration: none; font-weight: 600; }
.pager__item:hover { border-color: var(--accent); color: var(--accent); }
.pager__item.is-current { background: var(--accent); border-color: var(--accent); color: var(--on-accent, #fff); }
.pager { flex-wrap: wrap; align-items: center; }
.pager__item--arrow { padding: 0; }
.pager__item--arrow svg { display: block; }
.pager__item.is-off { opacity: .35; pointer-events: none; }
.pager__gap { min-width: 20px; text-align: center; color: var(--muted); }
.more-wrap { display: flex; justify-content: center; margin-top: 32px; }
.more-wrap + .pager { margin-top: 20px; }
.more-btn { min-width: 240px; gap: 8px; }
.more-btn span { color: var(--muted); font-weight: 600; }
.more-btn.is-loading { opacity: .6; pointer-events: none; }
@media (max-width: 720px) { .pager { gap: 6px; margin-top: 28px; } .pager__item { min-width: 40px; height: 40px; padding: 0 10px; } .more-btn { width: 100%; } }

.page--post { padding-bottom: 0; }
.post-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; align-items: start; margin-bottom: 88px; }
.post__title { max-width: none; text-wrap: balance; }
.post__meta { color: var(--muted); font-size: 15px; margin-top: 12px; }
.post__lead { font-size: 19px; line-height: 1.6; color: var(--ink); margin-top: 20px; max-width: 62ch; }
.post__cover { margin: 32px 0 0; border-radius: var(--radius); overflow: hidden; background: var(--section-alt); }
.post__cover img { width: 100%; max-height: 460px; object-fit: cover; }
.post__body { margin-top: 36px; font-size: 17px; }
.post__body p { max-width: 70ch; }
.post__body h2 { font-size: 26px; font-weight: 800; line-height: 1.25; margin: 44px 0 14px; color: var(--ink); }
.post__body h3 { font-size: 20px; font-weight: 800; line-height: 1.3; margin: 28px 0 10px; color: var(--ink); }
.post__body ul { grid-template-columns: 1fr; max-width: 70ch; }
.post__body ul li { background: var(--section-alt); }
.post__body ol { margin: 14px 0 0; padding: 0; list-style: none; counter-reset: ol; display: grid; gap: 10px; max-width: 70ch; }
.post__body ol li { counter-increment: ol; position: relative; padding-left: 44px; color: var(--ink-soft); min-height: 30px; }
.post__body ol li::before { content: counter(ol); position: absolute; left: 0; top: -2px; width: 30px; height: 30px; border-radius: 50%; background: var(--accent-soft); color: var(--accent); font-weight: 800; font-size: 14px; display: grid; place-items: center; }
.post__body a { color: var(--accent); font-weight: 600; }
.rt-img { margin: 28px 0; }
.rt-img img { border-radius: var(--radius); width: 100%; }
.rt-img figcaption { margin-top: 8px; color: var(--muted); font-size: 14px; }
.post-grid .ask-card { top: 104px; }
.post-more { background: var(--section-alt); }

@media (max-width: 960px) {
  .blog-grid { grid-template-columns: 1fr 1fr; }
  .post-card--wide { flex-direction: column; }
  .post-card--wide .post-card__img { flex: none; aspect-ratio: 16 / 9; min-height: 0; }
  .post-card--wide .post-card__body { padding: 22px; }
  .post-grid { grid-template-columns: 1fr; gap: 40px; margin-bottom: 64px; }
  .post-grid:last-child, .text-page:last-child { margin-bottom: 0; }
}
@media (max-width: 720px) {
  .blog-grid { grid-template-columns: 1fr; }
  .post__lead { font-size: 17px; }
  .post__body { font-size: 16px; }
  .post__body h2 { font-size: 22px; margin-top: 36px; }
}

.promo { margin-top: 48px; padding: 32px 34px; border-radius: var(--radius); background: var(--accent-strong, var(--accent)); color: rgba(255,255,255,.85); }
.promo__title { color: #fff; font-size: 23px; font-weight: 800; line-height: 1.25; max-width: 26ch; }
.promo__text { margin-top: 10px; font-size: 16px; line-height: 1.6; max-width: 62ch; }
.promo__links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.promo__links a { display: inline-flex; align-items: center; gap: 2px; padding: 8px 12px 8px 14px; border-radius: 99px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); color: #fff; font-size: 14.5px; font-weight: 600; text-decoration: none; transition: background-color .2s; }
.promo__links a:hover { background: rgba(255,255,255,.22); }
.promo__links .ui-ico { width: 16px; height: 16px; }
.promo__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 24px; }
.promo__btns .btn { min-height: 48px; gap: 8px; }
.promo__btns .btn .ui-ico { width: 18px; height: 18px; }
.promo__btns .msg { width: 48px; height: 48px; border-radius: var(--radius-sm); }
.home-blog { background: var(--section-alt); }
.home-blog__head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-bottom: 28px; }
.home-blog__head .h2 { margin-bottom: 0; }
.home-blog__all { display: inline-flex; align-items: center; gap: 2px; color: var(--accent); font-weight: 700; text-decoration: none; }
.home-blog__all .ui-ico { width: 18px; height: 18px; transition: transform .2s; }
.home-blog__all:hover .ui-ico { transform: translateX(3px); }
@media (max-width: 720px) {
  .promo { padding: 24px 20px; }
  .promo__title { font-size: 20px; }
  .promo__btns { gap: 8px; }
  .promo__btns .btn { flex: 1 1 0; min-width: 0; padding-left: 12px; padding-right: 12px; white-space: nowrap; }
  .promo__btns .msg { width: 48px; height: 48px; }
  .promo__btns .promo__phone { flex-basis: 100%; }
}

@media (max-width: 339px) { .nav__m-btns { grid-template-columns: 1fr; } }

.c-req__list { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 12px 48px; margin: 0; }
.c-req__list dt { font-size: 13px; color: var(--muted); }
.c-req__list dd { margin: 2px 0 0; font-weight: 600; }
.c-req__text { margin-top: 14px; }
@media (max-width: 720px) { .c-req__list { grid-template-columns: 1fr; } .c-req { padding: 22px 20px; } }

.works__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 28px; }
.works__head .h2 { margin-bottom: 8px; }
.works__lead { color: var(--ink-soft); max-width: 60ch; }
.slider__nav { display: flex; gap: 8px; flex: none; }
.slider__btn { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--line); background: var(--card); color: var(--ink); display: grid; place-items: center; transition: background-color .2s, color .2s, border-color .2s, opacity .2s; }
.slider__btn .ui-ico { width: 20px; height: 20px; }
.slider__btn--prev .ui-ico { transform: rotate(180deg); }
.slider__btn:hover:not(:disabled) { background: var(--accent); border-color: var(--accent); color: var(--on-accent, #fff); }
.slider__btn:disabled { opacity: .35; cursor: default; }
.slider__track { list-style: none; margin: 0; padding: 0 0 4px; display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.slider__track::-webkit-scrollbar { display: none; }
.slider__slide { flex: 0 0 calc((100% - 32px) / 3); scroll-snap-align: start; }
.work { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: var(--radius); overflow: hidden; background: var(--section-alt); }
.work img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.work:hover img { transform: scale(1.04); }
.work__zoom { position: absolute; right: 14px; bottom: 14px; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,.92); display: grid; place-items: center; opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; }
.work__zoom svg { width: 20px; height: 20px; }
.work:hover .work__zoom, .work:focus-visible .work__zoom { opacity: 1; transform: none; }
.slider__progress { position: relative; height: 3px; margin-top: 20px; border-radius: 3px; background: rgba(0,0,0,.08); overflow: hidden; }
.slider__progress span { position: absolute; left: 0; top: 0; bottom: 0; width: 30%; border-radius: 3px; background: var(--accent); transition: transform .15s linear; }
.works__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; font-weight: 600; color: var(--accent); text-decoration: none; }
.works__more:hover { text-decoration: underline; }

.lb { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 24px; background: rgba(10,16,18,.92); }
.lb[hidden] { display: none; }
.lb__fig { margin: 0; max-width: min(1200px, 100%); display: flex; flex-direction: column; align-items: center; }
.lb__img { max-width: 100%; max-height: calc(100vh - 120px); border-radius: 10px; object-fit: contain; }
.lb__cap { margin-top: 12px; color: rgba(255,255,255,.85); font-size: 15px; text-align: center; }
.lb__close { position: absolute; top: 14px; right: 18px; width: 48px; height: 48px; border: 0; background: none; color: #fff; font-size: 36px; line-height: 1; }
.lb__nav { flex: none; width: 52px; height: 52px; border-radius: 50%; border: 0; background: rgba(255,255,255,.12); color: #fff; display: grid; place-items: center; }
.lb__nav:hover { background: rgba(255,255,255,.24); }
.lb__nav .ui-ico { width: 24px; height: 24px; }
.lb__nav--prev .ui-ico { transform: rotate(180deg); }

@media (max-width: 960px) { .slider__slide { flex-basis: calc((100% - 16px) / 2); } }
@media (max-width: 720px) {
  .works__head .slider__nav { display: none; }
  .slider__slide { flex-basis: 85%; }
  .work__zoom { opacity: 1; transform: none; width: 38px; height: 38px; }
  .lb { padding: 12px; }
  .lb__nav { position: absolute; bottom: 20px; }
  .lb__nav--prev { left: calc(50% - 64px); }
  .lb__nav--next { right: calc(50% - 64px); }
  .lb__img { max-height: calc(100vh - 180px); }
}

.ft-legal { margin-top: 10px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.1); font-size: 13.5px; line-height: 1.6; color: rgba(255,255,255,.5); }

@media (max-width: 720px) { .fade-bg--img::before { background-image: var(--bg-img-sm, var(--bg-img)); } }
.modal__close, .lb__close { display: grid; place-items: center; }
.lb__close svg { width: 28px; height: 28px; }

.form-sent { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 28px 16px 20px; color: var(--ink); animation: sentIn .35s ease; }
.form-sent__icon { width: 76px; height: 76px; margin-bottom: 16px; border-radius: 50%; background: #e7f6ee; display: grid; place-items: center; }
.form-sent__icon svg { width: 52px; height: 52px; }
.form-sent__icon circle { stroke: #1f9d55; stroke-width: 3; stroke-dasharray: 151; stroke-dashoffset: 151; animation: sentDraw .5s ease forwards; }
.form-sent__icon path { stroke: #1f9d55; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 36; stroke-dashoffset: 36; animation: sentDraw .35s .4s ease forwards; }
.form-sent__title { font-size: 22px; font-weight: 800; }
.form-sent__text { margin-top: 6px; color: var(--ink-soft); font-size: 15.5px; max-width: 32ch; }
.form-sent__again { margin-top: 18px; border: 0; background: none; padding: 6px 4px; font: inherit; font-weight: 600; font-size: 14.5px; color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.form-sent__again:hover { color: var(--accent-hover); }
@keyframes sentDraw { to { stroke-dashoffset: 0; } }
@keyframes sentIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.form-status.is-err { padding: 10px 12px; border-radius: var(--radius-sm); background: #fdecea; color: #b3261e; font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .form-sent__icon circle, .form-sent__icon path { stroke-dashoffset: 0; animation: none; } }
.lead-form[hidden], .review-form[hidden] { display: none !important; }

h1, h2, h3, .h2, .hero__title, .page__title, .cta__title, .ft-cta__title, .promo__title, .logo__text b, .ft-logo__text b,
.svc__title, .post-card__title, .guide__title, .cmp__title, .factor__title, .tl__title, .review-card__title, .ask-card__title,
.hero__form-title, .c-form__title, .home-svc__title, .adv__title, .pcard__title, .sec-head .h2 { font-family: var(--font-head); }

.home-svc__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.home-svc__card { display: flex; flex-direction: column; border-radius: var(--radius); overflow: hidden; background: var(--card-bg, #fff); border: 1px solid var(--line); text-decoration: none; transition: box-shadow .2s, transform .2s; }
.home-svc__card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.home-svc__img { display: block; aspect-ratio: 16 / 10; background: var(--section-alt); overflow: hidden; }
.home-svc__img img { width: 100%; height: 100%; object-fit: cover; }
.home-svc__body { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 20px; flex: 1; }
.home-svc__title { font-size: 19px; font-weight: 800; line-height: 1.3; }
.home-svc__text { color: var(--ink-soft); font-size: 15px; line-height: 1.5; flex: 1; }
.home-svc__more { display: inline-flex; align-items: center; gap: 2px; margin-top: 8px; font-weight: 600; font-size: 15px; color: var(--accent); }
.home-svc__more .ui-ico { width: 16px; height: 16px; }
.home-rev__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 960px) { .home-rev__grid { grid-template-columns: 1fr; } }

.main--home > .section { --card-bg: var(--surface); background: var(--card); }
.main--home > .section:nth-of-type(even) { --card-bg: #fff; background: var(--section-alt); }
.main--home > .section.cta { background: var(--accent-strong, var(--accent)); }
.text-page { margin-top: 8px; margin-bottom: 88px; }
.post-grid:last-child, .text-page:last-child { margin-bottom: 0; }
section.section:not(.sb-html):not(:has(> :not(.container, .cms-ed, script, template))):not(:has(> .container > :not(.cms-ed, script, template))) { display: none; }
.nav > a, .nav__dd-btn { white-space: nowrap; }
@media (max-width: 1320px) and (min-width: 961px) { .nav { gap: 18px; }  }
@media (max-width: 1200px) and (min-width: 961px) {
  .logo__text small, .header__phone-txt { display: none; }
  .nav > a, .nav__dd-btn { font-size: 15px; }
}
@media (max-width: 1480px) and (min-width: 961px) {
  .header__phone-txt small { display: none; }
  .logo__text small { max-width: 150px; }
  .nav { gap: 20px; }
}

.pgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.pgrid--page { margin-top: 28px; }
.pcard2 { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.pcard2__img { display: block; overflow: hidden; }
.pcard2__img img { width: 100%; height: 100%; transition: transform .4s; }
.pcard2__body { display: flex; flex-direction: column; flex: 1; }
.pcard2__title a { text-decoration: none; }
.pcard2__title a:hover { color: var(--accent); }
.pcard2__price { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.price { font-size: 22px; font-weight: 800; color: var(--ink); white-space: nowrap; }
.price--req { font-size: 16px; color: var(--ink-soft); }
.price-old { color: var(--muted); font-size: 15px; white-space: nowrap; }
.badges-p { position: absolute; display: flex; align-items: flex-start; gap: 5px; z-index: 1; }
.badge-p { font-weight: 700; color: #fff; }
.badge-p--hit { background: var(--accent-strong, var(--accent)); }
.badge-p--new { background: #1f9d55; }
.badge-p--sale { background: #d0342c; }
.buy { display: flex; gap: 8px; justify-content: center; }
.buy .btn { min-height: 44px; padding: 0 16px; font-size: 15px; gap: 8px; }
.buy .btn .ui-ico { width: 17px; height: 17px; }
.buy__toggle { width: 100%; }
.buy__toggle.is-on { background: var(--card); color: var(--accent); border-color: var(--accent); }
.buy__toggle.is-on .ui-ico svg { fill: currentColor; }
.buy__add.is-done { background: #1f9d55; border-color: #1f9d55; }
.qty { display: inline-flex; align-items: center; height: 44px; border: 1.5px solid var(--line); border-radius: 99px; background: var(--card); flex: none; }
.qty__btn { width: 36px; height: 100%; border: 0; background: none; font-size: 20px; line-height: 1; color: var(--ink); cursor: pointer; }
.qty__btn:hover { color: var(--accent); }
.qty__input { width: 36px; border: 0; text-align: center; font: inherit; font-weight: 700; font-size: 16px; background: none; -moz-appearance: textfield; }
.qty__input::-webkit-outer-spin-button, .qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.qty--sm { height: 36px; }
.qty--sm .qty__btn { width: 30px; font-size: 18px; }
.qty__val { min-width: 24px; text-align: center; font-weight: 700; }

.cat-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.cat-chip { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 99px; border: 1px solid var(--line); background: var(--card); text-decoration: none; font-weight: 600; font-size: 15px; transition: border-color .15s, color .15s; }
.cat-chip small { color: var(--muted); font-weight: 500; }
.cat-chip:hover { border-color: var(--accent); color: var(--accent); }
.cat-chip.is-active { background: var(--accent); border-color: var(--accent); color: var(--on-accent, #fff); }
.cat-chip.is-active small { color: rgba(255,255,255,.75); }
.cat-seo { margin: 64px 0 88px; max-width: 900px; }
.cat-seo:not(:has(~ :not([hidden], script, template))) { margin-bottom: 0; }
.page--catalog { padding-bottom: 0; }

.prod { display: grid; gap: 48px; margin-top: 16px; align-items: start; }
.prod__noimg { color: var(--muted); }
.prod__title { font-size: clamp(28px, 3vw, 40px); font-weight: 800; line-height: 1.15; }
 
 
.prod__short { margin-top: 22px; color: var(--ink-soft); font-size: 16.5px; line-height: 1.6; }
.prod__specs { margin: 22px 0 0; border-top: 1px solid var(--line); }
.prod__specs div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.prod__specs dt { color: var(--muted); }
.prod__specs dd { margin: 0; font-weight: 600; text-align: right; }

.cart-tab { position: fixed; right: 0; top: 50%; z-index: 70; transform: translateY(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; width: 64px; padding: 16px 0 14px; border: 0; border-radius: var(--radius) 0 0 var(--radius); background: var(--accent-strong, var(--accent)); color: #fff; cursor: pointer; box-shadow: -6px 8px 24px rgba(0,0,0,.18); transition: width .2s, background-color .2s; }
.cart-tab:hover { width: 70px; background: var(--accent-hover); }
.cart-tab .ui-ico { width: 30px; height: 30px; }
.cart-tab__count { min-width: 28px; height: 28px; padding: 0 6px; border-radius: 99px; background: #fff; color: var(--accent); font-weight: 800; font-size: 14px; display: grid; place-items: center; }
.cart-tab.is-pulse { animation: cartPulse .5s ease; }
@keyframes cartPulse { 0%, 100% { transform: translateY(-50%) scale(1); } 40% { transform: translateY(-50%) scale(1.12); } }
.cart-backdrop { position: fixed; inset: 0; z-index: 80; background: rgba(15,18,20,.45); }
.cart { position: fixed; top: 0; right: 0; bottom: 0; z-index: 90; width: min(440px, 100%); display: flex; flex-direction: column; background: #f7f6f3; box-shadow: -12px 0 40px rgba(0,0,0,.16); transform: translateX(105%); visibility: hidden; transition: transform .3s ease, visibility 0s linear .3s; }
.cart.is-open { transform: none; visibility: visible; transition: transform .3s ease, visibility 0s; }
.cart__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 24px 24px 16px; }
.cart__title { font-size: 26px; font-weight: 800; line-height: 1.15; font-family: var(--font-head); }
.cart__sub { margin-top: 4px; color: var(--ink-soft); font-size: 15px; }
.cart__close { flex: none; width: 44px; height: 44px; border: 0; background: none; color: var(--ink); cursor: pointer; display: grid; place-items: center; }
.cart__list { flex: 1; overflow-y: auto; padding: 4px 24px 16px; display: flex; flex-direction: column; gap: 12px; }
.cart__empty { padding: 0 24px; color: var(--muted); }
.citem { position: relative; display: grid; grid-template-columns: 84px 1fr; gap: 14px; padding: 14px 40px 14px 14px; background: var(--card); border-radius: var(--radius); }
.citem__img { width: 84px; height: 84px; border-radius: var(--radius-sm); overflow: hidden; background: var(--section-alt); }
.citem__img img { width: 100%; height: 100%; object-fit: cover; }
.citem__body { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
.citem__title { font-weight: 700; line-height: 1.3; text-decoration: none; }
.citem__title:hover { color: var(--accent); }
.citem__weight { color: var(--muted); font-size: 13px; margin-top: -4px; }
.citem__sum { font-size: 17px; }
.citem__del { position: absolute; top: 8px; right: 8px; width: 32px; height: 32px; border: 0; background: none; color: var(--muted); cursor: pointer; display: grid; place-items: center; border-radius: 50%; }
.citem__del:hover { color: #d0342c; background: #fdecea; }
.cart__foot { padding: 18px 24px calc(20px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--line); background: var(--card); }
.cart__total { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 14px; }
.cart__total span { color: var(--ink-soft); }
.cart__total b { font-size: 26px; font-weight: 800; }
.cart__go { min-height: 52px; }

@media (max-width: 1100px) { .pgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) {
  .pgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .price { font-size: 18px; }
  .buy { flex-direction: column; align-items: stretch; }
  .buy .qty { justify-content: space-between; width: 100%; }
  .buy .btn { padding: 0 10px; font-size: 14px; }
  .cart-tab { width: 54px; padding: 12px 0 10px; top: auto; bottom: 90px; transform: none; }
  .cart-tab.is-pulse { animation: none; }
}
.header.is-tighter .header__phone-txt, .header.is-tighter .logo__text small { display: none; }
.header.is-tighter .nav > a, .header.is-tighter .nav__dd-btn { font-size: 14.5px; }

.page--checkout { padding-bottom: 0; }
.co { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 40px; align-items: start; margin-top: 28px; }
.co__fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 18px; }
.co-field--wide { grid-column: 1 / -1; }
.co-field, .co__form { min-width: 0; }
.co-field input, .co-field select, .co-field textarea { width: 100%; min-width: 0; max-width: 100%; }
.co .req { color: #d0342c; font-style: normal; }
.co-deliv { border: 0; margin: 0; padding: 0; min-width: 0; }
.co-deliv legend { padding: 0; margin-bottom: 8px; font-size: 14px; font-weight: 600; color: var(--ink-soft); }
.co-options { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.co-opt { position: relative; cursor: pointer; }
.co-opt input { position: absolute; top: 0; left: 0; width: 1px; height: 1px; margin: 0; opacity: 0; }
.co-opt__box { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 14px 16px 14px 46px; border: 1.5px solid var(--line); border-radius: var(--radius); background: var(--card); transition: border-color .15s, box-shadow .15s; }
.co-opt__box::before { content: ""; position: absolute; left: 16px; top: 16px; width: 18px; height: 18px; border-radius: 50%; border: 2px solid #c6c9cf; background: var(--card); }
.co-opt input:checked + .co-opt__box { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.co-opt input:checked + .co-opt__box::before { border-color: var(--accent); background: radial-gradient(circle, var(--accent-strong, var(--accent)) 0 45%, #fff 50%); }
.co-opt input:focus-visible + .co-opt__box { outline: 2px solid var(--accent); outline-offset: 2px; }
.co-opt__box small { color: var(--ink-soft); font-size: 13.5px; line-height: 1.45; }
.co-check { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; cursor: pointer; }
.co-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--accent); flex: none; }
.co-check a { color: var(--accent); }
.co .is-invalid { border-color: #d0342c !important; box-shadow: 0 0 0 3px rgba(208,52,44,.12); }
.co__sum { position: sticky; top: 100px; padding: 24px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.co__sum-title { font-size: 20px; font-weight: 800; font-family: var(--font-head); margin-bottom: 14px; }
.co__items { display: flex; flex-direction: column; gap: 12px; max-height: 380px; overflow-y: auto; }
.co-item { display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; align-items: center; }
.co-item__img { width: 56px; height: 56px; border-radius: var(--radius-sm); overflow: hidden; background: var(--section-alt); }
.co-item__img img { width: 100%; height: 100%; object-fit: cover; }
.co-item__body { display: flex; flex-direction: column; min-width: 0; }
.co-item__body b { font-size: 15px; line-height: 1.3; }
.co-item__body small { color: var(--muted); font-size: 13px; }
.co-item__sum { white-space: nowrap; font-size: 15px; }
.co__empty { color: var(--ink-soft); }
.co__empty a { color: var(--accent); font-weight: 600; }
.co__totals { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 6px; }
.co__totals > div { display: flex; justify-content: space-between; color: var(--ink-soft); }
.co__totals b { color: var(--ink); }
.co__total { margin-top: 6px; font-size: 18px; }
.co__total b { font-size: 24px; font-weight: 800; }
.co__min { margin-top: 12px; padding: 10px 12px; border-radius: var(--radius-sm); background: #fff6e0; color: #7a5800; font-size: 14px; }
.co__submit { margin-top: 18px; min-height: 54px; font-size: 17px; }
.co__submit:disabled { opacity: .5; cursor: not-allowed; }
.co-done { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 560px; margin: 40px auto 0; padding: 40px 24px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); }
.co-done .form-sent__icon { margin-bottom: 16px; }
.co-done__title { font-size: 28px; font-weight: 800; font-family: var(--font-head); }
.co-done__num { margin-top: 8px; font-size: 17px; }
.co-done__text { margin: 10px 0 24px; color: var(--ink-soft); }
@media (max-width: 960px) { .co { grid-template-columns: minmax(0, 1fr); } .co__sum { position: static; order: -1; } }
@media (max-width: 720px) { .co__fields, .co-options { grid-template-columns: minmax(0, 1fr); } }
[hidden] { display: none !important; }
.cart-tab.is-off { display: none !important; }

.cat-layout { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 32px; }
.cat-main .page__title { margin-top: 0; }
.pgrid--side { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cat-side { display: flex; flex-direction: column; gap: 16px; }
.cat-menu__list, .cat-menu__sub, .cat-menu__sub2 { list-style: none; margin: 0; padding: 0; }
.cat-menu__item:last-child { border-bottom: 0; }
.cat-menu__row { display: flex; align-items: center; }
.cat-menu__row a { flex: 1; text-decoration: none; }
.cat-menu__row a:hover, .cat-menu__item.is-current > .cat-menu__row a { color: var(--accent); }
.cat-menu__toggle { border: 0; background: none; color: var(--muted); cursor: pointer; display: grid; place-items: center; transition: transform .2s; }
.cat-menu__item.is-open .cat-menu__toggle { transform: rotate(180deg); color: var(--accent); }
.cat-menu__sub { display: none; }
.cat-menu__item.is-open .cat-menu__sub { display: block; }
.cat-menu__sub a { text-decoration: none; }
.cat-menu__sub2 a { padding-left: 44px; }
.cat-menu__sub a:hover, .cat-menu__sub .is-current > a { color: var(--accent); }
.cat-banner img { width: 100%; border-radius: var(--radius); display: block; }
.cat-banner a { display: block; transition: transform .2s; }
.cat-banner a:hover { transform: translateY(-2px); }
.cat-contact { position: sticky; top: 96px; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 24px 20px 0; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.cat-contact__img { width: 110px; height: 110px; border-radius: 50%; object-fit: cover; margin-bottom: 14px; box-shadow: var(--shadow); }
.cat-contact__ico { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); margin-bottom: 14px; }
.cat-contact__ico .ui-ico { width: 28px; height: 28px; }
.cat-contact__label { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.cat-contact__name { margin-top: 4px; font-size: 20px; font-weight: 700; }
.cat-contact__phone { margin-top: 4px; font-size: 16px; color: var(--ink-soft); text-decoration: none; }
.cat-contact__phone:hover { color: var(--accent); }
.cat-contact__msg { display: flex; gap: 8px; margin-top: 12px; }
.cat-contact__btn { width: calc(100% + 40px); margin: 18px -20px 0; padding: 16px; border: 0; background: var(--accent-soft); color: var(--accent); font: inherit; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: background-color .2s, color .2s; }
.cat-contact__btn:hover { background: var(--accent); color: var(--on-accent, #fff); }

.flt-bar { margin-top: 24px; }
.flt-list { display: flex; flex-wrap: wrap; align-items: center; border-radius: var(--radius); }
.flt { position: relative; }
.flt summary { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line); cursor: pointer; }
.flt summary::-webkit-details-marker { display: none; }
.flt summary svg { color: var(--muted); transition: transform .2s; }
.flt[open] summary svg { transform: rotate(180deg); }
.flt summary em { font-style: normal; font-size: 12.5px; font-weight: 600; line-height: 1.5; padding: 0 6px; border-radius: 4px; background: var(--accent-soft); color: var(--accent); }
.flt.is-on summary { border-color: color-mix(in srgb, var(--accent) 40%, var(--line)); }
.flt__pop { position: absolute; z-index: 20; top: calc(100% + 6px); left: 0; min-width: 240px; max-width: 320px; padding: 14px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 16px 40px rgba(0,0,0,.14); }
.flt__opts { max-height: 260px; overflow-y: auto; }
.flt__opt { display: flex; align-items: center; gap: 10px; padding: 6px 2px; cursor: pointer; font-size: 15px; }
.flt__opt input { width: 17px; height: 17px; accent-color: var(--accent); flex: none; }
.flt__opt span { flex: 1; }
.flt__opt small { color: var(--muted); }
.flt__range { display: flex; gap: 8px; }
.flt__range label { display: flex; align-items: center; gap: 6px; }
.flt__range span { color: var(--muted); font-size: 14px; }
.flt__range input { width: 100%; padding: 9px 10px; border: 1.5px solid var(--line); border-radius: var(--radius-sm); font: inherit; }
.flt__apply { width: 100%; margin-top: 12px; min-height: 42px; font-size: 15px; }
.flt-reset { font-weight: 600; font-size: 14.5px; color: var(--accent); }
.flt-found { margin-top: 10px; color: var(--ink-soft); font-size: 14.5px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 1100px) { .pgrid--side { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 960px) {
  .cat-layout { grid-template-columns: 1fr; }
  .cat-side { position: static; order: 2; }
  .cat-menu__sub { display: none; }
}
@media (max-width: 720px) { .flt__pop { position: fixed; z-index: 70; left: 12px; right: 12px; top: auto; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); max-width: none; max-height: 75vh; overflow: auto; box-shadow: 0 -8px 40px rgba(0,0,0,.22); }  }

/* ---------- Тёмная тема ---------- */
body { background: var(--bg); color: var(--ink); }
html[data-theme="dark"] {
  color-scheme: dark;
}
html[data-theme="dark"] img:not([src$=".svg"]) { filter: brightness(.94); }
html[data-theme="dark"] .hero::before, html[data-theme="dark"] .cta::before { opacity: .85; }
html[data-theme="dark"] .field input, html[data-theme="dark"] .field textarea, html[data-theme="dark"] .field select { background-color: #121417; }
html[data-theme="dark"] .field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23bbb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
html[data-theme="dark"] .cart { background: #15171a; }
html[data-theme="dark"] .co__min { background: #3a2f10; color: #f0d58a; }
html[data-theme="dark"] .price-old, html[data-theme="dark"] .crumbs { color: var(--muted); }
html[data-theme="dark"] .rt-callout, html[data-theme="dark"] .promo { background: color-mix(in srgb, var(--accent-base, #1f4f58) 70%, #000); }
html[data-theme="dark"] .logo__mark { background: var(--accent-strong, var(--accent)); }
html[data-theme="dark"] .header__phone-ico { background: var(--surface); }
html[data-theme="dark"] ::selection { background: var(--accent-strong, var(--accent)); color: #fff; }

.theme-sw { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border-radius: 99px; background: rgba(255,255,255,.1); }
.theme-sw button { width: 28px; height: 28px; border: 0; border-radius: 50%; background: none; color: rgba(255,255,255,.7); display: grid; place-items: center; cursor: pointer; }
.theme-sw button svg { width: 16px; height: 16px; }
.theme-sw button:hover { color: #fff; }
.theme-sw button[aria-pressed="true"] { background: #fff; color: #1d1f22; }
.nav .theme-sw { background: var(--surface); align-self: flex-start; }
.nav .theme-sw button { color: var(--ink-soft); }
.nav .theme-sw button[aria-pressed="true"] { background: var(--accent); color: var(--on-accent, #fff); }

/* ---------- Каталог в стиле маркетплейса ---------- */
.page__count, .page__title[data-n]::after { white-space: nowrap; display: inline-block; min-width: 32px; margin-left: 6px; padding: 3px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--card); font-size: 14px; line-height: 1.3; font-weight: 700; color: var(--ink-soft); text-align: center; letter-spacing: 0; vertical-align: middle; font-family: var(--font); position: relative; top: -.15em; }
.page__title[data-n]::after { content: attr(data-n); }
.cat-intro { max-width: 1000px; }
.cat-tiles { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.cat-tile { display: inline-flex; align-items: center; gap: 12px; padding: 12px 20px 12px 14px; min-height: 64px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); text-decoration: none; font-weight: 600; transition: border-color .15s, box-shadow .15s; }
.cat-tile img { width: 48px; height: 48px; object-fit: contain; border-radius: 8px; }
.cat-tile small { display: inline-block; min-width: 26px; margin-left: -2px; padding: 2px 7px; border: 1px solid var(--line); border-radius: 6px; background: var(--card); font-size: 12.5px; line-height: 1.3; font-weight: 700; color: var(--ink-soft); text-align: center; }
.cat-tile:hover { border-color: var(--accent); box-shadow: var(--shadow); }

.cat-menu { background: none; border: 0; border-radius: 0; overflow: visible; }
.cat-menu__title { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 4px 0 14px; border: 0; border-bottom: 0; background: none; font: inherit; font-size: 16px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--ink); cursor: pointer; }
.cat-menu__title svg { color: var(--muted); transition: transform .2s; }
.cat-menu.is-collapsed .cat-menu__title svg { transform: rotate(-90deg); }
.cat-menu.is-collapsed .cat-menu__list { display: none; }
.cat-menu__item { border-bottom: 0; }
.cat-menu__row a { padding: 6px 10px; font-weight: 600; border-radius: 8px; }
.cat-menu__item.is-current > .cat-menu__row a { background: var(--surface); color: var(--ink); }
.cat-menu__toggle { width: 32px; height: 32px; }
.cat-menu__sub { background: none; padding: 2px 0 8px; }
.cat-menu__sub a { display: inline-block; padding: 6px 10px; margin-left: 12px; border-radius: 8px; color: var(--ink); font-size: 15.5px; }
.cat-menu__sub2 a { margin-left: 26px; font-size: 14.5px; }
.cat-menu__sub .is-current > a { background: var(--surface); font-weight: 600; color: var(--ink); }

.flt-list { padding: 0; background: none; gap: 8px; margin-top: 24px; }
.flt summary { list-style: none; user-select: none; padding: 8px 12px; font-size: 14.5px; font-weight: 500; border-radius: var(--radius-sm); background: var(--card); }
.flt summary:hover { border-color: #c8c9cc; }
.flt--sort summary { font-weight: 600; }
.flt-reset { margin-left: 4px; }
.view-sw { margin-left: auto; display: inline-flex; padding: 3px; border-radius: var(--radius-sm); background: var(--surface); }
.view-sw button { width: 32px; height: 30px; border: 0; background: none; color: var(--muted); border-radius: 6px; cursor: pointer; display: grid; place-items: center; }
.view-sw button[aria-pressed="true"] { background: var(--card); color: var(--ink); box-shadow: 0 1px 3px rgba(0,0,0,.1); }

.pcard2 { border-color: var(--line); background: var(--card); transition: box-shadow .2s, transform .2s, border-color .2s; }
.pcard2:hover { transform: none; box-shadow: 0 12px 36px rgba(0,0,0,.12); border-color: transparent; z-index: 2; }
.pcard2__img { position: relative; aspect-ratio: 1; margin: 12px 12px 0; border-radius: calc(var(--radius) - 4px); background: var(--card); }
.pcard2__img img { object-fit: contain; }
.pcard2:hover .pcard2__img img { transform: none; }
.pc-zones { position: absolute; inset: 0; display: flex; z-index: 1; }
.pc-zones i { flex: 1; }
.pc-dots { position: absolute; display: flex; z-index: 1; }
.pc-dots i { border-radius: 2px; background: rgba(0,0,0,.15); }
.pc-dots i.is-on { background: var(--ink); }
.pcard2__body { text-align: left; padding: 14px 18px 18px; }
.pcard2__price { justify-content: flex-start; margin: 0 0 6px; }
.pcard2__price .price { font-size: 20px; }
.pcard2__title { font-size: 15.5px; font-weight: 600; line-height: 1.35; }
.pcard2__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 8px; font-size: 13.5px; color: var(--muted); }
.pc-stock { display: inline-flex; align-items: center; gap: 5px; color: #1f9d55; font-weight: 500; }
.pc-stock--order { color: #b27a00; }
.pcard2__sku { margin-top: 4px; font-size: 13px; color: var(--muted); }
.pcard2__short { display: none; margin-top: 8px; color: var(--ink-soft); font-size: 14.5px; }
.pcard2__buy { margin-top: auto; padding-top: 16px; }
.pcard2__body { min-width: 0; }
.pcard2__price .price--req { font-size: 16px; white-space: normal; }
.pcard2__buy .prod-req { min-width: 0; max-width: 100%; white-space: normal; text-align: center; line-height: 1.2; }
.pcard2 .pcard2__buy .prod-req { min-height: 42px; padding: 0 18px; font-size: 14.5px; border-radius: var(--radius-sm); }
@media (max-width: 720px) { .pcard2 .pcard2__buy .prod-req { width: 100%; padding: 6px 10px; } }
.pcard2 .buy { justify-content: flex-start; }
.pcard2 .buy__toggle { width: auto; }
.pcard2 .buy .btn { min-height: 40px; padding: 0 18px; font-size: 14.5px; border-radius: var(--radius-sm); }
.pcard2 .qty { height: 40px; }
.badges-p { top: 4px; left: 4px; flex-direction: row; flex-wrap: wrap; }
.badge-p { padding: 3px 8px; border-radius: 6px; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }

.pgrid.is-list { grid-template-columns: 1fr !important; }
.pgrid.is-list .pcard2 { flex-direction: row; }
.pgrid.is-list .pcard2__img { flex: 0 0 220px; margin: 12px; }
.pgrid.is-list .pcard2__body { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "title price" "rating buy" "meta buy" "sku buy" "short buy"; column-gap: 24px; align-content: center; }
.pgrid.is-list .pcard2__title { grid-area: title; font-size: 17px; }
.pgrid.is-list .pcard2__price { grid-area: price; justify-content: flex-end; }
.pgrid.is-list .pcard2__meta { grid-area: meta; }
.pgrid.is-list .pcard2__sku { grid-area: sku; }
.pgrid.is-list .pcard2__short { grid-area: short; display: block; }
.pgrid.is-list .pcard2__buy { grid-area: buy; align-self: end; padding-top: 0; }
.pgrid.is-compact { grid-template-columns: 1fr !important; gap: 8px; }
.pgrid.is-compact .pcard2 { flex-direction: row; align-items: center; }
.pgrid.is-compact .pcard2__img { flex: 0 0 72px; margin: 8px; }
.pgrid.is-compact .badges-p, .pgrid.is-compact .pc-dots, .pgrid.is-compact .pc-zones { display: none; }
.pgrid.is-compact .pcard2__body { flex: 1; display: grid; align-items: center; padding: 10px 16px; }
.pgrid.is-compact .pcard2__price { order: 3; margin: 0; }
.pgrid.is-compact .pcard2__title { order: 1; }
.pgrid.is-compact .pcard2__meta { order: 2; margin: 0; }
.pgrid.is-compact .pcard2__sku { display: none; }
.pgrid.is-compact .pcard2__buy { order: 4; padding-top: 0; }
@media (max-width: 720px) {
  .view-sw { display: none; }
  .pgrid.is-list, .pgrid.is-compact { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .pgrid.is-list .pcard2, .pgrid.is-compact .pcard2 { flex-direction: column; }
  .pcard2__body { padding: 10px 12px 14px; }
  .pcard2__price .price { font-size: 17px; }
  .pcard2 .buy .btn { padding: 0 10px; }
  .cat-tile { padding: 8px 14px 8px 10px; min-height: 52px; font-size: 14.5px; }
  .cat-tile img { width: 36px; height: 36px; }
}

.header__search-btn { flex: none; width: 42px; height: 42px; border: 0; border-radius: 50%; background: var(--surface); color: var(--ink); display: grid; place-items: center; cursor: pointer; transition: background-color .2s, color .2s; }
.header__search-btn:hover { background: var(--accent); color: var(--on-accent, #fff); }
.hsearch { position: absolute; left: 0; right: 0; top: 100%; z-index: 5; border-top: 1px solid var(--line); background: var(--card); box-shadow: 0 16px 30px rgba(0,0,0,.08); }
.hsearch[hidden] { display: none; }
.hsearch__in { display: flex; align-items: center; gap: 12px; padding-top: 14px; padding-bottom: 14px; }
.hsearch__ico { color: var(--muted); flex: none; }
.hsearch__input { flex: 1; min-width: 0; border: 0; background: none; font: inherit; font-size: 18px; color: var(--ink); padding: 10px 0; outline: none; }
.hsearch__input::-webkit-search-cancel-button { display: none; }
.hsearch__scope select { padding: 9px 36px 9px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); font: inherit; font-size: 14.5px; color: var(--ink); -webkit-appearance: none; appearance: none; cursor: pointer; background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 10px center / 14px no-repeat; }
.hsearch__go { min-height: 44px; padding: 0 22px; }
.hsearch__close { flex: none; width: 40px; height: 40px; border: 0; background: none; color: var(--muted); cursor: pointer; display: grid; place-items: center; border-radius: 50%; }
.hsearch__close:hover { background: var(--surface); color: var(--ink); }
@media (max-width: 720px) { .hsearch__in { flex-wrap: wrap; gap: 8px; } .hsearch__input { flex: 1 1 100%; order: 0; font-size: 16px; border-bottom: 1px solid var(--line); } .hsearch__scope { flex: 1 1 auto; order: 1; } .hsearch__scope select { width: 100%; min-height: 44px; } .hsearch__go { order: 2; } .hsearch__close { order: 3; } .hsearch__ico { display: none; } .header__search-btn { width: 38px; height: 38px; } }

.topbar__end { margin-left: auto; display: flex; align-items: center; gap: 18px; }
.nav__m-theme { display: none; }
@media (max-width: 960px) { .nav__m-theme { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; font-weight: 600; } }

.srch-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 20px; }
.srch-form input[type="search"] { flex: 1 1 360px; padding: 13px 16px; border: 1.5px solid var(--line); border-radius: var(--radius-sm); font: inherit; font-size: 16px; background: var(--card); color: var(--ink); }
.srch-form input[type="search"]:focus { outline: none; border-color: var(--accent); }
.srch-form .btn { min-height: 50px; }
.srch-scope { display: inline-flex; padding: 3px; border-radius: var(--radius-sm); background: var(--surface); }
.srch-scope label { cursor: pointer; }
.srch-scope input { position: absolute; opacity: 0; }
.srch-scope span { display: block; padding: 10px 14px; border-radius: 6px; font-weight: 600; font-size: 14.5px; color: var(--ink-soft); }
.srch-scope input:checked + span { background: var(--card); color: var(--ink); box-shadow: 0 1px 3px rgba(0,0,0,.1); }
.srch-scope input:focus-visible + span { outline: 2px solid var(--accent); }
.srch-note { margin-top: 20px; color: var(--ink-soft); }
.srch-note a { color: var(--accent); font-weight: 600; }
.srch-h { margin: 36px 0 16px; font-size: 22px; }
.srch-h small { color: var(--muted); font-weight: 500; font-size: 16px; }
.srch-list { display: grid; gap: 10px; max-width: 900px; }
.srch-item { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); text-decoration: none; transition: border-color .15s; }
.srch-item:hover { border-color: var(--accent); }
.srch-item__type { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--accent); }
.srch-item b { font-size: 17px; }
.srch-item__ex { color: var(--ink-soft); font-size: 14.5px; }
.srch-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.srch-tabs a { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line); background: var(--card); color: var(--ink); font-weight: 600; font-size: 14.5px; text-decoration: none; transition: border-color .15s, background-color .15s, color .15s; }
.srch-tabs a small { color: var(--muted); font-weight: 500; font-size: 13px; }
.srch-tabs a:hover { border-color: var(--accent); }
.srch-tabs a.is-active { background: var(--accent); border-color: var(--accent); color: var(--on-accent, #fff); }
.srch-tabs a.is-active small { color: inherit; opacity: .8; }
.page--search .cat-tiles + .pgrid { margin-top: 24px; }
.sgst__group { margin: 8px 10px 4px; font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.sgst__group:first-child { margin-top: 4px; }

.nav__more { position: relative; display: flex; align-items: center; }
.nav__more-btn { width: 40px; height: 40px; border: 0; background: none; color: var(--ink-soft); border-radius: 50%; cursor: pointer; display: grid; place-items: center; }
.nav__more-btn:hover, .nav__more.is-open .nav__more-btn { color: var(--accent); background: var(--surface); }
.nav__more-list { position: absolute; top: calc(100% + 12px); right: 0; min-width: 240px; padding: 10px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 18px 40px rgba(0,0,0,.14); display: none; flex-direction: column; z-index: 60; }
.nav__more:hover .nav__more-list, .nav__more.is-open .nav__more-list, .nav__more:focus-within .nav__more-list { display: flex; }
.nav__more::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 14px; }
.nav__more-list > a { padding: 9px 12px; border-radius: 8px; font-size: 15px; white-space: nowrap; }
.nav__more-list > a::after { display: none; }
.nav__more-list > a:hover { background: var(--surface); color: var(--accent); }
.nav__more-list .nav__dd { position: relative; }
.nav__more-list .nav__dd-btn { width: 100%; padding: 9px 12px; border-radius: 8px; font-size: 15px; }
.nav__more-list .nav__dd-btn svg { transform: rotate(-90deg); }
.nav__more-list .nav__dd-btn:hover { background: var(--surface); }
.nav__more-list .nav__dd-menu { top: -10px; left: auto; right: calc(100% + 8px); transform: none; }
.nav__more-list .nav__dd:hover .nav__dd-menu { opacity: 1; visibility: visible; pointer-events: auto; }
@media (max-width: 960px) { .nav__more { display: none !important; } }

/* ---------- Блоки конструктора ---------- */
.main--blocks > .hero + .section, .main--blocks > .page-head + .section { }
.page-head { padding: 28px 0 8px; }
.sec-head { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 6px; margin-bottom: 28px; text-align: left; }
.sec-head .h2 { margin-bottom: 0; }
.sec-head__lead { color: var(--ink-soft); max-width: 70ch; }
.sb-note { margin-top: 16px; color: var(--muted); font-size: 14.5px; }

.hs { position: relative; }
.hs__bgs { position: absolute; inset: 0; }
.hs__bg { position: absolute; inset: 0; opacity: 0; transition: opacity .8s ease; background: var(--accent-strong, var(--accent)); }
.hs__bg.is-active { opacity: 1; }
.hs .hero__in { position: relative; z-index: 1; }
.hs:not(.hs--form) .hero__in { grid-template-columns: minmax(0, 760px); }
.hs__texts { display: grid; }
.hs__texts > .crumbs { grid-row: 1; }
.hs__text { grid-row: 2; grid-column: 1; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .6s, transform .6s, visibility .6s; }
.hs__text.is-active { opacity: 1; visibility: visible; transform: none; }
.hs__nav { grid-row: 3; display: flex; align-items: center; gap: 10px; margin-top: 30px; }
.hs__btn { position: relative; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.08); color: #fff; display: grid; place-items: center; cursor: pointer; transition: background-color .2s; }
.hs__btn:hover { background: rgba(255,255,255,.2); }
.hs__btn--ring { border-color: transparent; }
.hs__ring { position: absolute; inset: -1px; width: calc(100% + 2px); height: calc(100% + 2px); transform: rotate(-90deg); }
.hs__ring circle { fill: none; stroke: rgba(255,255,255,.3); stroke-width: 2; }
.hs__ring .hs__ring-fill { stroke: #fff; stroke-dasharray: 126; stroke-dashoffset: 126; }
.hs__count { margin-left: 8px; color: rgba(255,255,255,.75); font-size: 15px; font-variant-numeric: tabular-nums; }
.hs__count b { color: #fff; }
.hs__line { flex: 1; max-width: 220px; height: 3px; margin-left: 12px; border-radius: 3px; background: rgba(255,255,255,.25); overflow: hidden; }
.hs__line i { display: block; height: 100%; width: 0; background: #fff; }
.hs.is-running .hs__line i { animation: hsFill var(--hs-time) linear forwards; }
.hs.is-running .hs__ring-fill { animation: hsRing var(--hs-time) linear forwards; }
.hs.is-paused .hs__line i, .hs.is-paused .hs__ring-fill { animation-play-state: paused; }
@keyframes hsFill { to { width: 100%; } }
@keyframes hsRing { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .hs__bg, .hs__text { transition: none; } }

.sb-adv { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.sb-adv__item { padding: 24px; border-radius: var(--radius); background: var(--card-bg, var(--card)); border: 1px solid var(--line); }
.sb-adv__item .rt-ico { margin-bottom: 14px; }
.sb-adv__title { font-weight: 800; font-size: 17px; font-family: var(--font-head); }
.sb-adv__text { margin-top: 6px; color: var(--ink-soft); font-size: 15px; line-height: 1.55; }

.sb-subs { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 16px; }
.sb-sub { display: flex; flex-direction: column; border-radius: var(--radius); overflow: hidden; background: var(--card-bg, var(--card)); border: 1px solid var(--line); transition: box-shadow .2s, transform .2s; }
.sb-sub:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.sb-sub__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--section-alt); }
.sb-sub__img img { width: 100%; height: 100%; object-fit: cover; }
.sb-sub__body { display: flex; flex-direction: column; flex: 1; padding: 18px 20px 20px; }
.sb-sub__title { font-size: 18px; font-weight: 800; line-height: 1.3; }
.sb-sub__title a { text-decoration: none; }
.sb-sub__title a:hover { color: var(--accent); }
.sb-sub__text { margin-top: 8px; color: var(--ink-soft); font-size: 15px; line-height: 1.55; flex: 1; }
.sb-sub__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.sb-sub__price { font-size: 18px; font-weight: 800; }
.sb-sub__price small { font-size: 14px; font-weight: 500; color: var(--muted); }
.sb-sub__more { display: inline-flex; align-items: center; gap: 2px; border: 0; background: none; font: inherit; font-weight: 700; font-size: 15px; color: var(--accent); text-decoration: none; cursor: pointer; }
.sb-sub__more .ui-ico { width: 16px; height: 16px; transition: transform .2s; }
.sb-sub:hover .sb-sub__more .ui-ico { transform: translateX(3px); }

.sb-ti { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.sb-ti--left .sb-ti__img { order: -1; }
.sb-ti--noimg { grid-template-columns: minmax(0, 860px); }
.sb-ti__text .btn { margin-top: 22px; }
.sb-ti__img { margin: 0; border-radius: var(--radius); overflow: hidden; }
.sb-ti__img img { width: 100%; display: block; }

.sb-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; counter-reset: none; }
.sb-steps li { position: relative; padding: 22px; border-radius: var(--radius); background: var(--card-bg, var(--card)); border: 1px solid var(--line); }
.sb-steps__n { display: block; font-size: 30px; font-weight: 800; color: var(--accent); font-family: var(--font-head); line-height: 1; margin-bottom: 12px; }
.sb-steps__title { font-weight: 800; font-size: 17px; }
.sb-steps__text { margin-top: 6px; color: var(--ink-soft); font-size: 15px; }

.sb-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }
.sb-stats__item { display: flex; flex-direction: column; gap: 4px; padding: 24px; border-radius: var(--radius); background: var(--card-bg, var(--card)); border: 1px solid var(--line); }
.sb-stats__item b { font-size: clamp(34px, 4vw, 48px); font-weight: 800; color: var(--accent); line-height: 1; font-family: var(--font-head); }
.sb-stats__item span { color: var(--ink-soft); }

.sb-prices { max-width: 900px; border-radius: var(--radius); background: var(--card-bg, var(--card)); border: 1px solid var(--line); padding: 8px 24px; }
.sb-prices__row { display: flex; align-items: baseline; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.sb-prices__row:last-child { border-bottom: 0; }
.sb-prices__name { font-weight: 500; }
.sb-prices__dots { flex: 1; border-bottom: 1px dotted var(--line); transform: translateY(-4px); min-width: 20px; }
.sb-prices__val { font-weight: 800; white-space: nowrap; }
.sb-prices__val small { font-weight: 500; color: var(--muted); font-size: 13.5px; }

.sb-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.sb-gallery__item { display: block; aspect-ratio: 4 / 3; border-radius: var(--radius-sm); overflow: hidden; background: var(--section-alt); }
.sb-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.sb-gallery__item:hover img { transform: scale(1.04); }
.sb-html iframe { max-width: 100%; }
@media (max-width: 960px) { .sb-ti { grid-template-columns: 1fr; gap: 24px; } .sb-ti--left .sb-ti__img { order: 0; } }

/* ---------- Разделы-коллекции ---------- */
.coll-body { margin-top: 28px; }
.coll-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.coll-tab { padding: 9px 18px; border-radius: 99px; border: 1px solid var(--line); background: var(--card); text-decoration: none; font-weight: 600; font-size: 15px; transition: border-color .15s, color .15s; }
.coll-tab:hover { border-color: var(--accent); color: var(--accent); }
.coll-tab.is-active { background: var(--accent); border-color: var(--accent); color: var(--on-accent, #fff); }
.post-card__more { display: inline-flex; align-items: center; gap: 2px; margin-top: auto; padding-top: 10px; font-weight: 600; font-size: 14.5px; color: var(--accent); }
.post-card__more .ui-ico { width: 16px; height: 16px; }
.coll-item__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 10px; color: var(--muted); font-size: 15px; }
.coll-item__meta a { color: var(--accent); font-weight: 600; text-decoration: none; }
.coll-item__cover { margin: 24px 0 0; border-radius: var(--radius); overflow: hidden; max-height: 520px; }
.coll-item__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.coll-item .post-grid { margin-top: 32px; }
.coll-item__gallery { margin: 28px 0; }
.coll-more { margin-top: 64px; }
.sb-gallery--page { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.team-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }
.person { display: flex; flex-direction: column; align-items: flex-start; padding: 16px 16px 20px; border-radius: var(--radius); border: 1px solid var(--line); background: var(--card); }
.person__img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: calc(var(--radius) - 4px); margin-bottom: 14px; background: var(--section-alt); }
.person__img--none { display: grid; place-items: center; font-size: 56px; font-weight: 800; color: var(--accent); background: var(--accent-soft); }
.person__name { font-size: 18px; font-weight: 800; font-family: var(--font-head); }
.person__pos { color: var(--accent); font-weight: 600; font-size: 14.5px; margin-top: 2px; }
.person__text { color: var(--ink-soft); font-size: 14.5px; margin-top: 8px; line-height: 1.5; }
.person__contacts { display: flex; flex-direction: column; gap: 2px; margin-top: 10px; font-size: 14.5px; }
.person__contacts a { color: var(--ink); text-decoration: none; }
.person__contacts a:hover { color: var(--accent); }
.partners-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 16px; }
.partner { display: flex; gap: 20px; align-items: flex-start; padding: 22px; border-radius: var(--radius); border: 1px solid var(--line); background: var(--card); }
.partner__logo { flex: none; width: 120px; height: 80px; display: grid; place-items: center; border-radius: var(--radius-sm); background: #fff; padding: 10px; }
.partner__logo img { width: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.partner__name { font-weight: 800; font-size: 17px; }
.partner__text { color: var(--ink-soft); font-size: 14.5px; margin-top: 6px; line-height: 1.5; }
.partner__links { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 10px; }
.partner__links a { display: inline-flex; align-items: center; gap: 2px; color: var(--accent); font-weight: 600; font-size: 14.5px; text-decoration: none; }
.partner__links .ui-ico { width: 15px; height: 15px; }
.certs { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; }
.cert { display: flex; flex-direction: column; gap: 6px; text-decoration: none; }
.cert__img { display: block; aspect-ratio: 3 / 4; border-radius: var(--radius-sm); overflow: hidden; border: 1px solid var(--line); background: #fff; transition: box-shadow .2s, transform .2s; }
.cert__img img { width: 100%; height: 100%; object-fit: cover; }
.cert:hover .cert__img { box-shadow: var(--shadow); transform: translateY(-2px); }
.cert b { font-size: 15px; margin-top: 4px; }
.cert small { color: var(--muted); font-size: 13.5px; }
.vacs { display: flex; flex-direction: column; gap: 12px; max-width: 960px; }
.vac { border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.vac summary { list-style: none; display: flex; align-items: center; gap: 12px 24px; flex-wrap: wrap; padding: 20px 24px; cursor: pointer; }
.vac summary::-webkit-details-marker { display: none; }
.vac summary svg { margin-left: auto; color: var(--muted); transition: transform .2s; }
.vac[open] summary svg { transform: rotate(180deg); }
.vac__title { font-size: 19px; font-weight: 800; font-family: var(--font-head); }
.vac__meta { display: flex; flex-wrap: wrap; gap: 6px; }
.vac__meta span { padding: 4px 10px; border-radius: 99px; background: var(--surface); font-size: 13.5px; font-weight: 600; color: var(--ink-soft); }
.vac__meta span:first-child { background: var(--accent-soft); color: var(--accent); }
.vac__body { padding: 0 24px 24px; }
.vac__body .btn { margin-top: 18px; }
.req-table { max-width: 820px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); overflow: hidden; }
.req-table__row { display: grid; grid-template-columns: 260px minmax(0, 1fr) 36px; gap: 16px; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.req-table__row:last-child { border-bottom: 0; }
.req-table__row span { color: var(--muted); font-size: 14.5px; }
.req-table__row b { font-weight: 600; word-break: break-word; }
.req-copy { width: 34px; height: 34px; border: 0; border-radius: 8px; background: none; color: var(--muted); cursor: pointer; display: grid; place-items: center; }
.req-copy:hover { background: var(--surface); color: var(--accent); }
.req-copy.is-done { color: #1f9d55; }
.req-table + p { margin-top: 24px; }
.price-group { margin-top: 36px; }
.price-group:first-child { margin-top: 0; }
@media (max-width: 720px) { .req-table__row { grid-template-columns: 1fr 36px; gap: 2px 12px; } .req-table__row span { grid-column: 1 / -1; } .partner { flex-direction: column; } .partners-list { grid-template-columns: 1fr; } }
.logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.logos__item { display: grid; place-items: center; height: 100px; padding: 16px; border-radius: var(--radius-sm); background: #fff; border: 1px solid var(--line); filter: grayscale(1); opacity: .8; transition: filter .2s, opacity .2s; }
.logos__item:hover { filter: none; opacity: 1; }
.logos__item img { width: auto; max-width: 100%; max-height: 100%; object-fit: contain; }

/* ---------- Каркас страниц: блоки, содержимое, правая колонка ---------- */
section.section.sb-slot { background: var(--bg); --card-bg: var(--card); }
section.section.sb-slot.is-alt { background: var(--section-alt); --card-bg: var(--card); }
.page-body { padding: 32px 0 88px; background: var(--bg); }
.page-body.is-alt { background: var(--section-alt); }
.page--layout > .container:first-child + .page-body { padding-top: 20px; }
.page--layout > .container:first-child + section.section { margin-top: 20px; }
.page-cols { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; align-items: start; }
.page-main { min-width: 0; }
.page-main > .coll-body:first-child { margin-top: 0; }
.page-aside { display: flex; flex-direction: column; gap: 16px; }
.page-aside--sticky { position: sticky; top: 100px; }
.aside-lead { padding: 24px; border-radius: var(--radius); background: var(--card); border: 1px solid var(--line); box-shadow: var(--shadow); }
.aside-lead__title { font-size: 20px; font-weight: 800; font-family: var(--font-head); }
.aside-lead__text { margin-top: 8px; color: var(--ink-soft); font-size: 15px; line-height: 1.5; }
.aside-lead__contacts { display: flex; flex-direction: column; gap: 4px; margin-top: 16px; font-size: 15px; }
.aside-lead__contacts a { color: var(--ink); text-decoration: none; }
.aside-lead__contacts a:hover { color: var(--accent); }
.aside-lead__contacts > span, .aside-lead__mail { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 14px; }
.aside-lead__mail { color: var(--ink); font-size: 15px; }
.aside-lead__contacts > span .ui-ico, .aside-lead__mail .ui-ico { width: 16px; height: 16px; color: var(--muted); }
.aside-lead__phone { display: inline-flex; align-items: center; gap: 8px; font-size: 18px; font-weight: 800; }
.aside-lead__phone span { display: flex; flex-direction: column; line-height: 1.25; }
.aside-lead__phone small { color: var(--muted); font-size: 12.5px; font-weight: 500; }
.aside-lead__phone .ui-ico { width: 16px; height: 16px; color: var(--muted); }
.aside-lead__acts { display: flex; align-items: stretch; gap: 8px; margin-top: 18px; }
.aside-lead__acts .aside-lead__btn { flex: 1 1 auto; min-width: 0; width: auto; margin: 0; min-height: 46px; padding: 0 14px; }
.aside-lead__acts .msg { flex: none; width: 46px; height: 46px; border-radius: var(--btn-radius, var(--radius-sm)); }
.aside-lead__acts .msg .ui-ico { width: 20px; height: 20px; }
.aside-lead__acts:not(:has(.aside-lead__btn)) .msg { flex: 1 1 0; }
.aside-banner img { width: 100%; display: block; border-radius: var(--radius); }
.aside-banner a { display: block; transition: transform .2s; }
.aside-banner a:hover { transform: translateY(-2px); }
.page-grid--single { grid-template-columns: minmax(0, 1fr); }
.sb-banner .sb-banner__link { display: block; }
.sb-banner img { width: 100%; display: block; border-radius: var(--radius); }
.page-cols .team-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.page-cols .partners-list { grid-template-columns: 1fr; }
.page-cols .blog-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1100px) { .page-cols { grid-template-columns: minmax(0, 1fr) 280px; gap: 28px; } }
@media (max-width: 960px) { .page-cols { grid-template-columns: 1fr; } .page-aside--sticky { position: static; } .page-cols .blog-grid--3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 720px) { .page-cols .blog-grid--3 { grid-template-columns: 1fr; } .page-body { padding-bottom: 64px; } .page > .container { padding-bottom: 64px; } }
.hs__note { grid-row: 3; margin-top: 28px; justify-self: start; }
@media (max-width: 720px) { .hs__note { justify-self: stretch; } }
.hs__note + .hs__nav { grid-row: 4; }
.nav__dd-menu--cat { min-width: 280px; max-height: min(70vh, 560px); overflow-y: auto; }
.nav__dd-menu .nav__dd-all { font-weight: 700; color: var(--accent); border-bottom: 1px solid var(--line); border-radius: 8px 8px 0 0; margin-bottom: 4px; }
.prose a.btn, .prose a.btn:hover { color: #fff; text-decoration: none; }
.prose a.btn--light, .prose a.btn--light:hover { color: #1d1f22; }

/* ---------- Каталог в меню: простой и мега ---------- */
.nav__cat { min-width: 270px; overflow: visible; }
.nav__cat-item { position: relative; }
.nav__cat-item > a { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.nav__chev { flex: none; color: var(--muted); transition: transform .15s, color .15s; }
.nav__cat-item:hover > a { background: var(--surface); color: var(--accent); }
.nav__cat-item:hover .nav__chev { color: var(--accent); transform: translateX(2px); }
.nav__cat-sub { position: absolute; top: -8px; left: calc(100% + 6px); min-width: 240px; max-height: 70vh; overflow-y: auto; display: flex; flex-direction: column; padding: 8px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 16px 40px rgba(0,0,0,.14); opacity: 0; visibility: hidden; transform: translateX(-4px); transition: opacity .15s, transform .15s, visibility .15s; }
.nav__cat-item::after { content: ""; position: absolute; top: 0; bottom: 0; left: 100%; width: 10px; }
.nav__cat-item:hover > .nav__cat-sub { opacity: 1; visibility: visible; transform: none; }
.nav .nav__cat-sub a.nav__cat-l3 { position: relative; padding: 7px 12px 7px 32px; font-size: 14.5px; color: var(--ink-soft); }
.nav .nav__cat-sub a.nav__cat-l3::before { content: ""; position: absolute; left: 18px; top: 0; bottom: 0; width: 1.5px; border-radius: 2px; background: var(--line); }
.nav .nav__cat-sub a.nav__cat-l3:hover::before, .nav .nav__cat-sub a.nav__cat-l3[aria-current="page"]::before { background: var(--accent); }
.header__in { position: relative; }
.nav__dd--mega { position: static; }
.mega { left: 0; top: calc(100% - 4px); min-width: 0; display: grid; gap: 24px; padding: 28px; }
.mega__grid { display: grid; gap: 28px 24px; align-content: start; }
.mega__col { display: flex; gap: 14px; align-items: flex-start; }
.mega__img { flex: none; width: 56px; height: 56px; border-radius: 10px; overflow: hidden; background: var(--surface); padding: 0 !important; }
.mega__img img { width: 100%; height: 100%; object-fit: contain; }
.mega__body { min-width: 0; display: flex; flex-direction: column; }
.nav .mega a.mega__title { padding: 0; font-weight: 700; font-size: 16px; line-height: 1.3; color: var(--ink); margin-bottom: 6px; }
.nav .mega a.mega__title:hover { color: var(--accent); background: none; }
.mega__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.nav .mega__list a { padding: 3px 0; font-size: 14.5px; font-weight: 400; color: var(--ink-soft); }
.nav .mega__list a:hover { color: var(--accent); background: none; }
.mega__extra { display: none; }
.mega__col.is-more .mega__extra { display: list-item; }
.mega__more { align-self: flex-start; display: inline-flex; align-items: center; gap: 4px; margin-top: 4px; padding: 3px 0; border: 0; background: none; font: inherit; font-size: 14.5px; color: var(--ink-soft); cursor: pointer; }
.mega__more svg { width: 14px; height: 14px; transition: transform .2s; }
.mega__more:hover { color: var(--accent); }
.mega__col.is-more .mega__more svg { transform: rotate(180deg); }
.mega__banner { flex-direction: column; justify-content: flex-end; gap: 4px; background-size: cover; background-position: center; color: #fff !important; }
.mega__banner::before { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.7)); }
.mega__banner span, .mega__banner b { position: relative; }
.mega__banner span { font-size: 13px; opacity: .85; }
.mega__banner b { font-size: 17px; line-height: 1.3; }
@media (max-width: 1180px) {   .mega__banner { display: none !important; } }
@media (max-width: 960px) {
  .nav__cat-sub, .nav__cat-item::after { display: none; }
  .nav__chev { display: none; }
  .mega { display: none; padding: 4px 0 8px 12px; }
  .nav__dd.is-open .mega { display: block; }
  .mega__grid { gap: 10px; }
  .mega__img { display: none; }
  .nav .mega a.mega__title { font-size: 17px; margin: 6px 0 2px; }
  .nav .mega__list a { display: block; margin-left: 0; padding: 6px 0 6px 14px; border-left: 1.5px solid var(--line); border-radius: 0; font-size: 15.5px; }
  .nav .mega__list a:hover, .nav .mega__list a[aria-current="page"] { border-left-color: var(--accent); }
  .mega__list { gap: 0; margin: 2px 0 4px; }
  .mega__extra { display: list-item; }
  .mega__more { display: none; }
}

/* ---------- Превью товара: полоски на всю ширину ---------- */
.pc-dots { left: 10px; right: 10px; bottom: 8px; justify-content: stretch; gap: 4px; }
.pc-dots i { flex: 1; width: auto; height: 3px; }

/* ---------- Раздел каталога: заголовок во всю ширину ---------- */
.cat-head { margin-bottom: 8px; }
.cat-head .cat-tiles { margin-top: 24px; }
.cat-layout { margin-top: 28px; }
.cat-full { margin-top: 12px; }
.cat-main .flt-list:first-child, .cat-main > .flt-bar:first-child .flt-list { margin-top: 0; }

/* ---------- Быстрые ссылки ---------- */
.qlinks { border-bottom: 1px solid var(--line); background: var(--card); margin: calc(-1 * var(--page-top, 40px)) 0 32px; }
.qlinks__in { display: flex; gap: 6px 28px; overflow-x: auto; scrollbar-width: none; padding-top: 14px; padding-bottom: 14px; }
.qlinks__in::-webkit-scrollbar { display: none; }
.qlinks__item { flex: none; font-size: 15px; font-weight: 500; text-decoration: none; color: var(--ink); white-space: nowrap; }
.qlinks__item:hover, .qlinks__item.is-active { color: var(--accent); }
.main--blocks > .qlinks { margin: 0; }
.main--blocks > .qlinks + .page-head { padding-top: 20px; }
@media (max-width: 720px) { .qlinks__in { gap: 6px 20px; } }

/* ---------- Карточка товара ---------- */
.prod { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pg { min-width: 0; }
.pg__main { position: relative; aspect-ratio: 1; border-radius: var(--radius); overflow: hidden; background: #fff; border: 1px solid var(--line); }
.pg__track { display: flex; height: 100%; transition: transform .45s cubic-bezier(.2,.7,.2,1); touch-action: pan-y; }
.pg__slide { flex: 0 0 100%; height: 100%; display: grid; place-items: center; cursor: zoom-in; }
.pg__slide img { width: 100%; height: 100%; object-fit: contain; }
.pg__main .badges-p { top: 14px; left: 14px; }
.pg__arrow { position: absolute; top: 50%; width: 44px; height: 44px; margin-top: -22px; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: #1d1f22; box-shadow: 0 4px 16px rgba(0,0,0,.14); display: grid; place-items: center; cursor: pointer; opacity: 0; transition: opacity .2s, background-color .2s; z-index: 2; }
.pg__arrow--prev { left: 14px; } .pg__arrow--next { right: 14px; }
.pg__main:hover .pg__arrow, .pg__arrow:focus-visible { opacity: 1; }
.pg__arrow:hover { background: #fff; }
.pg__zoom { position: absolute; right: 14px; bottom: 14px; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,.92); color: #1d1f22; display: grid; place-items: center; pointer-events: none; box-shadow: 0 2px 10px rgba(0,0,0,.1); }
.pg__thumbs { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; scrollbar-width: thin; }
.pg__thumb { flex: none; width: 76px; height: 76px; padding: 4px; border: 2px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; transition: border-color .15s; }
.pg__thumb img { width: 100%; height: 100%; object-fit: contain; }
.pg__thumb.is-active, .pg__thumb:hover { border-color: var(--accent); }
.prod__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; margin-top: 12px; color: var(--muted); font-size: 14.5px; }
.prod__rating { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-soft); text-decoration: none; }
.prod__rating:hover span { color: var(--accent); }
.prod__brand { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.prod__brand-logo { width: auto; max-height: 40px; max-width: 160px; object-fit: contain; }
.prod__brand-name { font-size: 18px; letter-spacing: .12em; text-transform: uppercase; }
.prod__brand-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.chip-link { padding: 8px 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); font-size: 14.5px; font-weight: 500; color: var(--ink); text-decoration: none; transition: border-color .15s, color .15s; }
.chip-link:hover { border-color: var(--accent); color: var(--accent); }
.prod__adv { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.prod__adv li { display: flex; align-items: center; gap: 12px; font-size: 15px; }
.prod__adv .rt-ico { width: 32px; height: 32px; flex: none; }
.prod__adv .rt-ico svg { width: 22px; height: 22px; }
.ptabs { margin-top: 56px; }
.ptabs__nav { display: flex; gap: 28px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.ptabs__nav::-webkit-scrollbar { display: none; }
.ptabs__btn { flex: none; position: relative; padding: 12px 0; border: 0; background: none; font: inherit; font-size: 16px; font-weight: 500; color: var(--ink-soft); cursor: pointer; }
.ptabs__btn::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--accent); transform: scaleX(0); transition: transform .2s; }
.ptabs__btn:hover { color: var(--ink); }
.ptabs__btn.is-active { color: var(--ink); }
.ptabs__btn.is-active::after { transform: none; }
.ptabs__panel { display: none; padding-top: 28px; max-width: 980px; }
.ptabs__panel.is-active { display: block; }
.ptabs__panel .prod__specs { margin: 0; max-width: 760px; border-top: 0; }
.ptabs__panel .prod__specs > div:first-child { padding-top: 0; }
.prev-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; align-items: start; max-width: none; }
.prev-list { display: flex; flex-direction: column; gap: 14px; }
.prod-docs { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; max-width: 700px; }
.prod-docs a { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); text-decoration: none; color: var(--ink); transition: border-color .15s; }
.prod-docs a:hover { border-color: var(--accent); }
.prod-docs svg { color: var(--accent); flex: none; }
.prod-docs span { flex: 1; font-weight: 500; }
.prod-docs small { color: var(--muted); font-weight: 600; }
.prod__related { margin-top: 64px; }
@media (max-width: 960px) { .prod { grid-template-columns: 1fr; gap: 28px; } .prev-grid { grid-template-columns: 1fr; } .pg__arrow { opacity: 1; } }
@media (max-width: 720px) { .pg__thumb { width: 60px; height: 60px; } .ptabs__nav { gap: 20px; } }
.cat-main > .flt-bar:first-child { margin-top: 0; }
.mega, .mega a, .nav__cat-sub a { white-space: normal; }

/* ---------- Подсказки поиска ---------- */
.hsearch__field, .srch-field { position: relative; flex: 1; min-width: 0; display: flex; align-items: center; }
.srch-field { flex: 1 1 360px; }
.srch-field input[type="search"] { flex: 1; width: 100%; }
.hsearch__field .hsearch__input { width: 100%; padding-right: 36px; }
.hsearch__clear { position: absolute; right: 4px; top: 50%; width: 26px; height: 26px; margin-top: -13px; border: 0; border-radius: 50%; background: var(--surface); color: var(--muted); display: grid; place-items: center; cursor: pointer; }
.hsearch__clear:hover { color: var(--ink); }
.hsearch__clear[hidden] { display: none; }
.sgst { position: absolute; left: -8px; right: -8px; top: calc(100% + 10px); z-index: 80; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 20px 48px rgba(0,0,0,.16); overflow: hidden; }
.srch-field .sgst { left: 0; right: 0; top: calc(100% + 6px); }
.sgst[hidden] { display: none; }
.sgst.is-loading::before { content: ""; position: absolute; left: 0; top: 0; height: 2px; width: 40%; background: var(--accent); animation: sgstLoad 1s ease-in-out infinite; }
@keyframes sgstLoad { from { transform: translateX(-100%); } to { transform: translateX(250%); } }
.sgst__list { max-height: min(60vh, 440px); overflow-y: auto; padding: 6px; }
.sgst__item { display: flex; align-items: center; gap: 14px; padding: 8px 10px; border-radius: 10px; text-decoration: none; color: var(--ink); }
.sgst__item:hover, .sgst__item.is-active { background: var(--surface); }
.sgst__img { flex: none; width: 48px; height: 48px; border-radius: 8px; overflow: hidden; background: #fff; border: 1px solid var(--line); display: grid; place-items: center; color: var(--muted); }
.sgst__img img { width: 100%; height: 100%; object-fit: contain; }
.sgst__item--page .sgst__img, .sgst__item--cat .sgst__img { background: var(--surface); }
.sgst__item--page .sgst__img img { object-fit: cover; }
.sgst__body { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.sgst__label { font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--accent); }
.sgst__title { font-size: 15.5px; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.sgst__title b, .sgst__ex b { font-weight: 800; }
.sgst__price { font-size: 14px; font-weight: 700; }
.sgst__price s { margin-left: 4px; font-weight: 400; color: var(--muted); }
.sgst__ex { font-size: 13px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sgst__all { display: block; margin: 0 8px 8px; padding: 12px; border-radius: 10px; background: var(--accent-soft); color: var(--accent); text-align: center; font-weight: 700; text-decoration: none; transition: background-color .15s, color .15s; }
.sgst__all:hover { background: var(--accent); color: var(--on-accent, #fff); }
.sgst__empty { padding: 18px 18px; color: var(--muted); font-size: 15px; }
@media (max-width: 720px) {
  .hsearch__field { flex: 1 1 100%; }
  .sgst { left: 0; right: 0; }
  .sgst__list { max-height: 55vh; }
}

/* ---------- Карточка: краткие характеристики, экономия; превью: рейтинг ---------- */
.prod__specs-mini { margin-top: 22px; }
.prod__specs-title { font-weight: 800; font-size: 16px; margin-bottom: 6px; }
.prod__specs-mini dl { margin: 0; }
.prod__specs-mini dl div { font-size: 15px; }
.prod__specs-mini dl div::after { content: none; }
.prod__specs-mini dl div { display: flex; align-items: baseline; gap: 8px; padding: 6px 0; position: relative; }
.prod__specs-mini dt { color: var(--muted); display: flex; align-items: baseline; gap: 8px; flex: 1 1 auto; max-width: none; }
.prod__specs-mini dt::after { content: ""; flex: 1; border-bottom: 1px dotted var(--line); min-width: 16px; transform: translateY(-4px); }
.prod__specs-mini dd { margin: 0; font-weight: 500; flex: 0 1 auto; text-align: right; max-width: 55%; }
.prod__more-row { margin-top: 10px; }
.prod__more { display: inline-flex; align-items: center; gap: 2px; font-weight: 600; font-size: 15px; color: var(--accent); text-decoration: none; }
.prod__more .ui-ico { width: 16px; height: 16px; }
.prod__more:hover { text-decoration: underline; }
.pcard2__rating { display: flex; align-items: center; gap: 6px; margin: -2px 0 6px; font-size: 13.5px; color: var(--muted); }
.pcard2__rating .stars i { width: 13px; height: 13px; }
.pgrid.is-list .pcard2__rating { grid-area: rating; margin: 4px 0 0; }
.pgrid.is-compact .pcard2__rating { display: none; }

/* ---------- Витрина с вкладками ---------- */
.showcase__head { margin-bottom: 16px; }
.showcase__tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
.showcase__tab { padding: 9px 18px; border-radius: 99px; border: 1px solid var(--line); background: var(--card); font: inherit; font-size: 15px; font-weight: 600; color: var(--ink-soft); cursor: pointer; transition: border-color .15s, color .15s, background-color .15s; }
.showcase__tab:hover { border-color: var(--accent); color: var(--accent); }
.showcase__tab.is-active { background: var(--accent); border-color: var(--accent); color: var(--on-accent, #fff); }
.showcase__panel { display: none; }
.showcase__panel.is-active { display: grid; }
.disc-now { margin: 10px 0 0; font-size: 14px; }
.disc-now s { color: #999; }

/* ---------- Мега-меню: подстройка под число разделов, баннер-картинка ---------- */
.mega { right: auto; width: max-content; max-width: 100%; grid-template-columns: auto; }
.mega--banner { grid-template-columns: auto 220px; }
.mega__grid { grid-template-columns: repeat(var(--mega-cols, 4), minmax(210px, 250px)); }
.mega__banner { padding: 0 !important; align-self: stretch; display: block; background: none; }
.mega__banner::before { content: none; }
.mega__banner img { border-radius: var(--radius); display: block; }
@media (max-width: 1180px) { .mega__grid { grid-template-columns: repeat(var(--mega-cols-md, 3), minmax(190px, 240px)); } }
@media (max-width: 960px) { .mega, .mega--banner { width: auto; grid-template-columns: 1fr; } .mega__grid { grid-template-columns: 1fr; } .mega__banner { display: none !important; } }

/* ---------- Блок покупки в карточке ---------- */
.pbuy { margin-top: 22px; }
.pbuy__price { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; }
.pbuy__now { font-family: var(--font-head); font-size: clamp(30px, 3vw, 38px); font-weight: 800; line-height: 1; letter-spacing: -.01em; }
.pbuy__now small { font-size: .55em; font-weight: 700; margin-left: 2px; }
.pbuy__now--sale { color: #d0342c; }
.pbuy__now--req { font-size: 24px; color: var(--ink-soft); }
.pbuy__was { display: inline-flex; align-items: center; gap: 8px; }
.pbuy__was s { color: var(--muted); font-size: 18px; text-decoration-thickness: 1.5px; }
.pbuy__was em { font-style: normal; font-size: 13px; font-weight: 800; padding: 4px 8px; border-radius: 6px; background: #d0342c; color: #fff; line-height: 1; }
.pbuy__save { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 10px; font-size: 14.5px; color: #1f8a4c; }
.pbuy__save svg { flex: none; }
.pbuy__save b { font-weight: 800; }
.pbuy__save span { color: var(--muted); }
.pbuy__actions { margin-top: 20px; }
.pbuy__actions .buy { justify-content: flex-start; gap: 10px; }
.pbuy__actions .buy__toggle, .pbuy__actions .buy__add { min-height: 54px; padding: 0 28px; font-size: 16px; border-radius: var(--radius-sm); gap: 10px; }
.pbuy__actions .buy__toggle { width: auto; min-width: 240px; }
.pbuy__actions .buy__add .ui-ico { width: 20px; height: 20px; }
.pbuy__actions .qty { height: 54px; border-radius: var(--radius-sm); border-width: 1px; background: var(--surface); border-color: transparent; padding: 0 4px; }
.pbuy__actions .qty__btn { width: 42px; height: 42px; border-radius: 8px; display: grid; place-items: center; color: var(--ink-soft); transition: background-color .15s, color .15s; }
.pbuy__actions .qty__btn:hover { background: var(--card); color: var(--accent); }
.pbuy__actions .qty__input { width: 44px; font-size: 17px; }
.pbuy__help { display: flex; align-items: baseline; gap: 5px; margin-top: 12px; font-size: 14px; color: var(--muted); white-space: nowrap; min-width: 0; }
.pbuy__help span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.pbuy__help a { flex: none; color: var(--ink); font-weight: 600; text-decoration: none; }
.pbuy__help a:hover { color: var(--accent); }
.prod__info .pbuy { padding-bottom: 22px; border-bottom: 1px solid var(--line); }
html[data-theme="dark"] .pbuy__now--sale { color: #ff6b61; }
html[data-theme="dark"] .pbuy__save { color: #4cc27f; }

/* ---------- Карточка в три колонки: фото 40%, описание 30%, покупка 30% ---------- */
.prod--three { grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(320px, 3fr); gap: 36px; }
.prod--three .prod__title { font-size: clamp(24px, 2.2vw, 32px); }
.prod__side { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 0; }
.prod--three .pbuy { margin-top: 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); box-shadow: var(--shadow); }
.prod--three .pbuy__actions .buy { flex-wrap: wrap; }
.prod--three .pbuy__actions .buy__toggle { width: 100%; min-width: 0; }
.prod--three .prod__side .prod__brand { margin-top: 20px; padding-top: 0; border-top: 0; }
.prod--three .prod__side .prod__adv { margin-top: 18px; }
@media (max-width: 1100px) {
  .prod--three { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .prod--three .prod__side { grid-column: 2; position: static; }
  .prod--three .prod__info { grid-column: 2; }
  .prod--three .pg { grid-row: span 2; }
}
@media (max-width: 960px) {
  .prod--three { grid-template-columns: 1fr; }
  .prod--three .prod__side, .prod--three .prod__info { grid-column: auto; }
  .prod--three .pg { grid-row: auto; }
}
@media (max-width: 480px) { .pbuy__actions .buy--qty { flex-wrap: wrap; } .pbuy__actions .buy--qty .buy__add { flex: 1 1 100%; } }
.prod--three .pbuy__actions .qty { padding: 0 2px; }
.prod--three .pbuy__actions .qty__btn { width: 34px; }
.prod--three .pbuy__actions .qty__input { width: 32px; }
.prod--three .pbuy__actions .buy--qty { flex-wrap: nowrap; gap: 8px; }
.prod--three .pbuy__actions .buy--qty .buy__add { flex: 1 1 auto; min-width: 0; }
@media (max-width: 1280px) { .prod--three .pbuy__actions .buy__add .ui-ico { display: none; } }
.mega__banner { position: relative; min-height: 200px; overflow: hidden; border-radius: var(--radius); }
.mega__banner img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; max-height: none; object-fit: cover; }

/* ---------- Кликабельный заголовок выпадающего пункта ---------- */
.nav__dd-head { display: flex; align-items: center; }
.nav a.nav__dd-btn--link { padding: 6px 0; color: var(--ink); }
.nav a.nav__dd-btn--link:hover { color: var(--accent); }
.nav__dd-toggle { display: none; }
.nav__more-list .nav__dd-head { width: 100%; }
.nav__more-list .nav__dd-head .nav__dd-btn { flex: 1; }
@media (max-width: 960px) {
  .nav__dd-head { width: 100%; border-bottom: 1px solid var(--line); }
  .nav__dd-head .nav__dd-btn { flex: 1; width: auto; border-bottom: 0; }
  .nav__dd-head .nav__dd-btn svg { display: none; }
  .nav__dd-toggle { display: grid; place-items: center; flex: none; width: 44px; height: 48px; margin-right: -14px; padding: 0; border: 0; background: none; color: var(--ink); cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .nav__dd-toggle svg { width: 16px; height: 16px; transition: transform .2s; }
  .nav__dd-toggle:focus { outline: none; }
  .nav__dd-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: -6px; border-radius: 10px; }
  .nav__dd.is-open .nav__dd-toggle svg { transform: rotate(180deg); }
  .nav__dd.is-open .nav__dd-btn--link { color: var(--accent); }
}
@media (max-width: 960px) { .nav a.nav__dd-btn--link { font-size: 19px; padding: 14px 0; } }
.ft-contacts__phone-row { display: flex; }
.ft-contacts__phone-row { align-items: center; flex-wrap: wrap; gap: 8px 10px; }
.ft-contacts__msg { display: inline-flex; gap: 6px; }
.ft-contacts__msg .msg { width: 32px; height: 32px; }
.ft-contacts__msg .msg .ui-ico { width: 16px; height: 16px; }
.ft .msg:not(.msg--ig), .ft .msg:not(.msg--ig):hover { color: #fff; }
.ft .btn-msg, .ft .btn-msg:hover { color: #fff; }
@media (min-width: 1100px) { .ft-contacts__phone-row { flex-wrap: nowrap; } .ft-contacts__phone { white-space: nowrap; } }
.rt-ico--img { padding: 8px; }
.rt-ico--img img { width: 100%; height: 100%; object-fit: contain; }
.prod__adv .rt-ico--img { background: none; padding: 4px; }

/* ---------- Палитра: заголовки, второй цвет, тёмная тема ---------- */
:root { --ig-gradient: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); --tg: #229ed9; --viber: #7360f2; --radius: 12px; --radius-sm: 8px; --font: "Onest", "Segoe UI", Roboto, Arial, sans-serif; --font-head: var(--font); --container: 1240px; --star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.5 2.9 6 6.6.8-4.8 4.6 1.2 6.6L12 17.3l-5.9 3.2 1.2-6.6-4.8-4.6 6.6-.8z'/%3E%3C/svg%3E"); --head: var(--ink); --accent2: var(--accent); --accent2-soft: var(--accent-soft); }
h1, h2, h3, .h2, .page__title, .prod__title, .post-card__title, .sb-sub__title, .vac__title, .person__name, .sb-adv__title, .sb-steps__title { color: var(--head); }
:is(.hero, .cta, .c-main, .promo, .rt-callout, .ft, .cmp__col--accent, .mega__banner, .lb) :is(h1, h2, h3, .h2, .page__title, .prod__title) { color: inherit; }
.cta__title, .promo__title, .ft-cta__title { color: #fff; }
a:hover :is(.post-card__title, .sb-sub__title), .post-card__title a:hover, .sb-sub__title a:hover { color: var(--accent); }
.rt-ico { background: var(--accent2); }
.rt-ico--img { background: var(--accent2-soft); }
.sb-stats__item b, .sb-steps__n { color: var(--accent2); }
.sb-steps__n { opacity: .8; }
.srch-item__type, .sgst__label, .person__pos { color: var(--accent2); }
.prod__adv .rt-ico { background: none; color: var(--accent2); }
.hs__line i, .hs__ring .hs__ring-fill { background: #fff; }
html[data-theme="dark"] { --bg: #111315; --card: #1a1d21; --header-bg: rgba(17,19,21,.94); --ink: #e9e9e7; --ink-soft: #b6b9be; --muted: #8b9097; --line: #2b2f35; --surface: #1e2125; --section-alt: #15171a; --accent: color-mix(in srgb, var(--accent-base, #1f4f58) 72%, #fff); --accent-hover: color-mix(in srgb, var(--accent-base, #1f4f58) 88%, #fff); --accent-soft: color-mix(in srgb, var(--accent-base, #1f4f58) 30%, #1a1d21); --shadow: 0 8px 28px rgba(0,0,0,.45); --dark: #0b0c0e; --head: var(--ink); --accent2: color-mix(in srgb, var(--accent2-base, #1f4f58) 72%, #fff); --accent2-soft: color-mix(in srgb, var(--accent2-base, #1f4f58) 30%, #1a1d21); }
.btn--ghost { border-radius: var(--btn-radius, var(--radius-sm)); }

/* ---------- Тёмная тема: встроенные значки и подложки ---------- */
html[data-theme="dark"] .faq__item summary::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 8l4 4 4-4' fill='none' stroke='%23e9e9e7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
html[data-theme="dark"] .ba__handle { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e9e9e7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 7l-5 5 5 5M15 7l5 5-5 5'/%3E%3C/svg%3E"); }
html[data-theme="dark"] .restore__list li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.5 2.5L14 7.5' fill='none' stroke='%23e9e9e7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
html[data-theme="dark"] .prose--rich ul li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.5 2.5L14 7.5' fill='none' stroke='%23e9e9e7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
html[data-theme="dark"] .cmp__list li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.5 2.5L14 7.5' fill='none' stroke='%23e9e9e7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.work__zoom { color: #1d1f22; }
html[data-theme="dark"] .work__zoom { background: rgba(255,255,255,.92); color: #1d1f22; }
html[data-theme="dark"] .adv__icon, html[data-theme="dark"] .adv__ico--img img { background: rgba(255,255,255,.92); border-radius: 14px; padding: 9px; filter: none; }
html[data-theme="dark"] .review__avatar { background: color-mix(in srgb, var(--accent-base, #1f4f58) 45%, #1a1d21); color: #fff; }
html[data-theme="dark"] .sgst__img, html[data-theme="dark"] .pg__thumb, html[data-theme="dark"] .partner__logo, html[data-theme="dark"] .logos__item { background: #f4f4f2; }

/* ---------- Количество + «В корзину»: единый вид в превью и карточке ---------- */
.buy--qty { display: flex; align-items: stretch; gap: 8px; }
.buy--qty .qty { height: auto; min-height: 42px; padding: 0 2px; border: 0; border-radius: var(--btn-radius, var(--radius-sm)); background: var(--surface); }
.buy--qty .qty__btn { width: 30px; height: auto; border-radius: calc(var(--btn-radius, var(--radius-sm)) - 2px); display: grid; place-items: center; color: var(--ink-soft); transition: background-color .15s, color .15s; }
.buy--qty .qty__btn:hover { background: var(--card); color: var(--accent); }
.buy--qty .qty__btn svg { width: 14px; height: 14px; }
.buy--qty .qty__input { width: 28px; font-size: 15px; font-weight: 700; color: var(--ink); }
.buy--qty .buy__add { flex: 1 1 auto; min-width: 0; min-height: 42px; padding: 0 14px; white-space: nowrap; font-size: 15px; border-radius: var(--btn-radius, var(--radius-sm)); }
.pcard2 .buy--qty .qty { height: auto; }
.pcard2 .buy--qty .buy__add { min-height: 42px; }
.pbuy__actions .buy--qty .qty { min-height: 54px; padding: 0 4px; }
.pbuy__actions .buy--qty .qty__btn { width: 42px; }
.pbuy__actions .buy--qty .qty__btn svg { width: 16px; height: 16px; }
.pbuy__actions .buy--qty .qty__input { width: 40px; font-size: 17px; }
.pbuy__actions .buy--qty .buy__add { min-height: 54px; font-size: 16px; padding: 0 24px; }
.prod--three .pbuy__actions .buy--qty .qty__btn { width: 34px; }
.prod--three .pbuy__actions .buy--qty .qty__input { width: 30px; }
.prod--three .pbuy__actions .buy--qty .buy__add { padding: 0 14px; }
.pcard2 .buy--qty { flex-wrap: wrap; }
.pcard2 .buy--qty .qty { flex: 1 1 auto; justify-content: space-between; }
.pcard2 .buy--qty .buy__add { flex: 1000 1 auto; min-width: max-content; }
html[data-theme="dark"] .buy--qty .qty { background: #24282d; }
html[data-theme="dark"] .buy--qty .qty__btn:hover { background: #30353b; }
@media (max-width: 720px) {  .pcard2 .buy--qty .qty__input { width: 24px; }  }
@media (max-width: 720px) {
  .pcard2 .buy--qty { flex-wrap: wrap; gap: 6px; }
  .pcard2 .buy--qty .qty { flex: 1 1 100%; justify-content: space-between; min-height: 38px; }
  .pcard2 .buy--qty .qty__btn { width: 36px; }
  .pcard2 .buy--qty .buy__add { padding: 0 10px; font-size: 14px; flex: 1 1 100%; min-height: 40px; }
}

/* ---------- Онлайн-оплата ---------- */
.co-pay-hint { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 14px; padding: 12px 14px; border-radius: var(--radius-sm); background: var(--accent-soft); color: var(--ink); font-size: 14px; line-height: 1.45; }
.co-pay-hint svg { flex: none; color: var(--accent); margin-top: 1px; }
.co-pay { max-width: 620px; margin: 40px auto 0; }
.co-pay__icon svg { width: 64px; height: 64px; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.co-pay--ok .co-pay__icon svg { stroke: #1f9d55; }
.co-pay--err .co-pay__icon svg { stroke: #d0342c; }
.co-pay--wait .co-pay__icon svg { stroke: #c98a00; }
.co-pay__btns { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 8px; }
.co-pay__back { display: inline-block; margin-top: 18px; color: var(--muted); font-size: 14.5px; }

/* ---------- Минимальная сумма и бесплатная доставка: подсказки с прогрессом ---------- */
.cart__goals, .co__goals { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.cart__goals[hidden], .co__goals[hidden] { display: none; }
.goal { padding: 10px 12px; border-radius: var(--radius-sm); background: var(--surface); }
.goal__text { display: block; margin: 0; font-size: 14px; line-height: 1.45; color: var(--ink-soft); }
.goal--done .goal__text { display: flex; }
.goal__text b { color: var(--ink); font-weight: 700; }
.goal__bar { display: block; height: 6px; margin-top: 8px; border-radius: 99px; background: var(--line); overflow: hidden; }
.goal__bar i { display: block; height: 100%; border-radius: inherit; background: var(--accent); transition: width .35s ease; }
.goal--min { background: #fff6e0; }
.goal--min .goal__bar i { background: #e0a100; }
.goal--done { background: #e7f6ec; }
.goal--done .goal__text { align-items: center; gap: 6px; color: #1f7a45; font-weight: 600; }
html[data-theme="dark"] .goal--min { background: #3a3212; }
html[data-theme="dark"] .goal--done { background: #12301f; }
html[data-theme="dark"] .goal--done .goal__text { color: #6fd39a; }
.cart__go.is-disabled { opacity: .45; pointer-events: auto; cursor: not-allowed; }

/* ---------- Личный кабинет ---------- */
.header__acc { text-decoration: none; }
.page--account { padding-bottom: 0; }
.acc-auth { max-width: 460px; margin: 20px auto 0; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); box-shadow: var(--shadow); }
.acc-auth__title { font-size: clamp(24px, 3vw, 30px); margin-bottom: 14px; }
.acc-auth__lead { color: var(--ink-soft); margin: 0 0 14px; }
.acc-auth__links { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin-top: 16px; font-size: 14.5px; }
.acc-auth__links a, .acc-main a:not(.btn):not(.acc-order):not(.home-blog__all) { color: var(--accent); }
.acc-form { display: flex; flex-direction: column; gap: 14px; }
.acc-form .field small { color: var(--muted); font-weight: 400; }
.acc-msg { padding: 12px 14px; border-radius: var(--radius-sm); background: var(--surface); margin: 0 0 16px; font-size: 14.5px; }
.acc-msg--err { background: #fdecea; color: #a1261d; }
.acc-msg--ok { background: #e7f6ec; color: #1f6b3d; }
html[data-theme="dark"] .acc-msg--err { background: #3a1714; color: #ff9b91; }
html[data-theme="dark"] .acc-msg--ok { background: #12301f; color: #6fd39a; }
.acc { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 36px; align-items: start; margin-top: 12px; }
.acc-nav { position: sticky; top: 100px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); display: flex; flex-direction: column; gap: 14px; }
.acc-nav__me { display: flex; align-items: center; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.acc-nav__me > div { display: flex; flex-direction: column; gap: 6px; min-width: 0; line-height: 1.3; }
.acc-nav__me b { display: block; font-size: 15.5px; }
.acc-nav__me small { color: var(--muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.acc-nav__ava { flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--accent-strong, var(--accent)); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 18px; }
.acc-nav nav { display: flex; flex-direction: column; gap: 2px; }
.acc-nav nav a { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border-radius: var(--radius-sm); text-decoration: none; color: var(--ink); font-weight: 500; }
.acc-nav nav a small { color: var(--muted); font-size: 13px; }
.acc-nav nav a:hover { background: var(--surface); }
.acc-nav nav a[aria-current="page"] { background: var(--accent-soft); color: var(--accent); font-weight: 700; }
.acc-nav__out { width: 100%; padding: 10px 12px; border: 0; border-radius: var(--radius-sm); background: none; font: inherit; color: var(--muted); text-align: left; cursor: pointer; }
.acc-nav__out:hover { background: var(--surface); color: var(--ink); }
.acc-main .page__title { margin-top: 0; }
.acc-main .back-link { display: inline-flex; align-items: center; gap: 4px; margin-bottom: 20px; font-size: 15px; font-weight: 500; text-decoration: none; }
.acc-main .back-link:hover { text-decoration: underline; }
.acc-order-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin: 14px 0 24px; }
.acc-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin: 18px 0 8px; }
.acc-card { display: flex; flex-direction: column; gap: 4px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.acc-card__label { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.acc-card__big { font-size: 30px; font-weight: 800; font-family: var(--font-head); line-height: 1.15; }
.acc-card small { color: var(--muted); font-size: 13.5px; }
.acc-card--disc { background: var(--accent-strong, var(--accent)); border-color: var(--accent); color: #fff; }
.acc-card--disc .acc-card__label, .acc-card--disc small { color: rgba(255,255,255,.8); }
.acc-tiers { margin-top: 28px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.acc-tiers h2 { margin: 0 0 10px; }
.acc-tiers__next { margin: 0; color: var(--ink-soft); }
.acc-tiers__bar { margin-top: 10px; height: 8px; }
.acc-tiers__list { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.acc-tiers__list li { display: flex; flex-direction: column; min-width: 100px; padding: 10px 14px; border-radius: var(--radius-sm); background: var(--surface); color: var(--muted); }
.acc-tiers__list li b { font-size: 20px; color: var(--ink-soft); }
.acc-tiers__list li span { font-size: 13px; }
.acc-tiers__list li.is-on { background: var(--accent-soft); color: var(--accent); }
.acc-tiers__list li.is-on b { color: var(--accent); }
.acc-tiers__list li.is-cur { outline: 2px solid var(--accent); }
.acc-last { margin-top: 28px; }
.acc-orders { display: flex; flex-direction: column; gap: 8px; }
.acc-order { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; padding: 14px 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--card); text-decoration: none; color: var(--ink); transition: border-color .15s; }
.acc-order:hover { border-color: var(--accent); }
.acc-order__sum { margin-left: auto; }
.acc-order .ui-ico { width: 16px; height: 16px; color: var(--muted); }
.acc-st { font-size: 12.5px; font-weight: 700; padding: 3px 10px; border-radius: 99px; background: var(--surface); }
.acc-st--k-new { background: #e6effd; color: #1d4ed8; }
.acc-st--k-work { background: #fff3d6; color: #9a6b00; }
.acc-st--k-done { background: #e7f6ec; color: #1f7a45; }
.acc-st--k-cancel { background: #f1f1f1; color: #777; }
.acc-st--new { background: #e6effd; color: #1d4ed8; }
.acc-st--work { background: #fff3d6; color: #9a6b00; }
.acc-st--done { background: #e7f6ec; color: #1f7a45; }
.acc-st--cancel { background: #f1f1f1; color: #777; }
.acc-tag { font-size: 12.5px; font-weight: 700; padding: 3px 10px; border-radius: 99px; }
.acc-tag--ok { background: #e7f6ec; color: #1f7a45; }
.acc-tag--warn { background: #fff3d6; color: #9a6b00; }
.acc-tag--err { background: #fdecea; color: #a1261d; }
html[data-theme="dark"] .acc-st--new { background: #16264a; color: #8fb2ff; }
html[data-theme="dark"] .acc-st--work, html[data-theme="dark"] .acc-tag--warn { background: #3a3212; color: #f0d58a; }
html[data-theme="dark"] .acc-st--done, html[data-theme="dark"] .acc-tag--ok { background: #12301f; color: #6fd39a; }
html[data-theme="dark"] .acc-st--cancel { background: #2a2d31; color: #aaa; }
html[data-theme="dark"] .acc-tag--err { background: #3a1714; color: #ff9b91; }
.acc-empty { padding: 24px; border: 1px dashed var(--line); border-radius: var(--radius); color: var(--ink-soft); }
.acc-order-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 14px 0 24px; }
.acc-pay { margin: 0 0 18px; }
.acc-items { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.acc-item { display: flex; align-items: center; gap: 14px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.acc-item:last-child { border-bottom: 0; }
.acc-item__img { flex: none; width: 56px; height: 56px; border-radius: 8px; overflow: hidden; background: var(--surface); }
.acc-item__img img { width: 100%; height: 100%; object-fit: cover; }
.acc-item__body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.acc-item__body a { text-decoration: none; color: var(--ink); }
.acc-item__body small { color: var(--muted); }
.acc-totals { max-width: 380px; margin: 16px 0 0 auto; display: flex; flex-direction: column; gap: 8px; }
.acc-totals > div { display: flex; justify-content: space-between; gap: 16px; }
.acc-totals__disc { color: #1f7a45; }
.acc-totals__total { padding-top: 10px; border-top: 1px solid var(--line); font-size: 19px; }
.acc-fields { margin: 24px 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.acc-fields div { padding: 12px 14px; border-radius: var(--radius-sm); background: var(--surface); }
.acc-fields dt { font-size: 12.5px; color: var(--muted); }
.acc-fields dd { margin: 2px 0 0; }
.acc-profile { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
.card-like { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.card-like h2 { margin: 0 0 4px; }
.card-like .btn { align-self: flex-start; }
.co-acc { padding: 12px 16px; border-radius: var(--radius-sm); background: var(--accent-soft); font-size: 14.5px; }
.co-acc a { color: var(--accent); font-weight: 600; }
.co__disc { color: #1f7a45; }
html[data-theme="dark"] .co__disc, html[data-theme="dark"] .acc-totals__disc { color: #6fd39a; }
@media (max-width: 900px) { .acc { grid-template-columns: 1fr; gap: 20px; } .acc-nav { position: static; } .acc-nav nav { flex-direction: row; flex-wrap: wrap; } }
@media (max-width: 560px) { .acc-auth { padding: 22px 18px; } .acc-order__sum { margin-left: 0; } }
.acc-nav nav a small { margin-left: 8px; }

/* ---------- Шапка «расширенная»: верхняя полоса ссылок, телефон с карточкой контактов ---------- */
.topbar--x { background: var(--surface); color: var(--ink); border-bottom: 1px solid var(--line); font-size: 14.5px; z-index: 60; }
.topbar--x .topbar__in { min-height: 46px; gap: 24px; }
.tlinks { position: relative; display: flex; align-items: center; gap: 22px; min-width: 0; flex: 1 1 auto; white-space: nowrap; }
.tlinks__a { display: inline-flex; align-items: center; gap: 7px; color: var(--ink); text-decoration: none; font-weight: 500; transition: color .15s; }
.tlinks__a:hover, .tlinks__a[aria-current="page"] { color: var(--accent); }
.tlinks__a .nav__ico { width: 18px; height: 18px; margin: 0; }
.tlinks__more { position: relative; }
.tlinks__more-btn { display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 8px; background: none; color: var(--ink-soft); cursor: pointer; }
.tlinks__more-btn:hover, .tlinks__more.is-open .tlinks__more-btn { background: var(--card); color: var(--accent); }
.tlinks__drop { position: absolute; left: 0; top: calc(100% + 8px); min-width: 220px; padding: 8px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius-sm); box-shadow: 0 16px 40px rgba(0,0,0,.14); display: none; flex-direction: column; z-index: 90; }
.tlinks__more.is-open .tlinks__drop { display: flex; }
.tlinks__drop .tlinks__a { padding: 9px 10px; border-radius: 8px; }
.tlinks__drop .tlinks__a:hover { background: var(--surface); }
.topbar--x .topbar__end { display: flex; align-items: center; gap: 18px; margin-left: auto; flex: none; }
.hphone { position: relative; display: flex; align-items: center; gap: 2px; }
.hphone__num { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); text-decoration: none; font-weight: 800; font-size: 17px; letter-spacing: .01em; white-space: nowrap; }
.hphone__num .ui-ico { width: 17px; height: 17px; color: var(--muted); }
.hphone__num:hover { color: var(--accent); }
.hphone__toggle { display: grid; place-items: center; width: 26px; height: 26px; border: 0; border-radius: 6px; background: none; color: var(--ink-soft); cursor: pointer; }
.hphone__toggle .ui-ico { width: 16px; height: 16px; transition: transform .2s; }
.hphone.is-open .hphone__toggle .ui-ico { transform: rotate(180deg); }
.hcard { position: absolute; left: -16px; top: calc(100% + 10px); width: 320px; padding: 20px; background: var(--card); color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 22px 50px rgba(0,0,0,.16); display: flex; flex-direction: column; gap: 14px; visibility: hidden; opacity: 0; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility 0s linear .18s; z-index: 95; }
.hcard::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; } /* мост, чтобы наведение не обрывалось */
.hphone.is-open .hcard { visibility: visible; opacity: 1; transform: none; transition: opacity .18s, transform .18s; }
@media (hover: hover) { .hphone:hover .hcard, .hphone:focus-within .hcard { visibility: visible; opacity: 1; transform: none; transition: opacity .18s .06s, transform .18s .06s; } .hphone:hover .hphone__toggle .ui-ico { transform: rotate(180deg); } }
.hcard__row { display: flex; flex-direction: column; gap: 2px; font-size: 15px; line-height: 1.45; }
.hcard__row a { color: var(--ink); text-decoration: none; }
.hcard__row a:hover { color: var(--accent); }
.hcard__label { font-size: 13px; color: var(--muted); }
.hcard__phone { font-size: 19px; font-weight: 800; color: #1c1c1c !important; }
.hcard__phone:hover { opacity: .75; }
html[data-theme="dark"] .hcard__phone { color: #f2f2f2 !important; }
.hcard__msgs { display: flex; gap: 8px; flex-wrap: wrap; }
.hcard__msgs .btn-msg { flex: 1 1 auto; min-height: 40px; justify-content: center; font-size: 14px; padding: 0 12px; }
.hcard__call { min-height: 42px; }
.hcard__soc { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 4px; }
.hcard__more { display: inline-flex; align-items: center; gap: 2px; font-size: 14px; font-weight: 600; color: var(--accent); text-decoration: none; }
.hcard__more .ui-ico { width: 15px; height: 15px; }
.soc { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: #fff; text-decoration: none; transition: transform .15s, opacity .15s; }
.soc:hover { transform: translateY(-2px); }
.soc .ui-ico { width: 18px; height: 18px; }
.soc--instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.soc--vk { background: #0077ff; } .soc--facebook { background: #1877f2; } .soc--youtube { background: #ff0000; } .soc--linkedin { background: #0a66c2; }
.soc--telegram { background: var(--tg); } .soc--viber { background: var(--viber); } .soc--whatsapp { background: #25d366; }
.msg--whatsapp { background: #25d366; }
.btn-msg--whatsapp { background: #25d366; }
.topbar__msgs { display: inline-flex; gap: 6px; }
.topbar__msgs .msg { width: 30px; height: 30px; }
.topbar__msgs .msg .ui-ico { width: 16px; height: 16px; }
.topbar__call { border: 0; background: none; padding: 0; font: inherit; font-weight: 500; color: var(--accent); border-bottom: 1px dashed currentColor; cursor: pointer; white-space: nowrap; }
.topbar__call:hover { border-bottom-style: solid; }
.topbar__acc { display: inline-flex; align-items: center; gap: 7px; color: var(--ink); text-decoration: none; font-weight: 500; white-space: nowrap; }
.topbar__acc .ui-ico { width: 18px; height: 18px; }
.topbar__acc:hover { color: var(--accent); }
.header__contacts--x { display: none !important; }
.header__m-phone { display: none; }
/* иконки в пунктах меню */
.nav__ico { flex: none; width: 19px; height: 19px; margin-right: 7px; vertical-align: -4px; }
.nav__ico--img { object-fit: contain; }
.nav > a, .nav__dd-btn { display: inline-flex; align-items: center; }
.nav__dd-btn .nav__ico { margin-right: 7px; }
.nav__m-soc { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.nav__phone--x { display: flex; flex-direction: column; font-size: 18px; margin-top: 6px; }
.nav__phone--x small { font-size: 12.5px; font-weight: 500; color: var(--muted); }
.nav__m-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.nav__m-links a { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border: 1px solid var(--line); border-radius: 99px; background: var(--card); color: var(--ink); text-decoration: none; font-size: 14.5px; font-weight: 500; }
.nav__m-links a .nav__ico { width: 16px; height: 16px; margin: 0; }
.nav__m-acc { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-weight: 600; color: var(--accent); text-decoration: none; }
.nav__m-acc .ui-ico { width: 18px; height: 18px; }
@media (max-width: 1180px) { .topbar__msgs { display: none; } .topbar__acc span { display: none; } }
@media (max-width: 960px) {
  .topbar--x { display: none; }
  .header__m-phone { display: grid; }
  .nav__ico { margin-right: 10px; }
}
.msg--telegram { background: var(--tg); }
@media (max-width: 960px) {
  .nav__dd-btn { justify-content: flex-start; }
  .nav__dd-btn > svg:not(.nav__ico) { margin-left: auto; }
  .nav__dd-head .nav__dd-btn svg.nav__ico { display: inline-block; }
  .nav__m-msg { grid-template-columns: 1fr 1fr; }
  .nav .nav__m-msg .btn-msg:nth-child(3):last-child { grid-column: 1 / -1; }
}

/* ---------- Переключатель темы на светлой верхней полосе ---------- */
.topbar--x .theme-sw { background: var(--card); border: 1px solid var(--line); }
.topbar--x .theme-sw button { color: var(--ink-soft); }
.topbar--x .theme-sw button:hover { color: var(--accent); }
.topbar--x .theme-sw button[aria-pressed="true"] { background: var(--accent); color: var(--on-accent, #fff); }
/* Иконки перед текстом пунктов меню не вращаются — поворачивается только стрелка раскрытия */
.nav__dd:hover .nav__dd-btn svg.nav__ico, .nav__dd.is-open .nav__dd-btn svg.nav__ico, .nav__dd.is-open .nav__dd-toggle svg.nav__ico { transform: none; }
.nav__dd-btn svg.nav__ico { transition: none; }

/* ---------- Избранное и сравнение ---------- */
.pcard2__acts { position: absolute; top: 15px; right: 15px; display: flex; flex-direction: column; gap: 6px; z-index: 3; }
.pact { display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 14%; background: rgba(255,255,255,.92); color: #50555c; box-shadow: none; cursor: pointer; transition: color .15s, background-color .15s, transform .15s; }
.pact svg { width: 17px; height: 17px; }
.pact:hover { color: var(--accent); transform: scale(1.06); }
.pact--fav.is-on { color: #e0344b; }
.pact--fav.is-on svg { fill: currentColor; }
.pact--cmp.is-on, .pgrid .pcard2__acts .pact.pact--cmp.is-on { background: var(--accent); color: var(--on-accent, #fff); }
.pgrid.is-list .pcard2__acts { top: 15px; right: auto; left: 197px; }
.pgrid.is-compact .pcard2__acts { position: static; order: 3; flex-direction: row; flex: none; margin-right: 14px; }
.pgrid.is-compact .pcard2__acts .pact { background: var(--surface); }
.pcard2__acts .cms-ed { position: static; order: 9; width: 32px; height: 32px; padding: 0; justify-content: center; border-radius: 14%; box-shadow: none; }
.pcard2__acts .cms-ed span { display: none; }
.pcard2:hover .cms-ed { opacity: 1; }
.pgrid.is-compact .pcard2__body { order: 2; min-width: 0; }
.pgrid.is-compact .pcard2__img { order: 1; }
.pacts { display: flex; flex-wrap: nowrap; gap: 8px; margin-top: 12px; min-width: 0; }
.pacts .pact { flex: 0 1 auto; min-width: 0; white-space: nowrap; width: auto; height: 38px; padding: 0 14px; border-radius: 99px; gap: 7px; display: inline-flex; align-items: center; background: var(--surface); box-shadow: none; font: inherit; font-size: 14px; font-weight: 600; color: var(--ink-soft); }
.pacts .pact:hover { transform: none; }
.pacts .pact svg { flex: none; }
.pbuy { container-type: inline-size; }
@container (max-width: 300px) {
  .pacts { gap: 6px; }
  .pacts .pact { flex: 1 1 auto; justify-content: center; padding: 0 9px; gap: 5px; font-size: 13px; }
  .pacts .pact svg { width: 15px; height: 15px; }
  .pbuy__help { font-size: 12.5px; gap: 4px; letter-spacing: -.01em; }
}
.pacts .pact span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.pacts .pact--fav.is-on { color: #e0344b; background: #fdecee; }
.pacts .pact--cmp.is-on { background: var(--accent-soft); color: var(--accent); }
html[data-theme="dark"] .pacts .pact--fav.is-on { background: #3a1a1f; }
.hcount { position: relative; }
.hcount svg { width: 21px; height: 21px; }
.hcount__n { position: absolute; top: -3px; right: -3px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 99px; background: var(--accent); color: var(--on-accent, #fff); font-size: 11px; font-weight: 800; line-height: 18px; text-align: center; }
.hcount__n[hidden] { display: none; }
.mt-toast { position: fixed; left: 50%; bottom: 24px; z-index: 300; max-width: calc(100% - 32px); padding: 12px 18px; border-radius: var(--radius-sm); background: #1d1f22; color: #fff; font-size: 14.5px; box-shadow: 0 12px 32px rgba(0,0,0,.25); transform: translate(-50%, 20px); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; }
.mt-toast.is-on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.mt-toast a { color: #9ec5ff; font-weight: 600; margin-left: 6px; }
@media (max-width: 960px) { .mt-toast { bottom: 84px; } }
.list-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.list-clear { border: 0; background: none; color: var(--muted); font: inherit; font-size: 14.5px; cursor: pointer; border-bottom: 1px dashed currentColor; }
.list-clear:hover { color: var(--accent); }
.list-loading { color: var(--muted); padding: 24px 0; }
.list-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; padding: 48px 20px; border: 1px dashed var(--line); border-radius: var(--radius); color: var(--ink-soft); }
.list-empty > svg { width: 44px; height: 44px; color: var(--muted); }
.list-empty p { margin: 0; max-width: 420px; }
.list-empty b { display: block; font-size: 18px; color: var(--ink); margin-bottom: 4px; }
.cmp-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.cmp-tab { padding: 8px 16px; border: 1px solid var(--line); border-radius: 99px; background: var(--card); font: inherit; font-size: 14.5px; font-weight: 600; color: var(--ink-soft); cursor: pointer; }
.cmp-tab small { color: var(--muted); font-weight: 500; margin-left: 2px; }
.cmp-tab.is-active { background: var(--accent); border-color: var(--accent); color: var(--on-accent, #fff); }
.cmp-tab.is-active small { color: rgba(255,255,255,.8); }
.cmp-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.cmp-t { border-collapse: separate; border-spacing: 0; min-width: 100%; font-size: 14.5px; }
.cmp-t th, .cmp-t td { padding: 12px 16px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; min-width: 200px; max-width: 260px; }
.cmp-t tbody th { position: sticky; left: 0; z-index: 1; min-width: 170px; background: var(--card); color: var(--muted); font-weight: 600; box-shadow: 1px 0 0 var(--line); }
.cmp-t__corner { position: sticky; left: 0; z-index: 2; background: var(--card); box-shadow: 1px 0 0 var(--line); vertical-align: bottom !important; }
.cmp-t tbody tr:hover td, .cmp-t tbody tr:hover th { background: var(--surface); }
.cmp-t.is-diff tr[data-same] { display: none; }
.cmp-t [hidden] { display: none; }
.cmp-t__prod { position: relative; font-weight: 400; }
.cmp-t__rm { position: absolute; top: 8px; right: 8px; display: grid; place-items: center; width: 28px; height: 28px; border: 0; border-radius: 50%; background: var(--surface); color: var(--muted); cursor: pointer; }
.cmp-t__rm:hover { color: #d0342c; }
.cmp-t__img { display: block; width: 120px; height: 120px; margin-bottom: 10px; border-radius: var(--radius-sm); overflow: hidden; background: var(--surface); }
.cmp-t__img img { width: 100%; height: 100%; object-fit: cover; }
.cmp-t__title { display: block; font-weight: 700; color: var(--ink); text-decoration: none; line-height: 1.35; margin-bottom: 6px; }
.cmp-t__title:hover { color: var(--accent); }
.cmp-t__price { margin-bottom: 10px; }
.cmp-t__buy .buy { justify-content: flex-start; }
.cmp-t__buy .buy__toggle, .cmp-t__buy .buy__add { min-height: 38px; font-size: 14px; }
@media (max-width: 640px) {
  .cmp-wrap { margin: 0 -16px; border-radius: 0; border-left: 0; border-right: 0; overscroll-behavior-x: contain; scroll-snap-type: x proximity; }
  .cmp-t { --w: calc((100vw - 8px) / 2.15); --rw: calc(var(--n, 2) * var(--w)); display: block; width: max(100vw, var(--rw)); min-width: 0; font-size: 14px; }
  .cmp-t thead, .cmp-t tbody { display: block; }
  .cmp-t tr { display: flex; flex-wrap: wrap; width: var(--rw); }
  .cmp-t th, .cmp-t td { flex: 0 0 var(--w); width: var(--w); min-width: 0; max-width: none; padding: 10px 12px; scroll-snap-align: start; }
  .cmp-t td + td, .cmp-t__prod + .cmp-t__prod { border-left: 1px solid var(--line); }
  .cmp-t tbody th, .cmp-t .cmp-t__corner { flex: 0 0 auto; width: min(100vw, var(--rw)); margin-right: max(0px, calc(var(--rw) - 100vw)); position: sticky; left: 0; z-index: 1; box-shadow: none; scroll-snap-align: none; }
  .cmp-t tbody th { padding: 12px 16px 2px; border-bottom: 0; background: var(--card); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
  .cmp-t tbody td { padding-top: 4px; }
  .cmp-t tbody tr:hover td, .cmp-t tbody tr:hover th { background: var(--card); }
  .cmp-t .cmp-t__corner { padding: 10px 16px; vertical-align: middle !important; }
  .cmp-t__prod { padding-top: 12px; }
  .cmp-t__img { width: 100%; height: auto; aspect-ratio: 1 / 1; max-height: 150px; }
  .cmp-t__title { font-size: 14px; }
  .cmp-t__rm { top: 18px; right: 18px; background: var(--card); box-shadow: 0 1px 4px rgba(0,0,0,.15); }
  .cmp-t__buy .buy { flex-wrap: wrap; gap: 6px; }
  .cmp-t__buy .buy > * { flex: 1 1 100%; min-width: 0; }
  .cmp-t__buy .btn { width: 100%; padding-left: 8px; padding-right: 8px; font-size: 14px; }
}
.cmp-diff { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--ink); cursor: pointer; white-space: nowrap; }
.topbar__acc-me { display: inline-flex; align-items: center; gap: 7px; color: var(--ink); text-decoration: none; font-weight: 500; }
.topbar__acc-me:hover { color: var(--accent); }
.topbar__acc form { display: inline; margin: 0 0 0 10px; }
.topbar__out { border: 0; background: none; padding: 0; font: inherit; color: var(--muted); cursor: pointer; }
.topbar__out:hover { color: var(--accent); }
@media (max-width: 560px) { .hcount { display: none; } }
.nav__m-lists { display: flex; gap: 8px; margin-top: 16px; }
.nav__m-lists a { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 12px; border-radius: var(--radius-sm); background: var(--card); border: 1px solid var(--line); color: var(--ink); text-decoration: none; font-weight: 600; font-size: 14.5px; }
.nav__m-lists svg { width: 18px; height: 18px; }
.nav__m-lists b { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 99px; background: var(--accent); color: var(--on-accent, #fff); font-size: 11px; line-height: 18px; text-align: center; }
.nav__m-lists b[hidden] { display: none; }
@media (max-width: 1180px) { a.topbar__acc span { display: inline; } }

/* ---------- Шапка: равномерное меню без пустоты, компактная группа значков ---------- */
@media (min-width: 961px) {
  .nav { flex: 1 1 auto; justify-content: space-between; gap: 18px; margin-right: 0; min-width: 0; }
}
.header__in { --hgap: 32px; gap: var(--hgap); }
@media (max-width: 1320px) { .header__in { --hgap: 22px; } }
@media (max-width: 960px) { .header__in, .header.is-scrolled .header__in { --hgap: 16px; } }
.header__in > .header__search-btn + .header__search-btn { margin-left: calc(10px - var(--hgap)); } /* между значками всегда 10px */
@media (max-width: 960px) { .header__in > .header__search-btn + .header__search-btn { margin-left: calc(6px - var(--hgap)); } }
/* Выпадающий список «…»: иконка не вращается, текст слева, стрелка справа */
.nav__more-list .nav__dd-btn { justify-content: flex-start; }
.nav__more-list .nav__dd-btn svg.nav__ico, .nav__more-list .nav__dd:hover .nav__dd-btn svg.nav__ico { transform: none; }
.nav__more-list .nav__dd-btn > svg:not(.nav__ico) { margin-left: auto; }
/* Отступы на страницах списков */
.list-head { margin-bottom: 20px; }
.list-head .page__title { margin-bottom: 0; }
.nav__more-list .nav__dd .nav__dd-btn > svg:not(.nav__ico), .nav__more-list .nav__dd:hover .nav__dd-btn > svg:not(.nav__ico) { transform: rotate(90deg); } /* подменю открывается влево */
.co-acc { margin: 6px 0 26px; }
.ckb { position: fixed; z-index: 120; left: 16px; bottom: 16px; max-width: 440px; background: var(--card); color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 18px 50px rgba(0,0,0,.18); animation: ckb-in .35s ease; }
.ckb[hidden] { display: none; }
.ckb__in { padding: 20px 22px; display: flex; flex-direction: column; gap: 14px; }
.ckb__title { margin: 0 0 6px; font-weight: 700; font-size: 16px; color: var(--head); }
.ckb__text { margin: 0; font-size: 14px; line-height: 1.5; color: var(--ink-soft, var(--ink)); }
.ckb__text a { color: var(--accent); font-weight: 600; }
.ckb__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.ckb__btn { min-height: 42px; padding: 0 18px; font-size: 14px; flex: 1 1 auto; }
.ckb--bar { left: 0; right: 0; bottom: 0; max-width: none; border-radius: 0; border-width: 1px 0 0; }
.ckb--bar .ckb__in { max-width: 1240px; margin: 0 auto; flex-direction: row; align-items: center; justify-content: space-between; gap: 18px 32px; padding: 16px 20px; }
.ckb--bar .ckb__btns { flex: none; }
.ckb--bar .ckb__btn { flex: none; }
.ft-cookie { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; opacity: .85; }
.ft-cookie:hover { opacity: 1; text-decoration: underline; }
@keyframes ckb-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media (max-width: 720px) {
  .ckb { left: 10px; right: 10px; bottom: calc(10px + var(--mbar-h, 76px)); max-width: none; }
  .ckb--bar { left: 0; right: 0; bottom: var(--mbar-h, 76px); }
  .ckb--bar .ckb__in { flex-direction: column; align-items: stretch; }
  .ckb--bar .ckb__btn { flex: 1 1 auto; }
}
.pc-stock--out { color: #b3261e; }
.pc-stock--low { color: #c2410c; }
.pvar { margin: 4px 0 16px; }
.pvar__label { margin: 0 0 10px; font-size: 14px; color: var(--muted); }
.pvar__label b { color: var(--ink); font-weight: 600; }
.pvar__list { display: flex; flex-wrap: wrap; gap: 8px; }
.pvar__opt { min-height: 40px; padding: 0 16px; border: 1.5px solid var(--line); border-radius: var(--radius-sm); background: var(--card); color: var(--ink); font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; transition: border-color .15s, background .15s; }
.pvar__opt:hover { border-color: var(--accent); }
.pvar__opt.is-active { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); font-weight: 600; }
.pvar__opt.is-out { color: var(--muted); text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--muted) 60%, transparent); }
.pvar__opt.is-out.is-active { text-decoration: none; }
.buy__pick, .buy__notify { width: 100%; justify-content: center; }
.buy[hidden], .buy__notify[hidden] { display: none !important; }
.st-out { color: #b3261e; }
.co-stock-err { color: #b3261e; font-weight: 600; }
.acc-st--ready { background: #fff3d6; color: #9a6b00; }
.acc-st--shipped { background: #efe7fd; color: #6d28d9; }
.acc-verify { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 14px 18px; margin-bottom: 18px; border-radius: var(--radius-sm); background: #fff6e0; color: #6b4e00; }
.acc-verify p { margin: 0; flex: 1 1 320px; }
html[data-theme="dark"] .acc-verify { background: #3a2f12; color: #f3d98b; }
.acc-repeat { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 18px 0; }
.acc-repeat small { color: var(--muted); flex: 1 1 260px; }
.acc-addrs { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; margin: 16px 0 24px; }
.acc-addr { display: flex; flex-direction: column; justify-content: space-between; gap: 12px; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--card); }
.acc-addr.is-default { border-color: var(--accent); }
.acc-addr p { margin: 6px 0 2px; }
.acc-addr__act { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 14px; }
.acc-addr__act form { margin: 0; }
.acc-addr-form { max-width: 560px; }
.acc-main .page__title { margin: 0 0 22px; }
.acc-main > .muted { margin: -10px 0 20px; color: var(--ink-soft); line-height: 1.55; }
.acc-main > .acc-msg { margin-bottom: 20px; }
.acc-main .acc-cards { margin-top: 0; }
.acc-main .acc-order-meta { margin-top: -8px; }
.acc-form.card-like { gap: 16px; padding: 26px; }
.acc-form .btn { min-height: 46px; padding: 10px 22px; line-height: 1.25; margin-top: 4px; }
.acc-form__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 4px; }
.acc-form__btns .btn { margin-top: 0; }
.acc-profile { align-items: start; }
.acc-profile .acc-form .btn { align-self: stretch; }
@media (max-width: 560px) { .acc-main .acc-cards { grid-template-columns: 1fr 1fr; gap: 10px; } .acc-main .acc-card--disc { grid-column: 1 / -1; } .acc-main .acc-card { padding: 16px; } .acc-main .acc-card__big { font-size: 24px; } }
.acc-addrs { margin: 0 0 24px; }
.acc-last .home-blog__head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 16px; }
.acc-last .home-blog__head .h3 { margin: 0; }
.acc-tiers h2 { margin-bottom: 12px; }
.acc-fields { margin-top: 28px; }
.acc-items + .acc-totals { margin-top: 20px; }
@media (max-width: 900px) {
  .acc-nav { padding: 14px; gap: 12px; }
  .acc-nav nav { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
  .acc-nav nav a { background: var(--surface); }
  .acc-nav__out { padding: 8px 12px; }
}
@media (max-width: 560px) {
  .acc-form.card-like { padding: 20px 16px; }
  .acc-form .btn { width: 100%; }
  .acc-tiers { padding: 18px 16px; }
  .acc-order { padding: 14px 16px; }
}
.acc-form__btns { display: flex; align-items: center; gap: 16px; }
.linkbtn { background: none; border: 0; padding: 0; font: inherit; color: var(--accent); cursor: pointer; }
.linkbtn:hover { text-decoration: underline; }
.linkbtn--danger { color: #b3261e; }
.co-addr-pick { margin-bottom: 8px; }
.field .co-addr-save { margin-top: 6px; font-size: 14px; }
.field .co-addr-save input { width: 18px; height: 18px; padding: 0; border: 0; }
.field .co-addr-save span { font-weight: 400; }
.cms-pv { position: fixed; z-index: 130; left: 50%; bottom: 16px; transform: translateX(-50%); display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; max-width: calc(100% - 32px); padding: 10px 16px; border-radius: 12px; background: #16181d; color: #e9ebef; font-size: 14px; line-height: 1.4; box-shadow: 0 12px 34px rgba(0,0,0,.3); }
.cms-pv b { color: #ffc940; }
.cms-pv a { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.cms-edh { position: relative; }
.cms-ed { position: absolute; top: 10px; right: 10px; z-index: 40; display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px; border-radius: 8px; background: #16181d; color: #fff; font: 600 13px/1 var(--font); text-decoration: none; box-shadow: 0 4px 14px rgba(0,0,0,.25); opacity: 0; transition: opacity .15s; }
.cms-ed span { white-space: nowrap; }
.cms-edh:hover > .cms-ed, .pcard2:hover > .cms-ed, .cms-ed:focus-visible { opacity: 1; }
.cms-ed:hover { background: #d42d31; color: #fff; }
.pcard2 { position: relative; }
@media (hover: none) { .cms-ed { opacity: .9; } }
html.cms-ed-off .cms-ed { display: none; }
.cms-bar { position: fixed; z-index: 125; left: 16px; bottom: 16px; display: flex; align-items: center; gap: 4px; max-width: calc(100% - 32px); padding: 5px; border-radius: 12px; background: #16181d; color: #e9ebef; font: 500 13.5px/1 var(--font); box-shadow: 0 12px 34px rgba(0,0,0,.3); }
.cms-bar a, .cms-bar button { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 11px; border: 0; border-radius: 8px; background: none; color: inherit; font: inherit; text-decoration: none; white-space: nowrap; cursor: pointer; }
.cms-bar a:hover, .cms-bar button:hover { background: rgba(255,255,255,.1); color: #fff; }
.cms-bar__home { font-weight: 800; letter-spacing: .04em; color: #fff !important; background: #d42d31 !important; }
.cms-bar__edit { color: #fff !important; font-weight: 600; }
.cms-bar__btn[aria-pressed="false"] { opacity: .55; }
.cms-bar__btn--on { color: #ffc940 !important; }
.cms-bar__hide { width: 34px; justify-content: center; padding: 0 !important; }
.cms-bar.is-min > :not(.cms-bar__home):not(.cms-bar__hide) { display: none; }
.cms-bar.is-min .cms-bar__hide svg { transform: rotate(180deg); }
@media (max-width: 720px) { .cms-bar { left: 8px; bottom: calc(76px + env(safe-area-inset-bottom, 0px)); max-width: calc(100% - 16px); overflow-x: auto; } .cms-bar__btn { display: none !important; } }
@media print { .cms-bar, .cms-ed { display: none !important; } }
.cat-tabs { display: flex; gap: 4px; margin-top: 24px; padding-bottom: 2px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.cat-tabs::-webkit-scrollbar { display: none; }
.cat-tab { position: relative; flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 12px 16px; color: var(--ink-soft); font-weight: 600; font-size: 15.5px; text-decoration: none; white-space: nowrap; transition: color .15s; }
.cat-tab small { color: var(--muted); font-weight: 500; font-size: 13px; }
.cat-tab:hover { color: var(--ink); }
.cat-tab.is-active { color: var(--accent); }
.cat-tab.is-active::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: -3px; height: 3px; border-radius: 3px 3px 0 0; background: var(--accent); }
html[data-theme="dark"] .cat-tab.is-active { color: var(--ink); }
html[data-density="compact"] body { font-size: 16px; line-height: 1.55; }
html[data-density="compact"] .section { padding: 60px 0; }
html[data-density="compact"] .h2 { font-size: clamp(24px, 2.6vw, 32px); margin-bottom: 22px; }
html[data-density="compact"] .btn { min-height: 46px; padding: 0 24px; font-size: 16px; }
html[data-density="compact"] .btn--sm { min-height: 40px; padding: 0 16px; font-size: 14.5px; }
html[data-density="compact"] .page { --page-top: 28px; }
html[data-density="compact"] .page__title { font-size: clamp(26px, 3.2vw, 38px); }
html[data-density="compact"] .page__lead { font-size: 16.5px; }
html[data-density="compact"] .pgrid { gap: 14px; }
html[data-density="compact"] .pcard2__body { padding: 12px 14px 14px; }
html[data-density="compact"] .prod { gap: 36px; }
html[data-density="compact"] .ptabs { margin-top: 40px; }
html[data-density="compact"] .svc-grid { gap: 12px; }
html[data-density="compact"] .lead-form { gap: 11px; }
html[data-density="relaxed"] .section { padding: 104px 0; }
html[data-density="relaxed"] .h2 { font-size: clamp(30px, 3.4vw, 44px); margin-bottom: 34px; }
html[data-density="relaxed"] .btn { min-height: 56px; padding: 0 34px; }
@media (min-width: 721px) { html[data-density="relaxed"] .page { --page-top: 48px; } }
html[data-density="relaxed"] .pgrid { gap: 24px; }
@media (min-width: 961px) {
  html[data-density="relaxed"] .header.is-scrolled .header__in { min-height: 72px; }
  html[data-density="compact"] .header__in { min-height: 68px; gap: 24px; }
  html[data-density="compact"] .header.is-scrolled .header__in { min-height: 60px; }
  html[data-density="compact"] .logo img { max-height: 38px; }
  html[data-density="compact"] .nav { gap: 20px; }
  html[data-density="compact"] .nav a { font-size: 15px; }
  html[data-density="compact"] .hero__in { min-height: 460px; gap: 40px; padding-top: 48px; padding-bottom: 48px; }
  html[data-density="compact"] .hero__title { font-size: clamp(32px, 4.4vw, 54px); }
  html[data-density="compact"] .hero__text { font-size: 17px; margin-top: 16px; }
  html[data-density="compact"] .hero__btns { margin-top: 26px; }
  html[data-density="compact"] .hero__note { margin-top: 40px; }
  html[data-density="compact"] .page-body { padding: 24px 0 64px; }
  html[data-density="compact"] .ft-grid { padding: 44px 0 36px; gap: 32px; }
  html[data-density="relaxed"] .header__in { min-height: 88px; }
  html[data-density="relaxed"] .logo img { max-height: 50px; }
  html[data-density="relaxed"] .hero__in { min-height: 620px; padding-top: 76px; padding-bottom: 76px; }
  html[data-density="relaxed"] .page-body { padding: 40px 0 104px; }
  html[data-density="relaxed"] .ft-grid { padding: 64px 0 56px; }
}
@media (max-width: 960px) {
  html[data-density="compact"] .section { padding: 44px 0; }
  html[data-density="relaxed"] .section { padding: 72px 0; }
  html[data-density="compact"] .hero__in { min-height: 0; }
}
html[data-density="compact"] .field input, html[data-density="compact"] .field textarea, html[data-density="compact"] .field select { padding: 11px 13px; font-size: 15.5px; }
@media (min-width: 1440px) { html[data-width="wide"] .pgrid--side { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 961px) {
  html[data-width="narrow"] .hero__in { grid-template-columns: 1fr 430px; gap: 40px; }
  html[data-width="narrow"] .hero__title { font-size: clamp(34px, 4.4vw, 58px); }
}

.prange { position: relative; height: 28px; margin: 4px 4px 10px; }
.prange__track { position: absolute; left: 0; right: 0; top: 50%; height: 4px; margin-top: -2px; border-radius: 4px; background: var(--line); }
.prange__track i { position: absolute; top: 0; bottom: 0; border-radius: 4px; background: var(--accent); }
.prange input[type=range] { position: absolute; left: -2px; right: -2px; top: 0; width: calc(100% + 4px); height: 28px; margin: 0; background: none; pointer-events: none; -webkit-appearance: none; appearance: none; }
.prange input[type=range]::-webkit-slider-runnable-track { background: none; border: 0; }
.prange input[type=range]::-moz-range-track { background: none; border: 0; }
.prange input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%; background: var(--card); border: 2px solid var(--accent); box-shadow: 0 1px 4px rgba(0,0,0,.18); cursor: pointer; pointer-events: auto; }
.prange input[type=range]::-moz-range-thumb { width: 16px; height: 16px; border-radius: 50%; background: var(--card); border: 2px solid var(--accent); box-shadow: 0 1px 4px rgba(0,0,0,.18); cursor: pointer; pointer-events: auto; }
.prange input[type=range]:focus-visible::-webkit-slider-thumb { outline: 2px solid var(--accent); outline-offset: 2px; }
.flt__pop .prange, .cat-side .prange { min-width: 220px; }
@media (max-width: 720px) { .pgrid.is-list .pcard2__acts { left: auto; right: 15px; } }
.pgrid.is-compact .pcard2__body { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "title price buy" "meta price buy"; gap: 2px 20px; }
.pgrid.is-compact .pcard2__title { grid-area: title; align-self: end; }
.pgrid.is-compact .pcard2__meta { grid-area: meta; align-self: start; }
.pgrid.is-compact .pcard2__price { grid-area: price; white-space: nowrap; }
.pgrid.is-compact .pcard2__buy { grid-area: buy; }
.pgrid.is-compact .pcard2__short { display: none; }
@media (max-width: 1180px) {
  .pgrid.is-compact .pcard2__body { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "title buy" "meta buy" "price buy"; }
  .pgrid.is-compact .pcard2__price { justify-content: flex-start; }
}
@media (max-width: 720px) {
  .pgrid.is-compact .pcard2__acts { position: absolute; top: 15px; right: 15px; flex-direction: column; margin: 0; }
  .pgrid.is-compact .pcard2__acts .pact { background: rgba(255,255,255,.92); }
  .pgrid.is-compact .pcard2__img { flex: none; margin: 12px 12px 0; }
  .pgrid.is-compact .pcard2__body { display: flex; flex-direction: column; padding: 10px 12px 14px; }
  .pgrid.is-compact .badges-p, .pgrid.is-compact .pc-dots { display: flex; }
}
.co-promo { margin: 16px 0 0; }
.co-promo__row { display: flex; gap: 8px; }
.co-promo__row[hidden] { display: none; }
.co-promo__inp { flex: 1; min-width: 0; padding: 10px 12px; border: 1.5px solid var(--line); border-radius: var(--radius-sm); background: var(--card); color: var(--ink); font: inherit; font-size: 15px; text-transform: uppercase; letter-spacing: .03em; }
.co-promo__inp::placeholder { text-transform: none; letter-spacing: 0; }
.co-promo__inp:focus { outline: none; border-color: var(--accent); }
.co-promo__btn { flex: none; padding: 0 16px; border: 1.5px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); font: inherit; font-size: 14.5px; font-weight: 600; cursor: pointer; transition: border-color .15s, color .15s; }
.co-promo__btn:hover { border-color: var(--accent); color: var(--accent); }
.co-promo__btn:disabled { opacity: .6; cursor: default; }
.co-promo__ok { display: flex; align-items: center; gap: 8px; margin: 0; padding: 9px 10px 9px 12px; border-radius: var(--radius-sm); background: color-mix(in srgb, #1f9d55 10%, var(--card)); color: #17803f; font-size: 14.5px; font-weight: 600; }
.co-promo__ok[hidden] { display: none; }
.co-promo__ok span { flex: 1; min-width: 0; }
.co-promo__x { flex: none; display: grid; place-items: center; width: 26px; height: 26px; border: 0; border-radius: 6px; background: none; color: inherit; cursor: pointer; }
.co-promo__x:hover { background: rgba(0,0,0,.06); }
.co-promo__err { margin: 6px 0 0; color: #c62828; font-size: 14px; }
html[data-theme="dark"] .co-promo__ok { color: #6ee7a0; }
.co-buyer { display: flex; flex-direction: column; gap: 12px; }
.co-buyer__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.co-buyer__fields[hidden] { display: none; }
@media (max-width: 720px) { .co-buyer__fields { grid-template-columns: 1fr; } }
.co-done__doc { margin: 0 0 12px; }
.co-done__doc[hidden] { display: none; }
.acc-totals__doc { margin-top: 8px; font-weight: 600; }
.lang-sw { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border-radius: 99px; background: rgba(255,255,255,.1); }
.lang-sw a { display: grid; place-items: center; min-width: 30px; height: 28px; padding: 0 6px; border-radius: 99px; color: rgba(255,255,255,.75); font-size: 12px; font-weight: 700; letter-spacing: .03em; text-decoration: none; }
.lang-sw a:hover { color: #fff; }
.lang-sw a.is-on { background: #fff; color: #1d1f22; }
.topbar--x .lang-sw { background: var(--card); border: 1px solid var(--line); }
.topbar--x .lang-sw a, .nav .lang-sw a { color: var(--ink-soft); }
.topbar--x .lang-sw a:hover, .nav .lang-sw a:hover { color: var(--accent); }
.topbar--x .lang-sw a.is-on, .nav .lang-sw a.is-on { background: var(--accent); color: var(--on-accent, #fff); }
.nav .lang-sw { background: var(--surface); align-self: flex-start; }
.topbar__end .lang-sw + .theme-sw, .topbar__end .lang-sw { margin-left: 0; }

.acc-st[style*="--st"] { background: color-mix(in srgb, var(--st) 14%, var(--card)); color: var(--st); }
.prose--rich p:has(> a.rt-btn) { margin-top: 20px; }
.review__photos { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.review__photos a { display: block; width: 84px; height: 84px; border-radius: var(--radius-sm); overflow: hidden; background: var(--surface); }
.review__photos img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .2s; }
.review__photos a:hover img { transform: scale(1.05); }
.review__more { display: grid; place-items: center; width: 84px; height: 84px; border-radius: var(--radius-sm); background: var(--surface); color: var(--ink-soft); font-weight: 700; }
.review__reply { margin-top: 16px; padding: 14px 16px; border-radius: var(--radius-sm); background: var(--section-alt); border-left: 3px solid var(--accent); }
.review__reply-head { margin: 0 0 6px; font-size: 14px; font-weight: 700; color: var(--ink); }
.review__reply-head span { font-weight: 500; color: var(--muted); }
.review__reply p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--ink-soft); }
.review__reply p + p { margin-top: 8px; }
.review__badge { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 99px; background: var(--accent-soft); color: var(--accent); font-size: 12px; font-weight: 600; vertical-align: 2px; }
.review-form__order { margin: 0 0 12px; padding: 8px 12px; border-radius: var(--radius-sm); background: var(--accent-soft); color: var(--ink); font-size: 14px; }
.review-form__photos > span { display: block; margin-bottom: 8px; }
.upl { position: relative; display: block; cursor: pointer; }
.upl__input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.upl__box { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1.5px dashed var(--line); border-radius: var(--radius-sm); background: var(--card); transition: border-color .2s, background-color .2s; }
.upl:hover .upl__box, .upl.is-drag .upl__box { border-color: var(--accent); background: var(--accent-soft); }
.upl__input:focus-visible + .upl__box { outline: 2px solid var(--accent); outline-offset: 3px; }
.upl__ico { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--accent-soft); color: var(--accent); }
.upl__ico svg { width: 22px; height: 22px; }
.upl__txt { display: grid; gap: 2px; line-height: 1.3; text-align: left; }
.upl__txt b { font-size: 15px; font-weight: 600; color: var(--ink); }
.upl__txt small { font-size: 13px; color: var(--muted); }
.upl__list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.upl__list[hidden] { display: none; }
.upl__item { position: relative; width: 72px; height: 72px; border-radius: var(--radius-sm); overflow: hidden; background: var(--surface); }
.upl__item img { width: 100%; height: 100%; object-fit: cover; }
.upl__del { position: absolute; top: 4px; right: 4px; display: grid; place-items: center; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; background: rgba(0,0,0,.6); color: #fff; }
.upl__del svg { width: 12px; height: 12px; }
.review-form__photos small { color: var(--muted); font-weight: 400; }
@media (max-width: 720px) { .review__photos a, .review__more { width: 72px; height: 72px; } }
.rv-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.rv-filter__item { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 6px 14px; border: 1px solid var(--line); border-radius: 99px; background: var(--card); color: var(--ink); font-size: 15px; text-decoration: none; transition: border-color .2s, background-color .2s; }
.rv-filter__item span { color: var(--muted); font-size: 13px; }
.rv-filter__item:hover { border-color: var(--accent); }
.rv-filter__item.is-active { background: var(--accent); border-color: var(--accent); color: var(--on-accent, #fff); }
.rv-filter__item.is-active span { color: rgba(255,255,255,.75); }
button.rv-filter__item { font: inherit; font-size: 15px; cursor: pointer; }
.rv-more { display: flex; margin: 4px auto 0; }
.review[hidden], .rv-more[hidden] { display: none; }
.unsub { max-width: 640px; padding: 48px 0 72px; }
.unsub form, .unsub .btn { margin-top: 20px; }
div.cat-intro { margin-top: 16px; }
div.cat-intro > p:first-child { font-size: 18px; }

.prow__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.prow .prow__head .h2 { margin: 0; }
.prow__nav[hidden] { display: none; }
.prow__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 60px) / 4); gap: 20px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding-bottom: 4px; }
.prow__track::-webkit-scrollbar { display: none; }
.prow__track > * { scroll-snap-align: start; min-width: 0; }
@media (max-width: 1100px) { .prow__track { grid-auto-columns: calc((100% - 40px) / 3); } }
@media (max-width: 760px) { .prow__track { grid-auto-columns: calc((100% - 12px) / 2); gap: 12px; } .prow__head { margin-bottom: 16px; align-items: center; gap: 12px; } .prow__nav .slider__btn { width: 40px; height: 40px; } .prow__nav { flex: none; gap: 6px; } }
@media (max-width: 480px) { .prow__track { grid-auto-columns: 78%; } }

.prose--rich > :first-child, .page-main > :first-child, :is(.post-grid, .text-page) > .post__body:first-child, .ptabs__panel > .post__body { margin-top: 0; }
.post-grid--full { grid-template-columns: minmax(0, 1fr); }
:is(.text-page, .post-grid--full) .post__body :is(p, ul, ol, blockquote), .post-grid--full .post__lead { max-width: none; }
.page-body .text-page { margin: 0; }
@media (max-width: 720px) { .logo img { max-width: 170px; max-height: 40px; } }
.post__cover + .post__body { margin-top: 28px; }
.soc-list { display: flex; flex-wrap: wrap; gap: 8px; }
.person__soc { margin-top: 12px; }
.person__soc .soc { width: 32px; height: 32px; }
.person__soc .soc .ui-ico { width: 16px; height: 16px; }
.soc--globe { background: var(--ink-soft); }
.header__tools { display: flex; align-items: center; gap: 6px; flex: none; }
@media (min-width: 961px) {
  html[data-hfix="0"] .header { position: relative; }
  /*@mod design_pro*/.header--center .header__in { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); grid-template-areas: "contacts logo tools" "nav nav nav"; align-items: center; column-gap: 24px; padding-top: 12px; }/*@/mod*/
  /*@mod design_pro*/.header--center .logo { grid-area: logo; margin: 0; justify-self: center; }/*@/mod*/
  /*@mod design_pro*/.header--center .header__contacts { grid-area: contacts; justify-self: start; }/*@/mod*/
  /*@mod design_pro*/.header--center .header__tools { grid-area: tools; display: flex; align-items: center; justify-content: flex-end; gap: 4px; }/*@/mod*/
  /*@mod design_pro*/.header--center .nav { grid-area: nav; justify-content: center; margin: 10px 0 0; padding: 4px 0 10px; border-top: 1px solid var(--line); min-width: 0; }/*@/mod*/
  /*@mod design_pro*/.header--center .burger { display: none; }/*@/mod*/
  /*@mod design_pro*/.header--center.is-scrolled .header__in { min-height: 0; }/*@/mod*/
  /*@mod design_pro*/.header--compact .header__in { min-height: 72px; }/*@/mod*/
  /*@mod design_pro*/.header--compact .header__phone-txt small { display: none; }/*@/mod*/
}
/*@mod design_pro*/html[data-soc="theme"] :is(.soc, .msg, .ft-social a, .ft-contacts__msg .msg, .topbar__msgs .msg) { background: var(--accent); border-color: var(--accent); color: var(--on-accent, #fff); }/*@/mod*/
/*@mod design_pro*/html[data-soc="theme"] :is(.btn-msg) { background: var(--accent); color: var(--on-accent, #fff); }/*@/mod*/
/*@mod design_pro*/html[data-soc="outline"] :is(.soc, .msg, .ft-social a) { background: transparent; border: 1.5px solid var(--accent); color: var(--accent); }/*@/mod*/
/*@mod design_pro*/html[data-soc="outline"] :is(.soc, .msg):hover { background: var(--accent); color: var(--on-accent, #fff); }/*@/mod*/
/*@mod design_pro*/html[data-soc="outline"] .btn-msg { background: transparent; border: 1.5px solid var(--accent); color: var(--accent); }/*@/mod*/
/*@mod design_pro*/html[data-soc="outline"] .btn-msg:hover { background: var(--accent); color: var(--on-accent, #fff); filter: none; }/*@/mod*/
/*@mod design_pro*/html[data-soc="outline"] .ft :is(.soc, .msg, .ft-social a), html[data-soc="outline"] .ft .btn-msg { border-color: color-mix(in srgb, var(--accent) 45%, #fff); color: color-mix(in srgb, var(--accent) 35%, #fff); }/*@/mod*/
/*@mod design_pro*/html[data-soc="outline"] .ft :is(.soc, .msg, .ft-social a):hover { background: color-mix(in srgb, var(--accent-strong, var(--accent)) 45%, #fff); color: var(--dark); }/*@/mod*/
/*@mod design_pro*/html[data-soc="theme"] .ft :is(.soc, .msg, .ft-social a) { background: color-mix(in srgb, var(--accent-strong, var(--accent)) 80%, #fff); border-color: transparent; }/*@/mod*/
.ft-social .soc { width: 40px; height: 40px; border: 1px solid transparent; }
.ft-social .soc .ui-ico { width: 18px; height: 18px; }
/*@mod design_pro*/.ft-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 24px 40px; padding: 44px 0 36px; }/*@/mod*/
.ft-row__brand { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.ft-row__brand .ft-social { margin: 0; }
.ft-row__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 24px; }
.ft-row__contacts { display: grid; gap: 6px; justify-items: end; }
/*@mod design_pro*/.ft-center { display: grid; justify-items: center; gap: 18px; padding: 52px 0 40px; text-align: center; }/*@/mod*/
/*@mod design_pro*/.ft-center .ft-brand__text { margin: 0; }/*@/mod*/
.ft-center__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; max-width: 900px; }
.ft-center__contacts { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 26px; }
/*@mod design_pro*/.ft-center .ft-social { margin: 0; justify-content: center; }/*@/mod*/
/*@mod design_pro*/.ft-center .ft-legal { border: 0; padding: 0; margin: 0; }/*@/mod*/
/*@mod design_pro*/.ft--center .ft-bottom { justify-content: center; }/*@/mod*/
/*@mod design_pro*/.ft--center .ft-bottom .metatag { margin-left: 0; }/*@/mod*/
@media (max-width: 960px) { /*@mod design_pro*/.ft-row { grid-template-columns: 1fr; justify-items: start; }/*@/mod*/ .ft-row__nav { justify-content: flex-start; } .ft-row__contacts { justify-items: start; } }
/*@mod design_pro*/.ft--light { background: var(--card); border-top: 1px solid var(--line); color: var(--ink-soft); }/*@/mod*/
/*@mod design_pro*/.ft--light::before { display: none; }/*@/mod*/
/*@mod design_pro*/.ft--light a:hover { color: var(--accent); }/*@/mod*/
/*@mod design_pro*/.ft--light :is(.ft-col__title, .ft-logo__text b) { color: var(--ink); }/*@/mod*/
/*@mod design_pro*/.ft--light .ft-contacts__phone { color: var(--ink) !important; }/*@/mod*/
/*@mod design_pro*/.ft--light .ft-contacts__line .ui-ico { color: var(--muted); }/*@/mod*/
/*@mod design_pro*/.ft--light .ft-logo__text small { color: var(--muted); }/*@/mod*/
/*@mod design_pro*/.ft--light .ft-bottom { border-top-color: var(--line); color: var(--muted); }/*@/mod*/
/*@mod design_pro*/.ft--light .ft-legal { border-top-color: var(--line); color: var(--muted); }/*@/mod*/
/*@mod design_pro*/.ft--light .ft-logo .logo__mark { background: var(--accent-strong, var(--accent)); color: #fff; }/*@/mod*/
/*@mod design_pro*/.ft--light .ft-cta__sub { color: rgba(255,255,255,.8); }/*@/mod*/
/*@mod design_pro*/html[data-soc="outline"] .ft--light :is(.soc, .msg, .ft-social a) { border-color: var(--accent); color: var(--accent); }/*@/mod*/
/*@mod design_pro*/html[data-soc="outline"] .ft--light :is(.soc, .msg, .ft-social a):hover { background: var(--accent); color: var(--on-accent, #fff); }/*@/mod*/
/*@mod design_pro*/html[data-soc="theme"] .ft--light :is(.soc, .msg, .ft-social a) { background: var(--accent-strong, var(--accent)); }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person { position: relative; display: grid; grid-template-rows: 1fr auto auto auto; padding: 0; border: 0; overflow: hidden; isolation: isolate; color: #fff; background: #2a2a2a; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person__img { grid-row: 1 / -1; grid-column: 1; width: 100%; height: 100%; min-height: 360px; aspect-ratio: 3 / 4; margin: 0; border-radius: 0; z-index: -2; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person::after { content: ""; grid-row: 1 / -1; grid-column: 1; z-index: -1; background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.78)); }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person__pos { grid-row: 2; grid-column: 1; padding: 0 24px; color: rgba(255,255,255,.75); font-weight: 500; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person__name { grid-row: 3; grid-column: 1; padding: 2px 24px 22px; color: #fff; font-size: 22px; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person__name + .person__pos { grid-row: 2; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person--more .person__name { padding-bottom: 18px; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person__more { grid-row: 4; grid-column: 1; display: grid; grid-template-rows: 0fr; padding: 0 24px; opacity: 0; transition: grid-template-rows .3s ease, opacity .25s ease, padding .3s ease; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person__more > * { min-height: 0; overflow: hidden; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person__more .person__text, html[data-team="photo"] .person__more .person__contacts, html[data-team="photo"] .person__more .person__soc { margin: 0; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person:is(:hover, :focus-within) .person__more, html[data-team="photo"] .person.is-open .person__more { grid-template-rows: 1fr; opacity: 1; padding-bottom: 20px; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person__more-in { display: flex; flex-direction: column; gap: 10px; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person__text { color: rgba(255,255,255,.88); font-size: 14px; line-height: 1.5; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person__contacts { gap: 4px; font-size: 14.5px; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person__contacts a { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-weight: 600; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person__contacts a:hover { color: #fff; text-decoration: underline; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person__contacts .ui-ico { width: 16px; height: 16px; opacity: .8; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person::after { transition: background .3s ease; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person--more:is(:hover, :focus-within)::after, html[data-team="photo"] .person--more.is-open::after { background: linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.86) 55%); }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person--more { outline: none; cursor: default; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person--more:focus-visible { box-shadow: 0 0 0 3px var(--accent); }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person--more::before { content: ""; grid-row: 1; grid-column: 1; align-self: start; justify-self: end; z-index: 1; width: 32px; height: 32px; margin: 14px; border-radius: 50%; background: rgba(0,0,0,.35) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 15-6-6-6 6'/%3E%3C/svg%3E") center / 18px no-repeat; transition: transform .3s ease, opacity .3s ease; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person--more:is(:hover, :focus-within)::before, html[data-team="photo"] .person--more.is-open::before { transform: rotate(180deg); opacity: .7; }/*@/mod*/
.person__contacts .ui-ico { display: none; }
/*@mod design_pro*/html[data-team="photo"] .person__contacts .ui-ico { display: inline-flex; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .person__img--none { display: grid; font-size: 80px; color: rgba(255,255,255,.4); background: var(--accent-strong, var(--accent)); }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"] .team-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }/*@/mod*/
/*@mod design_pro*/html[data-team="round"] .person { align-items: center; text-align: center; padding: 28px 20px 24px; }/*@/mod*/
/*@mod design_pro*/html[data-team="round"] .person__img { width: 140px; height: 140px; border-radius: 50%; margin: 0 auto 16px; }/*@/mod*/
/*@mod design_pro*/html[data-team="round"] :is(.person__contacts, .person__soc) { align-items: center; justify-content: center; }/*@/mod*/
/*@mod design_pro*/html[data-team="list"] .team-grid { grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); }/*@/mod*/
/*@mod design_pro*/html[data-team="list"] .person { display: grid; grid-template-columns: 120px minmax(0, 1fr); column-gap: 20px; align-items: start; align-content: start; }/*@/mod*/
/*@mod design_pro*/html[data-team="list"] .person__img { grid-row: 1 / span 6; width: 120px; margin: 0; }/*@/mod*/
/*@mod design_pro*/html[data-team="list"] .person > :not(.person__img) { grid-column: 2; }/*@/mod*/
/*@mod design_pro*/@media (max-width: 720px) { html[data-team="list"] .team-grid { grid-template-columns: 1fr; } html[data-team="list"] .person { grid-template-columns: 88px minmax(0, 1fr); } html[data-team="list"] .person__img { width: 88px; } }/*@/mod*/
/*@mod design_pro*/html[data-partners="grid"] .partners-list { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }/*@/mod*/
/*@mod design_pro*/html[data-partners="grid"] .partner { flex-direction: column; align-items: stretch; text-align: center; }/*@/mod*/
/*@mod design_pro*/html[data-partners="grid"] .partner__logo { width: 100%; height: 110px; }/*@/mod*/
/*@mod design_pro*/html[data-partners="grid"] .partner__links { justify-content: center; }/*@/mod*/
a.logos__item { text-decoration: none; }
/*@mod design_pro*/html[data-projects="overlay"] .post-card--project { position: relative; display: grid; overflow: hidden; isolation: isolate; color: #fff; }/*@/mod*/
/*@mod design_pro*/html[data-projects="overlay"] .post-card--project .post-card__img { grid-area: 1 / 1; aspect-ratio: 4 / 3; height: 100%; z-index: -2; }/*@/mod*/
/*@mod design_pro*/html[data-projects="overlay"] .post-card--project::after { content: ""; grid-area: 1 / 1; z-index: -1; background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,.75)); pointer-events: none; }/*@/mod*/
/*@mod design_pro*/html[data-projects="overlay"] .post-card--project .post-card__body { grid-area: 1 / 1; align-self: end; background: none; padding: 22px; }/*@/mod*/
/*@mod design_pro*/html[data-projects="overlay"] .post-card--project :is(.post-card__title a, .post-card__title, .post-card__more) { color: #fff; }/*@/mod*/
/*@mod design_pro*/html[data-projects="overlay"] .post-card--project :is(.post-card__meta, .post-card__text) { color: rgba(255,255,255,.78); }/*@/mod*/
/*@mod design_pro*/html[data-projects="overlay"] .post-card--project .post-card__text { display: none; }/*@/mod*/
/*@mod design_pro*/html[data-projects="wide"] .blog-grid:has(> .post-card--project) { grid-template-columns: 1fr; }/*@/mod*/
/*@mod design_pro*/html[data-projects="wide"] .post-card--project { display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 1fr); }/*@/mod*/
/*@mod design_pro*/html[data-projects="wide"] .post-card--project .post-card__img { aspect-ratio: 16 / 10; height: auto; min-height: 0; align-self: stretch; }/*@/mod*/
/*@mod design_pro*/html[data-projects="wide"] .post-card--project .post-card__img img { width: 100%; height: 100%; object-fit: cover; }/*@/mod*/
/*@mod design_pro*/html[data-projects="wide"] .post-card--project .post-card__body { align-self: center; padding: 28px 32px; }/*@/mod*/
/*@mod design_pro*/@media (max-width: 720px) { html[data-projects="wide"] .post-card--project { grid-template-columns: 1fr; } }/*@/mod*/
/*@mod design_pro*/html[data-news="list"] .blog-grid:has(> .post-card--news) { grid-template-columns: 1fr; gap: 14px; }/*@/mod*/
/*@mod design_pro*/html[data-news="list"] .post-card--news { display: grid; grid-template-columns: 220px minmax(0, 1fr); }/*@/mod*/
/*@mod design_pro*/html[data-news="list"] .post-card--news .post-card__img { aspect-ratio: 4 / 3; height: 100%; }/*@/mod*/
/*@mod design_pro*/html[data-news="list"] .post-card--news .post-card__body { align-self: center; }/*@/mod*/
/*@mod design_pro*/@media (max-width: 720px) { html[data-news="list"] .post-card--news { grid-template-columns: 110px minmax(0, 1fr); } html[data-news="list"] .post-card--news .post-card__text { display: none; } }/*@/mod*/
/*@mod design_pro*/html[data-news="compact"] .blog-grid:has(> .post-card--news) { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--line); }/*@/mod*/
/*@mod design_pro*/html[data-news="compact"] .post-card--news { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; box-shadow: none; }/*@/mod*/
/*@mod design_pro*/html[data-news="compact"] .post-card--news .post-card__img { display: none; }/*@/mod*/
/*@mod design_pro*/html[data-news="compact"] .post-card--news .post-card__body { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; align-items: baseline; column-gap: 20px; padding: 18px 0; }/*@/mod*/
/*@mod design_pro*/html[data-news="compact"] .post-card--news .post-card__text { grid-column: 2; }/*@/mod*/
/*@mod design_pro*/html[data-news="compact"] .post-card--news .post-card__more { grid-column: 3; grid-row: 1; }/*@/mod*/
/*@mod design_pro*/@media (max-width: 720px) { html[data-news="compact"] .post-card--news .post-card__body { grid-template-columns: 1fr; } html[data-news="compact"] .post-card--news :is(.post-card__text, .post-card__more) { grid-column: 1; grid-row: auto; } }/*@/mod*/
/*@mod design_pro*/html[data-certs="docs"] .certs { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }/*@/mod*/
/*@mod design_pro*/html[data-certs="docs"] .cert { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-content: center; column-gap: 16px; row-gap: 2px; padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--card); }/*@/mod*/
/*@mod design_pro*/html[data-certs="docs"] .cert__img { grid-row: 1 / span 3; width: 64px; }/*@/mod*/
/*@mod design_pro*/html[data-certs="docs"] .cert > :not(.cert__img) { grid-column: 2; }/*@/mod*/
/*@mod design_pro*/html[data-certs="docs"] .cert b { margin: 0; }/*@/mod*/
@media (min-width: 961px) { .nav:has(> .nav__more:not([hidden])) { justify-content: flex-start; gap: 26px; } }

.pc-zones { touch-action: pan-y; }
@media (max-width: 720px) {
  html[data-density] .pgrid, .pgrid { gap: 8px; }
  .pcard2__img { margin: 6px 6px 0; }
  html[data-density] .pcard2__body, .pcard2__body { padding: 10px 10px 12px; }
  .pcard2__price .price { font-size: 17px; }
  .pcard2__title { font-size: 14.5px; line-height: 1.3; }
  .pcard2__meta { gap: 2px 8px; font-size: 12.5px; }
  .pcard2__buy { padding-top: 10px; }
  .pcard2 .buy { gap: 6px; }
  .pcard2 .buy .btn, .pcard2 .pcard2__buy .prod-req { min-height: 38px; padding: 0 8px; }
  .pcard2 .qty { height: 36px; }
  .pc-dots { left: 6px; right: 6px; bottom: 6px; }
  html .m-cols1 .pgrid:not(.is-list):not(.is-compact) { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .m-cols1 .pgrid:not(.is-list):not(.is-compact) .pcard2__img { margin: 10px 10px 0; }
  html .m-cols1 .pgrid:not(.is-list):not(.is-compact) .pcard2__body { padding: 12px 14px 14px; }
  .m-cols1 .pgrid:not(.is-list):not(.is-compact) .pcard2__title { font-size: 16px; }
}
@media (max-width: 359px) { .pgrid:not(.is-list):not(.is-compact) { grid-template-columns: minmax(0, 1fr); } }
/*@mod design_pro*/html[data-team="photo"]:not([data-team-soc]) .person__soc .soc, html[data-team-soc="white"] .person__soc .soc { background: #fff; border-color: #fff; color: #16181d; }/*@/mod*/
/*@mod design_pro*/html[data-team-soc="dark"] .person__soc .soc { background: #16181d; border-color: #16181d; color: #fff; }/*@/mod*/
/*@mod design_pro*/html[data-team="photo"]:not([data-team-soc]) .person__soc .soc:hover, html[data-team-soc="white"] .person__soc .soc:hover { background: rgba(255,255,255,.85); }/*@/mod*/
/*@mod design_pro*/html[data-team-soc="dark"] .person__soc .soc:hover { background: #000; }/*@/mod*/
.topbar__soc { display: inline-flex; align-items: center; gap: 6px; }
.topbar__soc .soc { width: 26px; height: 26px; }
.topbar__soc .soc .ui-ico { width: 14px; height: 14px; }
.header__soc { display: flex; align-items: center; gap: 6px; }
.header__soc .soc { width: 32px; height: 32px; }
.header__soc .soc .ui-ico { width: 16px; height: 16px; }
@media (max-width: 960px) { .header__soc { display: none; } }
.topbar__soc { padding-right: 12px; margin-right: 2px; border-right: 1px solid var(--line); }
@media (max-width: 720px) {
  .hero__btns .btn { flex: 1 1 auto; white-space: nowrap; }
  .sb-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .sb-stats__item { padding: 16px; }
  .sb-stats__item b { font-size: 30px; }
  .sb-stats__item span { font-size: 14px; line-height: 1.35; }
  .sb-gallery, .sb-gallery--page { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  html:not([data-team="photo"]):not([data-team="list"]) .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  html:not([data-team="photo"]):not([data-team="list"]) .person { padding: 10px 10px 14px; }
  html:not([data-team="photo"]):not([data-team="list"]) .person__name { font-size: 15.5px; }
  html:not([data-team="photo"]):not([data-team="list"]) .person__pos { font-size: 13.5px; }
  html:not([data-team="photo"]):not([data-team="list"]) .person__text { font-size: 13.5px; }
  html:not([data-team="photo"]):not([data-team="list"]) .person__contacts { font-size: 13.5px; word-break: break-word; }
  /*@mod design_pro*/html[data-team="round"] .person__img { width: 96px; height: 96px; }/*@/mod*/
  /*@mod design_pro*/html[data-team="photo"] .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }/*@/mod*/
  /*@mod design_pro*/html[data-team="photo"] .person__img { min-height: 240px; }/*@/mod*/
  /*@mod design_pro*/html[data-team="photo"] .person__name { padding: 2px 14px 16px; font-size: 17px; }/*@/mod*/
  /*@mod design_pro*/html[data-team="photo"] .person__pos { padding: 0 14px; font-size: 13px; }/*@/mod*/
  /*@mod design_pro*/html[data-team="photo"] .person__soc { padding: 0 14px 14px; }/*@/mod*/
  .c-main__phone { font-size: 28px; white-space: nowrap; }
  .c-main__btns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c-main__btns .btn { padding: 0 12px; }
  .c-main__btns .btn:first-child:nth-last-child(odd) { grid-column: 1 / -1; }
  .cta__msg { display: grid; grid-template-columns: minmax(0, 1fr); }
  .cta__msg .btn-msg { justify-content: center; }
}
@media (max-width: 359px) { .c-main__phone { font-size: 24px; } html:not([data-team="photo"]):not([data-team="list"]) .team-grid { grid-template-columns: minmax(0, 1fr); } }
.pcard2 .badges-p { right: 44px; }
@media (max-width: 720px) { .pcard2 .badges-p { right: 38px; gap: 3px; } .pcard2 .badge-p { font-size: 10px; padding: 3px 6px; letter-spacing: .02em; } }
.post-card__cats { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; position: relative; z-index: 2; }
.post-card__cat { display: inline-block; padding: 3px 9px; border-radius: 99px; background: var(--accent-soft); color: var(--accent); font-size: 12.5px; font-weight: 600; line-height: 1.3; }
.blog-grid--list { grid-template-columns: minmax(0, 1fr); }
.post-card--row { flex-direction: row; }
.post-card--row .post-card__img { flex: 0 0 34%; aspect-ratio: 16 / 10; }
.post-card--row .post-card__body { justify-content: center; padding: 22px 26px; }
.post-card--overlay { min-height: 300px; border: 0; color: #fff; isolation: isolate; background: #1c1f26; }
.post-card--overlay .post-card__img { position: absolute; inset: 0; z-index: -2; aspect-ratio: auto; }
.post-card--overlay::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,.05) 20%, rgba(0,0,0,.78) 100%); }
.post-card--overlay .post-card__body { justify-content: flex-end; padding: 22px 24px; }
.post-card--overlay .post-card__title { color: #fff; font-size: 20px; margin: 0; }
.post-card--overlay .post-card__title a { color: inherit; }
.post-card--overlay .post-card__meta { margin-top: 10px; color: rgba(255,255,255,.8); }
.post-card--overlay .post-card__cat { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.7); border-radius: 4px; font-weight: 500; }
.post-card--overlay:hover .post-card__img img { transform: scale(1.04); }
.blog-grid--magazine { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: minmax(280px, auto); }
.post-card--big { grid-column: span 2; grid-row: span 2; min-height: 460px; }
.post-card--big .post-card__title { font-size: clamp(24px, 2.6vw, 34px); line-height: 1.2; }
.post-card--big .post-card__body { padding: 32px 34px; }
.page--blog .blog-grid { margin-top: 0; }
.page-main > .blog-grid:first-child { margin-top: 0; }
.blog-intro p { margin: 0 0 8px; }
.bmenu--top { margin-top: 22px; }
.bmenu--top .bmenu__list { display: flex; flex-wrap: wrap; gap: 8px; }
.bmenu--top .bmenu__a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 99px; background: var(--card); color: var(--ink); text-decoration: none; font-weight: 500; font-size: 15px; transition: border-color .15s, background-color .15s; }
.bmenu--top .bmenu__a:hover { border-color: var(--accent); }
.bmenu--top .bmenu__a.is-on { background: var(--accent); border-color: var(--accent); color: var(--on-accent, #fff); }
.bmenu__a small { min-width: 22px; padding: 1px 6px; border-radius: 99px; background: var(--section-alt); color: var(--muted); font-size: 12px; text-align: center; }
.bmenu__a.is-on small { background: rgba(255,255,255,.2); color: inherit; }
.bmenu--aside { margin-bottom: 18px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.bmenu__title { margin: 0 0 10px; font-weight: 800; font-size: 17px; font-family: var(--font-head); }
.bmenu--aside .bmenu__list { display: flex; flex-direction: column; gap: 2px; }
.bmenu--aside .bmenu__a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 12px; border-radius: var(--radius-sm); color: var(--ink); text-decoration: none; font-size: 15px; }
.bmenu--aside .bmenu__a:hover { background: var(--section-alt); }
.bmenu--aside .bmenu__a.is-on { background: var(--accent-soft); color: var(--accent); font-weight: 700; }
.bmenu--aside .bmenu__a--sub { padding-left: 26px; font-size: 14.5px; }
.post__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.post__cat { display: inline-block; padding: 3px 10px; border-radius: 99px; background: var(--accent-soft); color: var(--accent); font-size: 13.5px; font-weight: 600; text-decoration: none; }
.post__cat:hover { background: var(--accent); color: var(--on-accent, #fff); }
.post__foot { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--line); }
.share { position: relative; }
.share__btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 1px solid var(--line); border-radius: 99px; background: var(--card); color: var(--ink); font: inherit; font-weight: 600; font-size: 15px; cursor: pointer; transition: border-color .15s, background-color .15s; }
.share__btn:hover, .share__btn[aria-expanded="true"] { border-color: var(--accent); }
.share__btn .ui-ico { width: 18px; height: 18px; }
.share__menu { position: absolute; right: 0; bottom: calc(100% + 8px); z-index: 30; min-width: 230px; padding: 8px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); box-shadow: 0 18px 44px rgba(0,0,0,.16); }
.share__menu[hidden] { display: none; }
.share__item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; border: 0; border-radius: var(--radius-sm); background: none; color: var(--ink); font: inherit; font-size: 15px; text-align: left; text-decoration: none; cursor: pointer; }
.share__item:hover { background: var(--section-alt); }
.share__item .ui-ico { width: 18px; height: 18px; color: var(--muted); }
.share__item.is-done { color: #15803d; background: rgba(22,163,74,.1); }
.share__item.is-done .ui-ico { color: #16a34a; }
.share__item.is-done .ui-ico svg { display: none; }
.share__item.is-done .ui-ico::before { content: ""; display: block; width: 100%; height: 100%; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat; }
.post-rel { margin-top: 44px; }
.post-rel__title { margin: 0 0 18px; font-size: clamp(22px, 2.4vw, 28px); font-weight: 800; font-family: var(--font-head); }
.post-rel .prow__head { margin-bottom: 18px; align-items: center; }
.post-rel .prow__head .post-rel__title { margin: 0; }
.post-rel__track { grid-auto-columns: calc((100% - 40px) / 3); padding: 2px 2px 6px; margin: -2px -2px 0; }
.post-rel__track > .post-card { height: 100%; }
@media (max-width: 1100px) { .post-rel__track { grid-auto-columns: calc((100% - 40px) / 3); } }
@media (max-width: 760px) { .post-rel__track { grid-auto-columns: calc((100% - 12px) / 2); } }
@media (max-width: 480px) { .post-rel__track { grid-auto-columns: 84%; } }
.blog-grid--rel { margin-top: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.blog-grid--rel .post-card__body { padding: 16px 18px 18px; }
.blog-grid--rel .post-card__title { font-size: 16.5px; }
.blog-grid--rel .post-card__text { display: none; }

@media (max-width: 1100px) { .blog-grid--rel { grid-template-columns: repeat(2, minmax(0, 1fr)); } .blog-grid--magazine { grid-template-columns: repeat(2, minmax(0, 1fr)); } .post-card--big { grid-column: 1 / -1; grid-row: auto; min-height: 380px; } }
@media (max-width: 720px) {
  .blog-grid--magazine, .blog-grid--rel, .post-grid:not(.post-grid--full) .blog-grid--rel { grid-template-columns: minmax(0, 1fr); }
  .post-card--big { min-height: 320px; }
  .post-card--big .post-card__body { padding: 22px; }
  .post-card--row { flex-direction: column; }
  .post-card--row .post-card__img { flex: none; }
  .bmenu--top .bmenu__list { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px; padding: 0 16px 4px; scrollbar-width: none; }
  .bmenu--top .bmenu__a { flex: none; }
  .post__foot { justify-content: flex-start; }
  .share__menu { right: auto; left: 0; }
}
.post__date { white-space: nowrap; }
/*@mod design_pro*/@media (max-width: 720px) {
  html[data-team="photo"] .person__more { padding: 0 14px; }
  html[data-team="photo"] .person:is(:hover, :focus-within) .person__more, html[data-team="photo"] .person.is-open .person__more { padding-bottom: 14px; }
  html[data-team="photo"] .person--more .person__name { padding-bottom: 12px; }
  html[data-team="photo"] .person__more-in { gap: 8px; }
  html[data-team="photo"] .person__text { font-size: 12.5px; line-height: 1.45; }
  html[data-team="photo"] .person__contacts { font-size: 12px; }
  html[data-team="photo"] .person__contacts a[href^="tel:"] { white-space: nowrap; }
  html[data-team="photo"] .person__contacts a { gap: 6px; word-break: break-word; }
  html[data-team="photo"] .person__contacts .ui-ico { width: 14px; height: 14px; flex: none; }
  html[data-team="photo"] .person--more::before { width: 28px; height: 28px; margin: 8px; background-size: 16px; }
}/*@/mod*/
/*@mod design_pro*/.ft-min { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 36px; padding: 32px 0 26px; }/*@/mod*/
/*@mod design_pro*/.ft-min .ft-logo img { max-height: 36px; }/*@/mod*/
.ft-min__nav { display: flex; flex-wrap: wrap; gap: 8px 22px; flex: 1 1 320px; }
.ft-min__contacts { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; margin-left: auto; }
.ft-min__contacts .ft-social { margin: 0; }
/*@mod design_pro*/.ft--minimal { padding-top: 0; }/*@/mod*/
/*@mod design_pro*/.ft--minimal .ft-cta { margin-top: 32px; }/*@/mod*/
/*@mod design_pro*/.ft--minimal .ft-bottom { padding-top: 18px; }/*@/mod*/
@media (max-width: 720px) { /*@mod design_pro*/.ft-min { flex-direction: column; align-items: flex-start; }/*@/mod*/ .ft-min__nav { flex: none; } .ft-min__contacts { margin-left: 0; } }
/*@mod design_pro*/.ft-cta--big { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); align-items: center; gap: 28px 48px; padding: 40px 44px; }/*@/mod*/
/*@mod design_pro*/.ft-cta--big .ft-cta__title { font-size: clamp(24px, 2.6vw, 34px); max-width: 18ch; }/*@/mod*/
/*@mod design_pro*/.ft-cta--big .ft-cta__sub { margin-top: 10px; font-size: 16px; color: rgba(255,255,255,.82); }/*@/mod*/
/*@mod design_pro*/.ft-cta--big .ft-cta__btns { margin-top: 20px; }/*@/mod*/
.ft-cta__form .lead-form__row { grid-template-columns: 1fr 1fr; }
.ft-cta__form .field span { color: rgba(255,255,255,.85); }
.ft-cta__form .field input { background: #fff; color: #1d1f22; border-color: transparent; }
.ft-cta__form .btn { background: #fff; color: #1d1f22; border-color: #fff; }
.ft-cta__form .btn:hover { background: rgba(255,255,255,.88); }
.ft-cta__form .form-note { color: rgba(255,255,255,.7); }
.ft-cta__form .form-note a { color: #fff; text-decoration: underline; }
.ft-cta__form .form-status { color: #fff; }
/*@mod design_pro*/@media (max-width: 860px) { .ft-cta--big { grid-template-columns: 1fr; padding: 28px 22px; } }/*@/mod*/
/*@mod design_pro*/.ft--gray { background: #eceef1; border-top-color: transparent; }/*@/mod*/
/*@mod design_pro*/html[data-theme="dark"] .ft--gray { background: #23262b; }/*@/mod*/
/*@mod design_pro*/.ft--accent { background: var(--accent-strong, var(--accent)); color: rgba(255,255,255,.82); }/*@/mod*/
/*@mod design_pro*/.ft--accent::before { background: repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 2px, transparent 2px 7px), radial-gradient(80% 60% at 100% 0%, rgba(255,255,255,.14), transparent 70%); }/*@/mod*/
/*@mod design_pro*/.ft--accent .ft-cta { background: rgba(0,0,0,.18); border-color: rgba(255,255,255,.14); }/*@/mod*/
/*@mod design_pro*/.ft--accent :is(.ft-col__title, .ft-contacts__phone) { color: #fff; }/*@/mod*/
/*@mod design_pro*/.ft--accent .ft-contacts__line .ui-ico { color: rgba(255,255,255,.7); }/*@/mod*/
/*@mod design_pro*/.ft--accent :is(.ft-bottom, .ft-legal) { border-color: rgba(255,255,255,.2); color: rgba(255,255,255,.7); }/*@/mod*/
/*@mod design_pro*/html[data-soc="theme"] .ft--accent :is(.soc, .msg) { background: rgba(255,255,255,.18); }/*@/mod*/
/*@mod design_pro*/html[data-soc="outline"] .ft--accent :is(.soc, .msg) { border-color: rgba(255,255,255,.6); color: #fff; }/*@/mod*/
html { --ink0: var(--ink); --ink-soft0: var(--ink-soft); --muted0: var(--muted); --line0: var(--line); --surface0: var(--surface); --card0: var(--card); --accent0: var(--accent); --head0: var(--head); }
/*@mod design_pro*/html[data-htone="dark"] { --hbg: #15171b; }/*@/mod*/
/*@mod design_pro*/html[data-htone="accent"] { --hbg: var(--accent-base, var(--accent)); }/*@/mod*/
body.has-htrans .header:not(.is-scrolled) { --ink: #fff; --ink-soft: rgba(255,255,255,.85); --muted: rgba(255,255,255,.64); --line: rgba(255,255,255,.16); --surface: rgba(255,255,255,.12); --accent: #fff; --head: #fff; color: var(--ink); }/*@mod design_pro*/html[data-htone] .header, html[data-htone] .topbar--x { --ink: #fff; --ink-soft: rgba(255,255,255,.85); --muted: rgba(255,255,255,.64); --line: rgba(255,255,255,.16); --surface: rgba(255,255,255,.12); --accent: #fff; --head: #fff; color: var(--ink); }/*@/mod*/
/*@mod design_pro*/html[data-htone] .header { background: var(--hbg); border-bottom-color: rgba(255,255,255,.08); }/*@/mod*/
/*@mod design_pro*/html[data-htone] .topbar--x { background: color-mix(in srgb, var(--hbg) 82%, #000); border-bottom-color: rgba(255,255,255,.08); }/*@/mod*/
body.has-htrans .header :is(.nav__dd-menu, .nav__more-list, .hsearch, .tlinks__drop, .hcard) { --ink: var(--ink0); --ink-soft: var(--ink-soft0); --muted: var(--muted0); --line: var(--line0); --surface: var(--surface0); --accent: var(--accent0); --head: var(--head0); color: var(--ink); }/*@mod design_pro*/html[data-htone] :is(.header, .topbar--x) :is(.nav__dd-menu, .nav__more-list, .hsearch, .tlinks__drop, .hcard) { --ink: var(--ink0); --ink-soft: var(--ink-soft0); --muted: var(--muted0); --line: var(--line0); --surface: var(--surface0); --accent: var(--accent0); --head: var(--head0); color: var(--ink); }/*@/mod*/
body.has-htrans .header:not(.is-scrolled) .logo__img--light { display: none; }/*@mod design_pro*/html[data-htone] .header .logo__img--light { display: none; }/*@/mod*/
body.has-htrans .header:not(.is-scrolled) .logo__img--dark { display: block; }/*@mod design_pro*/html[data-htone] .header .logo__img--dark { display: block; }/*@/mod*/
body.has-htrans .header:not(.is-scrolled) .logo__img--solo { filter: brightness(0) invert(1); }/*@mod design_pro*/html[data-htone] .header .logo__img--solo { filter: brightness(0) invert(1); }/*@/mod*/
body.has-htrans .header:not(.is-scrolled) .logo__mark { color: #fff; }/*@mod design_pro*/html[data-htone] .header .logo__mark { color: #fff; }/*@/mod*/
/*@mod design_pro*/html[data-htone="accent"] .header .btn--dark { background: #fff; color: var(--accent0); border-color: #fff; }/*@/mod*/
@media (max-width: 960px) {
  body.has-htrans .header .nav { --ink: var(--ink0); --ink-soft: var(--ink-soft0); --muted: var(--muted0); --line: var(--line0); --surface: var(--surface0); --accent: var(--accent0); --head: var(--head0); color: var(--ink); }/*@mod design_pro*/html[data-htone] .header .nav { --ink: var(--ink0); --ink-soft: var(--ink-soft0); --muted: var(--muted0); --line: var(--line0); --surface: var(--surface0); --accent: var(--accent0); --head: var(--head0); color: var(--ink); }/*@/mod*/
}
/*@mod design_pro*/@media (min-width: 961px) {
  html[data-hheight="compact"] .header .header__in { min-height: 64px; }
  html[data-hheight="compact"] .header.is-scrolled .header__in { min-height: 56px; }
  html[data-hheight="compact"] .topbar--x .topbar__in { min-height: 40px; }
  html[data-hheight="tall"] .header .header__in { min-height: 100px; }
  html[data-hheight="tall"] .header.is-scrolled .header__in { min-height: 76px; }
  html[data-hheight="tall"] .header .logo img { max-height: 54px; }
  html[data-hheight="tall"] .topbar--x .topbar__in { min-height: 50px; }
}/*@/mod*/
body.has-htrans .header:not(.is-scrolled) { background: transparent; border-bottom-color: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
body.has-htrans .header { transition: background-color .25s, border-color .25s, box-shadow .25s; }
body.has-htrans main > .hero:first-child { margin-top: calc(-1 * var(--hh, 80px)); padding-top: var(--hh, 80px); }
body.has-htrans.is-navopen .header { background: var(--hbg, var(--header-bg)); }
body.has-htrans .topbar { z-index: 51; background: transparent; border-bottom: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.8); --ink: #fff; --ink-soft: rgba(255,255,255,.85); --muted: rgba(255,255,255,.64); --line: rgba(255,255,255,.16); --surface: rgba(255,255,255,.12); --card: rgba(255,255,255,.1); --accent: #fff; --head: #fff; }
body.has-htrans .topbar :is(.hcard, .tlinks__drop, .tlinks__more-list) { --ink: var(--ink0); --ink-soft: var(--ink-soft0); --muted: var(--muted0); --line: var(--line0); --surface: var(--surface0); --card: var(--card0); --accent: var(--accent0); --head: var(--head0); color: var(--ink); }
body.has-htrans .topbar .theme-sw, body.has-htrans .topbar .lang-sw { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.18); }
body.has-htrans .topbar .theme-sw button, body.has-htrans .topbar .lang-sw a { color: rgba(255,255,255,.78); }
body.has-htrans .topbar .theme-sw button[aria-pressed="true"], body.has-htrans .topbar .lang-sw a.is-on { background: #fff; color: #1d1f22; }
/*@mod design_pro*/html[data-htrans-ink="dark"] body.has-htrans .header:not(.is-scrolled), html[data-htrans-ink="dark"] body.has-htrans .topbar { --ink: #1d1f22; --ink-soft: rgba(29,31,34,.82); --muted: rgba(29,31,34,.6); --line: rgba(29,31,34,.14); --surface: rgba(29,31,34,.07); --accent: #1d1f22; --head: #1d1f22; color: var(--ink); }/*@/mod*/
/*@mod design_pro*/html[data-htrans-ink="dark"] body.has-htrans .topbar { color: rgba(29,31,34,.78); border-bottom-color: rgba(29,31,34,.14); }/*@/mod*/
/*@mod design_pro*/html[data-htrans-ink="dark"] body.has-htrans .header:not(.is-scrolled) .logo__img--light { display: block; }/*@/mod*/
/*@mod design_pro*/html[data-htrans-ink="dark"] body.has-htrans .header:not(.is-scrolled) .logo__img--dark { display: none; }/*@/mod*/
/*@mod design_pro*/html[data-htrans-ink="dark"] body.has-htrans .header:not(.is-scrolled) .logo__img--solo { filter: none; }/*@/mod*/
/*@mod design_pro*/html[data-htrans-ink="dark"] body.has-htrans .header:not(.is-scrolled) .logo__mark { color: var(--accent0); }/*@/mod*/
/*@mod design_pro*/html[data-htrans-ink="dark"] body.has-htrans .header:not(.is-scrolled) .header__phone-ico { background: rgba(29,31,34,.08); color: #1d1f22; }/*@/mod*/
/*@mod design_pro*/html[data-htrans-ink="dark"] body.has-htrans .header:not(.is-scrolled) :is(.header__search-btn:hover, .header__phone:hover .header__phone-ico), html[data-htrans-ink="dark"] body.has-htrans .header:not(.is-scrolled) .hcount__n { background: #1d1f22; color: #fff; }/*@/mod*/
/*@mod design_pro*/html[data-htrans-ink="dark"] body.has-htrans .topbar :is(.theme-sw, .lang-sw) { background: rgba(255,255,255,.5); border-color: rgba(29,31,34,.14); }/*@/mod*/
/*@mod design_pro*/html[data-htrans-ink="dark"] body.has-htrans .topbar :is(.theme-sw button, .lang-sw a) { color: rgba(29,31,34,.75); }/*@/mod*/
/*@mod design_pro*/html[data-htrans-ink="dark"] body.has-htrans .topbar :is(.theme-sw button[aria-pressed="true"], .lang-sw a.is-on) { background: #1d1f22; color: #fff; }/*@/mod*/
body.has-htrans .header:not(.is-scrolled) .header__phone-ico { background: rgba(255,255,255,.14); color: #fff; }/*@mod design_pro*/html[data-htone] .header .header__phone-ico { background: rgba(255,255,255,.14); color: #fff; }/*@/mod*/
body.has-htrans .header:not(.is-scrolled) .header__phone:hover .header__phone-ico { background: #fff; color: #1d1f22; }/*@mod design_pro*/html[data-htone] .header .header__phone:hover .header__phone-ico { background: #fff; color: #1d1f22; }/*@/mod*/
/*@mod design_pro*/html[data-htone] .topbar--x .theme-sw { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.16); }/*@/mod*/
/*@mod design_pro*/html[data-htone] .topbar--x .theme-sw button { color: rgba(255,255,255,.75); }/*@/mod*/
/*@mod design_pro*/html[data-htone] .topbar--x .theme-sw button[aria-pressed="true"] { background: #fff; color: #1d1f22; }/*@/mod*/
body.has-htrans .header:not(.is-scrolled) .header__search-btn:hover { background: #fff; color: #1d1f22; }/*@mod design_pro*/html[data-htone] .header .header__search-btn:hover { background: #fff; color: #1d1f22; }/*@/mod*/
body.has-htrans .header:not(.is-scrolled) .hcount__n { background: #fff; color: #1d1f22; box-shadow: 0 1px 4px rgba(0,0,0,.25); }/*@mod design_pro*/html[data-htone] .header .hcount__n { background: #fff; color: #1d1f22; box-shadow: 0 1px 4px rgba(0,0,0,.25); }/*@/mod*/
/*@mod design_pro*/html[data-soc="theme"][data-htone] :is(.header, .topbar--x) :is(.soc, .msg), html[data-soc="theme"] body.has-htrans :is(.header:not(.is-scrolled), .topbar) :is(.soc, .msg) { background: rgba(255,255,255,.18); border-color: transparent; color: #fff; }/*@/mod*/
/*@mod design_pro*/html[data-soc="theme"][data-htone] :is(.header, .topbar--x) :is(.soc, .msg):hover, html[data-soc="theme"] body.has-htrans :is(.header:not(.is-scrolled), .topbar) :is(.soc, .msg):hover { background: rgba(255,255,255,.3); }/*@/mod*/
/*@mod design_pro*/html[data-soc="theme"][data-htrans-ink="dark"] body.has-htrans :is(.header:not(.is-scrolled), .topbar) :is(.soc, .msg) { background: #1d1f22; color: #fff; }/*@/mod*/
/*@mod design_pro*/html[data-soc="outline"][data-htone] :is(.header, .topbar--x) :is(.soc, .msg):hover, html[data-soc="outline"] body.has-htrans :is(.header:not(.is-scrolled), .topbar) :is(.soc, .msg):hover { background: #fff; color: #1d1f22; }/*@/mod*/
/*@mod design_pro*/html[data-soc="outline"][data-htrans-ink="dark"] body.has-htrans :is(.header:not(.is-scrolled), .topbar) :is(.soc, .msg):hover { background: #1d1f22; color: #fff; }/*@/mod*/
/*@mod design_pro*/html[data-soc="theme"] body.has-htrans :is(.header, .topbar) :is(.hcard, .nav__dd-menu, .tlinks__drop) :is(.soc, .msg), html[data-soc="theme"][data-htone] :is(.header, .topbar--x) :is(.hcard, .nav__dd-menu, .tlinks__drop) :is(.soc, .msg) { background: var(--accent0, var(--accent)); border-color: transparent; color: var(--on-accent, #fff); }/*@/mod*/
/*@mod design_pro*/html[data-soc="outline"] body.has-htrans :is(.header, .topbar) .hcard :is(.soc, .msg), html[data-soc="outline"][data-htone] :is(.header, .topbar--x) .hcard :is(.soc, .msg) { background: transparent; border-color: var(--accent0, var(--accent)); color: var(--accent0, var(--accent)); }/*@/mod*/
.rev-head { align-items: center; }
.rev-head__end { display: flex; align-items: center; gap: 18px; margin-left: auto; }
.rev-head .prow__nav { display: flex; gap: 8px; }
.rev-head .prow__nav[hidden] { display: none; }
/*@mod design_pro*/html:is([data-reviews="slider"], [data-reviews="quote"]) .rev-track { grid-template-columns: none; grid-auto-flow: column; gap: 20px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding-bottom: 4px; }/*@/mod*/
/*@mod design_pro*/html:is([data-reviews="slider"], [data-reviews="quote"]) .rev-track::-webkit-scrollbar { display: none; }/*@/mod*/
/*@mod design_pro*/html:is([data-reviews="slider"], [data-reviews="quote"]) .rev-track > * { scroll-snap-align: start; min-width: 0; }/*@/mod*/
/*@mod design_pro*/html[data-reviews="slider"] .rev-track { grid-auto-columns: calc((100% - 40px) / 3); }/*@/mod*/
/*@mod design_pro*/@media (max-width: 960px) { html[data-reviews="slider"] .rev-track { grid-auto-columns: calc((100% - 20px) / 2); } }/*@/mod*/
/*@mod design_pro*/@media (max-width: 600px) { html[data-reviews="slider"] .rev-track { grid-auto-columns: 86%; gap: 12px; } }/*@/mod*/
/*@mod design_pro*/html[data-reviews="quote"] .rev-track { grid-auto-columns: 100%; }/*@/mod*/
/*@mod design_pro*/html[data-reviews="quote"] .rev-track .review { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 70px clamp(20px, 7vw, 120px) 40px; border-radius: calc(var(--radius) + 6px); background: var(--card); }/*@/mod*/
/*@mod design_pro*/html[data-reviews="quote"] .rev-track .review::before { content: "\201C"; position: absolute; top: 6px; left: 50%; transform: translateX(-50%); font: 800 96px/1 Georgia, "Times New Roman", serif; color: var(--accent); opacity: .22; }/*@/mod*/
/*@mod design_pro*/html[data-reviews="quote"] .rev-track .review__head { order: 2; display: flex; flex-direction: column; align-items: center; gap: 6px; margin: 22px 0 0; }/*@/mod*/
/*@mod design_pro*/html[data-reviews="quote"] .rev-track .review__head > div { text-align: center; }/*@/mod*/
/*@mod design_pro*/html[data-reviews="quote"] .rev-track .review__text { order: 1; max-width: 760px; font-size: clamp(17px, 1.6vw, 21px); line-height: 1.6; color: var(--ink); }/*@/mod*/
/*@mod design_pro*/html[data-reviews="quote"] .rev-track .review__photos { order: 3; justify-content: center; }/*@/mod*/
/*@mod design_pro*/html[data-reviews="quote"] .rev-track .review__reply { order: 4; text-align: left; max-width: 760px; }/*@/mod*/
@media (max-width: 600px) { .rev-head__end { width: 100%; justify-content: space-between; margin-left: 0; } /*@mod design_pro*/html[data-reviews="quote"] .rev-track .review { padding: 48px 18px 28px; }/*@/mod*/ }
/*@mod design_pro*/html[data-adv="numbers"] .sb-adv { counter-reset: advn; }/*@/mod*/
/*@mod design_pro*/html[data-adv="numbers"] .sb-adv__item { position: relative; counter-increment: advn; padding-top: 22px; }/*@/mod*/
/*@mod design_pro*/html[data-adv="numbers"] .sb-adv__item > :is(.rt-ico, img, svg, .ico-img):first-child { display: none; }/*@/mod*/
/*@mod design_pro*/html[data-adv="numbers"] .sb-adv__item::before { content: counter(advn, decimal-leading-zero); display: block; margin-bottom: 12px; font: 800 clamp(30px, 3vw, 40px)/1 var(--font-head); color: var(--accent); letter-spacing: -.02em; }/*@/mod*/
/*@mod design_pro*/html[data-adv="lines"] .sb-adv { gap: 0; }/*@/mod*/
/*@mod design_pro*/html[data-adv="lines"] .sb-adv__item { background: none; border: 0; border-radius: 0; border-left: 1px solid var(--line); padding: 6px 28px; }/*@/mod*/
/*@mod design_pro*/html[data-adv="lines"] .sb-adv__item:first-child { border-left: 0; padding-left: 0; }/*@/mod*/
/*@mod design_pro*/@media (max-width: 720px) { html[data-adv="lines"] .sb-adv { gap: 20px; } html[data-adv="lines"] .sb-adv__item { border-left: 0; border-top: 1px solid var(--line); padding: 18px 0 0; } html[data-adv="lines"] .sb-adv__item:first-child { border-top: 0; padding-top: 0; } }/*@/mod*/
/*@mod design_pro*/html[data-faq="cols"] .faq__list { display: block; columns: 2; column-gap: 20px; }/*@/mod*/
/*@mod design_pro*/html[data-faq="cols"] .faq__item { break-inside: avoid; margin: 0 0 12px; display: block; }/*@/mod*/
/*@mod design_pro*/@media (max-width: 860px) { html[data-faq="cols"] .faq__list { columns: 1; } }/*@/mod*/
/*@mod design_pro*/.vac-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }/*@/mod*/
/*@mod design_pro*/.vac-card { display: flex; flex-direction: column; gap: 10px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }/*@/mod*/
/*@mod design_pro*/.vac-card .vac__title { margin: 0; font-size: 20px; }/*@/mod*/
/*@mod design_pro*/.vac-card__salary { margin: 0; font-size: 18px; font-weight: 800; color: var(--accent); }/*@/mod*/
/*@mod design_pro*/.vac-card .vac__meta { margin: 0; }/*@/mod*/
/*@mod design_pro*/.vac-card .vac__meta span:first-child { background: var(--surface); color: var(--ink-soft); }/*@/mod*/
/*@mod design_pro*/.vac-card__text { position: relative; max-height: 190px; overflow: hidden; color: var(--ink-soft); font-size: 15px; line-height: 1.55; }/*@/mod*/
/*@mod design_pro*/.vac-card__text.is-clamped::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 56px; background: linear-gradient(transparent, var(--card)); pointer-events: none; }/*@/mod*/
/*@mod design_pro*/.vac-card__text.is-open { max-height: none; }/*@/mod*/
/*@mod design_pro*/.vac-card__text.is-open::after { display: none; }/*@/mod*/
/*@mod design_pro*/.vac-card__text .prose { font-size: 15px; }/*@/mod*/
/*@mod design_pro*/.vac-card__text .prose > :first-child { margin-top: 0; }/*@/mod*/
/*@mod design_pro*/.vac-card__text .prose :is(h2, h3, h4) { margin: 14px 0 6px; font-size: 16px; line-height: 1.3; }/*@/mod*/
/*@mod design_pro*/.vac-card__text .prose :is(p, ul, ol) { margin: 0 0 8px; }/*@/mod*/
/*@mod design_pro*/.vac-card__text .prose ul { display: block; margin: 0 0 8px; padding: 0; }/*@/mod*/
/*@mod design_pro*/.vac-card__text .prose ul li { padding: 0 0 0 26px; margin: 4px 0; background: none; font-size: 15px; color: var(--ink-soft); }/*@/mod*/
/*@mod design_pro*/.vac-card__text .prose ul li::before { top: 2px; left: 0; width: 18px; height: 18px; }/*@/mod*/
/*@mod design_pro*/.vac-card__text .prose ul li:last-child:nth-child(odd) { grid-column: auto; }/*@/mod*/
/*@mod design_pro*/.vac-card__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: auto; padding-top: 6px; }/*@/mod*/
/*@mod design_pro*/.vac-card__more { display: inline-flex; align-items: center; gap: 4px; padding: 0; border: 0; background: none; cursor: pointer; color: var(--accent); font: inherit; font-weight: 600; font-size: 15px; }/*@/mod*/
/*@mod design_pro*/.vac-card__more[hidden] { display: none; }/*@/mod*/
/*@mod design_pro*/.vac-card__more svg { transition: transform .2s; }/*@/mod*/
/*@mod design_pro*/.vac-card__more[aria-expanded="true"] svg { transform: rotate(180deg); }/*@/mod*/
/*@mod design_pro*/@media (max-width: 480px) { .vac-cards { grid-template-columns: 1fr; } }/*@/mod*/
/*@mod design_pro*/html[data-svc="overlay"] .home-svc__card { position: relative; display: grid; min-height: 300px; border: 0; color: #fff; isolation: isolate; background: var(--dark); }/*@/mod*/
/*@mod design_pro*/html[data-svc="overlay"] .home-svc__img { grid-area: 1 / 1; aspect-ratio: auto; height: 100%; z-index: -2; }/*@/mod*/
/*@mod design_pro*/html[data-svc="overlay"] .home-svc__img img { transition: transform .5s ease; }/*@/mod*/
/*@mod design_pro*/html[data-svc="overlay"] .home-svc__card:hover .home-svc__img img { transform: scale(1.05); }/*@/mod*/
/*@mod design_pro*/html[data-svc="overlay"] .home-svc__card::after { content: ""; grid-area: 1 / 1; z-index: -1; background: linear-gradient(180deg, rgba(0,0,0,.05) 25%, rgba(0,0,0,.78)); }/*@/mod*/
/*@mod design_pro*/html[data-svc="overlay"] .home-svc__body { grid-area: 1 / 1; align-self: end; padding: 22px; }/*@/mod*/
/*@mod design_pro*/html[data-svc="overlay"] :is(.home-svc__title, .home-svc__more) { color: #fff; }/*@/mod*/
/*@mod design_pro*/html[data-svc="overlay"] .home-svc__text { color: rgba(255,255,255,.82); flex: none; }/*@/mod*/
/*@mod design_pro*/html[data-svc="plain"] .home-svc__img { display: none; }/*@/mod*/
/*@mod design_pro*/html[data-svc="plain"] .home-svc__card { position: relative; background: var(--card); }/*@/mod*/
/*@mod design_pro*/html[data-svc="plain"] .home-svc__card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--accent); transform: scaleY(0); transform-origin: top; transition: transform .25s ease; }/*@/mod*/
/*@mod design_pro*/html[data-svc="plain"] .home-svc__card:hover::before { transform: scaleY(1); }/*@/mod*/
/*@mod design_pro*/html[data-svc="plain"] .home-svc__body { padding: 26px 24px 24px; }/*@/mod*/
/*@mod design_pro*/html[data-svc="plain"] .home-svc__title { font-size: 21px; }/*@/mod*/
/*@mod design_pro*/html[data-team="minimal"] .team-grid { gap: 32px 24px; }/*@/mod*/
/*@mod design_pro*/html[data-team="minimal"] .person { padding: 0; border: 0; background: none; }/*@/mod*/
/*@mod design_pro*/html[data-team="minimal"] .person__img { aspect-ratio: 4 / 5; border-radius: var(--radius); margin-bottom: 16px; filter: grayscale(.15); transition: filter .3s; }/*@/mod*/
/*@mod design_pro*/html[data-team="minimal"] .person:hover .person__img { filter: none; }/*@/mod*/
/*@mod design_pro*/html[data-team="minimal"] .person__name { font-size: 19px; }/*@/mod*/
/*@mod design_pro*/html[data-team="minimal"] .person__pos { color: var(--muted); font-weight: 500; }/*@/mod*/
/*@mod design_pro*/html[data-team="minimal"] .person__text { font-size: 14px; }/*@/mod*/
/*@mod design_pro*/html[data-team="minimal"] .person__contacts a { color: var(--ink-soft); }/*@/mod*/
/*@mod design_pro*/html[data-news="overlay"] .post-card--news { display: grid; overflow: hidden; isolation: isolate; color: #fff; border: 0; min-height: 280px; background: var(--dark); }/*@/mod*/
/*@mod design_pro*/html[data-news="overlay"] .post-card--news .post-card__img { grid-area: 1 / 1; aspect-ratio: auto; height: 100%; z-index: -2; }/*@/mod*/
/*@mod design_pro*/html[data-news="overlay"] .post-card--news .post-card__img img { width: 100%; height: 100%; object-fit: cover; }/*@/mod*/
/*@mod design_pro*/html[data-news="overlay"] .post-card--news::after { content: ""; grid-area: 1 / 1; z-index: -1; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.08) 20%, rgba(0,0,0,.8)); }/*@/mod*/
/*@mod design_pro*/html[data-news="overlay"] .post-card--news .post-card__body { grid-area: 1 / 1; align-self: end; background: none; padding: 22px; }/*@/mod*/
/*@mod design_pro*/html[data-news="overlay"] .post-card--news :is(.post-card__title a, .post-card__title, .post-card__more) { color: #fff; }/*@/mod*/
/*@mod design_pro*/html[data-news="overlay"] .post-card--news :is(.post-card__meta, .post-card__text) { color: rgba(255,255,255,.8); }/*@/mod*/
/*@mod design_pro*/html[data-news="overlay"] .post-card--news .post-card__text { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }/*@/mod*/
/*@mod design_pro*/html[data-projects="masonry"] .blog-grid:has(> .post-card--project) { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: row dense; }/*@/mod*/
/*@mod design_pro*/html[data-projects="masonry"] .post-card--project:nth-child(4n+1) { grid-row: span 2; }/*@/mod*/
/*@mod design_pro*/html[data-projects="masonry"] .post-card--project:nth-child(4n+1) .post-card__img { flex: 1 1 auto; aspect-ratio: auto; min-height: 260px; }/*@/mod*/
/*@mod design_pro*/html[data-projects="masonry"] .post-card--project:nth-child(4n+1) .post-card__img img { width: 100%; height: 100%; object-fit: cover; }/*@/mod*/
/*@mod design_pro*/html[data-projects="masonry"] .post-card--project:nth-child(4n+3) .post-card__img { aspect-ratio: 4 / 3; }/*@/mod*/
/*@mod design_pro*/@media (max-width: 960px) { html[data-projects="masonry"] .blog-grid:has(> .post-card--project) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }/*@/mod*/
/*@mod design_pro*/@media (max-width: 600px) { html[data-projects="masonry"] .blog-grid:has(> .post-card--project) { grid-template-columns: 1fr; } html[data-projects="masonry"] .post-card--project:nth-child(4n+1) { grid-row: auto; } }/*@/mod*/
.totop { position: fixed; right: 20px; bottom: 20px; z-index: 58; width: 46px; height: 46px; display: grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--card); color: var(--ink); box-shadow: 0 8px 24px rgba(0,0,0,.14); cursor: pointer; opacity: 0; transform: translateY(10px); transition: opacity .2s, transform .2s, background-color .2s, color .2s; }
.totop.is-on { opacity: 1; transform: none; }
.totop[hidden] { display: none; }
.totop:hover { background: var(--accent); border-color: var(--accent); color: var(--on-accent, #fff); }
@media (max-width: 720px) { .totop { right: 14px; bottom: calc(80px + env(safe-area-inset-bottom, 0px)); width: 42px; height: 42px; } }
.coll-tabs.coll-tabs--sub { margin-top: 12px; }
.coll-tabs--sub .coll-tab { padding-top: 6px; padding-bottom: 6px; font-size: 14px; }
.field--file input[type="file"] { padding: 9px 10px; font-size: 14px; cursor: pointer; }
.field--file input[type="file"]::file-selector-button { margin-right: 10px; padding: 6px 12px; border: 0; border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); font: inherit; font-weight: 600; cursor: pointer; }
.field--file[hidden] { display: none; }
.vac__title a { color: inherit; text-decoration: none; }
.vac__title a:hover { color: var(--accent); }
.vac__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 18px; }
.vac__acts .btn { margin-top: 0; }
.vac__more { display: inline-flex; align-items: center; gap: 4px; color: var(--accent); font-weight: 600; text-decoration: none; }
.vac__more .ui-ico { width: 16px; height: 16px; }
.vac-meta__i { padding: 4px 12px; border-radius: 99px; background: var(--surface); color: var(--ink-soft); font-weight: 600; font-size: 14px; }
.vac-meta__i--salary { background: var(--accent-soft); color: var(--accent); }
.vac-apply { margin: 24px 0 0; }
@media (max-width: 720px) {
  .m-swipe { --m-card: 72%; display: grid !important; grid-template-columns: none !important; grid-auto-flow: column; grid-auto-columns: var(--m-card); align-items: stretch; gap: 12px !important; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; margin-left: -16px !important; margin-right: -16px !important; padding: 2px 16px 10px !important; scroll-padding-inline: 16px; border: 0 !important; }
  html[data-mpeek="30"] .m-swipe { --m-card: 78%; }
  html[data-mpeek="50"] .m-swipe { --m-card: 67%; }
  .m-swipe::-webkit-scrollbar { display: none; }
  .m-swipe > * { scroll-snap-align: start; min-width: 0; margin: 0 !important; }
  .logos.m-swipe, .certs.m-swipe { --m-card: 44%; }
  html[data-mpeek="30"] :is(.logos, .certs).m-swipe { --m-card: 47%; }
  html[data-mpeek="50"] :is(.logos, .certs).m-swipe { --m-card: 41%; }
  .showcase__panel.m-swipe:not(.is-active) { display: none !important; }
  .prod__related .pcard2__short, .prod__related .pcard2__sku, .post-rel--prod .pcard2__short, .post-rel--prod .pcard2__sku { display: none; }
}
@media (max-width: 480px) {
  .post-rel__track { grid-auto-columns: 72%; }
  html[data-mpeek="30"] .post-rel__track { grid-auto-columns: 78%; }
  html[data-mpeek="50"] .post-rel__track { grid-auto-columns: 67%; }
  .post-rel--prod .post-rel__track, .prod__related .prow__track { grid-auto-columns: calc((100% - 12px) / 2); }
}
@media (min-width: 1101px) {
  .prod__related .prow__track { grid-auto-columns: calc((100% - 64px) / 5); gap: 16px; }
  .prod__related .pcard2__short { display: none; }
}
.btn-msg__t { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
:has(> .btn-msg + .btn-msg) { container-type: inline-size; display: flex; flex-wrap: nowrap; gap: 8px; }
:has(> .btn-msg + .btn-msg) > .btn-msg { flex: 0 1 auto; min-width: 0; justify-content: center; padding: 0 16px; gap: 8px; white-space: nowrap; }
.ft-cta__btns:has(> .btn-msg + .btn-msg) { flex-wrap: wrap; }
.ft-cta__btns:has(> .btn-msg + .btn-msg) > .btn { flex: 1 1 100%; }
@media (min-width: 721px) { .ft-cta__btns:has(> .btn-msg + .btn-msg) > .btn { flex: 0 0 auto; } }
@container (max-width: 560px) { .btn-msg__pre { display: none; } .btn-msg { flex: 1 1 0 !important; padding: 0 12px !important; } }
.is-icons > .btn-msg { position: relative; flex: 1 1 0 !important; min-width: 44px; padding: 0 8px !important; }
.is-icons > .btn-msg .btn-msg__t { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 720px) {
  :has(> .btn-msg + .btn-msg) > .btn-msg { min-height: 46px; padding: 0 8px; gap: 6px; font-size: 14.5px; }
  :has(> .btn-msg + .btn-msg) > .btn-msg .ui-ico { width: 18px; height: 18px; }
}
@media (max-width: 720px) {
  .cat-tiles, .flt-list, .coll-tabs, .showcase__tabs, .cmp-tabs, .rv-filter, .bmenu--top .bmenu__list, .cat-tabs { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; margin-left: -16px; margin-right: -16px; padding: 2px 16px 4px; scroll-padding-inline: 16px; }
  :is(.cat-tiles, .flt-list, .coll-tabs, .showcase__tabs, .cmp-tabs, .rv-filter, .bmenu--top .bmenu__list, .cat-tabs)::-webkit-scrollbar { display: none; }
  :is(.cat-tiles, .flt-list, .coll-tabs, .showcase__tabs, .cmp-tabs, .rv-filter, .bmenu--top .bmenu__list, .cat-tabs) > * { flex: none; white-space: nowrap; }
  .cat-tiles { gap: 8px; }
  .cat-tile { min-height: 48px; padding: 6px 14px 6px 6px; }
  .cat-tile img { width: 36px; height: 36px; }
  .flt-list { gap: 8px; }
}
@media (min-width: 1101px) {
  html[data-cols-blog="2"] .blog-grid:not(.blog-grid--list):not(.blog-grid--magazine):not(.blog-grid--rel):not(:has(> .post-card--news, > .post-card--project)):not(.page-cols .blog-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-cols-blog="3"] .blog-grid:not(.blog-grid--list):not(.blog-grid--magazine):not(.blog-grid--rel):not(:has(> .post-card--news, > .post-card--project)):not(.page-cols .blog-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-blog="4"] .blog-grid:not(.blog-grid--list):not(.blog-grid--magazine):not(.blog-grid--rel):not(:has(> .post-card--news, > .post-card--project)):not(.page-cols .blog-grid) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  html[data-cols-blog="5"] .blog-grid:not(.blog-grid--list):not(.blog-grid--magazine):not(.blog-grid--rel):not(:has(> .post-card--news, > .post-card--project)):not(.page-cols .blog-grid) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  html[data-cols-news="2"] .blog-grid:has(> .post-card--news):not(.page-cols .blog-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-cols-news="3"] .blog-grid:has(> .post-card--news):not(.page-cols .blog-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-news="4"] .blog-grid:has(> .post-card--news):not(.page-cols .blog-grid) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  html[data-cols-news="5"] .blog-grid:has(> .post-card--news):not(.page-cols .blog-grid) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  html[data-cols-projects="2"] .blog-grid:has(> .post-card--project):not(.page-cols .blog-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-cols-projects="3"] .blog-grid:has(> .post-card--project):not(.page-cols .blog-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-projects="4"] .blog-grid:has(> .post-card--project):not(.page-cols .blog-grid) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  html[data-cols-projects="5"] .blog-grid:has(> .post-card--project):not(.page-cols .blog-grid) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  html[data-cols-services="2"] :is(.svc-grid, .home-svc__grid):not(.page-cols *) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-cols-services="3"] :is(.svc-grid, .home-svc__grid):not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-services="4"] :is(.svc-grid, .home-svc__grid):not(.page-cols *) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  html[data-cols-services="5"] :is(.svc-grid, .home-svc__grid):not(.page-cols *) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  html[data-cols-team="2"] .team-grid:not(.page-cols *) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-cols-team="3"] .team-grid:not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-team="4"] .team-grid:not(.page-cols *) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  html[data-cols-team="5"] .team-grid:not(.page-cols *) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  html[data-cols-team="6"] .team-grid:not(.page-cols *) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  html[data-cols-certs="3"] .certs:not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-certs="4"] .certs:not(.page-cols *) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  html[data-cols-certs="5"] .certs:not(.page-cols *) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  html[data-cols-certs="6"] .certs:not(.page-cols *) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  html[data-cols-gallery="3"] .sb-gallery:not(.coll-item__gallery):not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-gallery="4"] .sb-gallery:not(.coll-item__gallery):not(.page-cols *) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  html[data-cols-gallery="5"] .sb-gallery:not(.coll-item__gallery):not(.page-cols *) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  html[data-cols-gallery="6"] .sb-gallery:not(.coll-item__gallery):not(.page-cols *) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  html[data-cols-partners="2"] .partners-list:not(.page-cols *) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-cols-partners="3"] .partners-list:not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-partners="4"] .partners-list:not(.page-cols *) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1100px) and (min-width: 961px) {
  html[data-cols-blog="2"] .blog-grid:not(.blog-grid--list):not(.blog-grid--magazine):not(.blog-grid--rel):not(:has(> .post-card--news, > .post-card--project)):not(.page-cols .blog-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-cols-blog="3"] .blog-grid:not(.blog-grid--list):not(.blog-grid--magazine):not(.blog-grid--rel):not(:has(> .post-card--news, > .post-card--project)):not(.page-cols .blog-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-blog="4"] .blog-grid:not(.blog-grid--list):not(.blog-grid--magazine):not(.blog-grid--rel):not(:has(> .post-card--news, > .post-card--project)):not(.page-cols .blog-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-blog="5"] .blog-grid:not(.blog-grid--list):not(.blog-grid--magazine):not(.blog-grid--rel):not(:has(> .post-card--news, > .post-card--project)):not(.page-cols .blog-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-news="2"] .blog-grid:has(> .post-card--news):not(.page-cols .blog-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-cols-news="3"] .blog-grid:has(> .post-card--news):not(.page-cols .blog-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-news="4"] .blog-grid:has(> .post-card--news):not(.page-cols .blog-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-news="5"] .blog-grid:has(> .post-card--news):not(.page-cols .blog-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-projects="2"] .blog-grid:has(> .post-card--project):not(.page-cols .blog-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-cols-projects="3"] .blog-grid:has(> .post-card--project):not(.page-cols .blog-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-projects="4"] .blog-grid:has(> .post-card--project):not(.page-cols .blog-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-projects="5"] .blog-grid:has(> .post-card--project):not(.page-cols .blog-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-services="2"] :is(.svc-grid, .home-svc__grid):not(.page-cols *) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-cols-services="3"] :is(.svc-grid, .home-svc__grid):not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-services="4"] :is(.svc-grid, .home-svc__grid):not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-services="5"] :is(.svc-grid, .home-svc__grid):not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-team="2"] .team-grid:not(.page-cols *) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-cols-team="3"] .team-grid:not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-team="4"] .team-grid:not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-team="5"] .team-grid:not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-team="6"] .team-grid:not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-certs="3"] .certs:not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-certs="4"] .certs:not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-certs="5"] .certs:not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-certs="6"] .certs:not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-gallery="3"] .sb-gallery:not(.coll-item__gallery):not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-gallery="4"] .sb-gallery:not(.coll-item__gallery):not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-gallery="5"] .sb-gallery:not(.coll-item__gallery):not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-gallery="6"] .sb-gallery:not(.coll-item__gallery):not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-partners="2"] .partners-list:not(.page-cols *) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-cols-partners="3"] .partners-list:not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-cols-partners="4"] .partners-list:not(.page-cols *) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1101px) { html:is([data-cols-blog="4"], [data-cols-blog="5"]) .blog-grid:not(.blog-grid--list):not(.blog-grid--magazine):not(.blog-grid--rel):not(:has(> .post-card--news, > .post-card--project)):not(.page-cols .blog-grid) .post-card__body { padding: 16px 18px 18px; } html:is([data-cols-blog="4"], [data-cols-blog="5"]) .blog-grid:not(.blog-grid--list):not(.blog-grid--magazine):not(.blog-grid--rel):not(:has(> .post-card--news, > .post-card--project)):not(.page-cols .blog-grid) .post-card__title { font-size: 16.5px; } html:is([data-cols-blog="4"], [data-cols-blog="5"]) .blog-grid:not(.blog-grid--list):not(.blog-grid--magazine):not(.blog-grid--rel):not(:has(> .post-card--news, > .post-card--project)):not(.page-cols .blog-grid) .post-card__text { font-size: 14px; } html[data-cols-blog="5"] .blog-grid:not(.blog-grid--list):not(.blog-grid--magazine):not(.blog-grid--rel):not(:has(> .post-card--news, > .post-card--project)):not(.page-cols .blog-grid) .post-card__text { display: none; } }
@media (min-width: 1101px) { html:is([data-cols-news="4"], [data-cols-news="5"]) .blog-grid:has(> .post-card--news):not(.page-cols .blog-grid) .post-card__body { padding: 16px 18px 18px; } html:is([data-cols-news="4"], [data-cols-news="5"]) .blog-grid:has(> .post-card--news):not(.page-cols .blog-grid) .post-card__title { font-size: 16.5px; } html:is([data-cols-news="4"], [data-cols-news="5"]) .blog-grid:has(> .post-card--news):not(.page-cols .blog-grid) .post-card__text { font-size: 14px; } html[data-cols-news="5"] .blog-grid:has(> .post-card--news):not(.page-cols .blog-grid) .post-card__text { display: none; } }
@media (min-width: 1101px) { html:is([data-cols-projects="4"], [data-cols-projects="5"]) .blog-grid:has(> .post-card--project):not(.page-cols .blog-grid) .post-card__body { padding: 16px 18px 18px; } html:is([data-cols-projects="4"], [data-cols-projects="5"]) .blog-grid:has(> .post-card--project):not(.page-cols .blog-grid) .post-card__title { font-size: 16.5px; } html:is([data-cols-projects="4"], [data-cols-projects="5"]) .blog-grid:has(> .post-card--project):not(.page-cols .blog-grid) .post-card__text { font-size: 14px; } html[data-cols-projects="5"] .blog-grid:has(> .post-card--project):not(.page-cols .blog-grid) .post-card__text { display: none; } }
@media (min-width: 1101px) { html:is([data-cols-services="4"], [data-cols-services="5"]) .svc { padding: 20px 20px 18px; } html:is([data-cols-services="4"], [data-cols-services="5"]) :is(.svc__title, .home-svc__title) { font-size: 17px; } html:is([data-cols-services="4"], [data-cols-services="5"]) .svc__text { font-size: 14px; } }
.is-lowc { outline: 1px solid var(--lowc, rgba(255,255,255,.3)); outline-offset: -1px; }
.sb-sub__foot, .svc__foot { container-type: inline-size; }
.sb-sub__price { white-space: nowrap; }
@container (max-width: 250px) { :is(.sb-sub__more, .svc__more) .more-t { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } :is(.sb-sub__more, .svc__more) { position: relative; flex: none; width: 36px; height: 36px; justify-content: center; border-radius: 50%; background: var(--surface); } :is(.sb-sub__more, .svc__more) .ui-ico { width: 18px; height: 18px; } }
@media (max-width: 720px) { .pcard2 .pcard2__acts, .pgrid:is(.is-list, .is-compact) .pcard2 .pcard2__acts { top: 8px; right: 8px; gap: 4px; } .pcard2 .pcard2__acts :is(.pact, .cms-ed) { width: 26px; height: 26px; } .pcard2 .pcard2__acts .pact svg { width: 14px; height: 14px; } .pcard2 .pcard2__acts .cms-ed svg { width: 14px; height: 14px; } }
.page-grid > * { min-width: 0; }
@media (max-width: 960px) { .nav__mobile-contacts { grid-template-columns: minmax(0, 1fr); } .nav__mobile-contacts > * { min-width: 0; } .nav__m-btns { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nav__m-msg { grid-template-columns: repeat(2, minmax(0, 1fr)); } body.is-navopen .cart-tab { display: none; } }
.pbuy .pbuy__actions > .prod-req { min-height: 54px; padding: 0 28px; font-size: 16px; border-radius: var(--radius-sm); }
.rt-hl { --hl: #f2bf49; --hl-ink: #1d1d1b; margin-top: 28px; padding: 26px 32px; border-radius: var(--radius); background: var(--hl); color: var(--hl-ink); font-size: 15.5px; line-height: 1.6; }
.rt-hl--accent { --hl: var(--accent-base, var(--accent)); --hl-ink: var(--accent-ink, #fff); }
.rt-hl--red { --hl: #c8372d; --hl-ink: #fff; }
.rt-hl--gray { --hl: color-mix(in srgb, var(--ink) 7%, var(--card)); --hl-ink: var(--ink); }
html[data-theme="dark"] .rt-hl--yellow { --hl: #e8b743; }
html[data-theme="dark"] .rt-hl--red { --hl: #b8342b; }
.sb-hl .rt-hl { margin-top: 0; }
.rt-hl__title, .prose--rich .rt-hl .rt-hl__title { display: block; margin: 0 0 8px; font-family: var(--font-head); font-size: 26px; line-height: 1.2; font-weight: 800; color: inherit; max-width: none; }
.rt-hl :is(p, li, ol, ul, blockquote, h2, h3, h4), .prose--rich .rt-hl :is(p, li, ol, ul, blockquote, h2, h3, h4), .rt-hl .prose p { color: inherit; max-width: none; }
.rt-hl > .rt-hl__title:last-child { margin-bottom: 0; }
.rt-hl > p:first-child:not(.rt-hl__title), .rt-hl__body > :first-child { margin-top: 0; }
.rt-hl a:not(.btn) { color: inherit; text-decoration: underline; }
.rt-hl b, .rt-hl strong { color: inherit; }
.prose--rich .rt-hl ul li { background: color-mix(in srgb, currentColor 9%, transparent); color: inherit; }
html[data-warn="solid"] .prose--rich .rt-warn { margin-top: 28px; padding: 26px 32px; background: #f2bf49; border: 0; border-radius: var(--radius); color: #1d1d1b; font-size: 15.5px; line-height: 1.6; }
html[data-warn="solid"] .prose--rich .rt-warn > :is(b, strong):first-child { display: block; margin-bottom: 8px; font-family: var(--font-head); font-size: 26px; line-height: 1.2; font-weight: 800; color: #111; }
html[data-warn="solid"][data-theme="dark"] .prose--rich .rt-warn { background: #e8b743; color: #1d1d1b; }
html[data-txtw="full"] :is(.prose p, .prose--rich ol, .prose--rich blockquote, .page__lead, .sec-head__lead, .post__lead, .post__body p, .post__body ul, .post__body ol, .included__text p, .materials__lead, .works__lead, .legal, .promo__title, .promo__text) { max-width: none; }
html[data-tcard="frame"] .rt-card { border: 1px solid var(--line); }
html[data-tcard="frame"] .prose--rich :is(.rt-info, .rt-ok) { border: 1px solid var(--line); }
html[data-ico="soft"] .rt-ico, html[data-ico="soft"] .rt-ico--img { background: var(--accent-soft); color: var(--accent); }
html[data-ico="soft"] .prod__adv .rt-ico { background: none; }
html[data-ico="soft"] .cmp__col--accent .rt-ico { background: #fff; }
html[data-ico="soft"] .sb-adv__item .rt-ico { width: 60px; height: 60px; border-radius: 16px; margin-bottom: 18px; }
html[data-ico="soft"] .sb-adv__item .rt-ico svg { width: 30px; height: 30px; }
html[data-lead="plain"] .prose--rich p.rt-lead { font-size: inherit; line-height: inherit; color: var(--ink-soft); }
html[data-stats="mid"] .sb-stats__item b { font-size: 30px; line-height: 1.1; }
html[data-ask="full"] .ask-card__img { display: block; width: 100%; margin: 0 0 18px; aspect-ratio: 1 / 1; height: auto; object-fit: cover; border-radius: var(--radius-sm); }
/*@mod design_pro*/html[data-prevbw="bw"] :is(.home-svc__img, .sb-sub__img) img { filter: grayscale(1); transition: filter .5s, transform .5s; }/*@/mod*/
/*@mod design_pro*/html[data-prevbw="bw"] :is(.home-svc__card:hover .home-svc__img, .sb-sub:hover .sb-sub__img, .sb-sub__img:hover) img { filter: none; }/*@/mod*/
/*@mod design_pro*/html[data-herobw="bw"] .hero .fade-bg--img::before { filter: grayscale(1); }/*@/mod*/
@media (max-width: 720px) {
  .rt-hl { padding: 22px 20px; }
  .rt-hl__title, .prose--rich .rt-hl .rt-hl__title { font-size: 22px; }
  html[data-warn="solid"] .prose--rich .rt-warn { padding: 22px 20px; }
  html[data-warn="solid"] .prose--rich .rt-warn > :is(b, strong):first-child { font-size: 22px; }
  html[data-ico="soft"] .sb-adv__item .rt-ico { width: 52px; height: 52px; border-radius: 14px; margin-bottom: 14px; }
  html[data-ico="soft"] .sb-adv__item .rt-ico svg { width: 26px; height: 26px; }
  html[data-stats="mid"] .sb-stats__item b { font-size: 24px; }
}
