@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap");

:root {
  --ink: #11161d;
  --muted: #6d7784;
  --line: #d8dee6;
  --paper: #eef1f4;
  --panel: #ffffff;
  --steel: #2d3744;
  --graphite: #121820;
  --graphite-2: #1c242e;
  --signal: #d63b31;
  --signal-dark: #a92620;
  --accent: var(--signal);
  --gold: #d9a441;
  --mint: #dceadf;
  --blue: #d8e4ee;
  --shadow: 0 24px 70px rgba(17, 22, 29, .18);
  --header-max: 1516px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background:
    linear-gradient(180deg, #f6f7f8 0, var(--paper) 420px),
    var(--paper);
  font-family: "Montserrat", "Segoe UI", Arial, sans-serif;
  letter-spacing: 0;
}

img { display: block; max-width: 100%; }

a { color: inherit; text-decoration: none; }

button, input, textarea, select {
  font: inherit;
  letter-spacing: 0;
}

.site-topbar,
.topbar-nav {
  display: none;
}

.site-header-wrap {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(7, 12, 17, .78);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .28);
  backdrop-filter: blur(14px);
}

.site-header {
  position: relative;
  display: grid;
  grid-template-columns: max-content max-content minmax(412px, 582px) max-content;
  align-items: center;
  justify-content: space-between;
  gap: clamp(14px, 1.5vw, 24px);
  max-width: none;
  margin: 0 auto;
  padding: 8px clamp(18px, 2vw, 32px);
  background: transparent;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  width: max-content;
  flex-shrink: 0;
}

.brand-mark {
  position: relative;
  display: grid;
  width: 78px;
  height: 78px;
  place-items: center;
  color: transparent;
  background: url("images/site-logo-final.png") center / contain no-repeat;
  border: 0;
  filter: drop-shadow(0 12px 24px rgba(255, 75, 45, .18));
  font-size: 0;
}

.brand-mark::before,
.brand-mark::after {
  content: "";
  display: none;
}

.brand strong, .brand small { display: block; }
.brand strong { color: white; letter-spacing: 0; font-size: 26px; line-height: 1; }
.brand small {
  max-width: 215px;
  color: rgba(255,255,255,.66);
  font-size: 13px;
  margin-top: 8px;
  line-height: 1.15;
  text-transform: none;
}

.main-nav {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: clamp(18px, 1.8vw, 28px);
  min-width: 0;
  overflow: visible;
  margin-left: 0;
  color: rgba(255,255,255,.82);
  font-weight: 600;
}

.main-nav a,
.catalog-dropdown summary {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.82);
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  transition: color .18s ease, opacity .18s ease;
}

.main-nav a:hover,
.catalog-dropdown summary:hover {
  color: white;
}

.catalog-dropdown {
  position: relative;
}

.catalog-dropdown summary {
  list-style: none;
  gap: 8px;
}

.catalog-dropdown summary::-webkit-details-marker { display: none; }

.catalog-dropdown summary::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
}

.catalog-dropdown-menu {
  position: absolute;
  top: calc(100% + 28px);
  left: 0;
  z-index: 80;
  display: grid;
  width: 370px;
  min-width: 370px;
  padding: 14px 14px 16px;
  background: rgba(19, 25, 31, .98);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  box-shadow: 0 26px 52px rgba(0, 0, 0, .42);
  backdrop-filter: blur(16px);
}

.catalog-dropdown-menu::before {
  content: "";
  position: absolute;
  left: 32px;
  top: -10px;
  width: 20px;
  height: 20px;
  background: inherit;
  border-top: 1px solid rgba(255,255,255,.1);
  border-left: 1px solid rgba(255,255,255,.1);
  transform: rotate(45deg);
}

.catalog-menu-list {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 6px;
}

.catalog-dropdown-menu a {
  justify-content: stretch;
  min-height: 0;
  border: 0;
  background: transparent;
  color: white;
  padding: 0;
  font-size: 15px;
  font-weight: 700;
  border-radius: 0;
}

.catalog-dropdown-menu a:hover {
  color: white;
  background: transparent;
  border-color: transparent;
}

.catalog-menu-item {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 10px;
  min-height: 70px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.catalog-menu-item:hover .catalog-menu-title,
.catalog-menu-item:hover .catalog-menu-arrow {
  color: #ff5a38;
}

.catalog-menu-thumb {
  display: grid;
  width: 52px;
  height: 48px;
  place-items: center;
  overflow: hidden;
  background: #252b32;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 6px;
}

.catalog-menu-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.7) contrast(1.08) brightness(.8);
}

.catalog-menu-title {
  display: block;
  color: rgba(255,255,255,.9);
  line-height: 1.25;
  transition: color .18s ease;
}

.catalog-menu-arrow {
  color: rgba(255,255,255,.78);
  font-size: 30px;
  font-weight: 300;
  line-height: 1;
  text-align: right;
  transition: color .18s ease, transform .18s ease;
}

.catalog-menu-item:hover .catalog-menu-arrow {
  transform: translateX(3px);
}

.catalog-menu-all {
  min-height: 84px;
  border-bottom: 0;
}

.catalog-menu-all small {
  display: block;
  margin-top: 6px;
  color: rgba(255,255,255,.6);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
}

.catalog-menu-grid::before {
  content: "";
  width: 24px;
  height: 24px;
  background:
    linear-gradient(#dce2e8 0 0) 0 0 / 9px 9px,
    linear-gradient(#dce2e8 0 0) 15px 0 / 9px 9px,
    linear-gradient(#dce2e8 0 0) 0 15px / 9px 9px,
    linear-gradient(#dce2e8 0 0) 15px 15px / 9px 9px;
  background-repeat: no-repeat;
}

.header-search {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-width: 0;
  max-width: 430px;
  width: 100%;
  justify-self: stretch;
  background: rgba(19, 25, 31, .86);
  border: 1px solid rgba(255, 75, 45, .72);
  border-radius: 8px;
  box-shadow:
    0 0 0 1px rgba(255, 75, 45, .12) inset,
    0 0 14px rgba(255, 75, 45, .2),
    0 8px 22px rgba(0, 0, 0, .24);
  overflow: hidden;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.header-search:focus-within {
  background: rgba(23, 29, 35, .94);
  border-color: rgba(255, 91, 56, .95);
  box-shadow:
    0 0 0 1px rgba(255, 75, 45, .28) inset,
    0 0 20px rgba(255, 75, 45, .34),
    0 10px 26px rgba(0, 0, 0, .28);
}

.header-search::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 12px;
  height: 12px;
  border: 2px solid rgba(255,255,255,.78);
  border-radius: 999px;
  transform: translateY(-58%);
  pointer-events: none;
}

.header-search::after {
  content: "";
  position: absolute;
  left: 27px;
  top: calc(50% + 5px);
  width: 6px;
  height: 2px;
  background: rgba(255,255,255,.78);
  transform: rotate(45deg);
  pointer-events: none;
}

.header-search input {
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: 0 14px 0 46px;
  border: 0;
  outline: 0;
  background: transparent;
  color: white;
  font: inherit;
}

.header-search input::placeholder {
  color: rgba(255,255,255,.58);
}

.header-search button {
  display: none;
}

.header-search button:hover {
  background: rgba(255,255,255,.06);
}

.cart-button, .icon-button {
  border: 0;
  cursor: pointer;
}

.cart-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  width: max-content;
  gap: 14px;
  min-height: 56px;
  padding: 0 22px;
  color: white;
  background: rgba(14, 19, 24, .72);
  border: 1px solid rgba(255, 75, 45, .78);
  border-radius: 8px;
  box-shadow:
    0 0 0 1px rgba(255, 75, 45, .08) inset,
    0 0 18px rgba(255, 75, 45, .22),
    0 10px 28px rgba(0, 0, 0, .26);
  font-weight: 850;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.cart-button:hover {
  background: rgba(23, 29, 35, .88);
  border-color: rgba(255, 91, 56, .96);
  box-shadow:
    0 0 0 1px rgba(255, 75, 45, .18) inset,
    0 0 28px rgba(255, 75, 45, .38),
    0 12px 32px rgba(0, 0, 0, .3);
}

.cart-button .icon {
  position: relative;
  width: 30px;
  height: 30px;
  color: var(--signal);
  font-size: 0;
  border: 0;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%23ff4b2d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.5 3h3l2.4 12.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 1.95-1.55L21 8H7'/%3E%3Cpath d='M8.2 12h11.2'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.cart-button .icon::before,
.cart-button .icon::after {
  content: none;
}

.cart-button b {
  display: grid;
  min-width: 27px;
  height: 24px;
  place-items: center;
  color: white;
  background: var(--signal);
  border-radius: 999px;
  font-size: 13px;
}

.icon { line-height: 1; }

.hero {
  position: relative;
  overflow: hidden;
  background: #060a0e;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(5, 9, 13, .98) 0%, rgba(5, 9, 13, .94) 33%, rgba(5, 9, 13, .56) 55%, rgba(5, 9, 13, .12) 100%),
    linear-gradient(180deg, rgba(5, 9, 13, .02) 0%, rgba(5, 9, 13, .36) 100%);
  pointer-events: none;
}

.hero-home {
  background:
    linear-gradient(90deg, rgba(5, 9, 13, .96) 0%, rgba(5, 9, 13, .88) 33%, rgba(5, 9, 13, .32) 57%, rgba(5, 9, 13, 0) 100%),
    url("images/dobrobolt-hero.png") center right / cover no-repeat,
    #060a0e;
}

.hero-shell {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 760px) minmax(260px, 1fr);
  gap: clamp(24px, 5vw, 80px);
  align-items: stretch;
  max-width: var(--header-max);
  margin: 0 auto;
  min-height: clamp(380px, 42vw, 480px);
  padding: clamp(32px, 4vw, 54px) clamp(28px, 5.2vw, 88px) clamp(30px, 4vw, 48px);
}

.hero-sparks {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
  mix-blend-mode: screen;
}

.hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  max-width: 740px;
  color: white;
  padding-top: 0;
}

.hero-visual {
  position: relative;
  display: grid;
  align-items: end;
  min-height: 560px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
  box-shadow: 0 28px 70px rgba(4, 7, 10, .42);
}

.hero-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(8,12,18,.1) 0%, rgba(8,12,18,.36) 100%),
    radial-gradient(circle at 82% 42%, rgba(255,111,45,.22), transparent 18%);
  pointer-events: none;
}

.hero-visual::after {
  content: "";
  position: absolute;
  inset: auto 6% 8% 24%;
  z-index: 1;
  height: 22%;
  background: radial-gradient(circle, rgba(255,111,45,.28), transparent 72%);
  filter: blur(30px);
  pointer-events: none;
}

.hero-visual img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: center;
  filter: saturate(.85) contrast(1.02) brightness(.92);
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--signal);
  font-weight: 850;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0;
}

.hero .eyebrow { color: #ffac33; }

h1, h2, h3, p { margin-top: 0; }

h1 {
  min-width: 0;
  max-width: 860px;
  margin-bottom: 14px;
  font-size: clamp(40px, 3.32vw, 56px);
  line-height: 1.1;
  letter-spacing: 0;
}

.hero-title-production {
  font-weight: 300;
}

.hero-title-production span,
.hero-title-production strong {
  display: block;
}

.hero-title-production strong {
  font-weight: 900;
}

h2 {
  margin-bottom: 16px;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.06;
}

h3 { margin-bottom: 8px; font-size: 18px; }

.hero-lead {
  max-width: 625px;
  margin-bottom: 0;
  color: rgba(255,255,255,.72);
  font-size: clamp(18px, 1.24vw, 21px);
  line-height: 1.4;
}

.hero-actions, .admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 25px;
}

.primary-action, .secondary-action, .load-more, .text-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 51px;
  padding: 0 27px;
  border-radius: 8px;
  border: 1px solid transparent;
  cursor: pointer;
  font-weight: 800;
}

.primary-action {
  color: white;
  background: linear-gradient(135deg, #ff4328, #ff5f35);
  border-color: #ff4b2d;
  box-shadow: 0 14px 28px rgba(255, 75, 45, .32);
}

.primary-action:hover { background: var(--signal-dark); }

.secondary-action, .load-more {
  color: var(--ink);
  background: white;
  border-color: rgba(18, 20, 23, .16);
}

.hero .secondary-action {
  color: white;
  background: rgba(12, 18, 24, .62);
  border-color: rgba(255,255,255,.22);
}

.hero .primary-action::after {
  content: "→";
  margin-left: 24px;
  font-size: 22px;
  line-height: 1;
}

.hero .secondary-action::after {
  content: "";
  width: 16px;
  height: 18px;
  margin-left: 22px;
  border: 2px solid currentColor;
  border-radius: 2px;
  box-shadow: inset 0 -5px 0 rgba(255,255,255,.18);
}

.primary-action.full { width: 100%; }

.hero-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  max-width: 760px;
  margin: 28px 0 0;
}

.hero-facts div {
  position: relative;
  padding: 7px 22px 7px 78px;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.hero-facts div + div {
  border-left: 0;
}

.hero-facts div::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5px;
  width: 60px;
  height: 60px;
  border: 1px solid rgba(255,111,45,.46);
  border-radius: 8px;
  background: rgba(9, 16, 22, .48);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}

.hero-facts div::after {
  content: "";
  position: absolute;
  left: 13px;
  top: 18px;
  width: 34px;
  height: 34px;
  background: #ff4b2d;
  background-repeat: no-repeat;
}

.hero-facts div:nth-child(1)::after { content: "⌗"; }
.hero-facts div:nth-child(2)::after { content: "⚙"; }
.hero-facts div:nth-child(3)::after { content: "▦"; }

