:root {
  --blue: #1769ff;
  --blue-dark: #0b4fd8;
  --blue-soft: #eaf4ff;
  --blue-pale: #f4f8fc;
  --ink: #111820;
  --muted: #647180;
  --line: #e2e8ee;
  --surface: #fff;
  --page: #f5f7f9;
  --dark: #111a23;
  --radius-sm: 14px;
  --radius: 22px;
  --radius-lg: 32px;
  --shadow: 0 14px 44px rgba(17, 24, 32, .08);
  --container: 1280px;
  --header-main-height: 88px;
  --header-meta-height: 36px;
  --header-height: calc(var(--header-main-height) + var(--header-meta-height));
}

*, *::before, *::after { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 24px);
}
[id]:not(#top) { scroll-margin-top: calc(var(--header-height) + 24px); }
body {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  margin: 0;
  color: var(--ink);
  background: var(--surface);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
.page > main { width: 100%; flex: 1 0 auto; }
.page > .site-footer { margin-top: auto; }
section:has([data-empty-section]) { display: none; }
.stats-grid:empty, .about-stats:empty, .cases-hero__stats:empty { display: none; }
body.is-locked { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
svg { display: block; }
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.is-cart-disabled { display: none !important; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.section { padding: 76px 0; }
.section--soft { background: var(--page); }
.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 32px;
}
.section-heading h2, .section-title {
  margin: 0;
  font-size: clamp(32px, 4vw, 50px);
  line-height: 1.05;
  letter-spacing: -.045em;
}
.section-heading p { max-width: 590px; margin: 0; color: var(--muted); }
.detail-hero { padding: 58px 0 68px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, #fff 0%, #f5f9ff 100%); }
.detail-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .42fr); align-items: center; gap: clamp(40px, 8vw, 110px); }
.detail-hero h1 { max-width: 860px; margin: 14px 0 0; font-size: clamp(46px, 6vw, 76px); line-height: .98; letter-spacing: -.055em; }
.detail-hero__grid > div > p { max-width: 760px; margin: 24px 0 0; color: var(--muted); font-size: 19px; }
.detail-hero__action { padding: 28px; border: 1px solid var(--line); border-radius: 26px; background: #fff; box-shadow: 0 16px 44px rgba(17,24,32,.06); }
.detail-hero__action > svg { width: 34px; height: 34px; color: var(--blue); }
.detail-hero__action h2 { margin: 25px 0 0; font-size: 25px; line-height: 1.08; }
.detail-hero__action p { margin: 12px 0 22px; color: var(--muted); }
.detail-content-grid { display: grid; grid-template-columns: minmax(0, 820px) minmax(280px, 360px); justify-content: center; align-items: start; gap: clamp(42px, 7vw, 100px); }
.detail-content-grid--single { grid-template-columns: minmax(0, 920px); }
.content-page { min-width: 0; color: #394856; font-size: 17px; line-height: 1.72; }
.content-page > :first-child { margin-top: 0; }
.content-page h2, .content-page h3 { color: var(--ink); line-height: 1.12; letter-spacing: -.03em; }
.content-page h2 { margin: 42px 0 18px; font-size: clamp(29px, 3.5vw, 42px); }
.content-page h3 { margin: 32px 0 14px; font-size: 23px; }
.content-page ul, .content-page ol { display: grid; gap: 9px; padding-left: 24px; }
.detail-content-empty { padding: 30px; border-radius: 24px; background: var(--page); }
.detail-content-empty h2 { margin-top: 0; }
.detail-content-empty p { margin-bottom: 0; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--blue); font-weight: 650; }
.text-link:hover { color: var(--blue-dark); }
.text-link svg { width: 18px; height: 18px; }

.btn {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 14px;
  font-weight: 700;
  transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, button:focus-visible {
  outline: 3px solid rgba(23, 105, 255, .28);
  outline-offset: 3px;
}
.btn--primary { color: #fff; background: var(--blue); box-shadow: 0 10px 24px rgba(23, 105, 255, .24); }
.btn--primary:hover { background: var(--blue-dark); }
.btn--secondary { background: #fff; border-color: var(--line); }
.btn--secondary:hover { border-color: #b7c5d2; }
.btn--light { color: var(--ink); background: #fff; }
.btn:disabled { box-shadow: none; cursor: not-allowed; opacity: .48; transform: none; }
.btn--sm { min-height: 44px; padding: 0 18px; border-radius: 12px; font-size: 14px; }
.btn svg { width: 19px; height: 19px; }

.site-header {
  position: sticky;
  z-index: 50;
  top: 0;
  min-height: var(--header-height);
  background: rgba(255, 255, 255, .92);
  border-bottom: 1px solid rgba(226, 232, 238, .8);
  backdrop-filter: blur(18px);
}
.header-meta { height: var(--header-meta-height); border-bottom: 1px solid rgba(226, 232, 238, .72); color: #566575; background: rgba(247, 250, 253, .82); }
.header-meta__inner { display: flex; height: 100%; align-items: center; justify-content: flex-end; gap: 24px; }
.header-meta__item { display: inline-flex; min-width: 0; align-items: center; gap: 7px; color: inherit; font-size: 12px; font-weight: 600; line-height: 1; }
a.header-meta__item { transition: color .2s ease; }
a.header-meta__item:hover { color: var(--blue); }
.header-meta__item svg { width: 15px; height: 15px; flex: 0 0 auto; color: #82909e; }
.header-meta__item--address { max-width: 42%; }
.header-meta__item--address span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.header-inner { min-height: var(--header-main-height); display: flex; align-items: center; gap: 40px; }
.brand { display: inline-flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.brand img { width: 48px; height: 48px; }
.brand__text { font-size: 18px; font-weight: 800; line-height: 1.02; letter-spacing: -.025em; }
.main-nav { display: flex; align-items: center; gap: 30px; margin-left: auto; }
.main-nav a { color: #26313c; font-size: 15px; font-weight: 600; transition: color .2s ease; }
.main-nav a:hover, .main-nav a.is-active { color: var(--blue); }
.nav-dropdown { position: relative; }
.nav-dropdown::after {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 19;
  width: 310px;
  height: 24px;
  content: "";
  pointer-events: none;
  transform: translateX(-50%);
}
.nav-dropdown__head { display: flex; align-items: center; }
.nav-dropdown__head .nav-dropdown__link { padding-right: 3px; }
.nav-dropdown__toggle { display: grid; width: 28px; height: 28px; place-items: center; padding: 0; border: 0; border-radius: 8px; color: #5e6a76; background: transparent; }
.nav-dropdown__toggle:hover { color: var(--blue); background: var(--blue-soft); }
.nav-dropdown__toggle svg { width: 16px; height: 16px; transition: transform .2s ease; }
.nav-dropdown.is-open .nav-dropdown__toggle svg { transform: rotate(180deg); }
.nav-dropdown.is-active > .nav-dropdown__head a { color: var(--blue); }
.nav-dropdown__panel {
  position: absolute;
  top: calc(100% + 22px);
  left: 50%;
  display: grid;
  width: 310px;
  visibility: hidden;
  overflow: hidden;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 18px;
  opacity: 0;
  background: #fff;
  box-shadow: 0 20px 56px rgba(17, 24, 32, .14);
  transform: translate(-50%, -8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.nav-dropdown.is-open .nav-dropdown__panel { visibility: visible; opacity: 1; transform: translate(-50%, 0); }
@media (hover: hover) and (min-width: 861px) {
  .nav-dropdown:hover::after, .nav-dropdown.is-open::after { pointer-events: auto; }
  .nav-dropdown:hover .nav-dropdown__panel { visibility: visible; opacity: 1; transform: translate(-50%, 0); }
}
.nav-dropdown__intro { margin: -8px -8px 6px; padding: 18px 18px 15px; background: var(--blue-soft); }
.nav-dropdown__intro strong, .nav-dropdown__intro span { display: block; }
.nav-dropdown__intro strong { font-size: 16px; }
.nav-dropdown__intro span { margin-top: 3px; color: var(--muted); font-size: 12px; }
.main-nav .nav-dropdown__panel a { display: flex; align-items: center; justify-content: space-between; padding: 10px 11px; border-radius: 10px; color: #34404c; font-size: 14px; }
.main-nav .nav-dropdown__panel a:hover, .main-nav .nav-dropdown__panel a.is-active { color: var(--blue); background: var(--blue-soft); }
.nav-dropdown__panel a span { color: #9ca8b3; }
.main-nav .nav-dropdown__panel a > svg { width: 17px; height: 17px; flex: 0 0 auto; color: #9ca8b3; }
.nav-dropdown--cascade .nav-dropdown__panel { width: min(680px, calc(100vw - 48px)); }
.nav-dropdown--cascade::after { width: min(680px, calc(100vw - 48px)); }
.nav-dropdown--cascade .nav-dropdown__intro { margin-bottom: 0; }
.nav-cascade { display: grid; grid-template-columns: minmax(230px, .88fr) minmax(280px, 1.12fr); min-height: 238px; }
.nav-cascade__groups { padding: 8px; border-right: 1px solid var(--line); }
.nav-cascade__group { display: grid; grid-template-columns: minmax(0, 1fr) 38px; align-items: center; border-radius: 11px; }
.main-nav .nav-cascade__group > a { display: block; min-width: 0; padding: 11px; border-radius: 11px 0 0 11px; }
.nav-cascade__group > button { display: grid; width: 38px; height: 38px; place-items: center; padding: 0; border: 0; border-radius: 9px; color: #84919e; background: transparent; }
.nav-cascade__group > button:hover, .nav-cascade__group.is-active > button { color: var(--blue); background: var(--blue-soft); }
.nav-cascade__group > button svg { width: 17px; height: 17px; }
.nav-cascade__group.is-active { background: var(--blue-soft); }
.nav-cascade__group.is-active > a { color: var(--blue); }
.nav-cascade__children { display: grid; align-content: start; gap: 3px; padding: 12px; }
.nav-cascade__children noindex { display: contents; }
.main-nav .nav-cascade__children a { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 11px; border-radius: 10px; color: #34404c; font-size: 14px; }
.main-nav .nav-cascade__children a > svg { width: 17px; height: 17px; flex: 0 0 auto; color: #9ca8b3; }
.main-nav .nav-cascade__children a:hover { color: var(--blue); background: var(--blue-soft); }
.nav-cascade__hint, .nav-cascade__status, .nav-cascade__empty { align-self: center; padding: 18px; color: var(--muted); font-size: 13px; line-height: 1.45; text-align: center; }
.nav-cascade__status { align-self: start; text-align: left; }
.header-actions { display: flex; align-items: center; gap: 22px; }
.header-phone { white-space: nowrap; font-weight: 800; font-size: 17px; }
.mobile-nav-contacts { display: none; }
.menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 0;
  border-radius: 12px;
  color: var(--ink);
  background: var(--blue-pale);
}
.menu-toggle svg { width: 24px; height: 24px; }

.documents-section { border-top: 1px solid var(--line); background: var(--page); }
.documents-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.document-card { display: grid; min-width: 0; grid-template-columns: 124px minmax(0, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.document-card:hover { transform: translateY(-3px); border-color: #c5d7e7; box-shadow: var(--shadow); }
.document-card__preview { display: grid; min-height: 230px; place-items: center; overflow: hidden; background: linear-gradient(145deg, #eaf4ff, #f5f8fb); }
.document-card__preview img { width: 100%; height: 100%; object-fit: cover; }
.document-card__preview > span { display: grid; width: 62px; height: 76px; place-items: center; border-radius: 12px; color: var(--blue); background: #fff; box-shadow: 0 12px 30px rgba(23, 105, 255, .12); }
.document-card__preview svg { width: 32px; height: 32px; }
.document-card__body { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: 22px 20px; }
.document-card__type { color: var(--blue); font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .055em; }
.document-card h3 { margin: 10px 0 0; font-size: 20px; line-height: 1.15; letter-spacing: -.025em; }
.document-card h3 a:hover { color: var(--blue); }
.document-card p { margin: 10px 0 0; color: var(--muted); font-size: 13px; }
.document-card__meta { display: flex; flex-wrap: wrap; gap: 5px 12px; margin-top: 14px; color: var(--muted); font-size: 12px; }
.document-card .text-link { margin-top: auto; padding-top: 18px; font-size: 13px; }

.hero { padding: 38px 0 28px; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr); align-items: center; gap: 54px; }
.hero-copy { padding: 46px 0; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 20px; color: var(--blue); font-size: 14px; font-weight: 750; }
.eyebrow::before { width: 8px; height: 8px; content: ""; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 6px var(--blue-soft); }
.hero h1 {
  max-width: 690px;
  margin: 0;
  font-size: clamp(48px, 5.7vw, 78px);
  line-height: .98;
  letter-spacing: -.058em;
}
.hero-copy > p { max-width: 620px; margin: 24px 0 0; color: #4d5966; font-size: 20px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.trust-chip { display: inline-flex; align-items: center; gap: 9px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: #34404c; font-size: 14px; font-weight: 650; }
.trust-chip svg { width: 19px; height: 19px; color: var(--blue); }
.hero-media { position: relative; min-height: 530px; overflow: hidden; border-radius: var(--radius-lg); background: var(--blue-soft); }
.hero-media img { width: 100%; height: 100%; min-height: 530px; object-fit: cover; }
.hero-badge {
  position: absolute;
  right: 24px;
  bottom: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 17px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
  font-weight: 750;
}
.hero-badge svg { width: 25px; height: 25px; color: var(--blue); }

.stats { padding: 22px 0 0; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.stat { display: flex; align-items: center; gap: 15px; padding: 25px 28px; }
.stat + .stat { border-left: 1px solid var(--line); }
.stat svg { width: 34px; height: 34px; flex: 0 0 auto; color: var(--blue); }
.stat strong { display: block; font-size: 24px; line-height: 1.05; }
.stat span { display: block; margin-top: 4px; color: var(--muted); font-size: 13px; }

.services-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.service-card {
  position: relative;
  min-height: 330px;
  overflow: hidden;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.service-card:nth-child(odd) { background: var(--blue-soft); }
.service-card:hover { transform: translateY(-5px); border-color: #c8d9ea; box-shadow: var(--shadow); }
.service-card__icon { display: grid; width: 58px; height: 58px; place-items: center; margin-bottom: 28px; border-radius: 17px; color: var(--blue); background: #fff; }
.service-card__icon svg { width: 30px; height: 30px; }
.service-card h3 { max-width: 240px; margin: 0; font-size: 24px; line-height: 1.12; letter-spacing: -.025em; }
.service-card p { margin: 14px 0 0; color: var(--muted); }
.service-card .text-link { position: absolute; bottom: 24px; left: 26px; font-size: 14px; }

.catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.pills { display: flex; flex-wrap: wrap; gap: 8px; }
.pill { min-height: 42px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; color: #36424e; background: #fff; font-size: 14px; font-weight: 650; }
.pill.is-active { color: #fff; border-color: var(--blue); background: var(--blue); }
.products-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.product-card { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.product-card[hidden] { display: none; }
.product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.product-card__image { display: grid; min-height: 250px; place-items: center; overflow: hidden; border-radius: 16px; background: linear-gradient(145deg, #f7fafc, var(--blue-soft)); }
.product-card__image img { width: 100%; height: 250px; object-fit: cover; }
.product-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 19px; color: var(--muted); font-size: 13px; }
.product-card__status { padding: 5px 9px; border-radius: 999px; color: var(--blue-dark); background: var(--blue-soft); font-weight: 700; }
.product-card h3 { margin: 12px 0 0; font-size: 21px; line-height: 1.2; }
.product-card__bottom { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-top: 20px; }
.product-card__price small { display: block; color: var(--muted); }
.product-card__price strong { display: block; margin-top: 2px; font-size: 24px; }
.collection-empty { grid-column: 1 / -1; display: grid; min-height: 210px; place-items: center; align-content: center; gap: 8px; padding: 32px; border: 1px dashed #c7d5e2; border-radius: var(--radius); color: var(--muted); background: rgba(255,255,255,.72); text-align: center; }
.collection-empty[hidden] { display: none; }
.collection-empty__icon, .media-placeholder, .case-card__placeholder { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 16px; color: var(--blue); background: var(--blue-soft); }
.collection-empty__icon svg, .media-placeholder svg, .case-card__placeholder svg { width: 25px; height: 25px; }
.collection-empty strong { color: var(--ink); font-size: 20px; }
.collection-empty p { max-width: 520px; margin: 0; line-height: 1.5; }
.content-placeholder { color: var(--muted); font-style: italic; }
.filter-empty { display: inline-flex; align-items: center; min-height: 38px; padding: 0 12px; border: 1px dashed #c7d5e2; border-radius: 10px; color: var(--muted); background: rgba(255,255,255,.7); font-size: 13px; }
.product-card__image .media-placeholder, .solution-card__image .media-placeholder { width: 82px; height: 82px; border-radius: 24px; }
.home-solution-card { color: inherit; text-decoration: none; cursor: pointer; }
.home-solution-card:focus-visible { outline: 3px solid rgba(23,105,255,.3); outline-offset: 4px; }
.home-solution-card .btn { pointer-events: none; }
.home-solution-card .product-card__bottom .btn--primary { display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 14px; font-weight: 700; }
.clickable-card { cursor: pointer; }
.clickable-card:focus-visible { outline: 3px solid rgba(23,105,255,.3); outline-offset: 4px; }
.clickable-card a, .clickable-card button { position: relative; z-index: 1; }
.blog-card > a .media-placeholder { width: 100%; height: 100%; border-radius: 0; }

.business-card {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: var(--dark);
  isolation: isolate;
}
.business-card::before { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg, rgba(9,15,21,.98) 0%, rgba(9,15,21,.9) 38%, rgba(9,15,21,.18) 75%); }
.business-card > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.business-copy { max-width: 600px; padding: 58px; color: #fff; }
.business-copy span { color: #8fb9ff; font-size: 14px; font-weight: 750; }
.business-copy h2 { margin: 14px 0 0; font-size: clamp(36px, 4vw, 56px); line-height: 1; letter-spacing: -.045em; }
.business-copy p { margin: 20px 0 30px; color: #d4dce5; font-size: 18px; }

.benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.benefit { position: relative; min-height: 210px; padding: 25px 20px; background: #fff; }
.benefit:not(:last-child)::after { position: absolute; top: 0; right: 0; bottom: 0; width: 1px; content: ""; background: var(--line); }
.benefit svg { width: 34px; height: 34px; color: var(--blue); }
.benefit strong { display: block; margin-top: 24px; font-size: 17px; line-height: 1.2; }
.benefit p { margin: 10px 0 0; color: var(--muted); font-size: 13px; }

.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; counter-reset: steps; }
.step { position: relative; min-height: 190px; padding: 25px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.step::before { display: grid; width: 42px; height: 42px; place-items: center; content: counter(steps); counter-increment: steps; border-radius: 50%; color: #fff; background: var(--blue); font-weight: 800; }
.step h3 { margin: 24px 0 0; font-size: 20px; }
.step p { margin: 8px 0 0; color: var(--muted); font-size: 14px; }

.reviews-layout { display: grid; grid-template-columns: 1.4fr .6fr; gap: 16px; }
.review-list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.review-card { display: flex; height: 100%; min-height: 0; flex-direction: column; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.review-card__top { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.review-rating { display: inline-flex; align-items: center; gap: 7px; font-weight: 800; }
.review-rating svg { width: 20px; height: 20px; flex: 0 0 20px; color: #ffb928; fill: currentColor; }
.review-card blockquote { flex: 1 0 auto; margin: 22px 0; }
.review-card blockquote p { margin: 0; }
.review-card__date { color: #8a96a1; font-size: 13px; }
.review-card__service { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; padding: 13px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 13px; }
.review-card__service span { color: var(--muted); }
.review-card__service strong { max-width: 68%; text-align: right; }
.review-card footer { display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 12px; margin-top: auto; }
.review-card__avatar { display: inline-grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border-radius: 14px; color: var(--blue); background: var(--blue-soft); line-height: 0; }
.review-card__avatar svg { display: block; width: 20px; height: 20px; margin: auto; }
.review-card footer > div > span { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; }
.review-card__verified { display: inline-flex; align-items: center; gap: 5px; color: #26845a; font-size: 12px; font-weight: 700; }
.review-card__verified svg { width: 16px; height: 16px; }
.stars { color: var(--blue); letter-spacing: 2px; }
.review-card p { margin: 17px 0 24px; color: #3f4b57; }
.review-author { display: flex; align-items: center; gap: 12px; }
.avatar { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: var(--blue-dark); background: var(--blue-soft); font-weight: 800; }
.review-author small { display: block; color: var(--muted); }
.today-card { padding: 30px; border-radius: var(--radius); background: var(--blue-soft); }
.today-card svg { width: 48px; height: 48px; color: var(--blue); }
.today-card h3 { margin: 28px 0 0; font-size: 29px; line-height: 1.1; }
.today-card p { margin: 14px 0 24px; color: var(--muted); }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-question { display: flex; width: 100%; min-height: 72px; align-items: center; justify-content: space-between; gap: 24px; padding: 0; border: 0; color: var(--ink); background: transparent; text-align: left; font-weight: 700; }
.faq-question svg { width: 22px; height: 22px; flex: 0 0 auto; transition: transform .25s ease; }
.faq-item.is-user-open .faq-question { color: var(--blue); }
.faq-item.is-user-open .faq-question svg { transform: rotate(45deg); }
.faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .28s ease; }
.faq-answer > div { overflow: hidden; }
.faq-answer p { max-width: 820px; margin: 0; padding: 0 0 24px; color: var(--muted); }
.faq-item.is-user-open .faq-answer { grid-template-rows: 1fr; }

.cta-card { position: relative; overflow: hidden; padding: 44px; border-radius: var(--radius-lg); background: var(--blue-soft); }
.cta-card::after { position: absolute; right: -30px; bottom: -85px; width: 260px; height: 260px; content: ""; border: 32px solid rgba(23,105,255,.055); border-radius: 50%; }
.cta-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .75fr 1.25fr; align-items: center; gap: 54px; }
.cta-copy h2 { margin: 0; font-size: clamp(34px, 4vw, 50px); line-height: 1.02; letter-spacing: -.04em; }
.cta-copy p { margin: 16px 0 0; color: var(--muted); }
.lead-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; }
.field { width: 100%; min-height: 54px; padding: 0 16px; border: 1px solid transparent; border-radius: 13px; color: var(--ink); background: #fff; }
.field::placeholder { color: #93a0ac; }
.field[aria-invalid="true"] { border-color: #d55a50; box-shadow: 0 0 0 3px rgba(180,35,24,.09); }
.form-consent { display: flex; grid-column: 1 / -1; align-items: flex-start; gap: 8px; margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.45; cursor: pointer; }
.form-consent input { width: 17px; height: 17px; flex: 0 0 17px; margin: 0; accent-color: var(--blue); }
.form-consent > span { min-width: 0; }
.form-consent a { color: var(--blue); text-decoration: underline; }
.form-error { grid-column: 1 / -1; color: #c93636; font-size: 13px; }
.form-success { grid-column: 1 / -1; margin: 0 0 12px; padding: 12px 14px; border-radius: 12px; color: #11613c; background: #eaf8f0; font-weight: 650; }
.form-ajax-status { grid-column: 1 / -1; width: 100%; margin: 0; }
.form-ajax-status.form-error { padding: 11px 13px; border-radius: 11px; background: #fff0ee; }
form.is-submitting { cursor: progress; }

.site-footer { padding: 52px 0 28px; color: #d9e1e8; background: var(--dark); }
.footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr) 1.15fr; gap: 38px; }
.footer-brand .brand__text { color: #fff; }
.footer-brand p { max-width: 260px; margin: 18px 0 0; color: #94a3b2; font-size: 14px; }
.footer-col__title { margin: 0 0 17px; color: #fff; font-size: 15px; font-weight: 700; }
.footer-col a, .footer-col span { display: block; margin: 9px 0; color: #a8b4c0; font-size: 14px; }
.footer-col a:hover { color: #fff; }
.footer-contact strong { display: block; margin-bottom: 12px; color: #fff; font-size: 20px; }
.socials { display: flex; gap: 8px; margin-top: 18px; }
.socials a { display: grid; width: 36px; height: 36px; place-items: center; margin: 0; border-radius: 50%; color: #fff; background: #263441; line-height: 0; }
.socials a:hover, .socials a:focus-visible { color: #fff; background: var(--blue); outline: none; }
.socials svg { display: block; width: 18px; height: 18px; overflow: visible; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 40px; padding-top: 24px; border-top: 1px solid #263441; color: #728190; font-size: 13px; }
.footer-legal { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 20px; }

.modal { position: fixed; z-index: 100; inset: 0; display: none; place-items: center; padding: 20px; background: rgba(5, 11, 17, .64); backdrop-filter: blur(7px); }
.modal.is-open { display: grid; }
.modal__dialog { position: relative; width: min(100%, 560px); max-height: calc(100dvh - 40px); overflow-y: auto; padding: 36px; border-radius: var(--radius-lg); background: #fff; box-shadow: 0 24px 80px rgba(0,0,0,.24); }
.modal__close { position: absolute; top: 16px; right: 16px; display: grid; width: 42px; height: 42px; place-items: center; border: 0; border-radius: 50%; background: var(--blue-pale); }
.modal__close svg { width: 22px; height: 22px; }
.modal__title { max-width: 420px; margin: 0; font-size: 38px; font-weight: 700; line-height: 1.05; letter-spacing: -.04em; }
.modal p { margin: 14px 0 24px; color: var(--muted); }
.modal__context { display: grid; gap: 5px; margin: -8px 0 20px; padding: 12px 14px; border: 1px solid #d5e4f5; border-radius: 13px; background: var(--blue-soft); }
.modal__context[hidden] { display: none; }
.modal__context span { color: #637588; font-size: 11px; font-weight: 700; }
.modal__context strong { color: var(--ink); font-size: 14px; line-height: 1.4; }
.modal-form { display: grid; gap: 10px; }
.modal-form .field { border-color: var(--line); }
.toast { position: fixed; z-index: 120; right: 24px; bottom: 24px; max-width: 390px; padding: 16px 18px; border-radius: 14px; color: #fff; background: #183047; box-shadow: var(--shadow); transform: translateY(140%); transition: transform .3s ease; }
.toast.is-visible { transform: translateY(0); }

/* FAQ help center */
.faq-hero { padding: 36px 0 44px; }
.faq-hero__grid { display: grid; grid-template-columns: 1fr .72fr; align-items: center; gap: 55px; }
.faq-hero h1 { margin: 0; font-size: clamp(50px, 6vw, 76px); line-height: .98; letter-spacing: -.057em; }
.faq-hero__lead { margin: 20px 0 0; color: #4f5c68; font-size: 19px; }
.faq-search { display: flex; overflow: hidden; margin-top: 27px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 10px 32px rgba(17,24,32,.08); }
.faq-search label { display: flex; flex: 1; align-items: center; gap: 11px; padding-left: 17px; }
.faq-search svg { width: 22px; height: 22px; color: #8995a0; }
.faq-search input { width: 100%; min-height: 58px; padding-right: 12px; border: 0; outline: 0; }
.faq-search .btn { min-height: 48px; margin: 5px; }
.faq-popular { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 17px; color: var(--muted); font-size: 12px; }
.faq-query { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: #4b5864; background: #fff; font-size: 12px; }
.faq-query:hover { color: var(--blue); border-color: #bdd1e6; }
.faq-hero__visual { position: relative; display: grid; min-height: 390px; place-items: center; overflow: hidden; border-radius: var(--radius-lg); background: radial-gradient(circle at 50% 50%, #fff 0 17%, var(--blue-soft) 48%, #f8fbfe 74%); }
.faq-visual__search { display: grid; width: 145px; height: 145px; place-items: center; border: 14px solid #6ea4ff; border-radius: 50%; color: var(--blue); box-shadow: 0 18px 35px rgba(23,105,255,.18); transform: rotate(-12deg); }
.faq-visual__search::after { position: absolute; width: 24px; height: 110px; content: ""; border-radius: 14px; background: #6ea4ff; transform: translate(78px, 85px) rotate(-33deg); }
.faq-visual__search svg { width: 62px; height: 62px; }
.faq-visual__bubble { position: absolute; right: 55px; bottom: 56px; display: grid; width: 105px; height: 82px; place-items: center; border-radius: 20px; color: var(--blue); background: #fff; box-shadow: var(--shadow); font-size: 28px; font-weight: 800; letter-spacing: 5px; }
.faq-visual__bubble::after { position: absolute; bottom: -14px; left: 20px; content: ""; border: 15px solid transparent; border-top-color: #fff; transform: rotate(18deg); }
.faq-topics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.faq-topic { min-height: 240px; padding: 23px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.faq-topic:nth-child(n+4) { background: var(--blue-soft); }
.faq-topic__icon { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 16px; color: var(--blue); background: var(--blue-soft); }
.faq-topic:nth-child(n+4) .faq-topic__icon { background: #fff; }
.faq-topic__icon svg { width: 29px; height: 29px; }
.faq-topic h3 { margin: 19px 0 0; font-size: 18px; }
.faq-topic button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding: 0; border: 0; color: var(--blue); background: transparent; text-align: left; font-size: 13px; }
.faq-topic button svg { width: 16px; height: 16px; flex: 0 0 auto; }
.faq-center { display: grid; grid-template-columns: 225px 1fr; gap: 18px; align-items: start; }
.faq-sidebar { display: grid; gap: 14px; }
.faq-categories { padding: 12px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.faq-categories h3 { margin: 7px 9px 10px; font-size: 15px; }
.faq-category { display: flex; width: 100%; min-height: 43px; align-items: center; gap: 10px; padding: 0 11px; border: 0; border-radius: 10px; color: #42505d; background: transparent; text-align: left; font-size: 13px; font-weight: 650; }
.faq-category svg { width: 20px; height: 20px; color: #788693; }
.faq-category:hover, .faq-category.is-active { color: var(--blue); background: var(--blue-soft); }
.faq-category.is-active svg { color: var(--blue); }
.faq-contact-mini { padding: 20px; border-radius: var(--radius); background: var(--blue-soft); }
.faq-contact-mini svg { width: 32px; height: 32px; color: var(--blue); }
.faq-contact-mini h3 { margin: 17px 0 0; font-size: 18px; }
.faq-contact-mini p { margin: 8px 0 16px; color: var(--muted); font-size: 12px; }
.faq-results { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.faq-results__head { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 12px; }
.faq-results__head h2 { margin: 0; font-size: 25px; }
.faq-results__head span { color: var(--muted); font-size: 12px; }
.faq-results .faq-item[hidden] { display: none; }
.faq-results .faq-question { min-height: 64px; }
.faq-empty { padding: 34px; color: var(--muted); text-align: center; }
.faq-emergency { position: relative; min-height: 280px; overflow: hidden; border-radius: var(--radius-lg); background: var(--dark); isolation: isolate; }
.faq-emergency::after { position: absolute; z-index: -1; inset: 0; content: ""; background: linear-gradient(90deg, rgba(13,23,32,.98) 0 48%, rgba(13,23,32,.22)); }
.faq-emergency img { position: absolute; z-index: -2; inset: 0 0 0 auto; width: 64%; height: 100%; object-fit: cover; }
.faq-emergency__copy { max-width: 570px; padding: 42px; color: #fff; }
.faq-emergency__copy h2 { margin: 0; font-size: 38px; letter-spacing: -.04em; }
.faq-emergency__copy p { margin: 11px 0 22px; color: #bdc8d2; }
.faq-emergency__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.faq-emergency__phone { font-size: 19px; font-weight: 800; }
.guides-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.guide-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.guide-card__image { height: 165px; overflow: hidden; background: var(--blue-soft); }
.guide-card__image img { width: 100%; height: 100%; object-fit: cover; }
.guide-card__body { padding: 17px; }
.guide-card h3 { margin: 0; font-size: 17px; line-height: 1.2; }
.guide-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 17px; color: var(--muted); font-size: 12px; }
.guide-card__meta svg { width: 18px; height: 18px; color: var(--blue); }
.contact-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 24px; }
.contact-option { padding: 20px; border-radius: 16px; background: #fff; }
.contact-option svg { width: 28px; height: 28px; color: var(--blue); }
.contact-option h3 { margin: 15px 0 0; font-size: 17px; }
.contact-option p { margin: 6px 0 15px; color: var(--muted); font-size: 12px; }
.faq-question-form { margin-top: 24px; }

/* Cases */
.cases-hero { padding: 40px 0 30px; }
.cases-hero__grid { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 50px; }
.cases-hero h1 { margin: 0; font-size: clamp(50px, 6vw, 78px); line-height: .98; letter-spacing: -.057em; }
.cases-hero p { max-width: 650px; margin: 22px 0 0; color: #4f5c68; font-size: 18px; }
.cases-hero__stats { display: flex; gap: 0; }
.cases-hero__stat { min-width: 180px; padding: 8px 28px; border-left: 1px solid var(--line); }
.cases-hero__stat:first-child { border-left: 0; }
.cases-hero__stat strong { display: block; color: var(--blue); font-size: 40px; line-height: 1; letter-spacing: -.04em; }
.cases-hero__stat span { display: block; margin-top: 7px; color: var(--muted); font-size: 13px; }
.case-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.case-filters { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 3px; }
.case-filter { flex: 0 0 auto; min-height: 44px; padding: 0 18px; border: 1px solid var(--line); border-radius: 12px; color: #41505d; background: #fff; font-size: 14px; font-weight: 700; }
.case-filter:hover, .case-filter.is-active { color: #fff; border-color: var(--blue); background: var(--blue); }
.case-toolbar__count { flex: 0 0 auto; color: var(--muted); font-size: 13px; }
.cases-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }
.case-card { position: relative; grid-column: span 4; min-height: 360px; overflow: hidden; border-radius: var(--radius); background: #dfe7ed; isolation: isolate; }
.case-card--large { grid-column: span 7; min-height: 480px; }
.case-card--wide { grid-column: span 8; min-height: 390px; }
.case-card--small-wide { grid-column: span 5; min-height: 390px; }
.case-card[hidden] { display: none; }
.case-card::after { position: absolute; z-index: -1; inset: 35% 0 0; content: ""; background: linear-gradient(180deg, transparent, rgba(5,12,18,.88)); }
.case-card img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.case-card__placeholder { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; border-radius: 0; color: #7aa7ef; background: linear-gradient(145deg,#eaf2fb,#dce9f7); }
.case-card:hover img { transform: scale(1.035); }
.case-card__content { position: absolute; right: 0; bottom: 0; left: 0; padding: 24px; color: #fff; }
.case-card__tag { display: inline-flex; padding: 6px 10px; border-radius: 999px; color: #17324a; background: rgba(255,255,255,.9); backdrop-filter: blur(8px); font-size: 11px; font-weight: 750; }
.case-card h2 { max-width: 620px; margin: 13px 0 0; font-size: clamp(22px, 2.5vw, 32px); line-height: 1.08; letter-spacing: -.03em; }
.case-card__meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 13px; color: #d8e2ea; font-size: 12px; }
.case-card__arrow { position: absolute; right: 22px; bottom: 22px; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: var(--blue); background: #fff; transform: translateY(4px); transition: transform .2s ease; }
.case-card:hover .case-card__arrow { transform: translateY(0); }
.case-card__arrow svg { width: 20px; height: 20px; }
.case-principles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.case-principle { padding: 23px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.case-principle svg { width: 32px; height: 32px; color: var(--blue); }
.case-principle h3 { margin: 23px 0 0; font-size: 18px; }
.case-principle p { margin: 8px 0 0; color: var(--muted); font-size: 13px; }

/* Solutions catalog */
.solutions-hero { padding: 38px 0 32px; }
.solutions-hero__grid { display: grid; grid-template-columns: .86fr 1.14fr; align-items: center; gap: 52px; }
.solutions-hero h1 { margin: 0; max-width: 660px; font-size: clamp(50px, 5.8vw, 76px); line-height: .98; letter-spacing: -.057em; }
.solutions-hero__lead { max-width: 620px; margin: 22px 0 0; color: #4f5c68; font-size: 19px; }
.solutions-hero__actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 28px; }
.solutions-hero__trust { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.solutions-hero__media { display: grid; min-height: 450px; place-items: center; overflow: hidden; border-radius: var(--radius-lg); background: radial-gradient(circle at 55% 48%, #fff 0 18%, var(--blue-soft) 58%, #f9fbfd 100%); }
.solutions-hero__media img { width: 100%; height: 100%; min-height: 450px; object-fit: cover; }
.solutions-note { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 15px; padding: 18px 22px; border-radius: 17px; background: var(--blue-soft); }
.solutions-note__icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; color: var(--blue); background: #fff; }
.solutions-note__icon svg { width: 25px; height: 25px; }
.solutions-note > div > strong, .solutions-note > div > span { display: block; }
.solutions-note > div > span { margin-top: 3px; color: var(--muted); font-size: 13px; }
.object-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: 16px; }
.object-card { position: relative; min-width: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius); background: #dfe7ed; isolation: isolate; }
.object-card::after { position: absolute; z-index: -1; inset: 42% 0 0; content: ""; background: linear-gradient(transparent, rgba(8,16,23,.8)); }
.object-card img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.object-card:hover img { transform: scale(1.04); }
.object-card__bottom { position: absolute; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 17px; color: #fff; font-weight: 750; }
.object-card__bottom svg { width: 19px; height: 19px; }
.object-card--placeholder { background: linear-gradient(145deg, #edf5ff 0%, #dfeaf7 54%, #cbd8e5 100%); }
.object-card--placeholder::before { position: absolute; z-index: 0; top: -46px; right: -34px; width: 160px; height: 160px; content: ""; border: 1px solid rgba(23,105,255,.14); border-radius: 50%; box-shadow: 0 0 0 30px rgba(255,255,255,.24), 0 0 0 62px rgba(23,105,255,.035); }
.object-card--placeholder::after { z-index: 1; inset: 48% 0 0; background: linear-gradient(transparent, rgba(10,24,38,.78)); }
.object-card__placeholder { position: absolute; z-index: 1; top: 30px; left: 50%; display: grid; width: 62px; height: 62px; place-items: center; border: 1px solid rgba(23,105,255,.16); border-radius: 20px; color: var(--blue); background: rgba(255,255,255,.82); box-shadow: 0 12px 28px rgba(39,75,112,.1); transform: translateX(-50%); }
.object-card__placeholder svg { width: 27px; height: 27px; }
.object-card--placeholder .object-card__bottom { z-index: 2; }
.solution-catalog-head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 20px; margin-bottom: 20px; }
.solution-catalog-head h2 { margin: 0; font-size: clamp(34px,4vw,50px); line-height: 1.04; letter-spacing: -.045em; }
.solution-catalog-head span { color: var(--muted); font-size: 13px; }
.solution-controls { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.solution-search { display: flex; min-width: 250px; flex: 1; align-items: center; gap: 9px; padding: 0 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.solution-search svg { width: 20px; height: 20px; color: #87939f; }
.solution-search input { width: 100%; min-height: 44px; border: 0; outline: 0; }
.solution-filters { display: flex; gap: 7px; overflow-x: auto; }
.solution-filter { min-height: 44px; flex: 0 0 auto; padding: 0 16px; border: 1px solid var(--line); border-radius: 12px; color: #42505d; background: #fff; font-size: 13px; font-weight: 700; }
.solution-filter:hover, .solution-filter.is-active { color: #fff; border-color: var(--blue); background: var(--blue); }
.solution-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.solution-card { display: flex; min-height: 410px; flex-direction: column; padding: 15px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .22s ease, box-shadow .22s ease; }
.solution-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.solution-card[hidden] { display: none; }
.solution-card__image { display: grid; min-height: 205px; place-items: center; overflow: hidden; border-radius: 16px; background: linear-gradient(145deg,#f8fafc,var(--blue-soft)); }
.solution-card__image img { width: 100%; height: 205px; object-fit: cover; }
.solution-card__body { display: flex; flex: 1; flex-direction: column; padding: 16px 4px 3px; }
.solution-card h3 { margin: 0; font-size: 21px; line-height: 1.12; }
.solution-card p { margin: 9px 0 0; color: var(--muted); font-size: 13px; }
.solution-card__price { margin-top: auto; padding-top: 17px; }
.solution-card__price small { display: block; color: var(--muted); }
.solution-card__price strong { display: block; margin-top: 2px; font-size: 21px; }
.solution-card .btn { width: 100%; margin-top: 13px; }
.solution-empty { grid-column: 1 / -1; padding: 42px; border: 1px dashed #bbc9d6; border-radius: var(--radius); color: var(--muted); text-align: center; }
.solution-picker { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; min-height: 390px; overflow: hidden; border-radius: var(--radius-lg); background: var(--blue-soft); }
.solution-picker__copy { padding: 40px; }
.solution-picker h2 { margin: 0; font-size: clamp(36px,4vw,51px); line-height: 1.02; letter-spacing: -.045em; }
.solution-picker__progress { display: grid; max-width: 232px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 11px; margin: 20px 0 22px; }
.solution-picker__progress-track { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.solution-picker__progress-track span { height: 4px; border-radius: 999px; background: #c7d6e5; transition: background-color .18s ease,transform .18s ease; }
.solution-picker__progress-track span.is-complete { background: var(--blue); transform: scaleY(1.15); }
.solution-picker__progress-label { color: #647586; font-size: 11px; font-weight: 700; white-space: nowrap; }
.solution-picker__question { margin: 0 0 12px; font-weight: 750; }
.solution-picker__options { display: flex; flex-wrap: wrap; gap: 8px; }
.solution-object { min-height: 42px; padding: 0 14px; border: 1px solid #c9d6e2; border-radius: 11px; color: #42505d; background: #fff; font-size: 13px; font-weight: 700; }
.solution-object.is-active { color: #fff; border-color: var(--blue); background: var(--blue); }
.solution-picker__options[data-invalid="true"] .solution-object { border-color: #dfa8a3; }
.solution-picker__fields { display: grid; grid-template-columns: 1.2fr .8fr; gap: 10px; margin-top: 18px; }
.solution-picker__fields label { display: grid; gap: 7px; color: #42505d; font-size: 12px; font-weight: 750; }
.solution-picker__fields input, .solution-picker__fields select { width: 100%; min-height: 48px; padding: 0 13px; border: 1px solid #c9d6e2; border-radius: 12px; color: var(--ink); background: #fff; font: inherit; }
.solution-picker__fields input:focus, .solution-picker__fields select:focus { outline: 3px solid rgba(23,105,255,.16); border-color: var(--blue); }
.solution-picker__fields input[aria-invalid="true"], .solution-picker__fields select[aria-invalid="true"] { border-color: #d55a50; box-shadow: 0 0 0 3px rgba(180,35,24,.09); }
.solution-picker__row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; margin-top: 16px; }
.solution-picker__summary { color: var(--muted); font-size: 12px; line-height: 1.45; }
.solution-picker__error { margin: 10px 0 0; color: #b42318; font-size: 13px; font-weight: 700; }
.solution-picker__visual { display: grid; min-height: 390px; place-items: center; background: linear-gradient(135deg, transparent, rgba(23,105,255,.09)); }
.solution-picker__visual img { width: 78%; max-height: 330px; object-fit: contain; }
.brands-row { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.brand-placeholder { display: grid; min-height: 86px; place-items: center; border: 1px solid var(--line); border-radius: 16px; color: #75828e; background: #fff; font-size: 18px; font-weight: 800; letter-spacing: .02em; }
.brand-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 14px; }
.brand-benefit { display: flex; align-items: flex-start; gap: 12px; padding: 18px; border-radius: 16px; background: #fff; }
.brand-benefit svg { width: 28px; height: 28px; flex: 0 0 auto; color: var(--blue); }
.brand-benefit strong, .brand-benefit span { display: block; }
.brand-benefit span { margin-top: 4px; color: var(--muted); font-size: 12px; }
.choice-guides { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.choice-guide { min-height: 225px; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.choice-guide h3 { margin: 0; font-size: 20px; }
.choice-guide__diagram { display: flex; align-items: center; justify-content: center; gap: 13px; height: 95px; margin: 13px 0; color: var(--blue); }
.choice-guide__diagram img { max-width: 42%; max-height: 85px; object-fit: contain; }
.choice-guide__diagram span { font-weight: 800; }
.order-flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; counter-reset: solution-order; }
.order-flow__item { position: relative; min-height: 160px; padding: 21px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.order-flow__item::before { display: grid; width: 35px; height: 35px; place-items: center; content: counter(solution-order); counter-increment: solution-order; border-radius: 50%; color: #fff; background: var(--blue); font-weight: 800; }
.order-flow__item h3 { margin: 18px 0 0; font-size: 17px; }
.order-flow__item p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
.solution-cases { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.solution-case { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.solution-case img { width: 100%; height: 200px; object-fit: cover; }
.solution-case > .media-placeholder { width: 100%; height: 200px; border-radius: 0; }
.solution-case__body { padding: 18px; }
.solution-case__body span { color: var(--blue); font-size: 12px; font-weight: 700; }
.solution-case h3 { margin: 7px 0 0; font-size: 20px; }
.solution-case p { margin: 8px 0 15px; color: var(--muted); font-size: 13px; }

/* Product catalog */
.catalog-hero { padding: 38px 0 30px; }
.catalog-hero__grid { display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 50px; }
.catalog-hero h1 { max-width: 650px; margin: 0; font-size: clamp(50px, 5.8vw, 76px); line-height: .98; letter-spacing: -.057em; }
.catalog-hero__lead { max-width: 600px; margin: 22px 0 0; color: #4f5c69; font-size: 19px; }
.catalog-hero__chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 27px; }
.catalog-hero__media { display: grid; min-height: 430px; place-items: center; overflow: hidden; border-radius: var(--radius-lg); background: radial-gradient(circle at 54% 45%, #fff 0 22%, var(--blue-soft) 57%, #f9fbfd 100%); }
.catalog-hero__media img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; }
.order-explainer { display: grid; grid-template-columns: 180px repeat(3, 1fr) auto; align-items: center; gap: 18px; margin-top: 16px; padding: 18px 20px; border-radius: 17px; background: var(--blue-soft); }
.order-explainer__title { display: flex; align-items: center; gap: 10px; font-weight: 800; }
.order-explainer__title svg { width: 26px; height: 26px; color: var(--blue); }
.order-step { display: flex; align-items: center; gap: 10px; color: #4e5c68; font-size: 13px; }
.order-step strong { display: grid; width: 31px; height: 31px; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--blue); background: #fff; }
.product-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 26px 0 16px; }
.product-toolbar__count { color: var(--muted); }
.select-control { min-height: 44px; padding: 0 38px 0 13px; border: 1px solid var(--line); border-radius: 12px; color: #3f4b57; background: #fff; }
.product-layout { display: grid; grid-template-columns: 245px 1fr; align-items: start; gap: 18px; }
.product-filters { display: grid; gap: 14px; }
.product-filter-card { padding: 21px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.product-filter-card h3 { margin: 0 0 16px; font-size: 17px; }
.product-filter-card label { display: flex; align-items: flex-start; gap: 9px; margin-top: 12px; color: #4b5864; font-size: 14px; }
.product-filter-card input[type="checkbox"] { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--blue); }
.product-filter-field { display: grid; gap: 7px; margin-top: 16px; }
.product-filter-field > span { color: #4c5965; font-size: 13px; font-weight: 700; }
.product-filter-field input, .product-filter-field select { width: 100%; min-height: 43px; padding: 0 12px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.product-filter-actions { display: grid; gap: 8px; margin-top: 18px; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.equipment-card { position: relative; display: flex; min-height: 540px; flex-direction: column; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.equipment-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.equipment-card.is-compared { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(23,105,255,.12); }
.equipment-card[hidden] { display: none; }
.equipment-card__tools { position: absolute; z-index: 2; top: 25px; right: 24px; left: 24px; display: flex; align-items: center; justify-content: space-between; }
.compare-check { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 7px; background: #fff; box-shadow: 0 4px 14px rgba(17,24,32,.1); }
.compare-check input { width: 16px; height: 16px; margin: 0; accent-color: var(--blue); }
.equipment-favorite { display: grid; width: 33px; height: 33px; place-items: center; border: 0; border-radius: 50%; color: #7b8996; background: #fff; box-shadow: 0 4px 14px rgba(17,24,32,.1); }
.equipment-favorite svg { width: 18px; height: 18px; }
.equipment-card__image { display: grid; min-height: 220px; place-items: center; overflow: hidden; border-radius: 16px; background: linear-gradient(145deg, #f7fafc, var(--blue-soft)); }
.equipment-card__image img { width: 90%; max-height: 205px; object-fit: contain; }
.equipment-card__body { display: flex; flex: 1; flex-direction: column; padding: 17px 4px 4px; }
.equipment-card__type { color: var(--muted); font-size: 12px; }
.equipment-card h3 { margin: 6px 0 0; font-size: 20px; line-height: 1.15; }
.equipment-specs { display: grid; gap: 6px; margin: 15px 0 0; padding: 0; list-style: none; color: #52606c; font-size: 13px; }
.equipment-specs li::before { margin-right: 7px; color: var(--blue); content: "•"; }
.availability { align-self: flex-start; margin-top: 15px; padding: 5px 9px; border-radius: 999px; color: #8b5a11; background: #fff3dc; font-size: 12px; font-weight: 750; }
.availability--fast { color: #197044; background: #e8f7ee; }
.availability--request { color: var(--blue-dark); background: var(--blue-soft); }
.equipment-card__price { margin-top: auto; padding-top: 15px; }
.equipment-card__price small { display: block; color: var(--muted); }
.equipment-card__price strong { display: block; margin-top: 2px; font-size: 22px; }
.equipment-card__price span { display: block; color: var(--muted); font-size: 11px; }
.equipment-card__actions { display: grid; grid-template-columns: 1fr auto; gap: 7px; margin-top: 13px; }
.equipment-card__actions .btn { min-height: 43px; padding-inline: 13px; }
.product-empty { grid-column: 1 / -1; padding: 44px; border: 1px dashed #bccbd7; border-radius: var(--radius); color: var(--muted); background: #fff; text-align: center; }
.compare-bar { position: fixed; z-index: 45; right: 24px; bottom: 24px; left: 24px; display: flex; width: min(calc(100% - 48px), 820px); align-items: center; justify-content: space-between; gap: 18px; margin-inline: auto; padding: 13px 14px 13px 18px; border: 1px solid #314352; border-radius: 17px; color: #fff; background: rgba(17,26,35,.96); box-shadow: 0 18px 55px rgba(0,0,0,.24); backdrop-filter: blur(12px); }
.compare-bar[hidden] { display: none; }
.compare-bar strong, .compare-bar span { display: block; }
.compare-bar span { max-width: 490px; overflow: hidden; color: #aebbc6; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.request-spec { display: grid; grid-template-columns: 1fr .85fr; align-items: center; min-height: 300px; overflow: hidden; border-radius: var(--radius-lg); background: var(--blue-soft); }
.request-spec__copy { padding: 42px; }
.request-spec__copy h2 { margin: 0; font-size: clamp(34px,4vw,48px); line-height: 1.02; letter-spacing: -.04em; }
.request-spec__copy p { margin: 14px 0 24px; color: var(--muted); }
.request-spec__visual { position: relative; display: grid; min-height: 300px; place-items: center; background: linear-gradient(135deg, transparent, rgba(23,105,255,.1)); }
.request-spec__visual img { width: 75%; max-height: 260px; object-fit: contain; }
.series-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.series-card { display: grid; grid-template-columns: 1fr 1fr; min-height: 235px; overflow: hidden; border-radius: var(--radius); background: var(--blue-soft); }
.series-card__copy { display: flex; flex-direction: column; padding: 24px 10px 22px 22px; }
.series-card h3 { margin: 0; font-size: 20px; line-height: 1.15; }
.series-card p { margin: 9px 0 18px; color: var(--muted); font-size: 13px; }
.series-card .text-link { margin-top: auto; font-size: 13px; }
.series-card img { width: 100%; height: 100%; object-fit: contain; }
.comparison-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.comparison-table { width: 100%; min-width: 760px; border-collapse: collapse; }
.comparison-table th, .comparison-table td { padding: 14px 16px; border-bottom: 1px solid var(--line); text-align: left; }
.comparison-table th { font-size: 14px; }
.comparison-table td { color: #4f5c68; font-size: 13px; }
.comparison-table tr:last-child td { border-bottom: 0; }
.comparison-table th:first-child, .comparison-table td:first-child { width: 180px; color: var(--muted); font-weight: 600; }
.supply-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.supply-item { padding: 18px 12px; border-radius: 16px; background: #fff; }
.supply-item svg { width: 29px; height: 29px; color: var(--blue); }
.supply-item strong { display: block; margin-top: 15px; font-size: 14px; }
.supply-item span { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }

/* Services catalog */
.services-hero { padding: 38px 0 32px; }
.services-hero__grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 50px; }
.services-hero h1 { max-width: 650px; margin: 0; font-size: clamp(50px, 5.8vw, 76px); line-height: .98; letter-spacing: -.057em; }
.services-hero__lead { max-width: 590px; margin: 23px 0 0; color: #4f5c69; font-size: 19px; }
.services-hero__trust { display: inline-flex; align-items: center; gap: 12px; margin-top: 28px; padding: 13px 16px; border: 1px solid var(--line); border-radius: 14px; font-weight: 700; }
.services-hero__trust svg { width: 24px; height: 24px; color: var(--blue); }
.services-hero__media { position: relative; min-height: 430px; overflow: hidden; border-radius: var(--radius-lg); background: radial-gradient(circle at 62% 42%, #fff 0 22%, var(--blue-soft) 58%, #f9fbfd 100%); }
.services-hero__media img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; }
.service-search { display: flex; overflow: hidden; margin-top: 28px; border: 1px solid var(--line); border-radius: 15px; background: #fff; box-shadow: 0 8px 28px rgba(17,24,32,.05); }
.service-search label { display: flex; flex: 1; align-items: center; gap: 11px; padding-left: 17px; }
.service-search svg { width: 21px; height: 21px; flex: 0 0 auto; color: #8995a0; }
.service-search input { width: 100%; min-height: 56px; padding: 0 12px 0 0; border: 0; outline: 0; background: transparent; }
.service-search .btn { margin: 5px; min-height: 46px; }
.service-tabs { display: flex; gap: 8px; overflow-x: auto; margin-top: 16px; padding-bottom: 4px; }
.service-tab { flex: 0 0 auto; min-height: 43px; padding: 0 17px; border: 1px solid var(--line); border-radius: 12px; color: #3c4854; background: #fff; font-size: 14px; font-weight: 700; }
.service-tab:hover, .service-tab.is-active { color: #fff; border-color: var(--blue); background: var(--blue); }
.service-catalog-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 28px 0 16px; }
.service-catalog-meta h2 { margin: 0; font-size: 30px; letter-spacing: -.03em; }
.service-catalog-meta > span { color: var(--muted); font-size: 14px; }
.service-catalog-layout { display: grid; grid-template-columns: 240px 1fr; gap: 18px; align-items: start; }
.service-sidebar { display: grid; gap: 14px; }
.service-filter { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.service-filter h3 { margin: 0 0 17px; font-size: 17px; }
.service-filter label { display: flex; align-items: flex-start; gap: 10px; margin-top: 13px; color: #4a5763; font-size: 14px; cursor: pointer; }
.service-filter input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--blue); }
.service-help { padding: 22px; border-radius: var(--radius); background: var(--blue-soft); }
.service-help h3 { margin: 0; font-size: 19px; }
.service-help p { margin: 9px 0 18px; color: var(--muted); font-size: 13px; }
.service-help .btn { width: 100%; padding-inline: 12px; }
.service-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.catalog-service-card { position: relative; display: flex; min-height: 330px; flex-direction: column; overflow: hidden; padding: 23px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.catalog-service-card:hover { transform: translateY(-4px); border-color: #c5d7e7; box-shadow: var(--shadow); }
.catalog-service-card[hidden] { display: none; }
.catalog-service-card:nth-child(2n) { background: linear-gradient(155deg, #fff 20%, var(--blue-soft)); }
.catalog-service-card--dark { color: #fff; background: var(--dark) !important; }
.catalog-service-card__icon { display: grid; width: 66px; height: 66px; place-items: center; margin-bottom: 34px; border-radius: 20px; color: var(--blue); background: var(--blue-soft); }
.catalog-service-card__icon, .catalog-service-card h3 a { transition: color .2s ease, background-color .2s ease; }
.catalog-service-card__icon:hover { color: #fff; background: var(--blue); }
.catalog-service-card h3 a:hover { color: var(--blue); }
.catalog-service-card--dark .catalog-service-card__icon { color: #fff; background: #223444; }
.catalog-service-card--dark .catalog-service-card__icon:hover { background: var(--blue); }
.catalog-service-card--dark h3 a:hover { color: #8fb9ff; }
.catalog-service-card__icon svg { width: 34px; height: 34px; }
.catalog-service-card h3 { margin: 0; font-size: 23px; line-height: 1.12; letter-spacing: -.025em; }
.catalog-service-card p { margin: 11px 0 0; color: var(--muted); font-size: 14px; }
.catalog-service-card--dark p { color: #b9c5cf; }
.catalog-service-card__bottom { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 24px; }
.catalog-service-card__price small { display: block; color: var(--muted); }
.catalog-service-card__price strong { display: block; margin-top: 2px; font-size: 20px; }
.service-empty { grid-column: 1 / -1; padding: 42px; border: 1px dashed #bbc9d5; border-radius: var(--radius); color: var(--muted); background: #fff; text-align: center; }
.popular-services { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.popular-service { display: grid; grid-template-columns: minmax(250px, 1.6fr) .7fr .6fr auto; align-items: center; gap: 20px; min-height: 66px; padding: 10px 17px; }
.popular-service + .popular-service { border-top: 1px solid var(--line); }
.popular-service__name { display: flex; align-items: center; gap: 12px; font-weight: 700; }
.popular-service__name:hover { color: var(--blue); }
.popular-service__icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 11px; color: var(--blue); background: var(--blue-soft); }
.popular-service__icon svg { width: 21px; height: 21px; }
.popular-service small { color: var(--muted); }
.popular-service strong { white-space: nowrap; }
.service-cost-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.service-cost-card { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.service-cost-card svg { width: 32px; height: 32px; color: var(--blue); }
.service-cost-card h3 { margin: 24px 0 0; font-size: 17px; }
.service-cost-card p { margin: 7px 0 0; color: var(--muted); font-size: 13px; }
.price-note { display: flex; gap: 11px; margin-top: 14px; padding: 13px 16px; border-radius: 13px; color: #3f566a; background: var(--blue-soft); font-size: 13px; }
.price-note svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--blue); }
.service-includes { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; }
.service-include { padding: 20px 15px; border-top: 2px solid var(--blue); }
.service-include svg { width: 28px; height: 28px; color: var(--blue); }
.service-include strong { display: block; margin-top: 16px; font-size: 15px; }
.service-include span { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; }

/* About page */
.breadcrumbs { min-width: 0; padding: 24px 0 4px; }
.breadcrumbs__list { display: flex; align-items: center; width: max-content; max-width: 100%; min-width: 0; margin: 0; padding: 4px; border-radius: 12px; list-style: none; color: var(--muted); font-size: 14px; line-height: 1.35; transition: background-color .18s ease; }
.breadcrumbs__list:hover, .breadcrumbs__list:focus-within { background: var(--blue-soft); }
.breadcrumbs__item { display: inline-flex; align-items: center; min-width: 0; }
.breadcrumbs__item + .breadcrumbs__item::before { width: 7px; height: 7px; flex: 0 0 auto; margin: 0 17px 0 15px; border-top: 1.5px solid #8f9aa5; border-right: 1.5px solid #8f9aa5; content: ""; transform: rotate(45deg); }
.breadcrumbs__link, .breadcrumbs__current, .breadcrumbs__item--ellipsis > span { display: inline-flex; align-items: center; min-width: 0; padding: 8px 10px; border-radius: 10px; white-space: nowrap; transition: color .18s ease, background-color .18s ease; }
.breadcrumbs__link { color: #5e6873; }
.breadcrumbs__link:hover, .breadcrumbs__link:focus-visible { color: var(--blue); outline: none; }
.breadcrumbs__home-icon { width: 21px; height: 21px; flex: 0 0 auto; margin-right: 9px; }
.breadcrumbs__current { overflow: hidden; color: var(--text); font-weight: 650; text-overflow: ellipsis; }
.breadcrumbs__item--ellipsis { display: none; }
.subnav { padding: 22px 0 0; }
.subnav__inner { display: flex; gap: 7px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.subnav a { flex: 0 0 auto; padding: 10px 15px; border: 1px solid var(--line); border-radius: 999px; color: #42505d; background: #fff; font-size: 14px; font-weight: 650; }
.subnav a:hover, .subnav a.is-active { color: #fff; border-color: var(--blue); background: var(--blue); }
.page-hero { padding: 38px 0 28px; }
.about-hero__grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(500px, 1.12fr); align-items: center; gap: 52px; }
.page-hero h1 { max-width: 720px; margin: 0; font-size: clamp(48px, 5.7vw, 76px); line-height: .99; letter-spacing: -.057em; }
.page-hero__lead { max-width: 660px; margin: 24px 0 0; color: #4e5b68; font-size: 19px; }
.about-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.about-hero__media { position: relative; min-height: 500px; overflow: hidden; border-radius: var(--radius-lg); background: var(--blue-soft); }
.about-hero__media img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; }
.about-hero__note { position: absolute; right: 18px; bottom: 18px; max-width: 260px; padding: 13px 15px; border-radius: 14px; color: #fff; background: rgba(12, 25, 38, .9); backdrop-filter: blur(10px); font-size: 13px; font-weight: 650; }
.about-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; overflow: hidden; margin-top: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--line); }
.about-stat { padding: 24px 26px; background: #fff; }
.about-stat strong { display: block; color: var(--blue); font-size: 31px; line-height: 1; letter-spacing: -.035em; }
.about-stat span { display: block; margin-top: 7px; color: var(--muted); font-size: 13px; }
.about-story { display: grid; grid-template-columns: .83fr 1.17fr; gap: 70px; align-items: start; }
.about-story__aside { position: sticky; top: calc(var(--header-height) + 32px); }
.about-story__aside h2 { margin: 0; font-size: clamp(36px, 4vw, 54px); line-height: 1.03; letter-spacing: -.045em; }
.about-story__body { display: grid; gap: 22px; }
.about-story__body p { margin: 0; color: #4d5a67; font-size: 18px; }
.about-story__body .markdown-content { display: grid; gap: 0; counter-reset: story-step; }
.about-story__body .markdown-content > p { margin: 0 0 18px; }
.about-story__body .markdown-content > h3 { position: relative; margin: 12px 0 0; padding: 22px 24px 8px 76px; border: 1px solid var(--line); border-bottom: 0; border-radius: 20px 20px 0 0; background: #fff; counter-increment: story-step; }
.about-story__body .markdown-content > h3::before { position: absolute; top: 20px; left: 22px; display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; color: var(--blue); background: var(--blue-soft); content: counter(story-step, decimal-leading-zero); font-size: 12px; font-weight: 800; }
.about-story__body .markdown-content > h3 + p { margin: 0 0 10px; padding: 0 24px 22px 76px; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 20px 20px; background: #fff; font-size: 15px; }
.story-milestone { display: grid; grid-template-columns: 84px 1fr; gap: 22px; padding-top: 24px; border-top: 1px solid var(--line); }
.story-milestone strong { color: var(--blue); font-size: 20px; }
.story-milestone h3 { margin: 0; font-size: 21px; }
.story-milestone p { margin-top: 8px; font-size: 15px; }
.mission-card { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 50px; padding: 50px; border-radius: var(--radius-lg); color: #fff; background: var(--blue); }
.mission-card__label { color: #cde0ff; font-size: 14px; font-weight: 750; }
.mission-card h2 { margin: 12px 0 0; font-size: clamp(37px, 4.2vw, 58px); line-height: 1; letter-spacing: -.047em; }
.mission-card p { max-width: 650px; margin: 0; padding-left: 32px; border-left: 1px solid rgba(255, 255, 255, .28); color: #eaf2ff; font-size: 19px; }
.values-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.value-card { min-height: 260px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.value-card:nth-child(even) { background: var(--blue-soft); }
.value-card__number { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 14px; color: var(--blue); background: #fff; font-weight: 800; }
.value-card h3 { margin: 44px 0 0; font-size: 22px; line-height: 1.15; }
.value-card p { margin: 11px 0 0; color: var(--muted); font-size: 14px; }
.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.team-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.team-card__avatar { display: grid; width: 70px; height: 70px; place-items: center; border-radius: 22px; color: var(--blue); background: var(--blue-soft); font-size: 24px; font-weight: 800; }
.team-card__avatar img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.team-card__avatar svg { width: 30px; height: 30px; }
.payment-method-card__details > :first-child { margin-top: 0; }
.payment-method-card__details > :last-child { margin-bottom: 0; }
.team-card h3 { margin: 24px 0 0; font-size: 20px; }
.team-card p { margin: 5px 0 0; color: var(--muted); font-size: 14px; }
.team-card small { display: block; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); color: #71808e; }
.quality-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 18px; }
.quality-media { min-height: 520px; overflow: hidden; border-radius: var(--radius-lg); background: #dfe8ef; }
.quality-media img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.quality-copy { display: flex; flex-direction: column; justify-content: center; padding: 48px; border-radius: var(--radius-lg); background: var(--blue-soft); }
.quality-copy h2 { margin: 0; font-size: clamp(38px, 4vw, 54px); line-height: 1.02; letter-spacing: -.045em; }
.quality-copy > p { margin: 18px 0 0; color: var(--muted); font-size: 17px; }
.quality-list { display: grid; gap: 13px; margin: 28px 0 0; padding: 0; list-style: none; }
.quality-list li, .quality-list__item { display: flex; gap: 11px; align-items: flex-start; color: #364450; font-weight: 650; }
.quality-list svg { width: 21px; height: 21px; flex: 0 0 auto; color: var(--blue); }
.quality-copy > .text-link { align-self: flex-start; margin-top: 22px; }
.about-case { display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; border-radius: var(--radius-lg); background: var(--dark); }
.about-case__media { min-height: 400px; }
.about-case__media img { width: 100%; height: 100%; min-height: 400px; object-fit: cover; }
.about-case__copy { display: flex; flex-direction: column; justify-content: center; padding: 48px; color: #fff; }
.about-case__copy span { color: #8fb9ff; font-size: 14px; font-weight: 750; }
.about-case__copy h2 { margin: 14px 0 0; font-size: clamp(35px, 4vw, 50px); line-height: 1.03; letter-spacing: -.04em; }
.about-case__copy p { margin: 17px 0 27px; color: #b5c1cc; }

@media (max-width: 1120px) {
  .main-nav { gap: 18px; }
  .documents-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .header-phone { display: none; }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .hero-media, .hero-media img { min-height: 450px; }
  .services-grid { grid-template-columns: 1fr 1fr; }
  .benefits-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .benefit:not(:last-child)::after { display: none; }
  .benefit:nth-child(odd):not(:last-child)::after { display: block; }
  .benefit:nth-child(n+3)::before { position: absolute; top: 0; right: 0; left: 0; height: 1px; content: ""; background: var(--line); }
  .benefits-grid > .benefit:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: 1.4fr repeat(2, 1fr); }
  .footer-contact { grid-column: span 1; }
  .about-hero__grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .values-grid, .team-grid { grid-template-columns: 1fr 1fr; }
  .services-hero__grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .service-cards { grid-template-columns: 1fr 1fr; }
  .service-cost-grid { grid-template-columns: 1fr 1fr; }
  .service-includes { grid-template-columns: repeat(3, 1fr); }
  .catalog-hero__grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .product-grid { grid-template-columns: 1fr 1fr; }
  .order-explainer { grid-template-columns: 160px repeat(3, 1fr); }
  .order-explainer .text-link { grid-column: 1 / -1; }
  .series-grid { grid-template-columns: 1fr 1fr; }
  .supply-grid { grid-template-columns: repeat(3, 1fr); }
  .cases-hero__grid { grid-template-columns: 1fr; }
  .cases-hero__stats { justify-content: flex-start; }
  .cases-hero__stat:first-child { padding-left: 0; }
  .case-card, .case-card--large, .case-card--wide, .case-card--small-wide { grid-column: span 6; min-height: 390px; }
  .faq-hero__grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .guides-grid { grid-template-columns: 1fr 1fr; }
  .solutions-hero__grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .object-grid { grid-template-columns: repeat(3, 1fr); }
  .solution-grid { grid-template-columns: 1fr 1fr; }
  .order-flow { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 860px) {
  .object-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-hero__grid, .detail-content-grid { grid-template-columns: 1fr; }
  .detail-hero__action { width: min(100%, 560px); }
  :root { --header-main-height: 76px; --header-meta-height: 0px; }
  .container { width: min(calc(100% - 32px), var(--container)); }
  .section { padding: 58px 0; }
  .header-inner { gap: 16px; }
  .header-meta { display: none; }
  .brand img { width: 42px; height: 42px; }
  .main-nav {
    position: fixed;
    top: var(--header-height);
    right: 0;
    left: 0;
    display: grid;
    max-height: calc(100dvh - var(--header-height));
    gap: 0;
    overflow-y: auto;
    padding: 18px 16px 26px;
    background: #fff;
    border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow);
    transform: translateY(-140%);
    transition: transform .28s ease;
  }
  .main-nav.is-open { transform: translateY(0); }
  .main-nav a { padding: 14px 10px; border-bottom: 1px solid var(--line); font-size: 17px; }
  .nav-dropdown__head { border-bottom: 1px solid var(--line); }
  .nav-dropdown::after { display: none; }
  .main-nav .nav-dropdown__head a { flex: 1; border: 0; }
  .nav-dropdown__toggle { width: 48px; height: 48px; }
  .nav-dropdown__panel { position: static; width: auto; max-height: 0; visibility: visible; padding: 0 8px; border: 0; border-radius: 0; opacity: 1; box-shadow: none; transform: none; transition: max-height .25s ease, padding .25s ease; }
  .nav-dropdown.is-open .nav-dropdown__panel { max-height: 430px; padding: 8px; transform: none; }
  .nav-dropdown--cascade.is-open .nav-dropdown__panel { width: auto; max-height: min(68vh, 620px); overflow-y: auto; }
  .nav-dropdown__intro { display: none; }
  .main-nav .nav-dropdown__panel a { padding: 11px 13px; border: 0; font-size: 15px; }
  .nav-cascade { display: block; min-height: 0; }
  .nav-cascade__groups { padding: 0; border-right: 0; }
  .nav-cascade__group { border-bottom: 1px solid var(--line); border-radius: 0; }
  .main-nav .nav-cascade__group > a { border-radius: 0; font-size: 15px; }
  .nav-cascade__children { padding: 10px 4px 4px 20px; }
  .nav-cascade__hint { display: none; }
  .mobile-nav-contacts { display: grid; gap: 11px; margin-top: 16px; padding: 16px 10px 2px; border-top: 1px solid var(--line); }
  .main-nav .mobile-nav-contact { display: flex; align-items: flex-start; gap: 10px; padding: 0; border: 0; color: var(--muted); font-size: 13px; font-weight: 600; line-height: 1.35; }
  .main-nav a.mobile-nav-contact:hover { color: var(--blue); }
  .mobile-nav-contact svg { width: 17px; height: 17px; flex: 0 0 auto; margin-top: 1px; color: var(--blue); }
  .header-actions { margin-left: auto; }
  .header-actions .btn { display: none; }
  .menu-toggle { display: grid; }
  .hero { padding-top: 24px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy { padding: 20px 0 0; }
  .hero-media, .hero-media img { min-height: 430px; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat:nth-child(3) { border-left: 0; }
  .stat:nth-child(n+3) { border-top: 1px solid var(--line); }
  .products-grid { grid-template-columns: 1fr 1fr; }
  .business-copy { padding: 44px 34px; }
  .business-card::before { background: linear-gradient(90deg, rgba(9,15,21,.98), rgba(9,15,21,.66)); }
  .steps { grid-template-columns: 1fr 1fr; }
  .reviews-layout { grid-template-columns: 1fr; }
  .cta-grid { grid-template-columns: 1fr; gap: 28px; }
  .lead-form { grid-template-columns: 1fr 1fr; }
  .lead-form .btn { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .about-hero__grid, .about-story, .mission-card, .quality-grid, .about-case { grid-template-columns: 1fr; }
  .mission-card { gap: 24px; }
  .mission-card p { padding-left: 0; border-left: 0; }
  .about-story { gap: 36px; }
  .about-story__aside { position: static; }
  .about-stats { grid-template-columns: 1fr 1fr; }
  .quality-media, .quality-media img { min-height: 440px; }
  .about-case__media, .about-case__media img { min-height: 340px; }
  .services-hero__grid { grid-template-columns: 1fr; }
  .services-hero__media, .services-hero__media img { min-height: 370px; }
  .service-catalog-layout { grid-template-columns: 1fr; }
  .service-sidebar { grid-template-columns: 1fr 1fr; }
  .popular-service { grid-template-columns: 1fr .65fr auto; }
  .popular-service small { display: none; }
  .catalog-hero__grid, .request-spec { grid-template-columns: 1fr; }
  .catalog-hero__media, .catalog-hero__media img { min-height: 370px; }
  .order-explainer { grid-template-columns: 1fr 1fr; }
  .order-explainer__title { grid-column: 1 / -1; }
  .product-layout { grid-template-columns: 1fr; }
  .product-filters { grid-template-columns: 1fr 1fr; }
  .series-grid { grid-template-columns: 1fr; }
  .request-spec__visual { min-height: 240px; }
  .case-principles { grid-template-columns: 1fr 1fr; }
  .faq-hero__grid { grid-template-columns: 1fr; }
  .faq-hero__visual { min-height: 320px; }
  .faq-topics { grid-template-columns: 1fr 1fr; }
  .faq-center { grid-template-columns: 1fr; }
  .faq-sidebar { grid-template-columns: 1fr 1fr; }
  .faq-categories { display: flex; grid-column: 1 / -1; gap: 6px; overflow-x: auto; }
  .faq-categories h3 { display: none; }
  .faq-category { width: auto; flex: 0 0 auto; padding-inline: 14px; }
  .faq-emergency img { width: 75%; }
  .faq-emergency::after { background: linear-gradient(90deg, rgba(13,23,32,.98) 0 60%, rgba(13,23,32,.25)); }
  .solutions-hero__grid, .solution-picker { grid-template-columns: 1fr; }
  .solutions-hero__media, .solutions-hero__media img { min-height: 370px; }
  .solution-note { grid-template-columns: auto 1fr; }
  .solution-note .text-link { grid-column: 1 / -1; }
  .solution-controls { align-items: stretch; flex-direction: column; }
  .solution-search { flex: none; }
  .brands-row { grid-template-columns: repeat(3, 1fr); }
  .brand-benefits, .choice-guides, .solution-cases { grid-template-columns: 1fr; }
  .order-flow { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .container { width: min(calc(100% - 24px), var(--container)); }
  .section { padding: 46px 0; }
  .documents-grid { grid-template-columns: 1fr; }
  .document-card { grid-template-columns: 104px minmax(0, 1fr); }
  .document-card__preview { min-height: 210px; }
  .document-card__body { padding: 19px 17px; }
  .breadcrumbs { padding-top: 16px; }
  .breadcrumbs__list { font-size: 13px; }
  .breadcrumbs__item + .breadcrumbs__item::before { margin-right: 9px; margin-left: 7px; }
  .breadcrumbs__link, .breadcrumbs__current, .breadcrumbs__item--ellipsis > span { padding: 7px 5px; }
  .breadcrumbs__home-icon { width: 19px; height: 19px; margin-right: 7px; }
  .breadcrumbs__list--long .breadcrumbs__item:not(.breadcrumbs__item--home):not(.breadcrumbs__item--current):not(.breadcrumbs__item--ellipsis) { display: none; }
  .breadcrumbs__list--long .breadcrumbs__item--ellipsis { display: inline-flex; }
  .breadcrumbs__item--current { overflow: hidden; }
  .breadcrumbs__current { max-width: min(46vw, 260px); }
  .brand__text { font-size: 16px; }
  .hero h1 { font-size: 45px; }
  .hero-copy > p { font-size: 17px; }
  .hero-actions { display: grid; }
  .hero-actions .btn { width: 100%; }
  .hero-media, .hero-media img { min-height: 330px; }
  .hero-badge { right: 12px; bottom: 12px; font-size: 13px; }
  .stats-grid, .services-grid, .products-grid, .steps, .review-list { grid-template-columns: 1fr; }
  .stat + .stat { border-left: 0; border-top: 1px solid var(--line); }
  .section-heading { align-items: start; flex-direction: column; }
  .catalog-toolbar { align-items: start; flex-direction: column; }
  .service-card { min-height: 300px; }
  .product-card__image { min-height: 220px; }
  .product-card__image img { height: 220px; }
  .business-card { min-height: 500px; }
  .business-card::before { background: linear-gradient(180deg, rgba(9,15,21,.98) 0%, rgba(9,15,21,.72) 68%, rgba(9,15,21,.3)); }
  .business-copy { padding: 32px 24px; }
  .benefits-grid { grid-template-columns: 1fr; }
  .benefit { min-height: 185px; }
  .benefit:nth-child(odd):not(:last-child)::after { display: none; }
  .benefit:nth-child(n+2)::before { position: absolute; top: 0; right: 0; left: 0; height: 1px; content: ""; background: var(--line); }
  .cta-card { padding: 28px 20px; }
  .lead-form { grid-template-columns: 1fr; }
  .lead-form .btn, .form-consent { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
  .footer-legal { justify-content: flex-start; }
  .modal__dialog { padding: 30px 22px; }
  .modal__title { font-size: 32px; }
  .page-hero h1 { font-size: 43px; }
  .page-hero__lead { font-size: 17px; }
  .about-hero__media, .about-hero__media img { min-height: 340px; }
  .about-stats, .values-grid, .team-grid { grid-template-columns: 1fr; }
  .mission-card, .quality-copy, .about-case__copy { padding: 30px 24px; }
  .story-milestone { grid-template-columns: 64px 1fr; }
  .quality-media, .quality-media img { min-height: 340px; }
  .services-hero h1 { font-size: 44px; }
  .services-hero__lead { font-size: 17px; }
  .services-hero__media, .services-hero__media img { min-height: 290px; }
  .service-search { display: grid; overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .service-search label { border: 1px solid var(--line); border-radius: 14px; background: #fff; }
  .service-search .btn { margin: 8px 0 0; }
  .service-sidebar, .service-cards, .service-cost-grid, .service-includes { grid-template-columns: 1fr; }
  .service-catalog-meta { align-items: flex-start; flex-direction: column; }
  .catalog-service-card { min-height: 300px; }
  .popular-service { grid-template-columns: 1fr auto; gap: 12px; padding: 14px; }
  .popular-service > span, .popular-service > small { display: none; }
  .popular-service .btn { min-height: 40px; padding-inline: 13px; }
  .catalog-hero h1 { font-size: 44px; }
  .catalog-hero__lead { font-size: 17px; }
  .catalog-hero__media, .catalog-hero__media img { min-height: 290px; }
  .order-explainer, .product-filters, .product-grid, .supply-grid { grid-template-columns: 1fr; }
  .order-explainer__title { grid-column: auto; }
  .product-toolbar { align-items: flex-start; flex-direction: column; }
  .equipment-card { min-height: 500px; }
  .equipment-card__actions { grid-template-columns: 1fr; }
  .request-spec__copy { padding: 30px 23px; }
  .series-card { grid-template-columns: 1.15fr .85fr; }
  .compare-bar { right: 12px; bottom: 12px; left: 12px; width: auto; }
  .compare-bar span { max-width: 170px; }
  .cases-hero h1 { font-size: 44px; }
  .cases-hero__stats { display: grid; grid-template-columns: 1fr 1fr; }
  .cases-hero__stat { min-width: 0; padding: 8px 16px; }
  .cases-hero__stat strong { font-size: 32px; }
  .case-toolbar { align-items: flex-start; flex-direction: column; }
  .case-filters { width: 100%; }
  .case-card, .case-card--large, .case-card--wide, .case-card--small-wide { grid-column: 1 / -1; min-height: 360px; }
  .case-card__content { padding: 20px; }
  .case-card__arrow { display: none; }
  .case-principles { grid-template-columns: 1fr; }
  .faq-hero h1 { font-size: 44px; }
  .faq-hero__lead { font-size: 17px; }
  .faq-search { display: grid; overflow: visible; border: 0; box-shadow: none; }
  .faq-search label { border: 1px solid var(--line); border-radius: 14px; }
  .faq-search .btn { margin: 8px 0 0; }
  .faq-hero__visual { min-height: 270px; }
  .faq-visual__search { width: 115px; height: 115px; border-width: 11px; }
  .faq-visual__search::after { height: 88px; transform: translate(64px, 72px) rotate(-33deg); }
  .faq-topics, .faq-sidebar, .guides-grid, .contact-options { grid-template-columns: 1fr; }
  .faq-results { padding: 18px; }
  .faq-results__head { align-items: flex-start; flex-direction: column; }
  .faq-emergency { min-height: 390px; }
  .faq-emergency img { width: 100%; opacity: .42; }
  .faq-emergency::after { background: rgba(13,23,32,.72); }
  .faq-emergency__copy { padding: 30px 23px; }
  .solutions-hero h1 { font-size: 44px; }
  .solutions-hero__lead { font-size: 17px; }
  .solutions-hero__media, .solutions-hero__media img { min-height: 290px; }
  .solutions-note { grid-template-columns: 1fr; }
  .object-grid, .solution-grid, .brands-row, .order-flow { grid-template-columns: 1fr; }
  .object-card { aspect-ratio: 4 / 3; }
  .solution-catalog-head { grid-template-columns: 1fr; }
  .solution-picker__copy { padding: 30px 23px; }
  .solution-picker__fields { grid-template-columns: 1fr; }
  .solution-picker__row { grid-template-columns: 1fr; }
  .solution-picker__visual { min-height: 260px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
.catalog-search{display:flex;align-items:stretch;gap:10px;width:100%;padding:7px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(17,24,32,.05)}.catalog-search label{position:relative;display:flex;min-width:0;flex:1;align-items:center}.catalog-search label>svg{position:absolute;z-index:1;left:13px;top:50%;width:20px;height:20px;color:#7e8b97;transform:translateY(-50%);pointer-events:none}.catalog-search input{width:100%;min-width:0;min-height:46px;padding:0 42px;border:0;border-radius:11px;outline:0;color:var(--ink);background:transparent;font:inherit}.catalog-search input:focus{box-shadow:0 0 0 3px rgba(23,105,255,.13)}.catalog-search .btn{min-height:46px;flex:0 0 auto}.catalog-facet{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.catalog-facet fieldset,.catalog-filter-group fieldset{display:grid;width:100%;gap:11px;margin:0;padding:0;border:0}.catalog-facet legend,.catalog-facet__label,.catalog-filter-group legend{display:block;margin:0 0 10px;color:var(--ink);font-size:13px;font-weight:800}.catalog-check{display:flex;min-width:0;align-items:center;gap:10px;color:#44515e;cursor:pointer}.catalog-check input{inline-size:18px;block-size:18px;flex:0 0 auto;margin:0;accent-color:var(--blue)}.catalog-check span{display:flex;min-width:0;flex:1;justify-content:space-between;gap:12px}.filter-pill{min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:12px;color:#3e4b57;background:#fff;font:inherit;font-size:13px;font-weight:750;cursor:pointer;transition:.18s ease}.filter-pill:hover{border-color:#9bbdff;color:var(--blue)}.filter-pill.is-active{border-color:var(--blue);color:#fff;background:var(--blue);box-shadow:0 7px 18px rgba(23,105,255,.2)}.catalog-facet label,.catalog-filter-group label{min-width:0}.catalog-facet select,.catalog-facet input[type=number],.catalog-filter-group select,.catalog-filter-group input[type=number]{width:100%;min-height:44px;padding:0 38px 0 13px;border:1px solid var(--line);border-radius:12px;outline:0;color:var(--ink);background:#fff;font:inherit}.catalog-facet select:focus,.catalog-facet input[type=number]:focus,.catalog-filter-group select:focus,.catalog-filter-group input[type=number]:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,255,.12)}.catalog-facet__submit{min-height:40px;margin-top:2px}.product-filter-sidebar{padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff}.catalog-filters-panel{display:grid;gap:0}.catalog-filter-group{min-width:0;padding:0 0 19px;border-bottom:1px solid var(--line)}.catalog-filter-group+.catalog-filter-group{padding-top:19px}.catalog-filter-buttons{display:flex;flex-wrap:wrap;gap:7px}.catalog-filter-buttons .filter-pill{width:100%;justify-content:space-between}.catalog-filter-actions{display:grid;gap:10px;padding-top:19px}.catalog-filter-actions .btn{width:100%}.catalog-filter-actions .text-link{justify-content:center;font-size:12px}.service-filter .catalog-filter-group:last-of-type,.product-filter-sidebar .catalog-filter-group:last-of-type{padding-bottom:0;border-bottom:0}.service-filter .catalog-filter-actions,.product-filter-sidebar .catalog-filter-actions{margin-top:0}.catalog-sortbar,.product-sortbar{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px}.catalog-sortbar .catalog-facet,.product-sortbar .catalog-facet{flex-wrap:nowrap}.catalog-sortbar .catalog-facet__label,.product-sortbar .catalog-facet__label{margin-bottom:6px}.catalog-sortbar select,.product-sortbar select{min-width:180px}.catalog-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:32px}.catalog-pagination a{display:grid;place-items:center;min-width:42px;height:42px;border:1px solid var(--line);border-radius:12px;color:inherit;text-decoration:none}.catalog-pagination a:hover,.catalog-pagination a.is-active{border-color:var(--blue);color:#fff;background:var(--blue)}
.filter-pill:disabled,.catalog-check input:disabled+span{opacity:.42;cursor:not-allowed}.filter-pill small,.catalog-check small{color:inherit;font-size:.8em;opacity:.72}.faq-popular form{display:contents}@media(max-width:640px){.catalog-search{display:grid;grid-template-columns:minmax(0,1fr) auto}.catalog-search .btn{padding-inline:17px}.catalog-sortbar,.product-sortbar{justify-content:stretch}.catalog-sortbar .catalog-facet,.product-sortbar .catalog-facet,.catalog-sortbar .catalog-facet label,.product-sortbar .catalog-facet label{width:100%}.catalog-sortbar select,.product-sortbar select{width:100%}}
.catalog-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.catalog-category-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff}.catalog-category-card__image{display:block;overflow:hidden;aspect-ratio:1.45;background:var(--page)}.catalog-category-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.catalog-category-card:hover img{transform:scale(1.025)}.catalog-category-card__body{display:flex;flex:1;flex-direction:column;padding:22px}.catalog-category-card h3{margin:0;font-size:23px;line-height:1.15}.catalog-category-card h3 a{color:inherit}.catalog-category-card p{margin:11px 0 22px;color:var(--muted)}.catalog-category-card__actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto}.catalog-category-card__actions .text-link{font-size:14px}.catalog-products{border-top:1px solid var(--line)}.product-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 26px}.product-catalog-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:28px;margin-top:24px}.product-filter-sidebar{display:grid;align-content:start;gap:22px}.product-filter-sidebar:empty{display:none}.product-filter-sidebar:empty+.product-catalog-main{grid-column:1/-1}.product-sortbar{display:flex;justify-content:flex-end;margin-bottom:18px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff}.product-card__image{position:relative;display:block;aspect-ratio:1;background:#f5f8fb}.product-card__image img{width:100%;height:100%;object-fit:contain;padding:18px}.product-card__badge{position:absolute;top:13px;left:13px;padding:6px 9px;border-radius:999px;color:#fff;background:var(--blue);font-size:12px;font-weight:700}.product-card__body{display:flex;flex:1;flex-direction:column;padding:19px}.product-card__category{margin-bottom:7px;color:var(--blue);font-size:12px;font-weight:700}.product-card h3{margin:0;font-size:19px;line-height:1.2}.product-card h3 a{color:inherit}.product-card p{margin:9px 0;color:var(--muted);font-size:13px}.product-card__meta{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:auto;padding-top:16px;color:var(--muted);font-size:12px}.product-card__bottom{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.product-card__bottom small,.product-card__bottom span{display:block;color:var(--muted);font-size:11px}.product-card__bottom strong{display:block;margin:3px 0;font-size:18px}.category-hero{padding:50px 0 64px;background:linear-gradient(180deg,#fff,#f3f7fb)}.category-hero__grid{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:56px}.category-hero h1,.product-detail h1{margin:8px 0 20px;font-size:clamp(44px,6vw,72px);line-height:1;letter-spacing:-.055em}.category-hero p{max-width:650px;color:var(--muted);font-size:19px}.category-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.category-hero__media{overflow:hidden;min-height:360px;border-radius:28px;background:#eaf1f8}.category-hero__media img{width:100%;height:100%;min-height:360px;object-fit:cover}.product-detail{padding:50px 0 72px;background:#f5f8fb}.product-detail__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:60px;align-items:center}.product-detail__media{display:grid;place-items:center;overflow:hidden;min-height:520px;border-radius:28px;background:#fff}.product-detail__media img{width:100%;max-height:560px;object-fit:contain;padding:35px}.product-detail__intro{color:var(--muted);font-size:18px}.product-detail__meta{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.product-detail__meta span{min-width:130px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff}.product-detail__meta small,.product-detail__meta strong{display:block}.product-detail__meta small{margin-bottom:4px;color:var(--muted)}.product-detail__order{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border-radius:20px;background:var(--dark);color:#fff}.product-detail__order small,.product-detail__order strong{display:block}.product-detail__order strong{margin-top:4px;font-size:26px}.product-detail-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.45fr);gap:50px}.product-features{padding:26px;border-radius:22px;background:var(--page)}.product-features h2{margin-top:0}
@media(max-width:980px){.catalog-category-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-catalog-layout{grid-template-columns:1fr}.product-filter-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.category-hero__grid,.product-detail__grid{grid-template-columns:1fr}.product-detail-content{grid-template-columns:1fr}}
@media(max-width:640px){.catalog-category-grid,.product-grid,.product-filter-sidebar{grid-template-columns:1fr}.catalog-category-card__actions,.product-card__bottom,.product-detail__order{align-items:stretch;flex-direction:column}.category-hero__media,.category-hero__media img,.product-detail__media{min-height:280px}}
.markdown-content{color:#394856;font-size:inherit;line-height:1.72}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content h2,.markdown-content h3,.markdown-content h4{color:var(--ink);line-height:1.15;letter-spacing:-.025em}.markdown-content h2{margin:42px 0 18px;font-size:clamp(28px,3vw,38px)}.markdown-content h3{margin:32px 0 14px;font-size:24px}.markdown-content h4{margin:26px 0 12px;font-size:19px}.markdown-content p{margin:0 0 18px}.markdown-content ul,.markdown-content ol{display:grid;gap:9px;margin:18px 0 24px;padding-left:25px}.markdown-content blockquote{margin:24px 0;padding:18px 21px;border-left:4px solid var(--blue);border-radius:0 14px 14px 0;background:var(--blue-soft)}.markdown-content blockquote p{margin:0}.markdown-content code{padding:2px 6px;border-radius:6px;background:#edf2f7;font-size:.9em}.markdown-content pre{overflow:auto;margin:24px 0;padding:20px;border-radius:16px;background:var(--dark);color:#eef5fb}.markdown-content pre code{padding:0;background:transparent;color:inherit}.markdown-content hr{margin:34px 0;border:0;border-top:1px solid var(--line)}.markdown-content a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.markdown-content table{width:100%;margin:26px 0;border-collapse:collapse}.markdown-content th,.markdown-content td{padding:12px 14px;border:1px solid var(--line);text-align:left;vertical-align:top}.markdown-content--compact{font-size:inherit}.markdown-content--compact p{margin-bottom:10px}
.markdown-content img{display:block;max-width:100%;height:auto;margin:28px 0;border-radius:20px}
.markdown-content h1{margin:46px 0 20px;color:var(--ink);font-size:clamp(36px,4.5vw,54px);line-height:1.08;letter-spacing:-.04em}
.markdown-content--compact h1{margin:26px 0 14px;font-size:30px}
.markdown-table{max-width:100%;margin:26px 0;overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#fff;outline:0}.markdown-table:focus{border-color:#9bbdff;box-shadow:0 0 0 3px rgba(23,105,255,.12)}.markdown-table table{min-width:560px;margin:0;border:0}.markdown-table th,.markdown-table td{border-width:0 1px 1px 0}.markdown-table th:last-child,.markdown-table td:last-child{border-right:0}.markdown-table tbody tr:last-child td{border-bottom:0}.markdown-table th{color:var(--ink);background:var(--blue-soft);font-weight:750}.markdown-table tbody tr:nth-child(even){background:#f8fafc}.markdown-table .is-align-center{text-align:center}.markdown-table .is-align-right{text-align:right}.markdown-table .is-align-left{text-align:left}

/* Markdown table of contents */
.markdown-content [data-markdown-heading] { scroll-margin-top: calc(var(--header-height) + 28px); }
.detail-side-rail,
.product-side-rail { position: sticky; top: calc(var(--header-height) + 24px); display: grid; align-self: start; gap: 16px; }
.detail-side-rail:empty,
.product-side-rail:empty { display: none; }
.product-detail-content:not(:has(.product-side-rail > *)) { grid-template-columns: minmax(0, 1fr); }
.markdown-toc { display: grid; max-height: calc(100vh - var(--header-height) - 48px); overflow: auto; padding: 17px 14px 16px; border: 1px solid var(--line); border-radius: 18px; background: #fff; scrollbar-width: thin; scrollbar-color: #cbd5df transparent; }
.markdown-toc__title { margin: 0 8px 8px; padding: 0 0 12px; border-bottom: 1px solid #edf1f5; color: var(--ink); font-size: 14px; font-weight: 750; letter-spacing: -.01em; }
.markdown-toc__links { position: relative; display: grid; gap: 0; }
.markdown-toc__links::before { position: absolute; top: 9px; bottom: 9px; left: 10px; width: 1px; background: #dce4ec; content: ""; }
.markdown-toc__link { position: relative; z-index: 1; display: block; padding: 8px 9px 8px 24px; border-radius: 8px; color: #687684; font-size: 13px; line-height: 1.36; text-decoration: none; transition: color .18s ease, background-color .18s ease; }
.markdown-toc__link--level-3 { padding-left: 36px; color: #7c8894; font-size: 12px; }
.markdown-toc__link:hover { color: var(--ink); background: #f6f8fa; }
.markdown-toc__link.is-active,
.markdown-toc__link[aria-current="location"] { color: var(--blue); background: transparent; font-weight: 720; }
.markdown-toc__link.is-active::before,
.markdown-toc__link[aria-current="location"]::before { position: absolute; top: 50%; left: 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 3px #fff; content: ""; transform: translateY(-50%); }
@media(max-width:980px){.detail-side-rail,.product-side-rail{position:static}.markdown-toc{max-height:none}}
@media(max-width:620px){.markdown-toc{padding:15px 12px;border-radius:16px}.markdown-toc__link--level-3{padding-left:32px}}

/* Server GET filters keep the current layout stable while AJAX updates the section. */
[data-server-filtered]{transition:opacity .16s ease}
[data-server-filtered].is-filter-loading{opacity:.58;cursor:progress}
[data-server-filtered].is-filter-loading :is(button,input,select,a){pointer-events:none}
@media(prefers-reduced-motion:reduce){[data-server-filtered]{transition:none}}
.catalog-filter-request-error{margin:0 0 16px;padding:11px 14px;border:1px solid #f0c8c4;border-radius:12px;color:#8c342c;background:#fff4f2;font-size:13px;font-weight:650}