.hero-facts div:nth-child(1)::after {
  content: "";
  background:
    linear-gradient(#ff4b2d 0 0) 5px 5px / 24px 3px,
    linear-gradient(#ff4b2d 0 0) 5px 26px / 24px 3px,
    linear-gradient(#ff4b2d 0 0) 5px 5px / 3px 24px,
    linear-gradient(#ff4b2d 0 0) 26px 5px / 3px 24px,
    linear-gradient(#ff4b2d 0 0) 2px 15px / 30px 3px,
    linear-gradient(#ff4b2d 0 0) 15px 2px / 3px 30px;
  background-repeat: no-repeat;
}

.hero-facts div:nth-child(2)::after {
  content: "";
  left: 11px;
  top: 16px;
  width: 38px;
  height: 38px;
  background:
    repeating-linear-gradient(180deg, transparent 0 3px, #071016 3px 4px) 22px 6px / 8px 25px,
    linear-gradient(#ff4b2d 0 0) 23px 5px / 6px 27px,
    linear-gradient(#ff4b2d 0 0) 8px 27px / 21px 6px,
    linear-gradient(#ff4b2d 0 0) 8px 24px / 6px 9px,
    linear-gradient(#ff4b2d 0 0) 20px 4px / 12px 5px;
  background-repeat: no-repeat;
}

.hero-facts div:nth-child(3)::after {
  content: "";
  left: 14px;
  top: 19px;
  width: 32px;
  height: 32px;
  background:
    repeating-linear-gradient(90deg, #ff4b2d 0 3px, transparent 3px 7px),
    repeating-linear-gradient(180deg, #ff4b2d 0 3px, transparent 3px 7px);
  background-size: 25px 25px;
  background-position: 4px 4px;
  background-repeat: no-repeat;
}

.hero-facts dt { font-size: 21px; font-weight: 900; line-height: 1; margin-bottom: 7px; }
.hero-facts dd { margin: 0; color: rgba(255,255,255,.76); font-size: 14px; line-height: 1.25; }

.section {
  padding: clamp(52px, 7vw, 98px) clamp(16px, 4vw, 56px);
}

.section.tight {
  padding-top: clamp(28px, 4vw, 40px);
  padding-bottom: clamp(28px, 5vw, 56px);
  margin-top: 0;
  position: relative;
  z-index: 2;
}
.section.compact { padding-top: clamp(28px, 5vw, 56px); }

.home-page {
  --home-header-overlap: 104px;
  margin-top: calc(var(--home-header-overlap) * -1);
  background: #fff;
}

.home-page .hero-shell {
  min-height: clamp(320px, 32vw, 390px);
  padding-top: calc(clamp(32px, 4vw, 54px) + var(--home-header-overlap));
  padding-bottom: clamp(26px, 3vw, 36px);
}

.home-categories {
  position: relative;
  z-index: 2;
  margin-top: 0;
  padding: 32px clamp(28px, 5.2vw, 88px) 28px;
  background: #fff;
  border-radius: 0;
}

.home-products {
  background: #fff;
  padding-top: 28px;
}

.home-proof {
  position: relative;
  z-index: 2;
  overflow: hidden;
  padding: clamp(41px, 4.2vw, 56px) clamp(20px, 3.64vw, 62px) clamp(45px, 4.62vw, 62px);
  color: var(--ink);
  background: linear-gradient(180deg, #fbfcfd 0%, #f7f9fb 100%);
}

.home-proof::before,
.home-proof::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  opacity: .32;
  filter: grayscale(.18) saturate(.7);
}

.home-proof::before {
  left: -13px;
  top: -7px;
  width: clamp(182px, 20.3vw, 329px);
  height: clamp(161px, 17.5vw, 287px);
  background: url("images/home-proof/proof-bg-left.webp") left top / contain no-repeat;
}

.home-proof::after {
  right: -13px;
  top: -6px;
  width: clamp(182px, 21vw, 336px);
  height: clamp(161px, 17.5vw, 287px);
  background: url("images/home-proof/proof-bg-right.webp") right top / contain no-repeat;
}

.home-proof-inner {
  position: relative;
  z-index: 1;
  max-width: var(--header-max);
  margin: 0 auto;
  overflow: visible;
}

.home-proof-heading {
  max-width: 532px;
  margin: 0 auto clamp(57px, 5.3vw, 78px);
  text-align: center;
}

.home-proof-heading h2 {
  margin: 0;
  color: #07152d;
  font-size: clamp(29px, 3.3vw, 50px);
  line-height: .98;
  font-weight: 900;
  text-shadow: 0 7px 15px rgba(7, 21, 45, .1);
}

.home-proof-heading .eyebrow {
  margin-bottom: 13px;
  color: #e6332a;
  font-size: clamp(10px, .8vw, 13px);
}

.home-proof-heading::after {
  content: "";
  display: block;
  width: 50px;
  height: 4px;
  margin: 15px auto 0;
  border-radius: 999px;
  background: #ed2b24;
}

.home-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(17px, 2.1vw, 32px);
  margin: 0;
}

.home-proof-card {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: start;
  min-width: 0;
  min-height: clamp(245px, 17.5vw, 294px);
  padding: clamp(97px, 7.7vw, 125px) clamp(17px, 2.1vw, 31px) clamp(24px, 2.45vw, 34px);
  text-align: center;
  border: 1px solid rgba(17,22,29,.06);
  border-radius: 8px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 38px rgba(17,22,29,.12);
}

.home-proof-media {
  position: absolute;
  left: 50%;
  top: clamp(-50px, -3.36vw, -36px);
  display: grid;
  width: clamp(122px, 10.1vw, 161px);
  height: clamp(112px, 9.3vw, 148px);
  place-items: center;
  transform: translateX(-50%);
}

.home-proof-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 999px;
  filter: drop-shadow(0 13px 14px rgba(17,22,29,.14));
  transition: transform .2s ease, filter .2s ease;
}

.home-proof-card:hover .home-proof-media img {
  transform: translateY(-2px);
  filter: drop-shadow(0 13px 14px rgba(17,22,29,.18));
}

.home-proof-copy {
  position: relative;
  min-width: 0;
}

.home-proof-copy::before {
  display: none;
}

.home-proof-copy dt {
  margin: 0 0 14px;
  color: #061431;
  font-size: clamp(43px, 3.7vw, 60px);
  font-weight: 900;
  line-height: .98;
  text-shadow: 0 8px 17px rgba(7, 21, 45, .12);
}

.home-proof-copy dt::after {
  content: "";
  display: block;
  width: 50px;
  height: 4px;
  margin: 13px auto 0;
  border-radius: 999px;
  background: #ed2b24;
}

.home-proof-copy dd {
  max-width: 273px;
  margin: 0;
  color: #09162d;
  font-size: clamp(14px, 1vw, 18px);
  line-height: 1.48;
}

.home-partners {
  position: relative;
  z-index: 2;
  padding: clamp(46px, 4.9vw, 74px) clamp(18px, 3.8vw, 62px) clamp(42px, 4.3vw, 64px);
  color: var(--ink);
  background: #fff;
}

.home-partners-inner {
  max-width: var(--header-max);
  margin: 0 auto;
}

.home-partners h2 {
  margin: 0 0 clamp(30px, 3.2vw, 48px);
  color: #121728;
  font-size: clamp(30px, 3vw, 50px);
  font-weight: 900;
  line-height: 1.06;
  text-align: center;
}

.partners-carousel {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 52px;
  gap: clamp(14px, 2.5vw, 34px);
  align-items: center;
}

.partners-carousel-viewport {
  min-width: 0;
  overflow: hidden;
}

.partners-carousel-track {
  display: flex;
  gap: clamp(28px, 4.4vw, 70px);
  overflow-x: auto;
  padding: 8px 4px 13px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.partners-carousel-track::-webkit-scrollbar {
  display: none;
}

.partners-carousel-item {
  position: relative;
  display: grid;
  flex: 0 0 clamp(160px, 16vw, 220px);
  height: clamp(74px, 7vw, 105px);
  min-width: 0;
  place-items: center;
  scroll-snap-align: center;
}

.partners-carousel-logo {
  position: relative;
  display: block;
  width: min(100%, 226px);
  height: min(78px, 100%);
}

.partners-carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: saturate(.94) contrast(1.02);
}

.partners-carousel-button {
  display: inline-grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 1px solid rgba(17,22,29,.08);
  border-radius: 999px;
  color: #101622;
  background: #f7f8fa;
  box-shadow: 0 12px 28px rgba(17,22,29,.06);
  transition: color .18s ease, border-color .18s ease, transform .18s ease, background .18s ease;
}

.partners-carousel-button span {
  display: block;
  margin-top: -2px;
  font-size: 30px;
  line-height: 1;
}

.partners-carousel-button:hover {
  color: var(--signal);
  border-color: rgba(214,59,49,.24);
  background: #fff;
  transform: translateY(-1px);
}

.home-section-heading h2 {
  color: #121728;
  font-size: clamp(24px, 1.7vw, 28px);
}

.section-link {
  color: #252c3a;
  background: #fff;
  border-color: rgba(17,22,29,.1);
  box-shadow: 0 12px 26px rgba(17,22,29,.06);
}

.section-heading,
.category-strip,
.product-grid {
  max-width: var(--header-max);
  margin-left: auto;
  margin-right: auto;
}

.page-hero {
  min-height: clamp(250px, 28vw, 360px);
  display: grid;
  align-content: center;
  padding: clamp(34px, 4.6vw, 62px) clamp(16px, 4vw, 56px);
  background:
    linear-gradient(90deg, rgba(9,13,18,.95) 0%, rgba(9,13,18,.78) 46%, rgba(9,13,18,.2) 100%),
    url("images/page-hero-catalog.png") center right / cover no-repeat;
  color: white;
}

.page-hero p {
  max-width: 680px;
  color: rgba(255,255,255,.78);
  font-size: clamp(16px, 1.1vw, 18px);
  line-height: 1.5;
}

.page-hero .eyebrow {
  color: #ffcf84;
  font-size: 12px;
  line-height: 1.2;
}

.page-hero .breadcrumbs {
  display: flex;
  align-items: center;
  line-height: 1;
}

.page-hero .breadcrumbs > span:not(:last-child) {
  position: relative;
  display: inline-flex;
  align-items: center;
  align-self: center;
  width: 8px;
  height: 8px;
  margin-top: 2px;
  font-size: 0;
  line-height: 1;
}

.page-hero .breadcrumbs > span:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid rgba(255, 255, 255, .62);
  border-right: 2px solid rgba(255, 255, 255, .62);
  transform: translateY(-50%) rotate(45deg);
}

.page-hero h1 {
  max-width: 760px;
  margin-bottom: 14px;
  font-size: clamp(32px, 4.2vw, 52px);
  line-height: 1.08;
}

.page-hero-catalog {
  background:
    linear-gradient(90deg, rgba(9,13,18,.95) 0%, rgba(9,13,18,.78) 46%, rgba(9,13,18,.22) 100%),
    url("images/page-hero-catalog.png") center right / cover no-repeat;
}

.page-hero-contacts {
  background:
    linear-gradient(90deg, rgba(9,13,18,.95) 0%, rgba(9,13,18,.78) 46%, rgba(9,13,18,.22) 100%),
    url("images/page-hero-contacts.png") center right / cover no-repeat;
}

.page-hero-delivery {
  background:
    linear-gradient(90deg, rgba(9,13,18,.95) 0%, rgba(9,13,18,.78) 46%, rgba(9,13,18,.22) 100%),
    url("images/page-hero-delivery.png") center right / cover no-repeat;
}

.page-hero-production,
.production-cover {
  background:
    linear-gradient(90deg, rgba(9,13,18,.95) 0%, rgba(9,13,18,.78) 46%, rgba(9,13,18,.22) 100%),
    url("images/production-services/laser-cutting.jpg") center right / cover no-repeat;
}

.page-hero-about {
  background:
    linear-gradient(90deg, rgba(9,13,18,.95) 0%, rgba(9,13,18,.78) 46%, rgba(9,13,18,.22) 100%),
    url("images/page-hero-about.png") center right / cover no-repeat;
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
  color: rgba(255,255,255,.72);
  font-weight: 750;
}

.breadcrumbs a:hover { color: white; }

.product-page .breadcrumbs {
  color: var(--muted);
  padding: clamp(22px, 4vw, 44px) clamp(16px, 4vw, 56px) 0;
}

.category-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: 18px;
}

.home-categories .category-strip {
  width: 100%;
  max-width: var(--header-max);
}

.category-card, .product-card, .capability-grid article, .admin-panel {
  background: var(--panel);
  border: 1px solid rgba(18, 20, 23, .08);
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(18,20,23,.06);
}

.category-card {
  display: grid;
  grid-template-columns: 162px 1fr;
  height: 100%;
  min-height: 140px;
  overflow: hidden;
  position: relative;
  padding: 6px;
  background: #fff;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.category-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
    background: #f4f7fa;
    filter: saturate(.92) contrast(1.04);
  }

.category-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 54px rgba(17,22,29,.12);
  border-color: rgba(214,59,49,.14);
}

.category-card div {
  display: flex;
  flex-direction: column;
  padding: 8px 8px 8px 19px;
}
.category-card p { color: #5d6675; line-height: 1.38; font-size: 13px; }

.category-card div > p:not(.eyebrow) {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
}

.category-card strong {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  margin-top: auto;
  color: transparent;
  font-size: 0;
  font-weight: 900;
  padding-top: 0;
  min-height: 38px;
  overflow: visible;
}

.category-card h3 {
  margin-bottom: 6px;
  font-size: clamp(16px, 1.05vw, 18px);
  line-height: 1.15;
  color: #161c2a;
}

.category-card strong::after {
  content: "→";
  position: relative;
  z-index: 3;
  display: inline-grid;
  width: 33px;
  height: 33px;
  place-items: center;
  border: 1px solid rgba(17,22,29,.12);
  border-radius: 7px;
  color: #202737;
  font-size: 20px;
  font-weight: 500;
  background: #fff;
  box-shadow: 0 10px 24px rgba(17,22,29,.06);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.category-card strong > .category-weld-sparks {
  position: absolute;
  right: 32px;
  bottom: 19px;
  z-index: 4;
  width: 3px;
  height: 3px;
  opacity: 0;
  pointer-events: none;
  border-radius: 999px;
  background: #fff;
  box-shadow:
    0 0 0 0 rgba(255,255,255,0),
    0 0 0 0 rgba(255,150,58,0),
    0 0 0 0 rgba(89,215,255,0);
}

.category-card-gnome {
  position: absolute;
  right: -16px;
  bottom: -10px;
  z-index: 2;
  width: 90px;
  height: 90px;
  opacity: 0;
  pointer-events: none;
  transform: translate(50px, 36px) scale(.45) rotate(2deg);
  transform-origin: 70% 100%;
  background: url("images/category-gnome-welder-photo.png") center / contain no-repeat;
  filter: drop-shadow(0 13px 15px rgba(17,22,29,.22));
}

.category-card-hammer {
  display: none;
}

.category-card:hover .category-card-gnome {
  opacity: 1;
  animation: card-gnome-peek .32s cubic-bezier(.2,.8,.2,1) forwards, card-gnome-bob 1s ease-in-out .32s infinite;
}

.category-card:hover .category-card-hammer {
  animation: none;
}

.category-card:hover .category-weld-sparks {
  opacity: 1;
  animation: category-weld-sparks .26s steps(2, end) .38s infinite;
}

.category-card:hover strong::after {
  border-color: rgba(45,183,255,.36);
  box-shadow: 0 0 0 1px rgba(45,183,255,.08), 0 14px 26px rgba(45,183,255,.12);
  animation: category-button-weld 1s ease-in-out .32s infinite;
}

@keyframes card-gnome-peek {
  from {
    opacity: 0;
    transform: translate(50px, 36px) scale(.45) rotate(2deg);
  }
  to {
    opacity: 1;
    transform: translate(-42px, 0) scale(.7) rotate(-4deg);
  }
}

@keyframes card-gnome-bob {
  0%, 100% { transform: translate(-42px, 0) scale(.7) rotate(-4deg); }
  50% { transform: translate(-41px, -2px) scale(.7) rotate(-2deg); }
}

@keyframes card-welding-hand {
  0%, 100% { transform: translate(-3px, -1px) rotate(-4deg); }
  40% { transform: translate(-1px, 1px) rotate(4deg); }
  70% { transform: translate(-4px, -2px) rotate(-8deg); }
}

@keyframes category-button-weld {
  0%, 100% { transform: translate(0, 0); }
  40% { transform: translate(.5px, 0); }
  70% { transform: translate(-.5px, .5px); }
}

@keyframes category-weld-sparks {
  0% {
    box-shadow:
      0 0 0 2px rgba(255,255,255,.95),
      -9px -9px 0 0 #fff3a2,
      -15px 2px 0 -1px #ff9d38,
      -7px 10px 0 -1px #59d7ff,
      6px -8px 0 -1px #fff;
  }
  50% {
    box-shadow:
      0 0 8px 4px rgba(89,215,255,.82),
      -14px -15px 0 -1px rgba(255,220,92,.95),
      -22px 4px 0 -1px rgba(255,144,44,.9),
      -11px 17px 0 -1px rgba(89,215,255,.86),
      10px -12px 0 -1px rgba(255,255,255,.9);
  }
  100% {
    box-shadow:
      0 0 0 0 rgba(255,255,255,0),
      -19px -21px 0 -2px rgba(255,220,92,0),
      -29px 6px 0 -2px rgba(255,144,44,0),
      -16px 24px 0 -2px rgba(89,215,255,0),
      14px -17px 0 -2px rgba(255,255,255,0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .category-card:hover .category-card-gnome,
  .category-card:hover .category-card-hammer,
  .category-card:hover .category-weld-sparks,
  .category-card:hover strong::after {
    animation: none;
  }

  .category-card:hover .category-card-gnome {
    opacity: 1;
    transform: translate(-42px, 0) scale(.7) rotate(-4deg);
  }

  .category-card:hover .category-weld-sparks {
    opacity: 1;
  }
}

.catalog-category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 14px;
}

.catalog-section-card {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  min-height: 132px;
  overflow: hidden;
  background: white;
  border: 1px solid rgba(18, 20, 23, .08);
  border-radius: 6px;
  box-shadow: 0 12px 30px rgba(18,20,23,.06);
}

.catalog-section-card img {
  width: 100%;
  height: 100%;
  min-height: 132px;
  object-fit: cover;
}

.catalog-section-card > div {
  padding: 14px 16px;
}

.catalog-section-card h2 {
  margin: 4px 0 6px;
  font-size: 24px;
  line-height: 1.08;
}

.catalog-section-card h2 a {
  color: #111922;
}

.catalog-section-card p {
  max-width: 760px;
  color: var(--steel);
  line-height: 1.4;
}

.catalog-section-card > div > p:not(.eyebrow) {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin-bottom: 10px;
}

.category-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0 12px;
}

.category-specs span {
  padding: 6px 8px;
  color: var(--steel);
  background: #eef1f3;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 800;
}

.catalog-section-card .primary-action {
  min-height: 34px;
  width: max-content;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 13px;
  line-height: 1;
}

.catalog-page {
  background: #f3f5f7;
}

.catalog-page-hero {
  min-height: 430px;
  padding: 48px max(40px, calc((100vw - 1570px) / 2)) 42px;
  background:
    linear-gradient(90deg, rgba(8, 12, 17, .98) 0%, rgba(8, 12, 17, .9) 32%, rgba(8, 12, 17, .36) 72%, rgba(8, 12, 17, .12) 100%),
    url("images/page-hero-catalog.png") center right / cover no-repeat;
}

.catalog-page-hero .breadcrumbs {
  margin-bottom: 30px;
  gap: 12px;
  color: rgba(255, 255, 255, .72);
  font-size: 14px;
  font-weight: 600;
}

.catalog-page-hero .breadcrumbs span[aria-hidden="true"] {
  width: 8px;
  height: 8px;
  font-size: 0;
  border-top: 2px solid rgba(255, 255, 255, .66);
  border-right: 2px solid rgba(255, 255, 255, .66);
  transform: rotate(45deg);
}

.catalog-page-hero .eyebrow {
  margin-bottom: 14px;
  color: #ff4b2d;
}

.catalog-page-hero h1 {
  max-width: 760px;
  margin-bottom: 18px;
  font-size: clamp(46px, 4.3vw, 64px);
  line-height: .98;
}

.catalog-page-hero > p:not(.eyebrow) {
  max-width: 620px;
  color: rgba(255, 255, 255, .82);
  font-size: 17px;
  line-height: 1.55;
}

.catalog-hero-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-width: 610px;
  margin-top: 28px;
}

.catalog-hero-facts div {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  min-height: 66px;
  padding: 12px 16px;
  color: #fff;
  background: rgba(255, 255, 255, .045);
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 8px;
  backdrop-filter: blur(8px);
}

.catalog-hero-facts strong,
.catalog-hero-facts small {
  grid-column: 2;
  line-height: 1.15;
}

.catalog-hero-facts strong {
  font-size: 14px;
}

.catalog-hero-facts small {
  margin-top: 2px;
  color: rgba(255, 255, 255, .76);
  font-size: 13px;
}

.catalog-hero-icon {
  grid-row: 1 / span 2;
  width: 22px;
  height: 22px;
  color: #fff;
  background: currentColor;
  opacity: .9;
  mask: center / contain no-repeat;
}

.catalog-hero-icon-data {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='m12 2 9 5-9 5-9-5 9-5Z'/%3E%3Cpath d='m3 7 9 5 9-5'/%3E%3Cpath d='m3 12 9 5 9-5'/%3E%3Cpath d='m3 17 9 5 9-5'/%3E%3C/svg%3E");
}

.catalog-hero-icon-quality {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/%3E%3Cpath d='m9 12 2 2 4-5'/%3E%3C/svg%3E");
}

.catalog-hero-icon-update {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4'/%3E%3Cpath d='M16 2v4'/%3E%3Cpath d='M3 10h18'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M17 14a4 4 0 1 0 1 2.65'/%3E%3Cpath d='M17 14v4h-4'/%3E%3C/svg%3E");
}

.catalog-categories-section {
  padding: 28px max(40px, calc((100vw - 1256px) / 2)) 48px;
  background: #f3f5f7;
}

.catalog-page .catalog-category-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-width: 1256px;
  margin: 0 auto;
}

.catalog-page .catalog-section-card {
  grid-template-columns: minmax(152px, .76fr) minmax(0, 1fr);
  min-height: 256px;
  color: inherit;
  border-radius: 8px;
  box-shadow: 0 13px 34px rgba(18, 20, 23, .08);
}

.catalog-page .catalog-section-card img {
  min-height: 256px;
  background: #eef1f3;
  filter: grayscale(.12) saturate(.9) contrast(1.03);
}

.catalog-page .catalog-section-card:first-child img {
  object-position: 78% center;
}

.catalog-page .catalog-section-card > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 19px 19px 18px;
}

.catalog-page .catalog-section-card .eyebrow {
  position: relative;
  margin-bottom: 8px;
  padding-left: 18px;
  color: #687382;
  font-size: 12px;
  line-height: 1;
}

.catalog-page .catalog-section-card .eyebrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 12px;
  height: 12px;
  background: #ff4b2d;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2 9.7 7.7 4 10l5.7 2.3L12 18l2.3-5.7L20 10l-5.7-2.3L12 2Z'/%3E%3Cpath d='m5 17 1-2 1 2 2 1-2 1-1 2-1-2-2-1 2-1Z'/%3E%3C/svg%3E") center / contain no-repeat;
  transform: translateY(-50%);
}

.catalog-page .catalog-section-card h2 {
  margin: 0 0 8px;
  font-size: clamp(20px, 1.44vw, 26px);
  line-height: 1.02;
}

.catalog-page .catalog-section-card p:not(.eyebrow) {
  -webkit-line-clamp: 3;
  margin: 0 0 10px;
  color: #687382;
  font-size: 14px;
  line-height: 1.35;
}

.catalog-page .category-specs {
  margin: 0 0 18px;
}

.catalog-page .category-specs span {
  padding: 5px 7px;
  color: #718093;
  background: #edf1f5;
  font-size: 11px;
}

.catalog-page .catalog-section-card .primary-action {
  display: inline-flex;
  gap: 13px;
  min-height: 34px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: auto;
  padding: 0 0 0 14px;
  color: #ff4b2d;
  background: #fff;
  border-color: rgba(255, 75, 45, .22);
  border-radius: 999px;
  box-shadow: none;
  font-size: 11px;
  justify-content: space-between;
  overflow: hidden;
  white-space: nowrap;
}

.catalog-page .catalog-section-card .primary-action::after {
  flex: 0 0 30px;
  content: "\2192";
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  margin: 0 2px 0 auto;
  color: #fff;
  background: linear-gradient(135deg, #ff4328, #ff673d);
  border-radius: 999px;
  font-size: 15px;
  line-height: 1;
}

.page-hero-catalog:not(.catalog-page-hero) {
  position: relative;
  min-height: 430px;
  padding: 48px max(40px, calc((100vw - 1570px) / 2)) 42px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(8, 12, 17, .98) 0%, rgba(8, 12, 17, .9) 32%, rgba(8, 12, 17, .36) 72%, rgba(8, 12, 17, .12) 100%),
    url("images/page-hero-catalog.png") center right / cover no-repeat;
}

.page-hero-catalog:not(.catalog-page-hero) .breadcrumbs {
  margin-bottom: 30px;
  gap: 12px;
  font-size: 14px;
  font-weight: 600;
}

.page-hero-catalog:not(.catalog-page-hero) .eyebrow {
  margin-bottom: 14px;
  color: #ff4b2d;
}

.page-hero-catalog:not(.catalog-page-hero) h1 {
  max-width: 760px;
  margin-bottom: 18px;
  font-size: clamp(46px, 4.3vw, 64px);
  line-height: .98;
}

.page-hero-catalog:not(.catalog-page-hero) > p:not(.eyebrow) {
  max-width: 620px;
  color: rgba(255, 255, 255, .82);
  font-size: 17px;
  line-height: 1.55;
}

.page-hero-catalog:not(.catalog-page-hero)::before,
.page-hero-catalog:not(.catalog-page-hero)::after,
.page-hero-catalog:not(.catalog-page-hero) > p:not(.eyebrow)::after {
  position: absolute;
  bottom: 38px;
  width: 184px;
  min-height: 58px;
  padding: 12px 14px 12px 48px;
  color: #fff;
  background: rgba(255, 255, 255, .045);
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.18;
  white-space: pre-line;
  backdrop-filter: blur(8px);
}

.page-hero-catalog:not(.catalog-page-hero)::before {
  content: "Актуальные данные\A в PostgreSQL";
  left: max(40px, calc((100vw - 1570px) / 2));
}

.page-hero-catalog:not(.catalog-page-hero)::after {
  content: "Проверенное\A качество";
  left: calc(max(40px, calc((100vw - 1570px) / 2)) + 204px);
}

.page-hero-catalog:not(.catalog-page-hero) > p:not(.eyebrow)::after {
  content: "Регулярные\A обновления";
  left: calc(max(40px, calc((100vw - 1570px) / 2)) + 408px);
}

main:not(.catalog-page) .catalog-category-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-width: 1256px;
  margin: 0 auto;
}

main:not(.catalog-page) .catalog-section-card {
  grid-template-columns: minmax(152px, .76fr) minmax(0, 1fr);
  min-height: 256px;
  border-radius: 8px;
  box-shadow: 0 13px 34px rgba(18, 20, 23, .08);
}

main:not(.catalog-page) .catalog-section-card > a {
  display: block;
  min-height: 100%;
}

main:not(.catalog-page) .catalog-section-card img {
  min-height: 256px;
  background: #eef1f3;
  filter: grayscale(.12) saturate(.9) contrast(1.03);
}

main:not(.catalog-page) .catalog-section-card:first-child img {
  object-position: 78% center;
}

main:not(.catalog-page) .catalog-section-card > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 19px 19px 18px;
}

main:not(.catalog-page) .catalog-section-card .eyebrow {
  position: relative;
  margin-bottom: 8px;
  padding-left: 18px;
  color: #687382;
  font-size: 12px;
  line-height: 1;
}

main:not(.catalog-page) .catalog-section-card .eyebrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 12px;
  height: 12px;
  background: #ff4b2d;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2 9.7 7.7 4 10l5.7 2.3L12 18l2.3-5.7L20 10l-5.7-2.3L12 2Z'/%3E%3Cpath d='m5 17 1-2 1 2 2 1-2 1-1 2-1-2-2-1 2-1Z'/%3E%3C/svg%3E") center / contain no-repeat;
  transform: translateY(-50%);
}

main:not(.catalog-page) .catalog-section-card h2 {
  margin: 0 0 8px;
  font-size: clamp(20px, 1.44vw, 26px);
  line-height: 1.02;
}

main:not(.catalog-page) .catalog-section-card p:not(.eyebrow) {
  -webkit-line-clamp: 3;
  margin: 0 0 10px;
  color: #687382;
  font-size: 14px;
  line-height: 1.35;
}

main:not(.catalog-page) .category-specs {
  margin: 0 0 18px;
}

main:not(.catalog-page) .category-specs span {
  padding: 5px 7px;
  color: #718093;
  background: #edf1f5;
  font-size: 11px;
}

main:not(.catalog-page) .catalog-section-card .primary-action {
  gap: 13px;
  min-height: 34px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: auto;
  padding: 0 0 0 14px;
  color: #ff4b2d;
  background: #fff;
  border-color: rgba(255, 75, 45, .22);
  border-radius: 999px;
  box-shadow: none;
  font-size: 11px;
  justify-content: space-between;
  overflow: hidden;
  white-space: nowrap;
}

main:not(.catalog-page) .catalog-section-card .primary-action::after {
  flex: 0 0 30px;
  content: "\2192";
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  margin: 0 2px 0 auto;
  color: #fff;
  background: linear-gradient(135deg, #ff4328, #ff673d);
  border-radius: 999px;
  font-size: 15px;
  line-height: 1;
}

.catalog-page .catalog-section-card .primary-action,
main:not(.catalog-page) .catalog-section-card .primary-action {
  position: relative;
  display: flex;
  justify-content: flex-start;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 0 40px 0 14px;
  overflow: hidden;
  box-sizing: border-box;
}

.catalog-page .catalog-section-card .primary-action::after,
main:not(.catalog-page) .catalog-section-card .primary-action::after {
  position: absolute;
  top: 50%;
  right: 2px;
  flex: none;
  margin: 0;
  transform: translateY(-50%);
}

@media (max-width: 1320px) {
  .catalog-page .catalog-category-grid,
  main:not(.catalog-page) .catalog-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .catalog-page-hero,
  .catalog-categories-section {
    padding-left: 18px;
    padding-right: 18px;
  }

  .catalog-hero-facts,
  .catalog-page .catalog-category-grid,
  main:not(.catalog-page) .catalog-category-grid {
    grid-template-columns: 1fr;
  }

  .catalog-page .catalog-section-card,
  main:not(.catalog-page) .catalog-section-card {
    grid-template-columns: 1fr;
  }

  .catalog-page .catalog-section-card img,
  main:not(.catalog-page) .catalog-section-card img {
    height: 210px;
    min-height: 210px;
  }
}

.category-hero {
  position: relative;
  display: grid;
  align-items: center;
  min-height: clamp(300px, 34vw, 420px);
  padding: clamp(34px, 5vw, 64px) clamp(16px, 4vw, 70px);
  overflow: hidden;
  background: var(--graphite);
  color: white;
  isolation: isolate;
}

.category-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(18,24,32,.98) 0%, rgba(18,24,32,.86) 30%, rgba(18,24,32,.42) 58%, rgba(18,24,32,.08) 100%),
    linear-gradient(0deg, rgba(18,24,32,.24), rgba(18,24,32,.08));
}

.category-hero > div {
  max-width: 760px;
}

.category-hero .breadcrumbs {
  color: rgba(255,255,255,.64);
}

.category-hero .eyebrow { color: #ffcf84; }

.category-hero p {
  max-width: 760px;
  color: rgba(255,255,255,.78);
  font-size: clamp(16px, 1.1vw, 18px);
  line-height: 1.5;
}

.category-hero img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
  box-shadow: none;
}

.category-hero .category-specs span {
  color: white;
  background: rgba(255,255,255,.12);
}

.split {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}

.split p { color: var(--steel); line-height: 1.65; }

.capability-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 28px;
}

.capability-grid article { padding: 20px; }
.capability-grid span { color: var(--signal); font-weight: 900; }
.capability-grid p { margin: 0; color: var(--muted); font-size: 14px; }

.photo-stack {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.photo-stack img {
  width: 100%;
  height: clamp(280px, 42vw, 520px);
  object-fit: cover;
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.photo-stack img:nth-child(2) { margin-top: 48px; }

.section-heading {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  margin-bottom: 24px;
}

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

.catalog-toolbar {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto 220px;
  gap: 7px;
  align-items: center;
  margin-bottom: 16px;
  padding: 14px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(18,20,23,.08);
  border-radius: 6px;
  box-shadow: 0 12px 34px rgba(18,20,23,.06);
}

.catalog-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

.execution-selector {
  margin-bottom: 18px;
}

.compact-head {
  margin-bottom: 14px;
}

.compact-head h3 {
  margin: 0;
  font-size: 24px;
}

.execution-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.execution-card {
    position: relative;
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 0;
    min-height: 182px;
    padding: 20px;
    text-align: left;
    background: white;
  border: 1px solid rgba(18,20,23,.08);
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(18,20,23,.08);
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, opacity .18s ease;
}

.execution-card:hover {
  transform: translateY(-3px);
  border-color: rgba(214,59,49,.24);
  box-shadow: 0 24px 46px rgba(18,20,23,.12);
}

.execution-card.active {
  border-color: rgba(214,59,49,.42);
  box-shadow: 0 22px 42px rgba(214,59,49,.12);
}

.execution-card.disabled {
  opacity: .38;
  cursor: default;
  pointer-events: none;
}

.execution-card-mark {
  display: grid;
  align-self: start;
  width: 108px;
  height: 108px;
  place-items: center;
  color: #173f78;
  font-size: 26px;
  font-weight: 900;
  line-height: 1;
  background: linear-gradient(135deg, #eef3f6, #d9e2e8);
  border-radius: 12px;
}

.execution-card-image {
  align-self: start;
  width: 108px;
  height: 108px;
  object-fit: contain;
  object-position: center;
}

.execution-card-copy {
    display: grid;
    align-content: center;
    gap: 4px;
    min-width: 0;
    margin-left: -22px;
  }

.execution-card-copy strong {
  font-size: 19px;
  line-height: 1.12;
}

.execution-card-subtitle {
  font-size: 11px;
  line-height: 1.15;
  font-weight: 600;
  white-space: nowrap;
}

.execution-card-copy small {
  max-width: 240px;
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.execution-card-arrow {
  margin-top: auto;
  justify-self: end;
  align-self: end;
  grid-column: 2;
  color: var(--ink);
  font-size: 34px;
  line-height: 1;
}

.filter-sidebar {
  position: sticky;
  top: 92px;
  max-height: calc(100vh - 112px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 18px;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(18,20,23,.08);
  border-radius: 6px;
  box-shadow: 0 12px 34px rgba(18,20,23,.06);
}

.filter-panel-head {
  margin-bottom: 18px;
}

.filter-panel-head h3 {
  margin: 0;
  font-size: 22px;
  line-height: 1.08;
}

.filter-group + .filter-group {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.filter-group h4 {
  margin: 0 0 12px;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.filter-options {
  display: grid;
  gap: 8px;
  padding-right: 6px;
}

.filter-option {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  align-items: start;
  color: var(--steel);
  font-weight: 600;
  cursor: pointer;
}

.filter-option.disabled {
  opacity: .38;
  cursor: default;
}

.filter-option.disabled span {
  text-decoration: none;
}

.filter-option input {
  width: 18px;
  min-height: 18px;
  margin: 0;
}

.search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 14px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 4px;
}

.search-field input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
}

.segmented {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 6px;
}

.segmented button {
  min-height: 38px;
  padding: 0 12px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  cursor: pointer;
  font-weight: 750;
  white-space: nowrap;
}

.segmented button.active {
  color: white;
  background: var(--steel);
}

select, input, textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: white;
  padding: 0 12px;
  color: var(--ink);
}

textarea {
  min-height: 128px;
  padding-top: 12px;
  resize: vertical;
}

.catalog-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
  color: var(--muted);
}

.text-button {
  min-height: auto;
  padding: 0;
  color: var(--signal);
  background: transparent;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.catalog-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: var(--header-max);
  margin: 28px auto 0;
  padding: 14px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(18,20,23,.08);
  border-radius: 8px;
  box-shadow: 0 12px 34px rgba(18,20,23,.06);
}

.catalog-pagination-summary {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
}

.catalog-pagination-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.catalog-page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 13px;
  color: var(--ink);
  background: #f8fafb;
  border: 1px solid rgba(18,20,23,.12);
  border-radius: 8px;
  font-weight: 800;
  line-height: 1;
  transition: color .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.catalog-page-link--wide {
  min-width: 86px;
}

.catalog-page-link:hover {
  color: var(--signal);
  background: #fff;
  border-color: rgba(214,59,49,.34);
  box-shadow: 0 10px 22px rgba(18,20,23,.08);
}

.catalog-page-link.active {
  color: #fff;
  background: var(--ink);
  border-color: var(--ink);
  box-shadow: 0 12px 24px rgba(18,20,23,.14);
}

.catalog-page-link.disabled {
  color: #a3abb5;
  background: #eef1f3;
  cursor: default;
  pointer-events: none;
  box-shadow: none;
}

.catalog-page-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 42px;
  color: var(--muted);
  font-weight: 800;
}

.product-card {
  display: flex;
  flex-direction: column;
  min-height: 432px;
  padding: 12px;
  overflow: hidden;
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, rgba(255, 75, 45, .56), rgba(148, 159, 171, .22) 36%, rgba(17, 25, 34, .2)) border-box;
  border: 1px solid transparent;
  box-shadow: 0 16px 40px rgba(17, 25, 34, .08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.product-card:hover {
  transform: translateY(-4px);
  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, rgba(255, 75, 45, .95), rgba(197, 206, 216, .5) 44%, rgba(17, 25, 34, .3)) border-box;
  box-shadow: 0 24px 56px rgba(17, 25, 34, .15);
}

.product-art {
  position: relative;
  height: 118px;
  overflow: hidden;
  border: 1px solid rgba(17, 25, 34, .08);
  border-radius: 8px;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.86), transparent 22%),
    linear-gradient(135deg, #dce5ec, #a9b7c3);
}

.product-art.has-photo {
  display: grid;
  place-items: center;
  background:
    linear-gradient(135deg, rgba(255, 75, 45, .08), transparent 28%),
    linear-gradient(180deg, #fbfcfd, #eef3f6);
  box-shadow: inset 0 0 0 6px rgba(255, 255, 255, .72);
}

.product-card .product-art.has-photo {
  height: 228px;
  padding: 12px 14px;
}

.product-art.large {
  height: auto;
  min-height: 430px;
  border-radius: 8px;
}

.product-art::before {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  top: 50%;
  height: 18px;
  transform: translateY(-50%);
  background: linear-gradient(90deg, #9ca7b3, #eff3f6 42%, #6f7a84);
  border-radius: 99px;
  box-shadow: inset 0 0 0 2px rgba(18,20,23,.08), 0 10px 18px rgba(18,20,23,.16);
}

.product-art::after {
  content: "";
  position: absolute;
  right: 22px;
  top: 36px;
  width: 42px;
  height: 42px;
  border: 10px solid #7c8792;
  border-radius: 6px;
  transform: rotate(12deg);
  background: rgba(255,255,255,.28);
}

.product-art.has-photo::before,
.product-art.has-photo::after {
  content: none;
}

.product-art.has-photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
}

.product-card .product-art.has-photo img {
  max-width: 100%;
  max-height: 100%;
  filter: drop-shadow(0 16px 18px rgba(17, 25, 34, .18));
}

.product-card.product-card--foundation-bolts .product-art.has-photo,
.product-card.product-card--mesh-frames-by-drawing .product-art.has-photo,
.product-card.product-card--grating-flooring .product-art.has-photo {
  background: #fff;
  box-shadow: none;
}

.product-card.product-card--mesh-frames-by-drawing .product-art.has-photo,
.product-card.product-card--grating-flooring .product-art.has-photo {
  padding: 0;
  overflow: hidden;
}

.product-card.product-card--foundation-bolts .product-art.has-photo img,
.product-card.product-card--mesh-frames-by-drawing .product-art.has-photo img,
.product-card.product-card--grating-flooring .product-art.has-photo img {
  filter: none;
}

.product-card.product-card--mesh-frames-by-drawing .product-art.has-photo img,
.product-card.product-card--grating-flooring .product-art.has-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 15px 2px 0;
}

.product-card-body .eyebrow {
  margin-bottom: 8px;
  color: var(--signal);
  font-size: 12px;
}

.product-card-body h3 {
  min-height: 74px;
  margin: 0 0 12px;
  color: #0f1721;
  font-size: 17px;
  line-height: 1.2;
}

.product-card-body h3 a:hover {
  color: var(--signal);
}

.product-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 28px;
  margin-bottom: auto;
}

.product-specs span {
  min-height: 24px;
  padding: 5px 8px;
  color: #343c47;
  background: #f1f4f6;
  border: 1px solid rgba(17, 25, 34, .07);
  border-radius: 6px;
  font-size: 12px;
  font-weight: 750;
  line-height: 1;
}

.product-art.large.has-photo img {
  max-height: 560px;
}

.category-seo-text {
  max-width: 980px;
  margin: 34px auto 0;
  padding: 28px;
  color: var(--steel);
  background: #fff;
  border: 1px solid rgba(18, 20, 23, .08);
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(18,20,23,.06);
}

.category-seo-text h2 {
  margin-bottom: 12px;
  color: var(--ink);
  font-size: clamp(22px, 2vw, 30px);
}

.category-seo-text p {
  margin: 0;
  line-height: 1.65;
  white-space: pre-line;
}

.embedded .product-art {
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.72), transparent 22%),
    linear-gradient(135deg, #dde9df, #9fb0a4);
}

.flange .product-art {
  background:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.72), transparent 22%),
    linear-gradient(135deg, #e9e1d5, #b5a28e);
}

.embedded .product-art::before {
  left: 34px;
  right: 34px;
  height: 54px;
  border-radius: 4px;
  background: linear-gradient(135deg, #697681, #d9e1e4);
}

.flange .product-art::before {
  left: 22px;
  right: 22px;
  height: 24px;
  border-radius: 99px;
  background: linear-gradient(90deg, #646f78, #f5f1ea 42%, #7d6956);
}

.embedded .product-art::after {
  left: 50%;
  right: auto;
  top: 43px;
  width: 16px;
  height: 16px;
  border: 0;
  border-radius: 50%;
  background: var(--paper);
  transform: translateX(-50%);
}

.flange .product-art::after {
  right: 24px;
  top: 34px;
  width: 48px;
  height: 48px;
  border: 12px solid #8f7b66;
  border-radius: 50%;
  background: rgba(255,255,255,.3);
  transform: rotate(0);
}

body[data-category-page] {
  background: #f6f7f9;
}

body[data-category-page] .site-header-wrap {
  background: rgba(255, 255, 255, .94);
  border-bottom: 1px solid rgba(18, 20, 23, .08);
  box-shadow: 0 12px 34px rgba(18, 20, 23, .06);
}

body[data-category-page] .brand strong,
body[data-category-page] .main-nav a,
body[data-category-page] .catalog-dropdown summary {
  color: #111922;
}

body[data-category-page] .brand small {
  color: #6f7782;
}

body[data-category-page] .main-nav a:hover,
body[data-category-page] .catalog-dropdown summary:hover {
  color: var(--signal);
}

body[data-category-page] .header-search {
  background: rgba(255, 255, 255, .92);
  border-color: rgba(255, 75, 45, .58);
  box-shadow:
    0 0 0 1px rgba(255, 75, 45, .08) inset,
    0 0 22px rgba(255, 75, 45, .2),
    0 12px 28px rgba(255, 75, 45, .08);
}

body[data-category-page] .header-search:focus-within {
  background: #fff;
  border-color: rgba(255, 75, 45, .84);
  box-shadow:
    0 0 0 1px rgba(255, 75, 45, .16) inset,
    0 0 30px rgba(255, 75, 45, .28),
    0 12px 30px rgba(255, 75, 45, .1);
}

body[data-category-page] .header-search::before {
  border-color: #6f7782;
}

body[data-category-page] .header-search::after {
  background: #6f7782;
}

body[data-category-page] .header-search input {
  color: #111922;
}

body[data-category-page] .header-search input::placeholder {
  color: #8a929d;
}

body[data-category-page] .cart-button {
  color: #111922;
  background: rgba(255, 255, 255, .9);
  box-shadow:
    0 0 0 1px rgba(255, 75, 45, .06) inset,
    0 0 20px rgba(255, 75, 45, .18),
    0 12px 28px rgba(255, 75, 45, .08);
}

body[data-category-page] .cart-button:hover {
  background: #fff;
}

body[data-category-page] .category-hero {
  min-height: clamp(360px, 32vw, 440px);
  padding: 36px max(clamp(24px, 4.2vw, 72px), calc((100vw - var(--header-max)) / 2)) 42px;
  background: #151b21;
}

body[data-category-page] .category-hero::after {
  background:
    linear-gradient(90deg, rgba(16, 22, 29, .98) 0%, rgba(16, 22, 29, .94) 35%, rgba(16, 22, 29, .42) 61%, rgba(16, 22, 29, .04) 100%),
    radial-gradient(circle at 24% 72%, rgba(30, 47, 62, .55), transparent 34%),
    linear-gradient(0deg, rgba(8, 11, 15, .18), rgba(8, 11, 15, .04));
}

body[data-category-page] .category-hero > div {
  max-width: 860px;
}

body[data-category-page] .category-hero .breadcrumbs {
  display: flex;
  align-items: center;
  margin-bottom: 24px;
  color: rgba(255, 255, 255, .76);
  font-weight: 650;
  line-height: 1;
}

body[data-category-page] .category-hero .breadcrumbs > span:not(:last-child) {
  position: relative;
  display: inline-flex;
  align-items: center;
  align-self: center;
  width: 8px;
  height: 8px;
  margin-top: 2px;
  font-size: 0;
  line-height: 1;
}

body[data-category-page] .category-hero .breadcrumbs > span:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid rgba(255, 255, 255, .62);
  border-right: 2px solid rgba(255, 255, 255, .62);
  transform: translateY(-50%) rotate(45deg);
}

body[data-category-page] .category-hero .breadcrumbs a:hover,
body[data-category-page] .category-hero .breadcrumbs span:last-child {
  color: #ff4b2d;
}

body[data-category-page] .category-hero .eyebrow {
  display: none;
}

body[data-category-page] .category-hero h1 {
  max-width: 720px;
  margin: 0 0 18px;
  font-size: clamp(44px, 4.2vw, 60px);
  line-height: .98;
}

body[data-category-page] .category-hero p {
  max-width: 650px;
  color: rgba(255, 255, 255, .9);
  font-size: clamp(17px, 1.12vw, 20px);
  line-height: 1.5;
}

body[data-category-page] .category-hero .category-specs {
  margin-top: 22px;
  gap: 10px;
}

body[data-category-page] .category-hero .category-specs span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .14);
  border-radius: 5px;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .12);
  line-height: 1;
  white-space: nowrap;
}

.category-hero-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, max-content));
  gap: clamp(30px, 4vw, 66px);
  align-items: center;
  margin-top: 34px;
}

.category-hero-benefits div {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.category-hero-benefits p {
  margin: 0;
}

.category-hero-benefits strong {
  display: block;
  color: white;
  font-size: 16px;
  line-height: 1.18;
}

.category-hero-benefits small {
  display: block;
  margin-top: 4px;
  color: rgba(255, 255, 255, .82);
  font-size: 15px;
  line-height: 1.2;
}

.hero-benefit-icon {
  position: relative;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 48px 48px;
  filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .22));
}

.hero-benefit-icon.gost {
  background-image: url("images/benefit-gost.svg");
}

.hero-benefit-icon.strength {
  background-image: url("images/benefit-strength.svg");
}

.hero-benefit-icon.assortment {
  background-image: url("images/benefit-assortment.svg");
}

body[data-category-page] .category-hero img {
  object-position: 70% center;
  filter: saturate(.9) contrast(1.12) brightness(.92);
}

body[data-category-page] .catalog-section {
  padding-top: 28px;
  background: #f6f7f9;
}

body[data-category-page] .catalog-layout {
  grid-template-columns: 304px minmax(0, 1fr);
  gap: 26px;
  max-width: var(--header-max);
  margin: 0 auto;
}

body[data-category-page] .filter-sidebar,
body[data-category-page] .catalog-toolbar,
body[data-category-page] .category-benefit-strip {
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(17, 25, 34, .08);
  border-radius: 8px;
  box-shadow: 0 18px 48px rgba(17, 25, 34, .08);
}

body[data-category-page] .filter-sidebar {
  top: 112px;
  padding: 24px;
}

body[data-category-page] .filter-panel-head .eyebrow,
body[data-category-page] .execution-selector .eyebrow {
  color: var(--signal);
}

body[data-category-page] .filter-panel-head h3 {
  font-size: 22px;
  line-height: 1.18;
}

body[data-category-page] .filter-group h4 {
  color: #111922;
  font-size: 15px;
  text-transform: none;
}

body[data-category-page] .filter-option {
  color: #343c47;
}

body[data-category-page] .filter-option input {
  accent-color: var(--signal);
}

body[data-category-page] .execution-selector {
  position: relative;
  margin-bottom: 20px;
}

.foundation-subcategory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.foundation-subcategory-card {
  display: grid;
  gap: 7px;
  min-height: 112px;
  padding: 18px 20px;
  text-align: left;
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(17, 25, 34, .1);
  border-radius: 8px;
  box-shadow: 0 16px 38px rgba(17, 25, 34, .06);
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.foundation-subcategory-card:hover,
.foundation-subcategory-card.active {
  border-color: rgba(255, 75, 45, .72);
  box-shadow: 0 18px 44px rgba(255, 75, 45, .1);
}

.foundation-subcategory-card:hover {
  transform: translateY(-2px);
}

.foundation-subcategory-card strong {
  color: #111922;
  font-size: 20px;
  line-height: 1.12;
}

.foundation-subcategory-card span {
  color: #7b838d;
  font-size: 14px;
  line-height: 1.35;
}

.foundation-subcategory-card b {
  width: max-content;
  margin-top: 4px;
  padding: 7px 13px;
  color: var(--signal);
  background: rgba(255, 75, 45, .07);
  border: 1px solid rgba(255, 75, 45, .2);
  border-radius: 999px;
  font-size: 13px;
  line-height: 1;
}

body[data-category-page] .compact-head {
  align-items: center;
  margin-bottom: 18px;
}

body[data-category-page] .compact-head h3 {
  max-width: 980px;
  color: #151b24;
  font-size: clamp(25px, 2vw, 32px);
  line-height: 1.12;
}

.category-sort-control {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #7b838d;
  font-size: 15px;
  white-space: nowrap;
}

body[data-category-page] .execution-selector > .category-sort-control {
  position: absolute;
  top: 2px;
  right: 0;
}

.category-sort-control select {
  width: 178px;
  min-height: 48px;
  border-radius: 8px;
  background: #fff;
}

body[data-category-page] .execution-grid {
  grid-template-columns: repeat(4, minmax(257px, 1fr));
  gap: 16px;
  max-width: 100%;
  overflow: hidden;
}

body[data-category-page] .execution-card {
  grid-template-columns: 76px minmax(0, 1fr);
  min-height: 158px;
  padding: 18px 20px;
  align-items: center;
  overflow: hidden;
  border-radius: 8px;
  border-color: rgba(17, 25, 34, .1);
  box-shadow: 0 14px 34px rgba(17, 25, 34, .05);
}

body[data-category-page] .execution-card:hover {
  border-color: rgba(255, 75, 45, .48);
  box-shadow: 0 22px 52px rgba(255, 75, 45, .1);
}

body[data-category-page] .execution-card.active {
  border-color: #ff4b2d;
  box-shadow: 0 22px 52px rgba(255, 75, 45, .12);
}

body[data-category-page] .execution-card-image,
body[data-category-page] .execution-card-mark {
  justify-self: center;
  align-self: center;
  width: 76px;
  height: 118px;
  object-fit: contain;
  mix-blend-mode: normal;
  filter: drop-shadow(0 12px 18px rgba(17, 25, 34, .14));
}

body[data-category-page] .execution-card-copy {
  display: grid;
  align-content: center;
  gap: 4px;
  height: 100%;
  min-width: 0;
  margin-left: 12px;
}

body[data-category-page] .execution-card-copy strong {
  display: block;
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  color: #0f1721;
  font-size: 19px;
  line-height: 1.12;
  white-space: nowrap;
}

body[data-category-page] .execution-card-subtitle {
  font-size: 19px;
  line-height: 1.12;
  white-space: nowrap;
}

body[data-category-page] .execution-card-copy small {
  display: none;
}

.execution-card-count {
  justify-self: start;
  width: max-content;
  max-width: none;
  min-width: 0;
  margin-top: 16px;
  padding: 8px 14px;
  overflow: visible;
  color: var(--signal);
  background: rgba(255, 75, 45, .07);
  border: 1px solid rgba(255, 75, 45, .22);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
}

body[data-category-page] .execution-card-arrow {
  display: none;
}

.category-benefit-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 24px 0 22px;
  padding: 14px 22px;
}

.category-benefit-strip div {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 58px;
}

.category-benefit-strip p {
  margin: 0;
}

.category-benefit-strip div + div {
  border-left: 1px solid rgba(17, 25, 34, .08);
  padding-left: 24px;
}

.category-benefit-strip span {
  position: relative;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #ff4b2d;
  font-size: 0;
  font-weight: 800;
}

.category-benefit-strip span::before,
.category-benefit-strip span::after {
  content: "";
  position: absolute;
}

.category-benefit-strip span::before {
  inset: 8px;
  border: 2px solid #ff4b2d;
  border-radius: 4px;
}

.category-benefit-strip div:nth-child(1) span::before {
  box-shadow:
    10px 0 0 -8px #ff4b2d,
    -10px 0 0 -8px #ff4b2d,
    0 10px 0 -8px #ff4b2d,
    0 -10px 0 -8px #ff4b2d;
}

.category-benefit-strip div:nth-child(2) span::before {
  width: 23px;
  height: 15px;
  inset: 12px 8px auto auto;
  border-radius: 2px;
}

.category-benefit-strip div:nth-child(2) span::after {
  left: 7px;
  top: 19px;
  width: 8px;
  height: 8px;
  border: 2px solid #ff4b2d;
  border-radius: 50%;
  box-shadow: 21px 0 0 -2px #f6f7f9, 21px 0 0 0 #ff4b2d;
}

.category-benefit-strip div:nth-child(3) span::before {
  inset: 5px 7px;
  border-radius: 50% 50% 8px 8px;
  border-bottom-color: transparent;
}

.category-benefit-strip div:nth-child(3) span::after {
  left: 5px;
  right: 5px;
  bottom: 8px;
  height: 12px;
  border-left: 2px solid #ff4b2d;
  border-right: 2px solid #ff4b2d;
}

.category-benefit-strip strong {
  display: block;
  color: #151b24;
  font-size: 15px;
}

.category-benefit-strip small {
  color: #7b838d;
  font-size: 14px;
}

body[data-category-page] .catalog-toolbar {
  grid-template-columns: minmax(260px, 1fr) 210px;
  padding: 18px;
}

body[data-category-page] .catalog-toolbar .search-field {
  min-height: 52px;
  border-radius: 8px;
}

body[data-category-page] .catalog-meta {
  margin-top: 10px;
}

main[data-category-page] .catalog-section {
  padding-top: 28px;
  background: #f6f7f9;
}

main[data-category-page] .catalog-layout {
  grid-template-columns: 304px minmax(0, 1fr);
  gap: 26px;
  max-width: var(--header-max);
  margin: 0 auto;
}

main[data-category-page] .catalog-content {
  min-width: 0;
}

main[data-category-page] .execution-selector {
  margin: 0 0 22px;
}

main[data-category-page] .execution-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}

main[data-category-page] .execution-card {
  position: relative;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 18px;
  align-items: center;
  min-height: 104px;
  padding: 12px 14px;
  overflow: hidden;
  color: #0f1721;
  background: #fff;
  border: 1px solid #e1e6ec;
  border-radius: 12px;
  box-shadow: 0 14px 32px rgba(16, 24, 34, .07);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

main[data-category-page] .execution-card:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 75, 45, .38);
  box-shadow: 0 18px 40px rgba(16, 24, 34, .1);
}

main[data-category-page] .execution-card.active {
  border-color: #ff4b2d;
  box-shadow: 0 18px 40px rgba(255, 75, 45, .14);
}

main[data-category-page] .execution-card.active::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 2px rgba(255, 75, 45, .12);
  pointer-events: none;
}

main[data-category-page] .execution-card-image {
  justify-self: center;
  width: 64px;
  height: 88px;
  background: transparent;
  mix-blend-mode: multiply;
  object-fit: contain;
  object-position: center;
  filter: none;
}

main[data-category-page] .execution-card-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding-left: 18px;
}

main[data-category-page] .execution-card-copy strong,
main[data-category-page] .execution-card-subtitle {
  display: block;
  color: #0f1721;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
}

main[data-category-page] .execution-card-arrow {
  justify-self: end;
  align-self: end;
  color: #101820;
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
}

main[data-category-page] .foundation-extra-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 16px;
}

main[data-category-page] .foundation-extra-card {
  grid-template-columns: 92px minmax(0, 1fr) 18px;
}

main[data-category-page] .foundation-extra-card .execution-card-image {
  width: 84px;
  height: 84px;
}

main[data-category-page] .foundation-extra-card .execution-card-arrow {
  display: grid;
  width: 18px;
  height: 26px;
  place-items: center;
  font-size: 0;
}

main[data-category-page] .foundation-extra-card .execution-card-arrow::before {
  content: "\2192";
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
}

main[data-category-page="embedded-parts"] .embedded-series-grid {
  grid-template-columns: repeat(auto-fill, 118px);
  gap: 7px;
  justify-content: start;
  margin-top: 8px;
}

main[data-category-page="embedded-parts"] .embedded-series-card {
  grid-template-columns: 1fr;
  grid-template-rows: 36px minmax(0, 1fr) 12px;
  width: 118px;
  height: 118px;
  min-height: 0;
  box-sizing: border-box;
  overflow: hidden;
  padding: 7px 8px 5px;
  border-radius: 8px;
  box-shadow: 0 7px 16px rgba(16, 24, 34, .06);
}

main[data-category-page="embedded-parts"] .embedded-series-card .execution-card-image,
main[data-category-page="embedded-parts"] .embedded-series-card .execution-card-copy,
main[data-category-page="embedded-parts"] .embedded-series-card .execution-card-arrow {
  grid-column: 1;
}

main[data-category-page="embedded-parts"] .embedded-series-card .execution-card-image {
  align-self: end;
  width: 44px;
  height: 34px;
  mix-blend-mode: normal;
}

main[data-category-page="embedded-parts"] .embedded-series-card .execution-card-copy {
  align-self: center;
  gap: 0;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin-left: 0;
  overflow: hidden;
  padding-left: 0;
  text-align: center;
}

main[data-category-page="embedded-parts"] .embedded-series-card .execution-card-copy strong {
  display: -webkit-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.13;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

main[data-category-page="embedded-parts"] .embedded-series-card .execution-card-subtitle {
  display: none;
}

main[data-category-page="embedded-parts"] .embedded-series-card .execution-card-arrow {
  position: absolute;
  right: 7px;
  bottom: 7px;
  display: grid;
  width: 20px;
  height: 14px;
  place-items: center;
  margin: 0;
  font-size: 0;
  line-height: 1;
}

main[data-category-page="embedded-parts"] .embedded-series-card .execution-card-arrow::before {
  content: "\2192";
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}

main[data-category-page] .grating-type-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

main[data-category-page] .grating-type-card {
  grid-template-columns: 156px minmax(0, 1fr) 18px;
  min-height: 150px;
  padding: 20px;
  border-radius: 12px;
}

main[data-category-page] .grating-type-card .execution-card-image {
  align-self: center;
  width: 136px;
  height: 104px;
  padding: 6px;
  object-fit: contain;
  mix-blend-mode: normal;
  background: #fff;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(17, 24, 39, .08);
}

main[data-category-page] .grating-type-card .execution-card-mark {
  align-self: center;
  width: 72px;
  height: 72px;
  color: #274a70;
  font-size: 24px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.45), rgba(255,255,255,0)),
    repeating-linear-gradient(90deg, #c9d2da 0 5px, transparent 5px 13px),
    repeating-linear-gradient(0deg, rgba(94, 108, 121, .72) 0 4px, transparent 4px 13px),
    #eef2f5;
  box-shadow: inset 0 0 0 1px rgba(16, 24, 34, .08);
}

main[data-category-page] .grating-type-card .execution-card-copy {
  align-content: center;
  margin-left: 0;
}

main[data-category-page] .grating-type-card .execution-card-subtitle {
  color: #66717d;
  white-space: normal;
}

main[data-category-page] .grating-type-card .execution-card-arrow {
  display: grid;
  width: 18px;
  height: 26px;
  place-items: center;
  font-size: 0;
}

main[data-category-page] .grating-type-card .execution-card-arrow::before {
  content: "\2192";
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
}

main[data-category-page] .grating-type-card.active {
  border-color: rgba(49, 95, 149, .5);
  background: linear-gradient(180deg, #fff 0%, #f7fbff 100%);
  box-shadow:
    inset 0 0 0 2px rgba(49, 95, 149, .1),
    0 22px 48px rgba(49, 95, 149, .14);
}

main[data-category-page] .grating-card-pressed.active {
  border-color: rgba(214, 91, 49, .48);
  background: linear-gradient(180deg, #fff 0%, #fff8f5 100%);
  box-shadow:
    inset 0 0 0 2px rgba(214, 91, 49, .1),
    0 22px 48px rgba(214, 91, 49, .14);
}

main[data-category-page] .flange-fastener-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: start;
  gap: 16px;
}

main[data-category-page] .flange-fastener-card {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  min-height: 0;
  padding: 0;
  background: #fff;
  border-color: rgba(17, 25, 34, .07);
  border-radius: 12px;
  box-shadow: 0 18px 42px rgba(17, 25, 34, .07);
}

main[data-category-page] .flange-fastener-card:hover {
  transform: translateY(-3px);
  border-color: rgba(17, 25, 34, .1);
  box-shadow: 0 22px 52px rgba(17, 25, 34, .1);
}

main[data-category-page] .flange-fastener-card.active {
  border-color: rgba(49, 95, 149, .58);
  background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
  box-shadow:
    inset 0 0 0 2px rgba(49, 95, 149, .12),
    0 24px 54px rgba(49, 95, 149, .16);
}

main[data-category-page] .flange-fastener-card.active::before {
  box-shadow: none;
}

main[data-category-page] .flange-card-nuts.active {
  border-color: rgba(35, 121, 66, .58);
  background: linear-gradient(180deg, #fff 0%, #f7fcf9 100%);
  box-shadow:
    inset 0 0 0 2px rgba(35, 121, 66, .12),
    0 24px 54px rgba(35, 121, 66, .16);
}

main[data-category-page] .flange-card-washers.active {
  border-color: rgba(98, 69, 173, .58);
  background: linear-gradient(180deg, #fff 0%, #fbf9ff 100%);
  box-shadow:
    inset 0 0 0 2px rgba(98, 69, 173, .12),
    0 24px 54px rgba(98, 69, 173, .16);
}

main[data-category-page] .flange-card-bolts.active {
  border-color: rgba(168, 93, 53, .58);
  background: linear-gradient(180deg, #fff 0%, #fff9f5 100%);
  box-shadow:
    inset 0 0 0 2px rgba(168, 93, 53, .12),
    0 24px 54px rgba(168, 93, 53, .16);
}

main[data-category-page] .flange-card-main {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 112px;
  padding: 24px 20px 8px;
  color: inherit;
}

main[data-category-page] .flange-fastener-card .execution-card-mark {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  color: #6686ac;
  font-size: 0;
  font-weight: 850;
  letter-spacing: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(17, 25, 34, .08);
}

main[data-category-page] .flange-fastener-card .execution-card-mark::before {
  content: "";
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: center / cover no-repeat;
}

main[data-category-page] .flange-card-studs .execution-card-mark::before {
  background-image: url("images/flange-fasteners/stud.jpg");
}

main[data-category-page] .flange-card-nuts .execution-card-mark {
  color: #4c9b66;
  background: transparent;
}

main[data-category-page] .flange-card-nuts .execution-card-mark::before {
  background-image: url("images/flange-fasteners/nut.jpg");
}

main[data-category-page] .flange-card-washers .execution-card-mark {
  color: #8b6fd0;
  background: transparent;
}

main[data-category-page] .flange-card-washers .execution-card-mark::before {
  background-image: url("images/flange-fasteners/washer.jpg");
}

main[data-category-page] .flange-card-bolts .execution-card-mark {
  color: #c57950;
  background: transparent;
}

main[data-category-page] .flange-card-bolts .execution-card-mark::before {
  background-image: url("images/flange-fasteners/bolt.jpg");
}

main[data-category-page] .flange-fastener-card .execution-card-copy {
  align-self: start;
  min-width: 0;
  padding-left: 0;
  overflow: hidden;
}

main[data-category-page] .flange-fastener-card .execution-card-copy strong {
  display: block;
  margin-top: 10px;
  max-width: 100%;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.1;
  overflow-wrap: break-word;
}

main[data-category-page] .flange-fastener-card .execution-card-subtitle {
  display: block;
  max-width: 100%;
  margin-top: 4px;
  color: #697584;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.25;
  overflow-wrap: break-word;
  white-space: normal;
}

main[data-category-page] .flange-fastener-card .execution-card-arrow {
  display: none;
  align-self: center;
  justify-self: end;
  width: 34px;
  height: 34px;
  place-items: center;
  color: #111922;
  background: #fff;
  border: 1px solid #e6ebf0;
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(17, 25, 34, .06);
  font-size: 20px;
}

main[data-category-page] .flange-standard-list {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 10px 12px;
  align-content: start;
  justify-content: center;
  padding: 0 20px 24px;
}

main[data-category-page] .flange-card-bolts .flange-standard-list {
  grid-template-columns: max-content;
}

main[data-category-page] .flange-standard-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  gap: 6px;
  min-width: 132px;
  min-height: 30px;
  padding: 6px 10px;
  text-align: center;
  color: #6686ac;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.15;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  background: #edf4ff;
  border: 1px solid transparent;
  border-radius: 6px;
  box-shadow: inset 0 0 0 1px rgba(49, 95, 149, .04);
  transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

main[data-category-page] .flange-standard-chip:hover {
  color: #315f95;
  background: #dfeeff;
}

main[data-category-page] .flange-standard-chip.active {
  color: #fff;
  background: #315f95;
  border-color: #315f95;
  box-shadow:
    0 8px 18px rgba(49, 95, 149, .28),
    inset 0 0 0 1px rgba(255, 255, 255, .2);
  transform: translateY(-1px);
}

main[data-category-page] .flange-standard-chip.active::before {
  content: "\2713";
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}

main[data-category-page] .flange-card-nuts .flange-standard-chip {
  color: #4c9b66;
  background: #e8f7ee;
}

main[data-category-page] .flange-card-nuts .flange-standard-chip:hover {
  color: #237942;
  background: #daf1e3;
}

main[data-category-page] .flange-card-nuts .flange-standard-chip.active {
  color: #fff;
  background: #237942;
  border-color: #237942;
  box-shadow:
    0 8px 18px rgba(35, 121, 66, .28),
    inset 0 0 0 1px rgba(255, 255, 255, .22);
}

main[data-category-page] .flange-card-washers .flange-standard-chip {
  color: #7960bd;
  background: #f1ecff;
}

main[data-category-page] .flange-card-washers .flange-standard-chip:hover {
  color: #6245ad;
  background: #e8dfff;
}

main[data-category-page] .flange-card-washers .flange-standard-chip.active {
  color: #fff;
  background: #6245ad;
  border-color: #6245ad;
  box-shadow:
    0 8px 18px rgba(98, 69, 173, .28),
    inset 0 0 0 1px rgba(255, 255, 255, .22);
}

main[data-category-page] .flange-card-bolts .flange-standard-chip {
  color: #c57950;
  background: #fff0e9;
}

main[data-category-page] .flange-card-bolts .flange-standard-chip:hover {
  color: #a85d35;
  background: #ffe6d9;
}

main[data-category-page] .flange-card-bolts .flange-standard-chip.active {
  color: #fff;
  background: #a85d35;
  border-color: #a85d35;
  box-shadow:
    0 8px 18px rgba(168, 93, 53, .28),
    inset 0 0 0 1px rgba(255, 255, 255, .22);
}

main[data-category-page] .filter-sidebar,
main[data-category-page] .catalog-toolbar {
  background: rgba(255, 255, 255, .97);
  border: 1px solid rgba(17, 25, 34, .08);
  border-radius: 8px;
  box-shadow: 0 18px 48px rgba(17, 25, 34, .08);
}

main[data-category-page] .filter-sidebar {
  top: 112px;
  padding: 22px;
}

main[data-category-page] .filter-form {
  display: grid;
  gap: 18px;
}

main[data-category-page] .filter-panel-head {
  margin-bottom: 0;
}

main[data-category-page] .filter-panel-head .eyebrow {
  color: var(--signal);
}

main[data-category-page] .filter-panel-head h3 {
  color: #111922;
  font-size: 22px;
  line-height: 1.16;
}

main[data-category-page] .filter-panel-head p {
  margin: 8px 0 0;
  color: #7b838d;
  font-size: 14px;
  line-height: 1.4;
}

main[data-category-page] .filter-group {
  min-width: 0;
  margin: 0;
  padding: 18px 0 0;
  border: 0;
  border-top: 1px solid rgba(17, 25, 34, .08);
}

main[data-category-page] .filter-group + .filter-group {
  margin-top: 0;
}

main[data-category-page] .filter-group legend {
  width: 100%;
  margin: 0 0 12px;
  padding: 0;
  color: #111922;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.2;
}

main[data-category-page] .filter-options {
  max-height: 220px;
  overflow-y: auto;
  padding-right: 4px;
}

main[data-category-page] .filter-option {
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  min-height: 32px;
  color: #343c47;
  font-size: 14px;
}

main[data-category-page] .filter-option input {
  accent-color: var(--signal);
}

main[data-category-page] .filter-option span {
  overflow-wrap: anywhere;
}

main[data-category-page] .filter-option:has(input[name="steel"][value="24379"]),
main[data-category-page] .filter-option:has(input[name="steel"][value="аль"]) {
  display: none;
}

main[data-category-page] .filter-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding-top: 4px;
}

main[data-category-page] .filter-actions .primary-action,
main[data-category-page] .filter-actions .secondary-action {
  width: 100%;
  min-height: 46px;
}

main[data-category-page] .catalog-toolbar {
  grid-template-columns: minmax(260px, 1fr) auto;
  padding: 18px;
}

main[data-category-page] .catalog-toolbar h2 {
  margin-bottom: 6px;
}

main[data-category-page] .category-sort-control select {
  width: 190px;
  min-height: 48px;
  border-radius: 8px;
}

main[data-category-page] .product-grid {
  max-width: none;
  margin: 0;
}

main[data-category-page] {
  background: #f7f8fa;
}

body:has(main[data-category-page]) .site-header-wrap {
  background: rgba(12, 18, 25, .84);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .28);
}

body:has(main[data-category-page]) .site-header {
  padding-top: 7px;
  padding-bottom: 7px;
}

body:has(main[data-category-page]) .brand-mark {
  width: 66px;
  height: 66px;
}

body:has(main[data-category-page]) .brand strong {
  font-size: 24px;
}

body:has(main[data-category-page]) .brand small {
  margin-top: 6px;
  font-size: 12px;
}

body:has(main[data-category-page]) .cart-button,
body:has(main[data-category-page]) .auth-button {
  min-height: 48px;
}

main[data-category-page] .category-hero {
  min-height: 330px;
  padding: 42px max(36px, calc((100vw - 1680px) / 2)) 24px;
  background: #111820;
}

main[data-category-page] .category-hero::after {
  background:
    linear-gradient(90deg, rgba(13, 19, 26, .98) 0%, rgba(13, 19, 26, .93) 35%, rgba(13, 19, 26, .45) 62%, rgba(13, 19, 26, .08) 100%),
    radial-gradient(circle at 26% 70%, rgba(40, 58, 74, .5), transparent 34%);
}

main[data-category-page] .category-hero img {
  object-position: 74% center;
  filter: saturate(.92) contrast(1.08) brightness(.9);
}

main[data-category-page] .category-hero > div {
  max-width: 760px;
}

main[data-category-page] .category-hero .breadcrumbs {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 26px;
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
  font-weight: 600;
}

main[data-category-page] .category-hero .breadcrumbs a:first-child {
  color: #fff;
}

main[data-category-page] .category-hero .breadcrumbs span[aria-hidden="true"] {
  color: rgba(255, 255, 255, .5);
  font-size: 18px;
  line-height: 1;
}

main[data-category-page] .category-hero .breadcrumbs span:last-child {
  color: rgba(255, 255, 255, .58);
}

main[data-category-page] .category-hero .eyebrow {
  display: block;
  margin: 0 0 18px;
  color: #ff7a2f;
  font-size: 13px;
  font-weight: 850;
}

main[data-category-page] .category-hero h1 {
  max-width: 760px;
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(42px, 3.7vw, 56px);
  font-weight: 900;
  line-height: .98;
}

main[data-category-page] .category-hero p:not(.eyebrow) {
  max-width: 560px;
  margin: 0;
  color: rgba(255, 255, 255, .82);
  font-size: 16px;
  line-height: 1.55;
}

main[data-category-page] .category-hero-count {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  margin-top: 18px;
  padding: 0 18px;
  color: #fff;
  background: rgba(255, 255, 255, .09);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 8px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
  font-size: 15px;
  font-weight: 850;
}

main[data-category-page] .category-hero-count::before {
  content: "";
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 20h10'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3Cpath d='M8 14 5 8h14l-3 6'/%3E%3Cpath d='M9 4h6'/%3E%3Cpath d='M12 4v4'/%3E%3C/svg%3E") center / contain no-repeat;
}

main[data-category-page] .catalog-section {
  padding: 28px max(36px, calc((100vw - 1680px) / 2)) 56px;
  background: #f7f8fa;
}

main[data-category-page] .catalog-layout {
  grid-template-columns: 330px minmax(0, 1fr);
  gap: 28px;
  max-width: 1680px;
}

main[data-category-page] .catalog-layout.catalog-layout--no-filter {
  grid-template-columns: minmax(0, 1fr);
}

main[data-category-page] .filter-sidebar {
  top: 102px;
  max-height: calc(100dvh - 118px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding: 20px;
  background: #fff;
  border: 1px solid #e2e7ed;
  border-radius: 12px;
  box-shadow: 0 20px 48px rgba(16, 24, 34, .06);
}

main[data-category-page] .filter-sidebar {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 75, 45, .55) rgba(226, 231, 237, .75);
}

main[data-category-page] .filter-sidebar::-webkit-scrollbar {
  width: 8px;
}

main[data-category-page] .filter-sidebar::-webkit-scrollbar-track {
  background: rgba(226, 231, 237, .75);
  border-radius: 999px;
}

main[data-category-page] .filter-sidebar::-webkit-scrollbar-thumb {
  background: rgba(255, 75, 45, .55);
  border-radius: 999px;
}

main[data-category-page] .filter-form {
  gap: 10px;
}

main[data-category-page] .filter-panel-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e8edf2;
}

main[data-category-page] .filter-panel-head p {
  margin: 8px 0 0;
  color: #626c78;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.2;
  text-transform: none;
}

main[data-category-page] .filter-panel-head h3 {
  margin: 0;
  color: #ff4b2d;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.1;
}

main[data-category-page] .filter-panel-head:has(> .eyebrow) {
  grid-template-columns: 1fr;
  gap: 8px;
}

main[data-category-page] .filter-panel-head > .eyebrow {
  margin: 0;
  color: #ff4b2d;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.1;
  text-transform: none;
}

main[data-category-page] .filter-panel-head > h3 {
  color: #626c78;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.2;
}

main[data-category-page] .filter-panel-head > p:not(.eyebrow) {
  display: none;
}

main[data-category-page] .filter-reset {
  align-self: center;
  color: #ff4b2d;
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
}

main[data-category-page] .filter-group {
  position: relative;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #edf1f5;
}

main[data-category-page] .filter-group summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16px;
  gap: 10px;
  align-items: center;
  min-height: 54px;
  color: #1b232d;
  cursor: pointer;
  list-style: none;
}

main[data-category-page] .filter-group summary::-webkit-details-marker {
  display: none;
}

main[data-category-page] .filter-group summary span {
  color: #1b232d;
  font-size: 14px;
  font-weight: 800;
}

main[data-category-page] .filter-group summary small {
  display: none;
}

main[data-category-page] .filter-group legend:has(.filter-accordion-trigger) {
  margin: 0;
  padding: 0;
}

main[data-category-page] .filter-accordion-trigger {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 16px;
  gap: 10px;
  align-items: center;
  width: 100%;
  min-height: 54px;
  padding: 0;
  color: #1b232d;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

main[data-category-page] .filter-accordion-trigger span {
  color: #1b232d;
  font-size: 14px;
  font-weight: 800;
}

main[data-category-page] .filter-accordion-trigger::after {
  content: "";
  justify-self: end;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid #9aa3ad;
  border-bottom: 1.5px solid #9aa3ad;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .18s ease;
}

main[data-category-page] .filter-group.is-open .filter-accordion-trigger::after {
  transform: rotate(225deg) translate(-2px, -2px);
}

main[data-category-page] .filter-group summary::after {
  content: "";
  justify-self: end;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid #9aa3ad;
  border-bottom: 1.5px solid #9aa3ad;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .18s ease;
}

main[data-category-page] .filter-group[open] summary::after {
  transform: rotate(225deg) translate(-2px, -2px);
}

main[data-category-page] .filter-options {
  display: grid;
  gap: 10px;
  max-height: none;
  overflow: visible;
  padding: 0 0 16px;
}

main[data-category-page] details.filter-group:not([open]) .filter-options {
  display: none;
}

main[data-category-page] .filter-group.is-collapsed .filter-options[hidden] {
  display: none;
}

main[data-category-page] .filter-option {
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 10px;
  min-height: 18px;
  color: #39424d;
  font-size: 12px;
  font-weight: 600;
}

main[data-category-page] .filter-option input {
  width: 14px;
  min-height: 14px;
  margin-top: 1px;
  border-radius: 3px;
}

main[data-category-page] .filter-show-all {
  display: none;
}

main[data-category-page] .filter-actions {
  margin-top: -2px;
}

main[data-category-page] .filter-actions .primary-action,
main[data-category-page] .filter-actions .secondary-action {
  min-height: 42px;
  border-radius: 8px;
}

main[data-category-page="krepezh"] .fastener-breadcrumb-part {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

main[data-category-page="krepezh"] .fastener-quick-search {
  position: relative;
  margin: 0 18px 38px;
  padding: 40px 40px 38px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(250, 252, 254, .98));
  border: 1px solid #dfe5ec;
  border-top: 3px solid #111827;
  border-radius: 8px;
  box-shadow:
    0 1px 2px rgba(17, 25, 34, .05),
    0 18px 44px rgba(17, 25, 34, .08);
}

main[data-category-page="krepezh"] .fastener-quick-search.is-active {
  padding-bottom: 34px;
}

main[data-category-page="krepezh"] .fastener-quick-search-head {
  position: relative;
  margin: 0 0 26px;
  padding: 0 88px 28px 0;
}

main[data-category-page="krepezh"] .fastener-quick-search-head::before,
main[data-category-page="krepezh"] .fastener-quick-search-head::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  border-radius: 999px;
}

main[data-category-page="krepezh"] .fastener-quick-search-head::after {
  right: 0;
  background: #e5eaf0;
}

main[data-category-page="krepezh"] .fastener-quick-search-head::before {
  z-index: 1;
  width: 48px;
  background: var(--signal);
}

main[data-category-page="krepezh"] .fastener-quick-search h2 {
  margin: 0;
  color: #111827;
  font-size: clamp(34px, 2.55vw, 44px);
  line-height: 1.08;
  font-weight: 900;
}

main[data-category-page="krepezh"] .fastener-quick-search-badge {
  position: absolute;
  top: 38px;
  right: 38px;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  background:
    linear-gradient(180deg, #fbfcfe, #edf2f6);
  border: 1px solid #e0e6ee;
  border-radius: 50%;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .86) inset,
    0 12px 28px rgba(17, 25, 34, .12);
}

main[data-category-page="krepezh"] .fastener-quick-search-badge::before,
main[data-category-page="krepezh"] .fastener-quick-search-badge::after {
  content: "";
  position: absolute;
  display: block;
  pointer-events: none;
}

main[data-category-page="krepezh"] .fastener-quick-search-badge::before {
  width: 25px;
  height: 25px;
  margin: -5px 0 0 -5px;
  background:
    radial-gradient(circle at 38% 34%, rgba(255, 255, 255, .9) 0 14%, transparent 15%),
    linear-gradient(135deg, #111827, #586372);
  border: 4px solid #111827;
  border-radius: 50%;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .72) inset,
    0 8px 16px rgba(17, 25, 34, .18);
}

main[data-category-page="krepezh"] .fastener-quick-search-badge::after {
  width: 20px;
  height: 6px;
  margin: 21px 0 0 20px;
  background: linear-gradient(90deg, #111827, var(--signal));
  border-radius: 999px;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .55) inset,
    0 8px 14px rgba(214, 59, 49, .2);
  transform: rotate(45deg);
}

main[data-category-page="krepezh"] .fastener-quick-search-fields {
  display: grid;
  grid-template-columns:
    minmax(138px, 1fr)
    minmax(118px, .86fr)
    minmax(118px, .86fr)
    minmax(138px, .98fr)
    minmax(138px, .9fr)
    minmax(164px, .86fr);
  align-items: start;
  gap: clamp(18px, 1.45vw, 28px);
}

main[data-category-page="krepezh"] .fastener-quick-search-field {
  position: relative;
  display: grid;
  min-width: 0;
  gap: 14px;
}

main[data-category-page="krepezh"] .fastener-quick-search-field span {
  color: #111827;
  font-size: clamp(14px, .95vw, 16px);
  font-weight: 760;
  line-height: 1.1;
}

main[data-category-page="krepezh"] .fastener-quick-search-field input,
main[data-category-page="krepezh"] .fastener-quick-search-field select {
  width: 100%;
  height: 60px;
  min-height: 60px;
  padding: 0 16px;
  color: #111827;
  background: #fff;
  border: 1px solid #dfe5ec;
  border-radius: 8px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .78),
    0 8px 20px rgba(17, 25, 34, .03);
  font-size: clamp(15px, 1.05vw, 18px);
  font-weight: 650;
  outline: 0;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

main[data-category-page="krepezh"] .fastener-quick-search-field select {
  appearance: none;
  padding-right: 46px;
}

main[data-category-page="krepezh"] .fastener-quick-search-field--choice input,
main[data-category-page="krepezh"] .fastener-quick-search-field--choice select {
  padding-right: 46px;
}

main[data-category-page="krepezh"] .fastener-quick-search-field--choice::after {
  content: "";
  position: absolute;
  right: 19px;
  bottom: 25px;
  width: 9px;
  height: 9px;
  border-right: 2px solid #6d7784;
  border-bottom: 2px solid #6d7784;
  pointer-events: none;
  transform: rotate(45deg);
}

main[data-category-page="krepezh"] .fastener-quick-search-field input::placeholder {
  color: #9aa3ad;
}

main[data-category-page="krepezh"] .fastener-quick-search-field input:focus,
main[data-category-page="krepezh"] .fastener-quick-search-field select:focus {
  background: #fff;
  border-color: var(--signal);
  box-shadow:
    0 0 0 3px rgba(214, 59, 49, .12),
    0 14px 28px rgba(17, 25, 34, .08);
}

main[data-category-page="krepezh"] .fastener-quick-search-actions {
  display: grid;
  align-content: start;
  justify-items: center;
  min-width: 0;
  padding-top: 30px;
  gap: 16px;
}

main[data-category-page="krepezh"] .fastener-quick-search-actions .primary-action {
  width: 100%;
  min-height: 60px;
  padding: 0 26px;
  border: 0;
  border-radius: 8px;
  background: var(--signal);
  box-shadow: 0 18px 32px rgba(214, 59, 49, .24);
  color: #fff;
  font-size: clamp(18px, 1.2vw, 22px);
  font-weight: 900;
  cursor: pointer;
}

main[data-category-page="krepezh"] .fastener-quick-search-actions .primary-action:hover {
  background: var(--signal-dark);
  box-shadow: 0 20px 38px rgba(214, 59, 49, .34);
}

main[data-category-page="krepezh"] .fastener-quick-search-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 24px;
  color: #6d7784;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}

main[data-category-page="krepezh"] .fastener-quick-search-reset::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border: 2px solid currentColor;
  border-left-color: transparent;
  border-radius: 50%;
}

main[data-category-page="krepezh"] .fastener-quick-search-reset:hover {
  color: var(--signal);
}

main[data-category-page="krepezh"] .fastener-subcategory-selector {
  padding: 18px;
}

main[data-category-page="krepezh"] .fastener-subcategory-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
}

main[data-category-page="krepezh"] .fastener-subcategory-card {
  min-height: 104px;
  padding: 16px;
}

main[data-category-page="krepezh"] .fastener-subcategory-card .execution-card-mark {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #fff;
  background: linear-gradient(135deg, #1f2933, #485563);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0;
}

main[data-category-page="krepezh"] .fastener-subcategory-card .fastener-subcategory-image {
  width: 64px;
  height: 64px;
  padding: 0;
  object-fit: contain;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

main[data-category-page="krepezh"] .fastener-subcategory-card .fastener-subcategory-image[src$="din-433-zinc.png"],
main[data-category-page="krepezh"] .fastener-subcategory-card .fastener-subcategory-image[src$="din-433-bp.png"],
.product-card--krepezh.product-card--fastener-subcategory-image .product-art.has-photo img[src$="din-433-zinc.png"],
.product-card--krepezh.product-card--fastener-subcategory-image .product-art.has-photo img[src$="din-433-bp.png"] {
  transform: scale(1.95);
}

@media (max-width: 1280px) {
  main[data-category-page="krepezh"] .fastener-quick-search {
    padding: 34px 30px 32px;
  }

  main[data-category-page="krepezh"] .fastener-quick-search-fields {
    grid-template-columns:
      minmax(128px, 1fr)
      minmax(108px, .8fr)
      minmax(108px, .8fr)
      minmax(124px, .9fr)
      minmax(124px, .86fr)
      minmax(148px, .78fr);
    gap: 14px;
  }

  main[data-category-page="krepezh"] .fastener-quick-search-field span {
    font-size: 14px;
  }

  main[data-category-page="krepezh"] .fastener-quick-search-field input,
  main[data-category-page="krepezh"] .fastener-quick-search-field select,
  main[data-category-page="krepezh"] .fastener-quick-search-actions .primary-action {
    min-height: 56px;
    height: 56px;
    font-size: 15px;
  }

  main[data-category-page="krepezh"] .fastener-quick-search-actions {
    padding-top: 28px;
  }
}

@media (max-width: 1240px) {
  main[data-category-page="krepezh"] .fastener-quick-search-fields {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  main[data-category-page="krepezh"] .fastener-quick-search-actions {
    grid-column: span 3;
    justify-self: end;
    width: min(220px, 100%);
    padding-top: 0;
  }
}

@media (max-width: 760px) {
  main[data-category-page="krepezh"] .fastener-quick-search {
    padding: 26px 20px 24px;
  }

  main[data-category-page="krepezh"] .fastener-quick-search-head {
    margin-bottom: 22px;
    padding-right: 70px;
    padding-bottom: 22px;
  }

  main[data-category-page="krepezh"] .fastener-quick-search h2 {
    font-size: 30px;
  }

  main[data-category-page="krepezh"] .fastener-quick-search-badge {
    top: 24px;
    right: 20px;
    width: 50px;
    height: 50px;
  }

  main[data-category-page="krepezh"] .fastener-quick-search-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  main[data-category-page="krepezh"] .fastener-quick-search-actions {
    grid-column: span 2;
    width: 100%;
    justify-self: stretch;
    padding-top: 0;
  }

  main[data-category-page="krepezh"] .fastener-quick-search-field span {
    font-size: 16px;
  }

  main[data-category-page="krepezh"] .fastener-quick-search-field input,
  main[data-category-page="krepezh"] .fastener-quick-search-field select {
    height: 56px;
    min-height: 56px;
    padding: 0 16px;
    font-size: 16px;
  }

  main[data-category-page="krepezh"] .fastener-quick-search-actions .primary-action {
    min-height: 56px;
    height: 56px;
    font-size: 18px;
  }
}

@media (max-width: 520px) {
  main[data-category-page="krepezh"] .fastener-quick-search-fields {
    grid-template-columns: 1fr;
  }

  main[data-category-page="krepezh"] .fastener-quick-search-actions {
    grid-column: auto;
    width: 100%;
  }

  main[data-category-page="krepezh"] .fastener-quick-search-actions .primary-action {
    width: 100%;
  }
}

main[data-category-page="krepezh"] .category-hero img.fastener-subcategory-hero-image {
  box-sizing: border-box;
  padding: 24px max(24px, 6vw) 24px 48%;
  object-fit: contain;
  object-position: 78% center;
  filter: drop-shadow(0 22px 34px rgba(0, 0, 0, .38)) saturate(.95) contrast(1.05) brightness(.98);
}

@media (max-width: 760px) {
  main[data-category-page="krepezh"] .category-hero img.fastener-subcategory-hero-image {
    padding: 112px 18px 18px;
    object-position: center bottom;
    opacity: .42;
  }
}

.product-card--krepezh .product-art img {
  object-fit: cover;
  object-position: center;
}

.product-card--krepezh.product-card--fastener-subcategory-image .product-art.has-photo img {
  object-fit: contain;
  object-position: center;
}

main[data-category-page="krepezh"] .product-card.product-card--fastener-subcategory-image .product-art.has-photo {
  background: transparent;
  box-shadow: none;
}

.price-line--request .price,
.detail-price--request {
  color: #233142;
}

main[data-category-page] .catalog-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 24px;
  align-items: center;
  margin: 0 0 22px;
  padding: 14px 0 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

main[data-category-page] .catalog-toolbar h2 {
  margin: 0 0 10px;
  color: #0f1721;
  font-size: 28px;
  line-height: 1.12;
}

main[data-category-page] .catalog-toolbar .muted {
  margin: 0;
  color: #6f7782;
  font-size: 14px;
}

.catalog-toolbar-actions {
  display: inline-flex;
  align-items: center;
  gap: 34px;
}

main[data-category-page] .category-sort-control {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: #7a8390;
  font-size: 13px;
  font-weight: 600;
}

main[data-category-page] .category-sort-control select {
  width: 220px;
  min-height: 46px;
  padding: 0 42px 0 16px;
  color: #2a3340;
  background: #fff;
  border: 1px solid #e0e5eb;
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(16, 24, 34, .04);
}

.sort-submit {
  display: none;
}

.catalog-view-toggle {
  display: inline-flex;
  gap: 8px;
  padding: 4px;
  background: #fff;
  border: 1px solid #e0e5eb;
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(16, 24, 34, .04);
}

.catalog-view-toggle button,
.catalog-view-toggle a {
  display: grid;
  width: 48px;
  min-height: 38px;
  place-items: center;
  padding: 0;
  color: #3d4855;
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}

.catalog-view-toggle button.active,
.catalog-view-toggle a.active {
  background: #eef1f5;
}

.view-grid-icon,
.view-list-icon {
  width: 18px;
  height: 18px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.view-grid-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none' stroke='%233d4855' stroke-width='1.8'%3E%3Crect x='2.5' y='2.5' width='4.5' height='4.5' rx='0.7'/%3E%3Crect x='11' y='2.5' width='4.5' height='4.5' rx='0.7'/%3E%3Crect x='2.5' y='11' width='4.5' height='4.5' rx='0.7'/%3E%3Crect x='11' y='11' width='4.5' height='4.5' rx='0.7'/%3E%3C/svg%3E");
}

.view-list-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none' stroke='%233d4855' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M6.5 4h8'/%3E%3Cpath d='M6.5 9h8'/%3E%3Cpath d='M6.5 14h8'/%3E%3Cpath d='M3.5 4h.01'/%3E%3Cpath d='M3.5 9h.01'/%3E%3Cpath d='M3.5 14h.01'/%3E%3C/svg%3E");
}

main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-filter {
  display: grid;
  gap: 16px;
  margin: 0 0 22px;
  padding: 20px;
  background: #fff;
  border: 1px solid #dfe5eb;
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(16, 24, 34, .06);
}

main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-filter-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
}

main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-filter-head .eyebrow {
  margin: 0 0 6px;
  color: var(--signal);
}

main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-filter-head h3 {
  margin: 0;
  color: #0f1721;
  font-size: 24px;
  line-height: 1.12;
}

main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-filter-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  color: #2a3340;
  background: #fff;
  border: 1px solid #e0e5eb;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  box-shadow: 0 10px 24px rgba(16, 24, 34, .04);
}

main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-filter-reset:hover {
  color: var(--signal);
  border-color: rgba(255, 75, 45, .34);
}

main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-group-list,
main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-number-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-chip,
main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  color: #243142;
  background: #f8fafc;
  border: 1px solid #e0e5eb;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 850;
  line-height: 1;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-chip:hover,
main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-number:hover {
  color: var(--signal);
  background: #fff;
  border-color: rgba(255, 75, 45, .36);
  box-shadow: 0 12px 26px rgba(255, 75, 45, .08);
  transform: translateY(-1px);
}

main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-chip.active,
main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-number.active {
  color: #fff;
  background: var(--signal);
  border-color: var(--signal);
  box-shadow: 0 14px 30px rgba(255, 75, 45, .22);
}

main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-detail {
  display: grid;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid rgba(17, 25, 34, .08);
}

main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-detail-head {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  color: #0f1721;
  font-size: 16px;
  font-weight: 850;
}

main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-detail-head b {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  color: var(--signal);
  background: rgba(255, 75, 45, .08);
  border: 1px solid rgba(255, 75, 45, .2);
  border-radius: 999px;
  font-size: 13px;
}

main[data-category-page] .product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

main[data-category-page] .product-grid.product-grid--list {
  grid-template-columns: 1fr;
  gap: 14px;
}

main[data-category-page] .product-card {
  min-height: 0;
  padding: 10px 14px 13px;
  border: 1px solid #dfe5eb;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(16, 24, 34, .06);
}

main[data-category-page] .product-card:hover {
  transform: translateY(-3px);
  background: #fff;
  border-color: rgba(255, 75, 45, .32);
  box-shadow: 0 22px 52px rgba(16, 24, 34, .1);
}

main[data-category-page] .product-card .product-art.has-photo {
  height: 220px;
  padding: 4px 12px;
  background: linear-gradient(180deg, #fff, #fafbfc);
  border: 0;
  box-shadow: none;
}

main[data-category-page] .product-card .product-art.has-photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 12px 12px rgba(17, 25, 34, .16));
}

main[data-category-page="foundation-bolts"] .product-card .product-art.has-photo,
main[data-category-page="mesh-frames-by-drawing"] .product-card .product-art.has-photo,
main[data-category-page="grating-flooring"] .product-card .product-art.has-photo {
  background: #fff;
}

main[data-category-page="foundation-bolts"] .product-card .product-art.has-photo img,
main[data-category-page="mesh-frames-by-drawing"] .product-card .product-art.has-photo img,
main[data-category-page="grating-flooring"] .product-card .product-art.has-photo img {
  filter: none;
}

main[data-category-page] .product-card.product-card--mesh-frames-by-drawing .product-art.has-photo,
main[data-category-page] .product-card.product-card--grating-flooring .product-art.has-photo {
  padding: 0;
  overflow: hidden;
}

main[data-category-page] .product-card.product-card--mesh-frames-by-drawing .product-art.has-photo img,
main[data-category-page] .product-card.product-card--grating-flooring .product-art.has-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

main[data-category-page="embedded-parts"] .product-card .product-art.has-photo {
  height: 238px;
  padding: 14px 18px;
  background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
}

main[data-category-page="embedded-parts"] .product-card .product-art.has-photo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}

main[data-category-page] .product-card-body {
  padding: 6px 0 0;
}

main[data-category-page] .product-card-body .eyebrow {
  display: none;
  margin: 0 0 8px;
  color: #ff4b2d;
  font-size: 11px;
  font-weight: 850;
}

main[data-category-page] .product-card-body h3 {
  min-height: 48px;
  margin-bottom: 10px;
  font-size: 15px;
  line-height: 1.25;
}

main[data-category-page] .product-specs {
  gap: 7px;
  min-height: 25px;
  margin-bottom: 9px;
}

main[data-category-page] .product-specs span {
  min-height: 24px;
  padding: 6px 9px;
  background: #f1f4f7;
  border-color: transparent;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
}

main[data-category-page] .price-line {
  margin-top: auto;
  padding-top: 0;
  border-top: 0;
}

main[data-category-page] .price {
  font-size: 18px;
  font-weight: 900;
}

main[data-category-page] .unit {
  color: #7a8390;
  font-size: 11px;
  font-weight: 600;
}

main[data-category-page] .qty-row {
  grid-template-columns: 106px minmax(0, 1fr);
  gap: 10px;
  margin-top: 8px;
}

main[data-category-page] .qty-stepper {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 32px;
  height: 30px;
  min-height: 30px;
  max-height: 30px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dfe5eb;
  border-radius: 6px;
}

main[data-category-page] .qty-stepper button,
main[data-category-page] .qty-stepper input {
  height: 30px;
  min-height: 30px;
  max-height: 30px;
  padding: 0;
  color: #233040;
  background: transparent;
  border: 0;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
}

main[data-category-page] .qty-stepper button {
  cursor: pointer;
}

main[data-category-page] .qty-stepper input {
  appearance: textfield;
}

main[data-category-page] .qty-stepper input::-webkit-outer-spin-button,
main[data-category-page] .qty-stepper input::-webkit-inner-spin-button {
  appearance: none;
  margin: 0;
}

main[data-category-page] .qty-row > .primary-action {
  align-self: center;
  gap: 7px;
  height: 30px;
  min-height: 30px;
  max-height: 30px;
  padding: 0 10px;
  color: #fff;
  background: linear-gradient(135deg, #ff4328, #ff5f35);
  border-color: #ff4b2d;
  border-radius: 6px;
  box-shadow: 0 10px 20px rgba(255, 75, 45, .28);
  font-size: 12px;
  line-height: 1;
  white-space: nowrap;
  transform: translateY(0);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

main[data-category-page] .qty-row > .primary-action:hover {
  background: var(--signal-dark);
  border-color: var(--signal-dark);
  box-shadow: 0 12px 22px rgba(255, 75, 45, .32), 0 0 0 3px rgba(255, 75, 45, .1);
  transform: translateY(-2px);
}

main[data-category-page] .qty-row > .primary-action:active {
  transform: translateY(0);
  box-shadow: 0 8px 18px rgba(16, 24, 34, .22);
}

main[data-category-page] .qty-row > .primary-action:hover .button-cart-icon {
  transform: translateX(2px);
}

main[data-category-page] .qty-row > .primary-action span {
  white-space: nowrap;
}

main[data-category-page] .button-cart-icon {
  width: 16px;
  height: 16px;
  transition: transform .18s ease;
}

main[data-category-page] .product-grid--list .product-card {
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  padding: 14px;
}

main[data-category-page] .product-grid--list .product-card .product-art.has-photo {
  height: 160px;
  padding: 8px;
  align-self: stretch;
}

main[data-category-page] .product-grid--list .product-card-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  grid-template-areas:
    "title price"
    "specs actions";
  gap: 12px 20px;
  align-items: end;
  padding: 0;
}

main[data-category-page] .product-grid--list .product-card-body h3 {
  grid-area: title;
  min-height: 0;
  margin: 0;
  font-size: 18px;
}

main[data-category-page] .product-grid--list .product-specs {
  grid-area: specs;
  align-self: start;
  min-height: 0;
  margin: 0;
}

main[data-category-page] .product-grid--list .price-line {
  grid-area: price;
  align-self: start;
  justify-self: end;
  width: min(100%, 320px);
  margin-top: 0;
}

main[data-category-page] .product-grid--list .qty-row {
  grid-area: actions;
  align-self: end;
  justify-self: end;
  width: min(100%, 320px);
  margin-top: 0;
}

@media (max-width: 820px) {
  main[data-category-page] .product-grid--list .product-card {
    grid-template-columns: 1fr;
  }

  main[data-category-page] .product-grid--list .product-card .product-art.has-photo {
    height: 210px;
  }

  main[data-category-page] .product-grid--list .product-card-body {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  main[data-category-page] .product-grid--list .price-line,
  main[data-category-page] .product-grid--list .qty-row {
    width: 100%;
  }
}

.catalog-empty {
  display: grid;
  justify-items: start;
  gap: 10px;
  min-height: 260px;
  padding: 34px;
  background: white;
  border: 1px solid rgba(17, 25, 34, .08);
  border-radius: 8px;
  box-shadow: 0 18px 48px rgba(17, 25, 34, .08);
}

.catalog-empty h3 {
  margin: 0;
  color: #111922;
  font-size: 24px;
}

.product-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 18px;
}

.product-name {
  min-height: 70px;
  margin: 0 0 12px;
  font-weight: 850;
  line-height: 1.28;
  font-size: 15px;
}

.product-name a:hover { color: var(--signal); }

.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}

.chip {
  padding: 5px 8px;
  color: var(--steel);
  background: #eef1f3;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 750;
}

.product-foot {
  margin-top: auto;
  display: grid;
  gap: 10px;
}

.price-line {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.price {
  color: var(--ink);
  font-size: 24px;
  font-weight: 950;
}

.unit { color: var(--muted); font-size: 13px; }

.qty-row {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 8px;
}

.qty-stepper {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 28px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 6px;
}

.qty-stepper input,
.qty-stepper button {
  min-height: 40px;
  padding: 0;
  border: 0;
  background: #fff;
  text-align: center;
}

.qty-stepper button {
  cursor: pointer;
  font-weight: 800;
}

.qty-row > .primary-action {
  min-height: 40px;
  padding-inline: 10px;
}

.load-more {
  margin: 24px auto 0;
}

.request-section {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(340px, .65fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: start;
  background:
    linear-gradient(135deg, #e8edf2, #f6f7f8);
}

.contact-block {
  padding: 26px;
  background: white;
  border: 1px solid rgba(18, 20, 23, .08);
  border-radius: 6px;
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.process-grid article {
  min-height: 230px;
  padding: 28px;
  background: white;
  border: 1px solid rgba(18,20,23,.08);
  border-radius: 6px;
}

.process-grid span {
  color: var(--signal);
  font-weight: 950;
}

.process-grid p {
  color: var(--steel);
  line-height: 1.6;
}

.production-page {
  background: #fff;
}

.production-page .page-hero {
  min-height: clamp(220px, 24vw, 310px);
}

.production-intro,
.production-process-list,
.production-section-heading,
.production-capabilities-grid,
.production-cta {
  max-width: var(--header-max);
  margin-left: auto;
  margin-right: auto;
}

.production-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .48fr);
  gap: clamp(22px, 3vw, 42px);
  align-items: start;
}

.production-lead {
  padding: clamp(28px, 4vw, 46px);
  background: #fff;
  border: 1px solid rgba(18,20,23,.08);
  border-left: 4px solid var(--signal);
  border-radius: 8px;
  box-shadow: 0 18px 46px rgba(18,20,23,.07);
}

.production-intro-media {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.production-intro-media > img {
  width: 100%;
  height: 210px;
  min-height: 0;
  padding: 18px;
  object-fit: contain;
  background:
    linear-gradient(135deg, #fff 0%, #f3f5f7 100%);
  border: 1px solid rgba(18,20,23,.1);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(18,20,23,.08);
}

.production-lead h2,
.production-section-heading h2,
.production-cta h2 {
  max-width: 920px;
  font-size: 32px;
  line-height: 1.16;
}

.production-lead p,
.production-process-list p,
.production-capability-card p,
.production-cta p {
  color: var(--steel);
  font-size: 16px;
  line-height: 1.72;
}

.production-lead p:last-child,
.production-process-list p:last-child,
.production-capability-card p:last-child,
.production-cta p:last-child {
  margin-bottom: 0;
}

.production-lead-list {
  display: grid;
  gap: 10px;
  margin: 22px 0;
}

.production-lead-list li {
  position: relative;
  padding-left: 22px;
  color: var(--steel);
  line-height: 1.55;
}

.production-lead-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .68em;
  width: 8px;
  height: 8px;
  background: var(--signal);
  border-radius: 50%;
}

.production-facts {
  display: grid;
  gap: 10px;
}

.production-facts div {
  display: flex;
  min-height: 88px;
  flex-direction: column;
  justify-content: center;
  padding: 16px 18px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(214,59,49,.18), rgba(214,59,49,0) 56%),
    var(--graphite);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  box-shadow: 0 16px 40px rgba(18,20,23,.12);
}

.production-facts strong {
  display: block;
  margin-bottom: 6px;
  color: #fff;
  font-size: 22px;
  line-height: 1;
}

.production-facts span {
  color: rgba(255,255,255,.76);
  font-size: 13px;
  line-height: 1.45;
}

.production-highlight-section {
  background: #f4f6f8;
}

.production-process-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.production-process-list article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  min-height: 230px;
  padding: 26px;
  background: #fff;
  border: 1px solid rgba(18,20,23,.08);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(18,20,23,.06);
}

.production-process-list span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: #fff;
  background: var(--signal);
  border-radius: 50%;
  box-shadow: 0 10px 22px rgba(214,59,49,.22);
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
}

.production-process-list h3,
.production-capability-card h3 {
  margin-bottom: 12px;
  font-size: 22px;
  line-height: 1.25;
}

.production-capabilities-section {
  background: #fff;
}

.production-capabilities-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.production-capability-card {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(18,20,23,.08);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(18,20,23,.06);
}

.production-capability-photo {
  display: grid;
  height: clamp(250px, 15vw, 310px);
  overflow: hidden;
  place-items: center;
  padding: 24px 28px 20px;
  background:
    linear-gradient(135deg, #fff 0%, #f5f7f9 100%);
  border-bottom: 1px solid rgba(18,20,23,.07);
}

.production-capability-photo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 92%;
  max-height: 90%;
  object-fit: contain;
  filter: drop-shadow(0 10px 14px rgba(18,20,23,.1));
}

.production-capability-copy {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 18px 20px 20px;
  background: #fff;
}

.production-capability-copy h3 {
  margin-bottom: 8px;
  font-size: 19px;
}

.production-capability-copy p {
  font-size: 14px;
  line-height: 1.55;
}

.production-capability-copy small {
  display: block;
  margin-top: auto;
  padding-top: 14px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.35;
}

.production-cta-section {
  background: #f4f6f8;
}

.production-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(24px, 4vw, 64px);
  align-items: center;
  padding: clamp(30px, 4vw, 46px);
  color: #fff;
  background:
    linear-gradient(135deg, rgba(214,59,49,.14), rgba(214,59,49,0) 58%),
    var(--graphite);
  border-radius: 8px;
  box-shadow: 0 18px 46px rgba(18,20,23,.14);
}

.production-cta .eyebrow {
  color: #ffcf84;
}

.production-cta p {
  max-width: 720px;
  color: rgba(255,255,255,.78);
}

.production-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.production-cta .secondary-action {
  color: #fff;
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.36);
}

.about-page {
  background: #fff;
}

.about-intro,
.about-section-heading,
.about-directions-grid,
.about-gallery,
.about-production,
.about-materials,
.about-advantages-grid,
.about-service-grid {
  max-width: var(--header-max);
  margin-left: auto;
  margin-right: auto;
}

.about-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, .52fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: stretch;
}

.about-lead {
  padding: clamp(28px, 4vw, 44px);
  background: #fff;
  border: 1px solid rgba(18, 20, 23, .08);
  border-left: 4px solid var(--signal);
  border-radius: 8px;
  box-shadow: 0 18px 46px rgba(18,20,23,.07);
}

.about-lead h2,
.about-production h2,
.about-materials h2,
.about-section-heading h2 {
  max-width: 920px;
  font-size: 32px;
  line-height: 1.16;
}

.about-lead p,
.about-production p,
.about-service-grid p {
  color: var(--steel);
  font-size: 16px;
  line-height: 1.72;
}

.about-lead p:last-child,
.about-production p:last-child,
.about-service-grid p:last-child {
  margin-bottom: 0;
}

.about-facts {
  display: grid;
  gap: 14px;
}

.about-facts div {
  display: flex;
  min-height: 126px;
  flex-direction: column;
  justify-content: center;
  padding: 24px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(214,59,49,.18), rgba(214,59,49,0) 56%),
    var(--graphite);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  box-shadow: 0 16px 40px rgba(18,20,23,.12);
}

.about-facts strong {
  display: block;
  margin-bottom: 8px;
  font-size: 28px;
  line-height: 1;
}

.about-facts span {
  color: rgba(255,255,255,.76);
  line-height: 1.45;
}

.about-gallery-section {
  background: #f4f6f8;
}

.about-gallery {
  display: grid;
  grid-template-columns: minmax(260px, .44fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 52px);
  align-items: start;
}

.about-gallery-copy {
  padding-top: clamp(4px, 1vw, 16px);
}

.about-gallery-copy h2 {
  max-width: 520px;
  font-size: 32px;
  line-height: 1.16;
}

.about-gallery-copy p {
  max-width: 500px;
  color: var(--steel);
  font-size: 16px;
  line-height: 1.72;
}

.about-photo-carousel {
  min-width: 0;
}

.about-photo-stage {
  position: relative;
  min-height: 420px;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  color: #fff;
  background: var(--graphite);
  border: 1px solid rgba(18,20,23,.14);
  border-radius: 8px;
  box-shadow: 0 20px 54px rgba(18,20,23,.18);
  isolation: isolate;
}

.about-photo-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(9,13,18,0) 44%, rgba(9,13,18,.82) 100%),
    linear-gradient(90deg, rgba(9,13,18,.52), rgba(9,13,18,0) 20%, rgba(9,13,18,0) 80%, rgba(9,13,18,.52));
  pointer-events: none;
}

.about-photo-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(24px);
  opacity: .34;
  transform: scale(1.08);
}

.about-photo-main {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.about-photo-control {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: inline-grid;
  place-items: center;
  width: 46px;
  height: 46px;
  color: #fff;
  background: rgba(18,20,23,.58);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
  transform: translateY(-50%);
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.about-photo-control:hover {
  background: var(--signal);
  border-color: rgba(255,255,255,.34);
  transform: translateY(-50%) scale(1.04);
}

.about-photo-control span {
  margin-top: -2px;
  font-size: 34px;
  line-height: 1;
}

.about-photo-control-prev {
  left: 18px;
}

.about-photo-control-next {
  right: 18px;
}

.about-photo-caption {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 18px;
  z-index: 2;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 14px;
  align-items: baseline;
  max-width: 680px;
}

.about-photo-caption span {
  grid-row: span 2;
  align-self: start;
  padding: 7px 9px;
  color: #ffcf84;
  background: rgba(18,20,23,.72);
  border: 1px solid rgba(255,207,132,.22);
  border-radius: 6px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.about-photo-caption strong {
  color: #fff;
  font-size: 20px;
  line-height: 1.15;
}

.about-photo-caption small {
  color: rgba(255,255,255,.76);
  font-size: 14px;
  line-height: 1.35;
}

.about-photo-thumbs {
  display: flex;
  gap: 10px;
  margin-top: 12px;
  padding: 2px 2px 10px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

.about-photo-thumb {
  flex: 0 0 92px;
  width: 92px;
  height: 64px;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border: 2px solid transparent;
  border-radius: 8px;
  box-shadow: 0 10px 20px rgba(18,20,23,.08);
  scroll-snap-align: center;
  opacity: .72;
  transition: border-color .18s ease, opacity .18s ease, transform .18s ease;
}

.about-photo-thumb:hover,
.about-photo-thumb[data-active="true"] {
  border-color: var(--signal);
  opacity: 1;
  transform: translateY(-1px);
}

.about-photo-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-directions-section,
.about-materials-section {
  background: #f4f6f8;
}

.about-directions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.about-directions-grid article {
  min-height: 154px;
  padding: 24px;
  background: #fff;
  border: 1px solid rgba(18,20,23,.08);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(18,20,23,.06);
}

.about-directions-grid span,
.about-advantages-grid span {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--signal);
  font-weight: 950;
}

.about-directions-grid h3 {
  max-width: 260px;
  margin-bottom: 0;
  font-size: 18px;
  line-height: 1.35;
}

.about-production {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(320px, 1fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}

.about-operation-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 26px;
  background:
    linear-gradient(135deg, rgba(217,164,65,.16), rgba(217,164,65,0) 58%),
    var(--graphite);
  border-radius: 8px;
  box-shadow: 0 18px 46px rgba(18,20,23,.14);
}

.about-operation-list span {
  padding: 10px 13px;
  color: #fff;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 6px;
  font-size: 14px;
  font-weight: 750;
}

.about-materials {
  display: grid;
  grid-template-columns: minmax(0, .58fr) minmax(0, 1fr);
  gap: clamp(20px, 4vw, 48px);
  align-items: center;
}

.about-material-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.about-material-tags span {
  min-width: 96px;
  padding: 13px 16px;
  color: var(--ink);
  background: #fff;
  border: 1px solid rgba(18,20,23,.08);
  border-radius: 6px;
  font-weight: 850;
  text-align: center;
  box-shadow: 0 10px 24px rgba(18,20,23,.05);
}

.about-advantages-grid article {
  min-height: 220px;
}

.about-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.about-service-grid article {
  min-height: 220px;
  padding: 28px;
  background: #fff;
  border: 1px solid rgba(18,20,23,.08);
  border-top: 4px solid var(--signal);
  border-radius: 8px;
  box-shadow: 0 16px 40px rgba(18,20,23,.07);
}

.about-service-grid h2 {
  font-size: 24px;
  line-height: 1.2;
}

/* delivery-page:start */
.delivery-page {
  background: #fff;
}

.delivery-intro,
.delivery-section-heading,
.delivery-directions-grid,
.delivery-payment {
  max-width: var(--header-max);
  margin-left: auto;
  margin-right: auto;
}

.delivery-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, .52fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: stretch;
}

.delivery-lead,
.delivery-payment-card {
  padding: clamp(28px, 4vw, 44px);
  background: #fff;
  border: 1px solid rgba(18, 20, 23, .08);
  border-left: 4px solid var(--signal);
  border-radius: 8px;
  box-shadow: 0 18px 46px rgba(18, 20, 23, .07);
}

.delivery-lead h2,
.delivery-section-heading h2,
.delivery-payment h2 {
  max-width: 920px;
  font-size: 32px;
  line-height: 1.16;
}

.delivery-lead p,
.delivery-directions-grid p,
.delivery-payment p,
.delivery-steps-list p {
  color: var(--steel);
  font-size: 16px;
  line-height: 1.72;
}

.delivery-lead p:last-child {
  margin-bottom: 0;
}

.delivery-facts {
  display: grid;
  gap: 14px;
}

.delivery-facts div {
  display: flex;
  min-height: 126px;
  flex-direction: column;
  justify-content: center;
  padding: 24px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(214, 59, 49, .18), rgba(214, 59, 49, 0) 56%),
    var(--graphite);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 8px;
  box-shadow: 0 16px 40px rgba(18, 20, 23, .12);
}

.delivery-facts div:nth-child(2) {
  background:
    linear-gradient(135deg, rgba(217, 164, 65, .16), rgba(217, 164, 65, 0) 56%),
    var(--graphite-2);
}

.delivery-facts strong {
  display: block;
  margin-bottom: 8px;
  color: #ffcf84;
  font-size: 28px;
  line-height: 1;
}

.delivery-facts span {
  color: rgba(255, 255, 255, .76);
  line-height: 1.45;
}

.delivery-directions-section {
  background: #f4f6f8;
}

.delivery-directions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
}

.delivery-directions-grid article {
  min-height: 210px;
  padding: 24px;
  background: #fff;
  border: 1px solid rgba(18, 20, 23, .08);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(18, 20, 23, .06);
}

.delivery-direction-top {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-bottom: 18px;
}

.delivery-direction-number {
  color: var(--signal);
  font-weight: 950;
}

.delivery-card-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  color: #ff4b2d;
  background: #fff;
  border: 1px solid rgba(255, 75, 45, .2);
  border-radius: 8px;
  box-shadow: 0 10px 22px rgba(255, 75, 45, .08);
}

.delivery-card-icon svg {
  width: 24px;
  height: 24px;
}

.delivery-directions-grid h3 {
  margin-bottom: 10px;
  font-size: 19px;
  line-height: 1.32;
}

.delivery-directions-grid p {
  margin-bottom: 16px;
  font-size: 15px;
  line-height: 1.6;
}

.delivery-directions-grid strong {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 11px;
  color: #121820;
  background: #f4f6f8;
  border: 1px solid rgba(18, 20, 23, .08);
  border-radius: 6px;
  font-size: 13px;
  line-height: 1.25;
}

.delivery-payment {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: stretch;
}

.delivery-payment-card h2 {
  max-width: 780px;
}

.delivery-payment-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 26px;
  padding-top: 24px;
  border-top: 1px solid rgba(18, 20, 23, .08);
}

.delivery-payment-list div {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.delivery-payment-list h3 {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.2;
}

.delivery-payment-list p {
  grid-column: 2;
  margin: -4px 0 0;
  font-size: 15px;
  line-height: 1.6;
}

.delivery-payment-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.delivery-payment-tags span {
  padding: 10px 13px;
  color: var(--ink);
  background: #f4f6f8;
  border: 1px solid rgba(18, 20, 23, .08);
  border-radius: 6px;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.25;
}

.delivery-shipment-card {
  display: flex;
  flex-direction: column;
  padding: clamp(26px, 3vw, 36px);
  color: #fff;
  background:
    linear-gradient(135deg, rgba(217, 164, 65, .16), rgba(217, 164, 65, 0) 58%),
    var(--graphite);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 8px;
  box-shadow: 0 18px 46px rgba(18, 20, 23, .14);
}

.delivery-shipment-head {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin-bottom: 18px;
}

.delivery-shipment-card .delivery-card-icon {
  color: #ffcf84;
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 207, 132, .28);
  box-shadow: none;
}

.delivery-shipment-card .eyebrow {
  color: #ffcf84;
}

.delivery-shipment-card h2 {
  margin-bottom: 0;
  color: #fff;
  font-size: 28px;
}

.delivery-shipment-card > p {
  color: rgba(255, 255, 255, .76);
}

.delivery-steps-list {
  display: grid;
  gap: 12px;
  margin-top: 20px;
}

.delivery-steps-list div {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, .12);
}

.delivery-steps-list span {
  color: #ffcf84;
  font-weight: 950;
}

.delivery-steps-list p {
  margin: 0;
  color: rgba(255, 255, 255, .72);
  font-size: 14px;
  line-height: 1.5;
}

.delivery-steps-list strong {
  display: block;
  margin-bottom: 4px;
  color: #fff;
}

.delivery-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: auto;
  padding-top: 24px;
}

.delivery-shipment-card .secondary-action {
  color: #fff;
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .2);
}

@media (max-width: 980px) {
  .delivery-intro,
  .delivery-payment {
    grid-template-columns: 1fr;
  }

  .delivery-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .delivery-lead h2,
  .delivery-section-heading h2,
  .delivery-payment h2 {
    font-size: 26px;
  }

  .delivery-facts,
  .delivery-payment-list {
    grid-template-columns: 1fr;
  }

  .delivery-lead,
  .delivery-facts div,
  .delivery-directions-grid article,
  .delivery-payment-card,
  .delivery-shipment-card {
    padding: 20px;
  }

  .delivery-cta-actions {
    display: grid;
  }
}
/* delivery-page:end */

@media (max-width: 980px) {
  .about-intro,
  .about-gallery,
  .about-production,
  .about-materials,
  .about-service-grid {
    grid-template-columns: 1fr;
  }

  .about-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .about-lead h2,
  .about-gallery-copy h2,
  .about-production h2,
  .about-materials h2,
  .about-section-heading h2 {
    font-size: 26px;
  }

  .about-facts,
  .about-directions-grid {
    grid-template-columns: 1fr;
  }

  .about-lead,
  .about-facts div,
  .about-directions-grid article,
  .about-operation-list,
  .about-service-grid article {
    padding: 20px;
  }

  .about-material-tags span {
    min-width: calc(50% - 5px);
  }

  .about-photo-stage {
    min-height: 320px;
    aspect-ratio: 4 / 5;
  }

  .about-photo-control {
    width: 40px;
    height: 40px;
  }

  .about-photo-control-prev {
    left: 12px;
  }

  .about-photo-control-next {
    right: 12px;
  }

  .about-photo-caption {
    left: 14px;
    right: 14px;
    bottom: 14px;
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .about-photo-caption span {
    grid-row: auto;
    width: max-content;
  }

  .about-photo-caption strong {
    font-size: 18px;
  }

  .about-photo-caption small {
    font-size: 13px;
  }

  .about-photo-thumb {
    flex-basis: 78px;
    width: 78px;
    height: 56px;
  }
}

.product-detail {
  display: grid;
  grid-template-columns: minmax(320px, .7fr) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 64px);
  align-items: center;
  padding: clamp(28px, 5vw, 64px) clamp(16px, 4vw, 56px);
}

.product-detail h1 {
  margin-bottom: 18px;
  font-size: clamp(30px, 4.8vw, 58px);
  line-height: 1.05;
}

.detail-price {
  margin-bottom: 22px;
  color: var(--signal);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 950;
}

.detail-price span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.detail-specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 22px;
}

.detail-specs div {
  padding: 14px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 6px;
}

.detail-specs span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
}

.detail-buy {
  display: grid;
  grid-template-columns: 120px minmax(180px, 280px);
  gap: 10px;
  margin-bottom: 18px;
}

.product-page {
  background: #f7f8fa;
  padding-bottom: 40px;
}

.product-page .breadcrumbs {
  max-width: 1516px;
  margin: 0 auto;
  padding: 28px clamp(24px, 4vw, 56px) 18px;
  color: #9aa3ad;
  font-size: 13px;
  font-weight: 650;
}

.product-page .breadcrumbs span:last-child {
  color: var(--signal);
}

.product-page .product-detail {
  max-width: 1516px;
  margin: 0 auto;
  padding: 0 clamp(24px, 4vw, 56px) clamp(38px, 5vw, 64px);
  grid-template-columns: minmax(420px, .88fr) minmax(440px, 1fr);
  gap: 28px;
  align-items: stretch;
}

.product-gallery,
.product-info-card {
  background: #fff;
  border: 1px solid rgba(17, 22, 29, .08);
  border-radius: 10px;
  box-shadow: 0 14px 36px rgba(17, 22, 29, .06);
}

.product-gallery {
  display: grid;
  padding: 0;
}

.product-gallery-main {
  position: relative;
  display: grid;
  min-height: 520px;
  height: 100%;
  place-items: center;
  padding: 34px;
  overflow: hidden;
  background: #fff;
  border-radius: 10px;
}

.product-gallery-main > img,
.product-gallery-main .product-art {
  width: 100%;
  height: 100%;
  max-height: 470px;
  object-fit: contain;
}

.product-badge {
  position: absolute;
  left: 24px;
  top: 24px;
  z-index: 2;
  padding: 8px 16px;
  color: var(--signal);
  border: 1px solid var(--signal);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 850;
}

.product-zoom {
  position: absolute;
  right: 22px;
  top: 22px;
  z-index: 2;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #9aa3ad;
  background: #fff;
  border: 1px solid rgba(17, 22, 29, .1);
  border-radius: 999px;
  cursor: default;
}

.product-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.product-thumb {
  display: grid;
  min-height: 112px;
  place-items: center;
  padding: 10px;
  background: #fff;
  border: 1px solid rgba(17, 22, 29, .1);
  border-radius: 8px;
}

.product-thumb.active {
  border-color: var(--signal);
}

.product-thumb img {
  width: 100%;
  height: 92px;
  object-fit: contain;
}

.product-info-card {
  padding: clamp(28px, 3vw, 42px);
}

.product-info-card .eyebrow {
  margin-bottom: 18px;
  color: var(--signal);
}

.product-info-card h1 {
  max-width: 760px;
  margin-bottom: 18px;
  color: #111827;
  font-size: clamp(28px, 2.3vw, 40px);
  line-height: 1.16;
}

.product-meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-bottom: 24px;
  color: #56616d;
  font-size: 14px;
  font-weight: 650;
}

.stock-dot {
  color: #334155;
}

.stock-dot::before {
  content: "✓";
  display: inline-grid;
  width: 17px;
  height: 17px;
  margin-right: 8px;
  place-items: center;
  color: #10b981;
  border: 2px solid #10b981;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1;
}

.product-info-card .detail-price {
  margin-bottom: 24px;
  color: var(--signal);
  font-size: clamp(34px, 3vw, 48px);
  line-height: 1;
}

.product-info-card .detail-price span {
  margin-left: 14px;
  color: #7b8490;
  font-size: 13px;
  font-weight: 800;
}

.product-info-card .detail-specs {
  gap: 12px;
  margin-bottom: 22px;
}

.product-info-card .detail-specs div {
  min-height: 74px;
  padding: 16px 18px;
  border-color: #dfe4ea;
  border-radius: 8px;
}

.product-info-card .detail-specs span {
  color: #7b8490;
  font-size: 13px;
}

  .product-info-card .detail-specs strong {
    color: #111827;
    font-size: 16px;
  }

  .product-characteristics {
    margin-bottom: 18px;
  }

  .product-characteristics h2,
  .product-description-block h2 {
    margin: 0 0 12px;
    color: #111827;
    font-size: 20px;
    line-height: 1.2;
  }

  .product-characteristics-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-bottom: 18px;
    overflow: visible;
    padding-right: 0;
  }

  .product-info-card .product-characteristics-grid div {
    min-height: 0;
    padding: 8px 10px;
    border-radius: 6px;
  }

  .product-info-card .product-characteristics-grid span {
    margin-bottom: 2px;
    font-size: 11px;
    line-height: 1.2;
  }

  .product-info-card .product-characteristics-grid strong {
    font-size: 13px;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  .product-description-block {
    max-width: 1516px;
    margin: 0 auto;
    padding: 30px clamp(24px, 4vw, 56px) 54px;
    color: var(--steel);
    background: #fff;
    border-top: 1px solid rgba(17, 22, 29, .08);
  }

  .product-description-block p {
    max-width: 1120px;
    margin: 0;
    line-height: 1.72;
    white-space: pre-line;
  }

  .product-info-card .detail-buy {
    grid-template-columns: 170px minmax(220px, 1fr) 56px;
  gap: 16px;
  margin-bottom: 34px;
}

.qty-stepper {
  display: grid;
  grid-template-columns: 48px 1fr 48px;
  height: 56px;
  overflow: hidden;
  border: 1px solid #dfe4ea;
  border-radius: 8px;
  background: #fff;
}

.qty-stepper button,
.qty-stepper input {
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: center;
}

.qty-stepper button {
  color: #7b8490;
  cursor: pointer;
  font-size: 24px;
}

.qty-stepper input {
  padding: 0;
  min-width: 52px;
  color: #111827;
  border-inline: 1px solid #edf0f3;
  -moz-appearance: textfield;
  appearance: textfield;
  font-weight: 850;
}

.qty-stepper input::-webkit-outer-spin-button,
.qty-stepper input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

.product-info-card .qty-row {
  grid-template-columns: minmax(156px, 176px) minmax(0, 1fr);
  gap: 10px;
}

.product-info-card .primary-action {
  min-height: 56px;
  gap: 10px;
  border-radius: 8px;
}

.button-cart-icon {
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.5 3h3l2.4 12.2a2 2 0 0 0 2 1.6h7.8a2 2 0 0 0 1.95-1.55L21 8H7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.product-card .qty-row {
  grid-template-columns: minmax(138px, 156px) minmax(0, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.product-card .qty-stepper {
  grid-template-columns: 42px minmax(42px, 1fr) 42px;
}

.product-fav {
  display: grid;
  min-height: 56px;
  place-items: center;
  color: #7b8490;
  background: #fff;
  border: 1px solid #dfe4ea;
  border-radius: 8px;
  cursor: pointer;
  font-size: 30px;
}

.product-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding-top: 18px;
}

.product-benefits div {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 0 12px;
  align-items: start;
}

.benefit-icon {
  grid-row: span 2;
  color: var(--signal);
  font-size: 26px;
  line-height: 1;
}

.product-benefits strong {
  color: #111827;
  font-size: 13px;
  line-height: 1.25;
}

.product-benefits small {
  color: #7b8490;
  font-size: 12px;
  line-height: 1.35;
}

.lead-form, .admin-panel form {
  display: grid;
  gap: 14px;
}

label span {
  display: block;
  margin-bottom: 7px;
  color: var(--steel);
  font-weight: 800;
  font-size: 14px;
}

.form-status {
  min-height: 22px;
  margin: 0;
  color: var(--signal);
  font-weight: 750;
}

.request-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow-y: auto;
  padding: 14px 16px;
  background: rgba(9, 13, 19, .72);
  backdrop-filter: blur(12px);
}

html:has(.request-modal),
body:has(.request-modal) {
  overflow: hidden;
}

.request-modal-panel {
  width: min(620px, calc(100vw - 32px));
  max-height: calc(100dvh - 28px);
  overflow-y: auto;
  padding: 14px 28px;
  color: var(--ink);
  background:
    radial-gradient(circle at 76% 6%, rgba(255, 75, 45, .08), transparent 28%),
    #fff;
  border: 1px solid rgba(17, 22, 29, .12);
  border-radius: 16px;
  box-shadow:
    0 28px 90px rgba(0, 0, 0, .42),
    0 4px 18px rgba(255, 75, 45, .12);
  scrollbar-width: thin;
}

/* P3 a11y: fallback focus ring when the dialog panel itself receives focus. */
.request-modal-panel:focus {
  outline: 3px solid rgba(255, 75, 45, .28);
  outline-offset: 4px;
}

.request-modal-panel--callback {
  width: min(480px, calc(100vw - 32px));
  padding: 22px 26px;
}

.request-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 4px;
}

.request-modal-title-row {
  display: flex;
  align-items: center;
  gap: 16px;
}

.request-modal-chat-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  color: #fff;
  background: linear-gradient(135deg, #ff552e 0%, #ff2d12 100%);
  border-radius: 10px;
  box-shadow: 0 14px 28px rgba(255, 75, 45, .28);
}

.request-modal-chat-icon svg {
  width: 24px;
  height: 24px;
}

.request-modal-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 16px;
  color: #ff3f24;
  background: rgba(255, 75, 45, .1);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
}

.request-modal-close {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  color: #6f7480;
  background: #f1f2f4;
  border: 1px solid rgba(17, 22, 29, .12);
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.42);
  transition: color .18s ease, background .18s ease, transform .18s ease;
}

.request-modal-close:hover {
  color: var(--ink);
  background: #e9ebee;
  transform: translateY(-1px);
}

.request-modal-close svg {
  width: 21px;
  height: 21px;
}

.request-modal-head h2 {
  margin: 0;
  color: var(--ink);
  font-size: 28px;
  line-height: 1.08;
}

.request-modal-panel > h2 {
  margin: 7px 0 5px;
  color: #111620;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.05;
}

.request-modal-lead {
  margin: 0 0 10px;
  color: #5f6470;
  font-size: 15px;
  line-height: 1.35;
}

.request-modal-form {
  display: grid;
  gap: 7px;
}

.request-modal-form--callback {
  gap: 12px;
}

.request-modal-field {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.request-modal-label {
  color: #171b22;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
}

.request-modal-label small {
  color: #8b909c;
  font-size: 12px;
  font-weight: 500;
}

.request-modal-control {
  position: relative;
  display: block;
}

.request-modal-control-icon {
  position: absolute;
  top: 50%;
  left: 16px;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  width: 21px;
  height: 21px;
  color: #8b909c;
  transform: translateY(-50%);
  pointer-events: none;
}

.request-modal-control-icon svg {
  width: 100%;
  height: 100%;
}

.request-modal-form input,
.request-modal-form textarea {
  width: 100%;
  min-height: 46px;
  padding: 0 15px 0 50px;
  color: var(--ink);
  background: #fff;
  border: 1px solid rgba(17, 22, 29, .18);
  border-radius: 12px;
  outline: 0;
  font: inherit;
  font-size: 15px;
  font-weight: 500;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.request-modal-form input::placeholder,
.request-modal-form textarea::placeholder {
  color: #8a8e99;
  font-weight: 400;
}

.request-modal-form textarea {
  height: 70px;
  min-height: 70px;
  padding-top: 12px;
  resize: vertical;
}

.request-modal-control-textarea .request-modal-control-icon {
  top: 12px;
  transform: none;
}

.request-modal-form input:focus,
.request-modal-form textarea:focus {
  border-color: rgba(255, 75, 45, .82);
  box-shadow: 0 0 0 3px rgba(255, 75, 45, .13);
}

.request-modal-form .primary-action:disabled {
  opacity: .72;
  cursor: wait;
}

.request-modal .primary-action::after {
  content: none;
}

.request-file-drop {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 8px 16px;
  color: #8b909c;
  background: #fff;
  border: 1px dashed rgba(17, 22, 29, .22);
  border-radius: 14px;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.request-file-drop:hover,
.request-file-drop.is-dragging {
  background: rgba(255, 75, 45, .035);
  border-color: rgba(255, 75, 45, .62);
  box-shadow: 0 0 0 3px rgba(255, 75, 45, .08);
}

.request-file-drop input {
  display: none;
}

.request-file-icon {
  display: inline-grid;
  place-items: center;
  width: 32px;
  height: 32px;
  color: #8b909c;
}

.request-file-icon svg {
  width: 23px;
  height: 23px;
}

.request-file-copy {
  display: grid;
  justify-items: center;
  gap: 3px;
  min-width: 0;
  color: #8b909c;
  text-align: center;
}

.request-file-copy strong {
  max-width: 100%;
  overflow: hidden;
  color: #171b22;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.request-file-copy em {
  color: #ff4b2d;
  font-style: normal;
}

.request-file-copy small {
  color: #8b909c;
  font-size: 12px;
  line-height: 1.2;
  text-transform: uppercase;
}

.request-modal-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  width: 100%;
  margin-top: 2px;
  color: #fff;
  background: linear-gradient(180deg, #ff542f 0%, #ff351d 100%);
  border: 0;
  border-radius: 10px;
  box-shadow: 0 18px 34px rgba(255, 75, 45, .28);
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  transition: background .18s ease, box-shadow .18s ease, transform .18s ease, opacity .18s ease;
}

.request-modal-submit:hover {
  background: linear-gradient(180deg, #ff6240 0%, #ee2e18 100%);
  box-shadow: 0 22px 40px rgba(255, 75, 45, .34);
  transform: translateY(-1px);
}

.request-modal-submit:disabled {
  opacity: .72;
  cursor: wait;
  transform: none;
}

.request-modal-submit svg {
  width: 19px;
  height: 19px;
}

.request-modal .form-status {
  min-height: 15px;
  margin: -6px 0 0;
  font-size: 13px;
  text-align: center;
}

.request-modal-privacy {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: -5px 0 0;
  color: #8b909c;
  font-size: 12px;
  line-height: 1.35;
  text-align: center;
}

.request-modal-privacy svg {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
}

@media (max-width: 700px) {
  .request-modal {
    padding: 12px;
  }

  .request-modal-panel {
    width: min(100%, 520px);
    max-height: calc(100dvh - 24px);
    padding: 22px;
    border-radius: 16px;
  }

  .request-modal-title-row {
    gap: 12px;
  }

  .request-modal-chat-icon,
  .request-modal-close {
    width: 48px;
    height: 48px;
  }

  .request-modal-badge {
    min-height: 36px;
    padding: 0 16px;
    font-size: 14px;
  }

  .request-modal-panel > h2 {
    font-size: 30px;
  }

  .request-modal-lead {
    font-size: 16px;
    margin-bottom: 22px;
  }

  .request-modal-form {
    gap: 16px;
  }

  .request-modal-form input,
  .request-modal-form textarea {
    min-height: 58px;
    padding-left: 56px;
    font-size: 16px;
  }

  .request-modal-control-icon {
    left: 16px;
    width: 24px;
    height: 24px;
  }

  .request-modal-form textarea {
    min-height: 118px;
  }

  .request-file-drop {
    grid-template-columns: 1fr;
    justify-items: center;
    min-height: 118px;
    padding: 18px;
  }

  .request-file-copy strong {
    font-size: 17px;
    white-space: normal;
  }

  .request-file-copy small {
    font-size: 13px;
  }

  .request-modal-submit {
    min-height: 62px;
    font-size: 18px;
  }
}

.cart-drawer {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: none;
  justify-content: end;
  background: rgba(18,20,23,.46);
}

.cart-drawer.open { display: flex; }

.cart-panel {
  width: min(480px, 100vw);
  min-height: 100%;
  padding: 24px;
  background: white;
  box-shadow: var(--shadow);
}

.cart-head, .panel-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
}

.icon-button {
  width: 38px;
  height: 38px;
  color: var(--ink);
  background: #eef1f3;
  border-radius: 6px;
  font-size: 24px;
}

.cart-lines {
  display: grid;
  gap: 12px;
  margin: 22px 0;
}

.cart-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
}

.cart-line p { margin: 0 0 8px; font-weight: 800; }
.cart-line small { color: var(--muted); }

.cart-qty {
  display: grid;
  grid-template-columns: 34px 62px 34px;
  gap: 6px;
  align-items: center;
  margin-top: 12px;
}

.cart-qty button {
  width: 34px;
  height: 34px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f7f9fa;
  color: var(--ink);
  cursor: pointer;
  font-weight: 900;
}

.cart-qty input {
  width: 62px;
  min-height: 34px;
  padding: 0 6px;
  text-align: center;
}

.cart-line-side {
  display: grid;
  justify-items: end;
  align-content: space-between;
  gap: 10px;
  min-width: 92px;
}

.cart-line-side strong {
  font-size: 14px;
}

.cart-line-side button {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 6px;
  background: #fff1f0;
  color: var(--signal);
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
}

.cart-total {
  display: flex;
  justify-content: space-between;
  padding: 18px 0;
  border-top: 1px solid var(--line);
  font-size: 18px;
}

.site-footer {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(28px, 5vw, 72px);
  align-items: start;
  padding: 34px clamp(16px, 4vw, 56px);
  color: rgba(255,255,255,.78);
  background: var(--ink);
}

.site-footer strong { color: white; }
.site-footer p { margin: 8px 0 0; max-width: 560px; }
.footer-company {
  min-width: 0;
}
.footer-side {
  display: flex;
  gap: clamp(26px, 3.4vw, 54px);
  align-items: flex-start;
  width: 100%;
}
.footer-links {
  display: grid;
  gap: 9px;
  min-width: 0;
}
.footer-links a,
.footer-contacts a {
  color: rgba(255,255,255,.78);
  font-size: 14px;
  line-height: 1.35;
  text-decoration: none;
  transition: color .18s ease;
}
.footer-links a:hover,
.footer-contacts a:hover {
  color: #ffb0a2;
}
.footer-contacts {
  display: grid;
  gap: 8px;
  justify-items: end;
  margin-left: auto;
  max-width: 420px;
  text-align: right;
}
.footer-contacts a {
  color: #fff;
  font-weight: 750;
}
.footer-callback-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: end;
  min-height: 42px;
  margin-top: 8px;
  padding: 0 18px;
  color: #fff;
  background: rgba(255, 75, 45, .06);
  border: 1px solid rgba(255, 89, 56, .76);
  border-radius: 10px;
  box-shadow:
    0 0 0 1px rgba(255, 75, 45, .08),
    0 0 20px rgba(255, 75, 45, .24);
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.footer-callback-button:hover {
  color: #fff;
  background: rgba(255, 75, 45, .13);
  border-color: rgba(255, 115, 82, .95);
  box-shadow:
    0 0 0 1px rgba(255, 75, 45, .14),
    0 0 28px rgba(255, 75, 45, .34);
  transform: translateY(-1px);
}
.footer-callback-button:focus-visible {
  outline: 3px solid rgba(255, 75, 45, .28);
  outline-offset: 3px;
}
.footer-address {
  display: grid;
  gap: 3px;
  color: rgba(255,255,255,.66);
  font-size: 13px;
  line-height: 1.45;
}
.footer-address small {
  color: rgba(255,255,255,.56);
  font-size: 12px;
}

.admin-body { background: #eef1f3; }

.admin-shell {
  padding: clamp(28px, 5vw, 64px);
}

.admin-hero {
  max-width: 840px;
  margin-bottom: 28px;
}

.admin-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
}

.admin-panel { padding: 22px; }
.admin-panel.wide { grid-column: 1 / -1; }

.file-drop {
  display: grid;
  min-height: 118px;
  place-items: center;
  border: 2px dashed #b9c2cb;
  border-radius: 8px;
  background: #f8fafb;
  cursor: pointer;
}

.file-drop input { display: none; }
.file-drop span { margin: 0; color: var(--steel); }

.preview-table, .lead-list {
  margin-top: 16px;
  overflow: auto;
}

.preview-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.preview-table th, .preview-table td {
  padding: 8px;
  border-bottom: 1px solid var(--line);
  text-align: left;
}

.lead-item {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafb;
}

.lead-item + .lead-item { margin-top: 10px; }
.lead-item p { margin-bottom: 6px; }
.lead-item small { color: var(--muted); }

@media (max-width: 1120px) {
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .catalog-toolbar { grid-template-columns: 1fr; }
  .catalog-layout { grid-template-columns: 1fr; }
  .execution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-capabilities-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .filter-sidebar {
    position: static;
    max-height: none;
    overflow: visible;
  }
  .segmented { overflow: auto; }
  .site-header {
    grid-template-columns: 1fr auto;
    gap: 14px;
  }
  .main-nav {
    grid-column: 1 / -1;
    justify-content: start;
    overflow-x: auto;
    gap: 20px;
    padding-bottom: 4px;
    margin-left: 0;
  }
  .header-search {
    max-width: none;
    grid-column: 1 / -1;
    order: 4;
  }
  .header-search-shell {
    grid-column: 1 / -1;
    max-width: none;
    order: 4;
  }
  .catalog-dropdown-menu { position: fixed; left: 16px; right: 16px; top: 86px; min-width: 0; }
  .hero-shell {
    grid-template-columns: 1fr;
  }
  .hero-visual {
    min-height: 420px;
  }
  .category-strip {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }
}

@media (min-width: 1121px) and (max-width: 1440px) {
  .site-header {
    grid-template-columns: minmax(235px, 285px) minmax(0, 1fr) minmax(378px, 493px) auto;
    gap: 24px;
    padding-left: 32px;
    padding-right: 32px;
  }

  .main-nav {
    gap: 24px;
  }

  .main-nav a,
  .catalog-dropdown summary {
    font-size: 14px;
  }

  .header-search {
    max-width: 493px;
  }
}

@media (min-width: 1121px) and (max-width: 1280px) {
  .site-header {
    grid-template-columns: minmax(220px, 260px) minmax(0, 1fr) minmax(329px, 428px) auto;
    gap: 18px;
    padding-left: 24px;
    padding-right: 24px;
  }

  .brand {
    gap: 10px;
  }

  .brand strong {
    font-size: 21px;
  }

  .brand small {
    font-size: 11px;
  }

  .main-nav {
    gap: 18px;
  }

  .header-search {
    max-width: 428px;
  }
}

@media (min-width: 821px) and (max-width: 1540px) {
  .site-header {
    grid-template-columns: minmax(240px, auto) minmax(280px, 1fr) auto;
    gap: 12px 24px;
  }

  .brand {
    grid-column: 1;
    grid-row: 1;
    max-width: 320px;
  }

  .header-search {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    max-width: 592px;
  }

  .cart-button {
    grid-column: 3;
    grid-row: 1;
  }

  .main-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: center;
    gap: clamp(24px, 4vw, 48px);
    overflow: visible;
  }
}

@media (max-width: 820px) {
  .home-page {
    margin-top: 0;
  }

  .hero-facts,
  .split,
  .capability-grid,
  .production-intro,
  .production-process-list,
  .production-capabilities-grid,
  .production-cta,
  .request-section,
  .admin-grid,
  .catalog-section-card,
  .category-hero,
  .process-grid,
  .product-detail {
    grid-template-columns: 1fr;
  }

  .production-cta-actions {
    justify-content: flex-start;
  }

  .site-header {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    padding: 10px 16px;
  }
  .brand {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }
  .cart-button {
    grid-column: 2;
    grid-row: 1;
  }
  .main-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
  }
  .main-nav::-webkit-scrollbar { display: none; }
  .header-search {
    grid-column: 1 / -1;
    grid-row: 3;
    max-width: none;
  }
  .header-search-shell {
    grid-column: 1 / -1;
    grid-row: 3;
    max-width: none;
  }
  .hero-shell {
    padding-left: 16px;
    padding-right: 16px;
  }

  .home-page .hero-shell {
    padding-top: clamp(32px, 4vw, 54px);
  }
  .home-proof {
    padding: 36px 11px 39px;
  }
  .home-proof::before,
  .home-proof::after {
    opacity: .16;
  }
  .home-proof-inner {
    padding: 0;
  }
  .home-proof-heading {
    margin-bottom: 55px;
  }
  .home-proof-heading h2 {
    font-size: clamp(24px, 5.6vw, 36px);
  }
  .home-proof-heading .eyebrow {
    margin-bottom: 8px;
    font-size: 11px;
  }
  .home-proof-heading::after {
    width: 38px;
    height: 3px;
    margin-top: 10px;
  }
  .home-proof-grid {
    grid-template-columns: 1fr;
    gap: 57px;
  }
  .home-proof-card {
    min-height: 217px;
    padding: 88px 15px 24px;
    text-align: center;
  }
  .home-proof-media {
    top: -39px;
    width: 120px;
    height: 111px;
  }
  .home-proof-copy {
    padding: 0;
  }
  .home-proof-copy dt {
    font-size: clamp(36px, 9.8vw, 49px);
  }
  .home-proof-copy dd {
    max-width: 217px;
    font-size: clamp(13px, 3.5vw, 15px);
  }
  .home-partners {
    padding: 38px 11px 40px;
  }
  .home-partners h2 {
    margin-bottom: 24px;
    font-size: clamp(28px, 7.5vw, 38px);
  }
  .partners-carousel {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: 8px;
  }
  .partners-carousel-button {
    width: 42px;
    height: 42px;
  }
  .partners-carousel-button span {
    font-size: 25px;
  }
  .partners-carousel-track {
    gap: 24px;
    padding-bottom: 10px;
  }
  .partners-carousel-item {
    flex-basis: clamp(142px, 44vw, 190px);
    height: 76px;
  }
  .partners-carousel-logo {
    height: min(56px, 100%);
  }
  .page-hero {
    min-height: 260px;
    padding-top: 30px;
    padding-bottom: 34px;
    background-position: center right;
  }
  .page-hero h1 {
    font-size: clamp(30px, 8vw, 42px);
  }
  .hero-copy {
    padding-top: 0;
  }
  .hero-facts {
    gap: 12px;
  }
  .category-card { grid-template-columns: 128px 1fr; min-height: 176px; }
  .category-hero { min-height: 330px; }
  .photo-stack { grid-template-columns: 1fr; }
  .photo-stack img:nth-child(2) { margin-top: 0; }
  .section-heading { display: block; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-specs { grid-template-columns: 1fr; }
  .product-characteristics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .product-page .product-detail {
    grid-template-columns: 1fr;
    padding-left: 16px;
    padding-right: 16px;
  }
  .product-description-block {
    padding-left: 16px;
    padding-right: 16px;
  }
  .product-gallery-main {
    min-height: 380px;
    padding: 24px;
  }
  .product-info-card .detail-buy,
  .product-benefits {
    grid-template-columns: 1fr;
  }
  .product-fav {
    width: 100%;
  }
  .site-footer {
    display: grid;
    grid-template-columns: 1fr;
  }
  .footer-side {
    flex-wrap: wrap;
  }
  .footer-contacts {
    justify-items: end;
    margin-left: auto;
    max-width: 420px;
    text-align: right;
  }
  .main-nav {
    display: flex;
    gap: 10px;
  }
  .header-search {
    grid-template-columns: minmax(0, 1fr) auto;
    border-radius: 8px;
  }
}

@media (max-width: 560px) {
  .brand strong { font-size: 22px; }
  .brand small, .cart-button span:not(.icon) { display: none; }
  .brand { gap: 10px; }
  .brand-mark {
    width: 62px;
    height: 62px;
  }
  .site-header { gap: 14px; }
  .cart-button {
    width: 48px;
    padding: 0;
  }
  .cart-button b { display: none; }
  .footer-side {
    flex-direction: column;
  }
  .footer-contacts {
    justify-items: start;
    margin-left: 0;
    max-width: none;
    text-align: left;
  }
  .footer-callback-button {
    justify-self: start;
  }
  .hero-home { background-position: 62% center; }
  .hero-shell {
    min-height: auto;
    padding-top: 40px;
    padding-bottom: 32px;
  }
  .hero-copy { max-width: none; }
  .hero h1 {
    max-width: 340px;
    font-size: 32px;
    line-height: 1.12;
    overflow-wrap: break-word;
  }
  .hero-lead {
    max-width: 340px;
    font-size: 18px;
    line-height: 1.42;
  }
  .hero-actions {
    display: grid;
    gap: 12px;
  }
  .hero-facts div { padding-left: 64px; }
  .hero-facts, .product-grid { grid-template-columns: 1fr; }
  .execution-grid { grid-template-columns: 1fr; }
  .home-proof-media {
    width: 111px;
    height: 102px;
  }
  .home-proof-copy dt {
    font-size: clamp(34px, 10.5vw, 43px);
  }
  .partners-carousel {
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    gap: 6px;
  }
  .partners-carousel-button {
    width: 36px;
    height: 36px;
  }
  .partners-carousel-item {
    flex-basis: clamp(128px, 52vw, 170px);
  }
  .category-card { grid-template-columns: 1fr; padding: 10px; }
  .category-card img { height: 144px; }
  .qty-row { grid-template-columns: 72px 1fr; }
  .main-nav {
    gap: 16px;
  }
  .catalog-dropdown summary,
  .main-nav a {
    font-size: 14px;
  }
  .production-process-list article {
    min-height: auto;
  }
  .production-facts {
    grid-template-columns: 1fr;
  }
  .production-capability-photo {
    height: 250px;
  }
  .production-capability-copy {
    padding: 22px 22px 28px;
  }
  .production-cta {
    padding: 26px 20px;
  }
}

@media (min-width: 821px) {
  .site-header {
    grid-template-columns: max-content max-content minmax(300px, 430px) max-content;
    grid-auto-rows: auto;
    gap: clamp(12px, 1.2vw, 22px);
    justify-content: space-between;
    padding: 8px clamp(24px, 2.5vw, 40px);
  }

  .brand {
    grid-column: auto;
    grid-row: auto;
    width: max-content;
    max-width: 280px;
  }

  .main-nav {
    grid-column: auto;
    grid-row: auto;
    justify-content: flex-start;
    gap: clamp(18px, 1.55vw, 28px);
    overflow: visible;
    padding-bottom: 0;
  }

  .header-search {
    grid-column: auto;
    grid-row: auto;
    justify-self: center;
    max-width: 430px;
  }

  .cart-button {
    grid-column: auto;
    grid-row: auto;
    justify-self: start;
    width: max-content;
  }
}

@media (min-width: 821px) and (max-width: 1540px) {
  .site-header {
    grid-template-columns: max-content max-content minmax(260px, 380px) max-content;
    gap: 12px;
    justify-content: space-between;
    padding-left: 18px;
    padding-right: 18px;
  }

  .brand {
    gap: 10px;
    width: max-content;
    max-width: 255px;
  }

  .brand strong {
    font-size: 21px;
  }

  .brand small {
    max-width: 170px;
    font-size: 11px;
  }

  .main-nav {
    gap: 14px;
  }

  .main-nav a,
  .catalog-dropdown summary {
    font-size: 13px;
  }

  .header-search {
    max-width: 380px;
  }

  .cart-button {
    width: max-content;
    padding-left: 12px;
    padding-right: 12px;
  }
}

@media (min-width: 821px) and (max-width: 1180px) {
  .site-header {
    grid-template-columns: max-content minmax(394px, 527px) max-content;
  }

  .main-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: center;
    gap: clamp(18px, 4vw, 38px);
  }
}

@media (max-width: 1020px) {
  body[data-category-page] .catalog-layout {
    grid-template-columns: 1fr;
  }

  main[data-category-page] .catalog-layout {
    grid-template-columns: 1fr;
  }

  main[data-category-page] .filter-sidebar {
    position: static;
    max-height: none;
    overflow: visible;
  }

  .foundation-subcategory-grid {
    grid-template-columns: 1fr;
  }

  body[data-category-page] .execution-selector > .category-sort-control {
    position: static;
    margin: 0 0 14px;
  }

  body[data-category-page] .execution-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  main[data-category-page="embedded-parts"] .embedded-series-grid {
    grid-template-columns: repeat(auto-fill, 118px);
  }

  main[data-category-page] .flange-fastener-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .category-benefit-strip {
    grid-template-columns: 1fr;
  }

  .category-benefit-strip div + div {
    border-left: 0;
    border-top: 1px solid rgba(17, 25, 34, .08);
    padding-left: 0;
    padding-top: 14px;
  }
}

@media (max-width: 1320px) {
  body[data-category-page] .execution-selector > .category-sort-control {
    position: static;
    margin: 0 0 14px;
  }
}

@media (max-width: 640px) {
  body[data-category-page] .category-hero h1 {
    font-size: 36px;
  }

  .category-hero-benefits {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  body[data-category-page] .execution-grid,
  body[data-category-page] .catalog-toolbar {
    grid-template-columns: 1fr;
  }

  main[data-category-page] .flange-fastener-grid {
    grid-template-columns: 1fr;
  }

  main[data-category-page] .grating-type-grid {
    grid-template-columns: 1fr;
  }

  main[data-category-page="embedded-parts"] .embedded-series-grid {
    grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
    gap: 6px;
  }

  main[data-category-page="embedded-parts"] .embedded-series-card {
    width: 100%;
    height: 104px;
    padding: 6px 6px 5px;
  }

  main[data-category-page="embedded-parts"] .embedded-series-card .execution-card-image {
    display: block;
    width: 38px;
    height: 28px;
  }

  main[data-category-page="embedded-parts"] .embedded-series-card .execution-card-copy {
    padding-left: 0;
  }

  main[data-category-page="embedded-parts"] .embedded-series-card .execution-card-copy strong {
    font-size: 9px;
    line-height: 1.1;
  }

  main[data-category-page] .grating-type-card {
    grid-template-columns: 132px minmax(0, 1fr) 18px;
  }

  main[data-category-page] .grating-type-card .execution-card-image {
    width: 116px;
    height: 88px;
  }

  main[data-category-page] .catalog-toolbar,
  main[data-category-page] .category-sort-control {
    grid-template-columns: 1fr;
  }

  main[data-category-page] .category-sort-control {
    display: grid;
    width: 100%;
  }

  main[data-category-page] .category-sort-control select,
  main[data-category-page] .category-sort-control button {
    width: 100%;
  }

  main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-filter {
    padding: 16px;
  }

  main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-filter-head {
    align-items: flex-start;
    flex-direction: column;
  }

  main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-filter-reset {
    width: 100%;
  }

  main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-chip,
  main[data-category-page="embedded-parts-series-1-400-15-vyp-1"] .embedded-mn-number {
    flex: 1 1 104px;
    padding: 0 10px;
    font-size: 13px;
  }

  .catalog-pagination {
    flex-direction: column;
    align-items: stretch;
  }

  .catalog-pagination-list {
    justify-content: flex-start;
  }

  .catalog-page-link {
    min-width: 40px;
    height: 40px;
  }

  .catalog-page-link--wide {
    flex: 1 1 96px;
  }

  .product-card {
    min-height: 0;
  }

  .product-card .product-art.has-photo {
    height: 210px;
  }

  .product-card-body h3 {
    min-height: 0;
  }
}

/* components-filter-image:start */
main[data-category-page] .foundation-extra-card[href*="foundation=components"] .execution-card-image {
  opacity: 0;
}

main[data-category-page] .foundation-extra-card[href*="foundation=components"]::after {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 84px;
  height: 84px;
  pointer-events: none;
  background: url("data:image/webp;base64,UklGRlorAABXRUJQVlA4IE4rAACQtACdASpoAWgBPmEuk0ckIqGhJnJKWIAMCWlu6B/IsOHtbxitLzpkeXfwW9lfi9/B8Ffz37x/hetHcX+F8BvtSns+9fwj9bfqEfmH9H/0np5P7XCPvl9r/5fq/TTfvfUC/xPDQUAP0v6xn/B5MP3L1Dv55/geuF+9HtO/ugVwl8pL5SXykvlJfKS+bKw7vUz87c/iMPrEf3dDkvBFMs+W+wHs2yfjKST5oYoSeHV9/G9GvCnNCIDfazzd6m5oHbtxXZsyJE/JrW+3oxXRiuou2/sS0bT+/uGgrPhbyTqfC4PbJRurzUbkT+AB0dSAwDMxtrrxjFdBlhlt/b3JT//vSBrJy/Th9/HGnjQ2P0mRs6Z9YiGuK1pidnUyB9XyoSMSDoVtFx5i8J+Tn+ffuc0Qglwc0XEDKvexC4Ppgo1MUBGff6pWO7Bg28bZ2KOC8QX2uLwZ1sZc+LGcqTe+N6wo49KA27DTXFhGnnRctWIBCwQvbv0tFAxYHwN9bXTi+3OJt7vuB1ZXSXZ3E/ZysMKi7EO9FHYWw/ri16ewq2shUSzlcH5ZKZFvSoqs2Xva4EVctEThMm0g6i+6/qzQ0OOVtlYd4LIssIwlJu7Gy6GdPUcKNe2ARnuOVUiRdJyymi+QaPC1k2BBV18ju8XkPHLwDpgD3ahLAjmgrRm/mkgOawjSG0LBzPE4IpTuOWkSnP3f/kZZ8uAD6o+KvFcjbWQRKgMnyY3Pemex1A0M4OSlH8wzP3lEa842nc+S5p/TwyBk/p3MGz/5477xLV4D1L8H6TyQoosKebUAU2w70o/Lc8MaU9G+O72KLri/aB9GHOnOf/6US3v//dDA9E4HC/0+sX//fIDu6/tWiDoEf7lpYfrODsDwMkGy6IlhQcU7CuYsltpxftbm31vcBdObpdu6Gs826YEx/Wym8e+QVBSIiIV/f91Q3Z/fLre+k1hxF7zCgu/qVJQNPF+vJi/mMpTzFUXHxUXs69R4JpLALpzeE9VzlmPZcNI/ptpS+Fgz6Vu9GuSS/5/D25h+LlU7U8B/qfw5XoRxSj7jk4ygKvNIaExc/OpN+LM2Da5S0AN3qi93BOcKjqSLHm+5VtgJ3prDvRj3hyIUgqm6dYdWwj33uqmq5ZQdr+ACSb2P/O7fpJWyIWBwnv6Io25dVwEknAbdQk5WvVtZaJ69tbOjWtdEnDM4JpUoqXd8Fnhi4p7qF20UMIxpGTKFJEwI763kx21u31IYAKRldTT5j3bM5O2oSCYCTfP8tT1vHamJbTJDHKcgUPe11avvLwtb4wQNoereVWMeHSqS21yEYf2qBfJhApJmEuUjub/2EzP/UrvwERBsmgGI6n1ODxPb+i58wWZ8sItm1qs1i9xZZ4XDGKvSDfGhMUjo2VnbLRRHE/Y/mCk1OUAY7ZeHux8AhcFP/KafY7Yvf/gpD/I/adxcwL6IQGjP7A3/9P8r/zXrEOiXNgrf0TuXRtrWTO9pPzeGKdjCshHAzuomiRv/PdlaBzuOQNS0XSdHmqj3+8w2kPvnvRWk1//i6djV0BWvhf4apYg8vhg95AfVcgWFThR0cyORc5acpRb7BxjZ1eStqmZTb6/X4fVRvSpxj2zT5DjzOy61IipN5TT1MocjyszNoJ6g/P3C9fV476+Yl9P+SkNC4OrZ7lvfyiqVdrsty3Bwa6RNJd9Nrun+I+hu4GDnyLKNiIDgBW6+9ufEvT7gzj8p0mL2zMhvJ3qzhM6SOdTxEdoZU5GyOws5oaR2JbGlOWQ3K/qdl1IKn2w8X9yTgyRTYpOVV5oh3lYjm3diUlWScVwFEo1LQc1VKhNd8ZbesHoZW1nRnaEgQP/9oT+Ty4lCf9D2zwUbtbdsP6kX+vpTdDnypWFqeCxfKQUWFjPCNznkctATm71B1ykE+W2ZLI9Ab7WUrl3vPoPGJK4O+3MAAP7+uKDPJs4xnih8Tp939wAC2h7vUGq5ZW0uJRuXfADyViSIaPmfmjrczIQrZ+vHvB2It93+A6zmklRAwa+1Pl6gdPnZRHOs1Hch9V9MMfgKgpf8316LYQDdZOyPQzlJJsjZ52q/R1CswfdG4ou+80KFHZ0cUS2vQ/FycDZSMR+PgNWrh1/zu0so9H7dbUsXP9oMeUJVEWn9o3O+LzXY/zCaRP6Bm5bfDB2rWDHkamTpSvevomHansjf40INyrwPwiGqPeY7f3n1TnTSSH/47a2X6TuCS6iEy2VlTlapWNKcZWFvS7zjDHth0f1eJhMgo/AIKqvLzYL9ebgIAjPKgCS4ZtfDsJnR6dubqelBMiU0myQM5zZyHbbdgP4LSVAJdEMezJ7vCuct4hjBmc6k04cWkDvYE+x/PckFBk1MaMyfcKCNRytOfV8kI2N/IW1iHCnoaOnZzQOlH+E4+2M0kd5C/QAXU9diAIfsKHf7SfTtN9JUrPLc+7RtqvsZKdY1dORtv9an/UV01QqWPXTua3ZBtUlK88G0vMFfzoET4flMe+3BvwHUV1xhWMjZ1jOP+sHWMq+LYCMsD1kJkKjOYBsotGBmjD8hk0HabAqbM4X/0ntrGKWeBSk0tk5LaXAXlRtyLdTckcUUf1YcU/tt+DE92mjiBoR+AcfQajaEv2l6pRPRKkWWmvMs0S9/F7Lcs5yGH1Bl7Y1kGvz8fDrl0Q03hWiMkeFNoDoKeogCWP6dG2hj1pHhjZvJAXXP/24jfgkCJyJMgTWCDeqeweVAdoHSNm/2kniAVRZ9QGnIvtvXtjEipzL4p6WB+laqbfqvQB4ERldQ5s1eMI0EA4aJ4e3PfTyu1aWnQXsdZRZcX+GBih1VJUJ8vU7NNx4VbISo0jR29MHXaQnqlldipftYbTUprA9/yrilURvbgsO/WigfJZfm5cKv7vxANec4PwalNfyKgPftM3v4Cbpg1+qBsfkYtQi5T59t/G3UUQuS0cL5siWxwEyuIRw+wqybetfb+Fd9cosz9NOYwDsBaKfIbW0xGwhUT6eiK+WPSEHcSHhz6zXlXz/tupBLSgHDpU/ZXVnrk+3rBnfuYGYiBLmHRstA8xxJYWUtNC4GRsLh6UcvlsYsh+ppm7CrmVUdnue+TQP5FFLxCRUT4zJ7w4QXQXp5Nkx7B2TrEXk6p2eXDcBOy8TrCXxUXi/8wwU8f9zaMGeNGmGg1lCq8a7VZ2zWybTOkXMsikrQ7fHBsg5OBKMBwPn3PbmxRp0nWShwpAY0J6wUp5Ctfe0tI+ZEj5Py517EPBGhgm4UQnSW3oZxtN6eLXT4fT5WTf+tHgQiK0NP+kUOkJiyMvcJzo5p2OyJGuUenhObWfP/kA2/uVvvAcwlMD+JSnEh4XSD2l95ZioVfh17z51WLsJxtrFSRZJnUYekq+u68sdTGSmtM54Zn5cGwUCSQ5X5Inr4S01/iYvvePOMeygTU0pVz0dIFdGJmy1vUnHU2jM8G8r7NBeWay19t8M9UwJ1sFZXDqamemBBjegP+DcxRCkniThb3gQopguNNZeW/HLxz/DO1jeuC5WIq5iREFnGWiqghN/yLTOFMp154QrZLvO76gRLq8oPy6HV0D2wtH0hV7oQrRxmlJKa+WoOJGTzGXVtj+rmsmW2rAqeD1eQFq6citHR6d+LBn370XDnGIi6oHCAb1QoUYr1kUgezPOyAHWrrWKPIYQyOV7THAuJk1XhfVNDDpg2Ms3XsLdK2u0xxPRDoqsYiySSb30sBl2OMnJ/u6wL0bJs2yyOlsB1s0u2fjL5moNiBo0y6WznIpD57rFYNIQVa//3GkAqJ9AfaUDaOveEA+UvfP+wr5OYlhZGKukV4szxxkbwFtVgT2Oxs7k0KyBAy2V8L8Ho7UrPFWgMxLB176J6Lf2mHgpV0+0cqAnZVL5C5ai/PjxeLv7w1WH5IVrWwL1GJl95b5G3U/y0WDVdz2nwlrIHk85ZWhpkqXadRNXKB7CvjCAxW+gFdRQyJ7rP0UkIesSMlypfFGfwqYNfw/i+mic87LGVN2xYDP1o40Yif9AoFE5t8IBn41LiV38+yLF9NJdAk2ZwRmEue8J4AHLLZZ9e+vpunvnuwdxn91C0j4RG3JJ5XQxdgNoB5QLv2KfELzrib2GyWsbSwSoH1OeB5ElStzOYBg4gYHzdhhLzEPJKHrl4P89UDQir4kMhumcbstPm4jlOwWUoZAUkDo6LZ/rDGBYyd/Qv9N34niwh7E+tVjmEAR8w0QoeNEqso5cv1zO23p3u+njLccEAxu1FNJF9+uVUOVrMSJmTkWEZ76OZxdgqJxC06YcjjIJlkwQSg0ZZP+AyPGmTW9gJrg5nYLm0O2cTIxVp4OEtiw0Rk7DZ57gs0NJZrzPFZPMB6fDk1jolHq1iGeHEtmakY8uJYnVRTnn7JUqeqazf1voLr9EmxhitEz2NrVs/CG9xzcF77d/QUFQ27UrIn84Wxr1AdRck8y1BHGEr7jvAbBqe35OFA+18w21nh+W/bAH/CrZUCpLn+Hbh655BMUrAfkzQEKMHvNJfFYr3N9WD+wcQFCjwycaOMymAXouAAmv18JNxdGgjjJNmtQQfzdD8J/qIhcTctT+/A9T9jCKTZ4Oj7Kq76eM2mjwUoyYJGfGZpKpjYNCQEr5V62qLoopLJR/N9d1xuiFrTJrieF0VaBXGlQyMc0XKpqN0CWVANr/ltqePQXOuxt9upaSQUWuBEnApAGUeLrRT+x9iGVKlUo2UG7wAXDPxNJ2nIzbX22G/guIRluTy9zhbFnf4yuaRgm3Sig8YCCbxdwYWoD6YicS5tMLjBZog4q/+dDcHTIMPVMNfZR1zlEN8sby/ODZu2QmtXGMnBCGWwXEbyTYC7+3HDHUCk0/+uFCjf3mTSuoL59kVcJ//bo0Kj17NfIBkPxu7ZCYj6qQA6Q1wfVWdOsO49QB37HXKj8VLJffhFiIWTEJb3nXET06Lx6RzHxHakw2Ycd2mg/3BTGDWcLPEGO4TNoL+V8W70bCI+ALvNvSmlGBY/ZLYuy7uZXReRL2DfqDns+oQ+bwPYbMye8qeDRd4vL0jDHZlw7uCFnOaM3NAf6bSNM/bZU+j1zfIgiJi2fWwKGhxbuAHH1Dt7+1lvPPAZl9kEp7iypmmAmVlQfj5rBtx5DcKZ3BIqRDy456mK3A2j4ZiTY1Oooxb3WU4kay4i2xI3wSNGfXLK3hjsEGlvjZdpWJKZaRP2lT3QMusZsR40ITQ0ViJU1VP0DQwp6QIaHt63F3syPoJRgSdNhM/6n70F7Ids5+flcIJxwFQ1yGs7BFPJAJOLNydndzH25rnjzQHug+40ICCWimO1TTvFso3B6J96BPChaPY2XQ9owJ9ORhdI+6acbSOSHehMmcRSyb2kFqMpLmSbWDXjHtr88LAgb/32fw5/u94d5miB4BpOef4zPN03uoNVgwPnO/CJ0apc2E+QDaS98sb3beErCzzOxaM9fRo38UvAilZj8XTP3G/VKC/Vnsfukrr1o4kYeadBwY34/d9/BbbxZXnN5L5mhLBXW0GJSZ6JDHLE6/wVxBCawGeavUl+MLZsJFfakOAOHffCrZt2sR90+ONxSoLewMg62ivQS3puPLAmbvFitkWSB/gGDPC9P7eKNVGQMqI+tEpzP5jdYgFQTJtI6aeMMjo/WqIKAFowFIYK3zemhXkz353N1abUjKSv5dDYW8YepSDzA84BT76WgKGq1F8N57ohlTjqe0SngkOFcUsam4aYDIXwK6YNbC/wE0Mjc4PCyrsjwd03+bzg1ThDB80JzWceroEl966PN351RSV11oQ6M9M1jTVYqeTNSP8qe4gGY/+a9rcy/xCtU6wc829vquwfuQGTik8kKGXQj0ytp3FrJMwkEClxi/DIGyrFvDvIFHK+tOdVnpZOG0IeY2O5jl56iEuGNpH0zCJDUYvAMcSErFabjp+Vi1FsGJgbslB1xZr1uYf+UyHzlazDPnQGbBD4HkxrK8InEzOKUPwlLfDsOev2aeiexpkZXxIIgXAUqHeA5TbgmEOrqKeyVKcnpOO3YL1UlZFhYP7J+1eIm/3W47gCm958fQPE0lsPhm+Pv2O9vMyGBXfcPMIkMyfLyVhffYv/qncnnnBBpwEQVZSAwy9J45Ie90EqhVlfvl2pXEar825C5AIau0TtZHC0Zy/2VmDqfpL+K6DFPy/F+eHoGHVXuuK7qPD5cm5ujb/zpd1ZTLIOR+jWgpmckxVRx+SCfg4SfxYe+/YgYHaZW9wQrDLgQByqDYNAhPsc7UOVn57VkkNx5BdzXAejxdUfKX/LJNk78u5K/63dq/V/8oSodleQ1ltLcHLfBJDwYX2XD5tchDLOEX84gVVwwEfE5cUmDnwAv38WJ73VkoX4D8DypB10YhLjQsWRwIAT9rzzNWgI3tK/3mMi8tsKTTaokBkaBkBl5Ga59gzvs5nXbUubvW5LHxeXMMTt8h37cERBDu87CmvIV/QIJsoWhtDxb0yXqzyScxInXN1WfbUjVMZKKgd4G2bhER2FnmsSdt2Zr1KHj2IS8zBlh+NMntmCyARKwQflniTfT1Tk3DqvPl7xfG8RFTOOGxOku7QsIQnfup5HBJJFA3TKaCN74TGOnQtBVvCj02GBj/J27euZMYVQD4m42fARJS4vRzjSzpwEejxJHsdS/dGq6SLzLiqYkS8TXdIUFFc5X12+Wxkk97wlPp0hX6twg2rf1OH2+aRSD0q3oASFOou+mDrOxJj0faXnOeN9Vp6Ir8isxNtrmbRhE6MIRP0EDU15hoiWvsVoLyKPm6u6O5K0/b2JBCRkPGzo52UztE8EGWGsB9F0rhMLlhBjxzisjMVFnh2fAdfSN7Po/3Rdr+/37Bv8HOJMdALMHaz0DKHXOzl80rbyVXthZS08nOrD0zKqGebQmIgSRcYzRWN+cbINJM0O6E2fgfL3QOuchJ9PqybGO/z53yGwFTiwYohPgJeG8fmbuxSaIas5OvmTsKvSuPaTdvhHX/w9I46rIA2GgU+nLzJmhLbko5LqMdBNzrH4pNwBtARLQ0Wis7q3ibrVvmXe1WvE/+16qoZtlHLVXS4X9sw4Qp631APVmpdtOFAEqcWjIEUCLiq4jyfFUWiUDp/T2EC//AYu8F+vySlL0Na3BccBUwoz3rCAeKAdPMpatwq2Q4W1xHk8ipXrtn/xuQr5SteJadJNLVlLDByjwNhngacd+CMeJ/Fxgcr8TpJDEyQ5Oi3Rzz16GOBVl/14+MHCwGzYZ9wqpeYHVGdlOxlOmBdYzuwdg6PPyjRQ1ZYd2hjvH1eXZ30W/EGLpOxseDlgwwWdSMj8KcrdlmXT8kfcJvAKCASaB/Xb9dcn7cXOQP69jaJVVaSvqBo47LilWIm3VFZNf6s80UnULMyHSXRPlNy5LALgNO43uXVwpm8FVn6Eaqcl5g10dRoPpETZeEGqcGrfvU5Yivh4marjpKZ+Xqkn2t902v2ctBfyvlWDbj3fJccG6vmT/AaU5HxM19CLO5eX378T/ZZiqgtKb8tbAi9Ro2o6zFjACR076s+V9k81RJFAgWJH9M0BIsn5HDGghGgAGmaWG7Hfpfo7OgQG9AJWgBBMYVfWsEVtt4QaIaWXQoaU8+b9kD1HJd4KdFd5pcL1W4PKW2HL6IWM6lBsnJ25WsUKn56KfZu7M2QDd0q17dKRj03S+UB/JXEcMd0cyBhUjQjGsEFM43IM7GdwzBGfAwm7gEPLJbcuKI8u+J9zJDrCvpSzlXhNZ0mq8eN9y0Ml9C7NFT4fyg1X7SanMsxPuvx3P2kCluss6hdiquiPWvCSxXtiVA34B2L9asjP3Gv6eztncRPejWjrIXWs9S7v2/frT6+NnABMitBSQFCUs507ZacMTTEpje8y9nfiiCXZtBRwhpRyzF16AdY+KuLySubi4EMO73xm5Atzot0Pr6DIhoyhB2YPBAsgI8qx+ncqXNQNGduszQoC7lWRj0jcHSR+vN+lAtBwIS94jhLB0C9m7OfEYMVBm/dRFH2jxV57xZxX7p5dfU17Sgmfv9l6RYoGIpkJKJjIxmXpLrtLXM7TXImvYkmxUZvAk/LwMpVihHntmAU1IzvOk15gdudXexj9vFPoHPhpFscvgpuGBfcr2mhSE5eYYFyhpnS9ui5GMRlyFBtZBmdtc1szIfeNBG50GpHYYw5lWJfldMfK2ENWzkJZyqctUC6lOkBv0hjCrWuqPCGjENhEgcu4Uu7RIBK75qdkyNB8hH9inwRP5PxCzioYpCyDu0PdOlbe9isFPQX2kjEpZQ3veG88jKzGmgU3764HKEGNbyI92x3h32eOdhhN7B0elJBXwb1Y5dsYFQq3vvRW47SPQSGOlMMW4OQ8z0Km2oKemvoWoc3ToQzUlaw33aVVqJ91N1cKJ9lImQZ0tLTMU2hSG6xfBQwAOY8AtGWrdhGNQbe49kzanQ31PXLdHedFkoklXpRahWJpbizd9rygel1DuitMxBJ0HIYnYqprA3w2IDBnfSuI7cHM8qBzhK5UXTUKHy2zdQrq54+KxKaGRNE65qnZjDvx9j6Ivtgv+J/OQFT8rqhAerHm/cPlb2KbbDwz1CfJJmWikrLWmJDNxwtUTcUF4IQCof26JKTolgTjUXtVPunnu6wETA1ULjaFJjwUZ3q7/gjZsT21S8uzbx/lSwpzQGYdPd12cTIvM3zFHXteC8FRBwLQdiw7U5QW3IF1mbbLTYJ8YnUxWRvKxmmDdtYP172j2lpORXPneyrmat+n2HLuqgQbBnDK3ADEfK+SumWdswxCCD6BwgUMhdzc3M5SMNZpL2js+SO2eAysnbtm4hFs9FvC/QNO2Y4PEJkM/XAHmf2jq/zpRc6Knny8YNLuYsUOoRRb6Zh+4KBc+ja+QzPJQTU+Q0pdOZqB+befAKCISabtJi62lfwQk8Xv2skkiFAMoS4g0dfMDfZCNIDt//fz6zG5M5+vnadtjUbvVZnDjitU9eXyIeUxcdU9wzx5P0F17SWnqaID5nwPm+xC1aLfkyANshDxOBYxcJ7zio31g1TDcmrMcMfj5xmIO5UqT4BsUYDlmCduRax13gqp4zzsLNG1+X1NbKVKgxzX25scBnnQbU7hxdk3E7aiuBlgQ3qHRDTtSFEeRFWvjqN9ZMwNohMVFrC4k6M6W+Nh4sqhjQT1ikW+zWeEebGbfdTYQnx+94pFdSlw5FFqHFWSEWmvj0CPSpPrYP3GwGH24NVpRoQYqB+aXW0rAGi1cFlutd+PFiP72MuRGfiHo5NnvJMPQrRkUwQdqWcep1xrT4TldjpaseATHwJsVp7jvbPbR5qGARdLov06Rd8T8MSGVgk+3Rks8dVQv3QDocfPQoh4yNhry3RnMCzGQdU1ZFuUrio7+jrBBdRCCPv4ew5dkb5pq0gyuykXswP75iz9w2W7L1Yp3N7G0+bzdQFBPog+Qk0Yx+rDADeozd37fK2HMYE/2uUfjS63CcFWVajlyODXZSHywirozxaEQ0+CeaKotW4LGB8o5wQEF3nvtVGkiAO4XKGyUFxlqCAb0RZU5Sbkqnmf69VZwo2Ur3Rl//k/ve+Q/J6wkZ2FSAsb076BQW7NVsbUEtV/6OuRStsps2bdSyS70tSdD9SAyANRkKQ75/RYXHUUIe1EwqVcCZ81jj6qiwA4GUQx2kArXmahUiYiDBkRcx5IbidVg7MefuBsJScA59R5+rdrPxJQPi4Kz/LzAkreVH5wMY4ljl8Yh25OZNC62ZMHRhOXIUNbsFx86Wj5GgqsiUymEMeCnmtju3LmN0cFKU79XLRJX6GPk1hD0/GxLmg5o4FKpW6dVltIvCPQIOTlNMo7mjDAZvkXUJsBfBGgsZGphvfe0Oxcw0xnkh7Zyfj4hGk5O5JV+P4zkGQxG13MaKMpcPQl0av7CpAAGnVVJNFig3VDcLG0AMqGhgh3ChpUasSzxA7KzJ5RvDq9cE4m7E1M1Ymj+ZxUg0x+aFEArxvQ+kzysuIAOrncsmx/a+T0djasFHGrUOjZtHlF6euAmst2bVRE7lVR+vCGQhGzpdcOEzsEFLgwg9p9liYeMzd1hS7uVJUbO0APCw57PLAHQGttLA7GzXmC5zxMBWA7BwTVwvC2wLmFAaMBtb+Nj2XaU+8ZG3PA2U47EDR5ntUWcExO888CMaQsU33QDq4eX3kyMrTv8qML57ckiLTkkrKxq7477q49QlP95NqHldGRU6wyVa2JSdkwefnptRi6CPxf8XGI768TCFuAu7B9CzeOUEr33mNV2r5N9ic7UPRgBDpqgfJaaOpQ17WaKeANHI3iMrFh+AV8cn4Yd+GEyb2ImuN0KVQiKTeWKSI+Zc2CzczD8v7DAD1EZV7DR/YZ7wIC0tLX8Zq0/3zfAo0k2+sOt7leOBfJgIOz9pzVfTiWGlMExkX/S8qnPaJvt6eprrFbrNPTS48XmxbmnFTgR4SB6PJMxG1YsPFG8FwZp8JzWcynHWGJMcdNLtgq5H/2Kgb5dwdEZp79SJP5j89mZm8xKYdQ9NTMekv1pAv2gWIqNoUpyxE50hUrYPEoVeUt9OgR9RA7rIKTRzihWHzFAwnRXtWR1WxIOxRvIYEd+Yvk+E4rpOD8smu7zKDB7v3qGNV/x5MbiiWz4mzl+jMu8MSOvvYpZ8eL/+dvrHo+KXGHUxcrdFAUvY17W0cmv6XER2eozk6ZJ9yl3D1Dn4e55Ol0i/Df2zLgkjcZ0fMQZvwaJBbjkTs/j1gaG9Abj7aN9+Y4uHSpyAIUmb8ihobav+gBcmf6ExJFAxJeYyCHp8xDpiLYPO2XnpnkcN43OdiGtyWUPM0MiuCGMXbdvncQJ9I6TuX3/yyrD/88t4eu8RP4MnP5/WLULyn11LKWAfPu3iSnwsjGWkl6exgQVF5RwrAfJwDvzEKLGdp19+UZt+KX1N0LnaZrLAVc3M0TwVdUk+gTPFP35A0HmUhK3NPIS6KpXNOdxz35PQTxzroc2l7rloiYm0AWhdqUoUGpc7FL3+9L7faStew5VLR36RoTBn1nbsYdiNDHEdvtTtQBhpsreCa+8A+RSvNslXes90hmhG9qmQ4Xr2VdzE3rQb0Ur50lssfycXNVtD+FWdjfdI7OgR9Soc/IN9AkJi5JM+/dAryZAVy+Ses2/rPYjcMnc7VFrkoaAZOHZdZP0qZ5M44Gbqwbd9QpCVJ+xtUFNrqpQldlvNFT+afG5qPZkxW5zCQob5T3xPsR6FPfLa3IoK2hbla8qFPkVZ5raS9MAgeNO/sEOB8PQAH4H+kg+TqK81Y8rPfMuvYFSBD9DLnaWFM/I4+mPwkTDUdoYY6UsumLb1FZUCaBMpRH8Vm37GT/ynxI2OeAoOH00iv9AENOzjtweFPmg+S712xE6iwePX29Iuym+ownrWaoCWyJBsVXo5EtQEuWFXoL83mHooxWcUWa4yUlb0fB8NOBS+0Uti5HPldRYUOIwplm/MSZ4FdroFy3dxuFh7rsgytY/NCP7EcQ+1g/qp4lG7LrwpQELSBUfCRuL7/e9rt6exICd1qkYSYqg7jndYc4TvyeKZ3yKLMwPpwozzavCwePPNAawtKlCv7Z6MIcYAYUT+XVIv87WNyJB1KXKA9xISSp/Z8YuN1R0RyPZ1pD35j+phuIysxwM81b2YtJFBi9SgNeaW21TOJVhGMXJgher5L+m/4zO3xx8921/C3XBa/Au7WSsCEh55q6LK33zCciqJX2BDAXLNH1bdPBfo6q9k/fhnsxJcsZRpk4thms0Mo8UPspKW+G63h4GCjpgP4NhqviD3uRkZQPdzkIMkVZbZmvbNiOj45XPH9gpWHyj5Q6ztb5hMVcmeMejgepkQ8qvOS1Jiiq2qIDJDH78Fx99W18UjDk9zSi8bzuRFPpHdKdNJigLS1OjoBdpIITgwTFVi9jo2GL22VtlKALdW1JzXLP+lvfD5A8b9nItG/7v/fkEwQVkFWohrI2Ib+ds1M+lHXjiPQ0WYcLYdXSLo8bhzo4HobbyG1jW/b19pfGqJZUChDePCLc0GgYspWB9WzquVLHGfj/jsnmjRvoRkIKWVyiNHVpaC9fT/N2FxGas6YI0R4zZS6eqyvBOlM8N7UqQfzED90DvvZ3msRJvhA8nUHFJsUV3ju4kWBpZkDj8AfhASepcfAW/zLkLec2EYCWrBYTc5XzjVos9/ihHkqXQ/gK5ri6jA7Ilx/S9yx0rjjF39U+wtNtAPqK3CXM4TcrFcMDU8zPCqYVyJqvadlOs7DwUXxch0nQcT7N0pHuN2z2ZbChaCxOcub/CF/I0044u6/NQuvPVgxup3Ve3aDEjPMZ3nmz9THK8PtEz335M59R2eOTOCWtRj6SxGrMaBF3Xmv8AmDHcW+PXwiRwAFhthJlPrN6jvcvZ7fkGC1qTm7tMyllOM/zXjIIJ1mLqbCM2eYKjnukC7ilXMU97+bFDjRn5xEJGUT+z5X4HM7ur3hqYZV/1W49BaXt0CbT1Ytj6UcRinoswix01isLj7zpPTidCvwxx8mzsinwqHMQhHiDYtDz45xFTAGRemeFWb/9pJbex5fKf5Q68yQTr+I/w1prXqWn5zugHR2E5a0JbiQeKwoI0IRCWOdtiw5myAo9v9g+g4I5MhfMtJOCaSpaO4CPvt4wzEdWCiK453j74e4RgHLxTD+Zk/xtQbvIxhS2yKW3CTntmXgP1Ksu85Ft6wj/gNrG23yQTQMljXqoYGBd0nlD/VxlYx9RDYirFdgACWgYuMZ65AceiGZOjPhZF9pL5dI1bgwTt6G+oPQH6t9ZSYskGslHiuUuiQY19piRi5jecbFT7A6V5DXniMs//hQDzqALIubsr9FpoTL7QLZZ4TKXIyGlBhfs20pRpPMAqtLdqNOEmMXyZJ1QS1qk3vhcMoS+Az+jROzEY+HPP51RjRvVHRx7or69q2PJBabaUO7X1ZzKZ5zU0kKAgSjqEQuWWjibdIs5ltnYOCOaG96MG67RHnACJOnh2i3DbWIeHxSwd8czJju+GG7i6smTYkC4wAX6R36ONpCUMUHMK5xPWgJT9DwIOFYGBnuUdciOjzOUeWW35b7KvhdVP8tQdyVGMLcJzYWs5kl3iZsHwbID6t5dskZL/pRKaRn4v5oDTDmlVC4Dk3nZWDVUhExSHSYLW3YPfPOTR6zrWp0NtAHWlJOcxgzDwCKxrEgGt/73CCcjIm9kADasAKAnUp5lMN3o8awwXAF6X+jdgPwrwiIvIJuhadjmwMwMC7FAfIMNQiLksY7okeOEH3wAp7/2QK+rNXFL+fmXMwsgvLSUt/zqG80ybIWv2c7kc0WX6I3tRUtYPgc/i/XnFh+BXzmpn7uz0hXlXtt8TbM++ZbY1HNTge7z9vorJI5rfyVA2O9N3KsSoAuWbggvPCCZ6z3Is4Xj76C3c9zBzyV3GMbPYyFyjBEQ41hneBW7qo/Dewggjp1S6bvMANRCzgPmMDzAQb6NF+VGZ61leniIhAL/edSkhZzC27MFqXjHmcgQ2PeKpE+WadFBMFXJqL9DRsY46jkYqc4MFN3RGJ/WXTYyTlgFMt5FKZ/uir+34FuzLShfaYAl5xME2UCpQ+16mD2MWw0Fb83ObjUq7ghHy+pmn1r24P15XPugNxG+h7VxQKavXYupA6xtJ4VWiTAymq1HIdhlE9IH1fc2cI6pA8KaQHY9YL9uuMnautK6B+pnYg7EVL2Ke931E6HKGTQQJu+b92PAE+eHHTG2N6ax2EVxlRN6e6gW9HCkFFPB7+79SQBY+ggneCwQ5ue6IY9TkvlMG9aYEqXxo4ynmrKzGYeUwKGLGhJQ/4YsOERBcegDIxOhJ4gNu3LOdhc9E9JxeESHsqtYYPuymvt4oJM3bhXViAQRq3pCLgfHlWqC/cXt7g/UDv1pd+4ufaiziKNErg9RmoQAF6Reu0VCOf08dPiY/rC0/FDBHIeOl2tQTv1Uh6TMEgs0q94qFaXeDn0G7wj4RLu/UVrV5eL0zx7v/akQ2RHp2O4KkGlcI18DJqSKPcqLCbiKAiDmm5DHKLK72CMMzVd86hT7tZlZ66I7U8C48/vfam63o5YBTAf45AE/rVxuNNot47qNkiLQxfyRH4GOT4XEGacHmi6+sXnDlGJpvx1a61onxYGr5HVUviSsNFTtgMq0y5Hdaw1bl3W7YKGX8FOghlL9934lTqNc9POUPR0p4kcrI08VfN73e46oW3kdBJrP8SmKx3UN2Rg135bbon5Y+u43GD6+Bxz3t0G+JMtyets1dkcvKePnY98JlCSiJq9tKE/zI8DxLwFV+td8kZLrpwnuXxcMNk5CfWq2d8mJY7+E/NsAq7vdOK+Gnaje1UZ/OznaX94sh7EsVY3pWC8Ljdj7/ljC8NyClSpNQmD4jO5rk0da1j6oTmS5kTDKWRL7X2GnIZVRijt9lrWwb//BwchNlcE5Vbo9ej/3MhNV9di64MzdcqMrgIKaWXA5OH24qYotxvFYR3bsgJqKmiyMrOeXasWGGHjv/K0cW/oO+78sb4Bjfw1ltUrCmjc2iUEemqpMGkfYHwanRjvgGX9Y10s8zR8BGvM6k/ClIHCL8AX9O+OKEWd0mHMoejZSfWxBTnkqwOdLzjapOYEDHSMiwAOVrCIArAsXS9hduGzndhimkUC7FlIZw4h3WXydmtJFGU7NgJn6tPEEbL7eyYpuQc9gvw7d+BgamljIP7KwFw8fe2DAMAiDIS09wliJHAUm1NwoGRslDRMsF6LjnOxJBAE2TpdQFQAAA2JbLQ3c/dSvzgGoA+XW5sZIPjFy2O1cAAA") center / contain no-repeat;
  mix-blend-mode: multiply;
  transform: translateY(-50%);
}
/* components-filter-image:end */

/* studs-filter-image:start */
main[data-category-page] .foundation-extra-card[href*="foundation=studs"] {
  grid-template-columns: 112px minmax(0, 1fr) 18px;
}

main[data-category-page] .foundation-extra-card[href*="foundation=studs"] .execution-card-image {
  opacity: 0;
}

main[data-category-page] .foundation-extra-card[href*="foundation=studs"]::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  width: 104px;
  height: 84px;
  pointer-events: none;
  background: url("data:image/webp;base64,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") center / contain no-repeat;
  mix-blend-mode: multiply;
  transform: translateY(-50%);
}
/* studs-filter-image:end */

/* catalog-hero-reference:start */
.catalog-page-hero,
.page-hero-catalog:not(.catalog-page-hero) {
  min-height: clamp(560px, 39vw, 660px);
  padding: 34px max(48px, calc((100vw - 1540px) / 2)) 48px;
  background:
    linear-gradient(90deg, rgba(5, 10, 15, .99) 0%, rgba(5, 10, 15, .94) 34%, rgba(5, 10, 15, .58) 64%, rgba(5, 10, 15, .16) 100%),
    url("images/page-hero-catalog.png") center right / cover no-repeat;
}

.catalog-page-hero .breadcrumbs,
.page-hero-catalog:not(.catalog-page-hero) .breadcrumbs {
  gap: 14px;
  margin: 0 0 42px;
  color: rgba(255, 255, 255, .74);
  font-size: 16px;
  font-weight: 500;
}

.catalog-page-hero .breadcrumbs a:first-child,
.page-hero-catalog:not(.catalog-page-hero) .breadcrumbs a:first-child {
  position: relative;
  width: 21px;
  height: 21px;
  overflow: hidden;
  color: transparent;
  flex: 0 0 21px;
}

.catalog-page-hero .breadcrumbs a:first-child::before,
.page-hero-catalog:not(.catalog-page-hero) .breadcrumbs a:first-child::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, .82);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 10 9-7 9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.catalog-page-hero .breadcrumbs span[aria-hidden="true"],
.page-hero-catalog:not(.catalog-page-hero) .breadcrumbs > span:not(:last-child) {
  width: 9px;
  height: 9px;
  margin: 0;
  border-top: 2px solid rgba(255, 255, 255, .74);
  border-right: 2px solid rgba(255, 255, 255, .74);
  transform: rotate(45deg);
}

.catalog-page-hero .eyebrow,
.page-hero-catalog:not(.catalog-page-hero) .eyebrow {
  margin: 0 0 18px;
  color: #ff5a38;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0;
}

.catalog-page-hero h1,
.page-hero-catalog:not(.catalog-page-hero) h1 {
  max-width: 880px;
  margin: 0 0 22px;
  color: #fff;
  font-size: clamp(46px, 5.2vw, 76px);
  font-weight: 900;
  line-height: .96;
  letter-spacing: 0;
}

.catalog-page-hero > p:not(.eyebrow),
.page-hero-catalog:not(.catalog-page-hero) > p:not(.eyebrow) {
  max-width: 680px;
  color: rgba(255, 255, 255, .72);
  font-size: clamp(17px, 1.25vw, 21px);
  line-height: 1.42;
}

.catalog-hero-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-width: 1040px;
  margin-top: 42px;
}

.catalog-hero-facts div {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-content: start;
  column-gap: 16px;
  min-height: 154px;
  padding: 22px 24px;
  background: rgba(7, 15, 22, .56);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 12px;
  backdrop-filter: blur(10px);
}

.catalog-hero-icon {
  grid-row: 1 / span 2;
  width: 34px;
  height: 34px;
  color: #ff5a38;
  opacity: 1;
}

.catalog-hero-facts strong {
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.16;
}

.catalog-hero-facts small {
  margin-top: 12px;
  color: rgba(255, 255, 255, .68);
  font-size: 15px;
  line-height: 1.38;
}

.page-hero-catalog:not(.catalog-page-hero)::before,
.page-hero-catalog:not(.catalog-page-hero)::after,
.page-hero-catalog:not(.catalog-page-hero) > p:not(.eyebrow)::after {
  bottom: 52px;
  width: min(30vw, 330px);
  min-height: 166px;
  padding: 24px 24px 24px 82px;
  background: rgba(7, 15, 22, .56);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 12px;
  color: rgba(255, 255, 255, .72);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  box-sizing: border-box;
  white-space: pre-line;
}

.page-hero-catalog:not(.catalog-page-hero)::before {
  content: "Широкий ассортимент\A в наличии\A\A Более 20 000 позиций крепежа\A и закладных изделий — быстро\A подберём под любые задачи.";
  left: max(44px, calc((100vw - 1540px) / 2));
}

.page-hero-catalog:not(.catalog-page-hero)::after {
  content: "Собственное\A производство\A\A Изготавливаем типовые\A и нестандартные\A металлоизделия по чертежам\A и ГОСТ.";
  left: calc(max(44px, calc((100vw - 1540px) / 2)) + min(30vw, 330px) + 18px);
}

.page-hero-catalog:not(.catalog-page-hero) > p:not(.eyebrow)::after {
  content: "Быстрый расчёт\A заявки\A\A Добавьте позиции в корзину\A или отправьте заявку —\A подготовим коммерческое\A предложение.";
  left: calc(max(44px, calc((100vw - 1540px) / 2)) + (min(30vw, 330px) + 18px) * 2);
}

@media (max-width: 1180px) {
  .catalog-page-hero,
  .page-hero-catalog:not(.catalog-page-hero) {
    padding-left: 32px;
    padding-right: 32px;
  }

  .catalog-hero-facts {
    grid-template-columns: 1fr;
    max-width: 680px;
  }

  .page-hero-catalog:not(.catalog-page-hero)::before,
  .page-hero-catalog:not(.catalog-page-hero)::after,
  .page-hero-catalog:not(.catalog-page-hero) > p:not(.eyebrow)::after {
    position: static;
    display: block;
    width: auto;
    margin-top: 18px;
  }
}
/* catalog-hero-reference:end */

/* catalog-hero-stabilize:start */
.page-hero-catalog:not(.catalog-page-hero) {
  align-content: start;
  min-height: 400px;
  padding: 28px max(56px, calc((100vw - 1540px) / 2)) 132px;
}

.page-hero-catalog:not(.catalog-page-hero)::before,
.page-hero-catalog:not(.catalog-page-hero)::after,
.page-hero-catalog:not(.catalog-page-hero) > p:not(.eyebrow)::after {
  display: block;
  position: absolute;
  bottom: 26px;
  width: min(28vw, 330px);
  height: 112px;
  min-height: 112px;
  padding: 16px 22px;
  color: rgba(255, 255, 255, .72);
  background: rgba(7, 15, 22, .56);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 12px;
  box-sizing: border-box;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  white-space: pre-line;
  backdrop-filter: blur(10px);
}

.page-hero-catalog:not(.catalog-page-hero)::before {
  content: "Широкий ассортимент\A в наличии\A\A Более 20 000 позиций крепежа.";
  left: max(56px, calc((100vw - 1540px) / 2));
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23ff5a38' stroke-width='5' stroke-linejoin='round'%3E%3Cpath d='M32 6 56 19.5v25L32 58 8 44.5v-25L32 6Z'/%3E%3Cpath d='M8 19.5 32 33l24-13.5'/%3E%3Cpath d='M32 33v25'/%3E%3C/svg%3E") right 22px top 22px / 40px 40px no-repeat,
    rgba(7, 15, 22, .56);
}

.page-hero-catalog:not(.catalog-page-hero)::after {
  content: "Собственное\A производство\A\A Металлоизделия по чертежам и ГОСТ.";
  left: calc(max(56px, calc((100vw - 1540px) / 2)) + min(28vw, 330px) + 22px);
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23ff5a38' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 6 54 15v17c0 14-9.5 22-22 26C19.5 54 10 46 10 32V15l22-9Z'/%3E%3Cpath d='m22 32 7 7 15-17'/%3E%3C/svg%3E") right 22px top 22px / 40px 40px no-repeat,
    rgba(7, 15, 22, .56);
}

.page-hero-catalog:not(.catalog-page-hero) > p:not(.eyebrow)::after {
  content: "Быстрый расчёт\A заявки\A\A Подготовим коммерческое предложение.";
  left: calc(max(56px, calc((100vw - 1540px) / 2)) + (min(28vw, 330px) + 22px) * 2);
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23ff5a38' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8v10'/%3E%3Cpath d='M46 8v10'/%3E%3Crect x='10' y='14' width='44' height='42' rx='7'/%3E%3Cpath d='M10 26h44'/%3E%3Ccircle cx='43' cy='43' r='10'/%3E%3Cpath d='M43 37v7l5 3'/%3E%3C/svg%3E") right 22px top 22px / 40px 40px no-repeat,
    rgba(7, 15, 22, .56);
}

.page-hero-catalog:not(.catalog-page-hero) .breadcrumbs {
  align-items: center;
  margin-bottom: 22px;
  font-size: 15px;
  line-height: 1;
}

.page-hero-catalog:not(.catalog-page-hero) .breadcrumbs > span:not(:last-child) {
  width: auto;
  height: auto;
  margin: 0;
  color: rgba(255, 255, 255, .68);
  border: 0;
  font-size: 0;
  transform: none;
}

.page-hero-catalog:not(.catalog-page-hero) .breadcrumbs > span:not(:last-child)::before {
  content: "\203A";
  position: static;
  display: inline-flex;
  align-items: center;
  color: rgba(255, 255, 255, .68);
  border: 0;
  font-size: 24px;
  line-height: 1;
  height: 18px;
  transform: none;
}

.page-hero-catalog:not(.catalog-page-hero) .eyebrow {
  margin-bottom: 16px;
  font-size: 14px;
}

.page-hero-catalog:not(.catalog-page-hero) h1 {
  max-width: 780px;
  margin-bottom: 12px;
  font-size: clamp(38px, 3.6vw, 52px);
  line-height: .98;
}

.page-hero-catalog:not(.catalog-page-hero) > p:not(.eyebrow) {
  max-width: 620px;
  font-size: 17px;
  line-height: 1.5;
}

.catalog-page-hero {
  align-content: start;
  min-height: clamp(320px, 22vw, 380px);
  padding: 22px max(56px, calc((100vw - 1540px) / 2)) 26px;
}

.catalog-page-hero .breadcrumbs {
  gap: 10px;
  margin-bottom: 16px;
  font-size: 13px;
}

.catalog-page-hero .breadcrumbs a:first-child {
  width: 18px;
  height: 18px;
  flex-basis: 18px;
}

.catalog-page-hero .eyebrow {
  margin-bottom: 8px;
  font-size: 12px;
}

.catalog-page-hero h1 {
  max-width: 680px;
  margin-bottom: 10px;
  font-size: clamp(34px, 3vw, 46px);
  line-height: 1;
}

.catalog-page-hero > p:not(.eyebrow) {
  max-width: 610px;
  margin-bottom: 0;
  font-size: clamp(14px, .95vw, 16px);
  line-height: 1.35;
}

.catalog-page-hero .catalog-hero-facts {
  max-width: 1000px;
  margin-top: 14px;
  gap: 14px;
}

.catalog-page-hero .catalog-hero-facts div {
  height: auto;
  grid-template-columns: 30px minmax(0, 1fr);
  column-gap: 12px;
  min-height: 112px;
  padding: 12px 14px;
  border-radius: 8px;
  overflow: hidden;
}

.catalog-page-hero .catalog-hero-icon {
  width: 24px;
  height: 24px;
}

.catalog-page-hero .catalog-hero-facts strong {
  font-size: clamp(13px, .9vw, 15px);
  line-height: 1.12;
}

.catalog-page-hero .catalog-hero-facts small {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.28;
}

.catalog-page-hero .breadcrumbs span[aria-hidden="true"] {
  width: auto;
  height: auto;
  border: 0;
  color: transparent;
  font-size: 0;
  line-height: 1;
  transform: none;
}

.catalog-page-hero .breadcrumbs span[aria-hidden="true"]::before {
  content: "\203A";
  position: static;
  display: inline-flex;
  align-items: center;
  width: auto;
  height: auto;
  color: rgba(255, 255, 255, .72);
  border: 0;
  font-size: 24px;
  line-height: 1;
  transform: none;
}

@media (max-width: 1180px) and (min-width: 821px) {
  .catalog-page-hero .catalog-hero-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 100%;
  }
}

@media (max-width: 820px) {
  .catalog-page-hero {
    width: 100%;
    max-width: 100vw;
    min-height: auto;
    padding: 18px;
    overflow: hidden;
  }

  .catalog-page-hero .breadcrumbs {
    margin-bottom: 12px;
  }

  .catalog-page-hero h1,
  .catalog-page-hero > p:not(.eyebrow),
  .catalog-page-hero .catalog-hero-facts {
    max-width: calc(100vw - 36px);
    min-width: 0;
  }

  .catalog-page-hero h1 {
    font-size: clamp(30px, 8vw, 38px);
    overflow-wrap: break-word;
  }

  .catalog-page-hero .catalog-hero-facts {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin-top: 12px;
  }

  .catalog-page-hero .catalog-hero-facts div {
    min-height: 0;
  }

  .catalog-page-hero .catalog-hero-facts strong,
  .catalog-page-hero .catalog-hero-facts small {
    min-width: 0;
    overflow-wrap: break-word;
  }
}

@media (max-width: 540px) {
  .catalog-page-hero h1,
  .catalog-page-hero > p:not(.eyebrow),
  .catalog-page-hero .catalog-hero-facts {
    max-width: min(calc(100vw - 36px), 354px);
  }

  .catalog-page-hero h1 {
    font-size: clamp(28px, 7.2vw, 34px);
  }
}
/* catalog-hero-stabilize:end */

/* contacts-reference:start */
.contacts-page {
  background:
    linear-gradient(180deg, #f7f9fb 0, #eef3f7 100%),
    var(--paper);
}

.page-hero-contacts {
  --contacts-hero-mask-width: min(54vw, 880px);
  --contacts-hero-notch: 58px;
  position: relative;
  isolation: isolate;
  min-height: clamp(267px, 18.2vw, 304px);
  overflow: hidden;
  padding-top: clamp(34px, 3.25vw, 45px);
  padding-bottom: clamp(34px, 3.25vw, 47px);
  background:
    url("images/page-hero-contacts.png") center right / cover no-repeat,
    #071017;
}

.page-hero-contacts::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 0;
  width: var(--contacts-hero-mask-width);
  background:
    linear-gradient(90deg, rgba(7, 12, 18, .99) 0%, rgba(9, 15, 22, .96) 78%, rgba(9, 15, 22, .74) 100%);
  clip-path: polygon(0 0, calc(100% - var(--contacts-hero-notch)) 0, 100% 50%, calc(100% - var(--contacts-hero-notch)) 100%, 0 100%);
  pointer-events: none;
}

.page-hero-contacts::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 0;
  width: var(--contacts-hero-mask-width);
  background: #ff3f24;
  clip-path: polygon(
    calc(100% - var(--contacts-hero-notch)) 0,
    calc(100% - var(--contacts-hero-notch) + 3px) 0,
    100% 50%,
    calc(100% - var(--contacts-hero-notch) + 3px) 100%,
    calc(100% - var(--contacts-hero-notch)) 100%,
    calc(100% - 3px) 50%
  );
  box-shadow: 0 0 18px rgba(255, 63, 36, .28);
  pointer-events: none;
}

.page-hero-contacts > * {
  position: relative;
  z-index: 1;
}

.page-hero-contacts .breadcrumbs {
  margin-bottom: 18px;
  color: rgba(255, 255, 255, .68);
}

.page-hero-contacts .breadcrumbs > span:not(:last-child)::before {
  border-color: rgba(255, 255, 255, .52);
}

.page-hero-contacts .eyebrow {
  margin-bottom: 12px;
  color: #ff4b2d;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-hero-contacts h1 {
  max-width: 760px;
  margin-bottom: 16px;
  color: #fff;
  font-size: clamp(38px, 3.82vw, 57px);
  line-height: 1.13;
}

.page-hero-contacts > p:not(.eyebrow) {
  max-width: 730px;
  color: rgba(255, 255, 255, .76);
  font-size: clamp(17px, 1.2vw, 20px);
  line-height: 1.45;
}

.contacts-request-section {
  grid-template-columns: minmax(320px, 504px) minmax(0, 1fr);
  gap: clamp(22px, 1.8vw, 28px);
  align-items: stretch;
  padding:
    36px
    max(16px, calc((100vw - var(--header-max)) / 2))
    42px;
  background:
    linear-gradient(120deg, rgba(235, 240, 245, .98), rgba(250, 252, 253, .98) 52%, rgba(232, 237, 244, .98));
}

.contacts-card,
.contact-lead-form {
  min-width: 0;
  min-height: 376px;
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(17, 22, 29, .1);
  border-radius: 8px;
  box-shadow:
    0 24px 54px rgba(17, 22, 29, .14),
    inset 0 1px 0 rgba(255, 255, 255, .75);
}

.contacts-card {
  display: flex;
  flex-direction: column;
  padding: 26px 28px 28px;
}

.contacts-card-head {
  display: flex;
  align-items: center;
  gap: 20px;
}

.contacts-card-main-icon,
.contacts-line-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
}

.contacts-card-main-icon {
  width: 52px;
  height: 52px;
  color: #ff4b2d;
  background: #fff;
  border: 1px solid rgba(255, 75, 45, .22);
  border-radius: 8px;
  box-shadow: 0 10px 22px rgba(255, 75, 45, .08);
}

.contacts-card-main-icon svg {
  width: 24px;
  height: 24px;
}

.contacts-card h2 {
  margin: 0;
  color: #080d14;
  font-size: clamp(31px, 2.35vw, 40px);
  line-height: 1.1;
}

.contacts-card-accent {
  width: 52px;
  height: 2px;
  margin: 16px 0 22px;
  background: #ff4b2d;
}

.contacts-list {
  display: grid;
  gap: 18px;
}

.contacts-line,
.contacts-note {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin: 0;
  color: #2e3642;
  font-size: 16px;
  line-height: 1.45;
}

.contacts-line-icon {
  width: 44px;
  height: 44px;
  color: #141a22;
  background: #eef0f2;
  border-radius: 8px;
}

.contacts-line-icon svg {
  width: 21px;
  height: 21px;
}

.contacts-line strong {
  display: inline-block;
  margin-right: 4px;
  color: #111722;
  font-weight: 850;
}

.contacts-line a {
  color: #111722;
  font-weight: 760;
  text-decoration: none;
}

.contacts-line a:hover {
  color: #ff4b2d;
}

.contacts-line small {
  display: block;
  margin-top: 3px;
  color: #7d8794;
  font-size: 13px;
  line-height: 1.35;
}

.contacts-note {
  margin-top: auto;
  padding-top: 28px;
  color: #7d8794;
  border-top: 1px dashed rgba(115, 126, 140, .42);
  font-size: 14px;
}

.contacts-note .contacts-line-icon {
  color: #6f7985;
}

.contact-lead-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 26px;
  padding: 28px 28px 18px;
}

.lead-field {
  min-width: 0;
}

.contact-lead-form .lead-field-title {
  display: block;
  margin-bottom: 8px;
  color: #2f3946;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.2;
}

.contact-lead-form .lead-field-title small {
  color: #6f7782;
  font-size: 13px;
  font-weight: 650;
}

.contact-lead-form input,
.contact-lead-form textarea {
  width: 100%;
  min-height: 38px;
  padding: 0 14px;
  color: #17202b;
  background: #fff;
  border: 1px solid rgba(118, 130, 145, .28);
  border-radius: 6px;
  box-shadow: inset 0 1px 3px rgba(17, 22, 29, .04);
  font-size: 14px;
  font-weight: 500;
  outline: 0;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.contact-lead-form input::placeholder,
.contact-lead-form textarea::placeholder {
  color: #9aa3ae;
  font-weight: 500;
}

.contact-lead-form input:focus,
.contact-lead-form textarea:focus {
  border-color: rgba(255, 75, 45, .72);
  box-shadow:
    inset 0 1px 3px rgba(17, 22, 29, .04),
    0 0 0 3px rgba(255, 75, 45, .1);
}

.contact-lead-form textarea {
  height: 64px;
  min-height: 64px;
  padding-top: 10px;
  line-height: 1.45;
  resize: vertical;
}

.lead-file-field {
  grid-column: 2;
  grid-row: 2 / span 2;
}

.lead-file-drop {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  min-height: 146px;
  padding: 22px 28px;
  color: #7d8794;
  background: #fff;
  border: 1px dashed rgba(118, 130, 145, .38);
  border-radius: 8px;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.lead-file-drop:hover,
.lead-file-drop.is-dragging {
  background: rgba(255, 75, 45, .025);
  border-color: rgba(255, 75, 45, .58);
  box-shadow: 0 0 0 3px rgba(255, 75, 45, .08);
}

.lead-file-drop input {
  display: none;
}

.lead-upload-icon {
  display: inline-grid;
  place-items: center;
  width: 56px;
  height: 56px;
  color: #7d8794;
}

.lead-upload-icon svg {
  width: 54px;
  height: 54px;
}

.lead-file-copy {
  display: grid;
  gap: 8px;
  min-width: 0;
  color: #6f7782;
  font-size: 14px;
  line-height: 1.35;
}

.lead-file-copy strong {
  max-width: 100%;
  overflow: hidden;
  color: #545e6b;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.35;
  text-overflow: ellipsis;
}

.lead-file-copy small {
  color: #7d8794;
  font-size: 12px;
  line-height: 1.35;
}

.lead-form-actions {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 22px;
  min-width: 0;
}

.contact-lead-submit {
  gap: 10px;
  flex: 0 0 auto;
  min-width: 250px;
  min-height: 56px;
  padding-inline: 28px;
  border-radius: 6px;
  font-size: 15px;
  transition: background .18s ease, box-shadow .18s ease, transform .18s ease, opacity .18s ease;
}

.contact-lead-submit:hover {
  transform: translateY(-1px);
}

.contact-lead-submit:disabled {
  opacity: .72;
  cursor: wait;
  transform: none;
}

.contact-lead-submit svg {
  width: 20px;
  height: 20px;
}

.lead-privacy {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 420px;
  margin: 0;
  color: #8a94a1;
  font-size: 12px;
  line-height: 1.35;
}

.lead-privacy svg {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
}

.contact-lead-form .form-status {
  grid-column: 1 / -1;
  min-height: 18px;
  margin: -4px 0 0;
  font-size: 13px;
}

@media (max-width: 1180px) {
  .page-hero-contacts {
    --contacts-hero-mask-width: min(66vw, 760px);
  }

  .page-hero-contacts h1,
  .page-hero-contacts > p:not(.eyebrow) {
    max-width: min(660px, 58vw);
  }

  .contacts-request-section {
    grid-template-columns: minmax(300px, 400px) minmax(0, 1fr);
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media (max-width: 980px) {
  .page-hero-contacts::before {
    width: 100%;
    clip-path: none;
  }

  .page-hero-contacts::after {
    display: none;
  }

  .page-hero-contacts h1,
  .page-hero-contacts > p:not(.eyebrow) {
    max-width: 720px;
  }

  .contacts-request-section {
    grid-template-columns: minmax(0, 1fr);
  }

  .contacts-card,
  .contact-lead-form {
    min-height: 0;
  }
}

@media (max-width: 700px) {
  .page-hero-contacts {
    min-height: auto;
    padding: 28px 18px 34px;
    background-position: 64% center;
  }

  .page-hero-contacts .breadcrumbs {
    margin-bottom: 16px;
  }

  .page-hero-contacts .eyebrow {
    margin-bottom: 12px;
  }

  .page-hero-contacts h1 {
    font-size: clamp(31px, 8vw, 42px);
  }

  .contacts-request-section {
    padding: 22px 16px 30px;
  }

  .contacts-card,
  .contact-lead-form {
    padding: 22px;
  }

  .contacts-card-head {
    gap: 14px;
  }

  .contacts-card-main-icon {
    width: 48px;
    height: 48px;
  }

  .contacts-card h2 {
    font-size: 30px;
  }

  .contacts-line,
  .contacts-note {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 14px;
    font-size: 14px;
  }

  .contacts-line-icon {
    width: 40px;
    height: 40px;
  }

  .contact-lead-form {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .lead-file-field,
  .lead-message-field,
  .lead-form-actions,
  .contact-lead-form .form-status {
    grid-column: auto;
    grid-row: auto;
  }

  .lead-file-drop {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    min-height: 156px;
    padding: 22px;
    text-align: center;
  }

  .lead-form-actions {
    display: grid;
    gap: 14px;
  }

  .contact-lead-submit {
    width: 100%;
    min-width: 0;
  }

  .lead-privacy {
    justify-content: center;
    text-align: center;
  }
}
/* contacts-reference:end */

/* category-product-image-clean:start */
main[data-category-page="mesh-frames-by-drawing"] .product-card.product-card--mesh-frames-by-drawing .product-art.has-photo,
main[data-category-page="grating-flooring"] .product-card.product-card--grating-flooring .product-art.has-photo {
  padding: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: none !important;
}

main[data-category-page="grating-flooring"] .product-card.product-card--grating-flooring .product-art.has-photo img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: none !important;
}

main[data-category-page="mesh-frames-by-drawing"] .product-card.product-card--mesh-frames-by-drawing {
  padding-top: 0 !important;
}

main[data-category-page="mesh-frames-by-drawing"] .product-card.product-card--mesh-frames-by-drawing .product-art.has-photo {
  height: 230px !important;
  margin: 0 -14px 8px !important;
  border-radius: 10px 10px 0 0 !important;
}

main[data-category-page="mesh-frames-by-drawing"] .product-card.product-card--mesh-frames-by-drawing .product-art.has-photo img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center top !important;
  filter: none !important;
}
/* category-product-image-clean:end */

/* embedded-series-compact:start */
main[data-category-page="embedded-parts"] .embedded-series-selector .embedded-series-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, 118px) !important;
  gap: 7px !important;
  justify-content: start;
  margin-top: 8px;
}

main[data-category-page="embedded-parts"] .embedded-series-selector .embedded-series-card {
  display: grid;
  grid-template-columns: 1fr !important;
  grid-template-rows: 36px minmax(0, 1fr) 12px;
  width: 118px !important;
  height: 118px !important;
  min-height: 0 !important;
  box-sizing: border-box;
  overflow: hidden;
  padding: 7px 8px 5px !important;
  border-radius: 8px;
}

main[data-category-page="embedded-parts"] .embedded-series-selector .embedded-series-card .execution-card-image,
main[data-category-page="embedded-parts"] .embedded-series-selector .embedded-series-card .execution-card-copy,
main[data-category-page="embedded-parts"] .embedded-series-selector .embedded-series-card .execution-card-arrow {
  grid-column: 1 !important;
}

main[data-category-page="embedded-parts"] .embedded-series-selector .embedded-series-card .execution-card-image {
  align-self: end;
  width: 44px !important;
  height: 34px !important;
}

main[data-category-page="embedded-parts"] .embedded-series-selector .embedded-series-card .execution-card-copy {
  display: block !important;
  align-self: center;
  justify-self: stretch;
  gap: 0;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box;
  padding-left: 0 !important;
  text-align: center;
}

main[data-category-page="embedded-parts"] .embedded-series-selector .embedded-series-card .execution-card-copy strong {
  display: -webkit-box;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
  overflow: hidden;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1.13 !important;
  text-align: center;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

main[data-category-page="embedded-parts"] .embedded-series-selector .embedded-series-card .execution-card-subtitle {
  display: none !important;
}

main[data-category-page="embedded-parts"] .embedded-series-selector .embedded-series-card .execution-card-arrow {
  position: absolute;
  right: 7px;
  bottom: 7px;
  display: grid;
  width: 20px !important;
  height: 14px !important;
  place-items: center;
  margin: 0 !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

main[data-category-page="embedded-parts"] .embedded-series-selector .embedded-series-card .execution-card-arrow::before {
  content: "\2192";
  font-size: 18px !important;
  font-weight: 400;
  line-height: 1;
}

@media (max-width: 640px) {
  main[data-category-page="embedded-parts"] .embedded-series-selector .embedded-series-grid {
    grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)) !important;
    gap: 6px !important;
  }

  main[data-category-page="embedded-parts"] .embedded-series-selector .embedded-series-card {
    width: 100% !important;
    height: 104px !important;
    padding: 6px 6px 5px !important;
  }

  main[data-category-page="embedded-parts"] .embedded-series-selector .embedded-series-card .execution-card-image {
    width: 38px !important;
    height: 28px !important;
  }

  main[data-category-page="embedded-parts"] .embedded-series-selector .embedded-series-card .execution-card-copy strong {
    font-size: 9px !important;
    line-height: 1.1 !important;
  }
}
/* embedded-series-compact:end */

/* live-search:start */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.header-search-shell {
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: 582px;
  justify-self: stretch;
}

.header-search-shell.is-open {
  z-index: 95;
}

.header-search-shell.is-open .header-search-live {
  z-index: 100;
}

body:has(.header-search-shell.is-open) .site-header-wrap {
  z-index: 120;
}

.site-header .header-search-live {
  grid-template-columns: minmax(0, 1fr) auto auto;
  max-width: none;
  width: 100%;
  overflow: hidden;
}

.site-header .header-search-live::before,
.site-header .header-search-live::after {
  content: none;
}

.header-search-live input {
  height: 48px;
  border: 0;
  outline: 0;
  font: inherit;
}

.site-header .header-search-live input {
  padding: 0 14px 0 18px;
}

.header-search-live .header-search-clear,
.header-search-live .header-search-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  border: 0;
  color: white;
  cursor: pointer;
}

.header-search-live .header-search-clear {
  width: 42px;
  background: transparent;
  color: rgba(255, 255, 255, .72);
  font-size: 24px;
  line-height: 1;
}

.header-search-live .header-search-submit {
  min-width: 84px;
  padding: 0 18px;
  background: var(--signal);
  font-weight: 800;
}

.header-search-live .header-search-submit:hover {
  background: #d93b21;
}

.search-suggest-backdrop {
  position: fixed;
  top: 94px;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 60;
  border: 0;
  background: rgba(8, 12, 18, .52);
  backdrop-filter: blur(5px);
  cursor: default;
}

.search-suggest-panel {
  position: fixed;
  top: 106px;
  left: 50%;
  z-index: 80;
  display: flex;
  flex-direction: column;
  width: min(1120px, calc(100vw - 32px));
  max-height: min(720px, calc(100vh - 126px));
  overflow: hidden;
  transform: translateX(-50%);
  color: var(--ink);
  background: #fff;
  border: 1px solid rgba(17, 25, 34, .1);
  border-radius: 8px;
  box-shadow: 0 28px 80px rgba(4, 9, 15, .36);
}

.search-suggest-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
  border-bottom: 1px solid rgba(17, 25, 34, .08);
  background: linear-gradient(180deg, #fff, #f6f8fa);
}

.search-suggest-head > div {
  display: grid;
  gap: 4px;
}

.search-suggest-head strong {
  font-size: 18px;
}

.search-suggest-close {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  color: var(--steel);
  background: #fff;
  border: 1px solid rgba(17, 25, 34, .12);
  border-radius: 6px;
  cursor: pointer;
}

.search-suggest-layout {
  display: grid;
  grid-template-columns: minmax(280px, 36%) minmax(0, 1fr);
  height: calc(min(720px, 100vh - 126px) - 78px);
  min-height: 0;
  overflow: hidden;
}

.search-suggest-categories,
.search-suggest-products {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding: 22px;
}

.search-suggest-categories::-webkit-scrollbar,
.search-suggest-products::-webkit-scrollbar {
  width: 10px;
}

.search-suggest-categories::-webkit-scrollbar-thumb,
.search-suggest-products::-webkit-scrollbar-thumb {
  background: rgba(109, 119, 132, .34);
  border: 3px solid transparent;
  border-radius: 999px;
  background-clip: padding-box;
}

.search-suggest-categories {
  border-right: 1px solid rgba(17, 25, 34, .08);
  background: #fbfcfd;
}

.search-suggest-categories h3,
.search-suggest-products h3 {
  margin: 0 0 16px;
  color: var(--ink);
  font-size: 16px;
}

.search-category-hit,
.search-product-hit {
  display: flex;
  align-items: center;
  gap: 14px;
  color: inherit;
  border: 1px solid transparent;
  border-radius: 8px;
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.search-category-hit {
  min-height: 74px;
  padding: 10px;
}

.search-category-hit:hover,
.search-category-hit:focus-visible,
.search-product-hit:hover,
.search-product-hit:focus-visible,
.search-all-results:hover,
.search-all-results:focus-visible {
  outline: 0;
  background: #fff;
  border-color: rgba(255, 75, 45, .32);
  box-shadow: 0 12px 28px rgba(17, 25, 34, .08);
  transform: translateY(-1px);
}

.search-category-thumb {
  display: grid;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  place-items: center;
  overflow: hidden;
  background: #eef3f6;
  border-radius: 8px;
}

.search-category-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.search-category-hit span:last-child,
.search-product-copy {
  display: grid;
  min-width: 0;
  gap: 5px;
}

.search-category-hit strong,
.search-product-hit strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.18;
  text-overflow: ellipsis;
}

.search-category-hit small,
.search-product-hit small {
  color: var(--muted);
  font-size: 13px;
}

.search-suggest-products-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.search-suggest-products-head h3 {
  margin: 0;
}

.search-suggest-products-head span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.search-product-hit {
  min-height: 128px;
  margin-bottom: 12px;
  padding: 12px 14px;
  background: #fff;
  border-color: rgba(17, 25, 34, .08);
}

.search-product-thumb {
  position: relative;
  display: grid;
  flex: 0 0 112px;
  width: 112px;
  height: 92px;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 25% 20%, rgba(255,255,255,.9), transparent 28%),
    linear-gradient(135deg, #dce5ec, #a9b7c3);
  border-radius: 8px;
}

.search-product-thumb::before {
  content: "";
  width: 72px;
  height: 14px;
  background: linear-gradient(90deg, #9ca7b3, #eff3f6 42%, #6f7a84);
  border-radius: 99px;
  box-shadow: inset 0 0 0 2px rgba(18,20,23,.08);
}

.search-product-thumb.has-photo {
  background: linear-gradient(180deg, #fbfcfd, #eef3f6);
}

.search-product-thumb.has-photo::before {
  content: none;
}

.search-product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
  filter: drop-shadow(0 10px 12px rgba(17, 25, 34, .16));
}

.search-product-copy {
  flex: 1 1 auto;
}

.search-product-copy span {
  color: var(--ink);
  font-size: 18px;
  font-weight: 850;
}

.search-product-arrow {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #fff;
  background: var(--signal);
  border-radius: 8px;
  font-size: 22px;
}

.search-all-results {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  margin-top: 4px;
  padding: 0 18px;
  color: #fff;
  background: var(--ink);
  border: 1px solid transparent;
  border-radius: 8px;
  font-weight: 850;
  text-decoration: none;
}

.search-suggest-empty {
  padding: 42px;
}

.search-suggest-empty--inline {
  padding: 24px;
  background: #f7f9fb;
  border: 1px solid rgba(17, 25, 34, .08);
  border-radius: 8px;
}

.search-suggest-empty h3 {
  margin: 0 0 8px;
  font-size: 20px;
}

.search-skeleton {
  display: grid;
  gap: 12px;
  margin-bottom: 12px;
}

.search-skeleton span {
  height: 88px;
  background: linear-gradient(90deg, #eef2f5, #f8fafb, #eef2f5);
  border-radius: 8px;
}

.search-skeleton--compact span {
  height: 58px;
}

@media (max-width: 880px) {
  .site-header .header-search-live {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .search-suggest-backdrop {
    top: 82px;
  }

  .search-suggest-panel {
    top: 88px;
    width: calc(100vw - 20px);
    max-height: calc(100dvh - 98px);
  }

  .search-suggest-layout {
    grid-template-columns: 1fr;
    height: calc(100dvh - 176px);
    min-height: 0;
  }

  .search-suggest-categories {
    max-height: 220px;
    border-right: 0;
    border-bottom: 1px solid rgba(17, 25, 34, .08);
  }

  .search-product-hit {
    align-items: flex-start;
    min-height: 112px;
  }

  .search-product-thumb {
    flex-basis: 88px;
    width: 88px;
    height: 74px;
  }
}

@media (max-width: 560px) {
  .header-search-live .header-search-submit {
    min-width: 48px;
    padding: 0 12px;
    font-size: 0;
  }

  .header-search-live .header-search-submit::before {
    content: "";
    width: 14px;
    height: 14px;
    border: 2px solid #fff;
    border-radius: 999px;
    box-shadow: 8px 8px 0 -6px #fff;
  }

  .search-suggest-panel {
    right: 0;
    left: 0;
    width: 100%;
    max-height: calc(100dvh - 82px);
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    transform: none;
  }

  .search-suggest-head,
  .search-suggest-categories,
  .search-suggest-products {
    padding: 16px;
  }

  .search-product-hit {
    gap: 10px;
    padding: 10px;
  }

  .search-product-arrow {
    display: none;
  }
}
/* live-search:end */

/* legal-compliance:start */
.legal-page {
  background: #f4f7f8;
}

.legal-hero {
  max-width: 980px;
  padding-top: 56px;
  padding-bottom: 24px;
}

.legal-hero h1 {
  max-width: 820px;
  margin: 0 0 18px;
  font-size: clamp(36px, 5vw, 62px);
  line-height: .98;
  letter-spacing: 0;
}

.legal-hero > p:not(.eyebrow) {
  max-width: 820px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
}

.legal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 28px 0 0;
}

.legal-meta div {
  min-width: 180px;
  padding: 12px 14px;
  border: 1px solid rgba(17, 25, 34, .1);
  border-radius: 6px;
  background: #fff;
}

.legal-meta dt {
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.legal-meta dd {
  margin: 0;
  color: var(--ink);
  font-weight: 800;
}

.legal-document {
  max-width: 980px;
  padding-bottom: 72px;
}

.legal-section {
  padding: 26px 0;
  border-top: 1px solid rgba(17, 25, 34, .12);
}

.legal-section h2 {
  margin: 0 0 14px;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: 0;
}

.legal-section p,
.legal-section li {
  max-width: 860px;
  color: #41505d;
  font-size: 16px;
  line-height: 1.72;
}

.legal-section p {
  margin: 0 0 12px;
}

.legal-section ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 22px;
}

.about-requisites-section {
  scroll-margin-top: 120px;
}

.about-requisites {
  display: grid;
  grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr);
  gap: 28px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 30px;
  border: 1px solid rgba(17, 25, 34, .1);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 20px 46px rgba(17, 25, 34, .08);
}

.about-requisites-main h3 {
  margin: 0 0 10px;
  color: var(--ink);
  font-size: 28px;
  line-height: 1.16;
}

.about-requisites-main p {
  margin: 0 0 16px;
  color: #42515e;
  line-height: 1.62;
}

.about-requisites-note {
  padding-top: 16px;
  border-top: 1px solid rgba(17, 25, 34, .1);
}

.about-requisites-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.about-requisites-list div {
  display: grid;
  grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
  gap: 18px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(17, 25, 34, .09);
}

.about-requisites-list div:last-child {
  border-bottom: 0;
}

.about-requisites-list dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.about-requisites-list dd {
  margin: 0;
  color: #263442;
  line-height: 1.52;
}

.consent-block {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: flex-start;
  padding: 12px 0 4px;
  color: #55616d;
  font-size: 13px;
  line-height: 1.5;
}

.consent-block input[type="checkbox"] {
  width: 18px;
  min-height: 18px;
  height: 18px;
  margin: 2px 0 0;
  padding: 0;
  border-radius: 4px;
  accent-color: var(--accent);
}

.consent-block label {
  margin: 0;
}

.consent-block a {
  color: var(--accent);
  font-weight: 800;
  text-decoration: none;
}

.consent-block a:hover {
  text-decoration: underline;
}

.request-modal-form .consent-block,
.contact-lead-form .consent-block {
  padding-top: 0;
}

.auth-card .consent-block {
  margin-top: -4px;
}

.cookie-notice {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 80;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  width: min(680px, calc(100vw - 48px));
  padding: 16px 18px;
  border: 1px solid rgba(17, 25, 34, .12);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 58px rgba(17, 25, 34, .18);
}

.cookie-notice p {
  margin: 0;
  color: #41505d;
  font-size: 14px;
  line-height: 1.52;
}

.cookie-notice a {
  color: var(--accent, var(--signal));
  font-weight: 800;
  text-decoration: none;
}

.cookie-notice button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border: 0;
  border-radius: 6px;
  background: var(--accent, var(--signal));
  color: #fff;
  font-weight: 900;
  white-space: nowrap;
  cursor: pointer;
}

@media (max-width: 780px) {
  .about-requisites,
  .about-requisites-list div,
  .cookie-notice {
    grid-template-columns: 1fr;
  }

  .about-requisites {
    padding: 22px;
  }

  .cookie-notice {
    right: 12px;
    bottom: 12px;
    width: calc(100vw - 24px);
  }
}

@media (max-width: 560px) {
  .legal-hero h1 {
    font-size: 34px;
  }

  .legal-hero > p:not(.eyebrow),
  .legal-section p,
  .legal-section li {
    font-size: 15px;
  }

  .legal-section h2 {
    font-size: 21px;
  }
}
/* legal-compliance:end */
